Untitled
unknown
php
9 months ago
3.2 kB
17
Indexable
function generatePins($day_id, $holiday = 0)
{
$pow = $day_id-1;
$day_bit = pow(2, $pow);
if ($holiday == 1)
$day_id = 100;
$random_pins = array();
for ($i=0; $i<100; $i++)
array_push($random_pins, mt_rand(10000000, 99999999));
$random_pins_unique = array_unique($random_pins);
$ret_array = array();
$longer_period = 30; //co ile minut generować nowy szyft dla terminów mniej obleganych
$shorter_period = 30; //co ile minut generować nowy szyft dla terminów bardziej obleganych
switch ($day_id)
{
case 1:
case 2:
case 3:
case 4:
case 5: //poniedziałek-piątek
echo "pon-pt<br>";
$i = 0;
//terminy mniej oblegane - jeden szyfr na $longer_period minut
$range = range(strtotime("03:00"), strtotime("07:00"), $longer_period*60);
foreach($range as $time)
{
if ($time === end($range)) //omijamy ostatnią iterację foreach
break;
$startTime = date("H:i", $time);
$endTime = date("H:i", strtotime('+' . ($longer_period-1) . ' minutes', $time));
// echo $startTime . " - " . $endTime . "<br>";
array_push($ret_array, array
(
"type" => 3,
"security" => 1,
"pin" => "$random_pins_unique[$i]",
"eventNum" => 22,
"schedule" =>
array
(
"dayMask" => $day_bit,
"s" => "$startTime",
"e" => "$endTime"
)
));
$i++;
}
//terminy bardziej oblegane - jeden szyfr na $shorter_period minut
$range = range(strtotime("07:00"), strtotime("09:00"), $shorter_period*60);
foreach($range as $time)
{
if ($time === end($range)) //omijamy ostatnią iterację foreach
break;
$startTime = date("H:i", $time);
$endTime = date("H:i", strtotime('+' . ($shorter_period-1) . ' minutes', $time));
// echo $startTime . " - " . $endTime . "<br>";
array_push($ret_array, array
(
"type" => 3,
"security" => 1,
"pin" => "$random_pins_unique[$i]",
"eventNum" => 22,
"schedule" =>
array
(
"dayMask" => $day_bit,
"s" => "$startTime",
"e" => "$endTime"
)
));
$i++;
}
$range = range(strtotime("21:00"), strtotime("24:00"), $shorter_period*60);
foreach($range as $time)
{
if ($time === end($range)) //omijamy ostatnią iterację foreach
break;
$startTime = date("H:i", $time);
$endTime = date("H:i", strtotime('+' . ($shorter_period-1) . ' minutes', $time));
// echo $startTime . " - " . $endTime . "<br>";
array_push($ret_array, array
(
"type" => 3,
"security" => 1,
"pin" => "$random_pins_unique[$i]",
"eventNum" => 22,
"schedule" =>
array
(
"dayMask" => $day_bit,
"s" => "$startTime",
"e" => "$endTime"
)
));
$i++;
}
break;
}
return $ret_array;
}Editor is loading...
Leave a Comment