diff --git a/README.md b/README.md
index 4778788..cf851ad 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
-emlog Rss订阅插件
-====================
-
-订阅你喜欢的网站的feed,然后显示在博客前台,有可能把访客带到别的站,但是,不影响SEO,因为,前台都是通过ajax请求的。
-
+emlog Rss订阅插件
+====================
+
+订阅你喜欢的网站的feed,然后显示在博客前台,有可能把访客带到别的站,但是,不影响SEO,因为,前台都是通过ajax请求的。
+
[插件主页](http://xiaosong.org/share/the-official-releas-of-rss-subscribe-plugin)
\ No newline at end of file
diff --git a/lastRSS.php b/lastRSS.php
index afc095f..668077c 100644
--- a/lastRSS.php
+++ b/lastRSS.php
@@ -1,158 +1,158 @@
-cache_dir = EMLOG_ROOT.'/content/cache/';
-$rssparser->cache_time = $lastRSS_cache_time;
-$rssparser->items_limit = $lastRSS_item_num > 3 ? 3 : $lastRSS_item_num;
-$rssparser->CDATA = 'content';
-$rssparser->cp = 'UTF-8';
-$rssparser->channeltags = array ('title');
-$rssparser->itemtags = array ('title','link');
-$rssparser->imagetags = array ();
-$rssparser->textinputtags = array ();
-$DB = MySql::getInstance();
-
-function urlShort($url){
- global $rssparser, $lastRSS_urlshort_domain;
- $api = 'http://json.so/api/short.htm?d='.$lastRSS_urlshort_domain.'&u='.$url;
- $results = $rssparser->getRemoteFile($api);
- if (empty($results)) {
- return $url;
- } else {
- $results = json_decode($results, true);
- if(isset($results['state']) && $results['state'] == 'success'){
- return $results['msg'];
- }
- return $url;
- }
-}
-function getRssFeeds(){
- global $DB;
- $sql = "SELECT * FROM ".DB_PREFIX."rssfeeds ORDER BY id ASC";
- $result = $DB->query($sql);
- return $result;
-}
-function isLogExists($rssid, $hash){
- global $DB;
- $sql = "SELECT id FROM ".DB_PREFIX."rsslogs WHERE rssid = $rssid AND hash = '$hash'";
- $result = $DB->query($sql);
- $rows = $DB->num_rows($result);
- return $rows;
-}
-function isFeedExists($url){
- global $DB;
- $sql = "SELECT id FROM ".DB_PREFIX."rssfeeds WHERE url = '$url'";
- $result = $DB->query($sql);
- $rows = $DB->num_rows($result);
- return $rows;
-}
-function insertLog($rssid, $log ,$hash){
- global $DB;
- if (isLogExists($rssid, $hash) == 0) {
- $DB->query("INSERT INTO ".DB_PREFIX."rsslogs (rssid, log, hash) VALUES($rssid, '$log', '$hash')");
- }
-}
-function insertFeed($url, $title){
- global $DB;
- if (isFeedExists($url) == 0) {
- $DB->query("INSERT INTO ".DB_PREFIX."rssfeeds (url, title) VALUES('$url', '$title')");
- } elseif (!getTitle($url)) {
- emMsg("RSS导入失败,RSS地址{$url}解析失败,请确定RSS地址及XML文件格式正确");
- } else {
- emMsg("RSS导入失败,数据库中已存在{$url}");
- }
-}
-function deleteFeed($id){
- global $DB;
- $rssurl = $DB->fetch_array($DB->query("SELECT url FROM ".DB_PREFIX."rssfeeds WHERE id = $id"));
- $rssurl = $rssurl['url'];
- $cache_file = EMLOG_ROOT.'/content/cache/rsscache_'.md5($rssurl);
- $DB->query("DELETE FROM ".DB_PREFIX."rssfeeds WHERE id = $id");
- $DB->query("DELETE FROM ".DB_PREFIX."rsslogs WHERE rssid = $id");
- unlink($cache_file);
-}
-function updateFeed($id, $url, $title){
- global $DB;
- $DB->query("UPDATE ".DB_PREFIX."rssfeeds SET url = '$url', title = '$title' WHERE id = $id");
-}
-function getTitle($rss_url){
- global $rssparser;
- $rss = $rssparser->Get($rss_url);
- return $rss['title'];
-}
-function updateLogs(){
- global $rssparser, $DB, $lastRSS_is_urlshort, $lastRSS_is_blank;
- $feeds = getRssFeeds();
- while ($item = $DB->fetch_array($feeds)) {
- $rss = $rssparser->Get($item['url']);
- if(!empty($rss['items'])) {
- foreach ($rss['items'] as $key => $data) {
- $rssid = $item['id'];
- $hash = md5($data['title']);
- $checklog = isLogExists($rssid, $hash);
- if ($checklog == 0) {
- if (trim($data['title']) != '') {
- $link = $lastRSS_is_urlshort ? urlShort($data['link']) : $data['link'];
- $target = $lastRSS_is_blank ? ' target="_blank"' : '';
- $log = ''.strip_tags($data['title']).'';
- insertLog($rssid, $log ,$hash);
- }
- }
- }
- }
- }
-}
-function displayLog(){
- global $DB, $lastRSS_item_num;
- $sql = "SELECT ".DB_PREFIX."rsslogs.log,".DB_PREFIX."rssfeeds.title FROM ".DB_PREFIX."rsslogs INNER JOIN ".DB_PREFIX."rssfeeds ON ".DB_PREFIX."rsslogs.rssid = ".DB_PREFIX."rssfeeds.id ORDER BY ".DB_PREFIX."rsslogs.id DESC limit $lastRSS_item_num";
- $result = $DB->query($sql);
- $output = '';
- while ($row = $DB->fetch_array($result)) {
- $output .= '
'.$row['log'].' 来自 《'.$row["title"].'》';
- }
- $output = empty($output) ? '暂无Rss文章 ^_^' : $output;
- $output = '';
- return $output;
-}
-function displayLogIndex(){
- echo '';
-}
-function lastRSS_css(){
- echo ''."\n";
-}
-function lastRSS_ajax(){
- echo ''."\n";
- echo ''."\n";
-}
-function lastRSS_adminUpdate(){
- echo ''."\n";
-}
-function lastRSS_menu(){
- echo '';
-}
-function lastRSS_backup(){
- global $DB, $tables;
- $is_exist_rssfeeds_query = $DB->query('show tables like "'.DB_PREFIX.'rssfeeds"');
- $is_exist_rsslogs_query = $DB->query('show tables like "'.DB_PREFIX.'rsslogs"');
- if($DB->num_rows($is_exist_rssfeeds_query) != 0) array_push($tables, 'rssfeeds');
- if($DB->num_rows($is_exist_rsslogs_query) != 0) array_push($tables, 'rsslogs');
-}
-emLoadJQuery();
-addAction('data_prebakup', 'lastRSS_backup');
-addAction('index_head', 'lastRSS_css');
-addAction('index_loglist_top', 'displayLogIndex');
-addAction('index_footer', 'lastRSS_ajax');
-addAction('adm_head', 'lastRSS_adminUpdate');
-addAction('adm_sidebar_ext', 'lastRSS_menu');
+cache_dir = EMLOG_ROOT.'/content/cache/';
+$rssparser->cache_time = $lastRSS_cache_time;
+$rssparser->items_limit = $lastRSS_item_num > 3 ? 3 : $lastRSS_item_num;
+$rssparser->CDATA = 'content';
+$rssparser->cp = 'UTF-8';
+$rssparser->channeltags = array ('title');
+$rssparser->itemtags = array ('title','link');
+$rssparser->imagetags = array ();
+$rssparser->textinputtags = array ();
+$DB = MySql::getInstance();
+
+function urlShort($url){
+ global $rssparser, $lastRSS_urlshort_domain;
+ $api = 'http://json.so/api/short.htm?d='.$lastRSS_urlshort_domain.'&u='.$url;
+ $results = $rssparser->getRemoteFile($api);
+ if (empty($results)) {
+ return $url;
+ } else {
+ $results = json_decode($results, true);
+ if(isset($results['state']) && $results['state'] == 'success'){
+ return $results['msg'];
+ }
+ return $url;
+ }
+}
+function getRssFeeds(){
+ global $DB;
+ $sql = "SELECT * FROM ".DB_PREFIX."rssfeeds ORDER BY id ASC";
+ $result = $DB->query($sql);
+ return $result;
+}
+function isLogExists($rssid, $hash){
+ global $DB;
+ $sql = "SELECT id FROM ".DB_PREFIX."rsslogs WHERE rssid = $rssid AND hash = '$hash'";
+ $result = $DB->query($sql);
+ $rows = $DB->num_rows($result);
+ return $rows;
+}
+function isFeedExists($url){
+ global $DB;
+ $sql = "SELECT id FROM ".DB_PREFIX."rssfeeds WHERE url = '$url'";
+ $result = $DB->query($sql);
+ $rows = $DB->num_rows($result);
+ return $rows;
+}
+function insertLog($rssid, $log ,$hash){
+ global $DB;
+ if (isLogExists($rssid, $hash) == 0) {
+ $DB->query("INSERT INTO ".DB_PREFIX."rsslogs (rssid, log, hash) VALUES($rssid, '$log', '$hash')");
+ }
+}
+function insertFeed($url, $title){
+ global $DB;
+ if (isFeedExists($url) == 0) {
+ $DB->query("INSERT INTO ".DB_PREFIX."rssfeeds (url, title) VALUES('$url', '$title')");
+ } elseif (!getTitle($url)) {
+ emMsg("RSS导入失败,RSS地址{$url}解析失败,请确定RSS地址及XML文件格式正确");
+ } else {
+ emMsg("RSS导入失败,数据库中已存在{$url}");
+ }
+}
+function deleteFeed($id){
+ global $DB;
+ $rssurl = $DB->fetch_array($DB->query("SELECT url FROM ".DB_PREFIX."rssfeeds WHERE id = $id"));
+ $rssurl = $rssurl['url'];
+ $cache_file = EMLOG_ROOT.'/content/cache/rsscache_'.md5($rssurl);
+ $DB->query("DELETE FROM ".DB_PREFIX."rssfeeds WHERE id = $id");
+ $DB->query("DELETE FROM ".DB_PREFIX."rsslogs WHERE rssid = $id");
+ unlink($cache_file);
+}
+function updateFeed($id, $url, $title){
+ global $DB;
+ $DB->query("UPDATE ".DB_PREFIX."rssfeeds SET url = '$url', title = '$title' WHERE id = $id");
+}
+function getTitle($rss_url){
+ global $rssparser;
+ $rss = $rssparser->Get($rss_url);
+ return $rss['title'];
+}
+function updateLogs(){
+ global $rssparser, $DB, $lastRSS_is_urlshort, $lastRSS_is_blank;
+ $feeds = getRssFeeds();
+ while ($item = $DB->fetch_array($feeds)) {
+ $rss = $rssparser->Get($item['url']);
+ if(!empty($rss['items'])) {
+ foreach ($rss['items'] as $key => $data) {
+ $rssid = $item['id'];
+ $hash = md5($data['title']);
+ $checklog = isLogExists($rssid, $hash);
+ if ($checklog == 0) {
+ if (trim($data['title']) != '') {
+ $link = $lastRSS_is_urlshort ? urlShort($data['link']) : $data['link'];
+ $target = $lastRSS_is_blank ? ' target="_blank"' : '';
+ $log = ''.strip_tags($data['title']).'';
+ insertLog($rssid, $log ,$hash);
+ }
+ }
+ }
+ }
+ }
+}
+function displayLog(){
+ global $DB, $lastRSS_item_num;
+ $sql = "SELECT ".DB_PREFIX."rsslogs.log,".DB_PREFIX."rssfeeds.title FROM ".DB_PREFIX."rsslogs INNER JOIN ".DB_PREFIX."rssfeeds ON ".DB_PREFIX."rsslogs.rssid = ".DB_PREFIX."rssfeeds.id ORDER BY ".DB_PREFIX."rsslogs.id DESC limit $lastRSS_item_num";
+ $result = $DB->query($sql);
+ $output = '';
+ while ($row = $DB->fetch_array($result)) {
+ $output .= ''.$row['log'].' 来自 《'.$row["title"].'》';
+ }
+ $output = empty($output) ? '暂无Rss文章 ^_^' : $output;
+ $output = '';
+ return $output;
+}
+function displayLogIndex(){
+ echo '';
+}
+function lastRSS_css(){
+ echo ''."\n";
+}
+function lastRSS_ajax(){
+ echo ''."\n";
+ echo ''."\n";
+}
+function lastRSS_adminUpdate(){
+ echo ''."\n";
+}
+function lastRSS_menu(){
+ echo '';
+}
+function lastRSS_backup(){
+ global $DB, $tables;
+ $is_exist_rssfeeds_query = $DB->query('show tables like "'.DB_PREFIX.'rssfeeds"');
+ $is_exist_rsslogs_query = $DB->query('show tables like "'.DB_PREFIX.'rsslogs"');
+ if($DB->num_rows($is_exist_rssfeeds_query) != 0) array_push($tables, 'rssfeeds');
+ if($DB->num_rows($is_exist_rsslogs_query) != 0) array_push($tables, 'rsslogs');
+}
+emLoadJQuery();
+addAction('data_prebakup', 'lastRSS_backup');
+addAction('index_head', 'lastRSS_css');
+addAction('index_loglist_top', 'displayLogIndex');
+addAction('index_footer', 'lastRSS_ajax');
+addAction('adm_head', 'lastRSS_adminUpdate');
+addAction('adm_sidebar_ext', 'lastRSS_menu');
?>
\ No newline at end of file
diff --git a/lastRSS_callback.php b/lastRSS_callback.php
index ad6f0a1..83782b3 100644
--- a/lastRSS_callback.php
+++ b/lastRSS_callback.php
@@ -1,45 +1,45 @@
-query('show tables like "'.DB_PREFIX.'rssfeeds"');
- $is_exist_rsslogs_query = $DB->query('show tables like "'.DB_PREFIX.'rsslogs"');
- $dbcharset = 'utf8';
- $type = 'MYISAM';
- $add = $DB->getMysqlVersion() > '4.1' ? "ENGINE=".$type." DEFAULT CHARSET=".$dbcharset.";":"TYPE=".$type.";";
- $addone = "INSERT INTO ".DB_PREFIX."rssfeeds (url, title) VALUES('http://xiaosong.org/rss.php', '快乐忆站')";
- if($DB->num_rows($is_exist_rssfeeds_query) == 0){
- $sql_rssfeeds = "
-CREATE TABLE `".DB_PREFIX."rssfeeds` (
-`id` int(10) NOT NULL AUTO_INCREMENT,
-`url` text NOT NULL,
-`title` varchar(255) NOT NULL,
-PRIMARY KEY (`id`)
-)".$add;
- $DB->query($sql_rssfeeds);
- $DB->query($addone);
-
- }
- if($DB->num_rows($is_exist_rsslogs_query) == 0){
- $sql_rsslogs = "
-CREATE TABLE `".DB_PREFIX."rsslogs` (
-`id` int(10) NOT NULL AUTO_INCREMENT,
-`rssid` int(10) NOT NULL,
-`log` text NOT NULL,
-`hash` varchar(64) NOT NULL,
-PRIMARY KEY (`id`)
-)".$add;
- $DB->query($sql_rsslogs);
- }
-}
-
-function callback_rm(){
- $DB = MySql::getInstance();
- $feeds = getRssFeeds();
- while ($item = $DB->fetch_array($feeds)) {
- deleteFeed($item['id']);
- }
- $DB->query("DROP TABLE IF EXISTS ".DB_PREFIX."rssfeeds");
- $DB->query("DROP TABLE IF EXISTS ".DB_PREFIX."rsslogs");
-}
+query('show tables like "'.DB_PREFIX.'rssfeeds"');
+ $is_exist_rsslogs_query = $DB->query('show tables like "'.DB_PREFIX.'rsslogs"');
+ $dbcharset = 'utf8';
+ $type = 'MYISAM';
+ $add = $DB->getMysqlVersion() > '4.1' ? "ENGINE=".$type." DEFAULT CHARSET=".$dbcharset.";":"TYPE=".$type.";";
+ $addone = "INSERT INTO ".DB_PREFIX."rssfeeds (url, title) VALUES('http://xiaosong.org/rss.php', '快乐忆站')";
+ if($DB->num_rows($is_exist_rssfeeds_query) == 0){
+ $sql_rssfeeds = "
+CREATE TABLE `".DB_PREFIX."rssfeeds` (
+`id` int(10) NOT NULL AUTO_INCREMENT,
+`url` text NOT NULL,
+`title` varchar(255) NOT NULL,
+PRIMARY KEY (`id`)
+)".$add;
+ $DB->query($sql_rssfeeds);
+ $DB->query($addone);
+
+ }
+ if($DB->num_rows($is_exist_rsslogs_query) == 0){
+ $sql_rsslogs = "
+CREATE TABLE `".DB_PREFIX."rsslogs` (
+`id` int(10) NOT NULL AUTO_INCREMENT,
+`rssid` int(10) NOT NULL,
+`log` text NOT NULL,
+`hash` varchar(64) NOT NULL,
+PRIMARY KEY (`id`)
+)".$add;
+ $DB->query($sql_rsslogs);
+ }
+}
+
+function callback_rm(){
+ $DB = MySql::getInstance();
+ $feeds = getRssFeeds();
+ while ($item = $DB->fetch_array($feeds)) {
+ deleteFeed($item['id']);
+ }
+ $DB->query("DROP TABLE IF EXISTS ".DB_PREFIX."rssfeeds");
+ $DB->query("DROP TABLE IF EXISTS ".DB_PREFIX."rsslogs");
+}
?>
\ No newline at end of file
diff --git a/lastRSS_setting.php b/lastRSS_setting.php
index 5bf710a..b32d4e8 100644
--- a/lastRSS_setting.php
+++ b/lastRSS_setting.php
@@ -1,165 +1,165 @@
-
-
-Rss订阅 参数设置
-插件设置完成
-
-
-
-RSS 导入
-
-
-num_rows($feeds) != 0):
-?>
-管理:(双击单行可对应修改该RSS的URL和标题)
-
-
-
-fetch_array($feeds)) {
-?>
--
- 删除
- 《》 URL:
-
-
-暂无RSS地址,请导入
-
- 'true');
- exit(json_encode($msg));
- }
- } elseif ($do == 'update') {
- $id = intval($_POST['id']);
- $url = isset($_POST['url']) ? trim($_POST['url']) : '';
- if (!empty($url)) {
- $title = (isset($_POST['title']) && trim($_POST['title']) !='') ? $_POST['title'] : getTitle($url);
- $title = addslashes($title);
- if (!empty($title)) {
- updateFeed($id, $url, $title);
- header("Location:plugin.php?plugin=lastRSS&setting=true");
- } else {
- emMsg("RSS修改失败,插件无法获取{$url}的标题,请自行添加标题再添加该RSS");
- }
- } else {
- emMsg("RSS修改失败,RSS地址不能为空");
- }
- } elseif ($do == 'add') {
- $url = isset($_POST['url']) ? trim($_POST['url']) : '';
- if (!empty($url)) {
- $title = (isset($_POST['title']) && trim($_POST['title']) !='') ? $_POST['title'] : getTitle($url);
- $title = addslashes($title);
- if (!empty($title)) {
- insertFeed($url, $title);
- updateLogs();
- header("Location:plugin.php?plugin=lastRSS&setting=true");
- } else {
- emMsg("RSS导入失败,插件无法获取{$url}的标题,请自行添加标题再导入该RSS");
- }
- } else {
- emMsg("RSS导入失败,RSS地址不能为空");
- }
- } elseif ($do == 'config') {
- $lastRSS_cache_time = isset($_POST['lastRSS_cache_time']) ? intval($_POST['lastRSS_cache_time']) : 0;
- $lastRSS_item_num = isset($_POST['lastRSS_item_num']) ? intval($_POST['lastRSS_item_num']) : 2;
- $lastRSS_is_urlshort = isset($_POST['lastRSS_is_urlshort']) ? intval($_POST['lastRSS_is_urlshort']) : 0;
- $lastRSS_urlshort_domain = isset($_POST['lastRSS_urlshort_domain']) ? trim($_POST['lastRSS_urlshort_domain']) : 't.cn';
- $lastRSS_is_blank = isset($_POST['lastRSS_is_blank']) ? intval($_POST['lastRSS_is_blank']) : 0;
- $data = "";
- $file = EMLOG_ROOT.'/content/plugins/lastRSS/lastRSS_config.php';
- @ $fp = fopen($file, 'wb') OR emMsg('读取文件失败,如果您使用的是Unix/Linux主机,请修改文件/content/plugins/lastRSS/lastRSS_config.php的权限为777。如果您使用的是Windows主机,请联系管理员,将该文件设为everyone可写');
- @ $fw = fwrite($fp,$data) OR emMsg('写入文件失败,如果您使用的是Unix/Linux主机,请修改文件/content/plugins/lastRSS/lastRSS_config.php的权限为777。如果您使用的是Windows主机,请联系管理员,将该文件设为everyone可写');
- fclose($fp);
- header("Location:plugin.php?plugin=lastRSS&setting=true");
- }
-}
-?>
-
-
+
+
+Rss订阅 参数设置
+插件设置完成
+
+
+
+RSS 导入
+
+
+num_rows($feeds) != 0):
+?>
+管理:(双击单行可对应修改该RSS的URL和标题)
+
+
+
+fetch_array($feeds)) {
+?>
+-
+ 删除
+ 《》 URL:
+
+
+暂无RSS地址,请导入
+
+ 'true');
+ exit(json_encode($msg));
+ }
+ } elseif ($do == 'update') {
+ $id = intval($_POST['id']);
+ $url = isset($_POST['url']) ? trim($_POST['url']) : '';
+ if (!empty($url)) {
+ $title = (isset($_POST['title']) && trim($_POST['title']) !='') ? $_POST['title'] : getTitle($url);
+ $title = addslashes($title);
+ if (!empty($title)) {
+ updateFeed($id, $url, $title);
+ header("Location:plugin.php?plugin=lastRSS&setting=true");
+ } else {
+ emMsg("RSS修改失败,插件无法获取{$url}的标题,请自行添加标题再添加该RSS");
+ }
+ } else {
+ emMsg("RSS修改失败,RSS地址不能为空");
+ }
+ } elseif ($do == 'add') {
+ $url = isset($_POST['url']) ? trim($_POST['url']) : '';
+ if (!empty($url)) {
+ $title = (isset($_POST['title']) && trim($_POST['title']) !='') ? $_POST['title'] : getTitle($url);
+ $title = addslashes($title);
+ if (!empty($title)) {
+ insertFeed($url, $title);
+ updateLogs();
+ header("Location:plugin.php?plugin=lastRSS&setting=true");
+ } else {
+ emMsg("RSS导入失败,插件无法获取{$url}的标题,请自行添加标题再导入该RSS");
+ }
+ } else {
+ emMsg("RSS导入失败,RSS地址不能为空");
+ }
+ } elseif ($do == 'config') {
+ $lastRSS_cache_time = isset($_POST['lastRSS_cache_time']) ? intval($_POST['lastRSS_cache_time']) : 0;
+ $lastRSS_item_num = isset($_POST['lastRSS_item_num']) ? intval($_POST['lastRSS_item_num']) : 2;
+ $lastRSS_is_urlshort = isset($_POST['lastRSS_is_urlshort']) ? intval($_POST['lastRSS_is_urlshort']) : 0;
+ $lastRSS_urlshort_domain = isset($_POST['lastRSS_urlshort_domain']) ? trim($_POST['lastRSS_urlshort_domain']) : 't.cn';
+ $lastRSS_is_blank = isset($_POST['lastRSS_is_blank']) ? intval($_POST['lastRSS_is_blank']) : 0;
+ $data = "";
+ $file = EMLOG_ROOT.'/content/plugins/lastRSS/lastRSS_config.php';
+ @ $fp = fopen($file, 'wb') OR emMsg('读取文件失败,如果您使用的是Unix/Linux主机,请修改文件/content/plugins/lastRSS/lastRSS_config.php的权限为777。如果您使用的是Windows主机,请联系管理员,将该文件设为everyone可写');
+ @ $fw = fwrite($fp,$data) OR emMsg('写入文件失败,如果您使用的是Unix/Linux主机,请修改文件/content/plugins/lastRSS/lastRSS_config.php的权限为777。如果您使用的是Windows主机,请联系管理员,将该文件设为everyone可写');
+ fclose($fp);
+ header("Location:plugin.php?plugin=lastRSS&setting=true");
+ }
+}
+?>
+
+