关于php:国外交友网站开发源码-第十二篇

55次阅读

共计 8331 个字符,预计需要花费 21 分钟才能阅读完成。

最近因为工作生存的事件比拟多,所以就没有更新,这篇是国外交友网站开发源码 第十二篇
心愿大家可能喜爱。
如果有什么问题须要征询的,能够加我的扣 236-0248-666



私信列表

class WechatController extends SiteController {



public function __construct() {parent::__construct ();

    if(!$this->uinfo){redirect(U("Public/index"));

       exit;

    } 

    $this->assign('nav', 'Wechat');

    }

    public function sixin(){// 私信列表        

    $myuid = $this->uinfo["id"];            

    $user_count = M("User_count")->where("uid=".$myuid)->find();

    $message = M("Message");

    

    //->cache('ltlist',30)    

    /*$list= M()->table("(select * from __MESSAGE__ order by msgid desc) as tb")->field("msgid,content,fromuid,touid,isread,sendtime,hash,sum(if(isread=0,'1','0')) as count")->where("fromuid =".$myuid."or touid=".$myuid)->group("hash")->order('msgid desc')->select();*/

    $where = "fromuid =".$myuid."or touid=".$myuid;        

    $count = $message ->where($where) -> count();

    $Page = new \Think\Page($count, 15);

    $show = $Page -> show();

    //$list = $message->distinct(true)->field("hash")->where($where)->order('msgid desc')->limit($Page -> firstRow . ',' . $Page -> listRows)->select();

    $list = $message->field("max(msgid)as mid,msgid,hash,fromuid,touid")->where($where)->group("hash")->order('mid desc')->limit($Page -> firstRow . ',' . $Page -> listRows)->select();

    foreach($list as $key =>$val){$arr[]=$val['fromuid'];

        $arr[]=$val['touid'];

        $arr2[]=$val["mid"];

    }    

    $arr = array_unique($arr);

    $arrstr = implode($arr,',');

    $arrstr2 = implode($arr2,',');

    if($arrstr)

    $userarr = M("Users")->field("id,idmd5,avatar,user_nicename,user_rank")->where("id in (".$arrstr.")")->select();
    if($arrstr2)

    $list2 = $message->field("content,msgid,sendtime,is_zh,fromuid,touid,isread,type")->where("msgid in (".$arrstr2.")")->select();        

    foreach($userarr as $key =>$val){unset($userarr[$key]);

        $userarr[$val['id']]=$val;

    }
    

    foreach($list2 as $key =>$val){unset($list2[$key]);

        $list3[$val['msgid']]=$val;

    }    
    
    foreach($list as $key =>$val){$list[$key]['list2arr']=$list3[$val['mid']];

        if($val['fromuid']==$myuid){$list[$key]['avatar']=$userarr[$val['touid']]['avatar'];

            $list[$key]['user_nicename']=$userarr[$val['touid']]['user_nicename'];

            $list[$key]['user_rank']=$userarr[$val['touid']]['user_rank'];

                $list[$key]['uid']=$userarr[$val['touid']]['idmd5'];

        }else{$list[$key]['avatar']=$userarr[$val['fromuid']]['avatar'];

            $list[$key]['user_nicename']=$userarr[$val['fromuid']]['user_nicename'];

            $list[$key]['user_rank']=$userarr[$val['fromuid']]['user_rank'];

            $list[$key]['uid']=$userarr[$val['fromuid']]['idmd5'];

        }

        

        if($list[$key]['list2arr']['isread']==0 && $list[$key]['list2arr']['fromuid']!=$myuid){$list[$key]['list2arr']['noread']=1;

        }            

        if($list[$key]['list2arr']['is_zh']==1 && $list[$key]['list2arr']['fromuid']==$myuid){unset($list[$key]);

        }



    }
    

    $media=$this->getMedia('私信');

    cookie('wdsxnum',0,3600);

    $this->assign('media', $media);

    $this->assign('list', $list);

    $this->assign('nav2', 'sixin_a');

    $this->assign('user_count', $user_count);

    $this->assign ('page', $show);

    if($_GET['p']>=200)exit;

    if (I("get.ajax") == 1){if($list) $data = $this->sitefetch('ajax_sixin_a');

        $this->ajaxReturn($data);

    }      

    $this->siteDisplay ('sixin_a');

    }

关注

public function subscribe(){// 关注



       $myuid = $this->uinfo["id"];

    $usercountmod =  M("User_count");        

    $user_count = $usercountmod->where("uid=".$myuid)->find();

        

    $where ="touid=".$myuid;    

    $User = M("User_subscribe");        

    $count = $User -> where($where) -> count();        

    $Page = new \Think\Page($count, 15);        

    $show = $Page -> show();    

    $list = $User->alias('fs')->field("u.avatar,u.user_nicename,fs.time,u.user_rank,u.id,u.idmd5")->join("__USERS__ as u ON u.id=fs.fromuid")->where($where) -> order('fs.id desc') -> limit($Page -> firstRow . ',' . $Page -> listRows) -> select();

    

    $this->assign('list', $list);

    if($_GET['p']>=200)exit;

    if (I("get.ajax") == 1){if($list) $data = $this->sitefetch('ajax_sixin_b');

        $this->ajaxReturn($data);

    }else{$User->where("touid=".$myuid)->setField("touser_isread",1);        

        $usercountmod->where("uid=".$myuid)->setField("wdgznum",0);        

    }        

    $this->assign('user_count', $user_count);

    $media=$this->getMedia('关注');

    cookie('wdsxnum',0,3600);

    $this->assign('media', $media);

    $this->assign('nav2', 'sixin_b');

    $this->siteDisplay ('sixin_b');

}

成为开发者 token 

class WeixinController extends BaseController
{

public function _initialize(){

    
header("Content-Type:text/html; charset=utf-8");         
}

public function log(){

dump(S('log'));

}

public function index(){


define("TOKEN", C("wxtoken")?C("wxtoken"):"yueai8999");// 成为开发者 token     
 $echoStr = $_GET["echostr"];
   if($this->checkSignature()){if($echoStr){
        echo $echoStr;
        exit;
       }else{$this->getmsg();        
       }
    }        
}    

获取信息

public function getmsg(){

 $ss=0;
      if(C("other_url") && C("other_token") && C('malasen')!=2){    //add by lxphp.com
$url = $this->get_other_url();
$re = $this->curlpxml($url,$GLOBALS["HTTP_RAW_POST_DATA"]);    
if(strstr($re,'xml')) {$ss=1; echo $re;}
//S('log',$re);
}            
    $xml=$this->msg();
    if(S($xml['FromUserName'].$xml['CreateTime'])==1)exit;    
    S($xml['FromUserName'].$xml['CreateTime'],1,300);        
    
     $db =M('Wxtext');
     //$db->add($xml);
     $openid = $xml['FromUserName'];
     $eventkey = $xml['EventKey'];
    if($xml['MsgType']=='event')  {$Event=$xml['Event'];
        switch($Event){
            case "subscribe":    
            $usermod = M("Users");        
            $re = A('Api')->saveinfo($openid);                                
                if($eventkey&& $xml['Ticket']){// 二维码关注
                    $pid  = str_replace('qrscene_','',$eventkey);                        
                    $pinfo = $usermod->find($pid);
                    $msg2 = "【".$re["user_nicename"]."】通过您分享的二维码关注了公众号,Ta 注册后您有可能取得处分。";
                    $this->makeTextbygm($msg2,$pinfo['weixin']);
                    $re['parent_id']=$datas2['puid']=$pid;
                    M("User_y_reg")->where("id=".$re['id'])->save($datas2);
                
                }
            
            /*    if(C('gzshbval')>0)            
                A('Api')->sendhb($openid,C('gzshbval'),C('site_title'),C('hbbody'),2); // 关注送红包    
                if(C('gzsxj')>0) A('Api')->sendzz($openid,C('gzsxj'),C('hbbody'),2);    // 关注送现金 */            
            
                    
            
            if($re['id']>0){$msg = C("diygzhf")?C("diygzhf"):0;
                $msg = $re['sex']==2?C("diygzhfnv"):$msg;                
                if($msg) $this->makeTextbygm(html_out($msg),$openid);
                
                if(C('gztstw')==1){$sex = $re['sex']==1?2:1;
                if($re['sex']>0&&$re['cityid']){$list = $usermod->field("user_nicename,avatar,provinceid,cityid,age,idmd5")->where("sex=".$sex."and cityid=".$re['cityid']."and avatar!=''")->order('last_login_time desc,id desc')->limit(8)->select();}elseif($re['sex']>0&&$re['provinceid']){$list = $usermod->field("user_nicename,avatar,provinceid,cityid,age,idmd5")->where("sex=".$sex."and provinceid=".$re['provinceid']."and avatar!=''")->order('last_login_time desc,id desc')->limit(8)->select();}else{$list = $usermod->field("user_nicename,avatar,provinceid,cityid,age,idmd5")->where("sex=".$sex."and avatar!=''")->order('last_login_time desc,id desc')->limit(8)->select();}                    
                
                $list2[0]['title']="来".C('site_title')."邂逅缘分吧";
                $list2[0]['description']=$msg;
                $list2[0]['url']="http://".C('site_url').U("Home/Index/index");
                $list2[0]['picUrl']="http://www.yueai.me/v4/jiaocheng_03.jpg";
                                    
                foreach($list as $key=>$val){$list2[$key+1]['title']=$val['user_nicename']."".(date('Y',time())-$val['age'])." 岁 ".$re['province'].' '.$re['city'];
                $list2[$key+1]['description']=$val['user_nicename']."".(date('Y',time())-$val['age'])." 岁 ";
                $list2[$key+1]['url']="http://".C('site_url').U("Home/Show/index",array('uid'=>$val['idmd5']));
                $list2[$key+1]['picUrl']=strstr($val['avatar'],'http')?$val['avatar']:'http://'.C('site_url')."/".$val['avatar'];                
                }
                
                
                $ss1['items']=$list2;                    
                
                                    
                
                if($openid!=C('adminopenid'))
                $this->makeTextbygm("有新敌人关注:【".$re['user_nicename']."】",C('adminopenid'));                                        
                if(is_array($ss1)){// 欢送关注。exit($this->makeNews($ss1));                    
                }
                }
            }
            //if($msg) $this->makeTextbygm(html_out($msg),$openid);            
            break;
            case "unsubscribe":
            A("Api")->unsubscribe($openid);
            break;
            case "CLICK":                
                    
            if(C('old_subscribe')){$data =A("Api")-> saveinfo($openid,1);                        
                if($data['type']=='newreg'){}}
            
            
            
            if($eventkey=='lxphpcom'){// 二维码推广 20151112 by 紫竹
                $msg ='正在生成您的推广二维码, 请急躁期待...';
                if($msg) $this->makeTextbygm($msg,$openid);
                $media_id = A("Home/Api")->getewmmediaid($openid);
                if($media_id) $this->makeImgbygm($media_id,$openid);
                    
            }    
            $msg = A("Api")->clickfun($eventkey,$openid);
            if($msg) $this->makeTextbygm($msg,$openid);    
        
            
            //if($ss==0 && $msg) echo $this->makeText($msg);
            //echo $this->makeText($msg);
            break;
            case "SCAN":
            if($eventkey&& $xml['Ticket']){// 二维码扫描
            $re = A('Api')->saveinfo($openid);
            $pid  = str_replace('qrscene_','',$eventkey);
            $pinfo = M("Users")->find($pid);
                    $msg2 = "【".$re["user_nicename"]."】扫描了您分享的二维码。";
                    $this->makeTextbygm($msg2,$pinfo['weixin']);
                    $datas2['puid']=$pid;
                    $ymod = M("User_y_reg");
                    $re2 = $ymod->where("code='$openid'")->find();
                    if($re2){$ymod->where("code='$openid'")->save($datas2);
                    }else{$datas2['time']=time();
                        $datas2['code']=$openid;
                        $ymod->add($datas2);
                    }
            }
            break;
            }
        
        
        } 
          
    if($xml['MsgType']=='text'){// 接管文本音讯后返回信息给用户
    $xml['Content']=trim($xml['Content']); 
    echo $this->makeDkf($xml['Content']);
    $re = M("ext_autoreplay")->where("keyword='".$xml['Content']."'")->find();
    if($re){$this->makeTextbygm($re['content'],$openid);    
        if($re['money'] && $re['money']>0){A('Api')->sendhb($openid,$re['money'],C('site_title'),C('hbbody'),2); // 送红包    
        }
        
    }    
        
        
    }    
        
        
    
        exit;    
        

}

正文完
 0