* @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 Timeline 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_Timeline extends SeedDMS_Bootstrap_Style { var $dms; var $folder_count; var $document_count; var $file_count; var $storage_size; function iteminfo() { /* {{{ */ $dms = $this->params['dms']; $document = $this->params['document']; $version = $this->params['version']; $cachedir = $this->params['cachedir']; $previewwidthlist = $this->params['previewWidthList']; $previewwidthdetail = $this->params['previewWidthDetail']; if($document) { $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail); $previewer->createPreview($version); $this->contentHeading(getMLText("timeline_selected_item")); $folder = $document->getFolder(); $path = $folder->getPath(); print "
"; print "getID()."\">/"; for ($i = 1; $i < count($path); $i++) { print htmlspecialchars($path[$i]->getName())."/"; } echo $document->getName(); print ""; print "
"; print "
"; if($previewer->hasPreview($version)) { print("getID()."&version=".$version->getVersion()."&width=".$previewwidthdetail."\" title=\"".htmlspecialchars($version->getMimeType())."\">"); } else { print "getMimeIcon($version->getFileType())."\" title=\"".htmlspecialchars($version->getMimeType())."\">"; } print "
"; } } /* }}} */ function data() { /* {{{ */ $dms = $this->params['dms']; $skip = $this->params['skip']; $fromdate = $this->params['fromdate']; $todate = $this->params['todate']; if($fromdate) { $from = makeTsFromLongDate($fromdate.' 00:00:00'); } else { $from = time()-7*86400; } if($todate) { $to = makeTsFromLongDate($todate.' 23:59:59'); } else { $to = time()-7*86400; } if($data = $dms->getTimeline($from, $to)) { foreach($data as $i=>$item) { switch($item['type']) { case 'add_version': $msg = getMLText('timeline_full_'.$item['type'], array('document'=>htmlspecialchars($item['document']->getName()), 'version'=> $item['version'])); break; case 'add_file': $msg = getMLText('timeline_full_'.$item['type'], array('document'=>htmlspecialchars($item['document']->getName()))); break; case 'status_change': $msg = getMLText('timeline_full_'.$item['type'], array('document'=>htmlspecialchars($item['document']->getName()), 'version'=> $item['version'], 'status'=> getOverallStatusText($item['status']))); break; default: $msg = '???'; } $data[$i]['msg'] = $msg; } } $jsondata = array(); foreach($data as $item) { if($item['type'] == 'status_change') $classname = $item['type']."_".$item['status']; else $classname = $item['type']; if(!$skip || !in_array($classname, $skip)) { $d = makeTsFromLongDate($item['date']); $jsondata[] = array( 'start'=>date('c', $d), 'content'=>$item['msg'], 'className'=>$classname, 'docid'=>$item['document']->getID(), 'version'=>isset($item['version']) ? $item['version'] : '', 'statusid'=>isset($item['statusid']) ? $item['statusid'] : '', 'statuslogid'=>isset($item['statuslogid']) ? $item['statuslogid'] : '', 'fileid'=>isset($item['fileid']) ? $item['fileid'] : '' ); } } header('Content-Type: application/json'); echo json_encode($jsondata); } /* }}} */ function show() { /* {{{ */ $dms = $this->params['dms']; $user = $this->params['user']; $fromdate = $this->params['fromdate']; $todate = $this->params['todate']; $skip = $this->params['skip']; if($fromdate) { $from = makeTsFromLongDate($fromdate.' 00:00:00'); } else { $from = time()-7*86400; } if($todate) { $to = makeTsFromLongDate($todate.' 23:59:59'); } else { $to = time(); } $this->htmlAddHeader(''."\n", 'css'); $this->htmlAddHeader(''."\n", 'js'); $this->htmlAddHeader(''."\n", 'js'); $this->htmlStartPage(getMLText("timeline")); $this->globalNavigation(); $this->contentStart(); $this->pageNavigation(getMLText("admin_tools"), "admin_tools"); ?> \n"; echo "
\n"; $this->contentHeading(getMLText("timeline")); echo "
\n"; ?>
-
>
>
>
>
>
>
>
$skip))); ?> \n"; echo "
"; echo "
\n"; echo "
\n"; $this->contentHeading(getMLText("timeline")); $this->printTimeline($timelineurl, 550, ''/*date('Y-m-d', $from)*/, ''/*date('Y-m-d', $to+1)*/, $skip); echo "
\n"; echo "
\n"; $this->contentContainerEnd(); $this->htmlEndPage(); } /* }}} */ } ?>