PageRenderTime 45ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/trunk/application/maxsite/templates/default/type/feed-home.php

https://code.google.com/p/maxsite/
PHP | 80 lines | 59 code | 20 blank | 1 comment | 5 complexity | de1386159f3ad0b7bce8211536f1e609 MD5 | raw file
  1. <?php if (!defined('BASEPATH')) exit('No direct script access allowed');
  2. mso_cur_dir_lang('templates');
  3. header('Content-type: text/html; charset=utf-8');
  4. header('Content-Type: application/rss+xml');
  5. $cache_key = mso_md5('feed_' . mso_current_url());
  6. $k = mso_get_cache($cache_key);
  7. if ($k) return print($k); // ?? ???? ? ????
  8. ob_start();
  9. require_once( getinfo('common_dir') . 'page.php' ); // ???????? ??????? ???????
  10. require_once( getinfo('common_dir') . 'category.php' ); // ??????? ??????
  11. $this->load->helper('xml');
  12. $time_zone = getinfo('time_zone'); // 2.00 -> 200
  13. $time_zone_server = date('O') / 100; // +0100 -> 1.00
  14. $time_zone = $time_zone + $time_zone_server; // 3
  15. $time_zone = number_format($time_zone, 2, '.', ''); // 3.00
  16. if ($time_zone < 10 and $time_zone > 0) $time_zone = '+0' . $time_zone;
  17. elseif ($time_zone > -10 and $time_zone < 0) { $time_zone = '0' . $time_zone; $time_zone = str_replace('0-', '-0', $time_zone); }
  18. else $time_zone = '+00.00';
  19. $time_zone = str_replace('.', '', $time_zone);
  20. $encoding = 'utf-8';
  21. // $time_zone = str_replace('.', '', getinfo('time_zone')); // '+0300';
  22. $limit = mso_get_option('limit_post_rss', 'templates', 7);
  23. $cut = mso_get_option('full_rss', 'templates', 0) ? false : t('?????? ?????????'). ' ť';
  24. $feed_name = mso_head_meta('title');
  25. $description = mso_head_meta('description');
  26. $feed_url = getinfo('siteurl');
  27. $language = 'en-ru';
  28. $generator = 'MaxSite CMS (http://max-3000.com/)';
  29. $par = array( 'limit'=>$limit, 'cut'=>$cut, 'type'=>false, 'pagination'=>false, 'only_feed'=>true );
  30. $pages = mso_get_pages($par, $pagination);
  31. if ($pages)
  32. {
  33. $pubdate = date('D, d M Y H:i:s ' . $time_zone, strtotime(mso_date_convert('Y-m-d H:i:s', $pages[0]['page_date_publish'])));
  34. echo '<' . '?xml version="1.0" encoding="utf-8"?' . '>';
  35. ?>
  36. <rss version="2.0">
  37. <channel>
  38. <title><?= $feed_name ?></title>
  39. <link><?= $feed_url ?></link>
  40. <description><?= $description ?></description>
  41. <pubDate><?= $pubdate ?></pubDate>
  42. <language><?= $language ?></language>
  43. <generator><?= $generator ?></generator>
  44. <copyright>Copyright <?= gmdate("Y", time()) ?>, <?= getinfo('siteurl') ?></copyright>
  45. <?php foreach($pages as $page) : extract($page); ?>
  46. <item>
  47. <title><![CDATA[<?= xml_convert(strip_tags($page_title)) ?>]]></title>
  48. <link><?= getinfo('siteurl') . 'page/' . mso_slug($page_slug) ?></link>
  49. <guid><?= getinfo('siteurl') . 'page/' . mso_slug($page_slug) ?></guid>
  50. <pubDate><?= date('D, d M Y H:i:s '. $time_zone, strtotime(mso_date_convert('Y-m-d H:i:s', $page_date_publish))) ?></pubDate>
  51. <?= mso_page_cat_link($page_categories, ", ", '<category><![CDATA[', ']]></category>' . "\n", false, 'category', false) ?>
  52. <description><![CDATA[<?= mso_page_content($page_content) . mso_page_comments_link($page_comment_allow, $page_slug, ' '. t('????????'), '', '', false) ?>]]></description>
  53. </item>
  54. <?php endforeach; ?>
  55. </channel>
  56. </rss>
  57. <?php
  58. } // if ($pages)
  59. mso_add_cache($cache_key, ob_get_flush()); // ????? ? ? ??? ??????? - ????? 10 ????? 60 ??? * 10 ????? *
  60. ?>