public static function main() { $tpl['MESSAGE'] = NULL; $message = RSS_Admin::getMessage(); PHPWS_Core::initModClass('rss', 'Feed.php'); PHPWS_Core::initModClass('rss', 'Channel.php'); if (!Current_User::allow('rss')) { Current_User::disallow(); } $panel = RSS_Admin::adminPanel(); if (isset($_REQUEST['command'])) { $command = $_REQUEST['command']; } elseif (isset($_REQUEST['tab'])) { $command = $_REQUEST['tab']; } else { $command = $panel->getCurrentTab(); } if (isset($_REQUEST['channel_id'])) { $channel = new RSS_Channel($_REQUEST['channel_id']); } else { $channel = new RSS_Channel(); } if (isset($_REQUEST['feed_id'])) { $feed = new RSS_Feed($_REQUEST['feed_id']); } else { $feed = new RSS_Feed(); } switch ($command) { case 'channels': $tpl = RSS_Admin::channels(); break; case 'settings': $tpl = RSS_Admin::settings(); break; case 'save_settings': $result = RSS_Admin::save_settings(); if (!$result) { PHPWS_Settings::save('rss'); $result = dgettext('rss', 'Settings saved successfully.'); } $tpl = RSS_Admin::settings(); $tpl['MESSAGE'] =& $result; break; case 'feedInfo': $feed = new RSS_Feed(filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT)); echo json_encode($feed); exit; break; case 'save_feed': $result = $feed->post(); if (is_array($result)) { $tpl['CONTENT'] = RSS_Admin::editFeed($feed, true); $tpl['MESSAGE'] = implode('<br />', $result); } else { $result = $feed->save(); PHPWS_Core::reroute('index.php?module=rss&tab=import'); } break; case 'edit_channel': $tpl = RSS_Admin::editChannel($channel); break; case 'post_channel': $result = $channel->post(); if (is_array($result)) { $message = implode('<br />', $result); $tpl = RSS_Admin::editChannel($channel); } else { $result = $channel->save(); if (PHPWS_Error::isError($result)) { RSS_Admin::sendMessage(dgettext('rss', 'An error occurred when saving your channel.'), 'channels'); } else { RSS_Admin::sendMessage(dgettext('rss', 'Channel saved.'), 'channels'); } } break; case 'reset_feed': $feed->reset(); case 'import': $tpl = RSS_Admin::import(); break; case 'turn_on_display': $feed->display = 1; $feed->save(); $tpl = RSS_Admin::import(); break; case 'turn_off_display': $feed->display = 0; $feed->save(); $tpl = RSS_Admin::import(); break; case 'add_feed': $tpl = RSS_Admin::editFeed($feed); Layout::nakedDisplay(PHPWS_Template::process($tpl, 'rss', 'main.tpl')); exit; break; case 'edit_feed': $tpl = RSS_Admin::editFeed($feed); Layout::nakedDisplay(PHPWS_Template::process($tpl, 'rss', 'main.tpl')); exit; break; case 'delete_feed': $feed->delete(); $tpl = RSS_Admin::import(); break; default: PHPWS_Core::errorPage('404'); break; } if (!empty($message)) { $tpl['MESSAGE'] = $message; } $content = PHPWS_Template::process($tpl, 'rss', 'main.tpl'); $panel->setContent($content); $content = $panel->display(); Layout::add(PHPWS_ControlPanel::display($content)); }