/** * The constructor for the storage mechanism * @param string $name * @param array $global_options. Default to empty array. The array of options that are * the same across all all forms which share a commone storage mechanisms */ public function __construct($name, $global_options = array()) { parent::__construct($name, $global_options); $this->storage_options_cache[] = array(); $this->componentized_forms = I2CE_FormStorage::getComponentizedForms(); if (!array_key_exists('components', $this->global_options) || !is_array($this->global_options['components'])) { I2CE::raiseError("No components specifed for multi-flat storage"); return false; } $this->databases = array(); foreach ($this->global_options['components'] as $component => $data) { if (!is_array($data) || !array_key_exists('database', $data) || !is_string($data['database']) || strlen($data['database']) < 1) { continue; } $this->databases[$component] = $data['database']; } }
/** * The constructor for the storage mechanism * @param string $name * @param array $global_options. Default to empty array. The array of options that are * the same across all all forms which share a commone storage mechanisms */ public function __construct($name, $global_options = array()) { parent::__construct($name, $global_options); $this->storage_options_cache = array(); }
/** * Save a form object into magicdata * @param I2CE_Form $form * @param I2CE_User $user * @param boolean $transact */ public function save($form, $user, $transact) { $form_id = $form->getId(); if (!$form_id) { $form_id = $this->getNextAvailableId($form->getName()); } if (!$form_id) { return false; } $form->setId($form_id); $form_config = $this->getFormConfig($form, true); if (!$form_config instanceof I2CE_MagicDataNode) { return false; } $form_config->last_modified = I2CE_Date::now(I2CE_Date::DATE_TIME)->dbFormat(); $form_config->who = $user->getId(); $parent = $form->getParent(); if ($parent != "") { /* Does this need to be here? the parent node may be new and doesn't exist... if ($form_config->is_parent('parent')) { return false; } */ $form_config->parent = $parent; } return parent::save($form, $user, $transact); }
/** * Populates the history of each field given to the method. * @param I2CE_Form $form */ public function populateHistory($form) { $this->setupForm($form); parent::populateHistory($form); }