\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; } } } ?>