|
@@ -0,0 +1,120 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace Modules\Email\Http\Controllers;
|
|
|
+
|
|
|
+use Illuminate\Contracts\Support\Renderable;
|
|
|
+use Illuminate\Http\Request;
|
|
|
+use Illuminate\Routing\Controller;
|
|
|
+use Modules\Admin\Auxiliary\View\FromAuxiliary;
|
|
|
+use Modules\Admin\Auxiliary\View\TableAuxiliary;
|
|
|
+use DB;
|
|
|
+use Modules\Admin\Http\Controllers\BaseController;
|
|
|
+
|
|
|
+class EmailController extends BaseController
|
|
|
+{
|
|
|
+ /**
|
|
|
+ * Display a listing of the resource.
|
|
|
+ * @return Renderable
|
|
|
+ */
|
|
|
+ public function index(Request $request)
|
|
|
+ {
|
|
|
+ $this->menusActive[0] = 'adminEmail';
|
|
|
+
|
|
|
+ $email_list = DB::table('email')->orderBy('created_at')->get();
|
|
|
+ if(count($email_list)>0){
|
|
|
+ for($i=0;$i<count($email_list);$i++){
|
|
|
+ $mine_list = explode(';',$email_list[$i]->mine_id_list);
|
|
|
+ $email_list[$i]->mine_name_list = '';
|
|
|
+ foreach($mine_list as $k=>$v){
|
|
|
+ $mine_title = DB::table('mine_list')->where('id',$v)->get()[0]->title;
|
|
|
+ $email_list[$i]->mine_name_list = $email_list[$i]->mine_name_list.$mine_title.' , ';
|
|
|
+ }
|
|
|
+ $email_list[$i]->mine_name_list = substr($email_list[$i]->mine_name_list,0,strlen($email_list[$i]->mine_name_list)-3);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $tableObj = new TableAuxiliary('email', $email_list);
|
|
|
+ $tableObj->actionBtns = ['edit','del'];
|
|
|
+ $tableObj->column('mine_name_list', '发送范围');
|
|
|
+ $tableObj->column('email', '邮件地址');
|
|
|
+ return $this->tableList($tableObj);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function add(Request $request){
|
|
|
+ if ($request->isMethod('post')) {
|
|
|
+ $params = $request->all();
|
|
|
+ $pattern = "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/";
|
|
|
+ preg_match($pattern, $params['email'], $matches);
|
|
|
+ if(!isset($params['mine_id'])){
|
|
|
+ $data['code'] = 1;
|
|
|
+ $data['log'] = '至少选择一个矿区';
|
|
|
+ }else if($matches == null){
|
|
|
+ $data['code'] = 1;
|
|
|
+ $data['log'] = '请输入正确格式的邮箱地址';
|
|
|
+ }else{
|
|
|
+ $email['email'] = $params['email'];
|
|
|
+ $email['mine_id_list'] = "";
|
|
|
+ foreach($params['mine_id'] as $k=>$v){
|
|
|
+ $email['mine_id_list'] = $email['mine_id_list'] . $v . ';';
|
|
|
+ }
|
|
|
+ $email['mine_id_list'] = substr($email['mine_id_list'], 0, strlen($email['mine_id_list']) - 1);
|
|
|
+ $email['created_at'] = date('Y-m-d H:i:s');
|
|
|
+ $email['updated_at'] = date('Y-m-d H:i:s');
|
|
|
+ DB::table('email')->insert($email);
|
|
|
+ $data['code'] = 0;
|
|
|
+ $data['log'] = '提交成功!';
|
|
|
+ }
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+ $mine_parent = DB::table('mine_list')->where('parent_id',0)->where('deleted_at',null)->get();
|
|
|
+ $data['menusAll'] = $mine_parent;
|
|
|
+ $data['title'] = '添加邮件配置';
|
|
|
+ return $this->view('email::add', $data);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function edit(Request $request){
|
|
|
+ $params = $request->all();
|
|
|
+ if ($request->isMethod('post')) {
|
|
|
+ $pattern = "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/";
|
|
|
+ preg_match($pattern, $params['email'], $matches);
|
|
|
+ if(!isset($params['mine_id'])){
|
|
|
+ $data['code'] = 1;
|
|
|
+ $data['log'] = '至少选择一个矿区';
|
|
|
+ }else if($matches == null){
|
|
|
+ $data['code'] = 1;
|
|
|
+ $data['log'] = '请输入正确格式的邮箱地址';
|
|
|
+ }else{
|
|
|
+ $email['email'] = $params['email'];
|
|
|
+ $email['mine_id_list'] = "";
|
|
|
+ foreach($params['mine_id'] as $k=>$v){
|
|
|
+ $email['mine_id_list'] = $email['mine_id_list'] . $v . ';';
|
|
|
+ }
|
|
|
+ $email['mine_id_list'] = substr($email['mine_id_list'], 0, strlen($email['mine_id_list']) - 1);
|
|
|
+ $email['created_at'] = date('Y-m-d H:i:s');
|
|
|
+ $email['updated_at'] = date('Y-m-d H:i:s');
|
|
|
+ DB::table('email')->where('id',$params['id'])->update($email);
|
|
|
+ $data['code'] = 0;
|
|
|
+ $data['log'] = '提交成功!';
|
|
|
+ }
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+ $mine_parent = DB::table('mine_list')->where('parent_id',0)->where('deleted_at',null)->get();
|
|
|
+ $data['menusAll'] = $mine_parent;
|
|
|
+ $data['title'] = '修改邮件配置';
|
|
|
+ $email = DB::table('email')->where('id',$params['id'])->first();
|
|
|
+ $checkedId = explode(';',$email->mine_id_list);
|
|
|
+ foreach($checkedId as $k=>$v){
|
|
|
+ $checkedId[$k] = (int)$v;
|
|
|
+ }
|
|
|
+ $data['checkedId'] = $checkedId;
|
|
|
+ $data['id'] = $params['id'];
|
|
|
+ $data['email'] = $email->email;
|
|
|
+ return $this->view('email::edit', $data);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function del(Request $request){
|
|
|
+ $params = $request->all();
|
|
|
+ DB::table('email')->where('id',$params['id'])->delete();
|
|
|
+ return $this->success();
|
|
|
+ }
|
|
|
+}
|