Example #1
0
if (Request::get('time_range')) {
    if (Request::get('time_range') == "FALSE")
        $_SESSION['resources_data']["schedule_time_range"] = '';
    else
        $_SESSION['resources_data']["schedule_time_range"] = Request::int('time_range');
}

/*****************************************************************************
some other stuff ;-)
/*****************************************************************************/

//display perminvalid window
if ((in_array("1", $msg->codes)) || (in_array("25", $msg->codes))) {
    $forbiddenObject = ResourceObject::Factory($_SESSION['resources_data']["actual_object"]);
    if ($forbiddenObject->isLocked()) {
        $lock_ts = getLockPeriod("edit");
        $msg->addMsg(31, array(date("d.m.Y, G:i", $lock_ts[0]), date("d.m.Y, G:i", $lock_ts[1])));
    }
    $msg->displayAllMsg("window");
    die;
}

//show object, this object will be edited or viewed
if (Request::option('show_object'))
    $_SESSION['resources_data']["actual_object"]=Request::option('show_object');

if (Request::option('show_msg')) {
    if ($msg_resource_id = Request::option('msg_resource_id')) {
        $msgResourceObj = ResourceObject::Factory($msg_resource_id);
    }
    $msg->addMsg(Request::option('show_msg'), $msg_resource_id ? array(htmlReady($msgResourceObj->getName())) : FALSE);
Example #2
0
 function checkOverlap($check_locks = TRUE)
 {
     global $user;
     $resObject = ResourceObject::Factory($this->resource_id);
     //we check overlaps always for a whole day
     $start = mktime(0, 0, 0, date("n", $this->begin), date("j", $this->begin), date("Y", $this->begin));
     if ($this->repeat_end) {
         $end = mktime(23, 59, 59, date("n", $this->repeat_end), date("j", $this->repeat_end), date("Y", $this->repeat_end));
     } else {
         $end = mktime(23, 59, 59, date("n", $this->end), date("j", $this->end), date("Y", $this->end));
     }
     //load the events of the actual assign...
     $events = $this->getEvents();
     //check, if an assign_lock for one of the events is active (results in an "overlap" so assign cant be saved)
     if (Config::get()->RESOURCES_ASSIGN_LOCKING_ACTIVE && $resObject->isLockable() && $resObject->isRoom() && getGlobalPerms($user->id) !== 'admin' && $check_locks) {
         foreach ($events as $obj) {
             $lock = getLockPeriod('assign', $obj->getBegin(), $obj->getEnd());
             if ($lock) {
                 $overlaps[] = array('begin' => $obj->getBegin(), 'end' => $obj->getEnd(), 'lock' => TRUE, 'lock_begin' => $lock[0], 'lock_end' => $lock[1], 'lock_id' => $lock[2]);
             }
         }
         if ($overlaps) {
             return $overlaps;
         }
     }
     //check for regular overlaps
     if (!$resObject->getMultipleAssign()) {
         //when multiple assigns are allowed, we need no check...
         $multiChecker = new CheckMultipleOverlaps();
         $multiChecker->setAutoTimeRange(array($this));
         $multiChecker->addResource($this->resource_id);
         $check_events = array();
         foreach ($events as $evtObj) {
             $check_events[$evtObj->getId()] = $evtObj;
         }
         $multiChecker->checkOverlap($check_events, $result);
         $overlaps = array();
         if (is_array($result[$this->resource_id][$this->id])) {
             foreach ($result[$this->resource_id][$this->id] as $overlapping_event) {
                 $overlaps[$overlapping_event["assign_id"]]["begin"] = $overlapping_event["begin"];
                 $overlaps[$overlapping_event["assign_id"]]["end"] = $overlapping_event["end"];
             }
         }
         return $overlaps;
     } else {
         return false;
     }
 }