1: <?php
2: 3: 4: 5: 6: 7: 8: 9:
10:
11: if (!defined('XOOPS_ROOT_PATH')) exit();
12:
13: 14: 15:
16: class Legacy_BackendAction extends Legacy_Action
17: {
18: var $mItems = array();
19:
20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
34: var $mGetRSSItems = null;
35:
36: function Legacy_BackendAction($flag)
37: {
38: parent::Legacy_Action($flag);
39:
40: $this->mGetRSSItems =new XCube_Delegate();
41: $this->mGetRSSItems->register('Legacy_BackendAction.GetRSSItems');
42: }
43:
44: function getDefaultView(&$controll, &$xoopsUser)
45: {
46: $items = array();
47: $this->mGetRSSItems->call(new XCube_Ref($items));
48:
49: $sortArr = array();
50: foreach ($items as $item) {
51: $i = intval($item['pubdate']);
52: for (; isset($sortArr[$i]) ; $i++);
53:
54: $sortArr[$i] = $item;
55: }
56: krsort($sortArr);
57: $this->mItems = $sortArr;
58: return LEGACY_FRAME_VIEW_INDEX;
59: }
60:
61: function executeViewIndex(&$controller, &$xoopsUser, &$render)
62: {
63: $xoopsConfig = $controller->mRoot->mContext->mXoopsConfig;
64:
65:
66:
67:
68: $renderSystem =& $controller->mRoot->getRenderSystem('Legacy_RenderSystem');
69:
70: $renderTarget =& $renderSystem->createRenderTarget('main');
71:
72: $renderTarget->setTemplateName("legacy_rss.html");
73:
74: $renderTarget->setAttribute('channel_title', $xoopsConfig['sitename']);
75: $renderTarget->setAttribute('channel_link', XOOPS_URL . '/');
76: $renderTarget->setAttribute('channel_desc', $xoopsConfig['slogan']);
77: $renderTarget->setAttribute('channel_lastbuild', formatTimestamp(time(), 'rss'));
78: $renderTarget->setAttribute('channel_webmaster', $xoopsConfig['adminmail']);
79: $renderTarget->setAttribute('channel_editor', $xoopsConfig['adminmail']);
80: $renderTarget->setAttribute('channel_category', 'News');
81: $renderTarget->setAttribute('channel_generator', 'XOOPS Cube');
82: $renderTarget->setAttribute('image_url', XOOPS_URL . '/images/logo.gif');
83:
84: $dimention = getimagesize(XOOPS_ROOT_PATH . '/images/logo.gif');
85:
86: $width = 0;
87: if (empty($dimention[0])) {
88: $width = 88;
89: }
90: else {
91: $width = ($dimention[0] > 144) ? 144 : $dimention[0];
92: }
93:
94: $height = 0;
95: if (empty($dimention[1])) {
96: $height = 31;
97: } else {
98: $height = ($dimention[1] > 400) ? 400 : $dimention[1];
99: }
100:
101: $renderTarget->setAttribute('image_width', $width);
102: $renderTarget->setAttribute('image_height', $height);
103: $renderTarget->setAttribute('items', $this->mItems);
104:
105:
106:
107:
108: $renderSystem->render($renderTarget);
109:
110: if (function_exists('mb_http_output')) {
111: mb_http_output('pass');
112: }
113: header ('Content-Type:text/xml; charset=utf-8');
114:
115:
116: print xoops_utf8_encode($renderTarget->getResult());
117:
118: exit(0);
119: }
120: }
121: