function tpl_function_qishi_resume_show($params, &$smarty)
{
    global $db, $_CFG, $QS_cookiepath, $QS_cookiedomain;
    $arr = explode(',', $params['set']);
    foreach ($arr as $str) {
        $a = explode(':', $str);
        switch ($a[0]) {
            case "简历ID":
                $aset['id'] = $a[1];
                break;
            case "列表名":
                $aset['listname'] = $a[1];
                break;
        }
    }
    $aset = array_map("get_smarty_request", $aset);
    $aset['id'] = $aset['id'] ? intval($aset['id']) : 0;
    $aset['listname'] = $aset['listname'] ? $aset['listname'] : "list";
    $wheresql = " WHERE  id=" . $aset['id'] . "";
    $val = $db->getone("select id,uid,display,display_name,fullname,sex,sex_cn,major_cn,birthdate,photo,photo_img,photo_display,tag_cn,refreshtime,height,marriage_cn,education_cn,experience_cn,householdaddress,residence,talent,wage_cn,nature_cn,district_cn,trade_cn,intention_jobs,current_cn,specialty,title,telephone,email,addtime,resume_from_pc from " . table('resume') . $wheresql . " LIMIT  1");
    if (intval($_SESSION['utype']) == 1) {
        $company_profile = $db->getone("select companyname from " . table('company_profile') . " where uid=" . intval($_SESSION['uid']));
    }
    if ($val) {
        setcookie('QS[view_resume_log][' . $val['id'] . ']', $val['id'], 0, $QS_cookiepath, $QS_cookiedomain);
        if (intval($_SESSION['uid']) > 0 && intval($_SESSION['utype']) == 1) {
            //检查企业是否被个人屏蔽过
            $company_profile = $db->getone("select companyname from " . table('company_profile') . " where uid=" . intval($_SESSION['uid']));
            $shield_company = $db->getall("select comkeyword from " . table('personal_shield_company') . " where pid=" . $val['id'] . " and uid=" . $val['uid']);
            foreach ($shield_company as $key => $value) {
                if (!empty($value['comkeyword']) && stristr($company_profile['companyname'], $value['comkeyword'])) {
                    header("HTTP/1.1 404 Not Found");
                    $smarty->display("404.htm");
                    exit;
                }
            }
            //检查是否查看过
            $check = check_view_log(intval($_SESSION['uid']), $val['id']);
            if (!$check) {
                add_view_log(intval($_SESSION['uid']), $val['id']);
                $sql = "select did from " . table("personal_jobs_apply") . " where resume_id={$val['id']} and company_uid=" . intval($_SESSION['uid']) . " ";
                if ($db->getone($sql)) {
                    $db->query("update " . table("personal_jobs_apply") . " set personal_look=2 where  resume_id={$val['id']} and company_uid=" . intval($_SESSION['uid']) . "");
                }
            } else {
                $db->query("update " . table("personal_jobs_apply") . " set personal_look=2 where  resume_id={$val['id']} and company_uid=" . intval($_SESSION['uid']) . "");
            }
            // 简历处理率
            $resume_applyed = $db->getone("select count(*) num from " . table("personal_jobs_apply") . " where  company_uid=" . intval($_SESSION['uid']) . " and resume_id={$val['id']} ");
            if (!empty($resume_applyed)) {
                $apply_see = $db->getone("select count(*) num from " . table("personal_jobs_apply") . " where  company_uid=" . intval($_SESSION['uid']) . " and  personal_look=2 ");
                $apply_all = $db->getone("select count(*) num from " . table("personal_jobs_apply") . " where  company_uid=" . intval($_SESSION['uid']) . " ");
                $company_info['resume_processing'] = $apply_see['num'] / $apply_all['num'] * 100;
                $db->updatetable(table("company_profile"), $company_info, array("uid" => $_SESSION['uid']));
            }
            //查看是否已经下载过简历
            $download = $db->getone("select did from " . table("company_down_resume") . " where resume_id={$val['id']} and company_uid=" . intval($_SESSION['uid']) . " ");
            if ($download) {
                if ($val['display_name'] == "2") {
                    $val['fullname'] = "N" . str_pad($val['id'], 7, "0", STR_PAD_LEFT);
                    $val['fullname_'] = $val['fullname'];
                } elseif ($val['display_name'] == "3") {
                    if ($val['sex'] == 1) {
                        $val['fullname'] = cut_str($val['fullname'], 1, 0, "先生");
                    } elseif ($val['sex'] == 2) {
                        $val['fullname'] = cut_str($val['fullname'], 1, 0, "女士");
                    }
                } else {
                    $val['fullname_'] = $val['fullname'];
                    $val['fullname'] = $val['fullname'];
                }
            }
            //提示信息
            $mes_apply = $db->getone("select jobs_name,apply_addtime from " . table('personal_jobs_apply') . " where `resume_id`=" . $val['id'] . " and  `company_uid`=" . intval($_SESSION['uid']) . " limit 1 ");
            if ($mes_apply) {
                $val['message'] = "应聘职位:" . $mes_apply['jobs_name'] . " 投递时间:" . date('Y-m-d', $mes_apply['apply_addtime']);
            } else {
                $val['message'] = "";
            }
        } else {
            if ($val['display_name'] == "2") {
                $val['fullname'] = "N" . str_pad($val['id'], 7, "0", STR_PAD_LEFT);
                $val['fullname_'] = $val['fullname'];
            } elseif ($val['display_name'] == "3") {
                if ($val['sex'] == 1) {
                    $val['fullname'] = cut_str($val['fullname'], 1, 0, "先生");
                } elseif ($val['sex'] == 2) {
                    $val['fullname'] = cut_str($val['fullname'], 1, 0, "女士");
                }
            } else {
                $val['fullname_'] = $val['fullname'];
                $val['fullname'] = $val['fullname'];
            }
        }
        $val['education_list'] = get_this_education($val['uid'], $val['id']);
        $val['work_list'] = get_this_work($val['uid'], $val['id']);
        $val['training_list'] = get_this_training($val['uid'], $val['id']);
        $val['language_list'] = get_this_language($val['uid'], $val['id']);
        $val['credent_list'] = get_this_credent($val['uid'], $val['id']);
        $val['img_list'] = get_this_img($val['uid'], $val['id']);
        $val['age'] = date("Y") - $val['birthdate'];
        if ($val['photo'] == "1") {
            $download = $db->getone("select did from " . table("company_down_resume") . " where resume_id={$val['id']} and company_uid=" . intval($_SESSION['uid']) . " ");
            if (empty($download)) {
                if ($val['photo_display'] == "1") {
                    $val['photosrc'] = $_CFG['resume_photo_dir'] . $val['photo_img'];
                } else {
                    $val['photosrc'] = $_CFG['resume_photo_dir_thumb'] . "no_photo_display.gif";
                }
            } else {
                $val['photosrc'] = $_CFG['resume_photo_dir'] . $val['photo_img'];
            }
        } else {
            $val['photosrc'] = $_CFG['resume_photo_dir_thumb'] . "no_photo.gif";
        }
        if ($val['tag_cn']) {
            $tag_cn = explode(',', $val['tag_cn']);
            $val['tag_cn'] = $tag_cn;
        } else {
            $val['tag_cn'] = array();
        }
        $apply = $db->getone("select * from " . table('personal_jobs_apply') . " where `resume_id`=" . $val['id']);
        $val['jobs_name'] = $apply['jobs_name'];
        $val['apply_addtime'] = $apply['apply_addtime'];
        $val['jobs_url'] = url_rewrite('QS_jobsshow', array('id' => $apply['jobs_id']));
        if ($val['jobs_name']) {
            $val['apply'] = 1;
        } else {
            $val['apply'] = 0;
        }
        /* 简历活跃度  更新时间 主动申请职位数  浏览职位数 */
        $vitality = 0;
        $val['refreshtime_cn'] = daterange(time(), $val['refreshtime'], 'Y-m-d', "#FF3300");
        $timestr = time() - $val['refreshtime'];
        $day = intval($timestr / 86400);
        if ($day < 3) {
            $vitality += 2;
        } else {
            $vitality += 1;
        }
        $time = time() - 15 * 86400;
        $val['apply_jobs'] = $db->get_total("select count(*) num from " . table("personal_jobs_apply") . " where resume_id={$val['id']} and apply_addtime>{$time} and is_apply=1 ");
        if ($val['apply_jobs'] > 0 && $val['apply_jobs'] < 10) {
            $vitality += 1;
        } elseif ($val['apply_jobs'] >= 10) {
            $vitality += 2;
        }
        $val['view_jobs'] = $db->get_total("select count(*) num from " . table("view_jobs") . " where uid={$val['uid']} and addtime>{$time} ");
        if ($val['view_jobs'] >= 10) {
            $vitality += 1;
        }
        $val['vitality'] = $vitality;
        /*企业关注度 start */
        $attention = 0;
        $val['com_down'] = $db->get_total("select count(*) num from " . table("company_down_resume") . " where resume_id={$val['id']} and down_addtime>{$time} ");
        if ($val['com_down'] >= 0 && $val['com_down'] < 10) {
            $attention += 1;
        } elseif ($val['com_down'] >= 10) {
            $attention += 2;
        }
        $val['com_invite'] = $db->get_total("select count(*) num from " . table("company_interview") . " where resume_id={$val['id']} and interview_addtime>{$time} ");
        if ($val['com_invite'] > 0 && $val['com_invite'] < 10) {
            $attention += 1;
        } elseif ($val['com_invite'] >= 10) {
            $attention += 2;
        }
        $val['com_view'] = $db->get_total("select count(*) num from " . table("view_resume") . " where resumeid={$val['id']} and addtime>{$time} ");
        if ($val['com_view'] >= 10) {
            $attention += 1;
        }
        $val['attention'] = $attention;
        /*企业关注度 end */
        //判断手机、微信、邮箱是否验证
        $is_audit_phone = $db->getone("SELECT mobile_audit,email_audit,weixin_openid FROM " . table('members') . " WHERE uid={$val['uid']}  LIMIT 1 ");
        $val['is_audit_mobile'] = $is_audit_phone['mobile_audit'];
        $val['is_audit_email'] = $is_audit_phone['email_audit'];
        $val['is_audit_weixin'] = $is_audit_phone['weixin_openid'];
        //个人自己预览
        if ($_SESSION['utype'] == '2' && $_SESSION['uid'] == $val['uid']) {
            $val['isminesee'] = '1';
        }
    } else {
        header("HTTP/1.1 404 Not Found");
        $smarty->display("404.htm");
        exit;
    }
    $smarty->assign($aset['listname'], $val);
}
Beispiel #2
0
function resume_one($id)
{
    global $db;
    $id = intval($id);
    if (intval($_SESSION['uid']) > 0 && intval($_SESSION['utype']) == 1) {
        $check = check_view_log(intval($_SESSION['uid']), $id);
        if (!$check) {
            add_view_log(intval($_SESSION['uid']), $id);
        }
    }
    $db->query("update " . table('resume') . " set click=click+1 WHERE id='{$id}'  LIMIT 1");
    $wheresql = " WHERE id='{$id}'";
    $sql = "select * from " . table('resume') . $wheresql . " LIMIT 1";
    $val = $db->getone($sql);
    if ($val['display_name'] == "2") {
        $val['fullname'] = "N" . str_pad($val['id'], 7, "0", STR_PAD_LEFT);
        $val['fullname_'] = $val['fullname'];
    } elseif ($val['display_name'] == "3") {
        if ($val['sex'] == 1) {
            $val['fullname'] = cut_str($val['fullname'], 1, 0, "先生");
        } elseif ($val['sex'] == 2) {
            $val['fullname'] = cut_str($val['fullname'], 1, 0, "女士");
        }
        $val['fullname_'] = $val['fullname'];
    } else {
        $val['fullname_'] = $val['fullname'];
        $val['fullname'] = $val['fullname'];
    }
    if ($val['talent'] == 1) {
        $val['talent_'] = "1";
        $val['talent'] = "普通";
    } elseif ($val['talent'] == 2) {
        $val['talent_'] = "2";
        $val['talent'] = "高级";
    }
    $val['fullname_3'] = cut_str($val['fullname'], 1, 0, "先生/女士");
    $val['age'] = date("Y") - $val['birthdate'];
    $val['education_list'] = get_this_education_all($val['uid'], $val['id']);
    //统计教育经历数
    $education_num = 0;
    foreach ($val['education_list'] as $key => $value) {
        $education_num++;
    }
    $val['education_num'] = $education_num;
    $val['work_list'] = get_this_work_all($val['uid'], $val['id']);
    //统计工作经历数 和 每份工作时间
    $work_num = 0;
    foreach ($val['work_list'] as $key => $value) {
        $work_num++;
        if ($value['todate'] == 1) {
            $value['work_time'] = intval((time() - strtotime($value['startyear'] . "-" . $value['startmonth'] . "-" . "01")) / 2592000);
        } else {
            $value['work_time'] = intval((strtotime($value['endyear'] . "-" . $value['endmonth'] . "-" . "01") - strtotime($value['startyear'] . "-" . $value['startmonth'] . "-" . "01")) / 2592000);
        }
        $val['work_list'][$key] = $value;
    }
    $val['work_num'] = $work_num;
    $val['training_list'] = get_this_training_all($val['uid'], $val['id']);
    //统计培训经历数
    $training_num = 0;
    foreach ($val['training_list'] as $key => $value) {
        $training_num++;
    }
    $val['training_num'] = $training_num;
    if ($val['tag_cn']) {
        $tag_cn = explode(',', $val['tag_cn']);
        $val['tag_cn'] = $tag_cn;
        foreach ($val['tag_cn'] as $key => $value) {
            $tag_one['cn'] = $value;
            $tag_one['key'] = $key + 1;
            $val['tag_cn_list'][] = $tag_one;
        }
    } else {
        $val['tag_cn'] = array();
    }
    $two_week_time = strtotime("-2 week");
    //两周内被浏览的次数
    $val['click_num'] = $db->get_total("SELECT COUNT(*) AS num FROM " . table('view_resume') . " WHERE resumeid=" . $val['id'] . " and addtime > " . $two_week_time);
    //两周内被下载的次数
    $val['down_num'] = $db->get_total("SELECT COUNT(*) AS num FROM " . table('company_down_resume') . " WHERE resume_id=" . $val['id'] . " and down_addtime > " . $two_week_time);
    //两周内投递的次数
    $val['apply_num'] = $db->get_total("SELECT COUNT(*) AS num FROM " . table('personal_jobs_apply') . " WHERE resume_id=" . $val['id'] . " and apply_addtime > " . $two_week_time);
    //该简历会员信息
    $sql = "select mobile_audit from " . table("members") . " where uid={$val['uid']} ";
    $members_info = $db->getone($sql);
    $val['mobile_audit'] = $members_info['mobile_audit'];
    //判断是否是自己预览
    //个人自己预览
    if ($_SESSION['utype'] == '2' && $_SESSION['uid'] == $val['uid']) {
        $val['isminesee'] = '1';
    }
    return $val;
}
function tpl_function_qishi_jobs_show($params, &$smarty)
{
    global $db, $timestamp, $_CFG;
    $arr = explode(',', $params['set']);
    foreach ($arr as $str) {
        $a = explode(':', $str);
        switch ($a[0]) {
            case "职位ID":
                $aset['id'] = $a[1];
                break;
            case "列表名":
                $aset['listname'] = $a[1];
                break;
            case "描述长度":
                $aset['brieflylen'] = $a[1];
                break;
            case "填补字符":
                $aset['dot'] = $a[1];
                break;
        }
    }
    $aset = array_map("get_smarty_request", $aset);
    $aset['id'] = $aset['id'] ? intval($aset['id']) : 0;
    $aset['brieflylen'] = isset($aset['brieflylen']) ? intval($aset['brieflylen']) : 0;
    $aset['listname'] = $aset['listname'] ? $aset['listname'] : "list";
    $smarty->assign("is_reward", get_jobs_is_reward($_SESSION["uid"], $aset['id']));
    $wheresql = " WHERE id={$aset['id']} ";
    $sql = "select id,uid,audit,display,setmeal_deadline,add_mode,amount,company_id,district_cn,contents,refreshtime,tag_cn,category,subclass,sdistrict,jobs_name,companyname,wage_cn,nature_cn,category_cn,sex_cn,age,education_cn,experience_cn,deadline,graduate from " . table('jobs') . $wheresql . " LIMIT 1";
    $val = $db->getone($sql);
    if (empty($val)) {
        $sql_tmp = "select id,uid,audit,display,setmeal_deadline,add_mode,amount,company_id,district_cn,contents,refreshtime,tag_cn,category,subclass,sdistrict,jobs_name,companyname,wage_cn,nature_cn,category_cn,sex_cn,age,education_cn,deadline,experience_cn from " . table('jobs_tmp') . $wheresql . " LIMIT 1";
        $val = $db->getone($sql_tmp);
    }
    if (empty($val)) {
        header("HTTP/1.1 404 Not Found");
        $smarty->display("404.htm");
        exit;
    }
    if ($val['deadline'] < time()) {
        $val['jobs_gq'] = 1;
    } elseif ($val['audit'] != '1' || $val['display'] != '1' || $val['setmeal_deadline'] != '0' && $val['setmeal_deadline'] < time()) {
        $val['jobs_gq'] = 2;
    }
    setcookie('QS[view_jobs_log][' . $val['id'] . ']', $val['id'], 0, $QS_cookiepath, $QS_cookiedomain);
    if (intval($_SESSION['uid']) > 0 && intval($_SESSION['utype']) == 2) {
        //检查是否看过该职位
        $check = check_view_log(intval($_SESSION['uid']), $val['id']);
        if (!$check) {
            add_view_log(intval($_SESSION['uid']), $val['id']);
        }
        //检查该职位是否对此会员发起面试邀请,并且此会员没看
        $check_int = check_interview(intval($_SESSION['uid']), $val['id']);
        if ($check_int) {
            update_interview(intval($_SESSION['uid']), $val['id']);
        }
        //检查该职位是否被此会员收藏过
        $check_fav = check_favorites(intval($_SESSION['uid']), $val['id']);
        if ($check_fav) {
            $val['check_fav'] = 1;
        }
    }
    if ($val['setmeal_deadline'] < time() && $val['setmeal_deadline'] != "0" && $val['add_mode'] == "2") {
        $val['deadline'] = $val['setmeal_deadline'];
    }
    $val['amount'] = $val['amount'] == "0" ? '若干' : $val['amount'];
    $val['jobs_url'] = url_rewrite('QS_jobsshow', array('id' => $val['id']));
    $profile = GetJobsCompanyProfile($val['company_id']);
    $val['company'] = $profile;
    $val['contact'] = GetJobsContact($val['id']);
    $district_cn = $val['district_cn'];
    $d_arr = explode("/", $district_cn);
    $val['district_ch'] = $d_arr[0];
    $val['sdistrict_ch'] = $d_arr[1];
    $val['expire'] = sub_day($val['deadline'], time());
    $val['countresume'] = $db->get_total("SELECT COUNT(*) AS num FROM " . table('personal_jobs_apply') . " WHERE jobs_id= '{$val['id']}'");
    if ($aset['brieflylen'] > 0) {
        $val['briefly'] = cut_str(strip_tags($val['contents']), $aset['brieflylen'], 0, $aset['dot']);
    } else {
        $val['briefly'] = strip_tags($val['contents']);
    }
    $val['contents'] = htmlspecialchars_decode($val['contents'], ENT_QUOTES);
    $val['refreshtime_cn'] = daterange(time(), $val['refreshtime'], 'Y-m-d', "#FF3300");
    $val['company_url'] = url_rewrite('QS_companyshow', array('id' => $val['company_id']));
    if ($val['company']['logo']) {
        $val['company']['logo'] = $_CFG['site_dir'] . "data/logo/" . $val['company']['logo'];
    } else {
        $val['company']['logo'] = $_CFG['site_dir'] . "data/logo/no_logo.gif";
    }
    if ($val['company']['website']) {
        if (strstr($val['company']['website'], "http://") === false) {
            $val['company']['website'] = "http://" . $val['company']['website'];
        }
    }
    if (intval($_SESSION['utype']) == 2) {
        $view_log = get_view_log(intval($_SESSION['uid']));
        foreach ($view_log as $key => $value) {
            $jobs_info = $db->getone("select id,company_id,jobs_name,companyname from " . table('jobs') . " where id=" . $value['jobsid']);
            $val['view_log'][$key]['jobsid'] = $jobs_info['id'];
            $val['view_log'][$key]['jobs_name'] = $jobs_info['jobs_name'];
            $val['view_log'][$key]['jobs_url'] = url_rewrite('QS_jobsshow', array('id' => $jobs_info['id']));
            $val['view_log'][$key]['companyname'] = $jobs_info['companyname'];
        }
        $interest_id = get_interest_jobs_id(intval($_SESSION['uid']));
    }
    if ($val['tag_cn']) {
        $tag_cn = explode(',', $val['tag_cn']);
        $val['tag_cn'] = $tag_cn;
    } else {
        $val['tag_cn'] = array();
    }
    /*
       薪酬统计
       如果职位有三级分类 则根据职位的 subclass
       如果职位没有有三级分类 则根据职位的 category
    */
    if ($val['subclass']) {
        $salary_data = $db->getall("select c.c_name from " . table('jobs_search_wage') . " as j left join " . table('category') . " as c on c.c_id=j.wage where j.subclass=" . $val['subclass'] . " and j.sdistrict=" . $val['sdistrict']);
    } else {
        $salary_data = $db->getall("select c.c_name from " . table('jobs_search_wage') . " as j left join " . table('category') . " as c on c.c_id=j.wage where j.category=" . $val['category'] . " and j.sdistrict=" . $val['sdistrict']);
    }
    if ($salary_data) {
        $total = 0;
        $total_salary = 0;
        foreach ($salary_data as $key => $value) {
            $total_salary += intval($value['c_name']) + 500;
            $total++;
        }
        $val['salary']['value'] = intval($total_salary / $total);
        $val['salary']['px'] = $val['salary']['value'] / 12000 * 446 . "px";
    }
    /*
        薪酬统计
    */
    $user = get_jobs_username($val['uid']);
    $hashstr = substr(md5($user['username']), 8, 16);
    $smarty->assign('hashstr', $hashstr);
    $smarty->assign("is_reward", get_jobs_is_reward($aset['id']));
    $smarty->assign($aset['listname'], $val);
}