Пример #1
0
 /**
  * Bootstrap any application services.
  *
  * @return void
  */
 public function boot()
 {
     $favicon = Settings::getSettings()['favicon'];
     $logo = Settings::getSettings()['logo'];
     $parent_categories = Category::getCategoriesByPublish(1, 0, 1);
     View::share('favicon', $favicon);
     View::share('logo', $logo);
     View::share('parent_categories', $parent_categories);
 }
Пример #2
0
 /**
  * Site settings
  *
  * @param Request $request
  * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\View\View
  */
 public function index(Request $request)
 {
     $settings = Settings::getSettings();
     if ($request->isMethod('post')) {
         $rules = ['url' => 'required', 'email' => 'required|email', 'title' => 'required', 'desc' => 'required', 'keys' => 'required', 'logo' => 'mimes:jpeg,png', 'favicon' => 'mimes:jpeg,png'];
         Validator::make($request->all(), $rules)->validate();
         $settings->url = $request->input('url');
         $settings->email = $request->input('email');
         $settings->title = $request->input('title');
         $settings->desc = $request->input('desc');
         $settings->keys = $request->input('keys');
         if (!empty($request->file("logo"))) {
             if (Storage::exists('uploads/' . $settings->logo)) {
                 Storage::delete('uploads/' . $settings->logo);
             }
             $generated_string = str_random(32);
             $file = $request->file("logo")->store('uploads');
             $new_file = $generated_string . '.' . $request->file("logo")->getClientOriginalExtension();
             Storage::move($file, 'uploads/' . $new_file);
             $img = Image::make($request->file('logo'));
             $img->crop(200, 26);
             $img->save(storage_path('app/public/uploads/' . $new_file));
             $settings->logo = $new_file;
         }
         if (!empty($request->file("favicon"))) {
             if (Storage::exists('uploads/' . $settings->favicon)) {
                 Storage::delete('uploads/' . $settings->favicon);
             }
             $generated_string = str_random(32);
             $file = $request->file("favicon")->store('uploads');
             $new_file = $generated_string . '.' . $request->file("favicon")->getClientOriginalExtension();
             Storage::move($file, 'uploads/' . $new_file);
             $img = Image::make($request->file('favicon'));
             $img->crop(16, 16);
             $img->save(storage_path('app/public/uploads/' . $new_file));
             $settings->favicon = $new_file;
         }
         if ($request->input('maintenance') == '0') {
             Artisan::call('down');
         } else {
             Artisan::call('up');
         }
         $settings->maintenance = $request->input('maintenance');
         $settings->save();
         return redirect()->back();
     } else {
         return view('admin.settings', compact('settings'));
     }
 }
Пример #3
0
 public function actionSettings()
 {
     $request = Yii::$app->request;
     if (isset($_POST['db-button'])) {
         foreach (Settings::find()->where(['like', 'field', 'db_'])->all() as $row) {
             $field = Settings::findOne(['field' => $row['field']]);
             $field->value = $request->post($row['field'], '');
             $field->save();
         }
     }
     if (isset($_POST['db-check'])) {
         $db = new \yii\db\Connection(['dsn' => 'mysql:host=' . $request->post('db_host', '') . ';dbname=' . $request->post('db_name', ''), 'username' => $request->post('db_user', ''), 'password' => $request->post('db_password', ''), 'emulatePrepare' => true, 'charset' => 'utf8']);
         try {
             $db->open();
             Yii::$app->session->setFlash('success', 'Соединение успешно');
         } catch (\Exception $e) {
             Yii::$app->session->setFlash('error', 'Ошибка подключения: ' . $e->getMessage());
         }
     }
     //        if (isset($_POST['ts-button']))             //сохранить типы отправлений
     //        {
     //            $field = Settings::findOne([
     //                        'field' => 'shipping_type',
     //            ]);
     //            $field->value = serialize($request->post('types', ''));
     //            $field->save();
     //        }
     if (isset($_POST['os-button-mail'])) {
         $field = Settings::findOne(['field' => 'order_status_mail']);
         $field->value = serialize($request->post('statuses_mail', ''));
         $field->save();
     }
     if (isset($_POST['os-button-sms'])) {
         $field = Settings::findOne(['field' => 'order_status_sms']);
         $field->value = serialize($request->post('statuses_sms', ''));
         $field->save();
     }
     if (isset($_POST['app-button'])) {
         foreach (Settings::find()->where(['like', 'field', 'app_'])->all() as $row) {
             $field = Settings::findOne(['field' => $row['field']]);
             $field->value = $request->post($row['field'], '');
             $field->save();
         }
     }
     if (isset($_POST['mail-button'])) {
         $field = Settings::findOne(['field' => 'mails']);
         $field->value = serialize(array_filter($request->post('mails', '')));
         $field->save();
         foreach (Settings::find()->where(['like', 'field', 'mail_'])->all() as $row) {
             $field = Settings::findOne(['field' => $row['field']]);
             $field->value = $request->post($row['field'], '');
             $field->save();
         }
     }
     if (isset($_POST['sms-button'])) {
         foreach (Settings::find()->where(['like', 'field', 'sms_'])->all() as $row) {
             $field = Settings::findOne(['field' => $row['field']]);
             $field->value = $request->post($row['field'], '');
             $field->save();
         }
     }
     $settings = Settings::getSettings();
     return $this->render('settings', ['settings' => $settings, 'types' => $types, 'statuses_mail' => $statuses_mail, 'statuses_sms' => $statuses_sms]);
 }
Пример #4
0
 public static function SendSms($text, $order)
 {
     $settings = Settings::getSettings();
     $number = $order->phone;
     $number = preg_replace("#[^0-9]#", "", $number);
     // стерли хрень, оставили цифры
     if ($number[0] != '+') {
         $number[0] = 7;
         $number = '+' . $number;
     }
     $src = '<?xml version="1.0" encoding="UTF-8"?>
 <SMS>
     <operations>
     <operation>SEND</operation>
     </operations>
     <authentification>
     <username>' . $settings['app_smslogin'] . '</username>
     <password>' . $settings['app_smspassword'] . '</password>
     </authentification>
     <message>
     <sender>SMS</sender>
     <text>' . $text . '</text>
     </message>
     <numbers>
     <number>+79277323848</number>
     </numbers>
 </SMS>';
     /* ПчелкинДом */
     $Curl = curl_init();
     $CurlOptions = array(CURLOPT_URL => 'https://my.atompark.com/sms/xml.php', CURLOPT_FOLLOWLOCATION => false, CURLOPT_POST => true, CURLOPT_HEADER => false, CURLOPT_RETURNTRANSFER => true, CURLOPT_CONNECTTIMEOUT => 15, CURLOPT_TIMEOUT => 100, CURLOPT_POSTFIELDS => array('XML' => $src));
     curl_setopt_array($Curl, $CurlOptions);
     if (false === ($Result = curl_exec($Curl))) {
         $result = false;
     } else {
         $result = true;
     }
     curl_close($Curl);
     //$result = true;
     return $result;
 }
Пример #5
0
 public function getDbShopConnect()
 {
     $settings = Settings::getSettings();
     $db = new \yii\db\Connection(['dsn' => 'mysql:host=' . $settings['db_host'] . ';dbname=' . $settings['db_name'], 'username' => $settings['db_user'], 'password' => $settings['db_password'], 'emulatePrepare' => true, 'charset' => 'utf8']);
     try {
         $db->open();
         return $db;
     } catch (\Exception $e) {
         return false;
     }
 }