Exemple #1
0
 /**
  * Convert encoding
  *
  * @param $value
  * @param $to
  * @param $from
  *
  * @return string
  */
 public static function convert($value, $to, $from)
 {
     if ($value == null) {
         return $value;
     }
     //有ccode库
     $isccode = function_exists('is_gbk');
     //专门有处理gbk/utf8转码的扩展,解决一些badcase
     if ($to === 'GBK' && ($from === 'UTF-8' || $from === 'UTF8') && $isccode) {
         $v = utf8_to_gbk($value, strlen($value), UCONV_INVCHAR_REPLACE);
         if ($v !== false) {
             return $v;
         } else {
             Logger::warn("utf8_to_gbk fail str=%s", bin2hex($value));
         }
     }
     if (($to === 'UTF-8' || $to === 'UTF8') && $from === 'GBK' && $isccode) {
         $v = gbk_to_utf8($value, strlen($value), UCONV_INVCHAR_REPLACE);
         if ($v !== false) {
             return $v;
         } else {
             Logger::warn("gbk_to_utf8 fail str=%s", bin2hex($value));
         }
     }
     //return mb_convert_encoding($value,$to,$from);
     //mb_convert会由于字符编码问题出fatal,改成iconv //ignore模式
     return iconv($from, $to . '//ignore', $value);
 }
 function convertfile($in_charset, $out_charset, $str)
 {
     if (function_exists('mb_convert_encoding')) {
         if (empty($in_charset)) {
             $encode_arr = array('UTF-8', 'ASCII', 'GBK', 'GB2312', 'BIG5', 'JIS', 'eucjp-win', 'sjis-win', 'EUC-JP');
             $encoded = mb_detect_encoding($str, $encode_arr);
             if (!empty($encoded)) {
                 $in_charset = $encoded;
             }
         }
         echo $in_charset;
         return mb_convert_encoding($str, $out_charset, $in_charset);
     } else {
         require_once PATH . 'include/charset.func.php';
         $in_charset = strtoupper($in_charset);
         $out_charset = strtoupper($out_charset);
         if ($in_charset == 'UTF-8' && ($out_charset == 'GBK' || $out_charset == 'GB2312')) {
             return utf8_to_gbk($str);
         }
         if (($in_charset == 'GBK' || $in_charset == 'GB2312') && $out_charset == 'UTF-8') {
             return gbk_to_utf8($str);
         }
         return $str;
     }
 }
Exemple #3
0
 /**
  * gbk字符转utf8字符
  * @param void $data
  * @return void
  */
 public static function gbk_to_utf8($data)
 {
     foreach ($data as $k => $v) {
         if (is_array($v)) {
             $data[$k] = gbk_to_utf8($v);
         } else {
             $data[$k] = iconv('gbk', 'utf-8', $v);
         }
     }
     return $data;
 }
Exemple #4
0
                    $members_handsel_arr['addtime'] = $time;
                    $db->inserttable(table("members_handsel"), $members_handsel_arr);
                    report_deal($_SESSION['uid'], $points_rule['apply_jobs']['type'], $points_rule['apply_jobs']['value']);
                    $user_points = get_user_points($_SESSION['uid']);
                    $operator = $points_rule['apply_jobs']['type'] == "1" ? "+" : "-";
                    write_memberslog($_SESSION['uid'], 2, 9001, $_SESSION['username'], "投递了简历,职位:{$jobs['jobs_name']},({$operator}{$points_rule['apply_jobs']['value']}),(剩余:{$user_points})", 2, 1301, "申请职位", "{$operator}{$points_rule['apply_jobs']['value']}", "{$user_points}");
                } else {
                    write_memberslog($_SESSION['uid'], 2, 1301, $_SESSION['username'], "投递了简历,职位:{$jobs['jobs_name']}");
                }
            }
            //微信
            if (intval($_CFG['weixin_apiopen']) == 1 && $weixinconfig['set_applyjobs'] == '1') {
                $user = $db->getone("select weixin_openid from " . table('members') . " where uid = {$jobs['uid']} limit 1");
                if ($user['weixin_openid'] != "") {
                    $resume_url = $_CFG['wap_domain'] . "/resume-show.php?id=" . $resumeid;
                    $template = array('touser' => $user['weixin_openid'], 'template_id' => "u_yoFifHb-ryYXMtNSlATj_Wfm1CWTKEjf8EkiM6dvY", 'url' => $resume_url, 'topcolor' => "#7B68EE", 'data' => array('first' => array('value' => urlencode(gbk_to_utf8("你收到了一份新简历,请及时登录" . $_CFG['site_name'] . "查阅")), 'color' => "#743A3A"), 'job' => array('value' => urlencode(gbk_to_utf8($jobs['jobs_name'])), 'color' => "#743A3A"), 'resuname' => array('value' => urlencode(gbk_to_utf8("--")), 'color' => "#743A3A"), 'realname' => array('value' => urlencode(gbk_to_utf8($personal_fullname)), 'color' => "#743A3A"), 'exp' => array('value' => urlencode(gbk_to_utf8($resume_basic['experience_cn'])), 'color' => "#743A3A"), 'lastjob' => array('value' => urlencode(gbk_to_utf8("--")), 'color' => "#743A3A"), 'remark' => array('value' => urlencode("\\n" . $notes), 'color' => "#743A3A")));
                    send_template_message(urldecode(json_encode($template)));
                }
            }
            exit("ok");
        } else {
            exit("err");
        }
    }
} elseif ($act == 'apply_del') {
    $yid = !empty($_POST['id']) ? $_POST['id'] : exit("请选择删除项目!");
    $n = del_jobs_apply($yid, $_SESSION['uid']);
    if (intval($n) > 0) {
        exit("ok");
    } else {
        exit("err");
Exemple #5
0
     exit("-7");
 }
 require_once QISHI_ROOT_PATH . 'include/upload.php';
 !$_FILES['resume_img']['name'] ? exit('请上传图片!') : "";
 $datedir = date("Y/m/d/");
 $up_dir = "../../data/photo/" . $datedir;
 make_dir($up_dir);
 $setsqlarr['img'] = _asUpFiles($up_dir, "resume_img", 800, 'gif/jpg/bmp/png/jpeg', true);
 if ($setsqlarr['img']) {
     // 新增打水印
     if (extension_loaded('gd')) {
         include_once QISHI_ROOT_PATH . 'include/watermark.php';
         $font_dir = QISHI_ROOT_PATH . "data/contactimgfont/cn.ttc";
         if (file_exists($font_dir)) {
             $tpl = new watermark();
             $tpl->img($up_dir . $setsqlarr['img'], gbk_to_utf8($_CFG['site_name']), $font_dir, 13, 0);
         }
     }
     $img_src = $up_dir . $setsqlarr['resume_img'];
     makethumb($img_src, $up_dir, 600, 600);
     $setsqlarr['uid'] = $uid;
     $setsqlarr['resume_id'] = $pid;
     $setsqlarr['addtime'] = time();
     $setsqlarr['img'] = $datedir . $setsqlarr['img'];
     $img_id = $db->inserttable(table('resume_img'), $setsqlarr, true);
     if ($img_id > 0) {
         perfect_resume($_SESSION['uid'], $_SESSION['username'], $pid, 1);
         $data['save_url'] = $setsqlarr['img'];
         $data['url'] = $setsqlarr['img'];
         $data['title'] = $setsqlarr['title'];
         $data['addtime'] = date('Y-m-d', $setsqlarr['addtime']);
Exemple #6
0
function set_order_msg($uid, $keyword1, $keyword2, $keyword3)
{
    global $db, $_CFG;
    $weixinconfig = get_cache('weixin_config');
    if (intval($_CFG['weixin_apiopen']) == 1 && $weixinconfig['set_payment'] == '1') {
        $user = $db->getone("select weixin_openid from " . table('members') . " where uid ={$uid} limit 1");
        if ($user['weixin_openid'] != "") {
            $template = array('touser' => $user['weixin_openid'], 'template_id' => "UxurRCK19QNDb3_g2lO5GSQ4lHO48-d1idxBYvutbBc", 'url' => '', 'topcolor' => "#7B68EE", 'data' => array('first' => array('value' => urlencode(gbk_to_utf8("尊敬的用户,您有以下订单需要完成支付:")), 'color' => "#743A3A"), 'keyword1' => array('value' => urlencode(gbk_to_utf8($keyword1)), 'color' => "#743A3A"), 'keyword2' => array('value' => urlencode(gbk_to_utf8($keyword2)), 'color' => "#743A3A"), 'keyword3' => array('value' => urlencode(gbk_to_utf8($keyword3)), 'color' => "#743A3A"), 'keyword4' => array('value' => urlencode(gbk_to_utf8(date('Y-m-d', time()))), 'color' => "#743A3A"), 'remark' => array('value' => urlencode("\\n您可以查看该订单后支付。"), 'color' => "#743A3A")));
            send_template_message(urldecode(json_encode($template)));
        }
    }
}
Exemple #7
0
    require_once QISHI_ROOT_PATH . 'include/upload.php';
    $setsqlarr['audit'] = 2;
    //添加默认审核中..
    !$_FILES['photo_img']['name'] ? showmsg('请上传照片!', 1) : "";
    $photo_dir = "../../data/hunter/" . date("Y/m/d/");
    make_dir($photo_dir);
    $setsqlarr['photo_img'] = _asUpFiles($photo_dir, "photo_img", $_CFG['resume_photo_max'], 'gif/jpg/bmp/png', true);
    if ($setsqlarr['photo_img']) {
        /*
        	3.5新增打水印start
        */
        if (extension_loaded('gd')) {
            include_once QISHI_ROOT_PATH . 'include/watermark.php';
            $font_dir = QISHI_ROOT_PATH . "data/contactimgfont/cn.ttc";
            if (file_exists($font_dir)) {
                $tpl = new watermark();
                $tpl->img($photo_dir . $setsqlarr['photo_img'], gbk_to_utf8($_CFG['site_name']), $font_dir, 15, 0);
            }
        }
        /*
        	3.5新增end
        */
        $setsqlarr['photo_img'] = date("Y/m/d/") . $setsqlarr['photo_img'];
        $auth = $hunter_profile;
        @unlink("../../data/hunter/" . $auth['photo_img']);
        !$db->updatetable(table('hunter_profile'), $setsqlarr, " id='" . intval($hunter_profile['id']) . "' AND uid='" . intval($_SESSION['uid']) . "'") ? showmsg("保存失败!", 0) : showmsg("保存成功!", 2);
    } else {
        showmsg('保存失败!', 1);
    }
}
unset($smarty);
Exemple #8
0
 private function exit_word_message($word, $fromUsername, $toUsername, $time)
 {
     $word = gbk_to_utf8($word);
     $text = "<xml>\n\t\t<ToUserName><![CDATA[" . $fromUsername . "]]></ToUserName>\n\t\t<FromUserName><![CDATA[" . $toUsername . "]]></FromUserName>\n\t\t<CreateTime>" . $time . "</CreateTime>\n\t\t<MsgType><![CDATA[text]]></MsgType>\n\t\t<Content><![CDATA[" . $word . "]]></Content>\n\t\t</xml> ";
     exit($text);
 }
Exemple #9
0
/**
 * 编码转换函数
 * @param  $str 
 * @param  $from 
 * @param  $to
 * @return string
 */
function convert($str, $from = 'gbk', $to = 'utf-8')
{
    if (!$str) {
        return '';
    }
    if (strtolower($from) == strtolower($to)) {
        return $str;
    }
    $to = str_replace('gb2312', 'gbk', strtolower($to));
    $from = str_replace('gb2312', 'gbk', strtolower($from));
    if ($form == 'gbk' && $to == 'utf-8') {
        return gbk_to_utf8($str);
    } elseif ($form == 'utf-8' && $to == 'gbk') {
        return utf8_to_gbk($str);
    } else {
        return $str;
    }
}
Exemple #10
0
 $setsqlarr['audit'] = 2;
 //添加默认审核中..
 !$_FILES['certificate_img']['name'] ? showmsg('请上传图片!', 1) : "";
 $certificate_dir = "../../data/" . $_CFG['updir_certificate'] . "/" . date("Y/m/d/");
 make_dir($certificate_dir);
 $setsqlarr['certificate_img'] = _asUpFiles($certificate_dir, "certificate_img", $_CFG['certificate_max_size'], 'gif/jpg/bmp/png', true);
 if ($setsqlarr['certificate_img']) {
     /*
     	3.5新增打水印start
     */
     if (extension_loaded('gd')) {
         include_once QISHI_ROOT_PATH . 'include/watermark.php';
         $font_dir = QISHI_ROOT_PATH . "data/contactimgfont/cn.ttc";
         if (file_exists($font_dir)) {
             $tpl = new watermark();
             $tpl->img($certificate_dir . $setsqlarr['certificate_img'], gbk_to_utf8($_CFG['site_name']), $font_dir, 15, 0);
         }
     }
     /*
     	3.5新增end
     */
     $setsqlarr['certificate_img'] = date("Y/m/d/") . $setsqlarr['certificate_img'];
     $auth = $company_profile;
     @unlink("../../data/" . $_CFG['updir_certificate'] . "/" . $auth['certificate_img']);
     $wheresql = "uid='" . $_SESSION['uid'] . "'";
     write_memberslog($_SESSION['uid'], 1, 8002, $_SESSION['username'], "上传了营业执照");
     updatetable(table('jobs'), array('company_audit' => 2), $wheresql);
     updatetable(table('jobs_tmp'), array('company_audit' => 2), $wheresql);
     !updatetable(table('company_profile'), $setsqlarr, $wheresql) ? showmsg('保存失败!', 1) : showmsg('保存成功,请耐心等待管理员审核!', 2);
 } else {
     showmsg('保存失败!', 1);
        }
    }
} elseif ($act == 'edit_credent') {
    $uid = intval($_SESSION['uid']);
    $pid = intval($_REQUEST['pid']);
    if ($uid == 0 || $pid == 0) {
        exit('简历不存在!');
    }
    $resume_basic = get_resume_basic(intval($_SESSION['uid']), intval($_REQUEST['pid']));
    if (empty($resume_basic)) {
        exit("请先填写简历基本信息!");
    }
    $id = intval($_GET['id']) ? intval($_GET['id']) : exit('参数错误!');
    $credent_edit = get_resume_credent_one($_SESSION['uid'], $pid, $id);
    foreach ($credent_edit as $key => $value) {
        $credent_edit[$key] = gbk_to_utf8($value);
    }
    $json_encode = json_encode($credent_edit);
    exit($json_encode);
} elseif ($act == 'del_credent') {
    $id = intval($_GET['id']);
    $sql = "select * from " . table('resume_credent') . " where id='" . $id . "' AND uid='" . intval($_SESSION['uid']) . "'  LIMIT 1 ";
    $credent_one = $db->getone($sql);
    $images = $credent_one['images'];
    @unlink('../../data/credent_photo/' . $images);
    $sql = "Delete from " . table('resume_credent') . " WHERE id='{$id}'  AND uid='" . intval($_SESSION['uid']) . "' AND pid='" . intval($_REQUEST['pid']) . "' LIMIT 1 ";
    if ($db->query($sql)) {
        check_resume($_SESSION['uid'], intval($_REQUEST['pid']));
        //更新简历完成状态
        exit('删除成功!');
    } else {
Exemple #12
0
        dfopen($_CFG['site_domain'] . $_CFG['site_dir'] . "plus/asyn_sms.php?uid={$_SESSION['uid']}&key=" . asyn_userkey($_SESSION['uid']) . "&act=set_invite&companyname={$jobs['companyname']}&mobile={$resume_user['mobile']}");
    }
    //站内信
    if ($pms_notice == '1') {
        $user = $db->getone("select username from " . table('members') . " where uid ={$resume['uid']} limit 1");
        $jobs_url = url_rewrite('QS_jobsshow', array('id' => $jobs['id']));
        $company_url = url_rewrite('QS_companyshow', array('id' => $jobs['company_id']));
        $message = $jobs['companyname'] . "邀请您参加公司面试,面试职位:<a href=\"{$jobs_url}\" target=\"_blank\"> {$jobs['jobs_name']} </a>,<a href=\"{$company_url}\" target=\"_blank\">点击查看公司详情</a>";
        write_pmsnotice($resume['uid'], $user['username'], $message);
    }
    //微信
    if (intval($_CFG['weixin_apiopen']) == 1) {
        $user = $db->getone("select weixin_openid from " . table('members') . " where uid ={$resume['uid']} limit 1");
        if ($user['weixin_openid'] != "") {
            $jobs_url = $_CFG['wap_domain'] . "/wap-jobs-show.php?id=" . $jobs['id'];
            $template = array('touser' => $user['weixin_openid'], 'template_id' => "sdjPV1l3vyv_9mclCe6_Fm8UzyAadMI_w5iIC1DPFPE", 'url' => $jobs_url, 'topcolor' => "#7B68EE", 'data' => array('first' => array('value' => urlencode(gbk_to_utf8($jobs['companyname'] . "邀请您参加公司面试")), 'color' => "#743A3A"), 'job' => array('value' => urlencode(gbk_to_utf8($jobs['jobs_name'])), 'color' => "#743A3A"), 'company' => array('value' => urlencode(gbk_to_utf8($jobs['companyname'])), 'color' => "#743A3A"), 'time' => array('value' => urlencode(gbk_to_utf8("请点击查看")), 'color' => "#743A3A"), 'address' => array('value' => urlencode(gbk_to_utf8($jobs['contact']['address'])), 'color' => "#743A3A"), 'contact' => array('value' => urlencode(gbk_to_utf8($jobs['contact']['contact'])), 'color' => "#743A3A"), 'tel' => array('value' => urlencode($jobs['contact']['telephone']), 'color' => "#743A3A"), 'remark' => array('value' => urlencode("\\n" . $notes), 'color' => "#743A3A")));
            send_template_message(urldecode(json_encode($template)));
        }
    }
    exit("ok");
}
//获取职位或者简历的所属UID
function get_uid($aid, $type = 'jobs')
{
    global $db;
    if ($type == 'resume') {
        $table = table('resume');
    } else {
        $table = table('jobs');
    }
    $row = $db->getone("Select uid From {$table} Where id={$aid} LIMIT 1");
Exemple #13
0
function gbk_to_utf8($arr)
{
    if (empty($arr)) {
        return false;
    }
    if (is_array($arr)) {
        foreach ($arr as $key => $value) {
            $key = mb_convert_encoding($key, 'UTF-8', 'GBK');
            $arr[$key] = gbk_to_utf8($value);
        }
    } else {
        $arr = mb_convert_encoding($arr, 'UTF-8', 'GBK');
    }
    return $arr;
}
 function iv_iconv($in_charset, $out_charset, $str)
 {
     $in_charset = strtoupper($in_charset);
     $out_charset = strtoupper($out_charset);
     if (function_exists('mb_convert_encoding')) {
         return mb_convert_encoding($str, $out_charset, $in_charset);
     } else {
         $CI =& get_instance();
         $CI->load->helper('iconv');
         $in_charset = strtoupper($in_charset);
         $out_charset = strtoupper($out_charset);
         if ($in_charset == 'UTF-8' && ($out_charset == 'GBK' || $out_charset == 'GB2312')) {
             return utf8_to_gbk($str);
         }
         if (($in_charset == 'GBK' || $in_charset == 'GB2312') && $out_charset == 'UTF-8') {
             return gbk_to_utf8($str);
         }
         return $str;
     }
 }
Exemple #15
0
    $pid = $db->inserttable(table('jobs_templates'), $setsqlarr, true);
    if ($pid > 0) {
        exit("1");
    } else {
        exit("0");
    }
} elseif ($act == 'copy_templates') {
    $id = intval($_GET['id']);
    if ($id < 1) {
        exit("-1");
    }
    $templates = get_jobs_templates_one($id);
    $templates['contents'] = htmlspecialchars_decode($templates['contents'], ENT_QUOTES);
    if (!empty($templates)) {
        foreach ($templates as $key => $value) {
            $templates[$key] = gbk_to_utf8($value);
        }
        exit(json_encode($templates));
    } else {
        exit("-1");
    }
} elseif ($act == "get_content_by_jobs_cat") {
    $id = intval($_GET['id']);
    if ($id > 0) {
        $content = get_content_by_jobs_cat($id);
        if (!empty($content)) {
            exit($content);
        } else {
            exit("-1");
        }
    } else {
Exemple #16
0
function send_weixin_msg($openid, $content, $access_token)
{
    $data_arr = array("touser" => $openid, "msgtype" => "text", "text" => array("content" => urlencode(gbk_to_utf8($content))));
    $data = urldecode(json_encode($data_arr));
    $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" . $access_token;
    $result = https_request($url, $data);
    return json_decode($result, true);
}
Exemple #17
0
 private function transmitText($object, $content)
 {
     $xmlTpl = "<xml>\r\n<ToUserName><![CDATA[%s]]></ToUserName>\r\n<FromUserName><![CDATA[%s]]></FromUserName>\r\n<CreateTime>%s</CreateTime>\r\n<MsgType><![CDATA[text]]></MsgType>\r\n<Content><![CDATA[%s]]></Content>\r\n</xml>";
     $content = gbk_to_utf8($content);
     $result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time(), $content);
     return $result;
 }
Exemple #18
0
function iconv_js($string)
{
    if (strcasecmp(QISHI_DBCHARSET, "utf8") != 0) {
        return gbk_to_utf8($string);
    }
}
 function iconv($in_charset, $out_charset, $str)
 {
     $in_charset = strtoupper($in_charset);
     $out_charset = strtoupper($out_charset);
     if (function_exists('mb_convert_encoding')) {
         return mb_convert_encoding($str, $out_charset, $in_charset);
     } else {
         pc_base::load_sys_func('iconv');
         $in_charset = strtoupper($in_charset);
         $out_charset = strtoupper($out_charset);
         if ($in_charset == 'UTF-8' && ($out_charset == 'GBK' || $out_charset == 'GB2312')) {
             return utf8_to_gbk($str);
         }
         if (($in_charset == 'GBK' || $in_charset == 'GB2312') && $out_charset == 'UTF-8') {
             return gbk_to_utf8($str);
         }
         return $str;
     }
 }
Exemple #20
0
    }
    exit($html);
} elseif ($act == 'edit_training') {
    $uid = intval($_SESSION['uid']);
    $pid = intval($_REQUEST['pid']);
    if ($uid == 0 || $pid == 0) {
        exit('简历不存在!');
    }
    $resume_basic = get_resume_basic(intval($_SESSION['uid']), intval($_REQUEST['pid']));
    if (empty($resume_basic)) {
        exit("请先填写简历基本信息!");
    }
    $id = intval($_GET['id']) ? intval($_GET['id']) : exit('参数错误!');
    $training_edit = get_resume_training_one($_SESSION['uid'], $pid, $id);
    foreach ($training_edit as $key => $value) {
        $training_edit[$key] = gbk_to_utf8($value);
    }
    $json_encode = json_encode($training_edit);
    exit($json_encode);
} elseif ($act == 'del_training') {
    $id = intval($_GET['id']);
    $sql = "Delete from " . table('resume_training') . " WHERE id='{$id}'  AND uid='" . intval($_SESSION['uid']) . "' AND pid='" . intval($_REQUEST['pid']) . "' LIMIT 1 ";
    if ($db->query($sql)) {
        check_resume($_SESSION['uid'], intval($_REQUEST['pid']));
        //更新简历完成状态
        exit('删除成功!');
    } else {
        exit('删除失败!');
    }
} elseif ($act == 'edit_resume') {
    $uid = intval($_SESSION['uid']);