function index() { $this->view->setTitle("Просмотр броней"); $reserv = new Model_Reserv(); $object = new Model_Object(); $reserv->setUid($this->registry["ui"]["id"]); $list = $reserv->getList(); $i = 0; $res_list = array(); foreach ($list as $part) { $i++; $res_list[$i] = $part; $res_list[$i]["object"] = $object->getShortObject($part["oid"]); $res_list[$i]["fstart"] = date("H:i, d F Y", strtotime($part["start"])); if ($part["end"] == "0000-00-00 00:00:00") { $res_list[$i]["fend"] = "-:- -- -- --"; } else { $res_list[$i]["fend"] = date("H:i, d F Y", strtotime($part["end"])); } } $this->view->reservs(array("list" => $res_list)); $this->view->showPage(); }
public function editReservs($params) { $id = $params["id"]; $oid = $params["oid"]; $reservstart = $params["reservstart"]; $reservstarttime = $params["reservstarttime"]; $reservend = $params["reservend"]; $reservendtime = $params["reservendtime"]; $repeat = $params["repeat"]; $repeat_num = $params["repeat_num"]; $repeat_period = $params["repeat_period"]; $repeat_cont_num = $params["repeat_cont_num"]; $repeat_cont_period = $params["repeat_cont_period"]; $reserv = new Model_Reserv(); if (isset($oid)) { $reserv->setOid($oid); } $reserv->setUid($this->registry["ui"]["id"]); if ($repeat) { $diff = floor((strtotime($reservend . " " . $reservendtime . ":00") - strtotime($reservstart . " " . $reservstarttime . ":00")) / 3600); if ($repeat_cont_period == "m") { $next = date("Y-m-d", mktime(0, 0, 0, date("m") + $repeat_cont_num, date("d"), date("Y"))); $cont = floor((strtotime($next) - strtotime(date("Y-m-d"))) / 86400); } else { if ($repeat_cont_period == "y") { $next = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d"), date("Y") + $repeat_cont_num)); $cont = floor((strtotime($next) - strtotime(date("Y-m-d"))) / 86400); } else { $next = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") + $repeat_cont_num, date("Y"))); $cont = floor((strtotime($next) - strtotime(date("Y-m-d"))) / 86400); } } $num = 0; $prev = date("Y-m-d", strtotime($reservstart)) . " " . $reservstarttime . ":00"; $first = $prev; $end = date("Y-m-d", strtotime($reservend)) . " " . $reservendtime . ":00"; while ($num < $cont) { if (!$reserv->addEndReserv($prev, $end)) { echo "collision"; } if ($repeat_period == "m") { $start = date("Y-m-d H:i:s", mktime(date("H", strtotime($prev)), date("i", strtotime($prev)), date("s", strtotime($prev)), date("m", strtotime($prev)) + $repeat_num, date("d", strtotime($prev)), date("Y", strtotime($prev)))); $end = date("Y-m-d H:i:s", mktime(date("H", strtotime($prev)) + $diff, date("i", strtotime($prev)), date("s", strtotime($prev)), date("m", strtotime($prev)) + $repeat_num, date("d", strtotime($prev)), date("Y", strtotime($prev)))); } else { if ($repeat_period == "y") { $start = date("Y-m-d H:i:s", mktime(date("H", strtotime($prev)), date("i", strtotime($prev)), date("s", strtotime($prev)), date("m", strtotime($prev)), date("d", strtotime($prev)), date("Y", strtotime($prev)) + $repeat_num)); $end = date("Y-m-d H:i:s", mktime(date("H", strtotime($prev)) + $diff, date("i", strtotime($prev)), date("s", strtotime($prev)), date("m", strtotime($prev)), date("d", strtotime($prev)), date("Y", strtotime($prev)) + $repeat_num)); } else { $start = date("Y-m-d H:i:s", mktime(date("H", strtotime($prev)), date("i", strtotime($prev)), date("s", strtotime($prev)), date("m", strtotime($prev)), date("d", strtotime($prev)) + $repeat_num, date("Y", strtotime($prev)))); $end = date("Y-m-d H:i:s", mktime(date("H", strtotime($prev)) + $diff, date("i", strtotime($prev)), date("s", strtotime($prev)), date("m", strtotime($prev)), date("d", strtotime($prev)) + $repeat_num, date("Y", strtotime($prev)))); } } $num = floor((strtotime($start) - strtotime($first)) / 86400); $prev = $start; } } else { $start = date("Y-m-d", strtotime($reservstart)) . " " . $reservstarttime . ":00"; $end = date("Y-m-d", strtotime($reservend)) . " " . $reservendtime . ":00"; if (!$reserv->updateEndReserv($id, $start, $end)) { echo "collision"; } } }