/**
  * set calendar component property related-to
  *
  * @author Kjell-Inge Gustafsson, kigkonsult <*****@*****.**>
  * @since 2.16.21 - 2013-06-23
  * @param string  $value
  * @param array   $params
  * @param int     $index
  * @uses calendarComponent::getConfig()
  * @uses iCalUtilityFunctions::_existRem()
  * @uses iCalUtilityFunctions::_setMval()
  * @return bool
  */
 function setRelatedTo($value, $params = FALSE, $index = FALSE)
 {
     if (empty($value)) {
         if ($this->getConfig('allowEmpty')) {
             $value = '';
         } else {
             return FALSE;
         }
     }
     iCalUtilityFunctions::_existRem($params, 'RELTYPE', 'PARENT', TRUE);
     // remove default
     iCalUtilityFunctions::_setMval($this->relatedto, $value, $params, FALSE, $index);
     return TRUE;
 }
Пример #2
0
 /**
  * convert format for input date (UTC) to internal date with parameters
  *
  * @author Kjell-Inge Gustafsson, kigkonsult <*****@*****.**>
  * @since 2.14.4 - 2012-10-06
  * @param mixed $year
  * @param mixed $month  optional
  * @param int   $day    optional
  * @param int   $hour   optional
  * @param int   $min    optional
  * @param int   $sec    optional
  * @param array $params optional
  * @return array
  */
 public static function _setDate2($year, $month = FALSE, $day = FALSE, $hour = FALSE, $min = FALSE, $sec = FALSE, $params = FALSE)
 {
     $input = null;
     iCalUtilityFunctions::_strDate2arr($year);
     if (iCalUtilityFunctions::_isArrayDate($year)) {
         $input['value'] = iCalUtilityFunctions::_chkDateArr($year, 7);
         if (isset($input['value']['year']) && 100 > $input['value']['year']) {
             $input['value']['year'] += 2000;
         }
         $input['params'] = iCalUtilityFunctions::_setParams($month, array('VALUE' => 'DATE-TIME'));
         if (isset($input['value']['tz']) && 'Z' != $input['value']['tz'] && iCalUtilityFunctions::_isOffset($input['value']['tz'])) {
             $d = $input['value'];
             $strdate = sprintf('%04d-%02d-%02d %02d:%02d:%02d %s', $d['year'], $d['month'], $d['day'], $d['hour'], $d['min'], $d['sec'], $d['tz']);
             $input['value'] = iCalUtilityFunctions::_strdate2date($strdate, 7);
             unset($input['value']['unparsedtext']);
         }
     } elseif (iCalUtilityFunctions::_isArrayTimestampDate($year)) {
         $year['tz'] = 'UTC';
         $input['value'] = iCalUtilityFunctions::_timestamp2date($year, 7);
         $input['params'] = iCalUtilityFunctions::_setParams($month, array('VALUE' => 'DATE-TIME'));
     } elseif (8 <= strlen(trim($year))) {
         // ex. 2006-08-03 10:12:18
         $input['value'] = iCalUtilityFunctions::_strdate2date($year, 7);
         unset($input['value']['unparsedtext']);
         $input['params'] = iCalUtilityFunctions::_setParams($month, array('VALUE' => 'DATE-TIME'));
     } else {
         $input['value'] = array('year' => $year, 'month' => $month, 'day' => $day, 'hour' => $hour, 'min' => $min, 'sec' => $sec);
         if (isset($tz)) {
             $input['value']['tz'] = $tz;
         }
         if (isset($tz) && iCalUtilityFunctions::_isOffset($tz) || isset($input['params']['TZID']) && iCalUtilityFunctions::_isOffset($input['params']['TZID'])) {
             if (!isset($tz) && isset($input['params']['TZID']) && iCalUtilityFunctions::_isOffset($input['params']['TZID'])) {
                 $input['value']['tz'] = $input['params']['TZID'];
             }
             unset($input['params']['TZID']);
             $strdate = iCalUtilityFunctions::_date2strdate($input['value'], 7);
             $input['value'] = iCalUtilityFunctions::_strdate2date($strdate, 7);
             unset($input['value']['unparsedtext']);
         }
         $input['params'] = iCalUtilityFunctions::_setParams($params, array('VALUE' => 'DATE-TIME'));
     }
     $parno = iCalUtilityFunctions::_existRem($input['params'], 'VALUE', 'DATE-TIME', 7);
     // remove default
     if (!isset($input['value']['hour'])) {
         $input['value']['hour'] = 0;
     }
     if (!isset($input['value']['min'])) {
         $input['value']['min'] = 0;
     }
     if (!isset($input['value']['sec'])) {
         $input['value']['sec'] = 0;
     }
     $input['value']['tz'] = 'Z';
     return $input;
 }
Пример #3
0
 /**
  * set calendar component property related-to
  *
  * @author Kjell-Inge Gustafsson, kigkonsult <*****@*****.**>
  * @since 2.5.1 - 2008-11-07
  * @param float $relid
  * @param array $params, optional
  * @param index $index, optional
  * @return bool
  */
 function setRelatedTo($value, $params = FALSE, $index = FALSE)
 {
     if (empty($value)) {
         if ($this->getConfig('allowEmpty')) {
             $value = null;
         } else {
             return FALSE;
         }
     }
     if ('<' == substr($value, 0, 1) && '>' == substr($value, -1)) {
         $value = substr($value, 1, strlen($value) - 2);
     }
     iCalUtilityFunctions::_existRem($params, 'RELTYPE', 'PARENT', TRUE);
     // remove default
     iCalUtilityFunctions::_setMval($this->relatedto, $value, $params, FALSE, $index);
     return TRUE;
 }
 /**
  * convert format for input date (UTC) to internal date with parameters
  *
  * @author Kjell-Inge Gustafsson, kigkonsult <*****@*****.**>
  * @since 2.11.8 - 2012-01-19
  * @param mixed $year
  * @param mixed $month optional
  * @param int $day optional
  * @param int $hour optional
  * @param int $min optional
  * @param int $sec optional
  * @param array $params optional
  * @return array
  */
 public static function _setDate2($year, $month = FALSE, $day = FALSE, $hour = FALSE, $min = FALSE, $sec = FALSE, $params = FALSE)
 {
     $input = null;
     iCalUtilityFunctions::_strDate2arr($year);
     if (iCalUtilityFunctions::_isArrayDate($year)) {
         $input['value'] = iCalUtilityFunctions::_date_time_array($year, 7);
         $input['params'] = iCalUtilityFunctions::_setParams($month, array('VALUE' => 'DATE-TIME'));
     } elseif (iCalUtilityFunctions::_isArrayTimestampDate($year)) {
         $input['value'] = iCalUtilityFunctions::_timestamp2date($year, 7);
         $input['params'] = iCalUtilityFunctions::_setParams($month, array('VALUE' => 'DATE-TIME'));
     } elseif (8 <= strlen(trim($year))) {
         // ex. 2006-08-03 10:12:18
         $input['value'] = iCalUtilityFunctions::_date_time_string($year, 7);
         unset($input['value']['unparsedtext']);
         $input['params'] = iCalUtilityFunctions::_setParams($month, array('VALUE' => 'DATE-TIME'));
     } else {
         $input['value'] = array('year' => $year, 'month' => $month, 'day' => $day, 'hour' => $hour, 'min' => $min, 'sec' => $sec);
         $input['params'] = iCalUtilityFunctions::_setParams($params, array('VALUE' => 'DATE-TIME'));
     }
     $parno = iCalUtilityFunctions::_existRem($input['params'], 'VALUE', 'DATE-TIME', 7);
     // remove default
     if (!isset($input['value']['hour'])) {
         $input['value']['hour'] = 0;
     }
     if (!isset($input['value']['min'])) {
         $input['value']['min'] = 0;
     }
     if (!isset($input['value']['sec'])) {
         $input['value']['sec'] = 0;
     }
     if (isset($input['params']['TZID']) && !empty($input['params']['TZID'])) {
         if ('Z' != $input['params']['TZID'] && iCalUtilityFunctions::_isOffset($input['params']['TZID'])) {
             // utc offset in TZID to tz
             $input['value']['tz'] = $input['params']['TZID'];
             unset($input['params']['TZID']);
         } elseif (in_array(strtoupper($input['params']['TZID']), array('GMT', 'UTC', 'Z'))) {
             // time zone Z
             $input['value']['tz'] = 'Z';
             unset($input['params']['TZID']);
         }
     }
     if (!isset($input['value']['tz']) || !iCalUtilityFunctions::_isOffset($input['value']['tz'])) {
         $input['value']['tz'] = 'Z';
     }
     return $input;
 }
 /**
  * convert format for input date (UTC) to internal date with parameters
  *
  * @author Kjell-Inge Gustafsson <*****@*****.**>
  * @since 2.4.17 - 2008-10-31
  * @param mixed $year
  * @param mixed $month optional
  * @param int $day optional
  * @param int $hour optional
  * @param int $min optional
  * @param int $sec optional
  * @param array $params optional
  * @return array
  */
 public static function _setDate2($year, $month = FALSE, $day = FALSE, $hour = FALSE, $min = FALSE, $sec = FALSE, $params = FALSE)
 {
     $input = null;
     if (iCalUtilityFunctions::_isArrayDate($year)) {
         $input['value'] = iCalUtilityFunctions::_date_time_array($year, 7);
         $input['params'] = iCalUtilityFunctions::_setParams($month, array('VALUE' => 'DATE-TIME'));
     } elseif (iCalUtilityFunctions::_isArrayTimestampDate($year)) {
         $input['value'] = iCalUtilityFunctions::_timestamp2date($year, 7);
         $input['params'] = iCalUtilityFunctions::_setParams($month, array('VALUE' => 'DATE-TIME'));
     } elseif (8 <= strlen(trim($year))) {
         // ex. 2006-08-03 10:12:18
         $input['value'] = iCalUtilityFunctions::_date_time_string($year, 7);
         $input['params'] = iCalUtilityFunctions::_setParams($month, array('VALUE' => 'DATE-TIME'));
     } else {
         $input['value'] = array('year' => $year, 'month' => $month, 'day' => $day, 'hour' => $hour, 'min' => $min, 'sec' => $sec);
         $input['params'] = iCalUtilityFunctions::_setParams($params, array('VALUE' => 'DATE-TIME'));
     }
     $parno = iCalUtilityFunctions::_existRem($input['params'], 'VALUE', 'DATE-TIME', 7);
     // remove default
     if (!isset($input['value']['hour'])) {
         $input['value']['hour'] = 0;
     }
     if (!isset($input['value']['min'])) {
         $input['value']['min'] = 0;
     }
     if (!isset($input['value']['sec'])) {
         $input['value']['sec'] = 0;
     }
     if (!isset($input['value']['tz']) || !iCalUtilityFunctions::_isOffset($input['value']['tz'])) {
         $input['value']['tz'] = 'Z';
     }
     return $input;
 }