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);
 }
Example #3
0
 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)));
     }
 }
Example #5
0
                // 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);
}
Example #6
0
 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;
 }
Example #7
0
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>";