yunset('source',$source); $search_list = array(); $search_list[] = array('param' => 'state','name'=>'审核状态', 'value' => array('1'=>'已审核','4'=>'未审核','3'=>'未通过','2'=>'已锁定')); $search_list[] = array('param' => 'status','name'=>'招聘状态', 'value' => array('1'=>'已下架','2'=>'招聘中')); $search_list[] = array('param' => 'jtype','name'=>'职位类型', 'value' => array('urgent'=>'紧急职位','xuanshang'=>'置顶职位','rec'=>'推荐职位')); $search_list[] = array('param' => 'source','name'=>'数据来源', 'value' => $source); $search_list[] = array('param' => 'adtime','name'=>'发布时间', 'value' => array('1'=>'今天','3'=>'最近三天','7'=>'最近七天','15'=>'最近半月','30'=>'最近一个月')); $this->yunset('search_list', $search_list); } // 职位列表 function index_action(){ //实例化职位类 $JobM = $this->MODEL('job'); if($_GET['uid']){ $where['uid'] = intval($_GET['uid']); $urlarr['uid'] = intval($_GET['uid']); $ComM = $this -> MODEL('company'); $uinfo = $ComM -> getInfo($where['uid'] , array('field' => 'name')); $this -> yunset('ccname',$uinfo['name']); } //搜索条件 if ($_GET['state']) { $state = intval($_GET['state']); if($state==2){ $where['r_status'] = array('>', 1); }else{ $where['state'] = $state == 4 ? 0 : $state; $where['r_status'] = array('=', 1); } $urlarr['status'] = $state; } if ($_GET['status']) { $status = intval($_GET['status']); $where['status'] = $status == 2 ? 0 : $status; $urlarr['status'] = $status; } if($_GET['jtype']){ $jtype = trim($_GET['jtype']); if($jtype == 'rec'){ $where['rec_time'] = array('>',time()); }else if($jtype == 'urgent'){ $where['urgent_time'] = array('>',time()); }else if($jtype == 'xuanshang'){ $where['xsdate'] = array('>',time()); } $urlarr['jtype'] = $jtype; } if($_GET['source']){ $where['source'] = intval($_GET['source']); $urlarr['source'] = intval($_GET['source']); } if($_GET['adtime']){ if($_GET['adtime'] == '1'){ $where['sdate'] = array('>',strtotime(date('Y-m-d 00:00:00'))); }else{ $where['sdate'] = array('>',strtotime('-'.intval($_GET['adtime']).' day')); } $urlarr['adtime'] = $_GET['adtime']; } if($_GET['news_search']){ if ($_GET['type']=='1'){ $where['com_name'] = array('like',trim($_GET['keyword'])); }elseif ($_GET['type']=='2'){ $where['name'] = array('like',trim($_GET['keyword'])); } $urlarr['type'] = $_GET['type']; $urlarr['keyword'] = $_GET['keyword']; $urlarr['news_search'] = $_GET['news_search']; } //分页链接 $urlarr['page'] = '{{page}}'; $pageurl = Url($_GET['m'],$urlarr,'admin'); //提取分页 $pageM = $this -> MODEL('page'); $pages = $pageM -> pageList('company_job',$where,$pageurl,$_GET['page']); //分页数大于0的情况下 执行列表查询 if($pages['total'] > 0){ //limit order 只有在列表查询时才需要 if($_GET['order']){ $where['orderby'] = $_GET['t'].','.$_GET['order']; $urlarr['order'] = $_GET['order']; $urlarr['t'] = $_GET['t']; }else{ $where['orderby'] = array('r_status,asc','state,asc','lastupdate,desc'); } $where['limit'] = $pages['limit']; $ListJob = $JobM -> getList($where,array('utype'=>'admin','cache'=>'1','isurl'=>'yes')); unset($where['limit']); session_start(); $_SESSION['jobXls'] = $where; $this -> yunset(array('rows'=>$ListJob['list'],'cache'=>$ListJob['cache'])); } $this->set_search(); $this->siteadmin_tpl(array('admin_company_job')); } // 招聘/下架操作 function checkstate_action(){ if($_POST['id'] && $_POST['state']){ if($_POST['state'] == 2){ $_POST['state'] = 0; } $JobM = $this -> MODEL('job'); $id = intval($_POST['id']); $postData['status'] = intval($_POST['state']); $JobM -> upInfo($postData, array('id' => $id)); } echo 1; } // 职位置顶 function xuanshang_action(){ $id = trim($_POST['pid']); $data = array( 'top' => intval($_POST['s']), 'days' => intval($_POST['days']) ); $JobM = $this -> MODEL('job'); $arr = $JobM -> addTopJob($id, $data); $this -> ACT_layer_msg( $arr['msg'],$arr['errcode'],$_SERVER['HTTP_REFERER'],2,1); } // 职位推荐 function recommend_action(){ $id = trim($_POST['pid']); $data = array( 'rec' => intval($_POST['s']), 'days' => intval($_POST['days']) ); $JobM = $this -> MODEL('job'); $arr = $JobM -> addRecJob($id, $data); $this -> ACT_layer_msg( $arr['msg'],$arr['errcode'],$_SERVER['HTTP_REFERER'],2,1); } // 职位紧急招聘 function urgent_action(){ $id = trim($_POST['pid']); $data = array( 'urgent' => intval($_POST['s']), 'days' => intval($_POST['days']) ); $JobM = $this -> MODEL('job'); $arr = $JobM -> addUrgentJob($id, $data); $this -> ACT_layer_msg( $arr['msg'],$arr['errcode'],$_SERVER['HTTP_REFERER'],2,1); } /** * 职位审核 */ function status_action() { $jobM = $this->MODEL('job'); $statusData = array( 'state' => intval($_POST['status']), 'statusbody' => trim($_POST['statusbody']) ); $return = $jobM -> statusJob($_POST['pid'], $statusData); $this->ACT_layer_msg($return['msg'], $return['errcode'], $_SERVER['HTTP_REFERER'], 2, 1); } /** * @desc 后台 -- 会员 -- 企业 -- 企业管理 / 职位管理 -- 新增 / 修改 */ function show_action(){ $cacheM = $this->MODEL('cache'); $options = array('job','com','city','hy'); $cache = $cacheM -> GetCache($options); $this -> yunset('cache', $cache); $JobM = $this->MODEL('job'); // 获取职位详情 if($_GET['id']){ $id = intval($_GET['id']); $info = $JobM -> getInfo(array('id' => $id), array('lang' => 'isarray')); $this -> yunset('show', $info); $this -> yunset('lasturl', $_SERVER['HTTP_REFERER']); $uid = $info['uid']; } if(intval($_GET['uid'])){ $uid = intval($_GET['uid']); } $this->yunset('uid',$uid); if($_POST['update']){ $description = str_replace(array("&","background-color:#ffffff","background-color:#fff","white-space:nowrap;"),array("&",'background-color:','background-color:','white-space:'),$_POST['content']); $post = array( 'name' => $_POST['name'], 'job1' => intval($_POST['job1']), 'job1_son' => intval($_POST['job1_son']), 'job_post' => intval($_POST['job_post']), 'provinceid' => intval($_POST['provinceid']), 'cityid' => intval($_POST['cityid']), 'three_cityid' => intval($_POST['three_cityid']), 'minsalary' => intval($_POST['salary_type']) == 1 ? 0 : intval($_POST['minsalary']), 'maxsalary' => intval($_POST['salary_type']) == 1 ? 0 : intval($_POST['maxsalary']), 'description' => $description, 'hy' => intval($_POST['hy']), 'number' => intval($_POST['number']), 'exp' => intval($_POST['exp']), 'report' => intval($_POST['report']), 'age' => intval($_POST['age']), 'sex' => intval($_POST['sex']), 'edu' => intval($_POST['edu']), 'is_graduate' => intval($_POST['is_graduate']), 'marriage' => intval($_POST['marriage']), 'lang' => trim(pylode(',', $_POST['lang'])), 'jobhits' => intval($_POST['jobhits']) ); $data = array( 'post' => $post, 'id' => intval($_POST['id']), 'uid' => $_POST['uid'], 'utype' => 'admin' ); $return = $JobM->addJobInfo($data); if($return['errcode']==9){ $this -> ACT_layer_msg($return['msg'],$return['errcode'],'index.php?m=admin_company_job'); }else{ $this -> ACT_layer_msg($return['msg'],$return['errcode']); } } $this->siteadmin_tpl(array('admin_company_job_show')); } // 返回审核原因 function lockinfo_action(){ $JobM = $this -> MODEL('job'); $info = $JobM -> getInfo(array('id' => intval($_POST['id'])), array('field'=>'`statusbody`')); echo $info['statusbody'];die; } // 转移类别 function saveclass_action(){ $JobM = $this -> MODEL('job'); if($_POST['hy'] == ''){ $this -> ACT_layer_msg('请选择行业类别!',8,$_SERVER['HTTP_REFERER']); } if($_POST['job1'] == ''){ $this -> ACT_layer_msg('请选择职位类别!',8,$_SERVER['HTTP_REFERER']); } $data['hy'] = $_POST['hy']; $data['job1'] = $_POST['job1']; $data['job1_son'] = $_POST['job1_son']; $data['job_post'] = $_POST['job_post']; $id = @explode(',',$_POST['jobid']); $listA = $JobM -> getList(array('id' => array('in', pylode(',',$id))), array('cache'=>'1','field'=>'id,uid,name')); $nid = $JobM -> upInfo($data, array('id' => array('in', pylode(',',$id)))); $job = $listA['list']; $cache = $listA['cache']; if($job){ $msg = array(); $uids = array(); // 提取职位uid 和职位名称 foreach ($job as $k => $v){ $uids[] = $v['uid']; $msg[$v['uid']][] = '您的职位《'.$v['name'].'》管理员已修改,行业类别为:'.$cache[industry_name][$_POST['hy']].',职位类别为:'.$cache[job_name][$_POST['job1']]; if($_POST['job1_son']){ $msg[$v['uid']][] .= ''.$cache[job_name][$_POST['job1_son']]; } if($_POST['job_post']){ $msg[$v['uid']][] .= ''.$cache[job_name][$_POST['job_post']]; } } $sysmsgM = $this -> MODEL('sysmsg'); $sysmsgM -> addInfo(array('uid'=>$uids,'usertype'=>2, 'content'=>$msg)); } $nid?$this->ACT_layer_msg('职位类别(ID:'.$_POST['jobid'].')修改成功!',9,$_SERVER['HTTP_REFERER'],2,1):$this->ACT_layer_msg('修改失败!',8,$_SERVER['HTTP_REFERER']); } // 删除职位 function del_action(){ $this->check_token(); $JobM = $this -> Model('job'); $delID = is_array($_GET['del']) ? $_GET['del'] : $_GET['id']; $addArr = $JobM -> delJob($delID, array('utype'=>'admin')); $this -> layer_msg( $addArr['msg'],$addArr['errcode'],$addArr['layertype'],$_SERVER['HTTP_REFERER'],2,1); } function refresh_action(){ $JobM = $this -> MODEL('job'); $ids = @explode(',', $_POST['ids']); $return = $JobM -> upInfo(array('lastupdate'=>time()), array('id' => array('in', pylode(',', $ids)))); $this->MODEL('log')->addAdminLog("职位(ID".$_POST['ids']."刷新成功"); } // 导出职位列表数据 function xls_action(){ session_start(); $where = $_SESSION['jobXls'] ? $_SESSION['jobXls'] : array('orderby'=>'id'); if(!empty($_POST['type'])){ foreach($_POST['type'] as $v){ if($v == 'lastdate'){ $type[] = 'lastupdate'; }else{ $type[] = $v; } } $field = @implode(',', $type).',uid'; }else{ $field = 'uid'; } if($_POST['pid']){ $ids = @explode(',',$_POST['pid']); $where['id'] = array('in',pylode(',',$ids)); } if($_POST['limit']){ $where['limit'] = intval($_POST['limit']); } $jobM = $this -> MODEL('job'); $listNew = $jobM -> getList($where,array('cache'=>1,'field'=>$field)); $jobs = $listNew['list']; $cache = $listNew['cache']; if (!empty($jobs)){ foreach($jobs as $k => $v){ $langs = array(); if($v['lang']!=""){ $lang = @explode(",",$v['lang']); foreach($lang as $val){ $langs[] = $cache[comclass_name][$val]; } $jobs[$k]['lang_info'] = @implode(",",$langs); } } $this->yunset("cache",$cache); $this->yunset("list",$jobs); $this->yunset("type",$_POST['type']); $this->MODEL('log')->addAdminLog("导出职位信息"); header("Content-Type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=job.xls"); $this->siteadmin_tpl(array('admin_job_xls')); } } /* 职位匹配简历 */ function matching_action(){ if($_GET['id']){ $id = intval($_GET['id']); $where[status] = '1'; $where[r_status] = '1'; $where[defaults] = '1'; $JobM = $this -> MODEL('job'); $jobinfo = $JobM -> getInfo(array('id' => $id), array('field'=>'uid,job1,job1_son,job_post,provinceid,cityid,three_cityid')); $this->yunset('comid', $jobinfo['uid']); if($jobinfo){ $where['PHPYUNBTWSTART_A'] = ''; $where[city_classid][] = array('findin', $jobinfo[provinceid],'OR'); $where[city_classid][] = array('findin', $jobinfo[cityid], 'OR'); $where[city_classid][] = array('findin', $jobinfo[three_cityid], 'OR'); $where['PHPYUNBTWEND_A'] = ''; $where['PHPYUNBTWSTART_B'] = ''; $where[job_classid][] = array('findin', $jobinfo[job1],'OR'); $where[job_classid][] = array('findin', $jobinfo[job1_son], 'OR'); $where[job_classid][] = array('findin', $jobinfo[job_post], 'OR'); $where['PHPYUNBTWEND_B'] = ''; } $ResumeM = $this -> MODEL('resume'); $record = $ResumeM -> getResTsList(array('jobid'=>$id),array('field'=>'eid')); if(!empty($record)){ foreach($record as $v){ $eids[] = $v['eid']; } $where[id] = array('notin', pylode(',', $eids)); } $blackM = $this -> MODEL('black'); $black = $blackM -> getBlackList(array('p_uid' => $jobinfo['uid'])); if(!empty($black)){ foreach($black as $v){ $buids[] = $v['c_uid']; } $where[uid] = array('notin', pylode(',', $buids)); } //$rows=$this->get_page("resume_expect",$where,$pageurl,$this->config['sy_listnum'],'`id`,`uid`,`uname`,`job_classid`,`city_classid`'); //分页链接 $urlarr['page'] = '{{page}}'; $pageurl = Url('admin_company_job&c=matching&id='.$id.'',$urlarr,'admin'); //提取分页 $pageM = $this -> MODEL('page'); $pages = $pageM -> pageList('resume_expect',$where,$pageurl,$_GET['page']); //分页数大于0的情况下 执行列表查询 if($pages['total'] > 0){ //limit order 只有在列表查询时才需要 $where['orderby'] = 'lastupdate'; $where['limit'] = $pages['limit']; $List = $ResumeM -> getList($where,array('cache'=>1)); $CacheList = $List['cache']; $this -> yunset(array('resumes'=>$List['list'])); } $this->siteadmin_tpl(array('admin_matching')); } } function jobNum_action(){ $MsgNum=$this->MODEL('msgNum'); echo $MsgNum->jobNum(); } } ?>