Server IP : 185.86.78.101 / Your IP : 216.73.216.108 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/controllers/ |
Upload File : |
<?php namespace app\controllers; use Yii; use app\models\ShippingMethod; use app\models\Order; use app\components\RecursivePurifier; class AsyncController extends \yii\web\Controller { private $_lang; /** * @inheritdoc */ public function behaviors() { return [ 'contentType' => [ 'class' => 'yii\filters\ContentNegotiator', 'formats' => [ 'application/json' => \yii\web\Response::FORMAT_JSON ] ], ]; } /** * @inheritdoc */ public function beforeAction($action) { $this->_lang = Yii::$app->request->get('lang'); if (in_array($this->_lang, array_keys(Yii::$app->params['languages']))) Yii::$app->language = $this->_lang; else $this->_lang = Yii::$app->language; return parent::beforeAction($action); } public function actionGetTranslation() { $category = Yii::$app->request->get('category'); $fileMap = Yii::$app->i18n->getMessageSource($category)->fileMap; return require(Yii::getAlias(Yii::$app->i18n->getMessageSource($category)->basePath . '/' . $this->_lang . '/' . $fileMap[$category])); } public function actionGetShipping() { return ShippingMethod::find()->where('lang = :lang', [':lang' => $this->_lang])->orderBy('id')->asArray()->all(); } /** * Stores the order in the database */ public function actionPlaceOrder() { $model = new Order(); $post = RecursivePurifier::process(Yii::$app->request->post()); if ($model->load($post) && $model->save()) { // if ($model->lang == 'uk' && Yii::$app->params['placeOrderSMS']) { // $messageText = Yii::t('cart', 'Your order has been received') . '. ' . Yii::t('cart', 'Wait for message about sending'); // try { // Yii::$app->smsGate->sendSMS($model->phone, $messageText); // } catch (\Exception $exc) { // Yii::warning($exc->getMessage()); // } // } return [ 'result' => 'OK', ]; } else { // validation failed, collect the errors $errors = []; array_map(function ($field_errors) use (&$errors) { array_map(function ($msg) use (&$errors) { $errors[] = $msg; }, $field_errors); }, $model->getErrors()); return [ 'result' => 'Failed', 'errors' => $errors, ]; } } }