You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.3 KiB
73 lines
2.3 KiB
4 years ago
|
<?php
|
||
|
/**
|
||
|
* Created by xiaofu.qin
|
||
|
* email: xiaofu.qin@fanraun.com
|
||
|
* Date: 2017/3/2
|
||
|
* Time: 15:28
|
||
|
* Description: 在官网的首页引入执行main函数就可以设置相应的cookie,然后在需要跳转到登录/注册页面的页面下绑定dynamicPath.js下的那个函数就可以在登录和注册页面上接收线索来源这个信息了。
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
* 获取当前的url
|
||
|
* @return url
|
||
|
*/
|
||
|
function curPageURL(){
|
||
|
$pageURL = 'http://';
|
||
|
|
||
|
if ($_SERVER["SERVER_PORT"] != "80") {
|
||
|
$pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"];
|
||
|
}
|
||
|
else {
|
||
|
$pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
|
||
|
}
|
||
|
return $pageURL;
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* 判断来源
|
||
|
*
|
||
|
* @return $flag: 线索来源字符串
|
||
|
* baidufr : 来自finereport百度推广
|
||
|
* baidufbi : 来自fineBI百度推广
|
||
|
* bbs : 来自bbs
|
||
|
* shop : 来自应用中心
|
||
|
* helpfr : 来自finereport帮助文档
|
||
|
* helpfbi : 来自fineBI帮助文档
|
||
|
* www : 来自直接输入finereport或者fineBI官网的访问
|
||
|
*/
|
||
|
function whereAreYouFrom() {
|
||
|
$currentUrl = curPageURL();
|
||
|
try{
|
||
|
$prevPageUrl = $_SERVER['HTTP_REFERER'];
|
||
|
}catch (Exception $err) {
|
||
|
return 'Unknown';
|
||
|
}
|
||
|
|
||
|
$flag = null;
|
||
|
|
||
|
//首先判断是否来自于百度推广
|
||
|
if( strpos($currentUrl, 'bdtg') !== false ) {
|
||
|
$flag = strpos($currentUrl, 'report') ? 'baidufr' : 'baidufbi';
|
||
|
}
|
||
|
else {
|
||
|
if( strpos($prevPageUrl, 'help') !== false ) {
|
||
|
$flag = strpos($prevPageUrl, 'report')!== false ? 'helpfr' : 'helpfbi';
|
||
|
}else{
|
||
|
$array = array();
|
||
|
$pattern = '/\/\/([^\.]+)/';
|
||
|
preg_match_all($pattern, $prevPageUrl, $array);
|
||
|
$flag = $array[1][0];
|
||
|
}
|
||
|
}
|
||
|
return $flag;
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* 设置名为clueSource的cookie,首先判断是否已经设置,如果有就不会进行设置了
|
||
|
*/
|
||
|
function main() {
|
||
|
$flag = whereAreYouFrom();
|
||
|
if( !isset($_COOKIE['clueSource']) || $_COOKIE['clueSource'] == 'Unknown' ) {
|
||
|
setcookie("clueSource", $flag, time()+3600);
|
||
|
}
|
||
|
}
|