fileSystemRoot/lib/users/User.inc"); /** * $Id$ * * Dashboard page html UI building functions. * * Copyright (c) 2003 Jam Warehouse http://www.jamwarehouse.com * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * @version $Revision$ * @author Michael Joseph , Jam Warehouse (Pty) Ltd, South Africa */ /** * Displays the pending web documents * * @param array of pending web documents */ function renderPendingWebDocuments($aPendingDocumentList) { global $default; if (count($aPendingDocumentList) > 0) { $sBgColor = "#9D9D7F"; $sToRender = "\t\t\t\n"; $sToRender .= "\t\t\t\t" . _("Pending Web Documents") . "\n"; $sToRender .= "\t\t\t\n"; for ($i = 0; $i < count($aPendingDocumentList); $i++) { $oWebDocument = $aPendingDocumentList[$i]; $sToRender .= "\t\t\t\n"; $sToRender .= "\t\t\t\t" . generateControllerLink("webDocument", "fWebDocumentID=" . $oWebDocument->getID(), " " . $oWebDocument->getDisplayPath()) . "\n"; $sToRender .= "\t\t\t\n"; } return $sToRender; } else { return ""; } } function renderRestorationRequests($aRestorationRequests) { global $default; if (count($aRestorationRequests) > 0) { $sBgColor = "#9D9D7F"; } else { $sBgColor = "#CECEBF"; } $sToRender = "\t\t\t\n"; $sToRender .= "\t\t\t\t" . _("Archived Document Restoration Requests") . "\n"; $sToRender .= "\t\t\t\n"; for ($i = 0; $i < count($aRestorationRequests); $i++) { $oDocument = Document::get($aRestorationRequests[$i]->getDocumentID()); if ($oDocument) { $sToRender .= "\t\t\t\n"; $sToRender .= "\t\t\t\t" . generateControllerLink("viewDocument", "fDocumentID=" . $oDocument->getID(), " " . $oDocument->getDisplayPath()) . "\n"; $sToRender .= "\t\t\t\n"; } } return $sToRender; } /** * Displays the pending collaboration documents * * @param array of pending collaboration documents */ function renderPendingCollaborationDocuments($aPendingDocumentList) { global $default, $dashboard_pending_documents_heading; if (count($aPendingDocumentList) > 0) { $sBgColor = "#9D9D7F"; } else { $sBgColor = "#CECEBF"; } $sToRender = "\t\t\t\n"; $sToRender .= "\t\t\t\t" . _("Pending Documents") . "\n"; $sToRender .= "\t\t\t\n"; for ($i = 0; $i < count($aPendingDocumentList); $i++) { $oDocument = $aPendingDocumentList[$i]; if ($oDocument) { $sToRender .= "\t\t\t\n"; $sToRender .= "\t\t\t\t" . generateControllerLink("viewDocument", "fDocumentID=" . $oDocument->getID() . "&fShowSection=documentRouting", " " . $oDocument->getDisplayPath()) . "\n"; $sToRender .= "\t\t\t\n"; } } return $sToRender; } /** * Displays the checked out documents * * @param array of checked out documents */ function renderCheckedOutDocuments($aCheckedOutDocumentList) { global $default; if (count($aCheckedOutDocumentList) > 0) { $sBgColor = "#9D9D7F"; } else { $sBgColor = "#CECEBF"; } $sToRender = "\t\t\t\n"; $sToRender .= "\t\t\t\t" . _("Checked Out Documents") . "\n"; $sToRender .= "\t\t\t\n"; if (count($aCheckedOutDocumentList) > 0) { $sToRender .= "\t\t\t\n"; $sToRender .= "\t\t\t\t"; $sToRender .= _("Title"); $sToRender .= "\n"; $sToRender .= "\t\t\t\t"; $sToRender .= _("Days"); $sToRender .= "\t\t\t\t\n"; $sToRender .= "\t\t\t\n"; } for ($i = 0; $i < count($aCheckedOutDocumentList); $i++) { $oDocument = $aCheckedOutDocumentList[$i]; $sToRender .= "\t\t\t\n"; $sToRender .= "\t\t\t\t" . generateControllerLink("viewDocument", "fDocumentID=" . $oDocument->getID(), " " . $oDocument->getDisplayPath()) . "\n"; $sToRender .= "\t\t\t\t" . $oDocument->getDaysSinceLastModified() . "\n"; $sToRender .= "\t\t\t\n"; } return $sToRender; } /** * Displays the subscription alerts * * @param array of subscription alerts */ function renderSubscriptionAlerts($aSubscriptionAlertList) { global $default; if (count($aSubscriptionAlertList) > 0) { $sBgColor = "#9D9D7F"; } else { $sBgColor = "#CECEBF"; } $sToRender = "\t\t\t\n"; $sToRender .= "\t\t\t\t" . _("Subscription Alerts") . "\n"; $sToRender .= "\t\t\t\n"; for ($i = 0; $i < count($aSubscriptionAlertList); $i++) { $sToRender .= "\t\t\t\n"; $sToRender .= "\t\t\t\t" . $aSubscriptionAlertList[$i]->getAlertLink() . "\n"; $sToRender .= "\t\t\t\n"; } return $sToRender; } function renderDependantDocuments($aDependantDocumentList) { global $default; if (count($aDependantDocumentList) > 0) { $sBgColor = "#9D9D7F"; } else { $sBgColor = "#CECEBF"; } $sToRender = "\t\t\t\n"; $sToRender .= "\t\t\t\t" . _("Dependant Documents") . "\n"; $sToRender .= "\t\t\t\n"; if (count($aDependantDocumentList) > 0) { $sToRender .= "\t\t\t\n"; $sToRender .= "\t\t\t\t"; $sToRender .= _("Title"); $sToRender .= "\n"; $sToRender .= "\t\t\t\t"; $sToRender .= _("Template document"); $sToRender .= "\t\t\t\t\n"; $sToRender .= "\t\t\t\n"; } for ($i = 0; $i < count($aDependantDocumentList); $i++) { $oDependantDocument = $aDependantDocumentList[$i]; $oTemplateDocument = Document::get($oDependantDocument->getTemplateDocumentID()); $sToRender .= "\t\t\t\n"; $sToRender .= "\t\t\t\t" . generateControllerLink("addDocument", "fFolderID=" . User::getUserRootFolderID() . "&fDependantDocumentID=" . $oDependantDocument->getID(), $oDependantDocument->getDocumentTitle()) . ""; if (!($oTemplateDocument === false)) { $sToRender .= "" . generateControllerLink("viewDocument", "fDocumentID=" . $oTemplateDocument->getID(), " " . $oTemplateDocument->getName()) . "\n"; } else { $sToRender .= "" . _("No template specified") . "\n"; } $sToRender .= "\t\t\t\n"; } return $sToRender; } /** * Displays the quicklinks */ function renderQuickLinks($aQuickLinks) { global $default; $sToRender = "\t\t\t\n"; $sToRender .= "\t\t\t\t" . _("Quick Links") . "\n"; $sToRender .= "\t\t\t\n"; for ($i = 0; $i < count($aQuickLinks); $i++) { $sToRender .= "\t\t\t\n"; $sToRender .= "\t\t\t\tgetUrl() . "\" target=\"_new\">" . $aQuickLinks[$i]->getName() . "\n"; $sToRender .= "\t\t\t\n"; } return $sToRender; } /** * Displays the dashboard news items * */ function renderDashboardNews() { global $default; // retrieve all news items $aDashboardNews = DashboardNews::getList(array("active=? ORDER BY rank", array(true)));/*ok*/ $sToRender = ""; if ($default->scrollingNews) { $sToRender .= ""; $sToRender .= "\t\t\t\n"; // For each news ... foreach($aDashboardNews as $key => $oMainDashboardNews) { $sToRender .= "\t\t\t\t\n"; } $sToRender .= "\t\t\t
". $oMainDashboardNews->getImageLink() . "\t".$oMainDashboardNews->getSynopsis() . "...
\n"; $sToRender .= "
"; } else { $sToRender .= "\t\t\t\n"; // the main news item $oMainDashboardNews = $aDashboardNews[0]; if ($oMainDashboardNews) { $sToRender .= "\t\t\t\t\n"; $sToRender .= "\t\t\t\t\n"; $sToRender .= "\t\t\t\t\n"; } $sToRender .= "\t\t\t
" . $oMainDashboardNews->getSynopsis() . "
" . $oMainDashboardNews->getImageLink() . "
" . $oMainDashboardNews->getBodyFragment() . "..... more
\n"; } return $sToRender; } function renderPublicFolders($aPublicFolders) { global $default; if (count($aPublicFolders) > 0) { $sBgColor = "#9D9D7F"; } else { $sBgColor = "#CECEBF"; } $sToRender = "\t\t\t\n"; $sToRender .= "\t\t\t\t graphicsUrl/widgets/dfolder.gif> " . _("Public Folders") . "\n"; $sToRender .= "\t\t\t\n"; for ($i = 0; $i < count($aPublicFolders); $i++) { $sToRender .= "\t\t\t\n"; $sToRender .= "\t\t\t\t"; $sToRender .= ""; $oUnit = Unit::get($aPublicFolders[$i]->getUnitID()); if ($oUnit) { $sToRender .= $aPublicFolders[$i]->getName() . " (Unit: "; $sToRender .= $oUnit->getName() . ")\n"; } else { $sToRender .= $aPublicFolders[$i]->getName() . " (No Unit)\n"; } $sToRender .= "\t\t\t\n"; } return $sToRender; } function renderBrowseableFolders($aBrowseableFolders) { global $default; if (count($aBrowseableFolders) > 0) { $sBgColor = "#9D9D7F"; } else { $sBgColor = "#CECEBF"; } $sToRender = "\t\t\t\n"; $sToRender .= "\t\t\t\t graphicsUrl/widgets/dfolder.gif> " . _("Browseable Folders") . "\n"; $sToRender .= "\t\t\t\n"; for ($i = 0; $i < count($aBrowseableFolders); $i++) { $sToRender .= "\t\t\t\n"; $sToRender .= "\t\t\t\t"; $sToRender .= ""; $oUnit = Unit::get($aBrowseableFolders[$i]->getUnitID()); if ($oUnit) { $sToRender .= $aBrowseableFolders[$i]->getName() . " (Unit: "; $sToRender .= $oUnit->getName() . ")\n"; } else { $sToRender .= $aBrowseableFolders[$i]->getName() . " (No Unit)\n"; } $sToRender .= "\t\t\t\n"; } return $sToRender; } /** * Renders the dashboard * * @param array pending collaboration documents for this user * @param array checked out documents for this user * @param array subscription alerts for this user */ function renderPage($aPendingDocumentList, $aCheckedOutDocumentList, $aSubscriptionAlertList, $aQuickLinks, $aWebDocuments, $aDependantDocuments, $aRestorationRequests, $aBrowseableFolders, $aPublicFolders) { global $default; $sToRender = "\n"; $sToRender .= "\t\n"; $sToRender .= "\t\t\n"; // some arb welcoming text goes here $oUser = & User::get($_SESSION["userID"]); $sUserName = $oUser->getName(); $sToRender .= "\t\t\n"; // dashboard news $sToRender .= "\t\t\n"; $sToRender .= "\t\n"; // dashboard alerts $sToRender .= "\t\n"; $sToRender .= "\t\t\n"; // quick links $sToRender .= "\t\t\n"; $sToRender .= "\t\n"; $sToRender .= "
" . sprintf(_('Hi %1$s, welcome back to the %2$s DMS, part of the Knowledge Tree'), (strlen($sUserName) > 0 ? " " . $sUserName : ""), lookupField($default->organisations_table, "name", "id", $default->organisationID)) . "\n"; $sToRender .= renderDashboardNews(); $sToRender .= "\t\t
\n"; $sToRender .= "\t\t\t\n"; $sToRender .= renderPendingWebDocuments($aWebDocuments) . "\n"; $sToRender .= renderRestorationRequests($aRestorationRequests) . "\n"; $sToRender .= renderPendingCollaborationDocuments($aPendingDocumentList); $sToRender .= renderCheckedOutDocuments($aCheckedOutDocumentList) . "\n"; $sToRender .= renderSubscriptionAlerts($aSubscriptionAlertList) . "\n"; $sToRender .= renderDependantDocuments($aDependantDocuments) . "\n"; $sToRender .= "\n"; $sToRender .= renderBrowseableFolders($aBrowseableFolders) . "\n"; $sToRender .= renderPublicFolders($aPublicFolders) . "\n"; $sToRender .= "\t\t\t

\n"; $sToRender .= "\t\t
\n"; $sToRender .= "\t\t\t\n"; $sToRender .= renderQuickLinks($aQuickLinks); $sToRender .= "\n"; $sToRender .= "\t\t\t
\n"; $sToRender .= "\t\t
\n"; return $sToRender; } /** * Displays a news item */ function renderNewsItemPage($oDashboardNews) { global $default; $sToRender = "\n"; $sToRender .= "\n"; $sToRender .= "sessionTimeout+3) . "\">\n"; $sToRender .= "graphicsUrl/tree.ico\">\n"; $sToRender .= "uiUrl/stylesheet.php\">\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\t\t\t\n"; $sToRender .= "\t\t\t\t\n"; $sToRender .= "\t\t\t\t\n"; $sToRender .= "\t\t\t\t\n"; $sToRender .= "\n"; $sToRender .= "
" . $oDashboardNews->getSynopsis() . "
" . $oDashboardNews->getImageLink() . "
" . $oDashboardNews->getBody() . "
close
"; $sToRender .= ""; $sToRender .= ""; return $sToRender; } ?>