/** * 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; }
/** * 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.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; }