欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

自己亲自做的 hook form alter的例子 'page arguments' chatgpt 有大用 chatgpt 有大用

shiping1 的头像

<?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 里的数据的抓取
//_zhuquBaoMingData('www.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 里的数据的抓取
_zhuquBaoMingData('www.wzfzxx.com');
//先是进行4000512126.com 里的数据的抓取
_zhuquBaoMingData('www.4000512126.com',array(0=>'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');
 
_zhuquBaoMingData('www.fluid.org.cn',array(0=>'fluid.org.cn'));
_zhuquBaoMingData('www.kfqd.cn',array(0=>'kfqd.cn'));
_zhuquBaoMingData('www.lyjsj.net.cn',array(0=>'lyjsj.net.cn'));
_zhuquBaoMingData('www.czsdsj.cn',array(0=>'czsdsj.cn'));
_zhuquBaoMingData('www.fzzbxx.cn',array(0=>'fzzbxx.cn'));
_zhuquBaoMingData('www.skjn.cn',array(0=>'skjn.cn'));
_zhuquBaoMingData('www.wzfzxy.com',array(0=>'wzfzxy.com'));
 
//这两个是asp的网站
_zhuquBaoMingData('www.fzzbxx.com',array(0=>'fzzbxx.com'));
_zhuquBaoMingData('www.66300136.com',array(0=>'66300136.com'));
 
//先是进行adbxy.com 里的数据的抓取
_zhuquBaoMingData('www.adbxy.com',array(0=>'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 里的数据的抓取
//_zhuquBaoMingData('www.szadb.com',array(0=>'szadb.com'));
//先是进行m.adbxy.com 里的数据的抓取
//_zhuquBaoMingData('m.szadb.com');
//吴中框架户电脑站                 这里szkjh.szfzxx.com 与 m.szkjh.szfzxx.com 可能有冲突 前加http://           
_zhuquBaoMingData('vip.babycctv.com',array(0=>'http://szfzxx.ufeqa.com',1=>'vip.yqdzw.com',2=>'http://szkjh.szfzxx.com',
//爱丁堡框架户电脑站
_zhuquBaoMingData('adb.51jytd.com',array(0=>'http://adbxy.ufeqa.com',1=>'vip.zmqiy.com',2=>'http://adbkjh.adbxy.com',
 
//吴中框架户wap站        这里 m.szkjh.szfzxx.com 与 szkjh.szfzxx.com 可能有冲突 前加http://
_zhuquBaoMingData('wz.babycctv.com',array(0=>'http://m.szfzxx.ufeqa.com',1=>'http://m.szkjh.szfzxx.com',
 
//吴中报装学校 新 wzfz.szfzxx.com //已合并到 szfzxx.com
//_zhuquBaoMingData('wzfz.szfzxx.com');
 
//爱丁堡架户wap站
_zhuquBaoMingData('m.adb.51jytd.com',array(0=>'http://m.adbxy.ufeqa.com',1=>'http://m.adbkjh.adbxy.com',
 
//地面招生pc站
//_zhuquBaoMingData('www.szadb.com',array(0=>'szadb.com'));
//地面招生wap站
//_zhuquBaoMingData('m.szadb.com');
 
//整骨pc站
_zhuquBaoMingData('www.4006055610.com',array(0=>'http://4006055610.kfqd.cn',1=>'www.czsdsj.cn',
   2=>'czsdsj.cn',3=>'www.crdesw.com',
4=>'http://tszx.crdesw.com',5=>'4006055610.com'));
 
 
//整骨wap站
_zhuquBaoMingData('m.4006055610.com',array(0=>'http://m.4006055610.kfqd.cn',1=>'m.czsdsj.cn',
 2=>'m.crdesw.com',3=>'http://m.tszx.crdesw.com'));
 
 
//   //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("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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);
//    //把这个数组每个字段循环赋值为 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//    foreach($arr1 as $key=>$value)
//    {
//     $arr1[$key] = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
////     $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;
//}

普通分类: