protected function aliasImportOne($info, $force_ids, $validateOnly = false)
 {
     AdminImportController::setDefaultValues($info);
     if ($force_ids && isset($info['id']) && (int) $info['id']) {
         $alias = new Alias((int) $info['id']);
     } else {
         if (array_key_exists('id', $info) && (int) $info['id'] && Alias::existsInDatabase((int) $info['id'], 'alias')) {
             $alias = new Alias((int) $info['id']);
         } else {
             $alias = new Alias();
         }
     }
     AdminImportController::arrayWalk($info, array('AdminImportController', 'fillInfo'), $alias);
     $res = false;
     if (($field_error = $alias->validateFields(UNFRIENDLY_ERROR, true)) === true && ($lang_field_error = $alias->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true) {
         if ($alias->id && $alias->aliasExists($alias->id)) {
             $res = $validateOnly || $alias->update();
         }
         $alias->force_id = (bool) $force_ids;
         if (!$res) {
             $res = $validateOnly || $alias->add();
         }
         if (!$res) {
             $this->errors[] = Db::getInstance()->getMsgError() . ' ' . sprintf($this->trans('%1$s (ID: %2$s) cannot be saved', array(), 'Admin.Parameters.Notification'), $info['name'], isset($info['id']) ? $info['id'] : 'null');
         }
     } else {
         $this->errors[] = $this->l('Alias is invalid') . ' (' . $alias->name . ')';
         $this->errors[] = ($field_error !== true ? $field_error : '') . (isset($lang_field_error) && $lang_field_error !== true ? $lang_field_error : '');
     }
 }
 public function aliasImport()
 {
     $this->receiveTab();
     $handle = $this->openCsvFile();
     AdminImportController::setLocale();
     for ($current_line = 0; $line = fgetcsv($handle, MAX_LINE_SIZE, $this->separator); $current_line++) {
         if (Tools::getValue('convert')) {
             $line = $this->utf8EncodeArray($line);
         }
         $info = AdminImportController::getMaskedRow($line);
         AdminImportController::setDefaultValues($info);
         if (Tools::getValue('forceIDs') && isset($info['id']) && (int) $info['id']) {
             $alias = new Alias((int) $info['id']);
         } else {
             if (array_key_exists('id', $info) && (int) $info['id'] && Alias::existsInDatabase((int) $info['id'], 'alias')) {
                 $alias = new Alias((int) $info['id']);
             } else {
                 $alias = new Alias();
             }
         }
         AdminImportController::arrayWalk($info, array('AdminImportController', 'fillInfo'), $alias);
         $res = false;
         if (($field_error = $alias->validateFields(UNFRIENDLY_ERROR, true)) === true && ($lang_field_error = $alias->validateFieldsLang(UNFRIENDLY_ERROR, true)) === true) {
             if ($alias->id && $alias->aliasExists($alias->id)) {
                 $res = $alias->update();
             }
             $alias->force_id = (bool) Tools::getValue('forceIDs');
             if (!$res) {
                 $res = $alias->add();
             }
             if (!$res) {
                 $this->errors[] = Db::getInstance()->getMsgError() . ' ' . sprintf(Tools::displayError('%1$s (ID: %2$s) cannot be saved'), $info['name'], isset($info['id']) ? $info['id'] : 'null');
             }
         } else {
             $this->errors[] = $this->l('Alias is invalid') . ' (' . $alias->name . ')';
             $this->errors[] = ($field_error !== true ? $field_error : '') . (isset($lang_field_error) && $lang_field_error !== true ? $lang_field_error : '');
         }
     }
     $this->closeCsvFile($handle);
 }