* @copyright Copyright (C) 2002-2005 Markus Westphal, * 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli, * 2010-2012 Uwe Steinmann * @version Release: @package_version@ */ /** * Include parent class */ require_once("class.Bootstrap.php"); /** * Class which outputs the html page for Statistic view * * @category DMS * @package SeedDMS * @author Markus Westphal, Malcolm Cowe, Uwe Steinmann * @copyright Copyright (C) 2002-2005 Markus Westphal, * 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli, * 2010-2012 Uwe Steinmann * @version Release: @package_version@ */ class SeedDMS_View_Statistic extends SeedDMS_Bootstrap_Style { var $dms; var $folder_count; var $document_count; var $file_count; var $storage_size; function getAccessColor($mode) { /* {{{ */ if ($mode == M_NONE) return "gray"; else if ($mode == M_READ) return "green"; else if ($mode == M_READWRITE) return "blue"; else // if ($mode == M_ALL) return "red"; } /* }}} */ function printFolder($folder) { /* {{{ */ $this->folder_count++; $folder_size=0; $doc_count=0; $color = $folder->inheritsAccess() ? "black" : $this->getAccessColor($folder->getDefaultAccess()); print "
  • "; print "getID()."\">".htmlspecialchars($folder->getName()) .""; $owner = $folder->getOwner(); $color = $this->getAccessColor(M_ALL); print " [".htmlspecialchars($owner->getFullName())."] "; if (! $folder->inheritsAccess()) $this->printAccessList($folder); $subFolders = $folder->getSubFolders(); $documents = $folder->getDocuments(); print ""; print "".SeedDMS_Core_File::format_filesize($folder_size).", ".$doc_count." ".getMLText("documents")."\n"; print "
  • "; return $folder_size; } /* }}} */ function printDocument($document) { /* {{{ */ $this->document_count++; $local_file_count=0; $folder_size=0; if (file_exists($this->dms->contentDir.$document->getDir())) { $handle = opendir($this->dms->contentDir.$document->getDir()); while ($entry = readdir($handle) ) { if (is_dir($this->dms->contentDir.$document->getDir().$entry)) continue; else{ $local_file_count++; $folder_size += filesize($this->dms->contentDir.$document->getDir().$entry); } } closedir($handle); } $this->storage_size += $folder_size; $color = $document->inheritsAccess() ? "black" : $this->getAccessColor($document->getDefaultAccess()); print "
  • "; print "getID()."\">".htmlspecialchars($document->getName()).""; $owner = $document->getOwner(); $color = $this->getAccessColor(M_ALL); print " [".htmlspecialchars($owner->getFullName())."] "; if (! $document->inheritsAccess()) $this->printAccessList($document); print "".SeedDMS_Core_File::format_filesize($folder_size).", ".$local_file_count." ".getMLText("files")."\n"; print "
  • "; $this->file_count += $local_file_count; return $folder_size; } /* }}} */ function printAccessList($obj) { /* {{{ */ $accessList = $obj->getAccessList(); if (count($accessList["users"]) == 0 && count($accessList["groups"]) == 0) return; print " ("; for ($i = 0; $i < count($accessList["groups"]); $i++) { $group = $accessList["groups"][$i]->getGroup(); $color = $this->getAccessColor($accessList["groups"][$i]->getMode()); print "".htmlspecialchars($group->getName()).""; if ($i+1 < count($accessList["groups"]) || count($accessList["users"]) > 0) print ", "; } for ($i = 0; $i < count($accessList["users"]); $i++) { $user = $accessList["users"][$i]->getUser(); $color = $this->getAccessColor($accessList["users"][$i]->getMode()); print "".htmlspecialchars($user->getFullName()).""; if ($i+1 < count($accessList["users"])) print ", "; } print ")"; } /* }}} */ function show() { /* {{{ */ $this->dms = $this->params['dms']; $user = $this->params['user']; $rootfolder = $this->params['rootfolder']; $this->htmlStartPage(getMLText("folders_and_documents_statistic")); $this->globalNavigation(); $this->contentStart(); $this->pageNavigation(getMLText("admin_tools"), "admin_tools"); $this->folder_count=0; $this->document_count=0; $this->file_count=0; $this->storage_size=0; ?> contentHeading(getMLText("folders_and_documents_statistic")); echo "
    \n"; echo "
    \n"; echo "
    \n"; print ""; print "
    \n"; print "
      \n"; $this->printFolder($rootfolder); print "
    \n"; print "
    \n"; echo "
    \n"; echo "
    \n"; echo "
    \n"; echo "
    \n"; print "".getMLText("legend")."\n"; print "
      \n"; print "
    • ".getMLText("access_inheritance")."
    • "; print "
    • getAccessColor(M_ALL)."\">".getMLText("access_mode_all")."
    • "; print "
    • getAccessColor(M_READWRITE)."\">".getMLText("access_mode_readwrite")."
    • "; print "
    • getAccessColor(M_READ)."\">".getMLText("access_mode_read")."
    • "; print "
    • getAccessColor(M_NONE)."\">".getMLText("access_mode_none")."
    • "; print "
    \n"; print "".getMLText("statistic")."\n"; print "
      \n"; print "
    • ".getMLText("folders").": ".$this->folder_count."
    • \n"; print "
    • ".getMLText("documents").": ".$this->document_count."
    • \n"; print "
    • ".getMLText("files").": ".$this->file_count."
    • \n"; print "
    • ".getMLText("storage_size").": ".SeedDMS_Core_File::format_filesize($this->storage_size)."
    • \n"; print "
    \n"; echo "
    \n"; echo "
    \n"; echo "
    \n"; $this->contentContainerEnd(); $this->contentEnd(); $this->htmlEndPage(); } /* }}} */ } ?>