예제 #1
0
 function showNewsRefresh($id, $time, $path)
 {
     global $objDatabase;
     //delete old #01
     $query = "SELECT link,\n                           filename\n                      FROM " . DBPREFIX . "module_feed_news\n                     WHERE id = '" . $id . "'";
     $objResult = $objDatabase->Execute($query);
     $old_link = $objResult->fields['link'];
     $old_filename = $objResult->fields['filename'];
     if ($old_link != '') {
         $filename = 'feed_' . $time . '_' . \Cx\Lib\FileSystem\FileSystem::replaceCharacters(basename($old_link));
         @copy($old_link, $path . $filename);
         //rss class
         $rss = new \XML_RSS($path . $filename);
         $rss->parse();
         $content = '';
         foreach ($rss->getStructure() as $array) {
             $content .= $array;
         }
     }
     if ($old_link == '') {
         $filename = $old_filename;
     }
     $query = "UPDATE " . DBPREFIX . "module_feed_news\n                       SET filename = '" . $filename . "',\n                           time = '" . $time . "'\n                     WHERE id = '" . $id . "'";
     $objDatabase->Execute($query);
     //delete old #02
     if ($old_link != '') {
         @unlink($path . $old_filename);
     }
 }
예제 #2
0
 function testGetStructureFromString()
 {
     $rss = file_get_contents(dirname(__FILE__) . '/test.rss');
     $r = new XML_RSS($rss);
     $r->parse();
     $expected = 'a:7:{i:0;a:4:{s:4:"type";s:7:"channel";s:5:"title";s:4:"Test";s:4:"link";s:20:"http://pear.php.net/";s:11:"description";s:34:"This is a test channel for XML_RSS";}i:1;a:4:{s:4:"type";s:5:"image";s:5:"title";s:4:"PEAR";s:3:"url";s:38:"http://pear.php.net/gifs/pearsmall.gif";s:4:"link";s:20:"http://pear.php.net/";}i:2;a:4:{s:4:"type";s:4:"item";s:5:"title";s:12:"PHP homepage";s:4:"link";s:15:"http://php.net/";s:8:"category";a:1:{i:0;s:3:"php";}}i:3;a:4:{s:4:"type";s:4:"item";s:5:"title";s:13:"PEAR homepage";s:4:"link";s:20:"http://pear.php.net/";s:8:"category";a:2:{i:0;s:3:"php";i:1;s:4:"pear";}}i:4;a:4:{s:4:"type";s:4:"item";s:5:"title";s:16:"PHP-GTK homepage";s:4:"link";s:19:"http://gtk.php.net/";s:8:"category";a:2:{i:0;s:3:"php";i:1;s:3:"gtk";}}i:5;a:4:{s:4:"type";s:4:"item";s:5:"title";s:15:"PHP QA homepage";s:4:"link";s:18:"http://qa.php.net/";s:8:"category";a:2:{i:0;s:3:"php";i:1;s:2:"qa";}}i:6;a:5:{s:4:"type";s:9:"textinput";s:5:"title";s:15:"Search Slashdot";s:11:"description";s:23:"Search Slashdot stories";s:4:"name";s:5:"query";s:4:"link";s:29:"http://slashdot.org/search.pl";}}';
     $actual = serialize($r->getStructure());
     $this->assertEquals($expected, $actual);
 }
 /**
  * refresh xml
  *
  * refresh ex. xml
  *
  * @access   public
  * @param    string  $id
  * @return   string  $filename
  * @global   ADONewConnection
  * @global   array
  */
 function refreshXML($id)
 {
     global $objDatabase, $_ARRAYLANG;
     //get filename
     $objResult = $objDatabase->Execute("SELECT  id, rss_link, rss_file FROM " . DBPREFIX . "module_directory_dir WHERE status = '1' AND id = '" . contrexx_addslashes($id) . "'");
     if ($objResult !== false) {
         while (!$objResult->EOF) {
             $filename = $objResult->fields['rss_file'];
             $link = $objResult->fields['rss_link'];
             $objResult->MoveNext();
         }
     }
     //del old
     if (file_exists($this->mediaPath . "ext_feeds/" . $filename)) {
         @unlink($this->mediaPath . "ext_feeds/" . $filename);
     }
     //copy
     if (!copy($link, $this->mediaPath . "ext_feeds/" . $filename)) {
         $this->statusMessage = $_ARRAYLANG['DIRECTORY_NO_NEWS'];
         die;
     }
     //rss class
     $rss = new \XML_RSS($this->mediaPath . "ext_feeds/" . $filename);
     $rss->parse();
     $content = '';
     foreach ($rss->getStructure() as $array) {
         $content .= $array;
     }
     $objResult = $objDatabase->Execute("UPDATE " . DBPREFIX . "module_directory_dir SET xml_refresh='" . mktime(date("G"), date("i"), date("s"), date("m"), date("d"), date("Y")) . "' WHERE id='" . $id . "'");
     if ($content == '') {
         unlink($this->mediaPath . "ext_feeds/" . $filename);
     }
 }
예제 #4
0
 function showEditSetNew($id, $subid, $name, $link, $filename, $articles, $cache, $time, $image, $status)
 {
     global $objDatabase, $_ARRAYLANG;
     //delete old #01
     $query = "SELECT link,\n                           filename\n                      FROM " . DBPREFIX . "module_feed_news\n                     WHERE id = '" . $id . "'";
     $objResult = $objDatabase->Execute($query);
     $old_link = $objResult->fields['link'];
     $old_filename = $objResult->fields['filename'];
     //new
     $query = "SELECT id\n                      FROM " . DBPREFIX . "module_feed_news\n              WHERE BINARY name = '" . $name . "'\n                       AND id <> '" . $id . "'";
     $objResult = $objDatabase->Execute($query);
     if ($objResult->RecordCount() == 0) {
         if ($link != '') {
             $filename = "feed_" . $time . "_" . basename($link);
             if (!copy($link, $this->feedpath . $filename)) {
                 $_SESSION['strErrMessage'] = $_ARRAYLANG['TXT_FEED_MESSAGE_ERROR_NEWS_FEED'];
                 $this->goToReplace('&act=edit&id=' . $id);
                 die;
             }
             //rss class
             $rss = new \XML_RSS($this->feedpath . $filename);
             $rss->parse();
             $content = '';
             foreach ($rss->getStructure() as $array) {
                 $content .= $array;
             }
             if ($content == '') {
                 unlink($this->feedpath . $filename);
                 $_SESSION['strErrMessage'] = $_ARRAYLANG['TXT_FEED_MESSAGE_ERROR_NEWS_FEED'];
                 $this->goToReplace('&act=edit&id=' . $id);
                 die;
             }
         }
         $query = "UPDATE " . DBPREFIX . "module_feed_news\n                           SET subid = '" . $subid . "',\n                               name = '" . $name . "',\n                               link = '" . $link . "',\n                               filename = '" . $filename . "',\n                               articles = '" . $articles . "',\n                               cache = '" . $cache . "',\n                               time = '" . $time . "',\n                               image = '" . $image . "',\n                               status = '" . $status . "'\n                         WHERE id = '" . $id . "'";
         $objResult = $objDatabase->Execute($query);
     } else {
         $_SESSION['strErrMessage'] = $_ARRAYLANG['TXT_FEED_MESSAGE_ERROR_EXISTING_NEWS'];
         $this->goToReplace('&act=edit&id=' . $id);
         die;
     }
     //delete old #02
     if ($old_link != '') {
         if (!unlink($this->feedpath . $old_filename)) {
             $_SESSION['strErrMessage'] = $_ARRAYLANG['TXT_FEED_MESSAGE_ERROR_DELETE'];
             $this->goToReplace('');
             die;
         }
     }
 }