[
'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,]);
}
}
}
}