\n";
$feed .= "\n".
"\n" .
"KnowledgeTree RSS\n" .
"(c) 2006 The Jam Warehouse Software (Pty) Ltd. All Rights Reserved - KnowledgeTree Version: OSS 3.3 beta 7\n" .
"".$hostPath."\n" .
"KT-RSS\n" .
"\n".
"KNowledgeTree RSS\n".
"140\n".
"28".
"".$hostPath."knowledgeTree/\n".
"".$hostPath."resources/graphics/ktlogo_rss.png\n".
"\n";
foreach($aItems as $item){
$feed .= "- " .
"".$item[0]['name']."\n" .
"".$hostPath."view.php?fDocumentId=".$item[0]['id']."\n" .
"".$item[0]['transaction']."\n".
"
\n";
}
$feed .= "\n" .
"\n";
return $feed;
}
// Takes in an array as a parameter and returns rss 2.0 compatible xml
function arrayToXMLSingle($aItems){
// Build path to host
$aPath = explode('/', trim($_SERVER['PHP_SELF']));
$hostPath = "http://".$_SERVER['HTTP_HOST']."/".$aPath[1]."/";
$feed = "\n";
$feed .= "\n".
"\n" .
"KnowledgeTree RSS\n" .
"(c) 2006 The Jam Warehouse Software (Pty) Ltd. All Rights Reserved - KnowledgeTree Version: OSS 3.3 beta 7\n" .
"".$hostPath."\n" .
"KT-RSS\n" .
"\n".
"KNowledgeTree RSS\n".
"140\n".
"28".
"".$hostPath."knowledgeTree/\n".
"".$hostPath."resources/graphics/ktlogo_rss.png\n".
"\n";
foreach($aItems as $item){
$feed .= "- " .
"".$item[0]['name']."\n" .
"".$hostPath."view.php?fDocumentId=".$item[0]['id']."\n" .
"".$item[0]['transaction']."\n".
"
\n";
}
$feed .= "\n" .
"\n";
return $feed;
}
// Delete feed function
function deleteFeed($iFeedId){
$res = DBUtil::autoDelete('plugin_rss', $iFeedId);
}
// Get title for external feed
function getExternalFeedTitle($iFeedId){
$sQuery = "SELECT title FROM plugin_rss WHERE id = ?";
$aParams = array($iFeedId);
$sFeedTitle = DBUtil::getOneResultKey(array($sQuery, $aParams), 'title');
if (PEAR::isError($sFeedTitle)) {
// XXX: log error
return false;
}
if ($sFeedTitle) {
return $sFeedTitle;
}
}
// Get url for external feed
function getExternalFeedUrl($iFeedId){
$sQuery = "SELECT url FROM plugin_rss WHERE id = ?";
$aParams = array($iFeedId);
$sFeedUrl = DBUtil::getOneResultKey(array($sQuery, $aParams), 'url');
if (PEAR::isError($sFeedUrl)) {
// XXX: log error
return false;
}
if ($sFeedUrl) {
return $sFeedUrl;
}
}
// Update external feed data
function updateFeed($iFeedId, $sFeedTitle, $sFeedUrl){
$sQuery = "UPDATE plugin_rss SET title=?, url=? WHERE id=?";
$aParams = array($sFeedTitle, $sFeedUrl, $iFeedId);
$res = DBUtil::runQuery(array($sQuery, $aParams));
return $res;
}
// Create new external feed
function createFeed($sFeedTitle, $sFeedUrl, $iUserId){
$aParams = array(
'user_id' => $iUserId,
'url' => $sFeedUrl,
'title' => $sFeedTitle,
);
$res = DBUtil::autoInsert('plugin_rss', $aParams);
return $res;
}
// Should be removed...not being used anywhere
function authenticateFolder($iUserId, $iFolderId){
$aFList = KTrss::getFolderList($iUserId);
$result = false;
if($aFList){
foreach($aFList as $folder_id){
if($folder_id == $iFolderId){
$result = true;
}
}
}
return $result;
}
// Should be removed...not being used anywhere
function authenticateDocument($iUserId ,$iDocumentId){
$aDList = KTrss::getDocumentList($iUserId);
$result = false;
if($aDList){
foreach($aDList as $document_id){
if($document_id == $iDocumentId){
$result = true;
}
}
}
return $result;
}
// Function to validate that a user has permissions for a specific document
function validateDocumentPermissions($iUserId, $iDocumentId){
// check if user id is in session. If not, set it
if(!isset($_SESSION["userID"])){
$_SESSION['userID'] = $iUserId;
}
// get document object
$oDocument =& Document::get($iDocumentId);
if (PEAR::isError($oDocument)) {
return false;
}
// check permissions for document
if(Permission::userHasDocumentReadPermission($oDocument)){
return true;
}else{
return false;
}
}
// Function to validate that a user has permissions for a specific folder
function validateFolderPermissions($iUserId, $iFolderId){
// check if user id is in session. If not, set it
if(!isset($_SESSION["userID"])){
$_SESSION['userID'] = $iUserId;
}
// get folder object
$oFolder = Folder::get($iFolderId);
if (PEAR::isError($oFolder)) {
return false;
}
// check permissions for folder
if(Permission::userHasFolderReadPermission($oFolder)){
return true;
}else{
return false;
}
}
}
?>