Exemple #1
0
 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();
 }
Exemple #2
0
 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";
         }
     }
 }