while (!feof($file)) { $i++; $line = fgets($file); $s = trim(substr($line, 0, strpos($line, '>') + 1)); $rest = substr($line, strpos($line, '>') + 1); $p = trim(substr($rest, 0, strpos($rest, '>') + 1)); $rest = trim(substr($rest, strpos($rest, '>') + 1)); $o = trim(substr($rest, 0, strrpos($rest, '.'))); /* if(strpos($object,'"')===false){ $object = remove($object); } */ $bnode = '_:a' . $i; echo trip($bnode, RDF_TYPE, OWL_AXIOM); echo trip($bnode, OWL_SUBJECT, $s); echo trip($bnode, OWL_PREDICATE, $p); echo trip($bnode, OWL_OBJECT, $o); echo trip($bnode, DC_MODIFIED, $modified); echo trip($bnode, ORIGIN, $extractorURI); //echo $subject."|".$predicate."|".$object."\n"; } fclose($file); function trip($s, $p, $o) { return $s . " " . $p . " " . $o . " . \n"; } function remove($str) { return str_replace("<", "", str_replace(">", "", $str)); }
public function responseMsg() { //get post data, May be due to the different environments $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //extract post data if (!empty($postStr)) { $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $keyword = trim($postObj->Content); $time = time(); $event = $postObj->Event; /******************************************* 文字信息模板 ***********************************************************/ $textTpl = "<xml>\n <ToUserName><![CDATA[%s]]></ToUserName>\n <FromUserName><![CDATA[%s]]></FromUserName>\n <CreateTime>%s</CreateTime>\n <MsgType><![CDATA[text]]></MsgType>\n <Content><![CDATA[%s]]></Content>\n </xml>"; /******************************************* 图文信息模板 ***********************************************************/ $imageTpl = "<xml>\n <ToUserName><![CDATA[%s]]></ToUserName>\n <FromUserName><![CDATA[%s]]></FromUserName>\n <CreateTime>%s</CreateTime>\n <MsgType><![CDATA[news]]></MsgType>//消息类型为news(图文)\n <ArticleCount>1</ArticleCount>//图文数量为1(单图文)\n <Articles>\n <item>//第一张图文消息\n <Title><![CDATA[%s]]></Title> //标题\n <Description><![CDATA[%s]]></Description>//描述\n <PicUrl><![CDATA[%s]]></PicUrl>//打开前的图片链接地址\n <Url><![CDATA[%s]]></Url>//点击进入后显示的图片链接地址\n </item>\n </Articles>\n </xml> "; /********************************************* 关注事件 **************************************************************/ if (!empty($event)) { /* $sql = "insert into sleep_man (`from_user`,`flag`) VALUES ('$fromUsername',0)"; _insert_data($sql);*/ $contentStr = "发送对应数字或关键词进行使用:\n【1】师大要闻\n【2】最新公告\n【3】查询成绩[需绑定]\n【4】查询四六级成绩\n【5】查询图书馆藏书\n【6】在线翻译\n【7】校园地图\n【8】查询快递单号\n【9】睡觉签到[8~12点]\n【10】玩游戏\n【11】阅览新闻\n【12】微社区[荐]\n【#】取消学号绑定\n【0】返回主界面\n" . '<a href="http://1.shnupartner.sinaapp.com/stu.php?openid=' . $postObj->FromUserName . '">绑定教务使用全部功能</a>' . "\n-----------------------\n此外你还可以尝试发送如:奉贤天气、火车票、飞机票等关键词~\n更多的彩蛋等待着你的发现*^_^* \n[注]:由于手机屏幕、字体大小等因素,小伙伴发送的消息样式无法做到统一,但不影响功能使用,敬请谅解。\n问题反馈及合作请发送邮件至\nff66@vip.qq.com\n<!-- Thanks -->"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $contentStr); echo $resultStr; } /****************************************************** 判断用户状态,若状态与上次不一致,则删除上次状态 **********************************************************/ $sql = "SELECT flag_id FROM user_flags WHERE from_user = '******'"; $result = _select_data($sql); while (!!($rows = mysql_fetch_array($result))) { $user_flag = $rows[flag_id]; } if (trim($keyword) != $user_flag && is_numeric($keyword)) { $user_flag = ''; $sql = "DELETE FROM user_flags WHERE from_user = '******'"; _delete_data($sql); } /*********************************************** flag为空时,选择的路径 **************************************/ if (empty($user_flag)) { //要闻 if ($keyword == '1' || $keyword == "要闻" || $keyword == "师大要闻") { $items = sdyw(); $itemTpl = "<item>\n <Title><![CDATA[%s]]></Title>\n <Description><![CDATA[%s]]></Description>\n <PicUrl><![CDATA[%s]]></PicUrl>\n <Url><![CDATA[%s]]></Url>\n </item>"; $articles = ''; foreach ($items as $key) { $articles .= sprintf($itemTpl, $key['Title'], $key['Description'], $key['PicUrl'], $key['Url']); } $newsTpl = "<xml>\n <ToUserName><![CDATA[%s]]></ToUserName>\n <FromUserName><![CDATA[%s]]></FromUserName>\n <CreateTime>%s</CreateTime>\n <MsgType><![CDATA[%s]]></MsgType>\n <ArticleCount><![CDATA[%s]]></ArticleCount>\n <Articles>%s</Articles>\n </xml>"; echo sprintf($newsTpl, $fromUsername, $toUsername, $time, 'news', count($items), $articles); } else { if ($keyword == '2' || $keyword == "公告" || $keyword == "最新公告") { $items = zxgg(); $itemTpl = "<item>\n <Title><![CDATA[%s]]></Title>\n <Description><![CDATA[%s]]></Description>\n <PicUrl><![CDATA[%s]]></PicUrl>\n <Url><![CDATA[%s]]></Url>\n </item>"; $articles = ''; foreach ($items as $key) { $articles .= sprintf($itemTpl, $key['Title'], $key['Description'], $key['PicUrl'], $key['Url']); } $newsTpl = "<xml>\n <ToUserName><![CDATA[%s]]></ToUserName>\n <FromUserName><![CDATA[%s]]></FromUserName>\n <CreateTime>%s</CreateTime>\n <MsgType><![CDATA[%s]]></MsgType>\n <ArticleCount><![CDATA[%s]]></ArticleCount>\n <Articles>%s</Articles>\n </xml>"; echo sprintf($newsTpl, $fromUsername, $toUsername, $time, 'news', count($items), $articles); } else { if ($keyword == '8' || $keyword == "地图" || $keyword == "校园" || $keyword == "校园地图") { $items = trip(); $itemTpl = "<item>\n <Title><![CDATA[%s]]></Title>\n <Description><![CDATA[%s]]></Description>\n <PicUrl><![CDATA[%s]]></PicUrl>\n <Url><![CDATA[%s]]></Url>\n </item>"; $articles = ''; foreach ($items as $key) { $articles .= sprintf($itemTpl, $key['Title'], $key['Description'], $key['PicUrl'], $key['Url']); } $newsTpl = "<xml>\n <ToUserName><![CDATA[%s]]></ToUserName>\n <FromUserName><![CDATA[%s]]></FromUserName>\n <CreateTime>%s</CreateTime>\n <MsgType><![CDATA[%s]]></MsgType>\n <ArticleCount><![CDATA[%s]]></ArticleCount>\n <Articles>%s</Articles>\n </xml>"; echo sprintf($newsTpl, $fromUsername, $toUsername, $time, 'news', count($items), $articles); } else { if ($keyword == '3' || $keyword == "成绩" || $keyword == "查成绩" || $keyword == "查询成绩" || $keyword == "考试成绩" || $keyword == "成绩查询") { $sql = "select stu_no,stu_wd from students where from_user = '******'"; $result = _select_data($sql); if (!!($rows = mysql_fetch_array($result))) { $i = post($fromUsername); $title = "查询"; //标题 $PicUrl = ""; //图片链接 $Description = $i; //图文描述 $Url = ""; //打开后的图片链接 $resultStr = sprintf($imageTpl, $fromUsername, $toUsername, $time, $title, $Description, $PicUrl, $Url); echo $resultStr; } else { // $msgType = "text"; $contentStr = '<a href="http://shnucs.duapp.com/stu.php?openid=' . $postObj->FromUserName . '">请先点击绑定学号╮(╯_╰)╭</a> --------------- [输入0返回主页]'; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $contentStr); echo $resultStr; } } else { if ($keyword == '4' || $keyword == "四六级" || $keyword == "四级" || $keyword == "六级") { $sql = "insert into user_flags(from_user,flag_id) values('{$fromUsername}','4')"; $contentStr = '请输入要您的四级或六级 考号+姓名(无空格) 格式如:12345***123李四 或<a href="http://1.shnuweb.sinaapp.com/siliuji/cet.php">点击此处进入查询~</a> --------------- [输入0返回主页]'; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $contentStr); echo $resultStr; } else { if ($keyword == '19' || $keyword == "最火游戏" || $keyword == "游戏" || $keyword == "玩游戏" || $keyword == "最新游戏") { $contentStr = '点击【每一行】文字进入游戏~ <a href="http://1.shnugame.sinaapp.com/sjm2/index.html">① 围住神经猫Ⅱ</a> <a href="http://1.shnupartner.sinaapp.com/2048/2048-master/index.html">② 2048</a> <a href="http://1.shnupartner.sinaapp.com/games/bcbk.html">③ 别踩白块</a> <a href="http://1.shnugame.sinaapp.com/onedie/index.htm">④ 一个都不能死</a> --------------- [输入0返回主页]'; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $contentStr); echo $resultStr; } else { if ($keyword == '#' || $keyword == "取消绑定" || $keyword == "取消绑定学号") { $sql = "select stu_no from students where from_user = '******'"; $result = _select_data($sql); $row = mysql_fetch_array($result); $no = $row[stu_no]; $sql = "delete from students where from_user = '******'"; $result = _delete_data($sql); if ($result == 1) { $contentStr = "取消绑定学号" . $no . "成功,重新发送【3】查询成绩进行绑定~~~"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $contentStr); echo $resultStr; } else { $contentStr = "取消绑定失败,请重新尝试"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $contentStr); echo $resultStr; } } else { if ($keyword == '5' || $keyword == "图书" || $keyword == "图书馆" || $keyword == "图书检索" || $keyword == "图书查询" || $keyword == "查询图书") { $sql = "insert into user_flags(from_user,flag_id) values('{$fromUsername}','5')"; $contentStr = "请输入要查询图书的关键字:\n---------------\n[输入0返回主页]"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $contentStr); echo $resultStr; } } } } } } } } /************************************* 插入数据 ****************************************/ if (!empty($sql)) { _insert_data($sql); } } else { if ($user_flag == '4') { $b = cet($keyword); $contentStr = "学校:" . $b[school] . "\n" . "姓名:" . $b[name] . "\n" . "等级:" . $b[cet] . "\n" . "分数:" . $b[score]; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $contentStr); echo $resultStr; } else { if ($user_flag == '5') { book($keyword, $fromUsername, $toUsername, $time); /*$url = "http://202.121.55.6:8080/opac/search_rss.php?location=ALL&title={$keyword}&doctype=ALL&lang_code=ALL&match_flag=forward&displaypg=20&showmode=list&orderby=DESC&sort=CATA_DATE&onlylendable=yes&with_ebook=&with_ebook="; $fa = file_get_contents($url); $f = simplexml_load_string($fa); foreach($f->channel->item as $reply) { foreach($reply->title as $re) { $a[] = $re; } } $no = count($a); if ($no > 10) { $no = 10; } $bookTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[news]]></MsgType> <ArticleCount>$no</ArticleCount> <Articles>"; foreach($a as $id=>$b) { if($id>$no) break; else null; $bookTpl.= "<item> <Title>$b</Title> <Description><![CDATA[s]]></Description> <PicUrl><![CDATA[]]></PicUrl> <Url><![CDATA[]]></Url> </item>"; } $bookTpl.= "</Articles> <FuncFlag>1</FunFlag> </xml>"; $resultStr = sprintf($bookTpl, $fromUsername, $toUsername, $time); echo $resultStr;*/ } } } } else { echo ""; exit; } }