*/ class AdvController extends ThinkController { /** *媒体页面广告位 */ public function media_adv_pos_lists(){ $model = M('Model')->getByName("AdvPos"); $id = $model['id']; if(isset($_REQUEST['title'])){ $map['title']=array('like','%'.$_REQUEST['title'].'%'); unset($_REQUEST['title']); } $map['status']=1; $extend = array( 'id'=>$id, 'title'=>'媒体广告位管理', 'map'=>$map, 'tem_lists' => "media_adv_pos_lists", ); $BaseAdv = A("AdvPos","Event"); $this->meta_title = '媒体广告管理'; $this->m_title = '站点设置(PC官网)'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/media','status'=>1])->find()); $BaseAdv->BaseAdv("media",$extend); } public function media_adv_lists(){ $pos_id = M('adv_pos','tab_')->field('id')->where(['module'=>'media'])->select(); $pos_id = array_column($pos_id,'id'); $map['pos_id'] = ['in',$pos_id]; $this->m_title = '站点设置(PC官网)'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/media','status'=>1])->find()); $this->adv_lists($map); } /** *APP广告位 */ public function app_adv_pos_lists(){ $model = M('Model')->getByName("AdvPos"); $id = $model['id']; if(isset($_REQUEST['title'])){ $map['title']=array('like','%'.$_REQUEST['title'].'%'); unset($_REQUEST['title']); } $map['status'] = 1; $extend = array( 'id'=>$id, 'title'=>'APP广告位管理', 'map'=>$map, 'tem_lists' => "app_adv_pos_lists", ); $BaseAdv = A("AdvPos","Event"); $this->meta_title = 'APP广告管理'; $this->m_title = '站点设置(游戏盒子APP)'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/app','status'=>1])->find()); //$BaseAdv->BaseAdv("app",$extend); $BaseAdv->BaseAdv(['app','sdk'],$extend); } public function app_adv_lists(){ $pos_id = M('adv_pos','tab_')->field('id')->where(['module'=>['in',['app','sdk']]])->select(); $pos_id = array_column($pos_id,'id'); $map['pos_id'] = ['in',$pos_id]; $this->m_title = '站点设置(游戏盒子APP)'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/app','status'=>1])->find()); $this->adv_lists($map); } /** *渠道广告位 */ public function promote_adv_pos_lists(){ $model = M('Model')->getByName("AdvPos"); $id = $model['id']; if(isset($_REQUEST['title'])){ $map['title']=array('like','%'.$_REQUEST['title'].'%'); unset($_REQUEST['title']); } $map['status'] = 1; $extend = array( 'id'=>$id, 'title'=>'渠道广告位管理', 'map'=>$map, 'tem_lists' => "promote_adv_pos_lists", ); $BaseAdv = A("AdvPos","Event"); $this->meta_title = '渠道广告管理'; $BaseAdv->BaseAdv("promote",$extend); } /* * 渠道上传广告位 */ public function promote_upload_adv_pos() { $model = M('Model')->getByName("AdvPos"); $id = $model['id']; if(isset($_REQUEST['title'])){ $map['title']=array('like','%'.$_REQUEST['title'].'%'); unset($_REQUEST['title']); } $map['status'] = 1; $extend = array( 'id'=>$id, 'title'=>'渠道上传广告管理', 'map'=>$map, 'tem_lists' => "promote_upload_adv_pos", ); $BaseAdv = A("AdvPos","Event"); $this->meta_title = '渠道上传广告管理'; $this->m_title = '站点设置(推广员后台)'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/channel','status'=>1])->find()); $BaseAdv->BaseAdv('site',$extend); } public function promote_adv_lists(){ $pos_id = M('adv_pos','tab_')->field('id')->where(['module'=>'promote'])->select(); $pos_id = array_column($pos_id,'id'); $map['pos_id'] = ['in',$pos_id]; $this->adv_lists($map); } public function wap_adv_pos_lists(){ $model = M('Model')->getByName("AdvPos"); $id = $model['id']; if(isset($_REQUEST['title'])){ $map['title']=array('like','%'.$_REQUEST['title'].'%'); unset($_REQUEST['title']); } $extend = array( 'id'=>$id, 'title'=>'WAP广告位管理', 'map'=>$map, 'tem_lists' => "wap_adv_pos_lists", ); $BaseAdv = A("AdvPos","Event"); $this->meta_title = 'WAP广告管理'; $this->m_title = '站点设置(WAP站)'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/wap','status'=>1])->find()); $BaseAdv->BaseAdv("wap",$extend); } public function wap_adv_lists(){ $pos_id = M('adv_pos','tab_')->field('id')->where(['module'=>'wap'])->select(); $pos_id = array_column($pos_id,'id'); $map['pos_id'] = ['in',$pos_id]; $this->m_title = '站点设置(WAP站)'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/wap','status'=>1])->find()); $this->adv_lists($map); } /** *编辑广告位 */ protected function baes_edit($model="",$id=0,$page_url=""){ //获取模型信息 $model = D('Model')->find($model); $model || $this->error('模型不存在!'); if(IS_POST){ $Model = D(parse_name(get_table_name($model['id']),1)); // 获取模型的字段信息 // $Model = $this->checkAttr($Model,$model['id']); // $_REQUEST['start_time']=strtotime($_REQUEST['start_time']); // $_REQUEST['end_time']=strtotime($_REQUEST['end_time']); unset($_REQUEST['model']); unset($_REQUEST['PHPSESSID']); unset($_REQUEST['phone']); unset($_REQUEST['onethink_admin___forward__']); unset($_REQUEST['id']); if($Model->where(['id'=>$id])->save($_REQUEST)){ $this->success('保存'.$model['title'].'成功!', U($page_url)); } else { $this->success('保存'.$model['title'].'成功!', U($page_url)); } } else { $id=$_REQUEST['id']; $fields = get_model_attribute($model['id']); //获取数据 $data = D(get_table_name($model['id']))->find($id); $data || $this->error('数据不存在!'); if ($data['pos_id']) { $advpos = M("AdvPos","tab_")->field(true) ->where("status=1 and id=".$data['pos_id'])->find(); $this->assign('advpos',$advpos); } $this->assign('page_url',$page_url); $this->assign('model', $model); $this->assign('fields', $fields); $this->assign('data', $data); $this->meta_title = '编辑'.$model['title']; $this->display(); } } // 添加广告位 protected function baes_add($model="",$page_url=""){ //获取模型信息 $model = D('Model')->find($model); $model || $this->error('模型不存在!'); if(IS_POST){ $Model = D(parse_name(get_table_name($model['id']),1)); // 获取模型的字段信息 $Model = $this->checkAttr($Model,$model['id']); if($Model->create() && $Model->add()){ $this->success('保存'.$model['title'].'成功!', U($page_url)); } else { $this->error($Model->getError()); } } else { $this->assign('model', $model); $this->meta_title = '新增'.$model['title']; $this->display($model['template_edit']?$model['template_edit']:''); } } /** *删除广告 */ public function base_del($model = null, $ids=null){ $model = M('Model')->find($model); $model || $this->error('模型不存在'); $ids = array_unique((array)I('request.ids',null)); if ( empty($ids) ) { $this->error('请选择要操作的数据!'); } $Model = D(get_table_name($model['id'])); $map = array('id' => array('in', $ids) ); if($Model->where($map)->delete()){ $this->success('删除成功'); } else { $this->error('删除失败!'); } } /** *添加广告 */ protected function base_add_adv($model = null,$page_url=""){ $model = ""; //获取模型信息 if(IS_POST){ $posdata=M('adv_pos','tab_') ->field('id,type') ->where(array('id'=>$_REQUEST['pos_id'])) ->find(); $Model = D('Adv'); $slidata=$Model->where(array('pos_id'=>$_REQUEST['pos_id']))->find(); if($posdata['type']==1&&$slidata){ $this->error('单图类型只允许加一次'); } if(!empty($_POST['start_time']) && !empty($_POST['end_time'])) { if(strtotime($_POST['start_time'])>=strtotime($_POST['end_time'])) { $this->error('开始时间必须小于结束时间'); } } // 获取模型的字段信息 $Model = $this->checkAttr($Model,$model['id']); if($Model->create() && $Model->add()){ $this->success('添加'.$model['title'].'成功!', U("$page_url",array('model'=>$model['name']))); } else { $this->error($Model->getError()); } } else { $advpos = M("AdvPos","tab_")->field(true) ->where("status=1 and id=".$_REQUEST['pos_id'])->find(); $this->assign('advpos',$advpos); $fields = get_model_attribute($model['id']); $this->assign('model', $model); $this->assign('fields', $fields); $this->meta_title = '新增广告'; $this->display(); } } /** *编辑媒体广告位 */ public function edit_media_adv_pos($model='',$id=0){ $this->m_title = '站点设置(PC官网)'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/media','status'=>1])->find()); $this->baes_edit($model,$id,"media_adv_pos_lists"); } // 添加媒体广告位 public function add_media_adv_pos($model=''){ $model = M('Model')->getByName("AdvPos"); $this->baes_add($model,"media_adv_pos_lists"); } /** *编辑媒体广告位 */ public function edit_promote_adv_pos($model='',$id=0){ $this->baes_edit($model,$id,"promote_adv_pos_lists"); } public function edit_promote_upload_adv_pos($model='',$id=0) { $this->m_title = '站点设置(推广员后台)'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/channel','status'=>1])->find()); $this->baes_edit($model,$id,"promote_upload_adv_pos"); } // 添加媒体广告位 public function add_promote_adv_pos($model=''){ $this->baes_add($model,"promote_adv_pos_lists"); } /** *编辑APP广告位 */ public function edit_app_adv_pos($model='',$id=0){ $this->m_title = '站点设置(游戏盒子APP)'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/app','status'=>1])->find()); $this->baes_edit($model,$id,"app_adv_pos_lists"); } // 添加APP广告位 public function add_app_adv_pos($model=''){ $this->baes_add($model,"app_adv_pos_lists"); } // 编辑WAP广告位 public function edit_wap_adv_pos($model='',$id=0){ $this->m_title = '站点设置(WAP站)'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/wap','status'=>1])->find()); $this->baes_edit($model,$id,"wap_adv_pos_lists"); } // 添加WAP广告位 public function add_wap_adv_pos($model=''){ $this->baes_add($model,"wap_adv_pos_lists"); } /** *广告列表 */ public function adv_lists($map=""){ parent::lists("adv",$_GET["p"],$map); } /** *删除媒体广告 */ public function del_adv($model="",$ids=0){ $model = M('Model')->getByName("adv"); $this->base_del($model['id'],$ids); } /** *编辑广告 */ public function media_edit_adv($model="",$id=0){ $this->m_title = '站点设置(PC官网)'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/media','status'=>1])->find()); $this->base_edit_adv($model,$id,"media_adv_lists"); } /** *编辑广告 */ public function app_edit_adv($model="",$id=0){ $this->base_edit_adv($model,$id,"app_adv_lists"); } /** *编辑广告 */ public function wap_edit_adv($model="",$id=0){ $this->m_title = '站点设置(WAP站)'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/wap','status'=>1])->find()); $this->base_edit_adv($model,$id,"wap_adv_lists"); } /** *编辑广告 */ public function promote_edit_adv($model="",$id=0){ $this->base_edit_adv($model,$id,"promote_adv_lists"); } /** *添加媒体广告 */ public function add_media_adv($model=""){ $this->m_title = '站点设置(PC官网)'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/media','status'=>1])->find()); $this->base_add_adv($model,"media_adv_lists"); } /** *添加渠道广告 */ public function add_promote_adv($model=""){ $this->base_add_adv($model,"promote_adv_lists"); } /** *添加APP广告 */ public function add_app_adv(){ $this->m_title = '站点设置(游戏盒子APP)'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/app','status'=>1])->find()); $this->base_add_adv(15,"app_adv_lists"); } /** *添加WAP广告 */ public function add_wap_adv(){ $this->m_title = '站点设置(WAP站)'; $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/wap','status'=>1])->find()); $this->base_add_adv(15,"wap_adv_lists"); } /** *编辑广告 */ protected function base_edit_adv($model="",$id=0,$page_url=""){ //获取模型信息 $model = D('Model')->find($model); $model || $this->error('模型不存在!'); if(IS_POST){ $Model = D(parse_name(get_table_name($model['id']),1)); if(!empty($_POST['start_time']) && !empty($_POST['end_time'])) { if(strtotime($_POST['start_time'])>=strtotime($_POST['end_time'])) { $this->error('开始时间必须小于结束时间'); } } // 获取模型的字段信息 // $Model = $this->checkAttr($Model,$model['id']); if($Model->create() && ($Model->save() !== false)){ $this->success('保存'.$model['title'].'成功!', U($page_url)); } else { $this->error($Model->getError()); } } else { $id=$_REQUEST['id']; $fields = get_model_attribute($model['id']); //获取数据 $data = D(get_table_name($model['id']))->find($id); $data || $this->error('数据不存在!'); $adv_pos = M('adv_pos','tab_')->find($data['pos_id']); $this->assign('advpos',$adv_pos); $this->assign('page_url',$page_url); $this->assign('model', $model); $this->assign('fields', $fields); $this->assign('data', $data); $this->meta_title = '编辑'.$model['title']; $this->display('edit_adv'); } } /** * 更改广告优先级 * @param integer $id 广告编号 * @param integer $value 优先级数值 * @author 鹿文学 */ public function change_value($id,$value) { if(IS_POST) { if(!is_numeric($id) || $id<1) {$this->ajaxReturn(['status'=>0,'info'=>'数据有误'],'json');} if(!is_numeric($value) || $value<1) {$this->ajaxReturn(['status'=>0,'info'=>'请输入正整数'],'json');} $result = D('Adv')->where(['id'=>$id])->setField('sort',$value); if($result) { $this->ajaxReturn(['status'=>1,'info'=>'排序修改成功'],'json'); } else { $this->ajaxReturn(['status'=>0,'info'=>'排序修改失败'],'json'); } } else { $this->ajaxReturn(['status'=>0,'info'=>'请求有误'],'json'); } } }