* @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"); /** * Include class to preview documents */ require_once("SeedDMS/Preview.php"); /** * Class which outputs the html page for AttributeMgr 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_AttributeMgr extends SeedDMS_Bootstrap_Style { function js() { /* {{{ */ $selattrdef = $this->params['selattrdef']; header('Content-Type: application/javascript'); ?> $(document).ready( function() { $('body').on('submit', '#form', function(ev){ // if(checkForm()) return; // ev.preventDefault(); }); $( "#selector" ).change(function() { $('div.ajax').trigger('update', {attrdefid: $(this).val()}); }); }); printDeleteFolderButtonJs(); $this->printDeleteDocumentButtonJs(); } /* }}} */ function info() { /* {{{ */ $dms = $this->params['dms']; $user = $this->params['user']; $attrdefs = $this->params['attrdefs']; $selattrdef = $this->params['selattrdef']; $cachedir = $this->params['cachedir']; $previewwidth = $this->params['previewWidthList']; $enableRecursiveCount = $this->params['enableRecursiveCount']; $maxRecursiveCount = $this->params['maxRecursiveCount']; $timeout = $this->params['timeout']; if($selattrdef) { $this->contentHeading(getMLText("attrdef_info")); $res = $selattrdef->getStatistics(30); if(!empty($res['frequencies']['document']) ||!empty($res['frequencies']['folder']) ||!empty($res['frequencies']['content'])) { foreach(array('document', 'folder', 'content') as $type) { $content = ''; if(isset($res['frequencies'][$type]) && $res['frequencies'][$type]) { $content .= ""; $content .= "\n\n"; $content .= "\n"; $content .= "\n"; $content .= "\n"; $content .= "\n\n"; foreach($res['frequencies'][$type] as $entry) { $value = $selattrdef->parseValue($entry['value']); $content .= ""; $content .= ""; /* various checks, if the value is valid */ if(!$selattrdef->validate($entry['value'])) { $content .= getAttributeValidationText($selattrdef->getValidationError(), $selattrdef->getName(), $entry['value']); } $content .= ""; $content .= ""; } $content .= "
".getMLText("attribute_value")."".getMLText("attribute_count")."
".implode(';', $value)."".$entry['c'].""; /* Check if value is in value set */ if($selattrdef->getValueSet()) { foreach($value as $v) { if(!in_array($v, $selattrdef->getValueSetAsArray())) $content .= getMLText("attribute_value_not_in_valueset"); } } $content .= "
"; } if($content) $this->printAccordion(getMLText('attribute_value')." (".getMLText($type).")", $content); } } if($res['folders'] || $res['docs']) { print ""; print "\n\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n\n\n"; foreach($res['folders'] as $subFolder) { echo $this->folderListRow($subFolder); } $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); foreach($res['docs'] as $document) { echo $this->documentListRow($document, $previewer); } echo "\n
".getMLText("name")."".getMLText("status")."".getMLText("action")."
\n"; } if($res['contents']) { print ""; print "\n\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n\n\n"; $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); foreach($res['contents'] as $content) { $doc = $content->getDocument(); echo $this->documentListRow($doc, $previewer); } print "
".getMLText("name")."".getMLText("status")."".getMLText("action")."
"; } } } /* }}} */ function showAttributeForm($attrdef) { /* {{{ */ if($attrdef && !$attrdef->isUsed()) { ?>
getMultipleValues()) ? "checked" : "" ?>/>
getValueSet()) > 30) { ?>
params['selattrdef']; $this->showAttributeForm($selattrdef); } /* }}} */ function show() { /* {{{ */ $dms = $this->params['dms']; $user = $this->params['user']; $attrdefs = $this->params['attrdefs']; $selattrdef = $this->params['selattrdef']; $accessop = $this->params['accessobject']; $this->htmlAddHeader(''."\n", 'js'); $this->htmlStartPage(getMLText("admin_tools")); $this->globalNavigation(); $this->contentStart(); $this->pageNavigation(getMLText("admin_tools"), "admin_tools"); $this->contentHeading(getMLText("attrdef_management")); ?>
check_view_access($this, array('action'=>'info'))) { ?>
getID()."\"" : "") ?>>
check_view_access($this, array('action'=>'form'))) { ?>
getID()."\"" : "") ?>>
contentEnd(); $this->htmlEndPage(); } /* }}} */ } ?>