Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // Get Joomla! framework
- define('_JEXEC', 1);
- define('_VALID_MOS', 1);
- define('JPATH_BASE', realpath(dirname(__FILE__)));
- define('DS', DIRECTORY_SEPARATOR);
- require_once(JPATH_BASE . DS . 'includes' . DS . 'defines.php');
- require_once(JPATH_BASE . DS . 'includes' . DS . 'framework.php');
- jimport('joomla.database.table');
- function parse_rss($rss_link, $additional_title) {
- try {
- $data = array();
- $db = JFactory::getDBO();
- $db->set_charset("utf8");
- $table = JTable::getInstance("content");
- $rawFeed = file_get_contents($rss_link);
- $x = new SimpleXmlElement($rawFeed);
- if (count($x) == 0) {
- return;
- }
- foreach($x->channel->item as $item) {
- try {
- $plink = parse_url($item->link);
- $query = $db->getQuery(true);
- $query->select("id")
- ->from("jml_content")
- ->where("introtext LIKE '%" . (string) $plink['path'] . "%'");
- $db->setQuery($query);
- $article_id = $db->loadResult();
- if ($article_id === '' || $article_id == null) {
- $article_id = $db->insertid();
- }
- $article_title = $item->title;
- if ($additional_title) {
- $article_title = "xxx $article_title";
- }
- $alias = ltrim((string) $plink['path'], '/');
- $alias = str_replace('/', '-', $alias);
- $data = array();
- $data['id'] = $article_id;
- $data['catid'] = 14;
- $data['title'] = "(" . strftime("%d-%m-%Y", strtotime($item->pubDate)) . ") " . $article_title;
- $data['alias'] = $alias;
- $data['introtext'] = "xxx";
- $data['state'] = 1;
- $data['created'] = strftime("%Y-%m-%d %H:%M:%S", strtotime($item->pubDate));
- $data['publish_up'] = strftime("%Y-%m-%d %H:%M:%S", strtotime($item->pubDate));
- $data['featured'] = 0;
- $data['language'] = "el-GR";
- if (!$table->save($data)) {
- error_log(print_r($data, true));
- error_log('Cannot save article. Reason: ');
- error_log($table->getError());
- }
- }
- catch (Exception $e) {
- error_log('Cannot parse RSS item.');
- error_log("$e->getMessage()");
- }
- }
- }
- catch (Exception $e) {
- error_log('Exception while parsing RSS.\n');
- error_log("$e->getMessage()\n");
- }
- }
- ob_start();
- try {
- date_default_timezone_set( 'Europe/Athens' );
- parse_rss("xxx", false);
- parse_rss("xxx", true);
- }
- catch (Exception $e) {
- error_log('Cannot parse RSS.\n');
- error_log("$e->getMessage()\n");
- }
- ob_end_flush();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement