Пример #1
0
 function loadEventFromPost($data)
 {
     list($startDate, $strStartTime) = explode(' ', $data['startDate']);
     list($startHour, $startMin) = explode(':', $strStartTime);
     list($endDate, $strEndTime) = explode(' ', $data['endDate']);
     list($endHour, $endMin) = explode(':', $strEndTime);
     list($startHour, $startMin) = array(0, 0);
     list($endHour, $endMin) = array(0, 0);
     //event data
     $startDate = parent::getDateTimestamp($startDate, intval($startHour), intval($startMin));
     $endDate = parent::getDateTimestamp($endDate, intval($endHour), intval($endMin));
     $this->startDate = $startDate;
     $this->endDate = $endDate;
     //series pattern
     $seriesStatus = isset($data['seriesStatus']) ? intval($data['seriesStatus']) : 0;
     $seriesType = isset($data['seriesType']) ? intval($data['seriesType']) : 0;
     $seriesPatternCount = 0;
     $seriesPatternWeekday = 0;
     $seriesPatternDay = 0;
     $seriesPatternWeek = 0;
     $seriesPatternMonth = 0;
     $seriesPatternType = 0;
     $seriesPatternDouranceType = 0;
     $seriesPatternEnd = 0;
     $seriesExeptions = '';
     if ($seriesStatus == 1) {
         switch ($seriesType) {
             case 1:
                 if ($seriesStatus == 1) {
                     $seriesPatternType = isset($data['seriesDaily']) ? intval($data['seriesDaily']) : 0;
                     if ($seriesPatternType == 1) {
                         $seriesPatternWeekday = 0;
                         $seriesPatternDay = isset($data['seriesDailyDays']) ? intval($data['seriesDailyDays']) : 0;
                     } else {
                         $seriesPatternWeekday = "1111100";
                         $seriesPatternDay = 0;
                     }
                     $seriesPatternWeek = 0;
                     $seriesPatternMonth = 0;
                     $seriesPatternCount = 0;
                 }
                 break;
             case 2:
                 if ($seriesStatus == 1) {
                     $seriesPatternWeek = isset($data['seriesWeeklyWeeks']) ? intval($data['seriesWeeklyWeeks']) : 0;
                     $weekdayPattern = '';
                     for ($i = 1; $i <= 7; $i++) {
                         if (isset($data['seriesWeeklyDays'][$i])) {
                             $weekdayPattern .= "1";
                         } else {
                             $weekdayPattern .= "0";
                         }
                     }
                     // To DO: not correct to set day to monday
                     $seriesPatternWeekday = (int) $weekdayPattern == 0 ? '1000000' : $weekdayPattern;
                     $seriesPatternCount = 0;
                     $seriesPatternDay = 0;
                     $seriesPatternMonth = 0;
                     $seriesPatternType = 0;
                 }
                 break;
             case 3:
                 if ($seriesStatus == 1) {
                     $seriesPatternType = isset($data['seriesMonthly']) ? intval($data['seriesMonthly']) : 0;
                     if ($seriesPatternType == 1) {
                         $seriesPatternMonth = isset($data['seriesMonthlyMonth_1']) ? intval($data['seriesMonthlyMonth_1']) : 0;
                         $seriesPatternDay = isset($data['seriesMonthlyDay']) ? intval($data['seriesMonthlyDay']) : 0;
                         $seriesPatternWeekday = 0;
                     } else {
                         $seriesPatternCount = isset($data['seriesMonthlyDayCount']) ? intval($data['seriesMonthlyDayCount']) : 0;
                         $seriesPatternMonth = isset($data['seriesMonthlyMonth_2']) ? intval($data['seriesMonthlyMonth_2']) : 0;
                         if ($seriesPatternMonth < 1) {
                             // the increment must be at least once a month, otherwise we will end up in a endless loop in the presence
                             $seriesPatternMonth = 1;
                         }
                         $seriesPatternWeekday = isset($data['seriesMonthlyWeekday']) ? $data['seriesMonthlyWeekday'] : '';
                         $seriesPatternDay = 0;
                     }
                     $seriesPatternWeek = 0;
                 }
                 break;
         }
         $seriesPatternDouranceType = isset($data['seriesDouranceType']) ? intval($data['seriesDouranceType']) : 0;
         $seriesPatternEndDate = '';
         switch ($seriesPatternDouranceType) {
             case 1:
                 $seriesPatternEnd = 0;
                 break;
             case 2:
                 $seriesPatternEnd = isset($data['seriesDouranceEvents']) ? intval($data['seriesDouranceEvents']) : 0;
                 break;
             case 3:
                 $seriesPatternEndDate = parent::getDateTimestamp($data['seriesDouranceDate'], 0, 0);
                 break;
         }
     }
     $this->seriesData['seriesPatternCount'] = intval($seriesPatternCount);
     $this->seriesData['seriesType'] = intval($seriesType);
     $this->seriesData['seriesPatternCount'] = intval($seriesPatternCount);
     $this->seriesData['seriesPatternWeekday'] = htmlentities($seriesPatternWeekday, ENT_QUOTES, CONTREXX_CHARSET);
     $this->seriesData['seriesPatternDay'] = intval($seriesPatternDay);
     $this->seriesData['seriesPatternWeek'] = intval($seriesPatternWeek);
     $this->seriesData['seriesPatternMonth'] = intval($seriesPatternMonth);
     $this->seriesData['seriesPatternType'] = intval($seriesPatternType);
     $this->seriesData['seriesPatternDouranceType'] = intval($seriesPatternDouranceType);
     $this->seriesData['seriesPatternEnd'] = intval($seriesPatternEnd);
     $this->seriesData['seriesPatternEndDate'] = intval($seriesPatternEndDate);
     $this->seriesData['seriesPatternBegin'] = 0;
     $this->seriesData['seriesPatternExceptions'] = '';
 }
 /**
  * Count the number of entries in the category
  *      
  * @return integer Entry count of the category
  */
 function countEntries($getAll = false, $onlyActive = false)
 {
     global $objDatabase;
     // get startdate
     if (!empty($_GET['from'])) {
         $startDate = parent::getDateTimestamp($_GET['from']);
     } else {
         if ($_GET['cmd'] == 'archive') {
             $startDate = null;
         } else {
             $startDay = isset($_GET['day']) ? $_GET['day'] : date("d", mktime());
             $startMonth = isset($_GET['month']) ? $_GET['month'] : date("m", mktime());
             $startYear = isset($_GET['year']) ? $_GET['year'] : date("Y", mktime());
             $startDay = $_GET['cmd'] == 'boxes' ? 1 : $startDay;
             $startDate = mktime(0, 0, 0, $startMonth, $startDay, $startYear);
         }
     }
     // get enddate
     if (!empty($_GET['till'])) {
         $endDate = parent::getDateTimestamp($_GET['till']);
     } else {
         if ($_GET['cmd'] == 'archive') {
             $endDate = mktime();
         } else {
             $endDay = isset($_GET['endDay']) ? $_GET['endDay'] : date("d", mktime());
             $endMonth = isset($_GET['endMonth']) ? $_GET['endMonth'] : date("m", mktime());
             $endYear = isset($_GET['endYear']) ? $_GET['endYear'] : date("Y", mktime());
             $endYear = empty($_GET['endYear']) && empty($_GET['endMonth']) ? $endYear + 10 : $endYear;
             $endDate = mktime(23, 59, 59, $endMonth, $endDay, $endYear);
         }
     }
     $searchTerm = !empty($_GET['term']) ? contrexx_addslashes($_GET['term']) : null;
     // set the start date as null if $getAll is true
     if ($getAll) {
         $startDate = null;
     }
     $objEventManager = new \Cx\Modules\Calendar\Controller\CalendarEventManager($startDate, $endDate, $this->id, $searchTerm, true, false, $onlyActive);
     $objEventManager->getEventList();
     $count = count($objEventManager->eventList);
     return $count;
 }