/** * Call the right method for creating or updating object * * @return mixed */ public function processSave() { if ($this->table == 'feature') { $id_feature = (int) Tools::getValue('id_feature'); // Adding last position to the feature if not exist if ($id_feature <= 0) { $sql = 'SELECT `position`+1 FROM `' . _DB_PREFIX_ . 'feature` ORDER BY position DESC'; // set the position of the new feature in $_POST for postProcess() method $_POST['position'] = DB::getInstance()->getValue($sql); } // clean \n\r characters foreach ($_POST as $key => $value) { if (preg_match('/^name_/Ui', $key)) { $_POST[$key] = str_replace('\\n', '', str_replace('\\r', '', $value)); } } //by webkul to save image of feature with feature name $obj_feature = parent::processSave(); $feature_values = FeatureValue::getFeatureValuesWithLang(1, $obj_feature->id); if ($feature_values) { $obj_feature_value = new FeatureValue($feature_values[0]['id_feature_value']); } else { $obj_feature_value = new FeatureValue(); } //validate feature image if (isset($_FILES['logo'])) { $this->validAddFeatureImage($_FILES['logo']); } $img_path = _PS_IMG_DIR_ . 'rf/' . $obj_feature->id . '.png'; if (isset($_FILES['logo'])) { $current_file = _PS_TMP_IMG_DIR_ . 'feature_mini_' . $obj_feature->id . '_' . $this->context->shop->id . '.png'; if (file_exists($current_file)) { unlink($current_file); } $this->uploadFeatureImage($_FILES['logo'], $img_path); } $obj_feature_value->id_feature = $obj_feature->id; foreach (Language::getLanguages(true) as $lang) { $obj_feature_value->value[$lang['id_lang']] = $obj_feature->id . '.png'; } $obj_feature_value->save(); } return $obj_feature; }
public function createHotelRoomDefaultFeatures() { $htl_room_ftrs = array('Wi-Fi', 'News Paper', 'Power BackUp', 'Refrigerator', 'Restaurant', 'Room Service', 'Gym'); $pos = 0; foreach ($htl_room_ftrs as $room_ftr_k => $room_ftr_v) { $obj_feature = new Feature(); foreach (Language::getLanguages(true) as $lang) { $obj_feature->name[$lang['id_lang']] = $room_ftr_v; } $obj_feature->position = $pos; $obj_feature->save(); if ($obj_feature->id) { $obj_feature_value = new FeatureValue(); $obj_feature_value->id_feature = $obj_feature->id; foreach (Language::getLanguages(true) as $lang) { $obj_feature_value->value[$lang['id_lang']] = $obj_feature->id . '.png'; } $obj_feature_value->save(); if ($obj_feature_value->id) { if (file_exists(_PS_IMG_DIR_ . 'rf/' . $pos . '.png')) { rename(_PS_IMG_DIR_ . 'rf/' . $pos . '.png', _PS_IMG_DIR_ . 'rf/' . $obj_feature->id . '.png'); } } } $pos++; } return true; }