array( 'class' => 'CCaptchaAction', 'backColor' => 0xFFFFFF, ), // page action renders "static" pages stored under 'protected/views/site/pages' // They can be accessed via: index.php?r=site/page&view=FileName 'page' => array( 'class' => 'CViewAction', ), ); } /** * This is the default 'index' action that is invoked * when an action is not explicitly requested by users. */ public function actionIndex() { // renders the view file 'protected/views/site/index.php' // using the default layout 'protected/views/layouts/main.php' $this->render('index'); } /** * This is the action to handle external exceptions. */ public function actionError() { if ($error = Yii::app()->errorHandler->error) { if (Yii::app()->request->isAjaxRequest) echo $error['message']; else $this->render('error', $error); } } /** * Displays the contact page */ public function actionContact() { $this->render('contact'); } /** * Displays the login page */ public function actionLogin() { $model = new LoginForm; // if it is ajax validation request if (isset($_POST['ajax']) && $_POST['ajax'] === 'login-form') { echo CActiveForm::validate($model); Yii::app()->end(); } // collect user input data if (isset($_POST['LoginForm'])) { $model->attributes = $_POST['LoginForm']; // validate user input and redirect to the previous page if valid if ($model->validate() && $model->login()) $this->redirect(Yii::app()->user->returnUrl); } // display the login form $this->render('login', array('model' => $model)); $this->render('index'); } public function actionRegister() { /* $model = new User('register'); if (isset($_POST['User'])) { $model->attributes = $_POST['User']; if ($model->validate()) { $oldPassword = $model->password; $model->password = $this->better_crypt($model->password); date_default_timezone_set("UTC"); $model->date = date('Y-m-d H:i:s'); if ($model->save()) { //$this->redirect(Yii::app()->user->returnUrl); $this->redirect(array("site/login")); return; } $model->password = $oldPassword; } } $this->render('register', array('model' => $model)); */ $this->render('index'); } /** * Logs out the current user and redirect to homepage. */ public function actionLogout() { Yii::app()->user->logout(); $this->redirect(Yii::app()->homeUrl); } public function actionAddPhotosToArticle() { $model = new AddPhotosToArticleForm; if (isset($_POST['AddPhotosToArticleForm'])) { $model->attributes = $_POST['AddPhotosToArticleForm']; $urlList = explode(PHP_EOL, $model->photoUrlText); $article = Article::model()->find('name=:name', array(':name' => $model->articleName)); if ($article) { if (!Album::model()->find('name=:name', array(':name' => $model->articleName))) { $album = new Album(); $album->name = $model->articleName; $album->title = $article->title; $album->description = ""; $album->save(); } if (!AlbumArticleRelation::model()->find('albumName=:name AND articleName=:name', array(':name' => $model->articleName))) { $albumArticleRelation = new AlbumArticleRelation(); $albumArticleRelation->albumName = $model->articleName; $albumArticleRelation->articleName = $model->articleName; $albumArticleRelation->save(); } foreach ($urlList as $row) { $row = trim($row); if ($row !== '') { //$localFileName = 'C:/Workplace/Apache2.4/htdocs/bashgid/bashgid_images/' . base64_encode($row) . '.jpg'; $localFileName = '/home/hallyu-http/bashgid.hallyu.ru/http/bashgid_images/' . base64_encode($row) . '.jpg'; copy($row, $localFileName); $photo = Photo::model()->find('imageUrl=:imageUrl', array(':imageUrl' => $row)); if ($photo) { $photo->delete(); } $photo = new Photo(); $photo->title = $article->title; $photo->imageUrl = $row; $photo->imageHash = md5_file($localFileName); $photo->description = ""; $photo->save(); $photoAlbumRelation = new PhotoAlbumRelation(); $photoAlbumRelation->imageUrl = $row; $photoAlbumRelation->name = $model->articleName; $photoAlbumRelation->save(); } } } $this->render('photosAdded', array('urlList' => $urlList)); return; } $this->render('addPhotosToArticle', array('model' => $model)); } public function actionRecalcImageHash() { $photoArr = Photo::model()->findAll(); foreach($photoArr as $photo) { //$localFileName = 'C:/Workplace/Apache2.4/htdocs/bashgid/bashgid_images/' . base64_encode($photo->imageUrl) . '.jpg'; $localFileName = '/home/hallyu-http/bashgid.hallyu.ru/http/bashgid_images/' . base64_encode($photo->imageUrl) . '.jpg'; $imageHash = md5_file($localFileName); $photo->imageHash = $imageHash; $photo->save(); } $this->redirect(Yii::app()->homeUrl); } private function better_crypt($input) { $salt = ""; $salt_chars = array_merge(range('A', 'Z'), range('a', 'z'), range(0, 9)); for ($i = 0; $i < 22; $i++) { $salt .= $salt_chars[array_rand($salt_chars)]; } return crypt($input, '$2y$10$' . $salt); } }