/** * Saves an export map to the database. * * @param array $settings * @param array $map */ public function saveMap(array $settings, array $map) { // Unset non-map settings unset($settings['limit'], $settings['offset']); ksort($settings); // Set criteria $criteria = new \CDbCriteria(); $criteria->condition = 'settings = :settings'; $criteria->params = array(':settings' => JsonHelper::encode($settings)); // Check if we have a map already $mapRecord = Export_MapRecord::model()->find($criteria); if (!count($mapRecord) || $mapRecord->settings != $settings) { // Save settings and map to database $mapRecord = new Export_MapRecord(); $mapRecord->settings = $settings; } // Save new map to db $mapRecord->map = $map; $mapRecord->save(false); }