/** * Takes a set of form data ($Form->_PostValues), validates them, and * inserts or updates them to the configuration file. * * @param array $FormPostValues An associative array of $Field => $Value pairs that represent data posted * from the form in the $_POST or $_GET collection. */ public function Save($FormPostValues) { if (isset($this->_ConfigurationFile) === FALSE) { trigger_error(ErrorMessage('You must define the file where the configuration settings will be saved.', 'ConfigurationModel', 'Save'), E_USER_ERROR); } // Fudge your way through the schema application. This will allow me to // force the validation object to expect the fieldnames contained in // $this->Data. $this->Validation->ApplySchema($this->Data); // Validate the form posted values if ($this->Validation->Validate($FormPostValues)) { $Config = Gdn::Factory(Gdn::AliasConfig); $Config->Load($this->_ConfigurationFile, 'Save', $this->Name); // Merge the validation fields and the forced settings into a single array $Settings = $this->Validation->ValidationFields(); if (is_array($this->_ForceSettings)) { $Settings = MergeArrays($Settings, $this->_ForceSettings); } foreach ($Settings as $Setting => $Value) { $Config->Set($Setting, $Value, TRUE); } // And save them to the conf file return $Config->Save(); } else { return FALSE; } }
/** * Takes a set of form data ($Form->_PostValues), validates them, and * inserts or updates them to the configuration file. * * @param array $FormPostValues An associative array of $Field => $Value pairs that represent data posted * from the form in the $_POST or $_GET collection. */ public function Save($FormPostValues) { // Fudge your way through the schema application. This will allow me to // force the validation object to expect the fieldnames contained in // $this->Data. $this->Validation->ApplySchema($this->Data); // Validate the form posted values if ($this->Validation->Validate($FormPostValues)) { // Merge the validation fields and the forced settings into a single array $Settings = $this->Validation->ValidationFields(); if (is_array($this->_ForceSettings)) { $Settings = MergeArrays($Settings, $this->_ForceSettings); } return SaveToConfig($Settings); } else { return FALSE; } }
/** * Takes a set of form data ($Form->_PostValues), validates them, and * inserts or updates them to the configuration file. * * @param array $FormPostValues An associative array of $Field => $Value pairs that represent data posted * from the form in the $_POST or $_GET collection. */ public function Save($FormPostValues, $Live = FALSE) { // Fudge your way through the schema application. This will allow me to // force the validation object to expect the fieldnames contained in // $this->Data. $this->Validation->ApplySchema($this->Data); // Validate the form posted values if ($this->Validation->Validate($FormPostValues)) { // Merge the validation fields and the forced settings into a single array $Settings = $this->Validation->ValidationFields(); if (is_array($this->_ForceSettings)) { $Settings = MergeArrays($Settings, $this->_ForceSettings); } $SaveResults = SaveToConfig($Settings); // If the Live flag is true, set these in memory too if ($SaveResults && $Live) { Gdn::Config()->Set($Settings, TRUE); } return $SaveResults; } else { return FALSE; } }
/** * Takes a set of form data ($Form->_PostValues), validates them, and * inserts or updates them to the datatabase. * * @param array $FormPostValues An associative array of $Field => $Value pairs that represent data posted * from the form in the $_POST or $_GET collection. * @param array $Settings If a custom model needs special settings in order to perform a save, they * would be passed in using this variable as an associative array. * @return unknown */ public function Save($FormPostValues, $Settings = FALSE) { // Define the primary key in this model's table. $this->DefineSchema(); // See if a primary key value was posted and decide how to save $PrimaryKeyVal = ArrayValue($this->PrimaryKey, $FormPostValues); $Insert = $PrimaryKeyVal === FALSE ? TRUE : FALSE; if ($Insert) { $this->AddInsertFields($FormPostValues); } else { $this->AddUpdateFields($FormPostValues); } // Validate the form posted values if ($this->Validate($FormPostValues, $Insert) === TRUE) { $Fields = $this->Validation->ValidationFields(); $Fields = RemoveKeyFromArray($Fields, $this->PrimaryKey); // Don't try to insert or update the primary key if ($Insert === FALSE) { $this->Update($Fields, array($this->PrimaryKey => $PrimaryKeyVal)); } else { $PrimaryKeyVal = $this->Insert($Fields); } } else { $PrimaryKeyVal = FALSE; } return $PrimaryKeyVal; }