| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- <?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();
- }
- }
|