public function afterValidate() { if (!$this->hasErrors()) { $path = Yii::getPathOfAlias('webroot') . '/../uploads/in/images/' . $this->image; $pathStore = Yii::getPathOfAlias('webroot') . '/uploads/store/product/' . $this->image; if (file_exists($path)) { // Файл доступен по пути $data = @file_get_contents($path); $res = @imagecreatefromstring($data); if (is_resource($res)) { // Файл коректно открывается if (copy($path, $pathStore)) { // Файл скопировался $this->image = basename($path); @unlink($path); // удалить файл } else { $this->image = null; } } } else { $this->image = null; } } return parent::afterValidate(); }
/** * Displays errors whether its present. * * @see CModel::afterValidate() */ protected function afterValidate() { if ($this->hasErrors()) { $errors = $this->getErrors(); $this->displayErrors($errors); } parent::afterValidate(); }
public function afterValidate() { $return = parent::afterValidate(); if (!$this->usuario->isValidToken()) { $this->addError('novaSenha', Yii::t('AlterarSenhaForm', 'Esta chave de acesso não é mais válida')); } return $return; }
protected function afterValidate() { $dbConnection = $this->getDbConnection(); try { $dbConnection->active = true; } catch (CDbException $e) { $this->addError('dbname', 'Не удалось подключиться к базе данных. Ошибка: "' . $e->getMessage() . '"'); } return parent::afterValidate(); }
function afterValidate() { // If this method was called then // the model is already filled // with data and data is valid // so we can use it safely: $this->fullName = $this->firstName . ' ' . $this->lastName; // It's important to call parent class method // so all other event handlers are called return parent::afterValidate(); }
protected function afterValidate() { switch ($this->src_type) { case 1: $this->text = str_replace("\r", "", $this->text); break; case 2: // Читаем файл $file = CUploadedFile::getInstanceByName("TextSource[file]"); $this->text = file_get_contents($file->tempName, false, null, -1, 500 * 1024); if ($this->text === false) { $this->addError("file", "Файл не загрузился. Возможно, он слишком велик."); return false; } // Кодировка if ($this->encoding != "UTF-8") { $this->text = iconv($this->encoding, "UTF-8//IGNORE", $this->text); } elseif (!mb_check_encoding($this->text, "utf-8")) { $this->addError("encoding", "Неправильная кодировка текста, выберите правильную."); } break; case 3: exit; if (!preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $this->url)) { $this->addError("url", "Некорректный URL. Должно быть что-то вроде http://someawesomesite.ru/foo/bar/baz.html"); return false; } echo "<pre>"; echo "Download text from '{$this->url}'\n"; $html = Yii::app()->curl->run($this->url); file_put_contents("import.html", $html); print_r(Yii::app()->curl->info); echo "<hr />"; // Пытаемся узнать кодировку, если её не указали явно if (preg_match('#<meta.*http-equiv=[\'"]?content-type[\'"]?.*>#is', $html, $res)) { echo "Got meta http-equiv: " . htmlspecialchars($res[0]) . "\n"; } elseif (preg_match('#<meta.*charset=\'content-type\'.*>#is', $html, $res)) { echo "Got meta charset: " . htmlspecialchars($res[0]) . "\n"; } elseif (Yii::app()->curl->info["content_type"] != "" && preg_match('#charset=([^; ]+)#i', Yii::app()->curl->info["content_type"], $res)) { echo "Found content-type header with charset: {$res[0]}\n"; $charset = $res[1]; } else { echo "Can't find encoding information (assume ISO)\n"; $charset = "ISO−8859−1"; } $charset = strtoupper($charset); $this->encoding = $charset; if ($charset != "UTF-8" && $charset != "UTF8") { $html = iconv($charset, "UTF-8", $html); } elseif (!mb_check_encoding($html, "utf-8")) { $this->addError("encoding", "Неправильная кодировка текста, выберите правильную."); } $html = preg_replace('#<head>.+</head>#isU', '', $html); $html = preg_replace('#<script[^>]*>.+</script[^>]*>#isU', '', $html); // $html = preg_replace('#<style[^>]*>.+</style[^>]*>#isU', '', $html); echo "<b>HTML</b> = '" . htmlspecialchars($html) . "'"; $p = new CHtmlPurifier(); // идея в том, чтобы оставить только блочные теги, а потом по ним разбить на фрагменты $html = preg_replace('/\\s+/s', " ", $html); // привели всё к одной строке $html = preg_replace('#</[^>]*>#s', " ", $html); // убрали все закрывающие теги $html = preg_replace('/<(p|div|li|dd|dt|h\\d|address|blockquote)[^>]*>/s', "\n\n", $html); // все открывающие блочные теги - в два переноса строки $html = preg_replace('/<br[^>]*>/s', "\n", $html); // br - в одинарный перенос строки $html = strip_tags($html); $html = preg_replace('/[ \\t]+/', " ", $html); echo "</pre>"; $this->text = $html; $this->chopper = 2; break; default: $this->addError("src_typ", "Системная ошибка. Обратитесь в техподдержку."); return false; break; } $this->text = trim($this->text); if ($this->text == "") { $this->addError("src_typ", "Текст не обнаружен. Иногда это случается, если выбрать неправильную кодировку."); return false; } if (mb_strlen($this->text) > 500 * 1024) { $this->addError("src_typ", "Слишком большой текст. Пожалуйста, разбейте его на несколько глав, не более 500 КБ каждая."); return false; } return parent::afterValidate(); }
protected function afterValidate() { $this->ls_id = $this->gs_list[$this->gs_id]['login_id']; parent::afterValidate(); }
public function afterValidate() { $this->putToMemory(); parent::afterValidate(); }
protected function afterValidate() { parent::afterValidate(); $this->password = ''; $this->password_repeat = ''; }
/** * After the standard validation is completed, check the database connections. * @see CModel::afterValidate() */ public function afterValidate() { parent::afterValidate(); if (count($this->getErrors()) == 0) { //check memcache first, since creating the db / user should be last. if ($this->memcacheHostname != null) { if ($this->memcachePortNumber == null) { $this->addError('memcachePortNumber', Zurmo::t('InstallModule', 'Since you specified a memcache ' . 'hostname, you must specify a port.')); return; } $memcacheResult = InstallUtil::checkMemcacheConnection($this->memcacheHostname, (int) $this->memcachePortNumber); if ($memcacheResult !== true) { $this->addError('memcacheHostname', Zurmo::t('InstallModule', 'Error code:') . " " . $memcacheResult[0] . '<br/>Message(Memcached): ' . $memcacheResult[1]); return; } } if (!$this->hostInfo) { $this->addError('hostInfo', Zurmo::t('InstallModule', 'Please enter server IP or URL.')); return; } else { if (strpos($this->hostInfo, 'http://') === false && strpos($this->hostInfo, 'https://') === false) { $this->addError('hostInfo', Zurmo::t('InstallModule', 'Host Info must start with "http://" or "https://".')); return; } } if ($this->databaseAdminUsername != null) { if ($this->databaseAdminPassword == null) { $this->addError('databaseAdminPassword', Zurmo::t('InstallModule', 'Since you specified a database ' . 'admin username, you must enter a password')); return; } $connectionResult = DatabaseCompatibilityUtil::checkDatabaseConnection($this->databaseType, $this->databaseHostname, $this->databaseAdminUsername, $this->databaseAdminPassword, (int) $this->databasePort); if ($connectionResult !== true) { $this->addError('databaseAdminUsername', Zurmo::t('InstallModule', 'Error code:') . " " . $connectionResult[0] . '<br/>Message: ' . $connectionResult[1]); return; } $userExistsResult = DatabaseCompatibilityUtil::checkDatabaseUserExists($this->databaseType, $this->databaseHostname, $this->databaseAdminUsername, $this->databaseAdminPassword, (int) $this->databasePort, $this->databaseUsername); if ($userExistsResult === true) { $this->addError('databaseUsername', Zurmo::t('InstallModule', 'You have specified an existing user. ' . 'If you would like to use this user, then do not specify the database admin username and ' . 'password. Otherwise pick a database username that does not exist.')); return; } $databaseExistsResult = DatabaseCompatibilityUtil::checkDatabaseExists($this->databaseType, $this->databaseHostname, $this->databaseAdminUsername, $this->databaseAdminPassword, (int) $this->databasePort, $this->databaseName); if ($databaseExistsResult === true) { $this->addError('databaseName', Zurmo::t('InstallModule', 'You have specified an existing database. ' . 'If you would like to use this database, then do not specify the database admin username and ' . 'password. Otherwise pick a database name that does not exist.')); return; } $createDatabaseResult = DatabaseCompatibilityUtil::createDatabase($this->databaseType, $this->databaseHostname, $this->databaseAdminUsername, $this->databaseAdminPassword, (int) $this->databasePort, $this->databaseName); if ($createDatabaseResult === false) { $this->addError('databaseName', Zurmo::t('InstallModule', 'There was a problem creating the database ' . 'Error code:') . " " . $connectionResult[0] . '<br/>Message: ' . $connectionResult[1]); return; } $createUserResult = DatabaseCompatibilityUtil::createDatabaseUser($this->databaseType, $this->databaseHostname, $this->databaseAdminUsername, $this->databaseAdminPassword, (int) $this->databasePort, $this->databaseName, $this->databaseUsername, $this->databasePassword); if ($createUserResult === false) { $this->addError('databaseUsername', Zurmo::t('InstallModule', 'There was a problem creating the user ' . 'Error code:') . " " . $connectionResult[0] . '<br/>Message: ' . $connectionResult[1]); return; } } else { $connectionResult = DatabaseCompatibilityUtil::checkDatabaseConnection($this->databaseType, $this->databaseHostname, $this->databaseUsername, $this->databasePassword, (int) $this->databasePort); if ($connectionResult !== true) { $this->addError('databaseUsername', Zurmo::t('InstallModule', 'Error code:') . " " . $connectionResult[0] . '<br/>Message: ' . $connectionResult[1]); return; } $databaseExistsResult = DatabaseCompatibilityUtil::checkDatabaseExists($this->databaseType, $this->databaseHostname, $this->databaseUsername, $this->databasePassword, (int) $this->databasePort, $this->databaseName); if ($databaseExistsResult !== true) { $this->addError('databaseName', Zurmo::t('InstallModule', 'The database name specified does not ' . 'exist or the user specified does not have access.') . '<br/>' . Zurmo::t('InstallModule', 'Error code:') . " " . $databaseExistsResult[0] . '<br/>Message: ' . $databaseExistsResult[1]); return; } else { if ($this->removeExistingData == false) { $this->addError('removeExistingData', Zurmo::t('InstallModule', 'Since you specified an existing database ' . 'you must check this box in order to proceed. THIS WILL REMOVE ALL EXISTING DATA.')); return; } } } } }
protected function afterValidate() { if (($err = $this->testConnect()) !== true) { $this->addError('', 'Ошибка подключения к БД: ' . $err); } return parent::afterValidate(); }
protected function afterValidate() { if (($err = $this->testConnect()) !== TRUE) { $this->addError('', 'Ошибка подключения к БД: ' . $err); } if (!$this->license) { $this->addError('license', 'Вы не приняли условия лицензионного соглашения'); } return parent::afterValidate(); }
public function afterValidate() { parent::afterValidate(); }
public function afterValidate() { parent::afterValidate(); if ($this->hasErrors()) { $this->incrementErrorLoginNums(); } else { $this->clearErrorLoginNums(); } }
public function afterValidate() { parent::afterValidate(); if ($this->getErrors()) { self::incrementErrorLoginNums(); } else { self::clearErrorLoginNums(); } }