/** * 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; }
/** * set calendar component property related-to * * @author Kjell-Inge Gustafsson, kigkonsult <*****@*****.**> * @since 2.11.24 - 2012-02-23 * @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; } } ICalUtilityFunctions::_existRem($params, 'RELTYPE', 'PARENT', TRUE); // remove default ICalUtilityFunctions::_setMval($this->relatedto, $value, $params, FALSE, $index); return TRUE; }