function setExternalCalendarPropertyValue($key, $value) { $property = ExternalCalendarProperties::findByExternalCalendarIdAndKey($this->getId(), $key); if ($property instanceof ExternalCalendarProperty) { $property->setValue($value); $property->save(); } else { $property = new ExternalCalendarProperty(); $property->setExternalCalendarId($this->getId()); $property->setKey($key); $property->setValue($value); $property->save(); } }
/** * Return manager instance * * @access protected * @param void * @return ExternalCalendarProperties */ function manager() { if (!$this->manager instanceof ExternalCalendarProperties) { $this->manager = ExternalCalendarProperties::instance(); } return $this->manager; }
function findByExternalCalendarIdAndKey($external_calendar_id, $key) { return ExternalCalendarProperties::findOne(array('conditions' => array('`external_calendar_id` = ? AND `key` = ?', $external_calendar_id, $key))); }
/** * This function will return paginated result. Result is an array where first element is * array of returned object and second populated pagination object that can be used for * obtaining and rendering pagination data using various helpers. * * Items and pagination array vars are indexed with 0 for items and 1 for pagination * because you can't use associative indexing with list() construct * * @access public * @param array $arguments Query argumens (@see find()) Limit and offset are ignored! * @param integer $items_per_page Number of items per page * @param integer $current_page Current page number * @return array */ function paginate($arguments = null, $items_per_page = 10, $current_page = 1) { if (isset($this) && instance_of($this, 'ExternalCalendarProperties')) { return parent::paginate($arguments, $items_per_page, $current_page); } else { return ExternalCalendarProperties::instance()->paginate($arguments, $items_per_page, $current_page); } // if }