Merge branch 'master' of github.com:easysoft/zentaopms

This commit is contained in:
wangyidong
2018-04-28 16:49:36 +08:00
6 changed files with 433 additions and 151 deletions
+3 -3
View File
@@ -305,9 +305,9 @@ $lang->caselib->menu->caselib = array('link' => '用例库|testsuite|library',
$lang->doc = new stdclass();
$lang->doc->menu = new stdclass();
$lang->doc->menu->list = array('link' => '%s', 'fixed' => true);
$lang->doc->menu->crumb = array('link' => '%s', 'fixed' => true);
$lang->doc->menu->create = array('link' => '<i class="icon-plus"></i>&nbsp;添加文档库|doc|createLib', 'float' => 'right');
//$lang->doc->menu->list = array('link' => '%s', 'fixed' => true);
//$lang->doc->menu->crumb = array('link' => '%s', 'fixed' => true);
//$lang->doc->menu->create = array('link' => '<i class="icon-plus"></i>&nbsp;添加文档库|doc|createLib', 'float' => 'right');
/* 统计视图菜单设置。*/
$lang->report = new stdclass();
+23 -11
View File
@@ -37,20 +37,29 @@ class doc extends control
*/
public function index()
{
$this->doc->setMenu();
$products = $this->doc->getLimitLibs('product');
$projects = $this->doc->getLimitLibs('project');
$customLibs = $this->doc->getLimitLibs('custom');
$products = $this->doc->getLimitLibs('product', '9');
$projects = $this->doc->getLimitLibs('project', '9');
$customLibs = $this->doc->getLimitLibs('custom', '9');
$subLibs['product'] = $this->doc->getSubLibGroups('product', array_keys($products));
$subLibs['project'] = $this->doc->getSubLibGroups('project', array_keys($projects));
$this->view->title = $this->lang->doc->common . $this->lang->colon . $this->lang->doc->index;
$this->view->position[] = $this->lang->doc->index;
$this->view->products = $products;
$this->view->projects = $projects;
$this->view->customLibs = $customLibs;
$this->view->subLibs = $subLibs;
$this->app->loadClass('pager', $static = true);
$pager = new pager(6, 6, 1);
$this->view->title = $this->lang->doc->common . $this->lang->colon . $this->lang->doc->index;
$this->view->position[] = $this->lang->doc->index;
$this->view->products = $products;
$this->view->projects = $projects;
$this->view->customLibs = $customLibs;
$this->view->subLibs = $subLibs;
$this->view->modules = $this->loadModel('tree')->getDocStructure();
$this->view->latestEditedDocs = $this->loadModel('doc')->getDocsByBrowseType(0, 'byediteddate', 0, 0, 'editedDate_desc, id_desc', $pager);
$this->view->myDocs = $this->loadModel('doc')->getDocsByBrowseType(0, 'openedbyme', 0, 0, 'addedDate_desc', $pager);
$this->view->statisticInfo = $this->doc->getStatisticInfo();
$this->view->users = $this->loadModel('user')->getPairs('noletter');
$this->view->doingProjects = $this->loadModel('project')->getList('isdoing', 5);
$this->display();
}
@@ -126,7 +135,7 @@ class doc extends control
$pager = new pager($recTotal, $recPerPage, $pageID);
/* Append id for secend sort. */
if($browseType == 'bymenu' and strtolower($orderBy) != 'editeddate_desc' and strtolower($orderBy) != 'addeddate_desc') $orderBy = 'title_asc';
if($browseType == 'bymenu' and strpos('editeddate_desc,addeddate_desc,visiteddate_desc', strtolower($orderBy)) === false) $orderBy = 'title_asc';
$sort = $this->loadModel('common')->appendOrder($orderBy);
/* Get docs by browse type. */
@@ -414,6 +423,9 @@ class doc extends control
/* Set menu. */
$this->doc->setMenu($doc->lib, $doc->module);
/* Update visitedDate and views for current doc.*/
$this->doc->updateVisitData($docID);
$this->view->title = "DOC #$doc->id $doc->title - " . $lib->name;
$this->view->position[] = html::a($this->createLink('doc', 'browse', "libID=$doc->lib"), $lib->name);
$this->view->position[] = $this->lang->doc->view;
-1
View File
@@ -39,7 +39,6 @@
.list-menu-item.active,
.list-menu-item:hover {color: #1a53ff}
.list-menu-item-footer {clear:left}
#searchLib {padding: 2px 8px; height: 28px; max-width: 190px;}
#dropMenu[data-filter] #libMenuGroups {table-layout: auto;}
#dropMenu[data-filter="project"] #libMenuProductGroup,
+17 -1
View File
@@ -46,10 +46,16 @@ $lang->doc->users = '用户';
$lang->doc->moduleDoc = '按模块浏览';
$lang->doc->searchDoc = '搜索';
$lang->doc->fast = '快速访问';
$lang->doc->allDoc = '所有文档';
$lang->doc->openedByMe = '由我创建';
$lang->doc->orderByOpen = '最近添加';
$lang->doc->orderByEdit = '最近修改';
$lang->doc->orderByEdit = '最近更新';
$lang->doc->orderByVisit = '最近访问';
$lang->doc->todayEdited = '今日更新';
$lang->doc->pastEdited = '往日更新';
$lang->doc->myDoc = '我的文档';
$lang->doc->myCollection = '我的收藏';
/* 方法列表。*/
$lang->doc->index = '首页';
@@ -113,6 +119,16 @@ $lang->doc->browseTypeList['menu'] = '目录';
$lang->doc->browseTypeList['tree'] = '树状图';
$lang->doc->browseTypeList['card'] = '卡片';
$lang->doc->fastMenuList['editeddate'] = '最近更新';
$lang->doc->fastMenuList['visiteddate'] = '最近访问';
$lang->doc->fastMenuList['openedbyme'] = '我的文档';
$lang->doc->fastMenuList['collectedbyme'] = '我的收藏';
$lang->doc->fastMenuIconList['editeddate'] = 'icon-folder-upload';
$lang->doc->fastMenuIconList['visiteddate'] = 'icon-folder-move';
$lang->doc->fastMenuIconList['openedbyme'] = 'icon-folder-account';
$lang->doc->fastMenuIconList['collectedbyme'] = 'icon-folder-star';
$lang->doc->confirmDelete = "您确定删除该文档吗?";
$lang->doc->confirmDeleteLib = "您确定删除该文档库吗?";
$lang->doc->errorEditSystemDoc = "系统文档库无需修改。";
+97 -3
View File
@@ -197,12 +197,65 @@ class docModel extends model
{
$docs = $this->dao->select('*')->from(TABLE_DOC)
->where('deleted')->eq(0)
->andWhere('lib')->in($libID)
->beginIF($libID)->andWhere('lib')->in($libID)->fi()
->andWhere('addedBy')->eq($this->app->user->account)
->orderBy($sort)
->page($pager)
->fetchAll();
}
elseif($browseType == 'byediteddate')
{
$docIdList = $this->getPrivDocs($libID, $moduleID);
$docs = $this->dao->select('*')->from(TABLE_DOC)
->where('deleted')->eq(0)
->andWhere('id')->in($docIdList)
->orderBy($sort)
->page($pager)
->fetchAll('id');
$files = $this->dao->select('*')->from(TABLE_FILE)
->where('objectType')->eq('doc')
->andWhere('objectID')->in(array_keys($docs))
->fetchGroup('objectID');
foreach($docs as $doc)
{
$docs[$doc->id]->fileSize = 0;
if(isset($files[$doc->id]))
{
$fileSize = 0;
foreach($files[$doc->id] as $file) $fileSize += $file->size;
if($fileSize < 1024)
{
$fileSize .= 'B';
}
elseif($fileSize < 1024 * 1024)
{
$fileSize = round($fileSize / 1024, 2) . 'KB';
}
elseif($fileSize < 1024 * 1024 * 1024)
{
$fileSize = round($fileSize / 1024 / 1024, 2) . 'MB';
}
else
{
$fileSize = round($fileSize / 1024 / 1024 /1024, 2) . 'G';
}
$docs[$doc->id]->fileSize = $fileSize;
}
}
}
elseif($browseType == "collectedbyme")
{
$docs = $this->dao->select('*')->from(TABLE_DOC)
->where('deleted')->eq(0)
->beginIF($libID)->andWhere('lib')->in($libID)->fi()
->andWhere('collector')->like("%,{$this->app->user->account},%")
->orderBy($sort)
->page($pager)
->fetchAll();
}
elseif($browseType == "bymodule")
{
$modules = 0;
@@ -514,6 +567,19 @@ class docModel extends model
}
}
/**
* Update visit Data.
*
* @param int $docID
* @access public
* @return bool
*/
public function updateVisitData($docID)
{
$this->dao->update(TABLE_DOC)->set('views = views + 1')->set('visitedDate')->eq(helper::now())->where('id')->eq($docID)->exec();
return !dao::isError();
}
/**
* Build search form.
*
@@ -798,7 +864,7 @@ class docModel extends model
* @access public
* @return array
*/
public function getLimitLibs($type, $limit = 4)
public function getLimitLibs($type, $limit = 0)
{
if($type == 'project' and ($this->config->global->flow == 'onlyStory' or $this->config->global->flow == 'onlyTest')) return array();
if($type == 'product' and $this->config->global->flow == 'onlyTask') return array();
@@ -821,7 +887,7 @@ class docModel extends model
$libs = array();
while($docLib = $stmt->fetch())
{
if($i > $limit) break;
if($limit && $i > $limit) break;
$key = ($type == 'product' or $type == 'project') ? $type : 'id';
if($this->checkPriv($docLib) and !isset($libs[$docLib->$key]))
{
@@ -1173,4 +1239,32 @@ class docModel extends model
return $teams;
}
/**
* Get statistic information.
*
* @access public
* @return object
*/
public function getStatisticInfo()
{
$docIdList = $this->getPrivDocs();
$today = date('Y-m-d');
$lately = date('Y-m-d', strtotime('-3 day'));
$statisticInfo = $this->dao->select("count(id) as totalDocs, count(editedDate like '{$today}%' or null) as todayEditedDocs,
count(editedDate > '{$lately}' or null) as lastEditedDocs, count(visitedDate > '{$lately}' or null) as lastVisitedDocs,
count(collector like '%,{$this->app->user->account},%' or null) as myCollection, count(addedBy = '{$this->app->user->account}' or null) as myDocs")->from(TABLE_DOC)
->where('deleted')->eq(0)
->andWhere('id')->in($docIdList)
->fetch();
$statisticInfo->pastEditedDocs = $statisticInfo->totalDocs - $statisticInfo->todayEditedDocs;
$statisticInfo->lastEditedProgress = $statisticInfo->totalDocs ? round($statisticInfo->lastEditedDocs / $statisticInfo->totalDocs, 2) * 100 : 0;
$statisticInfo->lastVisitedProgress = $statisticInfo->totalDocs ? round($statisticInfo->lastVisitedDocs / $statisticInfo->totalDocs, 2) * 100 : 0;
$statisticInfo->myCollectionProgress = $statisticInfo->totalDocs ? round($statisticInfo->myCollection / $statisticInfo->totalDocs, 2) * 100 : 0;
$statisticInfo->myDocsProgress = $statisticInfo->totalDocs ? round($statisticInfo->myDocs / $statisticInfo->totalDocs, 2) * 100 : 0;
return $statisticInfo;
}
}
+293 -132
View File
@@ -11,148 +11,309 @@
*/
?>
<?php include '../../common/view/header.html.php';?>
<div id='libs'>
<?php
$allLibs = array();
$allLibs['product'] = $products;
$allLibs['project'] = $projects;
$allLibs['custom'] = $customLibs;
?>
<?php foreach($allLibs as $libsName => $libs):?>
<?php if(empty($libs)) continue;?>
<?php if($libsName === 'product'): ?>
<div class='row'>
<?php
$objectNum = 1;
$objectCount = count($libs);
?>
<?php foreach($libs as $product):?>
<?php if($objectCount > 8 and $objectNum == 8):?>
<div class='col-md-3'>
<div class='libs-group clearfix lib-more'>
<?php echo html::a(inlink('allLibs', "type=$libsName"), "{$lang->more}{$lang->doc->libTypeList['product']}<i class='icon icon-double-angle-right'></i>", '', "title='$lang->more' class='more'")?>
<div class="main-row spilter-row">
<div class="side-col" style="width: 220px" data-min-width="220">
<div class="cell">
<header class="table-row space">
<form method='post' action='<?php echo '';?>'>
<div class="input-control has-icon-right table-col">
<input id="searchLib" type="search" class="form-control" placeholder="<?php echo $this->lang->doc->searchDoc;?>">
<label for="searchLib" class="input-control-icon-right"><i class="icon icon-search"></i></label>
</div>
</form>
<div class="table-col text-right c-sm">
<?php echo html::a($this->createLink('doc', 'createLib'), "<i class='icon icon-plus'></i>", '', "class='btn btn-secondary btn-icon iframe'");?>
</div>
<?php break;?>
<?php endif;?>
<?php if(isset($subLibs['product'][$product->id])):?>
<div class='col-md-3'>
<?php
$i = 0;
$subLibCount = count($subLibs['product'][$product->id]);
?>
<div class='libs-group-heading libs-product-heading'>
</header>
<ul id="docsTree" data-ride="tree" class="tree no-margin">
<li class="open">
<a class="text-muted tree-toggle"><?php echo $lang->doc->fast;?></a>
<ul>
<?php foreach($lang->doc->fastMenuList as $type => $menu):?>
<?php
$label = $objectNum == 1 ? "<span class='label label-primary'>{$lang->doclib->product}</span> " : '';
echo html::a(inlink('objectLibs', "type=product&objectID=$product->id&from=doc"), $label . $product->name, '', "title='{$product->name}'");
if($subLibCount > 3) echo html::a(inlink('objectLibs', "type=product&objectID=$product->id&from=doc"), "{$lang->more}<i class='icon icon-double-angle-right'></i>", '', "title='{$lang->more}' class='pull-right'");
if($type == 'editedDate' or $type == 'visitedDate')
{
$link = $this->createLink('doc', 'browse', "libID=0&browseTyp=bymenu&module=0&orderBy={$type}_desc");
}
else
{
$link = $this->createLink('doc', 'browse', "libID=0&browseTyp={$type}");
}
?>
</div>
<div class='libs-group clearfix'>
<?php
$widthClass = 'w-lib-p100';
if($subLibCount == 2) $widthClass = 'w-lib-p50';
if($subLibCount >= 3) $widthClass = 'w-lib-p33';
?>
<?php foreach($subLibs['product'][$product->id] as $libID => $libName):?>
<?php
if($libID == 'project') $libLink = inlink('allLibs', "type=project&product=$product->id");
elseif($libID == 'files') $libLink = inlink('showFiles', "type=product&objectID=$product->id");
else $libLink = inlink('browse', "libID=$libID");
?>
<a class='lib <?php echo $widthClass?>' title='<?php echo $libName?>' href='<?php echo $libLink ?>'>
<img src='<?php echo $config->webRoot . 'theme/default/images/main/doc-lib.png'?>' class='file-icon' />
<div class='lib-name' title='<?php echo $libName?>'><?php echo $libName?></div>
</a>
<?php if($i >= 2) break;?>
<?php $i++;?>
<?php endforeach; ?>
</div>
</div>
<?php $objectNum++;?>
<?php endif; ?>
<?php endforeach; ?>
<li><?php echo html::a($link, "<i class='icon {$lang->doc->fastMenuIconList[$type]}'></i> {$menu}");?>
<?php endforeach;?>
</ul>
</li>
<li class="open">
<a class="text-muted tree-toggle"><?php echo $lang->productCommon;?></a>
<ul>
<?php foreach($products as $product):?>
<li>
<?php echo html::a($this->createLink('doc', 'objectLibs', "type=product&objectID=$product->id"), "<i class='icon icon-cube'></i> " . $product->name);?>
<?php if(isset($subLibs['product'][$product->id])):?>
<ul>
<?php foreach($subLibs['product'][$product->id] as $libID => $libName):?>
<?php
if($libID == 'project')
{
$libLink = inlink('allLibs', "type=project&product=$product->id");
$icon = 'icon-stack';
}
elseif($libID == 'files')
{
$libLink = inlink('showFiles', "type=product&objectID=$product->id");
$icon = 'icon-paper-clip';
}
else
{
$libLink = inlink('browse', "libID=$libID");
$icon = 'icon-folder-outline';
}
?>
<li>
<?php echo html::a($libLink, "<i class='icon {$icon}'></i> " . $libName);?>
<?php if(isset($modules[$libID])):?>
<ul>
<?php foreach($modules[$libID] as $module):?>
<li><?php echo html::a($this->createLink('doc', 'browse', "libID=$libID&browseType=byModule&param={$module->id}"), "<i class='icon icon-folder-outline'></i> " . $module->name);?></li>
<?php endforeach;?>
</ul>
<?php endif;?>
</li>
<?php endforeach;?>
</ul>
<?php endif;?>
</li>
<?php endforeach;?>
</ul>
</li>
<li>
<a class="text-muted tree-toggle"><?php echo $lang->projectCommon;?></a>
<ul>
<?php foreach($projects as $project):?>
<li>
<?php echo html::a($this->createLink('doc', 'objectLibs', "type=project&objectID=$project->id"), "<i class='icon icon-cube'></i> " . $project->name);?>
<?php if(isset($subLibs['project'][$project->id])):?>
<ul>
<?php foreach($subLibs['project'][$project->id] as $libID => $libName):?>
<?php
if($libID == 'files')
{
$libLink = inlink('showFiles', "type=project&objectID=$project->id");
$icon = 'icon-paper-clip';
}
else
{
$libLink = inlink('browse', "libID=$libID");
$icon = 'icon-paper-outline';
}
?>
<li>
<?php echo html::a($libLink, "<i class='icon $icon'></i> " . $libName);?>
<?php if(isset($modules[$libID])):?>
<ul>
<?php foreach($modules[$libID] as $module):?>
<li><?php echo html::a($this->createLink('doc', 'browse', "libID=$libID&browseType=byModule&param={$module->id}"), "<i class='icon icon-folder-outline'></i> " . $module->name);?></li>
<?php endforeach;?>
</ul>
<?php endif;?>
</li>
<?php endforeach;?>
</ul>
<?php endif;?>
</li>
<?php endforeach;?>
</ul>
</li>
<li>
<a class="text-muted tree-toggle"><?php echo $lang->doc->custom;?></a>
<ul>
<?php foreach($customLibs as $libID => $libName):?>
<li>
<?php echo html::a(inlink('browse', "libID=$libID"), "<i class='icon icon-folder-outline'></i> " . $libName);?>
<?php if(isset($modules[$libID])):?>
<ul>
<?php foreach($modules[$libID] as $module):?>
<li><?php echo html::a($this->createLink('doc', 'browse', "libID=$libID&browseType=byModule&param={$module->id}"), "<i class='icon icon-folder-outline'></i> " . $module->name);?></li>
<?php endforeach;?>
</ul>
<?php endif;?>
</li>
<?php endforeach;?>
</ul>
</li>
</ul>
</div>
<hr />
<?php elseif($libsName === 'project'): ?>
<div class='row'>
<?php
$objectNum = 1;
$objectCount = count($libs);
?>
<?php foreach($libs as $project):?>
<?php if($objectCount > 8 and $objectNum == 8):?>
<div class='col-md-3'>
<div class='libs-group clearfix lib-more'>
<?php echo html::a(inlink('allLibs', "type=$libsName"), "{$lang->more}{$lang->doc->libTypeList['project']}<i class='icon icon-double-angle-right'></i>", '', "title='$lang->more' class='more'")?>
</div>
<div class="main-col" data-min-width="400">
<div class="row">
<div class="col-sm-7">
<div class="panel block-files block-sm" style="height: 290px;">
<div class="panel-heading">
<div class="panel-title"><?php echo $lang->doc->orderByEdit;?></div>
<nav class="panel-actions nav nav-default">
<li><?php echo html::a($this->createLink('doc', 'browse', "libID=0&browseTyp=bymenu&module=0&orderBy=editeddate_desc"), 'MORE', '', "title='{$lang->more}'");?></li>
</nav>
</div>
<div class="panel-body has-table">
<table class="table table-borderless table-fixed-head table-hover">
<thead>
<tr>
<th class="c-name"><?php echo $lang->doc->title;?></th>
<th class="c-num text-right"><?php echo $lang->doc->size;?></th>
<th class="c-user"><?php echo $lang->doc->addedBy;?></th>
<th class="c-datetime"><?php echo $lang->doc->editedDate;?></th>
</tr>
</thead>
<tbody>
<?php foreach($latestEditedDocs as $doc):?>
<tr data-url="<?php echo $this->createLink('doc', 'view', "docID={$doc->id}");?>">
<td class="c-name"><?php echo $doc->title;?></td>
<td class="c-num text-right"><?php echo $doc->fileSize;?></td>
<td class="c-user"><?php echo zget($users, $doc->addedBy);?></td>
<td class="c-datetime"><?php echo formatTime($doc->editedDate, 'm-d H:i');?></td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</div>
</div>
<?php break;?>
<?php endif;?>
<?php if(isset($subLibs['project'][$project->id])):?>
<div class='col-md-3'>
<?php
$i = 0;
$subLibCount = count($subLibs['project'][$project->id]);
?>
<div class='libs-group-heading libs-project-heading'>
<?php
$label = $objectNum == 1 ? "<span class='label label-success'>{$lang->doclib->project}</span> " : '';
echo html::a(inlink('objectLibs', "type=project&objectID=$project->id&from=doc"), $label . $project->name, '', "title='{$project->name}'");
if($subLibCount > 3) echo html::a(inlink('objectLibs', "type=project&objectID=$project->id&from=doc"), "{$lang->more}<i class='icon icon-double-angle-right'></i>", '', "title='{$lang->more}' class='pull-right'");
?>
</div>
<div class="col-sm-5">
<div class="panel block-sm" style="height: 290px;">
<div class="panel-heading">
<div class="panel-title"><?php echo $lang->doc->allDoc . ' ' . $statisticInfo->totalDocs;?></div>
</div>
<div class='libs-group clearfix'>
<?php
$widthClass = 'w-lib-p100';
if($subLibCount == 2) $widthClass = 'w-lib-p50';
if($subLibCount >= 3) $widthClass = 'w-lib-p33';
?>
<?php foreach($subLibs['project'][$project->id] as $libID => $libName):?>
<?php
if($libID == 'files') $libLink = inlink('showFiles', "type=project&objectID=$project->id");
else $libLink = inlink('browse', "libID=$libID");
?>
<a class='lib <?php echo $widthClass?>' title='<?php echo $libName?>' href='<?php echo $libLink ?>'>
<img src='<?php echo $config->webRoot . 'theme/default/images/main/doc-lib.png'?>' class='file-icon' />
<div class='lib-name' title='<?php echo $libName?>'><?php echo $libName?></div>
</a>
<?php if($i >= 2) break;?>
<?php $i++;?>
<?php endforeach; ?>
<div class="panel-body table-row">
<div class="col-7 text-middle text-center">
<div class="progress-pie inline-block space-lg" data-value="<?php echo $statisticInfo->lastEditedProgress;?>" data-doughnut-size="84" data-real-value="<?php echo $statisticInfo->lastEditedDocs;?>">
<canvas width="100" height="100"></canvas>
<div class="progress-info">
<small><?php echo $lang->doc->orderByEdit;?></small>
<strong class="progress-value"><?php echo $statisticInfo->lastEditedDocs;?></strong>
</div>
</div>
<div class="table-row text-center small text-muted with-padding">
<div class="col-4">
<span class="label label-dot label-primary"></span>
<span><?php echo $lang->doc->todayEdited;?></span>
<em class="strong"><?php echo $statisticInfo->todayEditedDocs;?></em>
</div>
<div class="col-4">
<span class="label label-dot label-pale"></span>
<span><?php echo $lang->doc->pastEdited;?></span>
<em class="strong"><?php echo $statisticInfo->pastEditedDocs;?></em>
</div>
</div>
</div>
<div class="col-5 text-middle text-center">
<a class="table-row space-lg">
<div class="table-col text-middle">
<small class="muted"><?php echo $lang->doc->orderByVisit;?></small>
<div class="strong"><?php echo $statisticInfo->lastVisitedDocs;?></div>
</div>
<div class="table-col text-middle">
<div class="progress-pie inline-block" data-value="<?php echo $statisticInfo->lastVisitedProgress;?>" data-doughnut-size="78" data-color="#00a9fc">
<canvas width="50" height="50"></canvas>
<div class="progress-info">
<strong><span class="progress-value"><?php echo $statisticInfo->lastVisitedProgress;?></span><small>%</small></strong>
</div>
</div>
</div>
</a>
<a class="table-row space-lg">
<div class="table-col text-middle">
<small class="muted"><?php echo $lang->doc->myDoc;?></small>
<div class="strong"><?php echo $statisticInfo->myDocs;?></div>
</div>
<div class="table-col text-middle">
<div class="progress-pie inline-block" data-value="<?php echo $statisticInfo->myDocsProgress;?>" data-doughnut-size="78" data-color="#00da88">
<canvas width="50" height="50"></canvas>
<div class="progress-info">
<strong><span class="progress-value"><?php echo $statisticInfo->myDocsProgress;?></span><small><?php echo $lang->percent;?></small></strong>
</div>
</div>
</div>
</a>
<a class="table-row">
<div class="table-col text-middle">
<small class="muted"><?php echo $lang->doc->myCollection;?></small>
<div class="strong"><?php echo $statisticInfo->myCollection;?></div>
</div>
<div class="table-col text-middle">
<div class="progress-pie inline-block" data-value="<?php echo $statisticInfo->myCollectionProgress;?>" data-doughnut-size="78" data-color="#fdc137">
<canvas width="50" height="50"></canvas>
<div class="progress-info">
<strong><span class="progress-value"><?php echo $statisticInfo->myCollectionProgress;?></span><small><?php echo $lang->percent;?></small></strong>
</div>
</div>
</div>
</a>
</div>
</div>
</div>
<?php $objectNum++;?>
<?php endif; ?>
<?php endforeach; ?>
</div>
<div class="col-sm-7">
<div class="panel block-files block-sm" style="height: 290px;">
<div class="panel-heading">
<div class="panel-title"><?php echo $lang->project->statusList['doing'] . $lang->projectCommon;?></div>
<nav class="panel-actions nav nav-default">
<li><?php echo html::a($this->createLink('doc', 'allLibs', 'type=project'), 'MORE', '', "title='{$lang->more}'");?></li>
</nav>
</div>
<div class="panel-body has-table">
<table class="table table-borderless table-fixed-head table-hover">
<thead>
<tr>
<th class="c-name"><?php echo $lang->project->name;?></th>
<th class="c-user"><?php echo $lang->doc->addedBy;?></th>
<th class="c-datetime"><?php echo $lang->doc->addedDate;?></th>
</tr>
</thead>
<tbody>
<?php foreach($doingProjects as $project):?>
<tr data-url="<?php echo $this->createLink('doc', 'objectLibs', "type=project&objectID={$project->id}")?>">
<td class="c-name"><i class="icon icon-folder text-yellow"></i> <?php echo $project->name;?></td>
<td class="c-user"><?php echo zget($users, $project->openedBy);?></td>
<td class="c-datetime"><?php echo formatTime($project->openedDate, 'm-d H:i');?></td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</div>
</div>
</div>
<div class="col-sm-5">
<div class="panel block-files block-sm" style="height: 290px;">
<div class="panel-heading">
<div class="panel-title"><?php echo $lang->doc->myDoc;?></div>
<nav class="panel-actions nav nav-default">
<li><?php echo html::a($this->createLink('doc', 'browse', "libID=0&browseTyp=openedbyme"), 'MORE', '', "title='{$lang->more}'");?></li>
</nav>
</div>
<div class="panel-body has-table">
<table class="table table-borderless table-fixed-head table-hover">
<thead>
<tr>
<th class="c-name"><?php echo $lang->doc->title;?></th>
<th class="c-user"><?php echo $lang->doc->addedBy;?></th>
<th class="c-datetime"><?php echo $lang->doc->addedDate;?></th>
</tr>
</thead>
<tbody>
<?php foreach($myDocs as $doc):?>
<tr data-url="">
<td class="c-name"><?php echo $doc->title;?></td>
<td class="c-user"><?php echo zget($users, $doc->addedBy);?></td>
<td class="c-datetime"><?php echo formatTime($doc->addedDate, 'm-d H:i');?></td>
</tr>
<?php endforeach;?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<hr />
<?php else:?>
<div class='row clearfix'>
<?php
$objectNum = 1;
$objectCount = count($libs);
?>
<?php foreach($libs as $libID => $libName):?>
<?php if($objectCount > 8 and $objectNum == 8):?>
<div class='col-md-3'>
<div class='libs-group clearfix lib-more'>
<?php echo html::a(inlink('allLibs', "type=$libsName"), "{$lang->more}{$lang->doc->libTypeList['custom']}<i class='icon icon-double-angle-right'></i>", '', "title='$lang->more' class='more'")?>
</div>
</div>
<?php break;?>
<?php endif;?>
<div class='col-md-3'>
<div class='libs-group-heading libs-custom-heading'>
<?php
if($objectNum == 1) echo "<span class='label label-info lable-custom'>{$lang->doc->customAB}</span> ";
echo html::a(inlink('browse', "libID=$libID"), $libName, '', "title='{$libName}'")
?>
</div>
</div>
<?php $objectNum++;?>
<?php endforeach; ?>
<?php endif; ?>
<?php endforeach;?>
</div>
</div>
<?php include '../../common/view/footer.html.php';?>