public function actionSetmail() { $model = new Setting(); $message = true; $query = Setting::find()->one(); if (Yii::$app->request->post()) { $request = Yii::$app->request; $password = $request->post('Setting')['password']; $username = $request->post('Setting')['username']; $sendhost = $request->post('Setting')['sendhost']; $sendport = $request->post('Setting')['sendport']; $user = $request->post('Setting')['user']; $receivehost = $request->post('Setting')['receivehost']; $receiveport = $request->post('Setting')['receiveport']; $model1 = new Receive(); $obj = new receiveMail($user, $password, $username, $receivehost, 'imap', '993', 'ture'); if ($obj->connect()) { $query = Setting::find()->one(); $query->sendhost = $sendhost; $query->sendport = $sendport; $query->user = $user; $query->password = $password; $query->username = $username; $query->receivehost = $receivehost; $query->receiveport = $receiveport; $query->save(); return $this->render('setting', ['model' => $model, 'settingMessage' => $query, 'message' => $message]); } else { $message = false; return $this->render('setting', ['model' => $model, 'settingMessage' => $query, 'message' => $message]); } } else { return $this->render('setting', ['model' => $model, 'settingMessage' => $query, 'message' => $message]); } }
public function sendEmail($mail) { $setting = Setting::find()->where(['id' => 1])->one(); $username = $setting->sendgridUsername; $password = $setting->sendgridPassword; $mail_admin = $setting->emailAdmin; $sendgrid = new \SendGrid($username, $password, array("turn_off_ssl_verification" => true)); $email = new \SendGrid\Email(); $subject = 'Registrasi Berhasil'; $body = 'Thanks ' . $this->username . ','; $body .= "\n"; $body .= "Registrasi anda berhasil, kami akan segera mereview kembali registrasi anda. \n"; $body .= "Thanks, \n"; $body .= Yii::$app->name; $body_message = $this->template($subject, $body, $logo); $email->addTo($mail)->setFrom($mail_admin)->setSubject('Registrasi berhasil')->setHtml($body_message)->addCategory("registrasi"); $response = $sendgrid->send($email); //return $response; //send whatsapp if ($setting->whatsappNumber && $setting->whatsappPassword) { $number = $setting->whatsappNumber; $app = Yii::$app->name; $password = $setting->whatsappPassword; $w = new WhatsApp($number, $app, $password); $w->send($setting->whatsappSend, $body); } }
public function sendMail() { /* @var $user User */ $user = User::findOne(['status' => User::STATUS_ACTIVE, 'email' => $this->email]); if ($user) { if (!User::isPasswordResetTokenValid($user->password_reset_token)) { $user->generatePasswordResetToken(); } if ($user->save()) { $setting = Setting::find()->where(['id' => 1])->one(); $username = $setting->sendgridUsername; $password = $setting->sendgridPassword; $mail_admin = $setting->emailAdmin; $sendgrid = new \SendGrid($username, $password, array("turn_off_ssl_verification" => true)); $email = new \SendGrid\Email(); $mail = $user->email; //echo $user->email;exit(0); $resetLink = \Yii::$app->urlManager->createAbsoluteUrl(['site/reset-password', 'token' => $user->password_reset_token]); $body_message = 'Hello ' . Html::encode($user->username) . ', <br> Follow the link below to reset your password: <br> ' . Html::a(Html::encode($resetLink), $resetLink); $email->addTo($user->email)->setFrom($mail_admin)->setSubject('Password reset for ' . \Yii::$app->name)->setHtml($body_message); $response = $sendgrid->send($email); //print_r($response); exit(0); return $response; } } return false; }
/** * 显示系统消息列表 * @author FuRongxin * @date 2016-01-12 * @version 2.0 * @return \Illuminate\Http\Response 系统消息列表 */ public function index() { $is_open = config('constants.status.enable') == Setting::find('XK_KG')->value ? '开放' : '关闭'; $message = '现在' . $is_open . session('year') . '年度' . Term::find(session('term'))->mc . '学期选课'; $broadcasts = Broadcast::whereId('xt_web')->get(); $title = '综合管理系统'; return view('home.index', compact('title', 'broadcasts', 'message')); }
public function actionIndex() { $message = true; $model = new mail(); if ($model->load(Yii::$app->request->post())) { $mailaccount = Setting::find()->one(); $sendhost = $mailaccount->sendhost; $username = $mailaccount->username; $user = $mailaccount->user; $password = $mailaccount->password; error_reporting(E_ALL ^ E_WARNING); $request = Yii::$app->request; $body = $request->post(); $to = $model->receiver; $subject = $model->subject; $model->file = UploadedFile::getInstance($model, 'file'); if ($model->file != null) { $filename = $model->file->name; $encode = mb_detect_encoding($filename, array("ASCII", "UTF-8", "GBK", "GB2312")); if ($encode == "EUC-CN") { $encode = "GB2312"; } if ($encode != "GBK") { $filename = iconv($encode, "GBK//IGNORE", $filename); } echo $filename . "before save" . "</br>"; if ($model->file->saveAs('c:/sendattachment/' . $filename)) { $mail = new sendmail(); //新建发送 $mail->setServer($sendhost, $user, $password); $mail->setFrom($username); $mail->setReceiver("{$to}"); $mail->setMailInfo($subject, $body['body'], 'c:/sendattachment/' . $filename); $message = true; if (!$mail->sendMail()) { $message = false; } return $this->render('index', ['model' => $model, 'message' => $message]); } } else { $mail = new sendmail(); //新建发送 $mail->setServer($sendhost, $user, $password); $mail->setFrom($username); $mail->setReceiver("{$to}"); $mail->setMailInfo($subject, $body['body'], ""); if (!$mail->sendMail()) { $message = false; } return $this->render('index', ['model' => $model, 'message' => $message]); } } else { return $this->render('index', ['model' => $model]); } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Setting::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'userCreate' => $this->userCreate, 'userUpdate' => $this->userUpdate, 'createDate' => $this->createDate, 'updateDate' => $this->updateDate]); $query->andFilterWhere(['like', 'emailAdmin', $this->emailAdmin])->andFilterWhere(['like', 'emailSupport', $this->emailSupport])->andFilterWhere(['like', 'emailOrder', $this->emailOrder])->andFilterWhere(['like', 'sendgridUsername', $this->sendgridUsername])->andFilterWhere(['like', 'sendgridPassword', $this->sendgridPassword])->andFilterWhere(['like', 'whatsappNumber', $this->whatsappNumber])->andFilterWhere(['like', 'whatsappPassword', $this->whatsappPassword])->andFilterWhere(['like', 'facebook', $this->facebook])->andFilterWhere(['like', 'instagram', $this->instagram])->andFilterWhere(['like', 'google', $this->google])->andFilterWhere(['like', 'twitter', $this->twitter])->andFilterWhere(['like', 'privacyPolicy', $this->privacyPolicy])->andFilterWhere(['like', 'terms', $this->terms])->andFilterWhere(['like', 'legalNotice', $this->legalNotice]); return $dataProvider; }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function putUpdate(Request $request, $id) { $input = $request->all(); $setting = Setting::find($id); $setting->is_open = $input['is_open']; if ($setting->save()) { return redirect('setting/edit')->with('status', '系统设置成功'); } else { return back()->withErrors('系统设置失败'); } }
public function actionTest() { $setting = \app\models\Setting::find()->where(['id' => 1])->one(); $number = $setting->whatsappNumber; $app = 'Sintret Projects'; $password = $setting->whatsappPassword; $w = new WhatsApp($number, $app, $password); $message = 'this is just test again @sintret oke'; $w = new WhatsApp($number, $app, $password); echo $w->send($phone, $message); }
/** * Handle the event. * * @param Login $event * @return void */ public function handle(Login $event) { if (!Fresh::whereXh(Auth::user()->xh)->exists()) { if (!Profile::whereXh(Auth::user()->xh)->whereXjzt(config('constants.school.student'))->exists()) { Auth::logout(); return back()->withInput()->withStatus('不是在校生,请不要登录系统'); } } session(['year' => Setting::find('XK_ND')->value, 'term' => Setting::find('XK_XQ')->value, 'campus' => Auth::user()->profile->college->pivot->xq, 'season' => Auth::user()->profile->zsjj, 'grade' => Auth::user()->profile->nj, 'major' => Auth::user()->profile->zy]); $log = new Slog(); $log->ip = request()->ip(); $log->czlx = 'login'; $log->save(); }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Setting::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'sms' => $this->sms, 'gcm' => $this->gcm, 'userCreate' => $this->userCreate, 'userUpdate' => $this->userUpdate, 'updateDate' => $this->updateDate, 'createDate' => $this->createDate]); $query->andFilterWhere(['like', 'applicationName', $this->applicationName])->andFilterWhere(['like', 'description', $this->description])->andFilterWhere(['like', 'sms_key', $this->sms_key])->andFilterWhere(['like', 'sms_pass', $this->sms_pass])->andFilterWhere(['like', 'gcm_api_key', $this->gcm_api_key])->andFilterWhere(['like', 'gcm_sender', $this->gcm_sender])->andFilterWhere(['like', 'emailAdmin', $this->emailAdmin])->andFilterWhere(['like', 'emailSupport', $this->emailSupport])->andFilterWhere(['like', 'emailOrder', $this->emailOrder])->andFilterWhere(['like', 'sendgridUsername', $this->sendgridUsername])->andFilterWhere(['like', 'sendgridPassword', $this->sendgridPassword])->andFilterWhere(['like', 'whatsappNumber', $this->whatsappNumber])->andFilterWhere(['like', 'whatsappPassword', $this->whatsappPassword])->andFilterWhere(['like', 'whatsappSend', $this->whatsappSend])->andFilterWhere(['like', 'facebook', $this->facebook])->andFilterWhere(['like', 'instagram', $this->instagram])->andFilterWhere(['like', 'google', $this->google])->andFilterWhere(['like', 'twitter', $this->twitter]); return $dataProvider; }
/** * This command echoes what you have entered as the message. * @param string $message the message to be echoed. */ public function actionIndex() { Yii::info('CronController', 'cronjob'); /** * If cron execute it the default date and time are wrong, * this fix it (date_default_timezone_set) */ $settingModel = Setting::find()->where(['name' => 'date_default_timezone'])->one(); if (isset($settingModel->data) and !empty($settingModel->data)) { date_default_timezone_set($settingModel->data); } $modelCronjob = new Cronjob(); $modelCronjob->cron(); }
public function actionMail() { $this->layout = 'admin'; // In @app/views/layouts $settings = Setting::find()->where(['category' => 'smtp'])->orderBy('id')->all(); if (Model::loadMultiple($settings, Yii::$app->request->post()) && Model::validateMultiple($settings)) { /** @var \app\models\Setting $setting */ foreach ($settings as $setting) { $setting->save(false); } // Show success alert Yii::$app->getSession()->setFlash('success', Yii::t('app', 'The smtp server settings have been successfully updated.')); } return $this->render('mail', ['settings' => $settings]); }
public static function IamReallyAthome() { $ip_addressen = Setting::find()->select('data')->where(['name' => 'i_am_really_at_home_ip_addressen'])->one(); $ip_addressen = HelperData::dataExplode($ip_addressen->data); $iamathome = false; foreach ($ip_addressen as $ip_adres) { $command = 'sudo ping ' . $ip_adres . ' -c 2'; // -c 2 (two time on linux machine exec(escapeshellcmd($command), $output, $return_var); if (0 == $return_var) { $iamathome = true; } } return HelperData::dataExplode($iamathome); }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Setting::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'name' => $this->name, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]); //$query->andFilterWhere(['like', 'name', $this->name]) $query->andFilterWhere(['like', 'description', $this->description])->andFilterWhere(['like', 'data', $this->data]); return $dataProvider; }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id = 1) { $setting = Setting::find($id); $cekinput = Input::file('setheader'); // Header Website if (!empty($cekinput)) { $oldfile = Setting::where('id_setting', $id)->first(); File::delete('upload/logo/' . $oldfile->bg_header); $thefile = Input::file('setheader'); $lokasi_simpan = 'upload/logo'; $filename = str_random(30) . '.' . $thefile->getClientOriginalExtension(); $upload_gambar = Input::file('setheader')->move($lokasi_simpan, $filename); $setting->bg_header = $filename; } if ($setting->save()) { return redirect()->back()->with('alert', 'Data berhasil di simpan'); } }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id = 1) { // $setting = Setting::find($id); $cekinputlogo = Input::file('file'); $cekinputicon = Input::file('favicon'); // Logo Website if (!empty($cekinputlogo)) { $oldfile = Setting::where('id_setting', $id)->first(); File::delete('upload/logo/' . $oldfile->logo); $thefile = Input::file('file'); $lokasi_simpan = 'upload/logo'; $filename = str_random(30) . '.' . $thefile->getClientOriginalExtension(); $upload_gambar = Input::file('file')->move($lokasi_simpan, $filename); $setting->logo = $filename; } // Favicon Website if (!empty($cekinputicon)) { $oldfile = Setting::where('id_setting', $id)->first(); File::delete('upload/logo/' . $oldfile->favicon); $thefile = Input::file('favicon'); $lokasi_simpan = 'upload/logo'; $filename = str_random(30) . '.' . $thefile->getClientOriginalExtension(); $upload_gambar = Input::file('favicon')->move($lokasi_simpan, $filename); $setting->favicon = $filename; } $setting->title_web = Input::get('title_web'); $setting->desc_web = Input::get('desc_web'); $setting->key_web = Input::get('key_web'); $setting->peta_latitude = Input::get('peta_latitude'); $setting->peta_longitude = Input::get('peta_longitude'); $setting->facebook = Input::get('facebook'); $setting->twitter = Input::get('twitter'); $setting->gplus = Input::get('gplus'); $setting->alamat = Input::get('alamat'); $setting->no_telp = Input::get('no_telp'); $setting->no_fax = Input::get('no_fax'); $setting->email = Input::get('email'); if ($setting->save()) { return redirect()->back()->with('alert', 'Data berhasil di simpan'); } }
/** * Update a specified setting in the dashboard. * * @return Response */ public function update(Request $request) { $setting = Setting::find($request->get('id')); if (isset($setting)) { $type = $request->get('type'); $value = $request->get('value'); if (isset($type) && $type == 'boolean') { $setting->value = isset($value) ? true : false; } else { if (isset($type) && $type == 'integer') { $setting->value = intval($value); } else { $setting->value = $value; } } $setting->save(); return Redirect::route('admin::settings')->with('success', 'The setting has been successfully updated'); } return Redirect::route('admin::settings')->with('error', "The setting you tried to edit wasn't registered in the database"); }
public function actionIndex() { $settings = Setting::find()->indexBy('id')->all(); if (Model::loadMultiple($settings, Yii::$app->getRequest()->post()) && Model::validateMultiple($settings)) { foreach ($settings as $key => $setting) { if ($setting->key == 'timezone' && !self::checkTimeZone($setting->value)) { $setting->value = date_default_timezone_get(); continue; } else { if ($setting->value_type == 'integer') { $setting->value = intval($setting->value); } } $setting->save(false); } $this->createConfigFile(ArrayHelper::map($settings, 'key', 'value')); } $newSettings = ArrayHelper::map($settings, 'id', function ($item) { return $item; }, 'block'); return $this->render('update', ['settings' => $newSettings]); }
public function saveSettings() { $settings = []; foreach (Setting::findAll($this->attributes()) as $setting) { $settings[$setting->name] = $setting; } foreach ($this->attributes() as $attribute) { if (!empty($settings[$attribute])) { if ($settings[$attribute]->value != $this->{$attribute}) { $settings[$attribute]->value = $this->{$attribute}; $settings[$attribute]->save(); } } else { $setting = new Setting(); $setting->name = $attribute; $setting->value = $this->{$attribute}; $setting->save(); } } // GC foreach (Setting::find()->where(['not in', 'name', $this->attributes()])->all() as $setting) { $setting->delete(); } }
/** * Bootstrap any application services. * * @return void */ public function boot() { view()->composer('app', function ($view) { // 是否新生 if ($is_fresh = Fresh::whereXh(Auth::user()->xh)->exists()) { $user = Fresh::find(Auth::user()->xh); } // 是否在校生 if ($is_student = Profile::whereXh(Auth::user()->xh)->whereXjzt(config('constants.school.student'))->exists()) { $user = Profile::find(Auth::user()->xh); } // 是否新入校未足一年的学生 $is_newer = Profile::isFresh(Auth::user())->exists(); // 是否允许选课 $allowed_select = Setting::find('XK_KG')->value; // 是否允许选通识素质课 $allowed_general = Setting::find('XK_TS')->value; // 是否允许选其他课程 $allowed_others = Setting::find('XK_QT')->value; // 是否允许公体选课 $allowed_pubsport = Setting::find('XK_GT')->value; $view->withIsFresh($is_fresh)->withIsStudent($is_student)->withUser($user)->withIsNewer($is_newer)->withAllowedSelect($allowed_select)->withAllowedGeneral($allowed_general)->withAllowedOthers($allowed_others)->withAllowedPubsport($allowed_pubsport); }); }
public function actionSample() { //$objPHPExcel = new \PHPExcel(); $template = Util::templateExcel(); $model = new Setting(); $date = date('YmdHis'); $name = $date . 'Setting'; //$attributes = $model->attributeLabels(); $models = Setting::find()->all(); $excelChar = Util::excelChar(); $not = Util::excelNot(); foreach ($model->attributeLabels() as $k => $v) { if (!in_array($k, $not)) { $attributes[$k] = $v; } } $objReader = \PHPExcel_IOFactory::createReader('Excel5'); $objPHPExcel = $objReader->load(Yii::getAlias($template)); return $this->render('sample', ['models' => $models, 'attributes' => $attributes, 'excelChar' => $excelChar, 'not' => $not, 'name' => $name, 'objPHPExcel' => $objPHPExcel]); }
public function actionDetail($id = null, $check_status = null, $dealername = null, $foreignid = null, $email_id) { $model = new VerifyMessage(); $session = Yii::$app->session; //得到这份邮件 if (isset($_POST['message'])) { $message = $_POST['message']; $check_status = $_POST['check_status']; // $foreignid=$_POST['foreignid']; $check = new Check(); $check = Check::find()->where(['id' => $foreignid])->one(); $check->check_status = $check_status; $check->check_advise = $message; $check->save(); $session['count'] = $session['count'] - 1; $email = SentEmail::find()->where(['id' => $id])->asArray()->one(); if ($check_status == 1 && $email_id != NULL && $email_id != 0) { $email_d = SentEmail::find()->where(['id' => $email_id])->asArray()->one(); $model = new Mail(); $mailaccount = Setting::find()->one(); $sendhost = $mailaccount->sendhost; $username = $mailaccount->username; $user = $mailaccount->user; $password = $mailaccount->password; error_reporting(E_ALL ^ E_WARNING); //$email=SentEmail::find()->where(['id'=>$id])->asArray()->one(); $body = $email_d['text']; $to = $email_d['receiver']; $subject = $email_d['subject']; $mail = new sendmail(); //新建发送 if ($email['attachment'] != null) { $filename = basename($email['attachment']); $encode = mb_detect_encoding($filename, array("ASCII", "UTF-8", "GBK", "GB2312")); if ($encode == "EUC-CN") { $encode = "GB2312"; } if ($encode != "GBK") { $filename = iconv($encode, "GBK//IGNORE", $filename); } //echo $filename."before save"."</br>"; $mail->setServer($sendhost, $user, $password); $mail->setFrom($username); $mail->setReceiver("{$to}"); $mail->setMailInfo($subject, $body['body'], '../attachment/sendattachment/' . $filename); //判断部分 } else { $mail->setServer($sendhost, $user, $password); $mail->setFrom($username); $mail->setReceiver("{$to}"); $mail->setMailInfo($subject, $body, ""); } $mail->sendMail(); } return $this->redirect('?r=site/login'); } else { $email = SentEmail::find()->where(['id' => $id])->asArray()->one(); $email['check_status'] = $check_status; //var_dump($email); //审核通过,邮件发送出去 $email['dealername'] = $dealername; $email['foreignid'] = $foreignid; if ($check_status == 1 && $email_id != NULL && $email_id != 0) { $model = new Mail(); $email_d = SentEmail::find()->where(['id' => $email_id])->asArray()->one(); $mailaccount = Setting::find()->one(); $sendhost = $mailaccount->sendhost; $username = $mailaccount->username; $user = $mailaccount->user; $password = $mailaccount->password; error_reporting(E_ALL ^ E_WARNING); //$email=SentEmail::find()->where(['id'=>$id])->asArray()->one(); $body = $email_d['text']; $to = $email_d['receiver']; $subject = $email_d['subject']; $mail = new sendmail(); //新建发送 if ($email['attachment'] != null) { $filename = basename($email['attachment']); $encode = mb_detect_encoding($filename, array("ASCII", "UTF-8", "GBK", "GB2312")); if ($encode == "EUC-CN") { $encode = "GB2312"; } if ($encode != "GBK") { $filename = iconv($encode, "GBK//IGNORE", $filename); } //echo $filename."before save"."</br>"; $mail->setServer($sendhost, $user, $password); $mail->setFrom($username); $mail->setReceiver("{$to}"); $mail->setMailInfo($subject, $body, '../attachment/sendattachment/' . $filename); //判断部分 } else { $mail->setServer($sendhost, $user, $password); $mail->setFrom($username); $mail->setReceiver("{$to}"); $mail->setMailInfo($subject, $body, ""); } $mail->sendMail(); } return $this->render('detail', ['model' => $model, 'email' => $email]); } }
/** * 是否允许新生填报信息 * @author FuRongxin * @date 2016-02-15 * @version 2.0 * @return boolean true为允许,false为禁止 */ private function allowUpdate() { return Fresh::whereXh(Auth::user()->xh)->exists() && config('constants.status.enable') == Setting::find('XS_XSXX_KG')->value; }
/** * 显示可选课程列表 * @author FuRongxin * @date 2016-02-23 * @version 2.0 * @param string $type 课程类型 * @return \Illuminate\Http\Response 可选课程列表 */ public function show($type) { if ('pubsport' == $type) { if (config('constants.status.disable') == Setting::find('XK_GT')->value) { abort(403, '现在未开放公体选课,不允许公体选课'); } } elseif (config('constants.status.disable') == Setting::find('XK_KG')->value) { abort(403, '现在未开放选课,不允许选课'); } if (Unpaid::whereXh(Auth::user()->xh)->exists()) { abort(403, '请交清费用再进行选课'); } if ('pubsport' != $type) { if (config('constants.status.enable') == Setting::find('XK_SJXZ')->value) { $profile = Profile::whereXh(Auth::user()->xh)->select('nj', 'xz')->firstOrFail(); // 未在时间限制表中配置,默认不允许选课 $now = Carbon::now(); $exists = Lmttime::whereNj($profile->nj)->whereXz($profile->xz)->where('kssj', '<', $now)->where('jssj', '>', $now)->exists(); if (!$exists) { abort(403, '现在未到选课时间,不允许选课'); } } } if (in_array($type, array_keys(config('constants.course.general')))) { if (config('constants.stauts.disable') == Setting::find('XK_TS')->value) { abort(403, '现在未开放通识素质课选课,不允许选课'); } if (config('constants.status.enable') == Setting::find('XK_TSXZ')->value) { $profile = Profile::whereXh(Auth::user()->xh)->select('nj', 'xz')->firstOrFail(); // 未在时间限制表中配置,默认不允许选通识素质课 $now = Carbon::now(); $exists = Lmtgeneral::whereNj($profile->nj)->whereXz($profile->xz)->where('kssj', '<', $now)->where('jssj', '>', $now)->exists(); if (!$exists) { abort(403, '现在未到通识素质课选课时间,不允许选课'); } } $type_name = config('constants.course.general.' . $type . '.name'); } $type_name = isset($type_name) ? $type_name : config('constants.course.' . $type . '.name'); $campuses = Campus::all()->each(function ($course) { if (empty($course->dm)) { $course->dm = 'unknown'; $course->mc = '未知'; } }); return view('selcourse.show')->withTitle($type_name . '选课表')->withType($type)->withCampuses($campuses); }
/** * 是否允许上传照片 * @author FuRongxin * @date 2016-02-14 * @version 2.0 * @return boolean true为允许,false为禁止 */ private function allowUploadFile() { return config('constants.status.enable') == Setting::find('KS_PHOTO_UP')->value; }
/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id, SettingsRequest $request) { $setting = Setting::find($id); if (is_array($request->setting_value)) { $new_setting_value = implode(',', $request->setting_value); $setting->fill($request->except('setting_value')); $setting->setting_value = $new_setting_value; $setting->save(); } else { $setting->fill($request->all())->save(); } return Redirect::route('settings.index')->with('okmessage', 'Settings updated'); }
public static function transmitter($from_device_id, $to_device_id, $action_id, $retry = 3, $delay = 3) { $modelSetting = Setting::find()->select('data')->where(['name' => 'path_script_task'])->one(); for ($try = 1; $try <= $retry; $try++) { // sudo visudo // add www-data ALL=(ALL) NOPASSWD: ALL // to grant execute right python $command = 'sudo ' . $modelSetting->data . ' --fr ' . $from_device_id . ' --to ' . $to_device_id . ' --ac ' . $action_id; Yii::info('$command: ' . $command, 'task-transmitter'); exec(escapeshellcmd($command), $output, $return_var); foreach ($output as $line) { Yii::info('$line: ' . $line, 'task-transmitter'); } Yii::info('$return_var: ' . $return_var, 'task-transmitter'); if (0 != $return_var) { if ($try < $retry) { Yii::info('!return_var, retry and delay', 'task-transmitter'); sleep($delay); continue; } else { Yii::error('!return_var, failed exec', 'task-transmitter'); return 'err:failed exec'; } } $return = Task::sscanfOutput($output); if (!$return) { Yii::info('sscanfOutput, !return', 'task-transmitter'); if ($try < $retry) { Yii::info('!return, retry and delay', 'task-transmitter'); sleep($delay); continue; } else { Yii::error('!return, no output', 'task-transmitter'); return 'err:no output'; } } Yii::info('sscanfOutput, return', 'task-transmitter'); // from and to are exchanged $from = 0; $to = 0; $action = 0; $message = ''; list($from, $to, $action, $message) = $return; if ($from == $from_device_id and $to == $to_device_id and $action == $action_id) { Yii::info('$message: ' . $message, 'task-transmitter'); return $message; } else { Yii::info('transmitter function to receiver function', 'task-transmitter'); // there is output but not for this task-transmitter Task::receiver($output); $try--; } if ($try >= $retry) { Yii::error('!retry, failed trying', 'task-transmitter'); return 'err:failed trying'; } else { Yii::info('retry', 'task-transmitter'); sleep($delay); } } Yii::error('end, failed return', 'task-transmitter'); return 'err:failed return'; }
public function updateSubject($id, Subject $subject, Setting $setting, Request $request) { $title = $request->input('title'); $sub = $subject->find($id); $sub->title = $title; $sub->save(); session(array('subject_id' => $id)); $old_setting = $setting->find($id); $uploads_path = realpath(__DIR__ . '/../../../uploads'); if ($request->session()->has('uploads')) { if ($old_setting->lec_xlsx) { unlink($uploads_path . '/' . $old_setting->lec_xlsx); } if ($old_setting->lab_xlsx) { unlink($uploads_path . '/' . $old_setting->lab_xlsx); } } $sheet_number = $request->input('sheet_number'); $name_cell = $request->input('name_cell'); $grade_cell = $request->input('grade_cell'); $cell_range = $request->input('cell_range'); $header_row = $request->input('header_row'); $start_row = $request->input('start_row'); $end_row = $request->input('end_row'); $new_setting = array('sheet_number' => $sheet_number, 'name_cell' => $name_cell, 'grade_cell' => $grade_cell, 'cell_range' => $cell_range, 'header_row' => $header_row, 'start_row' => $start_row, 'end_row' => $end_row); if ($request->session()->has('uploads')) { $new_setting['lec_xlsx'] = session('uploads')[0]; $new_setting['lab_xlsx'] = session('uploads')[1]; } $setting = DB::table('settings')->where('subject_id', '=', $id)->update($new_setting); return redirect("activities/{$id}/add"); }
public function actionRewrite($email_id, $subject, $receiver, $text, $check_user) { $model = new Mail(); $message = true; $session = Yii::$app->session; //$check_users=Users::find()->where(['permission'=>2])->asArray()->all(); // print_r($check_users); if ($model->load(Yii::$app->request->post())) { //粘贴部分 $mailaccount = Setting::find()->one(); $sendhost = $mailaccount->sendhost; $username = $mailaccount->username; $user = $mailaccount->user; $password = $mailaccount->password; error_reporting(E_ALL ^ E_WARNING); $request = Yii::$app->request; $body = $request->post(); $to = $model->receiver; $subject = $model->subject; $model->file = UploadedFile::getInstance($model, 'file'); //error_reporting(E_ALL^E_WARNING); // $request = Yii::$app->request; //$body = $request->post(); //$to=$model->receiver; // $text=$model->text; // $subject=$model->subject; // $body = $model->body; //print_r($model); //粘贴部分 if ($model->file != null) { $filename = $model->file->name; $encode = mb_detect_encoding($filename, array("ASCII", "UTF-8", "GBK", "GB2312")); if ($encode == "EUC-CN") { $encode = "GB2312"; } if ($encode != "GBK") { $filename = iconv($encode, "GBK//IGNORE", $filename); } //echo $filename."before save"."</br>"; if ($model->file->saveAs('../attachment/sendattachment/' . $filename)) { $mail = new sendmail(); //新建发送 $mail->setServer($sendhost, $user, $password); $mail->setFrom($username); $mail->setReceiver("{$to}"); $mail->setMailInfo($subject, $body['body'], '../attachment/sendattachment/' . $filename); $message = true; //插入check表 //$check_user=$_POST['check_user']; if ($check_user != NULL) { //更新sent邮件列表 $sent_email = SentEmail::findOne($email_id); $sent_email->subject = $subject; $sent_email->receiver = $to; $sent_email->text = $body['body']; $sent_email->attachment = '../attachment/sendattachment/' . $filename . ';'; //$sent_email->sender=$username; //$sent_email->user_id=$session['user_id']; $sent_email->save(); $ck = Check::find()->where(['email_id' => $email_id])->one(); //$check->user_id=$session['user_id']; $ck->check_status = 0; $ck->save(); return $this->redirect('?r=site/checkself&user_id=' . $session['user_id'] . '&check_status=0'); } else { if (!$mail->sendMail()) { $message = false; return $this->render('rewrite', ['model' => $model, 'subject' => $subject, 'receiver' => $receiver, 'text' => $text, 'check_users' => $check_users]); } //$time=date("Y-m-d H:i:s",time()); $session = Yii::$app->session; $sent_email = new SentEmail(); $sent_email->subject = $subject; $sent_email->receiver = $to; $sent_email->text = $body['body']; $sent_email->attachment = '../attachment/sendattachment/' . $filename . ';'; $sent_email->sender = $username; $sent_email->user_id = $session['user_id']; $sent_email->save(); return $this->redirect('?r=site/sent&user_id=' . $session['user_id']); } } } else { $mail = new sendmail(); //新建发送 $mail->setServer($sendhost, $user, $password); $mail->setFrom($username); $mail->setReceiver("{$to}"); $mail->setMailInfo($subject, $body['body'], ""); //插入已发送列表 //插入check表 //$check_user=$_POST['check_user']; if ($check_user != NULL) { //$time=date("Y-m-d H:i:s",time()); $sent_email = SentEmail::findOne($email_id); $sent_email->subject = $subject; $sent_email->receiver = $to; $sent_email->text = $body['body']; //$sent_email->attachment='../attachment/sendattachment/'.$filename.';'; //$sent_email->sender=$username; //$sent_email->user_id=$session['user_id']; $sent_email->save(); $ck = Check::find()->where(['email_id' => $email_id])->one(); //$check->user_id=$session['user_id']; $ck->check_status = 0; $ck->save(); //print_r($check['user_id']); return $this->redirect('?r=site/checkself&user_id=' . $session['user_id'] . '&check_status=0'); } else { if (!$mail->sendMail()) { $message = false; return $this->render('rewrite', ['model' => $model, 'subject' => $subject, 'receiver' => $receiver, 'text' => $text, 'check_user' => $check_user]); } //$time=date("Y-m-d H:i:s",time()); $session = Yii::$app->session; $sent_email = new SentEmail(); $sent_email->subject = $subject; $sent_email->receiver = $to; $sent_email->text = $body['body']; //$sent_email->attachment='../attachment/sendattachment/'.$filename.';'; $sent_email->sender = $username; $sent_email->user_id = $session['user_id']; $sent_email->save(); return $this->redirect('?r=site/sent&user_id=' . $session['user_id']); } } } else { return $this->render('rewrite', ['model' => $model, 'subject' => $subject, 'receiver' => $receiver, 'text' => $text, 'check_user' => $check_user]); } }
/** * 学生考试报名 * @author FuRongxin * @date 2016-02-22 * @version 2.0 * @param \Illuminate\Http\Request $request 报名请求 * @param string $kslx 考试类型代码 * @return \Illuminate\Http\Response 报名列表 */ public function update(Request $request, $kslx) { $exam = Extype::find($kslx); $registered = Exregister::whereNd($exam->nd)->whereXh(Auth::user()->xh)->whereKslx($kslx)->exists(); // 检测是否已经报过名 if (!$registered) { // 检测是否CET4 if (in_array($exam->kslx, Helper::getCet4())) { // 检测是否允许新生报考CET4 if (config('constants.status.enable') == Setting::find('KS_CET4_XS')) { // 不允许新生报考CET4 if (Profile::isFresh(Auth::user())->exists()) { abort(403, '不允许新生报考CET4'); } } } // 检测是否CET6 if (config('constants.exam.type.cet6') == $exam->kslx) { // 检测是否允许新生报考CET6 if (config('constants.status.enable') == Setting::find('KS_CET6_XS')) { // 不允许新生报考CET6 if (Profile::isFresh(Auth::user())->exists()) { abort(403, '不允许新生报考CET6'); } } // 检测CET6是否具有过往成绩或者CET4是否及格 if (!Exscore::whereC_xh(Auth::user()->xh)->whereC_kslx(config('constants.exam.type.cet6'))->exists() && !Exscore::isPassed(Auth::user(), Helper::getCet4())->exists()) { abort(403, '四级成绩不达标,不能参加CET6考试'); } } // 检测是否已经报过CET考试 if (config('constants.exam.type.cet') == $exam->ksdl) { $registered = Exregister::with('type')->whereNd($exam->nd)->whereXh(Auth::user()->xh); foreach ($registered as $cet) { if (config('constants.exam.type.cet') == $cet->type->ksdl) { abort(403, '已经报名本次' . $cet . '考试,' . $cet . '和' . $exam->ksmc . '不能同时报名'); } } } } $register = new Exregister(); $register->xh = Auth::user()->xh; $register->xq = Auth::user()->profile->college->pivot->xq; $register->kslx = $kslx; $register->bklb = '00'; $register->kssj = $exam->sj; $register->clbz = config('constants.exam.status.register'); $register->bmsj = date('Y-m-d H:i:s'); $register->nd = $exam->nd; $register->save(); return redirect('exam')->withStatus('考试报名成功,请交费!'); }