[ 'class' => AccessControl::className(), 'rules' => [ [ 'actions' => ['login', 'error', 'price-list-upload','file-upload','images-upload' ], 'allow' => true, ], [ 'actions' => ['logout', 'index','create','update','view','delete',], 'allow' => true, 'roles' => ['@'], ], ], ], 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'logout' => ['post'], ], ], ]; } /** * Lists all News models. * @return mixed */ public function actionIndex() { $searchModel = new NewsSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); return $this->render('index', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, ]); } /** * Displays a single News model. * @param integer $id * @return mixed */ public function actionView($id) { return $this->render('view', [ 'model' => $this->findModel($id), ]); } /** * Creates a new News model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new News(); // $model->load(Yii::$app->request->post()); // var_dump($model->validate()); // print_r($model->getErrors()); // die(); if ($model->load(Yii::$app->request->post()) && $model->save() ) { if ($model['mail_send'] == '1') { $sEmails = array(); $mailing_accounts = Accounts::find()->where(['email'=>'dockdep@gmail.com'])->all(); if (isset($mailing_accounts)&&count($mailing_accounts)>0){ foreach ($mailing_accounts as $m){ $sEmails []= $m['email']; } } if(isset($model['price_list']) && !empty($model['price_list'])){ $price_list ='
Скачать список товаров
'; }else { $price_list = ''; } if (count($sEmails)>0) { $fp = fopen('logs.txt', 'w'); foreach ($sEmails as $mailing) { $deny_data = array(); $deny_data ['deny']= 'http://'.$_SERVER['SERVER_NAME'].'/news/deny?get='.base64_encode("s12g".base64_encode($mailing)."wferrgher3453").'&pass='.md5(sha1("wfew".$mailing."wfw")); $deny = $this->deny($deny_data); unset($deny_data); $data['data'] = $model['content']."
".$price_list."
".$deny; Emails::get('news',$data,$mailing); fwrite($fp, $mailing); $model['mails_count'] = $model['mails_count']+1; } $model->save(); fclose($fp); } } return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', [ 'model' => $model, ]); } } function deny($vars) { $model = new Emails(); $data = $model->findOne(['code'=>'sribe_deny']); $letter = $data['value']; foreach ($vars as $kk=>$vv) { $str = '{'.$kk.'}'; $letter = str_replace($str,$vv,$letter); } return $letter; } /** * Updates an existing News model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { $model = $this->findModel($id); $model->dt = date("Y-m-d" , $model->dt); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('update', [ 'model' => $model, ]); } } /** * Deletes an existing News model. * If deletion is successful, the browser will be redirected to the 'index' page. * @param integer $id * @return mixed */ public function actionDelete($id) { $this->findModel($id)->delete(); return $this->redirect(['index']); } /** * Finds the News model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return News the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = News::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } } public function actionFileUpload(){ echo ImageResizer::widget(); } public function actionPriceListUpload(){ $model = new ImageSizerForm(); if (Yii::$app->request->isPost) { $model->file = UploadedFile::getInstance($model, 'price_list'); if ($model->validate()) { $rout =Yii::getAlias( '@storage/files/file/' . time(). '.' . $model->file->extension); $model->file->saveAs($rout); $rout = '/storage/files/file/' . time(). '.' . $model->file->extension; return json_encode(['name' =>$rout,]); } } } }