Commit 5c3e750eb64b45c7d7b696d95af2c055fe6bd36d
1 parent
b251075f
KTS-1638
"RSS feed logo to be changed and action item to be moved" Implemented. Reviewed By: Kevin git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@6173 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
8 changed files
with
106 additions
and
50 deletions
plugins/rssplugin/KTrss.inc.php
| ... | ... | @@ -22,10 +22,6 @@ require_once(KT_LIB_DIR . "/documentmanagement/documentcontentversion.inc.php"); |
| 22 | 22 | require_once(KT_LIB_DIR . "/metadata/fieldset.inc.php"); |
| 23 | 23 | require_once(KT_LIB_DIR . "/security/Permission.inc"); |
| 24 | 24 | |
| 25 | -// widget includes. | |
| 26 | -require_once(KT_LIB_DIR . "/widgets/portlet.inc.php"); | |
| 27 | -require_once(KT_LIB_DIR . "/widgets/fieldsetDisplay.inc.php"); | |
| 28 | -require_once(KT_LIB_DIR . "/widgets/FieldsetDisplayRegistry.inc.php"); | |
| 29 | 25 | require_once(KT_LIB_DIR . "/actions/documentaction.inc.php"); |
| 30 | 26 | require_once(KT_LIB_DIR . "/browse/browseutil.inc.php"); |
| 31 | 27 | |
| ... | ... | @@ -100,7 +96,10 @@ class KTrss{ |
| 100 | 96 | "LIMIT 1"; |
| 101 | 97 | $aParams = array($document_id, $iUserId); |
| 102 | 98 | $aDocumentsInfo = DBUtil::getResultArray(array($sQuery, $aParams)); |
| 103 | - $aDocuments[] = $aDocumentsInfo; | |
| 99 | + $aDocumentsInfo['itemType'] = 'document'; | |
| 100 | + if($aDocumentsInfo){ | |
| 101 | + $aDocuments[] = $aDocumentsInfo; | |
| 102 | + } | |
| 104 | 103 | } |
| 105 | 104 | } |
| 106 | 105 | if (PEAR::isError($aDocuments)) { |
| ... | ... | @@ -127,6 +126,7 @@ class KTrss{ |
| 127 | 126 | "LIMIT 1"; |
| 128 | 127 | $aParams = array($folder_id, $iUserId); |
| 129 | 128 | $aFoldersInfo = DBUtil::getResultArray(array($sQuery, $aParams)); |
| 129 | + $aFoldersInfo['itemType'] = 'folder'; | |
| 130 | 130 | if($aFoldersInfo){ |
| 131 | 131 | $aFolders[] = $aFoldersInfo; |
| 132 | 132 | } |
| ... | ... | @@ -201,41 +201,14 @@ class KTrss{ |
| 201 | 201 | "<url>".$hostPath."resources/graphics/ktlogo_rss.png</url>\n". |
| 202 | 202 | "</image>\n"; |
| 203 | 203 | foreach($aItems as $item){ |
| 204 | + if($item['itemType'] == 'folder'){ | |
| 205 | + $sTypeSelect = 'folder.transactions&fFolderId'; | |
| 206 | + }elseif($item['itemType'] == 'document'){ | |
| 207 | + $sTypeSelect = 'document.transactionhistory&fDocumentId'; | |
| 208 | + } | |
| 204 | 209 | $feed .= "<item>" . |
| 205 | 210 | "<title>".$item[0]['name']."</title>\n" . |
| 206 | - "<link>".$hostPath."view.php?fDocumentId=".$item[0]['id']."</link>\n" . | |
| 207 | - "<description>".$item[0]['transaction']."</description>\n". | |
| 208 | - "</item>\n"; | |
| 209 | - } | |
| 210 | - $feed .= "</channel>\n" . | |
| 211 | - "</rss>\n"; | |
| 212 | - | |
| 213 | - return $feed; | |
| 214 | - } | |
| 215 | - | |
| 216 | - // Takes in an array as a parameter and returns rss 2.0 compatible xml | |
| 217 | - function arrayToXMLSingle($aItems){ | |
| 218 | - // Build path to host | |
| 219 | - $aPath = explode('/', trim($_SERVER['PHP_SELF'])); | |
| 220 | - $hostPath = "http://".$_SERVER['HTTP_HOST']."/".$aPath[1]."/"; | |
| 221 | - $feed = "<?xml version=\"1.0\"?>\n"; | |
| 222 | - $feed .= "<rss version=\"2.0\">\n". | |
| 223 | - "<channel>\n" . | |
| 224 | - "<title>KnowledgeTree RSS</title>\n" . | |
| 225 | - "<copyright>(c) 2006 The Jam Warehouse Software (Pty) Ltd. All Rights Reserved - KnowledgeTree Version: OSS 3.3 beta 7</copyright>\n" . | |
| 226 | - "<link>".$hostPath."</link>\n" . | |
| 227 | - "<description>KT-RSS</description>\n" . | |
| 228 | - "<image>\n". | |
| 229 | - "<title>KNowledgeTree RSS</title>\n". | |
| 230 | - "<width>140</width>\n". | |
| 231 | - "<height>28</height>". | |
| 232 | - "<link>".$hostPath."knowledgeTree/</link>\n". | |
| 233 | - "<url>".$hostPath."resources/graphics/ktlogo_rss.png</url>\n". | |
| 234 | - "</image>\n"; | |
| 235 | - foreach($aItems as $item){ | |
| 236 | - $feed .= "<item>" . | |
| 237 | - "<title>".$item[0]['name']."</title>\n" . | |
| 238 | - "<link>".$hostPath."view.php?fDocumentId=".$item[0]['id']."</link>\n" . | |
| 211 | + "<link>".$hostPath."action.php?kt_path_info=ktcore.actions.".$sTypeSelect."=".$item[0]['id']."</link>\n" . | |
| 239 | 212 | "<description>".$item[0]['transaction']."</description>\n". |
| 240 | 213 | "</item>\n"; |
| 241 | 214 | } |
| ... | ... | @@ -370,5 +343,36 @@ class KTrss{ |
| 370 | 343 | return false; |
| 371 | 344 | } |
| 372 | 345 | } |
| 346 | + | |
| 347 | + function getRssLinkIcon(){ | |
| 348 | + // built server path | |
| 349 | + $sHostPath = "http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['KTRootUrl']."/"; | |
| 350 | + | |
| 351 | + // create image | |
| 352 | + $icon = "<img src='".$sHostPath."resources/graphics/rss.gif' alt='RSS' border=0/>"; | |
| 353 | + | |
| 354 | + return $icon; | |
| 355 | + } | |
| 356 | + | |
| 357 | + function getRssLink($iItemId, $sItemType){ | |
| 358 | + $item = strToLower($sItemType); | |
| 359 | + if($item == 'folder'){ | |
| 360 | + $sItemParameter = '?folderId'; | |
| 361 | + }else if($item == 'document'){ | |
| 362 | + $sItemParameter = '?docId'; | |
| 363 | + } | |
| 364 | + | |
| 365 | + // built server path | |
| 366 | + $sHostPath = "http://".$_SERVER['HTTP_HOST']; | |
| 367 | + | |
| 368 | + // build link | |
| 369 | + $sLink = $sHostPath.KTBrowseUtil::buildBaseUrl('rss').$sItemParameter.'='.$iItemId; | |
| 370 | + | |
| 371 | + return $sLink; | |
| 372 | + } | |
| 373 | + | |
| 374 | + function getImageLink($iItemId, $sItemType){ | |
| 375 | + return "<a href='".KTrss::getRssLink($iItemId, $sItemType)."' target='_blank'>".KTrss::getRssLinkIcon()."</a>"; | |
| 376 | + } | |
| 373 | 377 | } |
| 374 | 378 | ?> | ... | ... |
plugins/rssplugin/RSSDocumentLinkAction.php
| 1 | 1 | <?php |
| 2 | -require_once(KT_LIB_DIR . '/actions/folderaction.inc.php'); | |
| 2 | +require_once(KT_LIB_DIR . '/actions/documentaction.inc.php'); | |
| 3 | 3 | require_once(KT_LIB_DIR . '/permissions/permission.inc.php'); |
| 4 | 4 | require_once(KT_LIB_DIR . '/permissions/permissionutil.inc.php'); |
| 5 | 5 | require_once(KT_LIB_DIR . '/browse/browseutil.inc.php'); |
| ... | ... | @@ -8,6 +8,7 @@ require_once(KT_LIB_DIR . '/plugins/plugin.inc.php'); |
| 8 | 8 | require_once(KT_LIB_DIR . '/plugins/pluginregistry.inc.php'); |
| 9 | 9 | |
| 10 | 10 | require_once(KT_LIB_DIR . '/roles/Role.inc'); |
| 11 | +require_once(KT_DIR. '/plugins/rssplugin/KTrss.inc.php'); | |
| 11 | 12 | |
| 12 | 13 | class RSSDocumentLinkAction extends KTDocumentAction { |
| 13 | 14 | var $sName = 'ktcore.rss.plugin.document.link'; |
| ... | ... | @@ -15,9 +16,6 @@ class RSSDocumentLinkAction extends KTDocumentAction { |
| 15 | 16 | var $sDisplayName = "RSS"; |
| 16 | 17 | |
| 17 | 18 | function getDisplayName() { |
| 18 | - // built server path | |
| 19 | - $hostPath = "http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['KTRootUrl']."/"; | |
| 20 | - | |
| 21 | 19 | //get document object |
| 22 | 20 | $oDocument = $this->oDocument; |
| 23 | 21 | |
| ... | ... | @@ -25,7 +23,26 @@ class RSSDocumentLinkAction extends KTDocumentAction { |
| 25 | 23 | $iFId = $oDocument->getID(); |
| 26 | 24 | |
| 27 | 25 | // return link...there MIGHT be a nicer way of doing this? |
| 28 | - return "<a href='".KTBrowseUtil::buildBaseUrl('rss')."?docId=".$iFId."' target='_blank'><img src='".$hostPath."resources/graphics/rss.gif' alt='RSS' border=0/></a>"; | |
| 26 | + return "RSS ".KTrss::getImageLink($iFId, 'document'); | |
| 27 | + } | |
| 28 | + | |
| 29 | + function do_main() { | |
| 30 | + //get document object | |
| 31 | + $oDocument = $this->oDocument; | |
| 32 | + | |
| 33 | + // get document id | |
| 34 | + $iDId = $oDocument->getID(); | |
| 35 | + | |
| 36 | + $oTemplating =& KTTemplating::getSingleton(); | |
| 37 | + $oTemplate = $oTemplating->loadTemplate('RSSPlugin/rssdocumentaction'); | |
| 38 | + | |
| 39 | + $aTemplateData = array( | |
| 40 | + 'context' => $this, | |
| 41 | + 'link' => KTrss::getRssLink($iDId, 'document'), | |
| 42 | + 'linkIcon' => KTrss::getImageLink($iDId, 'document'), | |
| 43 | + ); | |
| 44 | + | |
| 45 | + return $oTemplate->render($aTemplateData); | |
| 29 | 46 | } |
| 30 | 47 | } |
| 31 | 48 | ?> |
| 32 | 49 | \ No newline at end of file | ... | ... |
plugins/rssplugin/RSSFolderLinkAction.php
| ... | ... | @@ -8,16 +8,14 @@ require_once(KT_LIB_DIR . '/plugins/plugin.inc.php'); |
| 8 | 8 | require_once(KT_LIB_DIR . '/plugins/pluginregistry.inc.php'); |
| 9 | 9 | |
| 10 | 10 | require_once(KT_LIB_DIR . '/roles/Role.inc'); |
| 11 | +require_once(KT_DIR. '/plugins/rssplugin/KTrss.inc.php'); | |
| 11 | 12 | |
| 12 | 13 | class RSSFolderLinkAction extends KTFolderAction { |
| 13 | 14 | var $sName = 'ktcore.rss.plugin.folder.link'; |
| 14 | 15 | var $_sShowPermission = "ktcore.permissions.read"; |
| 15 | - var $sDisplayName = "RSS"; | |
| 16 | + var $sDisplayName = 'RSS'; | |
| 16 | 17 | |
| 17 | 18 | function getDisplayName() { |
| 18 | - // built server path | |
| 19 | - $hostPath = "http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['KTRootUrl']."/"; | |
| 20 | - | |
| 21 | 19 | //get folder object |
| 22 | 20 | $oFolder = $this->oFolder; |
| 23 | 21 | |
| ... | ... | @@ -25,7 +23,26 @@ class RSSFolderLinkAction extends KTFolderAction { |
| 25 | 23 | $iFId = $oFolder->getID(); |
| 26 | 24 | |
| 27 | 25 | // return link...there MIGHT be a nicer way of doing this? |
| 28 | - return "<a href='".KTBrowseUtil::buildBaseUrl('rss')."?folderId=".$iFId."'><img src='".$hostPath."resources/graphics/rss.gif' alt='RSS' border=0/></a>"; | |
| 26 | + return "RSS ".KTrss::getImageLink($iFId, 'folder'); | |
| 27 | + } | |
| 28 | + | |
| 29 | + function do_main() { | |
| 30 | + //get folder object | |
| 31 | + $oFolder = $this->oFolder; | |
| 32 | + | |
| 33 | + // get folder id | |
| 34 | + $iFId = $oFolder->getID(); | |
| 35 | + | |
| 36 | + $oTemplating =& KTTemplating::getSingleton(); | |
| 37 | + $oTemplate = $oTemplating->loadTemplate('RSSPlugin/rssfolderaction'); | |
| 38 | + | |
| 39 | + $aTemplateData = array( | |
| 40 | + 'context' => $this, | |
| 41 | + 'link' => KTrss::getRssLink($iFId, 'folder'), | |
| 42 | + 'linkIcon' => KTrss::getImageLink($iFId, 'folder'), | |
| 43 | + ); | |
| 44 | + | |
| 45 | + return $oTemplate->render($aTemplateData); | |
| 29 | 46 | } |
| 30 | 47 | } |
| 31 | 48 | ?> |
| 32 | 49 | \ No newline at end of file | ... | ... |
plugins/rssplugin/RSSPlugin.php
| ... | ... | @@ -26,7 +26,7 @@ require_once('RSSDocumentLinkAction.php'); |
| 26 | 26 | |
| 27 | 27 | function setup() { |
| 28 | 28 | $this->registerAction('folderaction', 'RSSFolderLinkAction', 'ktcore.rss.plugin.folder.link', $sFilename = null); |
| 29 | - $this->registerAction('documentaction', 'RSSDocumentLinkAction', 'ktcore.rss.document.plugin', $sFilename = null); | |
| 29 | + $this->registerAction('documentaction', 'RSSDocumentLinkAction', 'ktcore.rss.plugin.document.link', $sFilename = null); | |
| 30 | 30 | $this->registerDashlet('RSSDashlet', 'ktcore.rss.feed.dashlet', 'RSSDashlet.php'); |
| 31 | 31 | $this->registerPage('managerssfeeds', 'ManageRSSFeedsDispatcher'); |
| 32 | 32 | ... | ... |
plugins/rssplugin/templates/RSSPlugin/dashlet.smarty
| ... | ... | @@ -75,7 +75,7 @@ |
| 75 | 75 | <td>{$internalrss.items[i].pubDate}</td> |
| 76 | 76 | </tr> |
| 77 | 77 | <tr> |
| 78 | - <td colspan='2'><a href='{$internalrss.items[i].link}'>...full story</a></td> | |
| 78 | + <td colspan='2'><a href='{$internalrss.items[i].link}'>...read more story</a></td> | |
| 79 | 79 | </tr> |
| 80 | 80 | <tr><td colspan='2'><hr><br></td></tr> |
| 81 | 81 | {/section} | ... | ... |
plugins/rssplugin/templates/RSSPlugin/rssdocumentaction.smarty
0 → 100644
| 1 | +<h2><img src="{$rootUrl}/resources/graphics/title_bullet.png"/>Document RSS</h2> | |
| 2 | +<p> | |
| 3 | +You can copy the following link into any RSS aggregator to create a feed to the selected document. | |
| 4 | +<ul> | |
| 5 | + <li>{$link}</li> | |
| 6 | +</ul> | |
| 7 | +Another way of quickly accessing a RSS feed for a document of folder is by RSS icon {$linkIcon}, | |
| 8 | +which you will find in your actions portlet on the left. | |
| 9 | +</p> | |
| 0 | 10 | \ No newline at end of file | ... | ... |
plugins/rssplugin/templates/RSSPlugin/rssfolderaction.smarty
0 → 100644
| 1 | +<h2><img src="{$rootUrl}/resources/graphics/title_bullet.png"/>Folder RSS</h2> | |
| 2 | +<p> | |
| 3 | +You can copy the following link into any RSS aggragator to create a feed to the selected folder. | |
| 4 | +<ul> | |
| 5 | + <li>{$link}</li> | |
| 6 | +</ul> | |
| 7 | +Another way of quickly accessing a RSS feed to a document of folder is by RSS icon {$linkIcon}, | |
| 8 | +which you will find in your actions portlet on the left. | |
| 9 | +</p> | |
| 0 | 10 | \ No newline at end of file | ... | ... |
resources/graphics/rss.gif