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));
}
Example #2
0
    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;
        }
    }