function rssmaker_plugin_favorite_action($_, $myUser) { if ($_['action'] == 'show_favorite_rss') { header('Content-Type: text/xml; charset=utf-8'); $eventManager = new Event(); $items = $eventManager->loadAll(array("favorite" => 1)); $ConfigManager = new Configuration(); $ConfigManager->getAll(); $link = $ConfigManager->get('root'); $xml = '<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"> <channel> <title>Leed (' . _t("FAVORITES") . ')</title> <atom:link href="' . $link . 'action.php?action=show_unread_rss" rel="self" type="application/rss+xml"/> <link>' . $link . '</link> <description>Aggrégation des flux non lus</description> <language>fr-fr</language> <copyright>DWTFYW</copyright> <pubDate>' . date('r', gmstrftime(time())) . '</pubDate> <lastBuildDate>' . date('r', gmstrftime(time())) . '</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>Leed (LightFeed Agregator) ' . VERSION_NAME . '</generator>'; usort($items, 'rssmaker_plugin_compare_event'); foreach ($items as $item) { $xml .= '<item> <title><![CDATA[' . html_entity_decode($item->getTitle()) . ']]></title> <link>' . $item->getLink() . '</link> <pubDate>' . date('r', gmstrftime($item->getPubdate())) . '</pubDate> <guid isPermaLink="true">' . $item->getLink() . '</guid> <description> <![CDATA[' . $item->getDescription() . ' ]]> </description> <content:encoded><![CDATA[' . $item->getDescription() . ']]></content:encoded> <dc:creator>' . ('' == $item->getCreator() ? 'Anonyme' : $item->getCreator()) . '</dc:creator> </item>'; } $xml .= '</channel></rss>'; echo $xml; } }
Plugin::callHook("vocal_command", array(&$response, $actionUrl)); $json = json_encode($response); echo $json == '[]' ? '{}' : $json; break; case 'GET_EVENT': if ($myUser->getId() == '') { exit('{"error":"invalid or missing token"}'); } if (!$myUser->can('vocal', 'r')) { exit('{"error":"insufficient permissions for this account"}'); } $response = array('responses' => array()); Plugin::callHook("get_event", array(&$response)); $checker = isset($_['checker']) ? $_['checker'] : 'client'; $eventManager = new Event(); $events = $eventManager->loadAll(array(), 'id'); $time = date('i-H-d-m-Y'); list($minut, $hour, $day, $month, $year) = explode('-', $time); foreach ($events as $event) { if (in_array($checker, $event->getRecipients()) && $event->getState() == '1') { if (($event->getMinut() == '*' || in_array($minut, explode(',', $event->getMinut()))) && ($event->getHour() == '*' || in_array($hour, explode(',', $event->getHour()))) && ($event->getDay() == '*' || in_array($day, explode(',', $event->getDay()))) && ($event->getMonth() == '*' || in_array($month, explode(',', $event->getMonth()))) && ($event->getYear() == '*' || in_array($year, explode(',', $event->getYear())))) { if ($event->getRepeat() != $time) { if (in_array($checker, $event->getRecipients())) { $event->setRepeat($time); $response['responses'][] = $event->getContent(); //Le serveur ne peux qu'executer des commandes programme if ($checker == 'server') { $content = $event->getContent(); switch ($content['type']) { case 'command': exec(htmlspecialchars_decode($content['program']));
<?php define('ROOT', dirname(dirname(__DIR__))); require_once ROOT . '/db.php'; require_once ROOT . '/util/response_util.php'; require_once ROOT . '/beans/event.php'; require_once ROOT . '/beans/dbexception.php'; $id = $_GET['id']; $db = acquireDatabase(); $loader = new Event($db); try { if (isset($id)) { $res = $loader->loadId($id); } else { $res = $loader->loadAll(); } sendSimpleData($res); } catch (DbException $e) { sendMessage(ERR, $e->getMessage()); } $db->close();