function do_main() { //get folder object $oFolder = $this->oFolder; // get folder id $iFId = $oFolder->getID(); $oTemplating =& KTTemplating::getSingleton(); $oTemplate = $oTemplating->loadTemplate('RSSPlugin/rssfolderaction'); $aTemplateData = array('context' => $this, 'link' => KTrss::getRssLink($iFId, 'folder'), 'linkIcon' => KTrss::getImageLink($iFId, 'folder'), 'folderName' => $this->oFolder->getName()); return $oTemplate->render($aTemplateData); }
function do_main() { //get document object $oDocument = $this->oDocument; // get document id $iDId = $oDocument->getID(); $oTemplating =& KTTemplating::getSingleton(); $oTemplate = $oTemplating->loadTemplate('RSSPlugin/rssdocumentaction'); $aTemplateData = array('context' => $this, 'link' => KTrss::getRssLink($iDId, 'document'), 'linkIcon' => KTrss::getImageLink($iDId, 'document')); return $oTemplate->render($aTemplateData); }
function render() { global $main; $main->requireJSResource("plugins/rssplugin/js/update.js"); $oTemplating =& KTTemplating::getSingleton(); $oTemplate = $oTemplating->loadTemplate('RSSPlugin/dashlet'); $iUId = $this->oUser->getId(); // Get internal Feed $aInternalRSS = KTrss::getInternalFeed($iUId); // Get count of all items in feed $iCountItems = count($aInternalRSS[items]); // Get listing of external feeds $aExternalFeedsList = KTrss::getExternalFeedsList($iUId); // Create action for external feed management to be linked to inside of dashlet $action = array("name" => _kt("Manage External RSS Feeds"), "url" => $this->oPlugin->getPagePath('managerssfeeds')); // Prepare template data $aTemplateData = array('context' => $this, 'internalrss' => $aInternalRSS, 'itemcount' => $iCountItems, 'feedlist' => $aExternalFeedsList, 'user' => $iUId, 'action' => $action); return $oTemplate->render($aTemplateData); }
function do_createFeed() { $iFeedId = KTUtil::arrayGet($_REQUEST, 'feed_id'); // use the validator object $aErrorOptions = array('redirect_to' => array('addFeed'), 'message' => _kt('You must specify a title for the rss feed.')); $sTitle = $this->oValidator->validateString(KTUtil::arrayGet($_REQUEST, 'title'), $aErrorOptions); $sUrl = KTUtil::arrayGet($_REQUEST, 'url'); $res = KTrss::createFeed($sTitle, $sUrl, $this->oUser->getId()); if (PEAR::isError($res)) { $this->errorRedirectToMain(sprintf(_kt('Unable to create feed: %s'), $res->getMessage())); } else { $this->successRedirectToMain(sprintf(_kt('Created new rss feed: %s'), KTrss::getExternalFeedTitle($res))); } }
// create rss xml for error $error = KTrss::errorToXML(_kt('This document has returned a empty response')); } } else { // create rss xml for error $error = KTrss::errorToXML(_kt('You are either not authorised to view details on this folder or it does not exist.' . ' Please visit http://' . $_SERVER['HTTP_HOST'] . '/' . $GLOBALS['KTRootUrl'] . '/ to browse for a valid folder.')); } if (isset($error)) { // if an error exist, output...else out the result echo $error; } else { echo $folderFeed; } } else { // else do normal rss parsing // get full list of subscribed documents and folders $aFullList = kt_array_merge(KTrss::getDocuments($id), KTrss::getFolders($id)); $internalFeed = KTrss::arrayToXML($aFullList); echo $internalFeed; } } // Validate user credentials function validateUser($username, $password) { //return DBAuthenticator::checkPassword($username, $password); $oUser =& User::getByUsername($username); if (PEAR::isError($oUser) || is_a($oUser, 'KTEntityNoObjects')) { return false; } return KTAuthenticationUtil::checkPassword($oUser, $password); }
function getMimeTypeInfo($iUserId, $iDocumentId) { global $default; $mimeinfo['typeId'] = KTrss::getDocumentMimeTypeId($iUserId, $iDocumentId); // mime type id $mimeinfo['typeName'] = KTMime::getMimeTypeName($mimeinfo['typeId']); // mime type name $mimeinfo['typeFName'] = KTMime::getFriendlyNameForString($mimeinfo['typeName']); // mime type friendly name $mimeinfo['typeIcon'] = "http" . ($default->sslEnabled ? "s" : "") . "://" . $_SERVER['HTTP_HOST'] . "/" . $GLOBALS['KTRootUrl'] . "/resources/mimetypes/" . KTMime::getIconPath($mimeinfo['typeId']) . ".png"; //icon path return $mimeinfo; }
if (!preg_match("/^http[s]?:\\/\\/([^\\/]+)(.*)\$/", $feed, $matches)) { // If not, it is an internal feed $aRSSArray = KTrss::getInternalFeed($user); } else { // If it is a url, it is an external feed // However, sometimes internal documents get added as external feeds // Check that the url isn't an internal one. global $default; $rootUrl = $default->rootUrl; $bSSL = $default->sslEnabled; $sProtocol = $bSSL ? 'https' : 'http'; $sBaseUrl = $sProtocol . '://' . $_SERVER['HTTP_HOST'] . $rootUrl; $sInternal = $sBaseUrl . '/rss.php'; if (!(strpos($feed, $sInternal) === FALSE)) { // Feed is internal $aRSSArray = KTrss::getExternalInternalFeed($feed, $user); } else { $aRSSArray = rss2array($feed); } } if (is_array($aRSSArray[errors])) { foreach ($aRSSArray[errors] as $errorItem) { $response .= $errorItem . '<br>'; echo '<br>' . $response . '<br>'; return; } } // Prepare response data to be passed back to page $response = "<h3>" . $aRSSArray[channel][title] . "</h3>" . "<div class='outerContainer' id='outerContainer'>" . "<table width='90%'>"; for ($i = 0; $i < count($aRSSArray[items]); $i++) { $response .= "<tr>\n\t\t\t\t<td colspan='2'><strong><a href='" . $aRSSArray[items][$i][link] . "' target='_blank'>" . $aRSSArray[items][$i][title] . "</a><strong></td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>" . $aRSSArray[items][$i][description] . "</td>\n\t\t\t</tr>\n\t\t\t<tr><td colspan='2'><br></td></tr>";