PHP中微商城开源的示例分析
创始人
2024-12-07 01:00:58
0次

具体内容如下

 0) {
  $C_webtitle = $row["C_title"];
  $C_wtoken = $row["C_wtoken"];
  $C_logo = $row["C_logo"];
  $C_ico = $row["C_ico"];
  $C_wx_appidz = $row["C_wx_appid"];
  $C_wx_appsecretz = $row["C_wx_appsecret"];
}
$signature = $_REQUEST["signature"];
$nonce = $_REQUEST["nonce"];
$timestamp = $_REQUEST["timestamp"];
$echostr = $_REQUEST["echostr"];
if ($echostr != "") {
  $array = array();
  $array = array($C_wtoken, $timestamp, $nonce);
  sort($array);
  $str = sha1(implode($array));
  if ($str == $signature && $echostr) {
    echo $echostr;
    exit;
  }
}
if ($signature != "" && $echostr == "") {
  $postArr = file_get_contents("php://input");
  $postObj = simplexml_load_string($postArr);
  $ToUserName = $postObj->FromUserName;
  $FromUserName = $postObj->ToUserName;
  $MsgType = $postObj->MsgType;
  $strEvent = $postObj->Event;
  $EventKey = $postObj->EventKey;

  file_put_contents("test.txt", $postArr);

  if ($MsgType == "event") {
    
    if ($strEvent == "subscribe") {
      $strsend = events( $ToUserName,$FromUserName, "key_" . getrs("select * from SL_reply where R_key like '新用户关注'", "R_reply"));

      $sqlx = "Select * from SL_member where M_qqid like '" . $ToUserName . "'";
      $resultx = mysqli_query($conn, $sqlx);
      if (mysqli_num_rows($resultx) > 0) {
        mysqli_query($conn, "update SL_member set M_subscribe=1 where M_qqid like '" . $ToUserName . "'");
      } else {
        $access_token = json_decode(GetBody("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $C_wx_appidz . "&secret=" . $C_wx_appsecretz, ""))->access_token;
        $M_info = json_decode(GetBody("https://api.weixin.qq.com/cgi-bin/user/info?access_token=" . $access_token . "&openid=" . $ToUserName . "&lang=zh_CN", ""));

        $M_login = $M_info->nickname;
        $M_pic = $M_info->headimgurl;
        $M_city = $M_info->city;
        $M_province = $M_info->province;
        $M_country = $M_info->country;
        mysqli_query($conn, "insert into SL_member(M_login,M_pwd,M_qqid,M_pic,M_fen,M_regtime,M_add,M_name,M_subscribe) values('" . $M_login . "','" . $ToUserName . "','" . $ToUserName . "','" . $M_pic . "',0,'" . date('Y-m-d H:i:s') . "','" . $M_country . $M_province . $M_city . "','" . $M_login . "',1)");
        $sql = "select * from SL_member order by M_id desc limit 1";
        $result = mysqli_query($conn, $sql);
        $row = mysqli_fetch_assoc($result);
        if (mysqli_num_rows($result) > 0) {
          $M_id = $row["M_id"];
        }
        uplevel($M_id);
      }
    }
    if ($strEvent == "unsubscribe") {
      mysqli_query($conn, "update SL_member set M_subscribe=0 where M_qqid like '" . $ToUserName . "'");
    }
    if ($strEvent == "CLICK") {;
      $strsend = events( $ToUserName,$FromUserName, $EventKey);
      
    }
  }
  if ($MsgType == "text") {
    $E_content = $postObj->Content;
    $strsend = text( $ToUserName, $FromUserName,$E_content);

    file_put_contents("test3.txt", $strsend);
  }
  echo $strsend;
}
function events($FromUserName, $ToUserName, $key) {
  global $conn, $D_domain, $C_ico;
  $E_type = getrs("select * from SL_event where E_id=" . splitx($key, "_", 1), "E_type");
  $E_content = getrs("select * from SL_event where E_id=" . splitx($key, "_", 1), "E_content");
  switch ($E_type) {
    case "text":
      $events = "
						
						
						" . date('Y-m-d H:i:s') . "
						
						
						0
						";
    break;
    case "article":
      $events = "
						
						
						" . date('Y-m-d H:i:s') . "
						
						1
						";
      $emptystr = "
							<![CDATA[文章已删除]]> 
							
							
							
						";
      switch (substr($E_content, 0, 1)) {
        case "T":
          if (getrs("select * from SL_text where T_id=" . substr($E_content, -(strlen($E_content) - 1)), "T_title") != "") {
            $events = $events . "
												<![CDATA[" . lang(getrs("select * from SL_text where T_id=" . substr($E_content, -(strlen($E_content) - 1)), "T_title")) . "]]>
												
												
												
											";
          } else {
            $events = $events . $emptystr;
          }
        break;
        case "N":
          if (getrs("select * from SL_news where N_id=" . substr($E_content, strlen($E_content) - 1), "N_title") != "") {
            $events = $events . "
												<![CDATA[" . lang(getrs("select * from SL_news where N_id=" . substr($E_content, -(strlen($E_content) - 1)), "N_title")) . "]]>
												
												
												
												";
          } else {
            $events = $events . $emptystr;
          }
        break;
        case "P":
          if (getrs("select * from SL_product where P_id=" . substr($E_content, strlen($E_content) - 1), "P_title") != "") {
            $events = $events . "
											<![CDATA[" . lang(getrs("select * from SL_product where P_id=" . substr($E_content, -(strlen($E_content) - 1)), "P_title")) . "]]>
											
											
											
											";
          } else {
            $events = $events . $emptystr;
          }
        break;
        case "F":
          if (getrs("select * from SL_form where F_id=" . substr($E_content, -(strlen($E_content) - 1)), "F_title") != "") {
            $events = $events . "
											<![CDATA[" . lang(getrs("select * from SL_form where F_id=" . substr($E_content, -(strlen($E_content) - 1)), "F_title")) . "]]>
											
											
											
											";
          } else {
            $events = $events . $emptystr;
          }
        break;
        case "C":
          $events = $events . "
											<![CDATA[联系我们]]>
											
											
											
											";
        break;
        case "G":
          $events = $events . "
										<![CDATA[在线留言]]>
										
										
										
										";
      }
      $events = $events . "";
    break;
    case "articles":
      if ($E_content == "推送网站目录") {
        $events = gz( $FromUserName,$ToUserName);
      } else {
        $E_content = explode(",", $E_content);
        for ($i = 0;$i < count($E_content);$i++) {
          switch (substr($E_content[$i], 0, 1)) {
            case "T":
              if (getrs("select * from SL_text where T_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "T_title") != "") {
                $events = $events . "
													<![CDATA[" . lang(getrs("select * from SL_text where T_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "T_title")) . "]]>
													
													
													
													";
              }
            break;
            case "N":
              if (getrs("select * from SL_news where N_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "N_title") != "") {
                $events = $events . "
														<![CDATA[" . lang(getrs("select * from SL_news where N_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "N_title")) . "]]>
														
														
														
														";
              }
            break;
            case "P":
              if (getrs("select * from SL_product where P_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "P_title") != "") {
                $events = $events . "
													<![CDATA[" . lang(getrs("select * from SL_product where P_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "P_title")) . "]]>
													
													
													
													";
              }
            break;
            case "F":
              if (getrs("select * from SL_form where F_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "F_title") != "") {
                $events = $events . "
													<![CDATA[" . lang(getrs("select * from SL_form where F_id=" . substr($E_content[$i], -(strlen($E_content[$i]) - 1)), "F_title")) . "]]>
													
													
													
													";
              }
            break;
            case "C":
              $events = $events . "
													<![CDATA[联系我们]]>
													
													
													
													";
            break;
            case "G":
              $events = $events . "
													<![CDATA[在线留言]]>
													
													
													
													";
          }
        }
        
        if (strpos($events,"")===false) {
          $events = "<item>
								<Title><![CDATA[文章已删除]]>
								
								
								
								";
          $NUM = 1;
        }else{
        	$NUM = count(explode("", $events))-1;
        }

        $events = "<xml>
							<ToUserName><![CDATA[" . $FromUserName . "]]></ToUserName>
							<FromUserName><![CDATA[" . $ToUserName . "]]></FromUserName>
							<CreateTime>" . date('Y-m-d H:i:s') . "</CreateTime>
							<MsgType><![CDATA[news]]></MsgType>
							<ArticleCount>" . $NUM . "</ArticleCount>
							<Articles>" . $events . "</Articles></xml>";
      }
  }
  file_put_contents("test2.txt", $events);
  return $events;
}
function text($FromUserName, $ToUserName, $fromstr) {
  global $conn, $D_domain, $C_ico;
  $sql = "select * from SL_reply where R_key like '" . $fromstr . "'";
  $result = mysqli_query($conn, $sql);
  $row = mysqli_fetch_assoc($result);
  if (mysqli_num_rows($result) > 0) {
    $text = events( $FromUserName,$ToUserName, "key_" . $row["R_reply"]);
  } else {
    $text = events( $FromUserName,$ToUserName, "key_" . getrs("select * from SL_event where E_title like '未匹配到关键词'","E_id"));
  }
  return $text;
}
function gz($FromUserName, $ToUserName) {
  global $conn, $D_domain, $C_ico;
  $sql2 = "Select * from SL_slide order by S_id desc limit 1";
  $result2 = mysqli_query($conn, $sql2);
  $row2 = mysqli_fetch_assoc($result2);
  if (mysqli_num_rows($result2) > 0) {
    $S_pic = $row2["S_pic"];
  }
  $sql2 = "select count(*) as U_count from SL_menu where U_sub=0";
  $result2 = mysqli_query($conn, $sql2);
  $row2 = mysqli_fetch_assoc($result2);
  $U_count = $row2["U_count"];
  if ($U_count > 8) {
    $U_count = 8;
  }
  $gz = "<xml>
  <ToUserName><![CDATA[" . $FromUserName . "]]></ToUserName>
  <FromUserName><![CDATA[" . $ToUserName . "]]></FromUserName>
  <CreateTime>" . date('Y-m-d H:i:s') . "</CreateTime>
  <MsgType>news</MsgType>
  <ArticleCount>" . $U_count . "</ArticleCount>
  <Articles>";
  $gz = $gz . "<item>
  <Title>欢迎关注" . lang($C_webtitle) . "
  " . lang($C_webtitle) . "
  
  
  ";
  $sql2 = "select * from SL_menu where U_sub=0 and not U_type='index' order by U_order limit " . ($U_count - 1) . "";
  $result2 = mysqli_query($conn, $sql2);
  if (mysqli_num_rows($result2) > 0) {
    while ($row2 = mysqli_fetch_assoc($result2)) {
      if ($row2["U_type"] != "sub" && $row2["U_type"] != "link") {
        $link = "wap_index.php?type=" . $row2["U_type"] . "&S_id=" . $row2["U_typeid"];
      } else {
        $link = $row2["U_link"];
      }
      $gz = $gz . "" . lang($row2["U_title"]) . "/" . lang($row2["U_entitle"]) . "" . lang($row2["U_title"]) . "/" . lang($row2["U_entitle"]) . "";
    }
    $gz = $gz . "1";
  }
  return $gz;
}
?>

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...