<?php
//取字符串长度
//反正这里是中文算一个 在utf-8的情况下 不管php里有没有mb_strlen函数 都没有问题;
//但是在gbk的情况下 是有问题的
function _abslength($str)
{
if(empty($str)){
return 0;
}
if(function_exists('mb_strlen')){
return mb_strlen($str,'utf-8');
}
else {
preg_match_all("/./u", $str, $ar);
return count($ar[0]);
}
}
//根据ip保存ip所在地
function _saveUserIpAddressByIp(&$baoMingObj, $rowObj)
{
//首先加载根据ip得到地址的文件
include_once 'getaddress.class.php';
$c = new GetAddress();
$baoMingObj->field_wsbm_useripaddress[0]['value'] = $c->GetIpFrom($rowObj->userip);
}
//抓取报名数据 $wangzhanwj表示是外接网站 类型与普通的不一样
function _zhuquBaoMingData($wangzhan,$orwangzhan=array(),$wangzhanwj=false)
{
global $user;
$orlike = '';
if(!empty($orwangzhan))
{
foreach($orwangzhan as $key=>$value)
{
$orlike .= " or field_wsbm_fromurl_value like '%".$value."%' ";
}
}
// $sql = "select n.nid from {node} as n " .
// " inner join content_field_wsbm_fromurl as wsbmfromurl on n.nid=wsbmfromurl.nid
// inner join content_field_wsbm_time as wsbmtime on n.nid=wsbmtime.nid
// where n.type='wangshangbaoming' and (wsbmfromurl.field_wsbm_fromurl_value " .
// " like '%%%s%%' ".$orlike." ) order by wsbmtime.field_wsbm_time_value desc limit 0,1";
$sql = "select n.nid from {node} as n " .
" inner join content_field_wsbm_fromurl as wsbmfromurl on n.nid=wsbmfromurl.nid
inner join content_field_wsbm_time as wsbmtime on n.nid=wsbmtime.nid
where n.type='wangshangbaoming' and ( wsbmfromurl.field_wsbm_fromurl_value " .
" like '%$wangzhan%' ".$orlike." ) order by wsbmtime.field_wsbm_time_value desc limit 0,1";
if($wangzhanwj) {
$sql = "select n.nid from {node} as n " .
" inner join content_field_wsbm_fromurl as wsbmfromurl on n.nid=wsbmfromurl.nid
inner join content_field_wsbm_time as wsbmtime on n.nid=wsbmtime.nid
where n.type='wj_wangshangbaoming'
order by wsbmtime.field_wsbm_time_value desc limit 0,1";
}
//$nid = db_result(db_query($sql,$wangzhan));
$nid = db_result(db_query($sql));
$lastWsbmWangZhanObj = node_load($nid);
//当没有的时候 就置为空
(empty($lastWsbmWangZhanObj) || empty($lastWsbmWangZhanObj->field_wsbm_time[0]['value'])) && $lastWsbmWangZhanObj->field_wsbm_time[0]['value']=0;
//var_dump($sql);
//var_dump($lastWsbmWangZhanObj->field_wsbm_time[0]['value']);
db_set_active($wangzhan);
$sql = "select * from {dede_archives} as arc inner join {dede_wangshangbaomingaddon21} as wangcon on arc.id=wangcon.aid " .
" where arc.arcrank>=-1 and arc.pubdate>%d order by arc.pubdate asc ";//大于等于-1 就是未发布和已发布(已审核) =-2 就是已删除的
$result = db_query($sql,$lastWsbmWangZhanObj->field_wsbm_time[0]['value']);
//var_dump($result);
//var_dump($lastWsbmWangZhanObj->field_wsbm_time[0]['value']);
//$arrBaoMing = array();
//var_dump($sql);
//var_dump($result);
//var_dump($lastWsbmWangZhanObj->field_wsbm_time[0]['value']);
db_set_active('default');
while($rowObj = db_fetch_object($result))
{
$rowObjTitle = trim($rowObj->title);
if (empty($rowObjTitle)){
continue;
}
$rowObjFromurl = $rowObj->fromurl;
// if(empty($rowObjFromurl)){
// continue;
// }
if (empty($rowObjFromurl)){
$rowObj->fromurl = 'http://'.$wangzhan.'/unknown';
}
$baoMingObj = null;
$baoMingObj = (object)$baoMingObj;
$baoMingObj->uid = $user->uid;
$baoMingObj->type = 'wangshangbaoming';
if($wangzhanwj){
$baoMingObj->type = 'wj_wangshangbaoming';
}
$baoMingObj->title = $rowObj->title;
$baoMingObj->field_wsbm_sex[0]['value'] = $rowObj->sex;
$baoMingObj->field_wsbm_tel[0]['value'] = $rowObj->tel;
$baoMingObj->field_wsbm_addr[0]['value'] = $rowObj->szdq;
$baoMingObj->field_wsbm_zuanye[0]['value'] = $rowObj->zuauye;
$baoMingObj->field_wzbm_postcode[0]['value'] = $rowObj->postcode;
$baoMingObj->field_wsbm_qq[0]['value'] = $rowObj->qq;
$baoMingObj->field_wsbm_zuigaoxueli[0]['value'] = $rowObj->zuigaoxueli;
$baoMingObj->field_wsbm_liuyan[0]['value'] = $rowObj->liuyan;
$baoMingObj->field_wsbm_fromurl[0]['value'] = $rowObj->fromurl;
$baoMingObj->field_wsbm_formtag[0]['value'] = $rowObj->formtag;
if($wangzhanwj){
$baoMingObj->field_wsbm_fromurl[0]['value'] = strrchr($rowObj->fromurl,'/');
}
$baoMingObj->field_wsbm_zuanyexiao[0]['value'] = $rowObj->zuauyexiao;
$baoMingObj->field_wsbm_email[0]['value'] = $rowObj->email;
$baoMingObj->field_wsbm_isyouxiao[0]['value'] = 1;
$baoMingObj->field_wsbm_time[0]['value'] = $rowObj->pubdate;
$baoMingObj->field_wsbm_yearmonthday[0]['value'] = $rowObj->yearmonthday;
$baoMingObj->field_wsbm_shengfengzhenghao[0]['value'] = $rowObj->shengfenzhenghao;
$baoMingObj->field_wsbm_shoujianrenname[0]['value'] = $rowObj->shoujianren;
$baoMingObj->field_wsbm_sousouyingqing[0]['value'] = $rowObj->sousouyingqing;
$baoMingObj->field_wsbm_guanjianci[0]['value'] = $rowObj->guanjianci;
$baoMingObj->field_wsbm_userip[0]['value'] = $rowObj->userip;
if(empty($rowObj->leibei)){
$baoMingObj->field_wsbm_leibei[0]['value'] = '报名';
}else{
$baoMingObj->field_wsbm_leibei[0]['value'] = $rowObj->leibei;
}
//下面的if else 是区分 网站属于 新区 还是 吴中的
if (stripos($wangzhan,'adb.') || stripos($wangzhan,'adbxy.') || stripos($wangzhan,'szadb.'))
{
$baoMingObj->field_wsbm_diqu[0]['value'] = '新区';
}
else {
$baoMingObj->field_wsbm_diqu[0]['value'] = '吴中';
}
_saveUserIpAddressByIp($baoMingObj, $rowObj);
node_save($baoMingObj);
//var_dump($baoMingObj);exit;
}
}
//这个是执行url 最初执行到的步骤
function shipingzhongcustom_init() {
$_GET['q'] = mb_convert_encoding($_GET['q'],'UTF-8','GBK');
$arg0 = arg(0);
$arg1 = arg(1);
$page = $_GET['page'];
if($arg0 == 'listwangshangbaoming' )
{
//先是进行ukart086.com 里的数据的抓取
//先是进行szfzxx.com 里的数据的抓取
//_zhuquBaoMingData('3g.ukart086.com',array(0=>'wap.ukart086.com',1=>'phone.ukart086.com'));
//先是进行szfzxx.com 里的数据的抓取
_zhuquBaoMingData('
www.szfzxx.com',array(0=>'szfzxx.com',1=>'new.szfzxx.com',2=>'wzfz.szfzxx.com',3=>'image.szfzxx.com'));
//先是进行wzfzxx.com 里的数据的抓取
//先是进行4000512126.com 里的数据的抓取
//先是进行3g.szfzxx.com 里的数据的抓取
_zhuquBaoMingData('3g.szfzxx.com',array(0=>'m.szfzxx.com',1=>'wap.szfzxx.com',2=>'3g.4000512126.com'));
//先是进行m.4000512126.com 里的数据的抓取
_zhuquBaoMingData('m.4000512126.com',array(0=>'wap.4000512126.com'));
//先是进行m.szfzxx.com 里的数据的抓取
_zhuquBaoMingData('m.wzfzxx.com');
//这两个是asp的网站
//先是进行adbxy.com 里的数据的抓取
//先是进行m.adbxy.com 里的数据的抓取
_zhuquBaoMingData('m.adbxy.com',array(0=>'m.adbxy.com',1=>'m.szadb.com',2=>'3g.adbxy.com',3=>'3g.szadb.com',4=>'wap.adbxy.com',5=>'wap.szadb.com'));
//先是进行adbxy.com 里的数据的抓取
//先是进行m.adbxy.com 里的数据的抓取
//_zhuquBaoMingData('m.szadb.com');
//吴中框架户电脑站 这里szkjh.szfzxx.com 与 m.szkjh.szfzxx.com 可能有冲突 前加http://
//爱丁堡框架户电脑站
//吴中框架户wap站 这里 m.szkjh.szfzxx.com 与 szkjh.szfzxx.com 可能有冲突 前加http://
//吴中报装学校 新 wzfz.szfzxx.com //已合并到 szfzxx.com
//_zhuquBaoMingData('wzfz.szfzxx.com');
//爱丁堡架户wap站
//地面招生pc站
//地面招生wap站
//_zhuquBaoMingData('m.szadb.com');
//整骨pc站
//整骨wap站
// //0,100 100,200 200,300 300,400 400,500 500,600 600,700
// $sql = "select n.nid as nid,n.title as title,wsbmtime.field_wsbm_time_value as " .
// "field_wsbm_time_value from node as n " .
// "inner join content_field_wsbm_time as wsbmtime on n.nid=wsbmtime.nid
// where n.type='wangshangbaoming' group by n.title,wsbmtime.field_wsbm_time_value order " .
// "by wsbmtime.field_wsbm_time_value desc limit 0,4000";
// $result = db_query($sql);
// $count = 0;
// while($rowResult = db_fetch_object($result))
// {
// $count = $count+1;
// //$tempNode = node_load($rowResult->nid);
// echo "<br /><br />----------";
// var_dump($count);
// var_dump($rowResult->nid);var_dump($rowResult->title);var_dump($rowResult->field_wsbm_time_value);
// echo "<br />";
// $sqlSon = "select n.nid as nid,n.title as title,wsbmtime.field_wsbm_time_value as " .
// "field_wsbm_time_value from node as n " .
// "inner join content_field_wsbm_time as wsbmtime on n.nid=wsbmtime.nid
// where n.type='wangshangbaoming' and n.nid!=$rowResult->nid and " .
// "n.title='$rowResult->title' and wsbmtime.field_wsbm_time_value=$rowResult->field_wsbm_time_value " .
// " order by n.nid desc ";
//
// //$oneNode = node_load($rowResult->nid);
// $resultSon = db_query($sqlSon);
// while($rowSonResult = db_fetch_object($resultSon))
// {
// echo(" son result");
// var_dump($rowSonResult->nid);var_dump($rowSonResult->title);var_dump($rowSonResult->field_wsbm_time_value);
// echo "<br />";
// node_delete($rowSonResult->nid);
// }
//
// }
// exit;
// foreach($arr as $key=>$value){
// $title = $value;
// $sql = "select nid,title from node where title='$title' order by created desc limit 0,1 ";
// $nid = db_result(db_query($sql));
// $firstNode = node_load($nid);
// echo "<br /><br />--------------";
// var_dump("first id : ");var_dump($nid);echo "<br />";
// var_dump("first title : ");var_dump($title);
// echo "<br />*************";
// $sqlAll = "select nid,title from node where title='$title'";
// $resultAll = db_query($sqlAll);
// var_dump($sqlAll);echo "<br />";
// while($rowResultAll = db_fetch_object($resultAll))
// {
// $tempNode = node_load($rowResultAll->nid);
//
// if($rowResultAll->nid != $nid && $firstNode->field_wsbm_tel[0]['value'] == $tempNode->field_wsbm_tel[0]['value']){
//
// var_dump($rowResultAll->nid.':');
// //var_dump($firstNode->field_wsbm_tel[0]['value']);
// //var_dump($tempNode->field_wsbm_tel[0]['value']);
// //node_delete($rowResultAll->nid);
// }
// }
// }
//
// exit;
}
if($arg0 == 'listwangshangbaomingwj' ){
//外接
_zhuquBaoMingData('ubhmyq58dddd.gotoip3.com',array(),true);
}
}
//第一次参数是 getrolebypermission 第二个参数是 权限的名称 (我们这里只用到第二个参数)
function shipingzhongcustom_getrolebypermission_page($getrolebypermission='getrolebypermission',$permission='view field_xueyuan_qq')
{
//根据 like 初步筛选出角色
$result = db_query("SELECT p.perm as perm,r.name as name,p.rid as rid FROM {role} r INNER JOIN {permission} p ON p.rid = r.rid where p.perm like '%%%s%%'",$permission);
$rolesArr = array();
while ($obj = db_fetch_object($result)) {
// $tmpArr['rid'] = $obj->rid;
// $tmpArr['perm'] = $obj->perm;
// $tmpArr['name'] = $obj->name;
// $permiArr[]=$tmpArr;
$rolesArr[$obj->rid]=$obj->name;
}
//主要的目的是检查一下某角色的所有的permission;;看某个角色的权限里 倒底有没有 传过来的$permission
foreach($rolesArr as $key=>$value)
{
$perms = array();
$resultPerms = db_query("SELECT p.perm FROM {role} r INNER JOIN {permission} p ON p.rid = r.rid
WHERE r.rid = '%d' ", $key);
if ($row = db_fetch_object($resultPerms)) {
$perms = explode(',', $row->perm);
}
foreach($perms as $keySon=>$valueSon){
$perms[$keySon] = trim($valueSon);
}
//如果传来的$permission不在某个角色的 $perms里 ,就剔除掉这个角色
if(!in_array($permission,$perms)){
unset($rolesArr[$key]);
}
}
$rolesStrs = implode(',',$rolesArr);
return $rolesStrs."<div style='color:#f00;font-size:14px;'>admin/getrolebypermission/的后面是权限的名称 比如(\"view field_xueyuan_qq\")
<br />再比如(\"edit field_xueyuan_qq\")
</div>";
}
//这个是执行url 最初执行到的步骤
function shipingzhongcustom_menu() {
$items = array();
$items['admin/getrolebypermission'] = array(
'title'=>'根据权限得到拥有这个权限的角色',
'type' => MENU_NORMAL_ITEM,
'page callback'=>'shipingzhongcustom_getrolebypermission_page',
//'page arguments' => array('hello','helloDrupal'),
'page arguments' => array(1,2),
// //它的优先级 大于 url传来的参数我
// //如果要默认值 就放在回调函数的形参上
// //array(1,2)表示只取url前两个参数 array(1)表示只取url第一个参数
'access arguments'=> array('administer')
);
// $items['helloform'] = array(
// 'title'=>t('hello drupal page form'),
// 'page callback'=>'hello_drupal_form',
// 'page arguments' => array('page callback arguments'),
// 'access arguments'=> array('access hellodrupal blocks')
// );
//
return $items;
// $items = array();
// $items['createtimezhong'] = array(
// 'title'=>t('create time zhong'),
// 'page callback'=>'createtimezhong',
// //'page arguments' => array('hello','helloDrupal'),
// //'page arguments' => array(1,2),
// //它的优先级 大于 url传来的参数我
// //如果要默认值 就放在回调函数的形参上
// //array(1,2)表示只取url前两个参数 array(1)表示只取url第一个参数
// 'access arguments'=> array('access administration pages')
// );
// $items['helloform'] = array(
// 'title'=>t('hello drupal page form'),
// 'page callback'=>'hello_drupal_form',
// 'page arguments' => array('page callback arguments'),
// 'access arguments'=> array('access hellodrupal blocks')
// );
//return $items;
}
//function createtimezhong()
//{
// $node = null;
// $node=(object)$node;
// $node->type = 'timezongtype';
// $node->uid = 1;
// $node->title = '时间总表';
// $node->field_zong_time[0]['value'] = date('Y-m-d').' 00:00:00';
// $nid = db_result(db_query("select nid from {content_field_zong_time} where field_zong_time_value='%s'",node->field_zong_time[0]['value']));
// //看是否有这个时间总表对象 如果没有的话 就保存
// if(empty($nid))
// {
// node_save($node);
// $node->title = $node->title.' '.$node->nid;
// node_save($node);
// }
// print '创建时间总表'..'成功';
//
//
//}
function shipingzhongcustom_perm() {
//return array('access test001 content');
return array('batch add multi node','batch add bianjiwritearticle','batch add browsernumreport','batch add shoululingreport','access jingjia zong jisuan','access kefu zong jisuan');
}
//修改 menu hook 能够批量添加多个节点的权限
function shipingzhongcustom_menu_alter(&$items) {
// Example - disable the page at node/add
//var_dump($items);var_dump("DDDDDDDd");
$items['multi_node_add']['access callback']='user_access';
$items['multi_node_add']['access arguments']=array('batch add multi node');
//$items['user/%user/edit']['access callback'] = 'user_access';
// $items['user/%user/edit']['access arguments'] = array('edit own info');
$items['multi_node_add/bianjiwritearticle?fields=field_wangchi_many,field_artivle_title,field_artivle_url,field_time,field_shoulu,field_baidu_paiming&num=10']['access callback']='user_access';
$items['multi_node_add/bianjiwritearticle?fields=field_wangchi_many,field_artivle_title,field_artivle_url,field_time,field_shoulu,field_baidu_paiming&num=10']['access arguments']=array('batch add bianjiwritearticle');
$items['multi_node_add/browsernumreport?fields=field_wangchi_many,field_yesterday,field_paiming&num=10']['access callback']='user_access';
$items['multi_node_add/browsernumreport?fields=field_wangchi_many,field_yesterday,field_paiming&num=10']['access arguments']=array('batch add browsernumreport');
$items['multi_node_add/shoululingreport?fields=field_wangchi_many,field_yesterday,field_paiming&num=10']['access callback']='user_access';
$items['multi_node_add/shoululingreport?fields=field_wangchi_many,field_yesterday,field_paiming&num=10']['access arguments']=array('batch add shoululingreport');
}
//操作时间总表与三大总表关系
function _opraZongReration($node)
{
switch ($node->type) {
case 'jingjiazongbiaotype':
$nodeTypeColNid = 'field_jingjiazong_nid';
break;
case 'kefuzongbiaotype':
$nodeTypeColNid = 'field_kfzhong_nid';
break;
case 'seozongbiaotype':
$nodeTypeColNid = 'field_seozong_nid';
break;
default:
break;
}
if(!empty($nodeTypeColNid)){
//得到时间总表的id
$sql = "select nid,field_jingjiazong_nid,field_kfzhong_nid,field_seozong_nid from {content_type_timezongtype} where $nodeTypeColNid=%d ";
$result = db_query($sql, $node->nid);
$timeZongTypeRelationObj = db_fetch_object($result); //得到时间id,和三大总表id
$sql = "update {content_type_timezongtype} set $nodeTypeColNid=null where nid=%d "; //更新 时间总表与 三大总表的关系
db_query($sql, $timeZongTypeRelationObj->nid);//好像执行更新 取时间节点并不能立即起效果
//所以下面 排除法 看其它两个是不是为空
switch ( $nodeTypeColNid ) {
case 'field_jingjiazong_nid':
if(empty($timeZongTypeRelationObj->field_kfzhong_nid) && empty($timeZongTypeRelationObj->field_seozong_nid)){
node_delete($timeZongTypeRelationObj->nid);//客服总表为空 且 seo总表为空时删除时间总表
}
break;
case 'field_kfzhong_nid':
if(empty($timeZongTypeRelationObj->field_jingjiazong_nid) && empty($timeZongTypeRelationObj->field_seozong_nid)){
node_delete($timeZongTypeRelationObj->nid);//竞价总表为空 且 seo总表为空时删除时间总表
}
break;
case 'field_seozong_nid':
if(empty($timeZongTypeRelationObj->field_jingjiazong_nid) && empty($timeZongTypeRelationObj->field_kfzhong_nid)){
node_delete($timeZongTypeRelationObj->nid);//竞价总表为空 且 客服总表为空时删除时间总表
}
break;
default:
break;
}
}
}
//在插入前 和插入后执行的动作
function shipingzhongcustom_nodeapi(&$node, $op, $a3 = null , $a4 = null){
//在这三大总表保存前,看是否有 时间总表对象 如果没有的话 就 建一个总表对象 进行保存
if($op == 'presave')
{
if($node->type == 'jingjiazongbiaotype' || $node->type == 'kefuzongbiaotype' || $node->type == 'seozongbiaotype')
{
//如果是更新的情况下,我们就删除时间总表原来的对表的 竞价总表 或 客服总表 或 SEO总表
if(!empty($node->nid)){
_opraZongReration($node);
}
$field_zong_time = $node->field_zong_time[0]['value'];
$sql ="select no.nid from {node} as no inner join {content_field_zong_time} as time on no.nid=time.nid where
no.type='timezongtype' and time.field_zong_time_value='%s' limit 0,1";
$result = db_query($sql,$field_zong_time);
$timeZongTypeObj = db_fetch_object($result);
if(empty($timeZongTypeObj)){
$timeZongTypeObj = (object)$timeZongTypeObj; //创建空节点对象
$timeZongTypeObj->uid = 1; // 创建订单者统一设为超级管理员
$timeZongTypeObj->type = 'timezongtype'; //节点类型为“时间总表”
$timeZongTypeObj->title = '时间总表 '.$field_zong_time;
$timeZongTypeObj->field_zong_time[0]['value'] = $field_zong_time;
$timeZongTypeObj->language = 'zh-hans';
node_save($timeZongTypeObj);
}
}
}
//假如三大总表是保存后,就把它三大表置为 时间总表的引用对象 //
//更新也有可能会执行执行了
if($op == 'insert' || $op == 'update')
{
if($node->type == 'jingjiazongbiaotype' || $node->type == 'kefuzongbiaotype' || $node->type == 'seozongbiaotype')
{
$field_zong_time = $node->field_zong_time[0]['value'];
$sql ="select no.nid from {node} as no inner join {content_field_zong_time} as time on no.nid=time.nid where
no.type='timezongtype' and time.field_zong_time_value='%s' limit 0,1";
$result = db_query($sql,$field_zong_time); // 返回的是总表的nid;
if(!empty($result)){ //这个是假如时间总表存在的话 这个只有nid的对象
$tmpTimeZongTypeObj = db_fetch_object($result);
$timeZongTypeObj = node_load($tmpTimeZongTypeObj->nid);//到数据库里加载它
}
else { //假如时间总表不存在的话
$timeZongTypeObj = (object)$timeZongTypeObj; //创建空节点对象
$timeZongTypeObj->uid = 1; // 创建订单者统一设为超级管理员
$timeZongTypeObj->type = 'timezongtype'; //节点类型为“时间总表”
$timeZongTypeObj->title = '时间总表 '.$field_zong_time;
$timeZongTypeObj->field_zong_time[0]['value'] = $field_zong_time;
$timeZongTypeObj->language = 'zh-hans';
node_save($timeZongTypeObj);
}
if($node->type == 'jingjiazongbiaotype'){
$timeZongTypeObj->field_jingjiazong[0][nid] = $node->nid;
}
if($node->type == 'kefuzongbiaotype'){
$timeZongTypeObj->field_kfzhong[0][nid] = $node->nid;
}
if($node->type == 'seozongbiaotype'){
$timeZongTypeObj->field_seozong[0][nid] = $node->nid;
}
node_save($timeZongTypeObj);
}
}
//删除三大总表时进行的操作
if($op == 'delete')
{
if($node->type == 'jingjiazongbiaotype' || $node->type == 'kefuzongbiaotype' || $node->type == 'seozongbiaotype')
{
_opraZongReration($node);
}
}
}
//以什么什么开头,$str, $needle是部分串
function _startWith($str, $needle) {
return strpos($str, $needle) === 0;
}
function _endWith($haystack, $needle)
{
$length = strlen($needle);
if($length == 0)
{
return true;
}
return (substr($haystack, -$length) === $needle);
}
////应该是即将输出前的东西 render 应该在执行sql语句前执行 反正肯定在views_pre_view 之后执行
//function shipingzhongcustom_views_pre_render (&$view)
//{
// $arg0 =arg(0);
// if ($view->name=='allcontentview' && $arg0='listkefu') {
// $filters = $view->display_handler->get_option('filters');
// dsm($filters['field_qq_property_value_many_to_one']);
// var_dump("shipingzhongcustom_views_pre_render");
// }
//}
//在view前处理
function shipingzhongcustom_views_pre_view(&$view, &$display_id, &$args)
{
global $user;
//$arr = get_object_vars($view);//得到view数组
//var_dump(array_keys($arr)); //得到 view的所有键组成的数组
//var_dump($view->name); //得到的是views的名称 allcontentview
//var_dump($view->current_display); //得到的是当前视图display 的名称 page_14 也就是$display_id吧
//var_dump($view->db_table); //得到的是字段名
// $arr = get_object_vars($view->display_handler);得到display_handler 也就是在view中配置所组成的数组
// var_dump(array_keys($arr));exit;//得到display_handler 也就是在view中配置的所有键
// var_dump($view->display_handler->get_option('filters'));得到过滤器数组
//当是allcontentview视图 且 下面的page_14(总表) 或 feed_12(总表的excel)
if( $view->name=='allcontentview' && ($display_id=='page_14' || $display_id=='feed_12' ||
$display_id=='page_20' || $display_id=='page_19' || $display_id=='feed_13' || $display_id=='page_21' || $display_id=='feed_14'))
{
$arg0 = arg(0);
$allfields = $view->display_handler->get_option('fields');//得到所有的显示的字段的数组
if(!user_access('view field_baidu_szfzxx_xiaofei') && $arg0='listzongwuzhong') {
unset($allfields['php']); //没有 查看 (百度 szfzxx 消费) (所以无法计算单价)的时候 删掉这个列 (百度 szfzxx 单价)吧
unset($allfields['php_3']); //没有 查看 (百度 szfzxx 消费) 的时候 删掉这个列 (百度 竞价 总消费)吧
unset($allfields['php_4']); //没有 查看 (百度 szfzxx 消费) 的时候 (当然也就无权查看百度szfzxx点击) 删掉这个列 (百度 竞价 总点击)吧
unset($allfields['php_5']); //没有 查看 (百度 szfzxx 消费) 的时候 (所以无法计算单价)删掉这个列 (百度 竞价 总平均 单价)吧
}
if(!user_access('view field_baidu_szfzxx_xiaofei') && $arg0='listzongadb') {
unset($allfields['php']); //没有 查看 (百度 szfzxx 消费) (所以无法计算单价)的时候 删掉这个列 (百度 szfzxx 单价)吧
unset($allfields['php_3']); //没有 查看 (百度 szfzxx 消费) 的时候 删掉这个列 (百度 竞价 总消费)吧
unset($allfields['php_4']); //没有 查看 (百度 szfzxx 消费) 的时候 (当然也就无权查看百度szfzxx点击) 删掉这个列 (百度 竞价 总点击)吧
unset($allfields['php_5']); //没有 查看 (百度 szfzxx 消费) 的时候 (所以无法计算单价)删掉这个列 (百度 竞价 总平均 单价)吧
}
if(!user_access('view field_baidu_szfzxx_xiaofei') && $arg0='listzongzong') {
unset($allfields['php']); //没有 查看 (百度 szfzxx 消费) (所以无法计算单价)的时候 删掉这个列 (百度 szfzxx 单价)吧
unset($allfields['php_3']); //没有 查看 (百度 szfzxx 消费) 的时候 删掉这个列 (百度 竞价 总消费)吧
unset($allfields['php_4']); //没有 查看 (百度 szfzxx 消费) 的时候 (当然也就无权查看百度szfzxx点击) 删掉这个列 (百度 竞价 总点击)吧
unset($allfields['php_5']); //没有 查看 (百度 szfzxx 消费) 的时候 (所以无法计算单价)删掉这个列 (百度 竞价 总平均 单价)吧
unset($allfields['php_25']); //没有 查看 (百度 szfzxx 消费) 的时候 (所以无法计算单价)删掉这个列 (百度 竞价 总平均 单价)吧
unset($allfields['php_26']); //没有 查看 (百度 szfzxx 消费) 的时候 (所以无法计算单价)删掉这个列 (百度 竞价 总平均 单价)吧
unset($allfields['php_27']); //没有 查看 (百度 szfzxx 消费) 的时候 (所以无法计算单价)删掉这个列 (百度 竞价 总平均 单价)吧
unset($allfields['php_22']); //没有 查看 (百度 szfzxx 消费) 的时候 (所以无法计算单价)删掉这个列 (百度 竞价 总平均 单价)吧
unset($allfields['php_23']); //没有 查看 (百度 szfzxx 消费) 的时候 (所以无法计算单价)删掉这个列 (百度 竞价 总平均 单价)吧
unset($allfields['php_24']); //没有 查看 (百度 szfzxx 消费) 的时候 (所以无法计算单价)删掉这个列 (百度 竞价 总平均 单价)吧
}
if(!user_access('view field_baidu_400_xiaofei')) {
unset($allfields['php_1']); //没有 查看 (百度 4000512126 消费) 的时候 删掉这个列 (百度 4000512126 单价)吧
}
if(!user_access('view field_baidu_ukart_xiaofei')) {
unset($allfields['php_2']); //没有 查看 (百度 ukart086 消费) 的时候 删掉这个列 (百度 ukart086 单价)吧
}
if(!user_access('view field_sougou_wzfzxx_xiaofei')) {
unset($allfields['php_9']); //没有 查看 (搜狗 wzfzxx 消费) 的时候 删掉这个列 (搜狗 wzfzxx 单价)吧
unset($allfields['php_6']); //没有 查看 (搜狗 wzfzxx 消费) 的时候 删掉这个列 (搜狗 wzfzxx 总消费)吧
unset($allfields['php_7']); //没有 查看 (搜狗 wzfzxx 消费) 的时候 (当然也就无权查看搜狗 wzfzxx点击) 删掉这个列 (搜狗竞价总点击 (它只有一个wzfzxx))吧
unset($allfields['php_8']); //没有 查看 (搜狗 wzfzxx 消费) 的时候 (所以无法计算单价) 删掉这个列 (搜搜 竞价 总平均 单价(它只有一个wzfzxx))吧
}
if(!user_access('view field_sousou_szfzxx_xiaofei')) {
unset($allfields['php_10']); //没有 查看 (搜搜 szfzxx 消费) 的时候 删掉这个列 (搜搜 szfzxx 单价)吧
unset($allfields['php_13']);//没有 查看 (搜搜 szfzxx 消费) 的时候 删掉这个列 (搜搜 竞价 总消费)吧
unset($allfields['php_14']);//没有 查看 (搜搜 szfzxx 消费) 的时候 (当然也就无权查看搜搜szfzxx点击) 删掉这个列 (搜搜 竞价 总点击)吧
unset($allfields['php_15']);//没有 查看 (搜搜 szfzxx 消费) 的时候 (所以无法计算单价)删掉这个列 (搜搜 竞价 总平均 单价)吧
}
if(!user_access('view field_sousou_400_xiaofei')) {
unset($allfields['php_11']); //没有 查看 (搜搜 4000512126 消费) 的时候 删掉这个列 (搜搜 4000512126 单价)吧
}
if(!user_access('view field_baidu_400_jy_xiaofei')) {
unset($allfields['php_12']); //没有 查看 (百度 4000512126教育 消费) 的时候 删掉这个列 (百度 4000512126教育 单价)吧
}
if(!user_access('view field_360_szfzxx_xiaofei')) {
unset($allfields['php_16']); //没有 查看 (360 szfzxx 消费) 的时候 删掉这个列 (360 szfzxx 单价)吧
unset($allfields['php_19']); //没有 查看 (360 szfzxx 消费) 的时候 删掉这个列 (360 竞价 总消费)吧
unset($allfields['php_20']); //没有 查看 (360 szfzxx 消费) 的时候 (当然也就无权查看360szfzxx点击) 删掉这个列 (360 竞价 总点击)吧
unset($allfields['php_21']); //没有 查看 (360 szfzxx 消费) 的时候 (所以无法计算单价)删掉这个列 (360 竞价 总平均 单价)吧
}
if(!user_access('view field_360_400_xiaofei')) {
unset($allfields['php_17']); //没有 查看 (360 4000512126 消费) 的时候 删掉这个列 (360 4000512126 单价)吧
}
if(!user_access('view field_360_ukart_xiaofei')) {
unset($allfields['php_18']); //没有 查看 (360 ukart 消费) 的时候 删掉这个列 (360 ukart 单价)吧
}
//查看竞价总表计算的权限
if (!user_access('access jingjia zong jisuan'))
{
unset($allfields['php_22']); //没有 查看 竞价总表计算的权限
unset($allfields['php_23']); //没有 查看 竞价总表计算的权限
unset($allfields['php_24']); //没有 查看 竞价总表计算的权限
unset($allfields['php_25']); //没有 查看 竞价总表计算的权限
unset($allfields['php_26']); //没有 查看 竞价总表计算的权限
unset($allfields['php_27']); //没有 查看 竞价总表计算的权限
unset($allfields['php_28']); //没有 查看 竞价总表计算的权限
unset($allfields['php_29']); //没有 查看 竞价总表计算的权限
unset($allfields['php_30']); //没有 查看 竞价总表计算的权限
unset($allfields['php_40']); //没有 查看 竞价总表计算的权限
unset($allfields['php_41']); //没有 查看 竞价总表计算的权限
}
//查看 客服总表计算的权限
if(!user_access('access kefu zong jisuan')) {
unset($allfields['php_31']); //没有 查看 客服总表计算的权限
unset($allfields['php_32']); //没有 查看 客服总表计算的权限
unset($allfields['php_33']); //没有 查看 客服总表计算的权限
unset($allfields['php_34']); //没有 查看 客服总表计算的权限
unset($allfields['php_35']); //没有 查看 客服总表计算的权限
unset($allfields['php_36']); //没有 查看 客服总表计算的权限
}
//var_dump($allfields['edit_node']);
//var_dump($allfields['edit_node_1']);
//var_dump($allfields['edit_node_2']);
//echo "<pre>";
// var_dump($allfields);exit;
//看有没有编辑任意竞价总表权限
unset($allfields['edit_node']); //看有没有编辑任意竞价总表权限 因为使用php_37 这里直接移除
unset($allfields['edit_node_1']); //看有没有编辑任意客服总表权限 因为使用php_38 这里直接移除
unset($allfields['edit_node_2']); //看有没有编辑任意SEO总表权限 因为使用php_39 这里直接移除
if(!user_access('edit any jingjiazongbiaotype content')) {
unset($allfields['php_37']); //看有没有编辑任意竞价总表权限
}
//看有没有编辑任意客服总表权限
if(!user_access('edit any kefuzongbiaotype content')) {
unset($allfields['php_38']); //看有没有编辑任意竞价总表权限
}
//看有没有编辑任意SEO总表权限
if(!user_access('edit any seozongbiaotype content')) {
unset($allfields['php_39']); //看有没有编辑任意竞价总表权限
}
if(!user_access('view field_baidu_wm_szfzxx_xiaofei')) {
unset($allfields['php_42']); //没有 查看 (百度 szfzxx网盟 消费) 的时候 删掉这个列 (szfzxx网盟 单价)吧
}
//在去掉某些字段后 最后超越这个数组
$view->display_handler->override_option('fields',$allfields);
$filters = $view->display_handler->get_option('filters');
$filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
$view->display_handler->override_option('filters', $filters);
}
if($view->name=='wangshangbaoming' && ($display_id=='page_1'))
{
$filters = $view->display_handler->get_option('filters');
$filters['field_wsbm_time_value']['default_date'] = date('Y-m').'-01';
$view->display_handler->override_option('filters', $filters);
}
if($view->name=='wangshangbaoming' && ($display_id=='feed_1'))
{
$filters = $view->display_handler->get_option('filters');
$filters['field_wsbm_time_value']['default_date'] = date('Y-m').'-01';
$view->display_handler->override_option('filters', $filters);
}
if($view->name=='allcontentview' && ($display_id=='page_3'))
{
$filters = $view->display_handler->get_option('filters');
$filters['field_time_value']['default_date'] = date('Y-m').'-01';
$view->display_handler->override_option('filters', $filters);
}
if($view->name=='allcontentview' && ($display_id=='feed_3'))
{
$filters = $view->display_handler->get_option('filters');
$filters['field_time_value']['default_date'] = date('Y-m').'-01';
$view->display_handler->override_option('filters', $filters);
}
if($view->name=='allcontentview' && ($display_id=='page_15'))
{
$filters = $view->display_handler->get_option('filters');
$filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
$view->display_handler->override_option('filters', $filters);
}
if($view->name=='allcontentview' && ($display_id=='page_27'))
{
$filters = $view->display_handler->get_option('filters');
$filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
$view->display_handler->override_option('filters', $filters);
}
if($view->name=='allcontentview' && ($display_id=='page_16'))
{
$filters = $view->display_handler->get_option('filters');
$filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
$view->display_handler->override_option('filters', $filters);
}
if($view->name=='allcontentview' && ($display_id=='page_17'))
{
$filters = $view->display_handler->get_option('filters');
$filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
$view->display_handler->override_option('filters', $filters);
}
if($view->name=='allcontentview' && ($display_id=='page_18'))
{
$filters = $view->display_handler->get_option('filters');
$filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
$view->display_handler->override_option('filters', $filters);
}
if($view->name=='allcontentview' && ($display_id=='page_19'))
{
$filters = $view->display_handler->get_option('filters');
$filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
$view->display_handler->override_option('filters', $filters);
}
if($view->name=='allcontentview' && ($display_id=='page_18'))
{
$allfields = $view->display_handler->get_option('fields');//得到所有的显示的字段的数组
if(!user_access('edit any jingjiazongbiaotype content')) {
unset($allfields['php_37']); //看有没有编辑任意竞价总表权限
}
//看有没有编辑任意客服总表权限
if(!user_access('edit any kefuzongbiaotype content')) {
unset($allfields['php_38']); //看有没有编辑任意竞价总表权限
}
$view->display_handler->override_option('fields',$allfields);
}
if($view->name=='allcontentview' && ($display_id=='page_26'))
{
$filters = $view->display_handler->get_option('filters');
$filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
$view->display_handler->override_option('filters', $filters);
}
if($view->name=='allcontentview' && ($display_id=='page_28'))
{
$filters = $view->display_handler->get_option('filters');
$filters['field_zong_time_value']['default_date'] = date('Y-m').'-01';
$view->display_handler->override_option('filters', $filters);
}
}
////在render前处理 //执行sql查询后执行
//function shipingzhongcustom_views_pre_render(&$view) {
//
// //得到第一个对象
// $obj1 = $view->result[0];
// //把它转成数组
// $arr1 = get_object_vars($obj1);
// //把这个数组每个字段循环赋值为
// foreach($arr1 as $key=>$value)
// {
// $arr1[$key] = " ";
//// $arr1[$key] = "111111111111";
// }
// //再把这个数组转成对象
// $objLast=(object)$arr1;
//
// $view->result[]=$objLast;
//}
//在post render前处理
//function shipingzhongcustom_views_post_render(&$view)
//{
// var_dump($view->result);
// //var_dump($view);exit;
//
//
//}
//执行sql查询后执行
function shipingzhongcustom_views_post_execute(&$view) {
// If there are more than 100 results, show a message that encourages the user
// to change the filter settings.
// (This action could be performed later in the execution process, but not
// earlier.)
// $arr = get_object_vars($view);
// var_dump(array_keys($arr));exit;//这里得到view对象的各个字段
//var_dump($view->pager);exit;
//var_dump($view->current_display);var_dump($view->name);
//当是allcontentview视图 且 下面的page_14(总表)
// if( $view->name=='allcontentview' && ($view->current_display=='page_14'))
// {
// $currentPage = $_GET['page'];
// //假如 /listzong 后面没有page参数的时候 跳到最后一页
// if(empty($currentPage) && strcmp(strval($currentPage),'0')!=0) {
// $lastPage = intval(ceil($view->total_rows/$view->pager['items_per_page']));
// $lastPage = $lastPage-1;
// header('LOCATION: /listzong?page='.$lastPage);
// exit;
// //drupal_goto('listzong?page='.$lastPage);
// }
// }
// if ($view->total_rows > 100) {
// drupal_set_message(t('You have more than 100 hits. Use the filter settings to narrow down your list.'));
// }
}
//应该是即将输出前的东西 render 在执行sql语句前执行
//function shipingzhongcustom_views_pre_render (&$view)
//{
// //$arr = get_object_vars($view);
// //var_dump(array_keys($arr));
//}
//应该是即将输出前的东西 post_render 在执行sql语句后 执行 所以肯定是在hook_views_pre_render之后执行
//function shipingzhongcustom_views_post_render (&$view, &$output, &$cache)
//{
// //$arr = get_object_vars($view);
// //var_dump(array_keys($arr));
// //str_re
// // exit;
//}
function shipingzhongcustom_form_alter(&$form, &$form_state, $form_id)
{
//下面是添加的时候给总表传默认值
// //var_dump($node);var_dump($form_id);var_dump("QQQQQQqq");
if($form_id=='jingjiazongbiaotype_node_form' || $form_id=='kefuzongbiaotype_node_form' || $form_id=='seozongbiaotype_node_form' )
{
$thirdPara = arg(3);//这是第三个参数
if(!empty($thirdPara)){
$form['field_zong_time'][0]['#default_value']['value'] = arg(3);
}
}
if($form_id == 'kefuchat_node_form'){
//var_dump($form['field_qq_property']);
$form['#after_build'][] = '_afterFormSelect';
}
if($form_id == 'kefuchat_node_form'){
//var_dump($form['field_qq_property']);
$form['#after_build'][] = '_trimTel';
}
if($form_id == 'kefuchat_node_form'){
$form['#after_build'][] = '_kefuchat_node_form_validation';
}
if($form_id == 'jingjiazongbiaotype_node_form'){
$form['#after_build'][] = '_jingjiazongbiaotype_node_form_validation';
}
if($form_id == 'kefuzongbiaotype_node_form'){
$form['#after_build'][] = '_kefuzongbiaotype_node_form_validation';
}
if($form_id == 'seozongbiaotype_node_form'){
$form['#after_build'][] = '_seozongbiaotype_node_form_validation';
}
$arg0 = arg(0);
if( $arg0=='listkefu' && $form_id=='views_exposed_form'){
unset($form['field_qq_property_value_many_to_one']['#options']['leyu']);
//unset($form['field_qq_property_value_many_to_one']['#options']['xingqubaidushangqiao']);
unset($form['field_qq_property_value_many_to_one']['#options']['xingqushoujiliuyan']);
//unset($form['field_qq_property_value_many_to_one']['#options']['400xinqu']);
//unset($form['field_qq_property_value_many_to_one']['#options']['liuyan']);
unset($form['field_qq_property_value_many_to_one']['#options']['400']);
unset($form['field_qq_property_value_many_to_one']['#options']['baidushangqiao']);
unset($form['field_qq_property_value_many_to_one']['#options']['kuishangtong']);
unset($form['field_qq_property_value_many_to_one']['#options']['qiyeqq']);
}
}
function _trimTel($form, &$form_state){
$form_state['values']['field_tel'][0]['value'] = trim($form_state['values']['field_tel'][0]['value']);
return $form;
}
function _afterFormSelect($form, &$form_state) {
$options = array(
"1" => "option1",
"2" => "option2",
);
//$form['field_qq_property']['und']['#options'] = $options;
//dsm($form['field_qq_property']['value']['#options']);
$arrOptions = $form['field_qq_property']['value']['#options'];
unset($arrOptions['leyu']);
//unset($arrOptions['xingqubaidushangqiao']);
unset($arrOptions['xingqushoujiliuyan']);
//unset($arrOptions['400xinqu']);
//unset($arrOptions['liuyan']);
unset($arrOptions['400']);
unset($arrOptions['baidushangqiao']);
unset($arrOptions['kuishangtong']);
unset($arrOptions['qiyeqq']);
$form['field_qq_property']['value']['#options'] = $arrOptions;
return $form;
}
function _after_build_kefuchat_node_form_validate($form, &$form_state) {
$form['#validate'][] = '_kefuchat_node_form_validation';
}
function _kefuchat_node_form_validation($form, &$form_state) {
$arg0=arg(0);
$arg1=arg(1);
$arg2=arg(2);
if($form_state['values']['field_tel'][0]['value'] && ($arg0=='node' && $arg1='add' && $arg2=='kefuchat'))
{
//var_dump($form_state['values']['field_suozaixiaoqu']['value']);
//var_dump($form_state['values']['field_tel'][0]['value']);
$sql = "select n.nid as nid from {node} as n inner join {content_type_kefuchat} as kefu on n.nid=kefu.nid
inner join {content_field_tel} as tel on n.nid=tel.nid where n.type='kefuchat' and tel.field_tel_value='%s'";
$result = db_query($sql,$form_state['values']['field_tel'][0]['value']);
$rowIds = array();
while ($rowObject = db_fetch_object($result))
{
$rowIds[]= $rowObject->nid;
}
$rowObjs = array();
foreach($rowIds as $id)
{
$rowObjs[] = node_load($id);
}
foreach($rowObjs as $key=>$obj)
{
drupal_set_message('以前存在过这个号码','error',false);
$form_state['values']['field_tel'][0]['value'] = $form_state['values']['field_tel'][0]['value']."cf_tel";
// empty($obj->field_suozaixiaoqu[0]['value']) && $obj->field_suozaixiaoqu[0]['value']='wz';
//
// if($obj->field_suozaixiaoqu[0]['value'] == $form_state['values']['field_suozaixiaoqu']['value']){
// form_set_error('field_suozaixiaoqu', "对不起已存在这个电话号码,原来的电话号码<a href='/node/".$obj->nid."/edit'>在这里</a>!");
// }
// else if($obj->field_suozaixiaoqu[0]['value'] != $form_state['values']['field_suozaixiaoqu']['value']){
// drupal_set_message('已在另一个校区存在这个号码','error',false);
// $form_state['values']['field_tel'][0]['value'] = $form_state['values']['field_tel'][0]['value']."cf_tel";
// }
}
// var_dump($form_state['values']['field_suozaixiaoqu']);
// var_dump($rowObjs);
// exit;
}
return $form;
}
function _getGuishude($nid,$tel)
{
$node = node_load($nid);
$tel = strval(trim($tel));
if(empty($tel)){
return '';
}
$tel = substr($tel,0,11);
$guishudi = iconv('GBK','UTF-8',$guishudi);
$guishudi = str_replace('encoding="gb2312"','encoding="utf-8"',$guishudi);
$dataObj = simplexml_load_string($guishudi);
if(strval($dataObj->retmsg)=='OK'){
$outputstring = trim(strval($dataObj->province)).'省'.trim(strval($dataObj->city)).'市 '.strval($dataObj->supplier).' ';
$node->field_shoujiguishudi[0]['value'] = $outputstring;
node_save($node);
}
else{
$outputstring = '';
}
return $outputstring;
}
function _getGuishudeByIdTel($guishudi,$nid,$tel)
{
if(!empty($guishudi)){
return $guishudi;
}
return _getGuishude($nid,$tel);
}
////hook import postprocess
//function hook_node_import_postprocess($type, $values, $options, $preview) {
//
//
//
//}
////hook import task
//function hook_node_import_task($task, $op){
//
//}
//hook import format options
//function hook_node_import_format_options_alter(&$formats, $op){
//
//
//}
//竞价总表时间验证
function _jingjiazongbiaotype_node_form_validation($form, &$form_state) {
if($form_state['values']['field_zong_time'][0]['value']["date"])
{
$strDate = $form_state['values']['field_zong_time'][0]['value']["date"];
$strDateYmdHis = date('Y-m-d H:i:s',strtotime($strDate));
$sql ="select n.nid from node as n inner join content_field_zong_time as zong_time on n.nid=zong_time.nid
where n.type='jingjiazongbiaotype' and zong_time.field_zong_time_value='$strDateYmdHis'";
$result = db_result(db_query($sql));
if(!empty($result) && $form_state['values']['nid']!=$result ){
form_set_error('field_zong_time', $strDate."原来有竞价总表,<a href='/node/".$result."/edit'>在这里编辑</a>!");
}
}
return $form;
}
//客服总表时间验证
function _kefuzongbiaotype_node_form_validation($form, &$form_state) {
if($form_state['values']['field_zong_time'][0]['value']["date"])
{
$strDate = $form_state['values']['field_zong_time'][0]['value']["date"];
$strDateYmdHis = date('Y-m-d H:i:s',strtotime($strDate));
$sql ="select n.nid from node as n inner join content_field_zong_time as zong_time on n.nid=zong_time.nid
where n.type='kefuzongbiaotype' and zong_time.field_zong_time_value='$strDateYmdHis'";
$result = db_result(db_query($sql));
if(!empty($result) && $form_state['values']['nid']!=$result ){
form_set_error('field_zong_time', $strDate."原来有客服总表,<a href='/node/".$result."/edit'>在这里编辑</a>!");
}
}
return $form;
}
function _seozongbiaotype_node_form_validation($form, &$form_state) {
if($form_state['values']['field_zong_time'][0]['value']["date"])
{
$strDate = $form_state['values']['field_zong_time'][0]['value']["date"];
$strDateYmdHis = date('Y-m-d H:i:s',strtotime($strDate));
$sql ="select n.nid from node as n inner join content_field_zong_time as zong_time on n.nid=zong_time.nid
where n.type='seozongbiaotype' and zong_time.field_zong_time_value='$strDateYmdHis'";
$result = db_result(db_query($sql));
if(!empty($result) && $form_state['values']['nid']!=$result ){
form_set_error('field_zong_time', $strDate."原来有seo总表,<a href='/node/".$result."/edit'>在这里编辑</a>!");
}
}
return $form;
}
function _sijing2br($str)
{
if(stripos($str,'####') !== false){
return str_replace('####','<br />',$str);
}
return $str;
}
//应该是即将输出前的东西 render 在执行sql语句后执行
//function shipingzhongcustom_views_pre_render (&$view)
//{
// //$arr = get_object_vars($view);
// //var_dump(array_keys($arr));
//}
//执行sql查询后执行
function shipingzhongcustom_views_pre_render (&$view)
{
// $arr = get_object_vars($view);
// var_dump(array_keys($arr));
// $result = kprint_r($view,TRUE);
// print $result;
$results = $view->result;
global $user;
//有定金量的时候,吴中的接待只能看吴中的定金量
if(in_array('吴中接待只看吴中不看华东定金量',$user->roles)) {
foreach($results as $key=>$result){
if($result->node_data_field_is_dingjing_field_is_dingjing_value=='是'){
$account = null;
$account = user_load(array('name' => check_plain($result->node_data_field_dingjing_writer_field_dingjing_writer_value)));
//假如定金量填写人 是华东的话 就移除它
if(in_array('华东接待只看华东不看吴中定金量',$account->roles)){
unset($results[$key]);
}
}
}
$view->result = $results;
}
//有定金量的时候,华东的接待只能看华东的定金量
if(in_array('华东接待只看华东不看吴中定金量',$user->roles)) {
foreach($results as $key=>$result){
if($result->node_data_field_is_dingjing_field_is_dingjing_value=='是'){
$account = null;
$account = user_load(array('name' => check_plain($result->node_data_field_dingjing_writer_field_dingjing_writer_value)));
//假如定金量填写人 是吴中的话 就移除它
if(in_array('吴中接待只看吴中不看华东定金量',$account->roles)){
unset($results[$key]);
}
}
}
$view->result = $results;
}
}
//应该是即将输出前的东西 post_render 在执行sql语句后 执行 所以肯定是在hook_views_pre_render之后执行
//function shipingzhongcustom_views_post_render (&$view, &$output, &$cache)
//{
// //$arr = get_object_vars($view);
// //var_dump(array_keys($arr));
// //str_re
// // exit;
//}