/var/www/vhosts/nabawater/backend/controllers
Edit: /var/www/vhosts/nabawater/backend/controllers/NewsletterController.php (5207B)
render('index',
[
'searchModel' => $searchModel,
'dataProvider' => $searchModel->search(Yii::$app->request->queryParams)
]
);
}
/**
*
* @return array
*/
public function actionCreate()
{
$model = new Newsletter();
$modelUploadForm = new NewsLetterUploadForm();
$modelUploadForm->setScenario($modelUploadForm::SCENARIO_CREATE);
$post = Yii::$app->getRequest()->post();
if ($model->load($post) && $model->validate()) {
$uploadedFile = UploadedFile::getInstance($modelUploadForm, 'newsletter_image');
$uploadHelper = UploadHelper::getInstance();
$uploadHelper->setPath($uploadHelper::NEWSLETTER);
$uploadHelper->setUploadedFile($uploadedFile);
$path = $uploadHelper->getPath(true);
$uploadedFile->saveAs($path);
$realpath = $uploadHelper->getRealPath($path);
$model->newsletter_image = '/'. $realpath;
$model->save();
Com::successFlash('Created Successfully');
return $this->redirect(['index']);
}
return $this->render('create', [
'model' => $model,
'modelUploadForm' => $modelUploadForm
]);
}
/**
*
* @param type $id
*/
public function actionUpdate($id)
{
$model = $this->findModel($id);
$newsLetterImage = $model->newsletter_image;
$modelUploadForm = new NewsletterUploadForm();
$post = Yii::$app->getRequest()->post();
if ($model->load($post) && $model->validate()) {
$uploadedFile = UploadedFile::getInstance($modelUploadForm, 'newsletter_image');
if (!empty($uploadedFile)) {
$uploadHelper = UploadHelper::getInstance();
$uploadHelper->setPath($uploadHelper::NEWSLETTER);
$uploadHelper->setUploadedFile($uploadedFile);
$path = $uploadHelper->getPath(true);
$uploadedFile->saveAs($path);
$realPath = $uploadHelper->getRealPath($path);
$model->newsletter_image = '/'. $realPath ;
$model->save();
} else {
$model->newsletter_image = $newsLetterImage;
}
if(!$model->save()) {
return $model;
}
Com::successFlash('Updated Successfully');
return $this->redirect(['index']);
}
return $this->render('update', [
'model' => $model,
'modelUploadForm' => $modelUploadForm,
]);
}
/**
*
* @param type $id
*/
public function actionDelete($id)
{
$model = $this->findModel($id);
if ($model === null) {
Com::failureFlash('Unable to find the Newsletter');
return $this->redirect(['index']);
}
$model->newsletter_status = Newsletter::DELETE;
$model->save();
Com::successFlash('Deleted Successfully');
return $this->redirect(['index']);
}
/**
*
* @param type $id
* @return type
* @throws NotFoundHttpException
*/
protected function findModel($id)
{
if (($model = Newsletter::findOne(['newsletter_key' => $id])) !== null) {
return $model;
} else {
throw new NotFoundHttpException('The requested page does not exist.');
}
}
/**
* @return string
* @throws \yii\base\InvalidParamException
*
*/
public function actionChangeStatus()
{
$params = ['key', 'status'];
$post = Yii::$app->getRequest()->post();
$result = ['status' => STATUS_FAIL, 'msg' => ''];
foreach ($params as $param) {
if (!array_key_exists($param, $post)) {
$result['msg'] = 'Required param missing';
goto skip;
}
}
$model = Newsletter::findOne(['newsletter_key' => $post['key']]);
if ($model === null) {
$result['msg'] = 'Unable to find the Newsletter';
goto skip;
}
$model->newsletter_status = $post['status'];
$model->save(false);
$result['msg'] = 'Newsletter deactivated successfully';
if ((int)$model->newsletter_status === $model::ACTIVE) {
$result['msg'] = 'Newsletter activated successfully';
}
$result['status'] = STATUS_SUCCESS;
skip:
echo Json::encode($result);
}
}