Beispiel #1
0
 public static function size($file, $format = false)
 {
     $file = path::decode($file);
     $size = @filesize($file);
     if ($format) {
         $size = format::byte($size, $format);
     }
     return $size;
 }
Beispiel #2
0
    $column['name'] = '<a href="' . zotop::url('webftp/index/index', array('dir' => rawurlencode($dir . '/' . $folder))) . '"><b>' . $folder . '</b></a>';
    $column['name'] .= '<h5>';
    $column['name'] .= '<a href="' . zotop::url('webftp/folder/rename', array('dir' => rawurlencode($dir), 'file' => $file)) . '" class="dialog">重命名</a>';
    $column['name'] .= '&nbsp;&nbsp;<a href="' . zotop::url('webftp/folder/delete', array('dir' => rawurlencode($dir), 'file' => $file)) . '" class="dialog">删除</a>';
    $column['name'] .= '</h5>';
    $column['type w60'] = '文件夹';
    $column['encoding w60'] = '';
    $column['size w60'] = '--';
    $column['atime w120'] = time::format(@fileatime($path . DS . $folder));
    $column['mtime w120'] = time::format(@filemtime($path . DS . $folder));
    table::row($column);
}
foreach ($files as $file) {
    $column = array();
    $column['center'] = '<div class="zotop-icon zotop-icon-file ' . file::ext($file) . '"></div>';
    $column['name'] = '<div><b>' . $file . '</b></div>';
    $column['name'] .= '<h5>';
    $column['name'] .= '<a href="' . zotop::url('webftp/file/edit', array('file' => url::encode($dir . '/' . $file))) . '" class="dialog">编辑</a>';
    $column['name'] .= '&nbsp;&nbsp;<a href="' . zotop::url('webftp/file/rename', array('file' => url::encode($dir . '/' . $file))) . '" class="dialog">重命名</a>';
    $column['name'] .= '&nbsp;&nbsp;<a href="' . zotop::url('webftp/file/delete', array('file' => url::encode($dir . '/' . $file))) . '" class="dialog">删除</a>';
    $column['name'] .= '</h5>';
    $column['type w60'] = '文件';
    $column['encoding w60'] = file::isUTF8($path . DS . $file) ? 'UTF8' : '';
    $column['size w60'] = format::byte(@filesize($path . DS . $file));
    $column['atime w120'] = time::format(@fileatime($path . DS . $file));
    $column['mtime w120'] = time::format(@filemtime($path . DS . $file));
    table::row($column);
}
table::footer();
$this->bottom();
$this->footer();
Beispiel #3
0
 public function size()
 {
     $tables = $this->tables();
     foreach ($tables as $table) {
         $size += $table['size'];
     }
     return format::byte($size);
 }
Beispiel #4
0
form::header(array('valid' => 'false', 'class' => 'list', 'action' => zotop::url('system/file/action')));
$column = array();
$column['select'] = html::checkbox(array('name' => 'table', 'class' => 'selectAll'));
$column['w40 center'] = '图标';
$column['name'] = '名称';
$column['user_name'] = '用户名';
//$column['type'] = '类型';
$column['size w60'] = '大小';
$column['atime w120'] = '创建时间';
table::header('list', $column);
foreach ($files as $file) {
    $column = array();
    $column['select'] = html::checkbox(array('name' => 'id[]', 'value' => $file['id'], 'class' => 'select'));
    $column['center w40'] = $file['type'] == 'image' ? '<div class="image">' . html::image($file['path'], array('style' => 'display:none;')) . '</div>' : '<div class="zotop-icon zotop-icon-file ' . file::ext($file['path']) . '"></div>';
    $column['name'] = '<div><b>' . $file['name'] . '</b></div>';
    $column['name'] .= '<h5>';
    $column['name'] .= '<a href="' . zotop::url('system/file/down/' . $file['id']) . '">下载</a>';
    $column['name'] .= '&nbsp;&nbsp;<a href="' . zotop::url('system/file/edit/' . $file['id']) . '" class="dialog">编辑</a>';
    $column['name'] .= '&nbsp;&nbsp;<a href="' . zotop::url('system/file/delete/' . $file['id']) . '" class="confirm">删除</a>';
    $column['name'] .= '</h5>';
    $column['user_name w100'] = '<a><b>' . $file['user_username'] . '</b></a><div class="textflow w100">' . $file['user_name'] . '</div>';
    //$column['type w60'] = ''.$file['type'].'';
    $column['size w60'] = '' . format::byte($file['size']) . '';
    $column['atime w120'] = '' . time::format($file['createtime']) . '';
    table::row($column);
}
table::footer();
form::buttons(array('type' => 'submit', 'value' => '永久删除'));
form::footer($pagination);
$this->bottom();
$this->footer();
Beispiel #5
0
 public function onDefault()
 {
     $db = zotop::db();
     $host = $db->config('hostname');
     $dbName = $db->config('database');
     $dbVersion = $db->version(true);
     $dbSize = $db->size();
     $tables = zotop::db()->tables(true);
     $header['title'] = '数据库管理:' . $dbName;
     page::header($header);
     page::add('<div id="page" class="clearfix">');
     page::add('<div id="side">');
     block::header('数据库基本信息');
     table::header();
     table::row(array('w60' => '数据库主机', '2' => '' . $host . ''));
     table::row(array('w60' => '数据库名称', '2' => '' . $dbName . ''));
     table::row(array('w60' => '数据库版本', '2' => '' . $dbVersion . ''));
     table::row(array('w60' => '数据库大小', '2' => '<b>' . $dbSize . '</b> '));
     table::row(array('w60' => '数据表个数', '2' => '<b>' . count($tables) . '</b> 个'));
     table::footer();
     block::footer();
     block::header('创建数据表');
     form::header(array('action' => zotop::url('database/table/create'), 'template' => 'div'));
     form::field(array('type' => 'text', 'name' => 'tablename', 'label' => zotop::t('表名称'), 'style' => 'width:180px', 'valid' => '{required:true}', 'description' => '不含前缀,系统会自动加上前缀'));
     form::buttons(array('type' => 'submit', 'value' => '创建'));
     form::footer();
     block::footer();
     page::add('</div>');
     page::add('<div id="main">');
     page::top();
     page::navbar($this->navbar(), 'tables');
     //zotop::dump($tables);
     form::header(array('class' => 'list', 'action' => zotop::url('database/table/action')));
     $column['select'] = html::checkbox(array('name' => 'table', 'class' => 'selectAll'));
     $column['name'] = '数据表名称';
     $column['size  w60'] = '大小';
     $column['Rows  w60'] = '记录数';
     $column['Engine  w60'] = '类型';
     $column['Collation  w100'] = '整理';
     $column['manage view w60'] = '浏览';
     $column['manage delete'] = '删除';
     page::add('<div style="height:400px;">');
     table::header('list', $column);
     foreach ($tables as $table) {
         $column = array();
         $column['select'] = html::checkbox(array('name' => 'table[]', 'value' => $table['name'], 'class' => 'select'));
         $column['name'] = '<a href="' . url::build('database/field/default', array('tablename' => $table['name'])) . '"><b>' . $table['name'] . '</b></a><h5>' . $table['comment'] . '</h5>';
         $column['size w60'] = (string) format::byte($table['size']);
         $column['Rows  w60'] = $table['rows'];
         $column['Engine  w60'] = $table['engine'];
         $column['collation  w100'] = $table['collation'];
         $column['manage view w60'] = '<a href="' . url::build('database/table/edit', array('tablename' => $table['name'])) . '">设置</a>';
         $column['manage delete'] = '<a href="' . url::build('database/table/delete', array('tablename' => $table['name'])) . '" class="confirm">删除</a>';
         table::row($column, 'select');
     }
     table::footer();
     page::add('</div>');
     form::buttons(array('type' => 'select', 'name' => 'operation', 'style' => 'width:180px', 'options' => array('optimize' => '优化', 'delete' => '删除'), 'value' => 'check'), array('type' => 'submit', 'value' => '执行操作'));
     form::footer();
     page::bottom();
     page::add('</div>');
     page::add('</div>');
     page::footer();
 }
Beispiel #6
0
    $column['manage delete'] = '<a href="' . zotop::url('database/field/delete', array('table' => $tablename, 'field' => $field['name'])) . '" class="confirm">删除</a>';
    table::row($column, 'select');
}
table::footer();
form::buttons(array('type' => 'submit', 'value' => '浏览选中项'));
form::footer();
$this->bottom();
?>
</div>
</div>
<div id="side">
<?php 
block::header('数据表信息');
table::header();
table::row(array('w60 bold' => '名称', '2' => '' . $table['name'] . ''));
table::row(array('w60 bold' => '大小', '2' => '' . format::byte($table['size']) . ''));
table::row(array('w60 bold' => '记录数', '2' => '<b>' . $table['rows'] . '</b> '));
table::row(array('w60 bold' => '整理', '2' => '' . $table['collation'] . ''));
table::row(array('w60 bold' => '创建时间', '2' => '' . $table['createtime'] . ''));
table::row(array('w60 bold' => '更新时间', '2' => '' . $table['updatetime'] . ''));
//table::row(array('w60 bold'=>'注释','2'=>''.$table['comment'].''));
table::footer();
block::footer();
block::header('索引信息');
$column = array();
//$column['i w10'] = '';
$column['field'] = '字段';
$column['type w50'] = '类型';
$column['manage dropindex'] = '删除';
table::header('list', $column);
foreach ($indexes as $index) {
Beispiel #7
0
 public function onDefault($dir = '')
 {
     $path = ROOT . DS . trim($dir, DS);
     $path = path::clean($path);
     $folders = dir::folders($path);
     $files = dir::files($path);
     $fileext = array('php', 'css', 'js', 'jpg', 'jpeg', 'gif', 'png', 'bmp', 'psd', 'html', 'htm', 'tpl', 'rar', 'zip', 'mp3');
     $page['title'] = '文件管理器';
     page::header($page);
     page::add('<div id="page" class="clearfix">');
     page::add('<div id="main">');
     page::add('<div id="main-inner">');
     page::top();
     page::navbar($this->navbar(), 'default');
     $column = array();
     $column['select'] = '';
     $column['name'] = '名称';
     $column['type'] = '类型';
     $column['size w60'] = '大小';
     $column['atime w120'] = '创建时间';
     $column['mtime w120'] = '修改时间';
     $column['manage rename w80'] = '重命名';
     $column['manage edit w80'] = '编辑';
     $column['manage delete'] = '删除';
     table::header('list', $column);
     foreach ($folders as $folder) {
         $column = array();
         $column['select w20 center'] = html::image(url::theme() . '/image/fileext/folder.gif');
         $column['name'] = '<a href="' . zotop::url('filemanager/index/default', array('dir' => $dir . DS . $folder)) . '"><b>' . $folder . '</b></a>';
         $column['type w60'] = '文件夹';
         $column['size w60'] = '--';
         $column['atime w120'] = time::format(@fileatime($path . DS . $folder));
         $column['mtime w120'] = time::format(@filemtime($path . DS . $folder));
         $column['manage rename w80'] = '<a>重命名</a>';
         $column['manage edit w80'] = '<a class="disabled">编辑</a>';
         $column['manage delete'] = '<a>删除</a>';
         table::row($column);
     }
     foreach ($files as $file) {
         $column = array();
         $column['select w20 center'] = in_array(file::ext($file), $fileext) ? html::image(url::theme() . '/image/fileext/' . file::ext($file) . '.gif') : html::image(url::theme() . '/image/fileext/unknown.gif');
         $column['name'] = '<a href="' . zotop::url('filemanager/index/default', array('dir' => $dir . DS . $file)) . '"><b>' . $file . '</b></a>';
         $column['type w60'] = '文件';
         $column['size w60'] = format::byte(@filesize($path . DS . $file));
         $column['atime w120'] = time::format(@fileatime($path . DS . $file));
         $column['mtime w120'] = time::format(@filemtime($path . DS . $file));
         $column['manage rename w80'] = '<a>重命名</a>';
         $column['manage edit w80'] = '<a href="' . zotop::url('filemanager/file/edit', array('filename' => $dir . DS . $file, 'dir' => '***')) . '">编辑</a>';
         $column['manage delete'] = '<a>删除</a>';
         table::row($column);
     }
     table::footer();
     page::bottom();
     page::add('</div>');
     page::add('</div>');
     page::add('<div id="side">');
     block::header('快捷操作');
     echo '<ul class="list">';
     echo '<li class="file"><a href="' . zotop::url('zotop/file/newfile') . '" class="dialog">新建文件</a></li>';
     echo '<li class="folder"><a href="' . zotop::url('zotop/file/newfolder') . '" class="dialog">新建文件夹</a></li>';
     echo '<li class="folder"><a href="' . zotop::url('zotop/file/upload') . '" class="dialog">文件上传</a></li>';
     echo '</ul>';
     block::footer();
     block::header('其他位置');
     echo '<ul class="list">';
     echo '<li class="root"><a>根目录</a></li>';
     echo '<li class="root"><a>模板目录</a></li>';
     echo '<li class="root"><a>模块目录</a></li>';
     echo '<li class="root"><a>缓存目录</a></li>';
     echo '</ul>';
     block::footer();
     page::add('</div>');
     page::add('</div>');
     page::footer();
 }
Beispiel #8
0
		});
		$iframe.load(function(){
			$(this).prev('.loader').hide();
			$(this).show();				
		});
		$('#uploaded').append($iframe);
})

</script>
<style type="text/css">
	body.dialog{
		width:750px;
	}
</style>
<?php 
$this->navbar();
?>
<div id="uploaded" style="margin:10px;text-align:center;height:180px;overflow:hidden;text-align:center;border:solid 1px #ebebeb;background:#fff;">
	<div class="loader" style="line-height:180px;_margin-top:100px;"><span class="zotop-icon zotop-icon-loading"></span>正在加载已上传文件</div>
</div >
<?php 
form::header(array('id' => 'upload', 'enctype' => 'multipart/form-data'));
form::field(array('type' => 'hidden', 'name' => 'globalid', 'label' => 'globalid', 'value' => '', 'valid' => 'required:true'));
form::field(array('type' => 'hidden', 'name' => 'field', 'label' => 'field', 'value' => '', 'valid' => 'required:true'));
form::field(array('type' => 'file', 'label' => zotop::t('图片选择'), 'name' => 'file', 'value' => '', 'valid' => "{required:true,accept:'{$alowexts}',messages:{required:'请选择图片',accept:'不支持该格式文件'}}", 'description' => '支持格式:<b>' . $allowexts . '</b> , 图片大小 <= <b>' . format::byte($maxsize * 1024) . '</b>'));
form::field(array('type' => 'checkbox', 'options' => array('watermark' => zotop::t('原图水印'), 'thumb' => zotop::t('生成缩略图')), 'name' => 'field', 'label' => zotop::t('图片设置'), 'value' => ''));
form::field(array('type' => 'select', 'options' => array('0' => '选择分类') + $categorys, 'label' => zotop::t('图片分类'), 'name' => 'folderid', 'value' => '0', 'description' => '<a href="' . zotop::url('system/folder/add') . '" class="dialog">新建分类</a> <a href="' . zotop::url('system/folder') . '" class="dialog">管理分类</a>'));
form::field(array('type' => 'textarea', 'label' => zotop::t('图片描述'), 'name' => 'description', 'value' => '', 'style' => 'height:20px;', 'description' => '请输入图片的描述信息'));
form::buttons(array('type' => 'submit', 'value' => '上传图片'), array('type' => 'button', 'value' => zotop::t('关闭'), 'class' => 'zotop-dialog-close'));
form::footer();
$this->footer();
Beispiel #9
0
$this->navbar();
form::header(array('class' => 'list', 'action' => zotop::url('database/table/action')));
$column['select'] = html::checkbox(array('name' => 'table', 'class' => 'selectAll'));
$column['name'] = '数据表名称';
$column['size  w60'] = '大小';
$column['Rows  w60'] = '记录数';
$column['Engine  w60'] = '类型';
$column['Collation  w100'] = '整理';
$column['manage view w60'] = '浏览';
$column['manage delete'] = '删除';
table::header('list', $column);
foreach ($tables as $table) {
    $column = array();
    $column['select'] = html::checkbox(array('name' => 'table[]', 'value' => $table['name'], 'class' => 'select'));
    $column['name'] = '<a href="' . zotop::url('database/field/index', array('tablename' => $table['name'])) . '"><b>' . $table['name'] . '</b></a><h5>' . $table['comment'] . '</h5>';
    $column['size w60'] = (string) format::byte($table['size']);
    $column['Rows  w60'] = $table['rows'];
    $column['Engine  w60'] = $table['engine'];
    $column['collation  w100'] = $table['collation'];
    $column['manage view w60'] = '<a href="' . zotop::url('database/table/edit', array('tablename' => $table['name'])) . '" class="dialog">设置</a>';
    $column['manage delete'] = '<a href="' . zotop::url('database/table/delete', array('tablename' => $table['name'])) . '" class="confirm">删除</a>';
    table::row($column, 'select');
}
table::footer();
form::buttons(array('type' => 'select', 'name' => 'operation', 'style' => 'width:180px', 'options' => array('optimize' => '优化', 'delete' => '删除'), 'value' => 'check'), array('type' => 'submit', 'value' => '执行操作'));
form::footer();
$this->bottom();
?>
</div>
</div>
<div id="side">
Beispiel #10
0
 public function onDefault($tablename)
 {
     $tables = zotop::db()->tables(true);
     $table = $tables[$tablename];
     $fields = array();
     if (isset($table)) {
         $fields = zotop::db()->table($tablename)->fields(true);
     }
     $indexes = zotop::db()->table($tablename)->index();
     $page['title'] = '数据库管理 <i>></i> 数据表 [ <b>' . $tablename . '</b> ]  <h6>' . $table['comment'] . '</h6>';
     page::header($page);
     page::add('<div id="page" class="clearfix">');
     page::add('<div id="main">');
     page::add('<div id="main-inner">');
     page::top();
     page::navbar($this->navbar($tablename), 'fields');
     form::header(array('class' => 'list'));
     $column = array();
     $column['select'] = html::checkbox(array('name' => 'id', 'class' => 'selectAll'));
     //$column['key w30 center'] = '索引';
     $column['name'] = '字段名称';
     $column['type w150'] = '字段类型';
     //$column['null w50'] = '空值';
     //$column['default w100'] = '默认值';
     //$column['comment'] = '注释';
     $column['manage pri'] = '主键';
     $column['manage index'] = '索引';
     $column['manage unique'] = '唯一';
     $column['manage fulltext'] = '全文';
     $column['manage edit'] = '修改';
     $column['manage delete'] = '删除';
     table::header('list', $column);
     foreach ($fields as $field) {
         $column = array();
         $column['select'] = html::checkbox(array('name' => 'id[]', 'class' => 'select'));
         //$column['key w30 center'] = '<span class="'.$field['key'].'">'.$field['key'].'</span>';
         $column['name'] = '<a href="' . zotop::url('database/field/edit', array('table' => $tablename, 'field' => $field['name'])) . '" title="注释:' . $field['comment'] . '&#13;默认:' . $field['default'] . '&#13;空值:' . $field['null'] . '&#13;整理:' . $field['collation'] . '"><b class="' . $field['key'] . '">' . $field['name'] . '</b></a><h5>' . $field['comment'] . '</h5>';
         $column['type w150'] = $field['type'] . (empty($field['length']) ? '' : '(' . $field['length'] . ')');
         //$column['null w50'] = $field['null'];
         //$column['default w100'] = $field['default'];
         //$column['comment'] = $field['comment'];
         $column['manage pri'] = '<a href="' . zotop::url('database/field/primaryKey', array('table' => $tablename, 'field' => $field['name'])) . '" class="confirm {content:\'<h2>确定要将该字段设置为主键?</h2>\'}">主键</a>';
         $column['manage index'] = '<a href="' . zotop::url('database/field/index', array('table' => $tablename, 'field' => $field['name'])) . '" class="confirm {content:\'<h2>确定要索引该字段?</h2>\'}">索引</a>';
         $column['manage unique'] = '<a href="' . zotop::url('database/field/unique', array('table' => $tablename, 'field' => $field['name'])) . '" class="confirm {content:\'<h2>确定要将该字段设置为唯一?</h2>\'}">唯一</a>';
         if (stripos((string) $field['type'], 'varchar') !== false || stripos((string) $field['type'], 'text') !== false) {
             $column['manage fulltext'] = '<a href="' . zotop::url('database/field/fulltext', array('table' => $tablename, 'field' => $field['name'])) . '" class="confirm {content:\'<h2>确定要将该字段设置为全文索引?</h2>\'}">全文</a>';
         } else {
             $column['manage fulltext'] = '<a class="disabled">全文</a>';
         }
         $column['manage edit'] = '<a href="' . zotop::url('database/field/edit', array('table' => $tablename, 'field' => $field['name'])) . '">修改</a>';
         $column['manage delete'] = '<a href="' . zotop::url('database/field/delete', array('table' => $tablename, 'field' => $field['name'])) . '" class="confirm">删除</a>';
         table::row($column, 'select');
     }
     table::footer();
     form::buttons(array('type' => 'submit', 'value' => '浏览选中项'));
     form::footer();
     page::bottom();
     page::add('</div>');
     page::add('</div>');
     page::add('<div id="side">');
     block::header('数据表信息');
     table::header();
     table::row(array('w60 bold' => '名称', '2' => '' . $table['name'] . ''));
     table::row(array('w60 bold' => '大小', '2' => '' . format::byte($table['size']) . ''));
     table::row(array('w60 bold' => '记录数', '2' => '<b>' . $table['rows'] . '</b> '));
     table::row(array('w60 bold' => '整理', '2' => '' . $table['collation'] . ''));
     table::row(array('w60 bold' => '创建时间', '2' => '' . $table['createtime'] . ''));
     table::row(array('w60 bold' => '更新时间', '2' => '' . $table['updatetime'] . ''));
     //table::row(array('w60 bold'=>'注释','2'=>''.$table['comment'].''));
     table::footer();
     block::footer();
     block::header('索引信息');
     $column = array();
     $column['i w10'] = '';
     $column['field'] = '字段';
     $column['type w30'] = '类型';
     $column['manage dropindex'] = '删除';
     table::header('list', $column);
     foreach ($indexes as $index) {
         $column = array();
         $column['i w10 center'] = '>';
         $column['field'] = '<b>' . $index['field'] . '</b>';
         $column['type w30'] = $index['type'];
         $column['manage dropindex'] = '<a href="' . url::build('database/field/dropindex', array('table' => $tablename, 'index' => $index['name'])) . '" class="confirm">删除</a>';
         table::row($column, 'select');
     }
     table::footer();
     block::footer();
     page::add('</div>');
     page::add('</div>');
     page::footer();
 }
Beispiel #11
0
echo zotop::url('zotop/image/edit', array('image' => url::encode($image['path'])));
?>
" class="dialog">编辑图片</a>
</div>

<div id="image-preview" style="margin:10px;text-align:center;height:300px;overflow:hidden;">
<?php 
echo html::image($image['path'], array('width' => '100%'));
?>
</div>
<div style="text-align:center;padding:3px;">
	<span>名称:<?php 
echo $image['name'];
?>
 大小:<?php 
echo format::byte($image['size']);
?>
 宽高:<?php 
echo (int) $image['width'];
?>
px × <?php 
echo (int) $image['height'];
?>
px </span>
</div>
<div class="buttons">
	<?php 
echo field::get('hidden', array('id' => 'thumb', 'value' => $image['path']));
?>
	<?php 
echo field::get('hidden', array('id' => 'image', 'value' => $image['path']));
Beispiel #12
0
    $column['size w60'] = '' . format::byte($file['size']) . '';
    $column['atime w120'] = '' . time::format($file['createtime']) . '';
    table::row($column);
}
table::footer();
form::buttons(array('type' => 'submit', 'value' => '永久删除'));
form::footer($pagination);
$this->bottom();
$this->mainFooter();
$this->sideHeader();
?>

<?php 
block::header('统计信息');
table::header();
table::row(array('w60' => zotop::t('文件大小'), '2' => format::byte($totalsize)));
table::row(array('w60' => zotop::t('文件数量'), '2' => $totalcount . zotop::t(' 个')));
table::footer();
block::footer();
?>


<?php 
block::header('按文件类型查看');
?>
<div class="navbarlist">
	<ul class="list2">
		<li><a href="<?php 
echo zotop::url('zotop/file/index');
?>
"><span class="zotop-icon zotop-icon-file all"></span>全部文件</a></li>
Beispiel #13
0
 public function onSystem()
 {
     $header['title'] = '控制中心';
     $phpinfo = array();
     $server = $_SERVER['SERVER_ADDR'] . ' / ' . PHP_OS;
     $php = $_SERVER['SERVER_SOFTWARE'];
     $safemode = @ini_get('safe_mode') ? ' 开启' : '关闭';
     if (@ini_get('file_uploads')) {
         $upload_max_filesize = ini_get('upload_max_filesize');
     } else {
         $upload_max_filesize = '<b class="red">---</b>';
     }
     $upload_filesize = format::byte(dir::size(ZOTOP_UPLOAD));
     $database = zotop::db()->config();
     $database['size'] = zotop::db()->size();
     $database['version'] = zotop::db()->version();
     $database['db'] = $database['hostname'] . ':' . $database['hostport'] . '/' . $database['database'];
     page::header($header);
     page::top();
     page::navbar($this->navbar());
     block::header('服务器信息');
     table::header();
     table::row(array('side 1 w60' => '服务器', 'main  w300 1' => $server, 'side 2 w60 ' => 'WEB服务器', 'main 2' => $php));
     table::row(array('side 1 w60' => '安全模式', 'main 1' => $safemode, 'side 2 w60 ' => 'PHP版本', 'main 2' => PHP_VERSION));
     table::row(array('side 1 w60' => '程序版本', 'main 1' => zotop::config('zotop.version'), 'side 2 w60 ' => '程序根目录', 'main 2' => ROOT));
     table::footer();
     block::footer();
     block::header('文件夹权限<span>如果某个文件或目录被检查到“无法写入”(以红色列出),请即刻通过 FTP 或其他工具修改其属性(例如设置为 777),以确保程序功能的正常使用</span>');
     table::header();
     table::row(array('side 1 w60' => '配置目录', 'main w300 1' => '', 'side 2 w60 ' => '备份目录', 'main 2' => ''));
     table::row(array('side 1 w60' => '运行目录', 'main w300 1' => '', 'side 2 w60 ' => '模块目录', 'main 2' => ''));
     table::footer();
     block::footer();
     block::header('数据库信息');
     table::header();
     table::row(array('side 1 w60' => '驱动名称', 'main w300 1' => $database['driver'], 'side 2 w60 ' => '数据库', 'main 2' => $database['db']));
     table::row(array('side 1 w60' => '数据库版本', 'main 1' => $database['version'], 'side 2 w60 ' => '占用空间', 'main 2' => $database['size']));
     table::footer();
     block::footer();
     block::header('文件上传');
     table::header();
     table::row(array('side 1 w60' => '上传许可', 'main w300 1' => $upload_max_filesize, 'side 2 w60 ' => '已上传文件', 'main 2' => '<span class="loading">' . $upload_filesize . '</span>'));
     table::footer();
     block::footer();
     page::bottom();
     page::footer();
 }