- remove the long desc of license.
This commit is contained in:
141
bin/initopt.php
141
bin/initopt.php
@@ -1,77 +1,64 @@
|
||||
<?php
|
||||
/**
|
||||
* The control file of common module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chen congzhi <congzhi@cnezsoft.com>
|
||||
* @package common
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
include '../config/config.php';
|
||||
|
||||
if(!isset($argv[1]))
|
||||
{
|
||||
die("Please input the directory path of 'module'! For example, c:\zentao\home\zentao\module\ \n");
|
||||
}
|
||||
|
||||
$modules = array();
|
||||
$moduleRoot = $argv[1];
|
||||
|
||||
if(is_dir($moduleRoot))
|
||||
{
|
||||
if($dh = opendir($moduleRoot))
|
||||
{
|
||||
while($module = readdir($dh))
|
||||
{
|
||||
if(strpos(basename($module), '.') === false) $modules[] = $module;
|
||||
}
|
||||
closedir($dh);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
die("The module you input does not exist. \n");
|
||||
}
|
||||
|
||||
foreach($modules as $module)
|
||||
{
|
||||
/* 设定各个目录。*/
|
||||
$optRoot = $moduleRoot . DIRECTORY_SEPARATOR. $module . DIRECTORY_SEPARATOR . 'opt';
|
||||
$optControl = $optRoot . DIRECTORY_SEPARATOR . 'control';
|
||||
$optModel = $optRoot . DIRECTORY_SEPARATOR . 'model';
|
||||
$optView = $optRoot . DIRECTORY_SEPARATOR . 'view';
|
||||
$optConfig = $optRoot . DIRECTORY_SEPARATOR . 'config';
|
||||
$optLang = $optRoot . DIRECTORY_SEPARATOR . 'lang' . DIRECTORY_SEPARATOR;
|
||||
|
||||
/* 建立各个扩展目录 */
|
||||
if(!file_exists($optRoot)) mkdir($optRoot, 0777);
|
||||
if(!file_exists($optControl)) mkdir($optControl, 0777);
|
||||
if(!file_exists($optModel)) mkdir($optModel, 0777);
|
||||
if(!file_exists($optView)) mkdir($optView, 0777);
|
||||
if(!file_exists($optConfig)) mkdir($optConfig, 0777);
|
||||
if(!file_exists($optLang)) mkdir($optLang, 0777);
|
||||
|
||||
/* 创建语言目录。*/
|
||||
$langs = array_keys($config->langs);
|
||||
foreach($langs as $lang)
|
||||
{
|
||||
$langPath = $optLang . $lang;
|
||||
if(!file_exists($langPath)) mkdir($langPath, 0777);
|
||||
}
|
||||
|
||||
echo "init $module ... \n";
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The control file of common module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chen congzhi <congzhi@cnezsoft.com>
|
||||
* @package common
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
include '../config/config.php';
|
||||
|
||||
if(!isset($argv[1]))
|
||||
{
|
||||
die("Please input the directory path of 'module'! For example, c:\zentao\home\zentao\module\ \n");
|
||||
}
|
||||
|
||||
$modules = array();
|
||||
$moduleRoot = $argv[1];
|
||||
|
||||
if(is_dir($moduleRoot))
|
||||
{
|
||||
if($dh = opendir($moduleRoot))
|
||||
{
|
||||
while($module = readdir($dh))
|
||||
{
|
||||
if(strpos(basename($module), '.') === false) $modules[] = $module;
|
||||
}
|
||||
closedir($dh);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
die("The module you input does not exist. \n");
|
||||
}
|
||||
|
||||
foreach($modules as $module)
|
||||
{
|
||||
/* 设定各个目录。*/
|
||||
$optRoot = $moduleRoot . DIRECTORY_SEPARATOR. $module . DIRECTORY_SEPARATOR . 'opt';
|
||||
$optControl = $optRoot . DIRECTORY_SEPARATOR . 'control';
|
||||
$optModel = $optRoot . DIRECTORY_SEPARATOR . 'model';
|
||||
$optView = $optRoot . DIRECTORY_SEPARATOR . 'view';
|
||||
$optConfig = $optRoot . DIRECTORY_SEPARATOR . 'config';
|
||||
$optLang = $optRoot . DIRECTORY_SEPARATOR . 'lang' . DIRECTORY_SEPARATOR;
|
||||
|
||||
/* 建立各个扩展目录 */
|
||||
if(!file_exists($optRoot)) mkdir($optRoot, 0777);
|
||||
if(!file_exists($optControl)) mkdir($optControl, 0777);
|
||||
if(!file_exists($optModel)) mkdir($optModel, 0777);
|
||||
if(!file_exists($optView)) mkdir($optView, 0777);
|
||||
if(!file_exists($optConfig)) mkdir($optConfig, 0777);
|
||||
if(!file_exists($optLang)) mkdir($optLang, 0777);
|
||||
|
||||
/* 创建语言目录。*/
|
||||
$langs = array_keys($config->langs);
|
||||
foreach($langs as $lang)
|
||||
{
|
||||
$langPath = $optLang . $lang;
|
||||
if(!file_exists($langPath)) mkdir($langPath, 0777);
|
||||
}
|
||||
|
||||
echo "init $module ... \n";
|
||||
}
|
||||
|
||||
@@ -1,118 +1,105 @@
|
||||
<?php
|
||||
/**
|
||||
* The config file of ZenTaoMS
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package ZenTaoMS
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 基本参数设定。*/
|
||||
$config->version = '1.3'; // 版本号,切勿修改。
|
||||
$config->encoding = 'UTF-8'; // 网站的编码。
|
||||
$config->cookiePath = '/'; // cookie的有效路径。
|
||||
$config->cookieLife = time() + 2592000; // cookie的生命周期。
|
||||
$config->timezone = 'Asia/Shanghai'; // 时区设置,详细的列表,请访问 http://www.php.net/manual/en/timezones.php
|
||||
|
||||
/* 请求方式设置。*/
|
||||
$config->requestType = 'PATH_INFO'; // 如何获取当前请求的信息,可选值:PATH_INFO|GET
|
||||
$config->pathType = 'clean'; // requestType=PATH_INFO: 请求url的格式,可选值为full|clean,full格式会带有参数名称,clean则只有取值。
|
||||
$config->requestFix = '-'; // requestType=PATH_INFO: 请求url的分隔符,可选值为斜线、减号。后面两种形式有助于SEO。
|
||||
$config->moduleVar = 'm'; // requestType=GET: 模块变量名。
|
||||
$config->methodVar = 'f'; // requestType=GET: 方法变量名。
|
||||
$config->viewVar = 't'; // requestType=GET: 模板变量名。
|
||||
$config->sessionVar = 'sid'; // requestType=GET: session变量名。
|
||||
|
||||
/* 视图和主题。*/
|
||||
$config->views = ',html,json,csv,'; // 支持的视图列表。
|
||||
$config->themes = 'default,blue'; // 支持的主题列表。
|
||||
|
||||
/* 支持的语言列表。*/
|
||||
$config->langs['zh-cn'] = '中文简体';
|
||||
$config->langs['zh-tw'] = '中文繁體';
|
||||
$config->langs['en'] = 'English';
|
||||
$config->langs['ja'] = 'Japanese';
|
||||
$config->langs['ko'] = 'Korean';
|
||||
|
||||
/* 默认参数设定。*/
|
||||
$config->default->view = 'html'; // 默认的视图格式。
|
||||
$config->default->lang = 'zh-cn'; // 默认的语言。
|
||||
$config->default->theme = 'default'; // 默认的主题。
|
||||
$config->default->module = 'index'; // 默认的模块。当请求中没有指定模块时,加载该模块。
|
||||
$config->default->method = 'index'; // 默认的方法。当请求中没有指定方法或者指定的方法不存在时,调用该方法。
|
||||
|
||||
/* 上传附件参数设定。*/
|
||||
$config->file->dangers = 'php,jsp,py,rb,asp,'; // 不允许上传的文件类型列表。
|
||||
$config->file->maxSize = 1024 * 1024; // 允许上传的文件大小,单位为字节。
|
||||
|
||||
/* 数据库参数设定。*/
|
||||
$config->db->persistant = false; // 是否打开持久连接。
|
||||
$config->db->driver = 'mysql'; // pdo的驱动类型,目前暂时只支持mysql。
|
||||
$config->db->dao = true; // 是否使用DAO。
|
||||
$config->db->encoding = 'UTF8'; // 数据库的编码。
|
||||
$config->db->strictMode = false; // 关闭MySQL的严格模式。
|
||||
|
||||
/* 通过对象引用全局变量。*/
|
||||
$config->super2OBJ = true;
|
||||
|
||||
/* 包含自定义配置文件。*/
|
||||
$myConfig = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'my.php';
|
||||
if(file_exists($myConfig)) include $myConfig;
|
||||
if(!isset($config->db->prefix)) $config->db->prefix = 'zt_';
|
||||
|
||||
/* 数据表的定义。*/
|
||||
define('TABLE_COMPANY', $config->db->prefix . 'company');
|
||||
define('TABLE_DEPT', $config->db->prefix . 'dept');
|
||||
define('TABLE_CONFIG', $config->db->prefix . 'config');
|
||||
define('TABLE_USER', $config->db->prefix . 'user');
|
||||
define('TABLE_TODO', $config->db->prefix . 'todo');
|
||||
define('TABLE_GROUP', $config->db->prefix . 'group');
|
||||
define('TABLE_GROUPPRIV', $config->db->prefix . 'groupPriv');
|
||||
define('TABLE_USERGROUP', $config->db->prefix . 'userGroup');
|
||||
define('TABLE_USERQUERY', $config->db->prefix . 'userQuery');
|
||||
|
||||
define('TABLE_BUG', $config->db->prefix . 'bug');
|
||||
define('TABLE_CASE', $config->db->prefix . 'case');
|
||||
define('TABLE_CASESTEP', $config->db->prefix . 'caseStep');
|
||||
define('TABLE_TESTTASK', $config->db->prefix . 'testTask');
|
||||
define('TABLE_TESTRUN', $config->db->prefix . 'testRun');
|
||||
define('TABLE_TESTRESULT', $config->db->prefix . 'testResult');
|
||||
define('TABLE_USERTPL', $config->db->prefix . 'userTPL');
|
||||
|
||||
define('TABLE_PRODUCT', $config->db->prefix . 'product');
|
||||
define('TABLE_STORY', $config->db->prefix . 'story');
|
||||
define('TABLE_STORYSPEC', $config->db->prefix . 'storySpec');
|
||||
define('TABLE_PRODUCTPLAN', $config->db->prefix . 'productPlan');
|
||||
define('TABLE_RELEASE', $config->db->prefix . 'release');
|
||||
|
||||
define('TABLE_PROJECT', $config->db->prefix . 'project');
|
||||
define('TABLE_TASK', $config->db->prefix . 'task');
|
||||
define('TABLE_TEAM', $config->db->prefix . 'team');
|
||||
define('TABLE_PROJECTPRODUCT', $config->db->prefix . 'projectProduct');
|
||||
define('TABLE_PROJECTSTORY', $config->db->prefix . 'projectStory');
|
||||
define('TABLE_TASKESTIMATE', $config->db->prefix . 'taskEstimate');
|
||||
define('TABLE_EFFORT', $config->db->prefix . 'effort');
|
||||
define('TABLE_BURN', $config->db->prefix . 'burn');
|
||||
define('TABLE_BUILD', $config->db->prefix . 'build');
|
||||
|
||||
define('TABLE_DOCLIB', $config->db->prefix . 'docLib');
|
||||
define('TABLE_DOC', $config->db->prefix . 'doc');
|
||||
|
||||
define('TABLE_MODULE', $config->db->prefix . 'module');
|
||||
define('TABLE_ACTION', $config->db->prefix . 'action');
|
||||
define('TABLE_FILE', $config->db->prefix . 'file');
|
||||
define('TABLE_HISTORY', $config->db->prefix . 'history');
|
||||
<?php
|
||||
/**
|
||||
* The config file of ZenTaoMS
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package ZenTaoMS
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 基本参数设定。*/
|
||||
$config->version = '1.3'; // 版本号,切勿修改。
|
||||
$config->encoding = 'UTF-8'; // 网站的编码。
|
||||
$config->cookiePath = '/'; // cookie的有效路径。
|
||||
$config->cookieLife = time() + 2592000; // cookie的生命周期。
|
||||
$config->timezone = 'Asia/Shanghai'; // 时区设置,详细的列表,请访问 http://www.php.net/manual/en/timezones.php
|
||||
|
||||
/* 请求方式设置。*/
|
||||
$config->requestType = 'PATH_INFO'; // 如何获取当前请求的信息,可选值:PATH_INFO|GET
|
||||
$config->pathType = 'clean'; // requestType=PATH_INFO: 请求url的格式,可选值为full|clean,full格式会带有参数名称,clean则只有取值。
|
||||
$config->requestFix = '-'; // requestType=PATH_INFO: 请求url的分隔符,可选值为斜线、减号。后面两种形式有助于SEO。
|
||||
$config->moduleVar = 'm'; // requestType=GET: 模块变量名。
|
||||
$config->methodVar = 'f'; // requestType=GET: 方法变量名。
|
||||
$config->viewVar = 't'; // requestType=GET: 模板变量名。
|
||||
$config->sessionVar = 'sid'; // requestType=GET: session变量名。
|
||||
|
||||
/* 视图和主题。*/
|
||||
$config->views = ',html,json,csv,'; // 支持的视图列表。
|
||||
$config->themes = 'default,blue'; // 支持的主题列表。
|
||||
|
||||
/* 支持的语言列表。*/
|
||||
$config->langs['zh-cn'] = '中文简体';
|
||||
$config->langs['zh-tw'] = '中文繁體';
|
||||
$config->langs['en'] = 'English';
|
||||
$config->langs['ja'] = 'Japanese';
|
||||
$config->langs['ko'] = 'Korean';
|
||||
|
||||
/* 默认参数设定。*/
|
||||
$config->default->view = 'html'; // 默认的视图格式。
|
||||
$config->default->lang = 'zh-cn'; // 默认的语言。
|
||||
$config->default->theme = 'default'; // 默认的主题。
|
||||
$config->default->module = 'index'; // 默认的模块。当请求中没有指定模块时,加载该模块。
|
||||
$config->default->method = 'index'; // 默认的方法。当请求中没有指定方法或者指定的方法不存在时,调用该方法。
|
||||
|
||||
/* 上传附件参数设定。*/
|
||||
$config->file->dangers = 'php,jsp,py,rb,asp,'; // 不允许上传的文件类型列表。
|
||||
$config->file->maxSize = 1024 * 1024; // 允许上传的文件大小,单位为字节。
|
||||
|
||||
/* 数据库参数设定。*/
|
||||
$config->db->persistant = false; // 是否打开持久连接。
|
||||
$config->db->driver = 'mysql'; // pdo的驱动类型,目前暂时只支持mysql。
|
||||
$config->db->dao = true; // 是否使用DAO。
|
||||
$config->db->encoding = 'UTF8'; // 数据库的编码。
|
||||
$config->db->strictMode = false; // 关闭MySQL的严格模式。
|
||||
|
||||
/* 通过对象引用全局变量。*/
|
||||
$config->super2OBJ = true;
|
||||
|
||||
/* 包含自定义配置文件。*/
|
||||
$myConfig = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'my.php';
|
||||
if(file_exists($myConfig)) include $myConfig;
|
||||
if(!isset($config->db->prefix)) $config->db->prefix = 'zt_';
|
||||
|
||||
/* 数据表的定义。*/
|
||||
define('TABLE_COMPANY', $config->db->prefix . 'company');
|
||||
define('TABLE_DEPT', $config->db->prefix . 'dept');
|
||||
define('TABLE_CONFIG', $config->db->prefix . 'config');
|
||||
define('TABLE_USER', $config->db->prefix . 'user');
|
||||
define('TABLE_TODO', $config->db->prefix . 'todo');
|
||||
define('TABLE_GROUP', $config->db->prefix . 'group');
|
||||
define('TABLE_GROUPPRIV', $config->db->prefix . 'groupPriv');
|
||||
define('TABLE_USERGROUP', $config->db->prefix . 'userGroup');
|
||||
define('TABLE_USERQUERY', $config->db->prefix . 'userQuery');
|
||||
|
||||
define('TABLE_BUG', $config->db->prefix . 'bug');
|
||||
define('TABLE_CASE', $config->db->prefix . 'case');
|
||||
define('TABLE_CASESTEP', $config->db->prefix . 'caseStep');
|
||||
define('TABLE_TESTTASK', $config->db->prefix . 'testTask');
|
||||
define('TABLE_TESTRUN', $config->db->prefix . 'testRun');
|
||||
define('TABLE_TESTRESULT', $config->db->prefix . 'testResult');
|
||||
define('TABLE_USERTPL', $config->db->prefix . 'userTPL');
|
||||
|
||||
define('TABLE_PRODUCT', $config->db->prefix . 'product');
|
||||
define('TABLE_STORY', $config->db->prefix . 'story');
|
||||
define('TABLE_STORYSPEC', $config->db->prefix . 'storySpec');
|
||||
define('TABLE_PRODUCTPLAN', $config->db->prefix . 'productPlan');
|
||||
define('TABLE_RELEASE', $config->db->prefix . 'release');
|
||||
|
||||
define('TABLE_PROJECT', $config->db->prefix . 'project');
|
||||
define('TABLE_TASK', $config->db->prefix . 'task');
|
||||
define('TABLE_TEAM', $config->db->prefix . 'team');
|
||||
define('TABLE_PROJECTPRODUCT', $config->db->prefix . 'projectProduct');
|
||||
define('TABLE_PROJECTSTORY', $config->db->prefix . 'projectStory');
|
||||
define('TABLE_TASKESTIMATE', $config->db->prefix . 'taskEstimate');
|
||||
define('TABLE_EFFORT', $config->db->prefix . 'effort');
|
||||
define('TABLE_BURN', $config->db->prefix . 'burn');
|
||||
define('TABLE_BUILD', $config->db->prefix . 'build');
|
||||
|
||||
define('TABLE_DOCLIB', $config->db->prefix . 'docLib');
|
||||
define('TABLE_DOC', $config->db->prefix . 'doc');
|
||||
|
||||
define('TABLE_MODULE', $config->db->prefix . 'module');
|
||||
define('TABLE_ACTION', $config->db->prefix . 'action');
|
||||
define('TABLE_FILE', $config->db->prefix . 'file');
|
||||
define('TABLE_HISTORY', $config->db->prefix . 'history');
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,63 +1,50 @@
|
||||
<?php
|
||||
/**
|
||||
* The control file of action module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package action
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class action extends control
|
||||
{
|
||||
/* 已删除记录列表。*/
|
||||
public function trash($orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
|
||||
{
|
||||
/* 登记session。*/
|
||||
$uri = $this->app->getURI(true);
|
||||
$this->session->set('productList', $uri);
|
||||
$this->session->set('productPlanList', $uri);
|
||||
$this->session->set('releaseList', $uri);
|
||||
$this->session->set('storyList', $uri);
|
||||
$this->session->set('projectList', $uri);
|
||||
$this->session->set('taskList', $uri);
|
||||
$this->session->set('buildList', $uri);
|
||||
$this->session->set('bugList', $uri);
|
||||
$this->session->set('caseList', $uri);
|
||||
$this->session->set('testtaskList', $uri);
|
||||
|
||||
/* 设置标题和导航条。*/
|
||||
$this->view->header->title = $this->lang->action->trash;
|
||||
$this->view->position[] = $this->lang->action->trash;
|
||||
|
||||
/* 获取已删除记录。*/
|
||||
$this->app->loadClass('pager', $static = true);
|
||||
$pager = pager::init($recTotal, $recPerPage, $pageID);
|
||||
$this->view->trashes = $this->action->getTrashes($orderBy, $pager);
|
||||
$this->view->users = $this->loadModel('user')->getPairs('noletter');
|
||||
$this->view->users['system'] = 'system';
|
||||
$this->view->orderBy = $orderBy;
|
||||
$this->view->pager = $pager;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 还原某一个对象。*/
|
||||
public function undelete($actionID)
|
||||
{
|
||||
$this->action->undelete($actionID);
|
||||
die(js::locate(inlink('trash'), 'parent'));
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The control file of action module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package action
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class action extends control
|
||||
{
|
||||
/* 已删除记录列表。*/
|
||||
public function trash($orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
|
||||
{
|
||||
/* 登记session。*/
|
||||
$uri = $this->app->getURI(true);
|
||||
$this->session->set('productList', $uri);
|
||||
$this->session->set('productPlanList', $uri);
|
||||
$this->session->set('releaseList', $uri);
|
||||
$this->session->set('storyList', $uri);
|
||||
$this->session->set('projectList', $uri);
|
||||
$this->session->set('taskList', $uri);
|
||||
$this->session->set('buildList', $uri);
|
||||
$this->session->set('bugList', $uri);
|
||||
$this->session->set('caseList', $uri);
|
||||
$this->session->set('testtaskList', $uri);
|
||||
|
||||
/* 设置标题和导航条。*/
|
||||
$this->view->header->title = $this->lang->action->trash;
|
||||
$this->view->position[] = $this->lang->action->trash;
|
||||
|
||||
/* 获取已删除记录。*/
|
||||
$this->app->loadClass('pager', $static = true);
|
||||
$pager = pager::init($recTotal, $recPerPage, $pageID);
|
||||
$this->view->trashes = $this->action->getTrashes($orderBy, $pager);
|
||||
$this->view->users = $this->loadModel('user')->getPairs('noletter');
|
||||
$this->view->users['system'] = 'system';
|
||||
$this->view->orderBy = $orderBy;
|
||||
$this->view->pager = $pager;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 还原某一个对象。*/
|
||||
public function undelete($actionID)
|
||||
{
|
||||
$this->action->undelete($actionID);
|
||||
die(js::locate(inlink('trash'), 'parent'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,113 +1,100 @@
|
||||
<?php
|
||||
/**
|
||||
* The action module English file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package action
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->action->common = 'Logs';
|
||||
$lang->action->trash = 'Trash';
|
||||
$lang->action->undelete = 'Restore';
|
||||
|
||||
$lang->action->objectType = 'Object';
|
||||
$lang->action->objectID = 'ID';
|
||||
$lang->action->objectName = 'Name';
|
||||
$lang->action->actor = 'Actor';
|
||||
$lang->action->date = 'Date';
|
||||
|
||||
$lang->action->objectTypes['product'] = 'PRODUCT';
|
||||
$lang->action->objectTypes['story'] = 'STORY';
|
||||
$lang->action->objectTypes['productplan'] = 'PLAN';
|
||||
$lang->action->objectTypes['release'] = 'RELEASE';
|
||||
$lang->action->objectTypes['project'] = 'PROJECT';
|
||||
$lang->action->objectTypes['task'] = 'TASK';
|
||||
$lang->action->objectTypes['build'] = 'Build';
|
||||
$lang->action->objectTypes['bug'] = 'Bug';
|
||||
$lang->action->objectTypes['case'] = 'Case';
|
||||
$lang->action->objectTypes['testtask'] = 'Test Task';
|
||||
$lang->action->objectTypes['user'] = 'User';
|
||||
$lang->action->objectTypes['doc'] = 'DOC';
|
||||
$lang->action->objectTypes['doclib'] = 'DocLib';
|
||||
|
||||
/* 用来描述操作历史记录.*/
|
||||
$lang->action->desc->common = '$date, <strong>$action</strong> by <strong>$actor</strong>';
|
||||
$lang->action->desc->extra = '$date, <strong>$action</strong> as <strong>$extra</strong> by <strong>$actor</strong>';
|
||||
$lang->action->desc->opened = '$date, Opened by <strong>$actor</strong>.';
|
||||
$lang->action->desc->created = '$date, Created by <strong>$actor</strong>.';
|
||||
$lang->action->desc->changed = '$date, Changed by <strong>$actor</strong>.';
|
||||
$lang->action->desc->edited = '$date, Edited by <strong>$actor</strong>.';
|
||||
$lang->action->desc->closed = '$date, Closed by <strong>$actor</strong>.';
|
||||
$lang->action->desc->deleted = '$date, Deleted by <strong>$actor</strong>.';
|
||||
$lang->action->desc->deletedfile = '$date, Deleted file by <strong>$actor</strong>, the file is <strong><i>$extra</i></strong>';
|
||||
$lang->action->desc->erased = '$date, Erased by <strong>$actor</strong>.';
|
||||
$lang->action->desc->undeleted = '$date, Restored by <strong>$actor</strong>.';
|
||||
$lang->action->desc->commented = '$date, Commented by <strong>$actor</strong>.';
|
||||
$lang->action->desc->activated = '$date, Activated by <strong>$actor</strong>.';
|
||||
$lang->action->desc->moved = '$date, Moved by <strong>$actor</strong>, previouse is "$extra"';
|
||||
$lang->action->desc->confirmed = '$date, Confirmed by <strong>$actor</strong>, version is<strong>#$extra</strong>';
|
||||
$lang->action->desc->started = '$date, Started by <strong>$actor</strong>.';
|
||||
$lang->action->desc->canceled = '$date, Canceled by <strong>$actor</strong>.';
|
||||
$lang->action->desc->finished = '$date, Finished by <strong>$actor</strong>.';
|
||||
$lang->action->desc->diff1 = 'Changed <strong><i>%s</i></strong>, old is "%s", new is "%s".<br />';
|
||||
$lang->action->desc->diff2 = 'Changed <strong><i>%s</i></strong>, the diff is:<blockquote>%s</blockquote>';
|
||||
|
||||
/* 用来显示动态信息.*/
|
||||
$lang->action->label->created = 'created';
|
||||
$lang->action->label->opened = 'opened';
|
||||
$lang->action->label->changed = 'changed';
|
||||
$lang->action->label->edited = 'edited';
|
||||
$lang->action->label->closed = 'closed';
|
||||
$lang->action->label->deleted = 'deleted';
|
||||
$lang->action->label->deletedfile = 'deleted file';
|
||||
$lang->action->label->erased = 'deleted';
|
||||
$lang->action->label->undeleted = 'restore';
|
||||
$lang->action->label->commented = 'commented';
|
||||
$lang->action->label->activated = 'activated';
|
||||
$lang->action->label->resolved = 'resolved';
|
||||
$lang->action->label->reviewed = 'reviewed';
|
||||
$lang->action->label->moved = 'moded';
|
||||
$lang->action->label->confirmed = 'confirmed,';
|
||||
$lang->action->label->linked2plan = 'link to plan';
|
||||
$lang->action->label->unlinkedfromplan = 'unlink from plan';
|
||||
$lang->action->label->linked2project = 'link to project';
|
||||
$lang->action->label->unlinkedfromproject = 'unlik from project';
|
||||
$lang->action->label->marked = 'edited';
|
||||
$lang->action->label->started = 'started';
|
||||
$lang->action->label->canceled = 'canceled';
|
||||
$lang->action->label->finished = 'finished';
|
||||
$lang->action->label->login = 'login';
|
||||
$lang->action->label->logout = "logout";
|
||||
|
||||
/* 用来生成相应对象的链接.*/
|
||||
$lang->action->label->product = 'product|product|view|productID=%s';
|
||||
$lang->action->label->productplan = 'plan|productplan|view|productID=%s';
|
||||
$lang->action->label->release = 'release|release|view|productID=%s';
|
||||
$lang->action->label->story = 'story|story|view|storyID=%s';
|
||||
$lang->action->label->project = 'project|project|view|projectID=%s';
|
||||
$lang->action->label->task = 'task|task|view|taskID=%s';
|
||||
$lang->action->label->build = 'build|build|view|buildID=%s';
|
||||
$lang->action->label->bug = 'bug|bug|view|bugID=%s';
|
||||
$lang->action->label->case = 'case|testcase|view|caseID=%s';
|
||||
$lang->action->label->testtask = 'test task|testtask|view|caseID=%s';
|
||||
$lang->action->label->todo = 'todo|todo|view|todoID=%s';
|
||||
$lang->action->label->doclib = 'doc library|doc|browse|libID=%s';
|
||||
$lang->action->label->doc = 'doc|doc|view|docID=%s';
|
||||
$lang->action->label->user = 'user';
|
||||
|
||||
$lang->action->label->space = ' ';
|
||||
<?php
|
||||
/**
|
||||
* The action module English file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package action
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->action->common = 'Logs';
|
||||
$lang->action->trash = 'Trash';
|
||||
$lang->action->undelete = 'Restore';
|
||||
|
||||
$lang->action->objectType = 'Object';
|
||||
$lang->action->objectID = 'ID';
|
||||
$lang->action->objectName = 'Name';
|
||||
$lang->action->actor = 'Actor';
|
||||
$lang->action->date = 'Date';
|
||||
|
||||
$lang->action->objectTypes['product'] = 'PRODUCT';
|
||||
$lang->action->objectTypes['story'] = 'STORY';
|
||||
$lang->action->objectTypes['productplan'] = 'PLAN';
|
||||
$lang->action->objectTypes['release'] = 'RELEASE';
|
||||
$lang->action->objectTypes['project'] = 'PROJECT';
|
||||
$lang->action->objectTypes['task'] = 'TASK';
|
||||
$lang->action->objectTypes['build'] = 'Build';
|
||||
$lang->action->objectTypes['bug'] = 'Bug';
|
||||
$lang->action->objectTypes['case'] = 'Case';
|
||||
$lang->action->objectTypes['testtask'] = 'Test Task';
|
||||
$lang->action->objectTypes['user'] = 'User';
|
||||
$lang->action->objectTypes['doc'] = 'DOC';
|
||||
$lang->action->objectTypes['doclib'] = 'DocLib';
|
||||
|
||||
/* 用来描述操作历史记录.*/
|
||||
$lang->action->desc->common = '$date, <strong>$action</strong> by <strong>$actor</strong>';
|
||||
$lang->action->desc->extra = '$date, <strong>$action</strong> as <strong>$extra</strong> by <strong>$actor</strong>';
|
||||
$lang->action->desc->opened = '$date, Opened by <strong>$actor</strong>.';
|
||||
$lang->action->desc->created = '$date, Created by <strong>$actor</strong>.';
|
||||
$lang->action->desc->changed = '$date, Changed by <strong>$actor</strong>.';
|
||||
$lang->action->desc->edited = '$date, Edited by <strong>$actor</strong>.';
|
||||
$lang->action->desc->closed = '$date, Closed by <strong>$actor</strong>.';
|
||||
$lang->action->desc->deleted = '$date, Deleted by <strong>$actor</strong>.';
|
||||
$lang->action->desc->deletedfile = '$date, Deleted file by <strong>$actor</strong>, the file is <strong><i>$extra</i></strong>';
|
||||
$lang->action->desc->erased = '$date, Erased by <strong>$actor</strong>.';
|
||||
$lang->action->desc->undeleted = '$date, Restored by <strong>$actor</strong>.';
|
||||
$lang->action->desc->commented = '$date, Commented by <strong>$actor</strong>.';
|
||||
$lang->action->desc->activated = '$date, Activated by <strong>$actor</strong>.';
|
||||
$lang->action->desc->moved = '$date, Moved by <strong>$actor</strong>, previouse is "$extra"';
|
||||
$lang->action->desc->confirmed = '$date, Confirmed by <strong>$actor</strong>, version is<strong>#$extra</strong>';
|
||||
$lang->action->desc->started = '$date, Started by <strong>$actor</strong>.';
|
||||
$lang->action->desc->canceled = '$date, Canceled by <strong>$actor</strong>.';
|
||||
$lang->action->desc->finished = '$date, Finished by <strong>$actor</strong>.';
|
||||
$lang->action->desc->diff1 = 'Changed <strong><i>%s</i></strong>, old is "%s", new is "%s".<br />';
|
||||
$lang->action->desc->diff2 = 'Changed <strong><i>%s</i></strong>, the diff is:<blockquote>%s</blockquote>';
|
||||
|
||||
/* 用来显示动态信息.*/
|
||||
$lang->action->label->created = 'created';
|
||||
$lang->action->label->opened = 'opened';
|
||||
$lang->action->label->changed = 'changed';
|
||||
$lang->action->label->edited = 'edited';
|
||||
$lang->action->label->closed = 'closed';
|
||||
$lang->action->label->deleted = 'deleted';
|
||||
$lang->action->label->deletedfile = 'deleted file';
|
||||
$lang->action->label->erased = 'deleted';
|
||||
$lang->action->label->undeleted = 'restore';
|
||||
$lang->action->label->commented = 'commented';
|
||||
$lang->action->label->activated = 'activated';
|
||||
$lang->action->label->resolved = 'resolved';
|
||||
$lang->action->label->reviewed = 'reviewed';
|
||||
$lang->action->label->moved = 'moded';
|
||||
$lang->action->label->confirmed = 'confirmed,';
|
||||
$lang->action->label->linked2plan = 'link to plan';
|
||||
$lang->action->label->unlinkedfromplan = 'unlink from plan';
|
||||
$lang->action->label->linked2project = 'link to project';
|
||||
$lang->action->label->unlinkedfromproject = 'unlik from project';
|
||||
$lang->action->label->marked = 'edited';
|
||||
$lang->action->label->started = 'started';
|
||||
$lang->action->label->canceled = 'canceled';
|
||||
$lang->action->label->finished = 'finished';
|
||||
$lang->action->label->login = 'login';
|
||||
$lang->action->label->logout = "logout";
|
||||
|
||||
/* 用来生成相应对象的链接.*/
|
||||
$lang->action->label->product = 'product|product|view|productID=%s';
|
||||
$lang->action->label->productplan = 'plan|productplan|view|productID=%s';
|
||||
$lang->action->label->release = 'release|release|view|productID=%s';
|
||||
$lang->action->label->story = 'story|story|view|storyID=%s';
|
||||
$lang->action->label->project = 'project|project|view|projectID=%s';
|
||||
$lang->action->label->task = 'task|task|view|taskID=%s';
|
||||
$lang->action->label->build = 'build|build|view|buildID=%s';
|
||||
$lang->action->label->bug = 'bug|bug|view|bugID=%s';
|
||||
$lang->action->label->case = 'case|testcase|view|caseID=%s';
|
||||
$lang->action->label->testtask = 'test task|testtask|view|caseID=%s';
|
||||
$lang->action->label->todo = 'todo|todo|view|todoID=%s';
|
||||
$lang->action->label->doclib = 'doc library|doc|browse|libID=%s';
|
||||
$lang->action->label->doc = 'doc|doc|view|docID=%s';
|
||||
$lang->action->label->user = 'user';
|
||||
|
||||
$lang->action->label->space = ' ';
|
||||
|
||||
@@ -1,113 +1,100 @@
|
||||
<?php
|
||||
/**
|
||||
* The action module Japanese file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package action
|
||||
* @version $Id: en.php 1000 2010-08-03 01:49:25Z yuren_@126.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->action->common = 'ログ';
|
||||
$lang->action->trash = 'ごみ';
|
||||
$lang->action->undelete = '復元';
|
||||
|
||||
$lang->action->objectType = 'オブジェクト';
|
||||
$lang->action->objectID = 'IDは';
|
||||
$lang->action->objectName = '名';
|
||||
$lang->action->actor = '俳優';
|
||||
$lang->action->date = '日付';
|
||||
|
||||
$lang->action->objectTypes['product'] = '製品';
|
||||
$lang->action->objectTypes['story'] = '話';
|
||||
$lang->action->objectTypes['productplan'] = 'プラン';
|
||||
$lang->action->objectTypes['release'] = 'リリース';
|
||||
$lang->action->objectTypes['project'] = 'プロジェクト';
|
||||
$lang->action->objectTypes['task'] = 'TASKを';
|
||||
$lang->action->objectTypes['build'] = 'ビルド';
|
||||
$lang->action->objectTypes['bug'] = 'バグ';
|
||||
$lang->action->objectTypes['case'] = 'ケース';
|
||||
$lang->action->objectTypes['testtask'] = 'テストタスク';
|
||||
$lang->action->objectTypes['user'] = 'ユーザー';
|
||||
$lang->action->objectTypes['doc'] = 'ドキュメント';
|
||||
$lang->action->objectTypes['doclib'] = 'DocLib';
|
||||
|
||||
/* 用来描述操作历史记录.*/
|
||||
$lang->action->desc->common = '$date, <strong>$action</strong> by <strong>$actor</strong>';
|
||||
$lang->action->desc->extra = '$date, <strong>$action</strong> as <strong>$extra</strong> by <strong>$actor</strong>';
|
||||
$lang->action->desc->opened = '$date, Opened by <strong>$actor</strong>.';
|
||||
$lang->action->desc->created = '$date, Created by <strong>$actor</strong>.';
|
||||
$lang->action->desc->changed = '$date, Changed by <strong>$actor</strong>.';
|
||||
$lang->action->desc->edited = '$date, Edited by <strong>$actor</strong>.';
|
||||
$lang->action->desc->closed = '$date, Closed by <strong>$actor</strong>.';
|
||||
$lang->action->desc->deleted = '$date, Deleted by <strong>$actor</strong>.';
|
||||
$lang->action->desc->deletedfile = '$date, Deleted file by <strong>$actor</strong>, the file is <strong><i>$extra</i></strong>';
|
||||
$lang->action->desc->erased = '$date, Erased by <strong>$actor</strong>.';
|
||||
$lang->action->desc->undeleted = '$date, Restored by <strong>$actor</strong>.';
|
||||
$lang->action->desc->commented = '$date, Commented by <strong>$actor</strong>.';
|
||||
$lang->action->desc->activated = '$date, Activated by <strong>$actor</strong>.';
|
||||
$lang->action->desc->moved = '$date, Moved by <strong>$actor</strong>, previouse is "$extra"';
|
||||
$lang->action->desc->confirmed = '$date, Confirmed by <strong>$actor</strong>, version is<strong>#$extra</strong>';
|
||||
$lang->action->desc->started = '$date, Started by <strong>$actor</strong>.';
|
||||
$lang->action->desc->canceled = '$date, Canceled by <strong>$actor</strong>.';
|
||||
$lang->action->desc->finished = '$date, Finished by <strong>$actor</strong>.';
|
||||
$lang->action->desc->diff1 = 'Changed <strong><i>%s</i></strong>, old is "%s", new is "%s".<br />';
|
||||
$lang->action->desc->diff2 = 'Changed <strong><i>%s</i></strong>, the diff is:<blockquote>%s</blockquote>';
|
||||
|
||||
/* 用来显示动态信息.*/
|
||||
$lang->action->label->created = '作成';
|
||||
$lang->action->label->opened = 'オープン';
|
||||
$lang->action->label->changed = '変更';
|
||||
$lang->action->label->edited = '編集';
|
||||
$lang->action->label->closed = '閉じた';
|
||||
$lang->action->label->deleted = '削除された';
|
||||
$lang->action->label->deletedfile = 'ファイルを削除';
|
||||
$lang->action->label->erased = '削除された';
|
||||
$lang->action->label->undeleted = '復元する';
|
||||
$lang->action->label->commented = 'コメント';
|
||||
$lang->action->label->activated = '活性化';
|
||||
$lang->action->label->resolved = '解決';
|
||||
$lang->action->label->reviewed = '見直し';
|
||||
$lang->action->label->moved = '恥ずかしい';
|
||||
$lang->action->label->confirmed = '、確認';
|
||||
$lang->action->label->linked2plan = 'リンクを計画する';
|
||||
$lang->action->label->unlinkedfromplan = 'プランからリンク解除';
|
||||
$lang->action->label->linked2project = 'リンクがプロジェクトに';
|
||||
$lang->action->label->unlinkedfromproject = 'プロジェクトからunlik';
|
||||
$lang->action->label->marked = '編集';
|
||||
$lang->action->label->started = '開始';
|
||||
$lang->action->label->canceled = 'キャンセル';
|
||||
$lang->action->label->finished = '終えた';
|
||||
$lang->action->label->login = 'ログイン';
|
||||
$lang->action->label->logout = "ログアウト";
|
||||
|
||||
/* 用来生成相应对象的链接.*/
|
||||
$lang->action->label->product = 'product|product|view|productID=%s';
|
||||
$lang->action->label->productplan = 'plan|productplan|view|productID=%s';
|
||||
$lang->action->label->release = 'release|release|view|productID=%s';
|
||||
$lang->action->label->story = 'story|story|view|storyID=%s';
|
||||
$lang->action->label->project = 'project|project|view|projectID=%s';
|
||||
$lang->action->label->task = 'task|task|view|taskID=%s';
|
||||
$lang->action->label->build = 'build|build|view|buildID=%s';
|
||||
$lang->action->label->bug = 'bug|bug|view|bugID=%s';
|
||||
$lang->action->label->case = 'case|testcase|view|caseID=%s';
|
||||
$lang->action->label->testtask = 'test task|testtask|view|caseID=%s';
|
||||
$lang->action->label->todo = 'todo|todo|view|todoID=%s';
|
||||
$lang->action->label->doclib = 'doc library|doc|browse|libID=%s';
|
||||
$lang->action->label->doc = 'doc|doc|view|docID=%s';
|
||||
$lang->action->label->user = 'ユーザー';
|
||||
|
||||
$lang->action->label->space ='';
|
||||
<?php
|
||||
/**
|
||||
* The action module Japanese file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package action
|
||||
* @version $Id: en.php 1000 2010-08-03 01:49:25Z yuren_@126.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->action->common = 'ログ';
|
||||
$lang->action->trash = 'ごみ';
|
||||
$lang->action->undelete = '復元';
|
||||
|
||||
$lang->action->objectType = 'オブジェクト';
|
||||
$lang->action->objectID = 'IDは';
|
||||
$lang->action->objectName = '名';
|
||||
$lang->action->actor = '俳優';
|
||||
$lang->action->date = '日付';
|
||||
|
||||
$lang->action->objectTypes['product'] = '製品';
|
||||
$lang->action->objectTypes['story'] = '話';
|
||||
$lang->action->objectTypes['productplan'] = 'プラン';
|
||||
$lang->action->objectTypes['release'] = 'リリース';
|
||||
$lang->action->objectTypes['project'] = 'プロジェクト';
|
||||
$lang->action->objectTypes['task'] = 'TASKを';
|
||||
$lang->action->objectTypes['build'] = 'ビルド';
|
||||
$lang->action->objectTypes['bug'] = 'バグ';
|
||||
$lang->action->objectTypes['case'] = 'ケース';
|
||||
$lang->action->objectTypes['testtask'] = 'テストタスク';
|
||||
$lang->action->objectTypes['user'] = 'ユーザー';
|
||||
$lang->action->objectTypes['doc'] = 'ドキュメント';
|
||||
$lang->action->objectTypes['doclib'] = 'DocLib';
|
||||
|
||||
/* 用来描述操作历史记录.*/
|
||||
$lang->action->desc->common = '$date, <strong>$action</strong> by <strong>$actor</strong>';
|
||||
$lang->action->desc->extra = '$date, <strong>$action</strong> as <strong>$extra</strong> by <strong>$actor</strong>';
|
||||
$lang->action->desc->opened = '$date, Opened by <strong>$actor</strong>.';
|
||||
$lang->action->desc->created = '$date, Created by <strong>$actor</strong>.';
|
||||
$lang->action->desc->changed = '$date, Changed by <strong>$actor</strong>.';
|
||||
$lang->action->desc->edited = '$date, Edited by <strong>$actor</strong>.';
|
||||
$lang->action->desc->closed = '$date, Closed by <strong>$actor</strong>.';
|
||||
$lang->action->desc->deleted = '$date, Deleted by <strong>$actor</strong>.';
|
||||
$lang->action->desc->deletedfile = '$date, Deleted file by <strong>$actor</strong>, the file is <strong><i>$extra</i></strong>';
|
||||
$lang->action->desc->erased = '$date, Erased by <strong>$actor</strong>.';
|
||||
$lang->action->desc->undeleted = '$date, Restored by <strong>$actor</strong>.';
|
||||
$lang->action->desc->commented = '$date, Commented by <strong>$actor</strong>.';
|
||||
$lang->action->desc->activated = '$date, Activated by <strong>$actor</strong>.';
|
||||
$lang->action->desc->moved = '$date, Moved by <strong>$actor</strong>, previouse is "$extra"';
|
||||
$lang->action->desc->confirmed = '$date, Confirmed by <strong>$actor</strong>, version is<strong>#$extra</strong>';
|
||||
$lang->action->desc->started = '$date, Started by <strong>$actor</strong>.';
|
||||
$lang->action->desc->canceled = '$date, Canceled by <strong>$actor</strong>.';
|
||||
$lang->action->desc->finished = '$date, Finished by <strong>$actor</strong>.';
|
||||
$lang->action->desc->diff1 = 'Changed <strong><i>%s</i></strong>, old is "%s", new is "%s".<br />';
|
||||
$lang->action->desc->diff2 = 'Changed <strong><i>%s</i></strong>, the diff is:<blockquote>%s</blockquote>';
|
||||
|
||||
/* 用来显示动态信息.*/
|
||||
$lang->action->label->created = '作成';
|
||||
$lang->action->label->opened = 'オープン';
|
||||
$lang->action->label->changed = '変更';
|
||||
$lang->action->label->edited = '編集';
|
||||
$lang->action->label->closed = '閉じた';
|
||||
$lang->action->label->deleted = '削除された';
|
||||
$lang->action->label->deletedfile = 'ファイルを削除';
|
||||
$lang->action->label->erased = '削除された';
|
||||
$lang->action->label->undeleted = '復元する';
|
||||
$lang->action->label->commented = 'コメント';
|
||||
$lang->action->label->activated = '活性化';
|
||||
$lang->action->label->resolved = '解決';
|
||||
$lang->action->label->reviewed = '見直し';
|
||||
$lang->action->label->moved = '恥ずかしい';
|
||||
$lang->action->label->confirmed = '、確認';
|
||||
$lang->action->label->linked2plan = 'リンクを計画する';
|
||||
$lang->action->label->unlinkedfromplan = 'プランからリンク解除';
|
||||
$lang->action->label->linked2project = 'リンクがプロジェクトに';
|
||||
$lang->action->label->unlinkedfromproject = 'プロジェクトからunlik';
|
||||
$lang->action->label->marked = '編集';
|
||||
$lang->action->label->started = '開始';
|
||||
$lang->action->label->canceled = 'キャンセル';
|
||||
$lang->action->label->finished = '終えた';
|
||||
$lang->action->label->login = 'ログイン';
|
||||
$lang->action->label->logout = "ログアウト";
|
||||
|
||||
/* 用来生成相应对象的链接.*/
|
||||
$lang->action->label->product = 'product|product|view|productID=%s';
|
||||
$lang->action->label->productplan = 'plan|productplan|view|productID=%s';
|
||||
$lang->action->label->release = 'release|release|view|productID=%s';
|
||||
$lang->action->label->story = 'story|story|view|storyID=%s';
|
||||
$lang->action->label->project = 'project|project|view|projectID=%s';
|
||||
$lang->action->label->task = 'task|task|view|taskID=%s';
|
||||
$lang->action->label->build = 'build|build|view|buildID=%s';
|
||||
$lang->action->label->bug = 'bug|bug|view|bugID=%s';
|
||||
$lang->action->label->case = 'case|testcase|view|caseID=%s';
|
||||
$lang->action->label->testtask = 'test task|testtask|view|caseID=%s';
|
||||
$lang->action->label->todo = 'todo|todo|view|todoID=%s';
|
||||
$lang->action->label->doclib = 'doc library|doc|browse|libID=%s';
|
||||
$lang->action->label->doc = 'doc|doc|view|docID=%s';
|
||||
$lang->action->label->user = 'ユーザー';
|
||||
|
||||
$lang->action->label->space ='';
|
||||
|
||||
@@ -1,113 +1,100 @@
|
||||
<?php
|
||||
/**
|
||||
* The action module Korean file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package action
|
||||
* @version $Id: en.php 1000 2010-08-03 01:49:25Z yuren_@126.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->action->common = '로그';
|
||||
$lang->action->trash = '휴지통';
|
||||
$lang->action->undelete = '복원';
|
||||
|
||||
$lang->action->objectType = '대상';
|
||||
$lang->action->objectID = '신분증';
|
||||
$lang->action->objectName = '이름';
|
||||
$lang->action->actor = '배우';
|
||||
$lang->action->date = '날짜';
|
||||
|
||||
$lang->action->objectTypes['product'] = '제품';
|
||||
$lang->action->objectTypes['story'] = '이야기';
|
||||
$lang->action->objectTypes['productplan'] = '플랑';
|
||||
$lang->action->objectTypes['release'] = '공개 동의서';
|
||||
$lang->action->objectTypes['project'] = '프로젝트';
|
||||
$lang->action->objectTypes['task'] = '작업 내용';
|
||||
$lang->action->objectTypes['build'] = '빌드';
|
||||
$lang->action->objectTypes['bug'] = '곤충';
|
||||
$lang->action->objectTypes['case'] = '케이스';
|
||||
$lang->action->objectTypes['testtask'] = '테스트 작업';
|
||||
$lang->action->objectTypes['user'] = '사용자';
|
||||
$lang->action->objectTypes['doc'] = '덕';
|
||||
$lang->action->objectTypes['doclib'] = 'DocLib';
|
||||
|
||||
/* 用来描述操作历史记录.*/
|
||||
$lang->action->desc->common = '$date, <strong>$action</strong> by <strong>$actor</strong>';
|
||||
$lang->action->desc->extra = '$date, <strong>$action</strong> as <strong>$extra</strong> by <strong>$actor</strong>';
|
||||
$lang->action->desc->opened = '$date, Opened by <strong>$actor</strong>.';
|
||||
$lang->action->desc->created = '$date, Created by <strong>$actor</strong>.';
|
||||
$lang->action->desc->changed = '$date, Changed by <strong>$actor</strong>.';
|
||||
$lang->action->desc->edited = '$date, Edited by <strong>$actor</strong>.';
|
||||
$lang->action->desc->closed = '$date, Closed by <strong>$actor</strong>.';
|
||||
$lang->action->desc->deleted = '$date, Deleted by <strong>$actor</strong>.';
|
||||
$lang->action->desc->deletedfile = '$date, Deleted file by <strong>$actor</strong>, the file is <strong><i>$extra</i></strong>';
|
||||
$lang->action->desc->erased = '$date, Erased by <strong>$actor</strong>.';
|
||||
$lang->action->desc->undeleted = '$date, Restored by <strong>$actor</strong>.';
|
||||
$lang->action->desc->commented = '$date, Commented by <strong>$actor</strong>.';
|
||||
$lang->action->desc->activated = '$date, Activated by <strong>$actor</strong>.';
|
||||
$lang->action->desc->moved = '$date, Moved by <strong>$actor</strong>, previouse is "$extra"';
|
||||
$lang->action->desc->confirmed = '$date, Confirmed by <strong>$actor</strong>, version is<strong>#$extra</strong>';
|
||||
$lang->action->desc->started = '$date, Started by <strong>$actor</strong>.';
|
||||
$lang->action->desc->canceled = '$date, Canceled by <strong>$actor</strong>.';
|
||||
$lang->action->desc->finished = '$date, Finished by <strong>$actor</strong>.';
|
||||
$lang->action->desc->diff1 = 'Changed <strong><i>%s</i></strong>, old is "%s", new is "%s".<br />';
|
||||
$lang->action->desc->diff2 = 'Changed <strong><i>%s</i></strong>, the diff is:<blockquote>%s</blockquote>';
|
||||
|
||||
/* 用来显示动态信息.*/
|
||||
$lang->action->label->created = '생성';
|
||||
$lang->action->label->opened = '오픈';
|
||||
$lang->action->label->changed = '변경됨';
|
||||
$lang->action->label->edited = '편집';
|
||||
$lang->action->label->closed = '폐쇄';
|
||||
$lang->action->label->deleted = '삭제';
|
||||
$lang->action->label->deletedfile = '파일을 삭제';
|
||||
$lang->action->label->erased = '삭제';
|
||||
$lang->action->label->undeleted = '복원';
|
||||
$lang->action->label->commented = '논평';
|
||||
$lang->action->label->activated = '활성화';
|
||||
$lang->action->label->resolved = '해결';
|
||||
$lang->action->label->reviewed = '검토';
|
||||
$lang->action->label->moved = 'moded';
|
||||
$lang->action->label->confirmed = ', 확인';
|
||||
$lang->action->label->linked2plan = '링크 계획';
|
||||
$lang->action->label->unlinkedfromplan = '계획에서 연결을 해제';
|
||||
$lang->action->label->linked2project = '링크는 프로젝트에';
|
||||
$lang->action->label->unlinkedfromproject = '프로젝트에서 unlik';
|
||||
$lang->action->label->marked = '편집';
|
||||
$lang->action->label->started = '시작';
|
||||
$lang->action->label->canceled = '취소';
|
||||
$lang->action->label->finished = '완료';
|
||||
$lang->action->label->login = '로그인';
|
||||
$lang->action->label->logout = "로그아웃";
|
||||
|
||||
/* 用来生成相应对象的链接.*/
|
||||
$lang->action->label->product = 'product|product|view|productID=%s';
|
||||
$lang->action->label->productplan = 'plan|productplan|view|productID=%s';
|
||||
$lang->action->label->release = 'release|release|view|productID=%s';
|
||||
$lang->action->label->story = 'story|story|view|storyID=%s';
|
||||
$lang->action->label->project = 'project|project|view|projectID=%s';
|
||||
$lang->action->label->task = 'task|task|view|taskID=%s';
|
||||
$lang->action->label->build = 'build|build|view|buildID=%s';
|
||||
$lang->action->label->bug = 'bug|bug|view|bugID=%s';
|
||||
$lang->action->label->case = 'case|testcase|view|caseID=%s';
|
||||
$lang->action->label->testtask = 'test task|testtask|view|caseID=%s';
|
||||
$lang->action->label->todo = 'todo|todo|view|todoID=%s';
|
||||
$lang->action->label->doclib = 'doc library|doc|browse|libID=%s';
|
||||
$lang->action->label->doc = 'doc|doc|view|docID=%s';
|
||||
$lang->action->label->user = '사용자';
|
||||
|
||||
$lang->action->label->space = ' ';
|
||||
<?php
|
||||
/**
|
||||
* The action module Korean file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package action
|
||||
* @version $Id: en.php 1000 2010-08-03 01:49:25Z yuren_@126.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->action->common = '로그';
|
||||
$lang->action->trash = '휴지통';
|
||||
$lang->action->undelete = '복원';
|
||||
|
||||
$lang->action->objectType = '대상';
|
||||
$lang->action->objectID = '신분증';
|
||||
$lang->action->objectName = '이름';
|
||||
$lang->action->actor = '배우';
|
||||
$lang->action->date = '날짜';
|
||||
|
||||
$lang->action->objectTypes['product'] = '제품';
|
||||
$lang->action->objectTypes['story'] = '이야기';
|
||||
$lang->action->objectTypes['productplan'] = '플랑';
|
||||
$lang->action->objectTypes['release'] = '공개 동의서';
|
||||
$lang->action->objectTypes['project'] = '프로젝트';
|
||||
$lang->action->objectTypes['task'] = '작업 내용';
|
||||
$lang->action->objectTypes['build'] = '빌드';
|
||||
$lang->action->objectTypes['bug'] = '곤충';
|
||||
$lang->action->objectTypes['case'] = '케이스';
|
||||
$lang->action->objectTypes['testtask'] = '테스트 작업';
|
||||
$lang->action->objectTypes['user'] = '사용자';
|
||||
$lang->action->objectTypes['doc'] = '덕';
|
||||
$lang->action->objectTypes['doclib'] = 'DocLib';
|
||||
|
||||
/* 用来描述操作历史记录.*/
|
||||
$lang->action->desc->common = '$date, <strong>$action</strong> by <strong>$actor</strong>';
|
||||
$lang->action->desc->extra = '$date, <strong>$action</strong> as <strong>$extra</strong> by <strong>$actor</strong>';
|
||||
$lang->action->desc->opened = '$date, Opened by <strong>$actor</strong>.';
|
||||
$lang->action->desc->created = '$date, Created by <strong>$actor</strong>.';
|
||||
$lang->action->desc->changed = '$date, Changed by <strong>$actor</strong>.';
|
||||
$lang->action->desc->edited = '$date, Edited by <strong>$actor</strong>.';
|
||||
$lang->action->desc->closed = '$date, Closed by <strong>$actor</strong>.';
|
||||
$lang->action->desc->deleted = '$date, Deleted by <strong>$actor</strong>.';
|
||||
$lang->action->desc->deletedfile = '$date, Deleted file by <strong>$actor</strong>, the file is <strong><i>$extra</i></strong>';
|
||||
$lang->action->desc->erased = '$date, Erased by <strong>$actor</strong>.';
|
||||
$lang->action->desc->undeleted = '$date, Restored by <strong>$actor</strong>.';
|
||||
$lang->action->desc->commented = '$date, Commented by <strong>$actor</strong>.';
|
||||
$lang->action->desc->activated = '$date, Activated by <strong>$actor</strong>.';
|
||||
$lang->action->desc->moved = '$date, Moved by <strong>$actor</strong>, previouse is "$extra"';
|
||||
$lang->action->desc->confirmed = '$date, Confirmed by <strong>$actor</strong>, version is<strong>#$extra</strong>';
|
||||
$lang->action->desc->started = '$date, Started by <strong>$actor</strong>.';
|
||||
$lang->action->desc->canceled = '$date, Canceled by <strong>$actor</strong>.';
|
||||
$lang->action->desc->finished = '$date, Finished by <strong>$actor</strong>.';
|
||||
$lang->action->desc->diff1 = 'Changed <strong><i>%s</i></strong>, old is "%s", new is "%s".<br />';
|
||||
$lang->action->desc->diff2 = 'Changed <strong><i>%s</i></strong>, the diff is:<blockquote>%s</blockquote>';
|
||||
|
||||
/* 用来显示动态信息.*/
|
||||
$lang->action->label->created = '생성';
|
||||
$lang->action->label->opened = '오픈';
|
||||
$lang->action->label->changed = '변경됨';
|
||||
$lang->action->label->edited = '편집';
|
||||
$lang->action->label->closed = '폐쇄';
|
||||
$lang->action->label->deleted = '삭제';
|
||||
$lang->action->label->deletedfile = '파일을 삭제';
|
||||
$lang->action->label->erased = '삭제';
|
||||
$lang->action->label->undeleted = '복원';
|
||||
$lang->action->label->commented = '논평';
|
||||
$lang->action->label->activated = '활성화';
|
||||
$lang->action->label->resolved = '해결';
|
||||
$lang->action->label->reviewed = '검토';
|
||||
$lang->action->label->moved = 'moded';
|
||||
$lang->action->label->confirmed = ', 확인';
|
||||
$lang->action->label->linked2plan = '링크 계획';
|
||||
$lang->action->label->unlinkedfromplan = '계획에서 연결을 해제';
|
||||
$lang->action->label->linked2project = '링크는 프로젝트에';
|
||||
$lang->action->label->unlinkedfromproject = '프로젝트에서 unlik';
|
||||
$lang->action->label->marked = '편집';
|
||||
$lang->action->label->started = '시작';
|
||||
$lang->action->label->canceled = '취소';
|
||||
$lang->action->label->finished = '완료';
|
||||
$lang->action->label->login = '로그인';
|
||||
$lang->action->label->logout = "로그아웃";
|
||||
|
||||
/* 用来生成相应对象的链接.*/
|
||||
$lang->action->label->product = 'product|product|view|productID=%s';
|
||||
$lang->action->label->productplan = 'plan|productplan|view|productID=%s';
|
||||
$lang->action->label->release = 'release|release|view|productID=%s';
|
||||
$lang->action->label->story = 'story|story|view|storyID=%s';
|
||||
$lang->action->label->project = 'project|project|view|projectID=%s';
|
||||
$lang->action->label->task = 'task|task|view|taskID=%s';
|
||||
$lang->action->label->build = 'build|build|view|buildID=%s';
|
||||
$lang->action->label->bug = 'bug|bug|view|bugID=%s';
|
||||
$lang->action->label->case = 'case|testcase|view|caseID=%s';
|
||||
$lang->action->label->testtask = 'test task|testtask|view|caseID=%s';
|
||||
$lang->action->label->todo = 'todo|todo|view|todoID=%s';
|
||||
$lang->action->label->doclib = 'doc library|doc|browse|libID=%s';
|
||||
$lang->action->label->doc = 'doc|doc|view|docID=%s';
|
||||
$lang->action->label->user = '사용자';
|
||||
|
||||
$lang->action->label->space = ' ';
|
||||
|
||||
@@ -1,113 +1,100 @@
|
||||
<?php
|
||||
/**
|
||||
* The action module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package action
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->action->common = '系统日志';
|
||||
$lang->action->trash = '回收站';
|
||||
$lang->action->undelete = '还原';
|
||||
|
||||
$lang->action->objectType = '对象类型';
|
||||
$lang->action->objectID = '对象ID';
|
||||
$lang->action->objectName = '对象名称';
|
||||
$lang->action->actor = '操作者';
|
||||
$lang->action->date = '日期';
|
||||
|
||||
$lang->action->objectTypes['product'] = '产品';
|
||||
$lang->action->objectTypes['story'] = '需求';
|
||||
$lang->action->objectTypes['productplan'] = '产品计划';
|
||||
$lang->action->objectTypes['release'] = '发布';
|
||||
$lang->action->objectTypes['project'] = '项目';
|
||||
$lang->action->objectTypes['task'] = '任务';
|
||||
$lang->action->objectTypes['build'] = 'Build';
|
||||
$lang->action->objectTypes['bug'] = 'Bug';
|
||||
$lang->action->objectTypes['case'] = '用例';
|
||||
$lang->action->objectTypes['testtask'] = '测试任务';
|
||||
$lang->action->objectTypes['user'] = '用户';
|
||||
$lang->action->objectTypes['doc'] = '文档';
|
||||
$lang->action->objectTypes['doclib'] = '文档库';
|
||||
|
||||
/* 用来描述操作历史记录。*/
|
||||
$lang->action->desc->common = '$date, <strong>$action</strong> by <strong>$actor</strong>' . "\n";
|
||||
$lang->action->desc->extra = '$date, <strong>$action</strong> as <strong>$extra</strong> by <strong>$actor</strong>' . "\n";
|
||||
$lang->action->desc->opened = '$date, 由 <strong>$actor</strong> 创建。' . "\n";
|
||||
$lang->action->desc->created = '$date, 由 <strong>$actor</strong> 创建。' . "\n";
|
||||
$lang->action->desc->changed = '$date, 由 <strong>$actor</strong> 变更。' . "\n";
|
||||
$lang->action->desc->edited = '$date, 由 <strong>$actor</strong> 编辑。' . "\n";
|
||||
$lang->action->desc->closed = '$date, 由 <strong>$actor</strong> 关闭。' . "\n";
|
||||
$lang->action->desc->deleted = '$date, 由 <strong>$actor</strong> 删除。' . "\n";
|
||||
$lang->action->desc->deletedfile = '$date, 由 <strong>$actor</strong> 删除了附件:<strong><i>$extra</i></strong>' . "\n";
|
||||
$lang->action->desc->erased = '$date, 由 <strong>$actor</strong> 删除。' . "\n";
|
||||
$lang->action->desc->undeleted = '$date, 由 <strong>$actor</strong> 还原。' . "\n";
|
||||
$lang->action->desc->commented = '$date, 由 <strong>$actor</strong> 发表评论。' . "\n";
|
||||
$lang->action->desc->activated = '$date, 由 <strong>$actor</strong> 激活。' . "\n";
|
||||
$lang->action->desc->moved = '$date, 由 <strong>$actor</strong> 移动,之前为 "$extra"' . "\n";
|
||||
$lang->action->desc->confirmed = '$date, 由 <strong>$actor</strong> 确认需求变动,最新版本为<strong>#$extra</strong>' . "\n";
|
||||
$lang->action->desc->started = '$date, 由 <strong>$actor</strong> 启动。' . "\n";
|
||||
$lang->action->desc->canceled = '$date, 由 <strong>$actor</strong> 取消。' . "\n";
|
||||
$lang->action->desc->finished = '$date, 由 <strong>$actor</strong> 完成。' . "\n";
|
||||
$lang->action->desc->diff1 = '修改了 <strong><i>%s</i></strong>,旧值为 "%s",新值为 "%s"。<br />' . "\n";
|
||||
$lang->action->desc->diff2 = '修改了 <strong><i>%s</i></strong>,区别为:' . "\n" . '<blockquote>%s</blockquote>' . "\n";
|
||||
|
||||
/* 用来显示动态信息。*/
|
||||
$lang->action->label->created = '创建了';
|
||||
$lang->action->label->opened = '创建了';
|
||||
$lang->action->label->changed = '变更了';
|
||||
$lang->action->label->edited = '编辑了';
|
||||
$lang->action->label->closed = '关闭了';
|
||||
$lang->action->label->deleted = '删除了';
|
||||
$lang->action->label->deletedfile = '删除附件';
|
||||
$lang->action->label->erased = '删除了';
|
||||
$lang->action->label->undeleted = '还原了';
|
||||
$lang->action->label->commented = '评论了';
|
||||
$lang->action->label->activated = '激活了';
|
||||
$lang->action->label->resolved = '解决了';
|
||||
$lang->action->label->reviewed = '评审了';
|
||||
$lang->action->label->moved = '移动了';
|
||||
$lang->action->label->confirmed = '确认了需求,';
|
||||
$lang->action->label->linked2plan = '关联计划';
|
||||
$lang->action->label->unlinkedfromplan = '移除计划';
|
||||
$lang->action->label->linked2project = '关联项目';
|
||||
$lang->action->label->unlinkedfromproject = '移除项目';
|
||||
$lang->action->label->marked = '编辑了';
|
||||
$lang->action->label->started = '开始了';
|
||||
$lang->action->label->canceled = '取消了';
|
||||
$lang->action->label->finished = '完成了';
|
||||
$lang->action->label->login = '登录系统';
|
||||
$lang->action->label->logout = "退出登录";
|
||||
|
||||
/* 用来生成相应对象的链接。*/
|
||||
$lang->action->label->product = '产品|product|view|productID=%s';
|
||||
$lang->action->label->productplan = '计划|productplan|view|productID=%s';
|
||||
$lang->action->label->release = '发布|release|view|productID=%s';
|
||||
$lang->action->label->story = '需求|story|view|storyID=%s';
|
||||
$lang->action->label->project = '项目|project|view|projectID=%s';
|
||||
$lang->action->label->task = '任务|task|view|taskID=%s';
|
||||
$lang->action->label->build = 'Build|build|view|buildID=%s';
|
||||
$lang->action->label->bug = 'Bug|bug|view|bugID=%s';
|
||||
$lang->action->label->case = '用例|testcase|view|caseID=%s';
|
||||
$lang->action->label->testtask = '测试任务|testtask|view|caseID=%s';
|
||||
$lang->action->label->todo = 'todo|todo|view|todoID=%s';
|
||||
$lang->action->label->doclib = '文档库|doc|browse|libID=%s';
|
||||
$lang->action->label->doc = '文档|doc|view|docID=%s';
|
||||
$lang->action->label->user = '用户';
|
||||
|
||||
$lang->action->label->space = ' ';
|
||||
<?php
|
||||
/**
|
||||
* The action module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package action
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->action->common = '系统日志';
|
||||
$lang->action->trash = '回收站';
|
||||
$lang->action->undelete = '还原';
|
||||
|
||||
$lang->action->objectType = '对象类型';
|
||||
$lang->action->objectID = '对象ID';
|
||||
$lang->action->objectName = '对象名称';
|
||||
$lang->action->actor = '操作者';
|
||||
$lang->action->date = '日期';
|
||||
|
||||
$lang->action->objectTypes['product'] = '产品';
|
||||
$lang->action->objectTypes['story'] = '需求';
|
||||
$lang->action->objectTypes['productplan'] = '产品计划';
|
||||
$lang->action->objectTypes['release'] = '发布';
|
||||
$lang->action->objectTypes['project'] = '项目';
|
||||
$lang->action->objectTypes['task'] = '任务';
|
||||
$lang->action->objectTypes['build'] = 'Build';
|
||||
$lang->action->objectTypes['bug'] = 'Bug';
|
||||
$lang->action->objectTypes['case'] = '用例';
|
||||
$lang->action->objectTypes['testtask'] = '测试任务';
|
||||
$lang->action->objectTypes['user'] = '用户';
|
||||
$lang->action->objectTypes['doc'] = '文档';
|
||||
$lang->action->objectTypes['doclib'] = '文档库';
|
||||
|
||||
/* 用来描述操作历史记录。*/
|
||||
$lang->action->desc->common = '$date, <strong>$action</strong> by <strong>$actor</strong>' . "\n";
|
||||
$lang->action->desc->extra = '$date, <strong>$action</strong> as <strong>$extra</strong> by <strong>$actor</strong>' . "\n";
|
||||
$lang->action->desc->opened = '$date, 由 <strong>$actor</strong> 创建。' . "\n";
|
||||
$lang->action->desc->created = '$date, 由 <strong>$actor</strong> 创建。' . "\n";
|
||||
$lang->action->desc->changed = '$date, 由 <strong>$actor</strong> 变更。' . "\n";
|
||||
$lang->action->desc->edited = '$date, 由 <strong>$actor</strong> 编辑。' . "\n";
|
||||
$lang->action->desc->closed = '$date, 由 <strong>$actor</strong> 关闭。' . "\n";
|
||||
$lang->action->desc->deleted = '$date, 由 <strong>$actor</strong> 删除。' . "\n";
|
||||
$lang->action->desc->deletedfile = '$date, 由 <strong>$actor</strong> 删除了附件:<strong><i>$extra</i></strong>' . "\n";
|
||||
$lang->action->desc->erased = '$date, 由 <strong>$actor</strong> 删除。' . "\n";
|
||||
$lang->action->desc->undeleted = '$date, 由 <strong>$actor</strong> 还原。' . "\n";
|
||||
$lang->action->desc->commented = '$date, 由 <strong>$actor</strong> 发表评论。' . "\n";
|
||||
$lang->action->desc->activated = '$date, 由 <strong>$actor</strong> 激活。' . "\n";
|
||||
$lang->action->desc->moved = '$date, 由 <strong>$actor</strong> 移动,之前为 "$extra"' . "\n";
|
||||
$lang->action->desc->confirmed = '$date, 由 <strong>$actor</strong> 确认需求变动,最新版本为<strong>#$extra</strong>' . "\n";
|
||||
$lang->action->desc->started = '$date, 由 <strong>$actor</strong> 启动。' . "\n";
|
||||
$lang->action->desc->canceled = '$date, 由 <strong>$actor</strong> 取消。' . "\n";
|
||||
$lang->action->desc->finished = '$date, 由 <strong>$actor</strong> 完成。' . "\n";
|
||||
$lang->action->desc->diff1 = '修改了 <strong><i>%s</i></strong>,旧值为 "%s",新值为 "%s"。<br />' . "\n";
|
||||
$lang->action->desc->diff2 = '修改了 <strong><i>%s</i></strong>,区别为:' . "\n" . '<blockquote>%s</blockquote>' . "\n";
|
||||
|
||||
/* 用来显示动态信息。*/
|
||||
$lang->action->label->created = '创建了';
|
||||
$lang->action->label->opened = '创建了';
|
||||
$lang->action->label->changed = '变更了';
|
||||
$lang->action->label->edited = '编辑了';
|
||||
$lang->action->label->closed = '关闭了';
|
||||
$lang->action->label->deleted = '删除了';
|
||||
$lang->action->label->deletedfile = '删除附件';
|
||||
$lang->action->label->erased = '删除了';
|
||||
$lang->action->label->undeleted = '还原了';
|
||||
$lang->action->label->commented = '评论了';
|
||||
$lang->action->label->activated = '激活了';
|
||||
$lang->action->label->resolved = '解决了';
|
||||
$lang->action->label->reviewed = '评审了';
|
||||
$lang->action->label->moved = '移动了';
|
||||
$lang->action->label->confirmed = '确认了需求,';
|
||||
$lang->action->label->linked2plan = '关联计划';
|
||||
$lang->action->label->unlinkedfromplan = '移除计划';
|
||||
$lang->action->label->linked2project = '关联项目';
|
||||
$lang->action->label->unlinkedfromproject = '移除项目';
|
||||
$lang->action->label->marked = '编辑了';
|
||||
$lang->action->label->started = '开始了';
|
||||
$lang->action->label->canceled = '取消了';
|
||||
$lang->action->label->finished = '完成了';
|
||||
$lang->action->label->login = '登录系统';
|
||||
$lang->action->label->logout = "退出登录";
|
||||
|
||||
/* 用来生成相应对象的链接。*/
|
||||
$lang->action->label->product = '产品|product|view|productID=%s';
|
||||
$lang->action->label->productplan = '计划|productplan|view|productID=%s';
|
||||
$lang->action->label->release = '发布|release|view|productID=%s';
|
||||
$lang->action->label->story = '需求|story|view|storyID=%s';
|
||||
$lang->action->label->project = '项目|project|view|projectID=%s';
|
||||
$lang->action->label->task = '任务|task|view|taskID=%s';
|
||||
$lang->action->label->build = 'Build|build|view|buildID=%s';
|
||||
$lang->action->label->bug = 'Bug|bug|view|bugID=%s';
|
||||
$lang->action->label->case = '用例|testcase|view|caseID=%s';
|
||||
$lang->action->label->testtask = '测试任务|testtask|view|caseID=%s';
|
||||
$lang->action->label->todo = 'todo|todo|view|todoID=%s';
|
||||
$lang->action->label->doclib = '文档库|doc|browse|libID=%s';
|
||||
$lang->action->label->doc = '文档|doc|view|docID=%s';
|
||||
$lang->action->label->user = '用户';
|
||||
|
||||
$lang->action->label->space = ' ';
|
||||
|
||||
@@ -1,113 +1,100 @@
|
||||
<?php
|
||||
/**
|
||||
* The action module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package action
|
||||
* @version $Id: zh-tw.php 1111 2010-09-14 03:16:08Z yuren_@126.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->action->common = '系統日誌';
|
||||
$lang->action->trash = '資源回收筒';
|
||||
$lang->action->undelete = '還原';
|
||||
|
||||
$lang->action->objectType = '對象類型';
|
||||
$lang->action->objectID = '對象ID';
|
||||
$lang->action->objectName = '對象名稱';
|
||||
$lang->action->actor = '操作者';
|
||||
$lang->action->date = '日期';
|
||||
|
||||
$lang->action->objectTypes['product'] = '產品';
|
||||
$lang->action->objectTypes['story'] = '需求';
|
||||
$lang->action->objectTypes['productplan'] = '產品計劃';
|
||||
$lang->action->objectTypes['release'] = '發佈';
|
||||
$lang->action->objectTypes['project'] = '項目';
|
||||
$lang->action->objectTypes['task'] = '任務';
|
||||
$lang->action->objectTypes['build'] = 'Build';
|
||||
$lang->action->objectTypes['bug'] = 'Bug';
|
||||
$lang->action->objectTypes['case'] = '用例';
|
||||
$lang->action->objectTypes['testtask'] = '測試任務';
|
||||
$lang->action->objectTypes['user'] = '用戶';
|
||||
$lang->action->objectTypes['doc'] = '文檔';
|
||||
$lang->action->objectTypes['doclib'] = '文檔庫';
|
||||
|
||||
/* 用來描述操作歷史記錄。*/
|
||||
$lang->action->desc->common = '$date, <strong>$action</strong> by <strong>$actor</strong>';
|
||||
$lang->action->desc->extra = '$date, <strong>$action</strong> as <strong>$extra</strong> by <strong>$actor</strong>';
|
||||
$lang->action->desc->opened = '$date, 由 <strong>$actor</strong> 創建。';
|
||||
$lang->action->desc->created = '$date, 由 <strong>$actor</strong> 創建。';
|
||||
$lang->action->desc->changed = '$date, 由 <strong>$actor</strong> 變更。';
|
||||
$lang->action->desc->edited = '$date, 由 <strong>$actor</strong> 編輯。';
|
||||
$lang->action->desc->closed = '$date, 由 <strong>$actor</strong> 關閉。';
|
||||
$lang->action->desc->deleted = '$date, 由 <strong>$actor</strong> 刪除。';
|
||||
$lang->action->desc->deletedfile = '$date, 由 <strong>$actor</strong> 刪除了附件:<strong><i>$extra</i></strong>';
|
||||
$lang->action->desc->erased = '$date, 由 <strong>$actor</strong> 刪除。';
|
||||
$lang->action->desc->undeleted = '$date, 由 <strong>$actor</strong> 還原。';
|
||||
$lang->action->desc->commented = '$date, 由 <strong>$actor</strong> 發表評論。';
|
||||
$lang->action->desc->activated = '$date, 由 <strong>$actor</strong> 激活。';
|
||||
$lang->action->desc->moved = '$date, 由 <strong>$actor</strong> 移動,之前為 "$extra"';
|
||||
$lang->action->desc->confirmed = '$date, 由 <strong>$actor</strong> 確認需求變動,最新版本為<strong>#$extra</strong>';
|
||||
$lang->action->desc->started = '$date, 由 <strong>$actor</strong> 啟動。';
|
||||
$lang->action->desc->canceled = '$date, 由 <strong>$actor</strong> 取消。';
|
||||
$lang->action->desc->finished = '$date, 由 <strong>$actor</strong> 完成。';
|
||||
$lang->action->desc->diff1 = '修改了 <strong><i>%s</i></strong>,舊值為 "%s",新值為 "%s"。<br />';
|
||||
$lang->action->desc->diff2 = '修改了 <strong><i>%s</i></strong>,區別為:<blockquote>%s</blockquote>';
|
||||
|
||||
/* 用來顯示動態信息。*/
|
||||
$lang->action->label->created = '創建了';
|
||||
$lang->action->label->opened = '創建了';
|
||||
$lang->action->label->changed = '變更了';
|
||||
$lang->action->label->edited = '編輯了';
|
||||
$lang->action->label->closed = '關閉了';
|
||||
$lang->action->label->deleted = '刪除了';
|
||||
$lang->action->label->deletedfile = '刪除附件';
|
||||
$lang->action->label->erased = '刪除了';
|
||||
$lang->action->label->undeleted = '還原了';
|
||||
$lang->action->label->commented = '評論了';
|
||||
$lang->action->label->activated = '激活了';
|
||||
$lang->action->label->resolved = '解決了';
|
||||
$lang->action->label->reviewed = '評審了';
|
||||
$lang->action->label->moved = '移動了';
|
||||
$lang->action->label->confirmed = '確認了需求,';
|
||||
$lang->action->label->linked2plan = '關聯計劃';
|
||||
$lang->action->label->unlinkedfromplan = '移除計劃';
|
||||
$lang->action->label->linked2project = '關聯項目';
|
||||
$lang->action->label->unlinkedfromproject = '移除項目';
|
||||
$lang->action->label->marked = '編輯了';
|
||||
$lang->action->label->started = '開始了';
|
||||
$lang->action->label->canceled = '取消了';
|
||||
$lang->action->label->finished = '完成了';
|
||||
$lang->action->label->login = '登錄系統';
|
||||
$lang->action->label->logout = "退出登錄";
|
||||
|
||||
/* 用來生成相應對象的連結。*/
|
||||
$lang->action->label->product = '產品|product|view|productID=%s';
|
||||
$lang->action->label->productplan = '計劃|productplan|view|productID=%s';
|
||||
$lang->action->label->release = '發佈|release|view|productID=%s';
|
||||
$lang->action->label->story = '需求|story|view|storyID=%s';
|
||||
$lang->action->label->project = '項目|project|view|projectID=%s';
|
||||
$lang->action->label->task = '任務|task|view|taskID=%s';
|
||||
$lang->action->label->build = 'Build|build|view|buildID=%s';
|
||||
$lang->action->label->bug = 'Bug|bug|view|bugID=%s';
|
||||
$lang->action->label->case = '用例|testcase|view|caseID=%s';
|
||||
$lang->action->label->testtask = '測試任務|testtask|view|caseID=%s';
|
||||
$lang->action->label->todo = 'todo|todo|view|todoID=%s';
|
||||
$lang->action->label->doclib = '文檔庫|doc|browse|libID=%s';
|
||||
$lang->action->label->doc = '文檔|doc|view|docID=%s';
|
||||
$lang->action->label->user = '用戶';
|
||||
|
||||
$lang->action->label->space = ' ';
|
||||
<?php
|
||||
/**
|
||||
* The action module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package action
|
||||
* @version $Id: zh-tw.php 1111 2010-09-14 03:16:08Z yuren_@126.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->action->common = '系統日誌';
|
||||
$lang->action->trash = '資源回收筒';
|
||||
$lang->action->undelete = '還原';
|
||||
|
||||
$lang->action->objectType = '對象類型';
|
||||
$lang->action->objectID = '對象ID';
|
||||
$lang->action->objectName = '對象名稱';
|
||||
$lang->action->actor = '操作者';
|
||||
$lang->action->date = '日期';
|
||||
|
||||
$lang->action->objectTypes['product'] = '產品';
|
||||
$lang->action->objectTypes['story'] = '需求';
|
||||
$lang->action->objectTypes['productplan'] = '產品計劃';
|
||||
$lang->action->objectTypes['release'] = '發佈';
|
||||
$lang->action->objectTypes['project'] = '項目';
|
||||
$lang->action->objectTypes['task'] = '任務';
|
||||
$lang->action->objectTypes['build'] = 'Build';
|
||||
$lang->action->objectTypes['bug'] = 'Bug';
|
||||
$lang->action->objectTypes['case'] = '用例';
|
||||
$lang->action->objectTypes['testtask'] = '測試任務';
|
||||
$lang->action->objectTypes['user'] = '用戶';
|
||||
$lang->action->objectTypes['doc'] = '文檔';
|
||||
$lang->action->objectTypes['doclib'] = '文檔庫';
|
||||
|
||||
/* 用來描述操作歷史記錄。*/
|
||||
$lang->action->desc->common = '$date, <strong>$action</strong> by <strong>$actor</strong>';
|
||||
$lang->action->desc->extra = '$date, <strong>$action</strong> as <strong>$extra</strong> by <strong>$actor</strong>';
|
||||
$lang->action->desc->opened = '$date, 由 <strong>$actor</strong> 創建。';
|
||||
$lang->action->desc->created = '$date, 由 <strong>$actor</strong> 創建。';
|
||||
$lang->action->desc->changed = '$date, 由 <strong>$actor</strong> 變更。';
|
||||
$lang->action->desc->edited = '$date, 由 <strong>$actor</strong> 編輯。';
|
||||
$lang->action->desc->closed = '$date, 由 <strong>$actor</strong> 關閉。';
|
||||
$lang->action->desc->deleted = '$date, 由 <strong>$actor</strong> 刪除。';
|
||||
$lang->action->desc->deletedfile = '$date, 由 <strong>$actor</strong> 刪除了附件:<strong><i>$extra</i></strong>';
|
||||
$lang->action->desc->erased = '$date, 由 <strong>$actor</strong> 刪除。';
|
||||
$lang->action->desc->undeleted = '$date, 由 <strong>$actor</strong> 還原。';
|
||||
$lang->action->desc->commented = '$date, 由 <strong>$actor</strong> 發表評論。';
|
||||
$lang->action->desc->activated = '$date, 由 <strong>$actor</strong> 激活。';
|
||||
$lang->action->desc->moved = '$date, 由 <strong>$actor</strong> 移動,之前為 "$extra"';
|
||||
$lang->action->desc->confirmed = '$date, 由 <strong>$actor</strong> 確認需求變動,最新版本為<strong>#$extra</strong>';
|
||||
$lang->action->desc->started = '$date, 由 <strong>$actor</strong> 啟動。';
|
||||
$lang->action->desc->canceled = '$date, 由 <strong>$actor</strong> 取消。';
|
||||
$lang->action->desc->finished = '$date, 由 <strong>$actor</strong> 完成。';
|
||||
$lang->action->desc->diff1 = '修改了 <strong><i>%s</i></strong>,舊值為 "%s",新值為 "%s"。<br />';
|
||||
$lang->action->desc->diff2 = '修改了 <strong><i>%s</i></strong>,區別為:<blockquote>%s</blockquote>';
|
||||
|
||||
/* 用來顯示動態信息。*/
|
||||
$lang->action->label->created = '創建了';
|
||||
$lang->action->label->opened = '創建了';
|
||||
$lang->action->label->changed = '變更了';
|
||||
$lang->action->label->edited = '編輯了';
|
||||
$lang->action->label->closed = '關閉了';
|
||||
$lang->action->label->deleted = '刪除了';
|
||||
$lang->action->label->deletedfile = '刪除附件';
|
||||
$lang->action->label->erased = '刪除了';
|
||||
$lang->action->label->undeleted = '還原了';
|
||||
$lang->action->label->commented = '評論了';
|
||||
$lang->action->label->activated = '激活了';
|
||||
$lang->action->label->resolved = '解決了';
|
||||
$lang->action->label->reviewed = '評審了';
|
||||
$lang->action->label->moved = '移動了';
|
||||
$lang->action->label->confirmed = '確認了需求,';
|
||||
$lang->action->label->linked2plan = '關聯計劃';
|
||||
$lang->action->label->unlinkedfromplan = '移除計劃';
|
||||
$lang->action->label->linked2project = '關聯項目';
|
||||
$lang->action->label->unlinkedfromproject = '移除項目';
|
||||
$lang->action->label->marked = '編輯了';
|
||||
$lang->action->label->started = '開始了';
|
||||
$lang->action->label->canceled = '取消了';
|
||||
$lang->action->label->finished = '完成了';
|
||||
$lang->action->label->login = '登錄系統';
|
||||
$lang->action->label->logout = "退出登錄";
|
||||
|
||||
/* 用來生成相應對象的連結。*/
|
||||
$lang->action->label->product = '產品|product|view|productID=%s';
|
||||
$lang->action->label->productplan = '計劃|productplan|view|productID=%s';
|
||||
$lang->action->label->release = '發佈|release|view|productID=%s';
|
||||
$lang->action->label->story = '需求|story|view|storyID=%s';
|
||||
$lang->action->label->project = '項目|project|view|projectID=%s';
|
||||
$lang->action->label->task = '任務|task|view|taskID=%s';
|
||||
$lang->action->label->build = 'Build|build|view|buildID=%s';
|
||||
$lang->action->label->bug = 'Bug|bug|view|bugID=%s';
|
||||
$lang->action->label->case = '用例|testcase|view|caseID=%s';
|
||||
$lang->action->label->testtask = '測試任務|testtask|view|caseID=%s';
|
||||
$lang->action->label->todo = 'todo|todo|view|todoID=%s';
|
||||
$lang->action->label->doclib = '文檔庫|doc|browse|libID=%s';
|
||||
$lang->action->label->doc = '文檔|doc|view|docID=%s';
|
||||
$lang->action->label->user = '用戶';
|
||||
|
||||
$lang->action->label->space = ' ';
|
||||
|
||||
@@ -1,240 +1,227 @@
|
||||
<?php
|
||||
/**
|
||||
* The model file of action module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package action
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
class actionModel extends model
|
||||
{
|
||||
const CAN_UNDELETED = 1; // 标记extra字段为可以还原。
|
||||
const BE_UNDELETED = 0; // 标记extra字段为已经还原。
|
||||
|
||||
/* 创建一条action动作。*/
|
||||
public function create($objectType, $objectID, $actionType, $comment = '', $extra = '')
|
||||
{
|
||||
$action->objectType = strtolower($objectType);
|
||||
$action->objectID = $objectID;
|
||||
$action->actor = $this->app->user->account;
|
||||
$action->action = strtolower($actionType);
|
||||
$action->date = helper::now();
|
||||
$action->comment = htmlspecialchars($comment);
|
||||
$action->extra = $extra;
|
||||
$this->dao->insert(TABLE_ACTION)->data($action)->autoCheck()->exec();
|
||||
return $this->dbh->lastInsertID();
|
||||
}
|
||||
|
||||
/* 返回某一个对象的所有action列表。*/
|
||||
public function getList($objectType, $objectID)
|
||||
{
|
||||
$actions = $this->dao->select('*')->from(TABLE_ACTION)
|
||||
->where('objectType')->eq($objectType)
|
||||
->andWhere('objectID')->eq($objectID)
|
||||
->orderBy('id')->fetchAll('id');
|
||||
$histories = $this->getHistory(array_keys($actions));
|
||||
foreach($actions as $actionID => $action)
|
||||
{
|
||||
$action->history = isset($histories[$actionID]) ? $histories[$actionID] : array();
|
||||
$actions[$actionID] = $action;
|
||||
}
|
||||
return $actions;
|
||||
}
|
||||
|
||||
/* 获得action信息。*/
|
||||
public function getById($actionID)
|
||||
{
|
||||
return $this->dao->findById((int)$actionID)->from(TABLE_ACTION)->fetch();
|
||||
}
|
||||
|
||||
/* 获得所有的删除记录列表。*/
|
||||
public function getTrashes($orderBy, $pager)
|
||||
{
|
||||
$trashes = $this->dao->select('*')->from(TABLE_ACTION)
|
||||
->where('action')->eq('deleted')
|
||||
->andWhere('extra')->eq(self::CAN_UNDELETED)
|
||||
->orderBy($orderBy)->page($pager)->fetchAll();
|
||||
if(!$trashes) return array();
|
||||
|
||||
/* 将对象按照类型分开,然后查找其对应的名称。*/
|
||||
foreach($trashes as $object) $typeTrashes[$object->objectType][] = $object->objectID;
|
||||
foreach($typeTrashes as $objectType => $objectIds)
|
||||
{
|
||||
$objectIds = array_unique($objectIds);
|
||||
$table = $this->config->action->objectTables[$objectType];
|
||||
$field = $this->config->action->objectNameFields[$objectType];
|
||||
$objectNames[$objectType] = $this->dao->select("id, $field AS name")->from($table)->where('id')->in($objectIds)->fetchPairs();
|
||||
}
|
||||
|
||||
/* 将name字段添加到trashes中。*/
|
||||
foreach($trashes as $trash) $trash->objectName = $objectNames[$trash->objectType][$trash->objectID];
|
||||
return $trashes;
|
||||
}
|
||||
|
||||
/* 返回某一个action所对应的字段修改记录。*/
|
||||
public function getHistory($actionID)
|
||||
{
|
||||
return $this->dao->select()->from(TABLE_HISTORY)->where('action')->in($actionID)->orderBy('id')->fetchGroup('action');
|
||||
}
|
||||
|
||||
/* 记录历史。*/
|
||||
public function logHistory($actionID, $changes)
|
||||
{
|
||||
foreach($changes as $change)
|
||||
{
|
||||
$change['action'] = $actionID;
|
||||
$this->dao->insert(TABLE_HISTORY)->data($change)->exec();
|
||||
}
|
||||
}
|
||||
|
||||
/* 打印action标题,显示在每一个对象的详情界面。*/
|
||||
public function printAction($action)
|
||||
{
|
||||
$objectType = $action->objectType;
|
||||
$actionType = strtolower($action->action);
|
||||
|
||||
/**
|
||||
* 判断使用哪一种描述。如果该模块有对应的描述,则取之,然后则取action模块中对应的方法的描述。
|
||||
* 如果还没有,则判断当前action是否有extra信息,如果有,则取action模块的extra描述,最后使用通用的描述。
|
||||
*/
|
||||
if(isset($this->lang->$objectType->action->$actionType))
|
||||
{
|
||||
$desc = $this->lang->$objectType->action->$actionType;
|
||||
}
|
||||
elseif(isset($this->lang->action->desc->$actionType))
|
||||
{
|
||||
$desc = $this->lang->action->desc->$actionType;
|
||||
}
|
||||
else
|
||||
{
|
||||
$desc = $action->extra ? $this->lang->action->desc->extra : $this->lang->action->desc->common;
|
||||
}
|
||||
|
||||
/* 循环替换desc中对应的标签。*/
|
||||
foreach($action as $key => $value)
|
||||
{
|
||||
if($key == 'history') continue;
|
||||
|
||||
/* desc可能是数组,也有可能是一个字符串。*/
|
||||
if(is_array($desc))
|
||||
{
|
||||
if($key == 'extra') continue;
|
||||
$desc['main'] = str_replace('$' . $key, $value, $desc['main']);
|
||||
}
|
||||
else
|
||||
{
|
||||
$desc = str_replace('$' . $key, $value, $desc);
|
||||
}
|
||||
}
|
||||
|
||||
/* 如果desc是数组,再处理extra变量。例子参考bug模块的语言设置。*/
|
||||
if(is_array($desc))
|
||||
{
|
||||
$extra = strtolower($action->extra);
|
||||
if(isset($desc['extra'][$extra]))
|
||||
{
|
||||
echo str_replace('$extra', $desc['extra'][$extra], $desc['main']);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo str_replace('$extra', $action->extra, $desc['main']);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $desc;
|
||||
}
|
||||
}
|
||||
|
||||
/* 打印动态信息。*/
|
||||
public function getDynamic($objectType = 'all', $count = 30)
|
||||
{
|
||||
$actions = $this->dao->select('*')->from(TABLE_ACTION)
|
||||
->beginIF($objectType != 'all')->where('objectType')->eq($objectType)->fi()
|
||||
->orderBy('id desc')->limit($count)->fetchAll();
|
||||
if(!$actions) return array();
|
||||
foreach($actions as $action)
|
||||
{
|
||||
$actionType = strtolower($action->action);
|
||||
$objectType = strtolower($action->objectType);
|
||||
$action->date = date(DT_MONTHTIME2, strtotime($action->date));
|
||||
$action->actionLabel = isset($this->lang->action->label->$actionType) ? $this->lang->action->label->$actionType : $action->action;
|
||||
$action->objectLabel = isset($this->lang->action->label->$objectType) ? $this->lang->action->label->$objectType : $objectType;
|
||||
|
||||
/* 处理login和logout动作。*/
|
||||
if($actionType == 'login' or $actionType == 'logout')
|
||||
{
|
||||
$action->objectLink = '';
|
||||
$action->objectLabel = '';
|
||||
continue;
|
||||
}
|
||||
|
||||
/* 其他的动作生成相应的链接。*/
|
||||
if(strpos($action->objectLabel, '|') !== false)
|
||||
{
|
||||
list($objectLabel, $moduleName, $methodName, $vars) = explode('|', $action->objectLabel);
|
||||
$action->objectLink = html::a(helper::createLink($moduleName, $methodName, sprintf($vars, $action->objectID)), '#' . $action->objectID);
|
||||
$action->objectLabel = $objectLabel;
|
||||
}
|
||||
else
|
||||
{
|
||||
$action->objectLink = '#' . $action->objectID;
|
||||
}
|
||||
}
|
||||
return $actions;
|
||||
}
|
||||
|
||||
/* 打印修改记录。*/
|
||||
public function printChanges($objectType, $histories)
|
||||
{
|
||||
if(empty($histories)) return;
|
||||
|
||||
/* 计算字段的最大长度,并将历史记录根据是否有diff分开,以保证含有diff的字段显示在最后面。*/
|
||||
$maxLength = 0;
|
||||
$historiesWithDiff = array();
|
||||
$historiesWithoutDiff = array();
|
||||
|
||||
foreach($histories as $history)
|
||||
{
|
||||
$fieldName = $history->field;
|
||||
$history->fieldLabel = isset($this->lang->$objectType->$fieldName) ? $this->lang->$objectType->$fieldName : $fieldName;
|
||||
if(($length = strlen($history->fieldLabel)) > $maxLength) $maxLength = $length;
|
||||
$history->diff ? $historiesWithDiff[] = $history : $historiesWithoutDiff[] = $history;
|
||||
}
|
||||
$histories = array_merge($historiesWithoutDiff, $historiesWithDiff);
|
||||
|
||||
foreach($histories as $history)
|
||||
{
|
||||
$history->fieldLabel = str_pad($history->fieldLabel, $maxLength, $this->lang->action->label->space);
|
||||
if($history->diff != '')
|
||||
{
|
||||
$history->diff = str_replace(array('<ins>', '</ins>', '<del>', '</del>'), array('[ins]', '[/ins]', '[del]', '[/del]'), $history->diff);
|
||||
$history->diff = htmlspecialchars($history->diff);
|
||||
$history->diff = str_replace(array('[ins]', '[/ins]', '[del]', '[/del]'), array('<ins>', '</ins>', '<del>', '</del>'), $history->diff);
|
||||
$history->diff = nl2br($history->diff);
|
||||
printf($this->lang->action->desc->diff2, $history->fieldLabel, $history->diff);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf($this->lang->action->desc->diff1, $history->fieldLabel, $history->old, $history->new);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The model file of action module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package action
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
class actionModel extends model
|
||||
{
|
||||
const CAN_UNDELETED = 1; // 标记extra字段为可以还原。
|
||||
const BE_UNDELETED = 0; // 标记extra字段为已经还原。
|
||||
|
||||
/* 创建一条action动作。*/
|
||||
public function create($objectType, $objectID, $actionType, $comment = '', $extra = '')
|
||||
{
|
||||
$action->objectType = strtolower($objectType);
|
||||
$action->objectID = $objectID;
|
||||
$action->actor = $this->app->user->account;
|
||||
$action->action = strtolower($actionType);
|
||||
$action->date = helper::now();
|
||||
$action->comment = htmlspecialchars($comment);
|
||||
$action->extra = $extra;
|
||||
$this->dao->insert(TABLE_ACTION)->data($action)->autoCheck()->exec();
|
||||
return $this->dbh->lastInsertID();
|
||||
}
|
||||
|
||||
/* 返回某一个对象的所有action列表。*/
|
||||
public function getList($objectType, $objectID)
|
||||
{
|
||||
$actions = $this->dao->select('*')->from(TABLE_ACTION)
|
||||
->where('objectType')->eq($objectType)
|
||||
->andWhere('objectID')->eq($objectID)
|
||||
->orderBy('id')->fetchAll('id');
|
||||
$histories = $this->getHistory(array_keys($actions));
|
||||
foreach($actions as $actionID => $action)
|
||||
{
|
||||
$action->history = isset($histories[$actionID]) ? $histories[$actionID] : array();
|
||||
$actions[$actionID] = $action;
|
||||
}
|
||||
return $actions;
|
||||
}
|
||||
|
||||
/* 获得action信息。*/
|
||||
public function getById($actionID)
|
||||
{
|
||||
return $this->dao->findById((int)$actionID)->from(TABLE_ACTION)->fetch();
|
||||
}
|
||||
|
||||
/* 获得所有的删除记录列表。*/
|
||||
public function getTrashes($orderBy, $pager)
|
||||
{
|
||||
$trashes = $this->dao->select('*')->from(TABLE_ACTION)
|
||||
->where('action')->eq('deleted')
|
||||
->andWhere('extra')->eq(self::CAN_UNDELETED)
|
||||
->orderBy($orderBy)->page($pager)->fetchAll();
|
||||
if(!$trashes) return array();
|
||||
|
||||
/* 将对象按照类型分开,然后查找其对应的名称。*/
|
||||
foreach($trashes as $object) $typeTrashes[$object->objectType][] = $object->objectID;
|
||||
foreach($typeTrashes as $objectType => $objectIds)
|
||||
{
|
||||
$objectIds = array_unique($objectIds);
|
||||
$table = $this->config->action->objectTables[$objectType];
|
||||
$field = $this->config->action->objectNameFields[$objectType];
|
||||
$objectNames[$objectType] = $this->dao->select("id, $field AS name")->from($table)->where('id')->in($objectIds)->fetchPairs();
|
||||
}
|
||||
|
||||
/* 将name字段添加到trashes中。*/
|
||||
foreach($trashes as $trash) $trash->objectName = $objectNames[$trash->objectType][$trash->objectID];
|
||||
return $trashes;
|
||||
}
|
||||
|
||||
/* 返回某一个action所对应的字段修改记录。*/
|
||||
public function getHistory($actionID)
|
||||
{
|
||||
return $this->dao->select()->from(TABLE_HISTORY)->where('action')->in($actionID)->orderBy('id')->fetchGroup('action');
|
||||
}
|
||||
|
||||
/* 记录历史。*/
|
||||
public function logHistory($actionID, $changes)
|
||||
{
|
||||
foreach($changes as $change)
|
||||
{
|
||||
$change['action'] = $actionID;
|
||||
$this->dao->insert(TABLE_HISTORY)->data($change)->exec();
|
||||
}
|
||||
}
|
||||
|
||||
/* 打印action标题,显示在每一个对象的详情界面。*/
|
||||
public function printAction($action)
|
||||
{
|
||||
$objectType = $action->objectType;
|
||||
$actionType = strtolower($action->action);
|
||||
|
||||
/**
|
||||
* 判断使用哪一种描述。如果该模块有对应的描述,则取之,然后则取action模块中对应的方法的描述。
|
||||
* 如果还没有,则判断当前action是否有extra信息,如果有,则取action模块的extra描述,最后使用通用的描述。
|
||||
*/
|
||||
if(isset($this->lang->$objectType->action->$actionType))
|
||||
{
|
||||
$desc = $this->lang->$objectType->action->$actionType;
|
||||
}
|
||||
elseif(isset($this->lang->action->desc->$actionType))
|
||||
{
|
||||
$desc = $this->lang->action->desc->$actionType;
|
||||
}
|
||||
else
|
||||
{
|
||||
$desc = $action->extra ? $this->lang->action->desc->extra : $this->lang->action->desc->common;
|
||||
}
|
||||
|
||||
/* 循环替换desc中对应的标签。*/
|
||||
foreach($action as $key => $value)
|
||||
{
|
||||
if($key == 'history') continue;
|
||||
|
||||
/* desc可能是数组,也有可能是一个字符串。*/
|
||||
if(is_array($desc))
|
||||
{
|
||||
if($key == 'extra') continue;
|
||||
$desc['main'] = str_replace('$' . $key, $value, $desc['main']);
|
||||
}
|
||||
else
|
||||
{
|
||||
$desc = str_replace('$' . $key, $value, $desc);
|
||||
}
|
||||
}
|
||||
|
||||
/* 如果desc是数组,再处理extra变量。例子参考bug模块的语言设置。*/
|
||||
if(is_array($desc))
|
||||
{
|
||||
$extra = strtolower($action->extra);
|
||||
if(isset($desc['extra'][$extra]))
|
||||
{
|
||||
echo str_replace('$extra', $desc['extra'][$extra], $desc['main']);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo str_replace('$extra', $action->extra, $desc['main']);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $desc;
|
||||
}
|
||||
}
|
||||
|
||||
/* 打印动态信息。*/
|
||||
public function getDynamic($objectType = 'all', $count = 30)
|
||||
{
|
||||
$actions = $this->dao->select('*')->from(TABLE_ACTION)
|
||||
->beginIF($objectType != 'all')->where('objectType')->eq($objectType)->fi()
|
||||
->orderBy('id desc')->limit($count)->fetchAll();
|
||||
if(!$actions) return array();
|
||||
foreach($actions as $action)
|
||||
{
|
||||
$actionType = strtolower($action->action);
|
||||
$objectType = strtolower($action->objectType);
|
||||
$action->date = date(DT_MONTHTIME2, strtotime($action->date));
|
||||
$action->actionLabel = isset($this->lang->action->label->$actionType) ? $this->lang->action->label->$actionType : $action->action;
|
||||
$action->objectLabel = isset($this->lang->action->label->$objectType) ? $this->lang->action->label->$objectType : $objectType;
|
||||
|
||||
/* 处理login和logout动作。*/
|
||||
if($actionType == 'login' or $actionType == 'logout')
|
||||
{
|
||||
$action->objectLink = '';
|
||||
$action->objectLabel = '';
|
||||
continue;
|
||||
}
|
||||
|
||||
/* 其他的动作生成相应的链接。*/
|
||||
if(strpos($action->objectLabel, '|') !== false)
|
||||
{
|
||||
list($objectLabel, $moduleName, $methodName, $vars) = explode('|', $action->objectLabel);
|
||||
$action->objectLink = html::a(helper::createLink($moduleName, $methodName, sprintf($vars, $action->objectID)), '#' . $action->objectID);
|
||||
$action->objectLabel = $objectLabel;
|
||||
}
|
||||
else
|
||||
{
|
||||
$action->objectLink = '#' . $action->objectID;
|
||||
}
|
||||
}
|
||||
return $actions;
|
||||
}
|
||||
|
||||
/* 打印修改记录。*/
|
||||
public function printChanges($objectType, $histories)
|
||||
{
|
||||
if(empty($histories)) return;
|
||||
|
||||
/* 计算字段的最大长度,并将历史记录根据是否有diff分开,以保证含有diff的字段显示在最后面。*/
|
||||
$maxLength = 0;
|
||||
$historiesWithDiff = array();
|
||||
$historiesWithoutDiff = array();
|
||||
|
||||
foreach($histories as $history)
|
||||
{
|
||||
$fieldName = $history->field;
|
||||
$history->fieldLabel = isset($this->lang->$objectType->$fieldName) ? $this->lang->$objectType->$fieldName : $fieldName;
|
||||
if(($length = strlen($history->fieldLabel)) > $maxLength) $maxLength = $length;
|
||||
$history->diff ? $historiesWithDiff[] = $history : $historiesWithoutDiff[] = $history;
|
||||
}
|
||||
$histories = array_merge($historiesWithoutDiff, $historiesWithDiff);
|
||||
|
||||
foreach($histories as $history)
|
||||
{
|
||||
$history->fieldLabel = str_pad($history->fieldLabel, $maxLength, $this->lang->action->label->space);
|
||||
if($history->diff != '')
|
||||
{
|
||||
$history->diff = str_replace(array('<ins>', '</ins>', '<del>', '</del>'), array('[ins]', '[/ins]', '[del]', '[/del]'), $history->diff);
|
||||
$history->diff = htmlspecialchars($history->diff);
|
||||
$history->diff = str_replace(array('[ins]', '[/ins]', '[del]', '[/del]'), array('<ins>', '</ins>', '<del>', '</del>'), $history->diff);
|
||||
$history->diff = nl2br($history->diff);
|
||||
printf($this->lang->action->desc->diff2, $history->fieldLabel, $history->diff);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf($this->lang->action->desc->diff1, $history->fieldLabel, $history->old, $history->new);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,56 +1,43 @@
|
||||
<?php
|
||||
/**
|
||||
* The trash view file of action module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package action
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/colorize.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<table class='table-1 colored tablesorter'>
|
||||
<?php $vars = "orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}"; ?>
|
||||
<thead>
|
||||
<tr class='colhead'>
|
||||
<th class='w-80px'><?php common::printOrderLink('objectType', $orderBy, $vars, $lang->action->objectType);?></th>
|
||||
<th class='w-id'><?php common::printOrderLink('objectID', $orderBy, $vars, $lang->idAB);?></th>
|
||||
<th><?php echo $lang->action->objectName;?></th>
|
||||
<th class='w-100px'><?php common::printOrderLink('actor', $orderBy, $vars, $lang->action->actor);?></th>
|
||||
<th class='w-150px'><?php common::printOrderLink('date', $orderBy, $vars, $lang->action->date);?></th>
|
||||
<th class='w-80px'><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($trashes as $action):?>
|
||||
<?php $module = $action->objectType == 'case' ? 'testcase' : $action->objectType;?>
|
||||
<tr class='a-center'>
|
||||
<td><?php echo $lang->action->objectTypes[$action->objectType];?></td>
|
||||
<td><?php echo $action->objectID;?></td>
|
||||
<td class='a-left'><?php echo html::a($this->createLink($module, 'view', "id=$action->objectID"), $action->objectName);?></td>
|
||||
<td><?php echo $users[$action->actor];?></td>
|
||||
<td><?php echo $action->date;?></td>
|
||||
<td><?php common::printLink('action', 'undelete', "actionid=$action->id", $lang->action->undelete, 'hiddenwin');?>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class='a-right'><?php $pager->show();?></div>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The trash view file of action module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package action
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/colorize.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<table class='table-1 colored tablesorter'>
|
||||
<?php $vars = "orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}"; ?>
|
||||
<thead>
|
||||
<tr class='colhead'>
|
||||
<th class='w-80px'><?php common::printOrderLink('objectType', $orderBy, $vars, $lang->action->objectType);?></th>
|
||||
<th class='w-id'><?php common::printOrderLink('objectID', $orderBy, $vars, $lang->idAB);?></th>
|
||||
<th><?php echo $lang->action->objectName;?></th>
|
||||
<th class='w-100px'><?php common::printOrderLink('actor', $orderBy, $vars, $lang->action->actor);?></th>
|
||||
<th class='w-150px'><?php common::printOrderLink('date', $orderBy, $vars, $lang->action->date);?></th>
|
||||
<th class='w-80px'><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($trashes as $action):?>
|
||||
<?php $module = $action->objectType == 'case' ? 'testcase' : $action->objectType;?>
|
||||
<tr class='a-center'>
|
||||
<td><?php echo $lang->action->objectTypes[$action->objectType];?></td>
|
||||
<td><?php echo $action->objectID;?></td>
|
||||
<td class='a-left'><?php echo html::a($this->createLink($module, 'view', "id=$action->objectID"), $action->objectName);?></td>
|
||||
<td><?php echo $users[$action->actor];?></td>
|
||||
<td><?php echo $action->date;?></td>
|
||||
<td><?php common::printLink('action', 'undelete', "actionid=$action->id", $lang->action->undelete, 'hiddenwin');?>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class='a-right'><?php $pager->show();?></div>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,31 +1,18 @@
|
||||
<?php
|
||||
/**
|
||||
* The control file of admin module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class admin extends control
|
||||
{
|
||||
/* 首页。*/
|
||||
public function index($tab = 'index')
|
||||
{
|
||||
$this->locate($this->createLink('action', 'trash'));
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The control file of admin module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class admin extends control
|
||||
{
|
||||
/* 首页。*/
|
||||
public function index($tab = 'index')
|
||||
{
|
||||
$this->locate($this->createLink('action', 'trash'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,31 +1,18 @@
|
||||
<?php
|
||||
/**
|
||||
* The admin module English file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->admin->common = 'Admin';
|
||||
$lang->admin->index = 'Index';
|
||||
$lang->admin->company = 'Company';
|
||||
$lang->admin->user = 'User';
|
||||
$lang->admin->group = 'Group';
|
||||
$lang->admin->welcome = 'Welcome to ZenTaoPMS.';
|
||||
|
||||
$lang->admin->browseCompany = 'Browse Company';
|
||||
<?php
|
||||
/**
|
||||
* The admin module English file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->admin->common = 'Admin';
|
||||
$lang->admin->index = 'Index';
|
||||
$lang->admin->company = 'Company';
|
||||
$lang->admin->user = 'User';
|
||||
$lang->admin->group = 'Group';
|
||||
$lang->admin->welcome = 'Welcome to ZenTaoPMS.';
|
||||
|
||||
$lang->admin->browseCompany = 'Browse Company';
|
||||
|
||||
@@ -1,31 +1,18 @@
|
||||
<?php
|
||||
/**
|
||||
* The admin module Japanese file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->admin->common = '管理者';
|
||||
$lang->admin->index = 'インデックス';
|
||||
$lang->admin->company = '会社';
|
||||
$lang->admin->user = 'ユーザー';
|
||||
$lang->admin->group = 'グループ';
|
||||
$lang->admin->welcome = 'ようこそZenTaoPMSする。';
|
||||
|
||||
$lang->admin->browseCompany = '閲覧会社';
|
||||
<?php
|
||||
/**
|
||||
* The admin module Japanese file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->admin->common = '管理者';
|
||||
$lang->admin->index = 'インデックス';
|
||||
$lang->admin->company = '会社';
|
||||
$lang->admin->user = 'ユーザー';
|
||||
$lang->admin->group = 'グループ';
|
||||
$lang->admin->welcome = 'ようこそZenTaoPMSする。';
|
||||
|
||||
$lang->admin->browseCompany = '閲覧会社';
|
||||
|
||||
@@ -1,31 +1,18 @@
|
||||
<?php
|
||||
/**
|
||||
* The admin module Korean file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->admin->common = '관리자';
|
||||
$lang->admin->index = '색인';
|
||||
$lang->admin->company = '회사';
|
||||
$lang->admin->user = '사용자';
|
||||
$lang->admin->group = '그룹';
|
||||
$lang->admin->welcome = 'ZenTaoPMS 오신 것을 환영합니다.';
|
||||
|
||||
$lang->admin->browseCompany = '브라 우즈 회사 소개';
|
||||
<?php
|
||||
/**
|
||||
* The admin module Korean file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->admin->common = '관리자';
|
||||
$lang->admin->index = '색인';
|
||||
$lang->admin->company = '회사';
|
||||
$lang->admin->user = '사용자';
|
||||
$lang->admin->group = '그룹';
|
||||
$lang->admin->welcome = 'ZenTaoPMS 오신 것을 환영합니다.';
|
||||
|
||||
$lang->admin->browseCompany = '브라 우즈 회사 소개';
|
||||
|
||||
@@ -1,31 +1,18 @@
|
||||
<?php
|
||||
/**
|
||||
* The admin module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->admin->common = '后台管理';
|
||||
$lang->admin->index = '后台管理首页';
|
||||
$lang->admin->company = '公司管理';
|
||||
$lang->admin->user = '用户管理';
|
||||
$lang->admin->group = '分组管理';
|
||||
$lang->admin->welcome = '欢迎使用禅道管理软件后台管理系统';
|
||||
|
||||
$lang->admin->browseCompany = '浏览公司';
|
||||
<?php
|
||||
/**
|
||||
* The admin module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->admin->common = '后台管理';
|
||||
$lang->admin->index = '后台管理首页';
|
||||
$lang->admin->company = '公司管理';
|
||||
$lang->admin->user = '用户管理';
|
||||
$lang->admin->group = '分组管理';
|
||||
$lang->admin->welcome = '欢迎使用禅道管理软件后台管理系统';
|
||||
|
||||
$lang->admin->browseCompany = '浏览公司';
|
||||
|
||||
@@ -1,31 +1,18 @@
|
||||
<?php
|
||||
/**
|
||||
* The admin module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id: zh-tw.php 1068 2010-09-11 07:11:57Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->admin->common = '後台管理';
|
||||
$lang->admin->index = '後台管理首頁';
|
||||
$lang->admin->company = '公司管理';
|
||||
$lang->admin->user = '用戶管理';
|
||||
$lang->admin->group = '分組管理';
|
||||
$lang->admin->welcome = '歡迎使用禪道管理軟件後台管理系統';
|
||||
|
||||
$lang->admin->browseCompany = '瀏覽公司';
|
||||
<?php
|
||||
/**
|
||||
* The admin module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id: zh-tw.php 1068 2010-09-11 07:11:57Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->admin->common = '後台管理';
|
||||
$lang->admin->index = '後台管理首頁';
|
||||
$lang->admin->company = '公司管理';
|
||||
$lang->admin->user = '用戶管理';
|
||||
$lang->admin->group = '分組管理';
|
||||
$lang->admin->welcome = '歡迎使用禪道管理軟件後台管理系統';
|
||||
|
||||
$lang->admin->browseCompany = '瀏覽公司';
|
||||
|
||||
@@ -1,44 +1,31 @@
|
||||
<?php
|
||||
/**
|
||||
* The model file of admin module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
class adminModel extends model
|
||||
{
|
||||
/* 获得整个pms系统的统计信息。*/
|
||||
public function getStatOfPMS()
|
||||
{
|
||||
$sql = "SHOW TABLE STATUS";
|
||||
$tables = $this->dbh->query($sql)->fetchALL();
|
||||
}
|
||||
|
||||
/* 获得某一个公司的统计信息。*/
|
||||
public function getStatOfCompany($companyID)
|
||||
{
|
||||
}
|
||||
|
||||
/* 获得系统的运行信息。*/
|
||||
public function getStatOfSys()
|
||||
{
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The model file of admin module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
class adminModel extends model
|
||||
{
|
||||
/* 获得整个pms系统的统计信息。*/
|
||||
public function getStatOfPMS()
|
||||
{
|
||||
$sql = "SHOW TABLE STATUS";
|
||||
$tables = $this->dbh->query($sql)->fetchALL();
|
||||
}
|
||||
|
||||
/* 获得某一个公司的统计信息。*/
|
||||
public function getStatOfCompany($companyID)
|
||||
{
|
||||
}
|
||||
|
||||
/* 获得系统的运行信息。*/
|
||||
public function getStatOfSys()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,61 +1,48 @@
|
||||
<?php
|
||||
/**
|
||||
* The browse company view file of admin module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<table align='center' class='table-1'>
|
||||
<tr class='colhead'>
|
||||
<th><?php echo $lang->company->id;?></th>
|
||||
<th><?php echo $lang->company->name;?></th>
|
||||
<th><?php echo $lang->company->phone;?></th>
|
||||
<th><?php echo $lang->company->fax;?></th>
|
||||
<th><?php echo $lang->company->address;?></th>
|
||||
<th><?php echo $lang->company->zipcode;?></th>
|
||||
<th><?php echo $lang->company->website;?></th>
|
||||
<th><?php echo $lang->company->backyard;?></th>
|
||||
<th><?php echo $lang->company->pms;?></th>
|
||||
<th><?php echo $lang->company->guest;?></th>
|
||||
<th><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
<?php foreach($companies as $company):?>
|
||||
<tr>
|
||||
<td class='a-center'><?php echo $company->id;?></td>
|
||||
<td><?php echo $company->name;?></td>
|
||||
<td><?php echo $company->phone;?></td>
|
||||
<td><?php echo $company->fax;?></td>
|
||||
<td><?php echo $company->address;?></td>
|
||||
<td><?php echo $company->zipcode;?></td>
|
||||
<td><?php echo html::a($company->website, $company->website, '_blank');?></td>
|
||||
<td><?php echo html::a($company->backyard,$company->backyard, '_blank');?></td>
|
||||
<td><?php echo html::a('http://' . $company->pms, $company->pms, '_blank');?></td>
|
||||
<td><?php echo $lang->company->guestList[(int)$company->guest];?></td>
|
||||
<td>
|
||||
<?php echo html::a($this->createLink('company', 'edit', "companyID=$company->id"), $this->lang->company->edit);?>
|
||||
<?php echo html::a($this->createLink('company', 'delete', "companyID=$company->id"), $this->lang->company->delete, "hiddenwin");?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The browse company view file of admin module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package admin
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<table align='center' class='table-1'>
|
||||
<tr class='colhead'>
|
||||
<th><?php echo $lang->company->id;?></th>
|
||||
<th><?php echo $lang->company->name;?></th>
|
||||
<th><?php echo $lang->company->phone;?></th>
|
||||
<th><?php echo $lang->company->fax;?></th>
|
||||
<th><?php echo $lang->company->address;?></th>
|
||||
<th><?php echo $lang->company->zipcode;?></th>
|
||||
<th><?php echo $lang->company->website;?></th>
|
||||
<th><?php echo $lang->company->backyard;?></th>
|
||||
<th><?php echo $lang->company->pms;?></th>
|
||||
<th><?php echo $lang->company->guest;?></th>
|
||||
<th><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
<?php foreach($companies as $company):?>
|
||||
<tr>
|
||||
<td class='a-center'><?php echo $company->id;?></td>
|
||||
<td><?php echo $company->name;?></td>
|
||||
<td><?php echo $company->phone;?></td>
|
||||
<td><?php echo $company->fax;?></td>
|
||||
<td><?php echo $company->address;?></td>
|
||||
<td><?php echo $company->zipcode;?></td>
|
||||
<td><?php echo html::a($company->website, $company->website, '_blank');?></td>
|
||||
<td><?php echo html::a($company->backyard,$company->backyard, '_blank');?></td>
|
||||
<td><?php echo html::a('http://' . $company->pms, $company->pms, '_blank');?></td>
|
||||
<td><?php echo $lang->company->guestList[(int)$company->guest];?></td>
|
||||
<td>
|
||||
<?php echo html::a($this->createLink('company', 'edit', "companyID=$company->id"), $this->lang->company->edit);?>
|
||||
<?php echo html::a($this->createLink('company', 'delete', "companyID=$company->id"), $this->lang->company->delete, "hiddenwin");?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,49 +1,36 @@
|
||||
<?php
|
||||
/**
|
||||
* The control file of api of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package api
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class api extends control
|
||||
{
|
||||
/* 获得sessionid。*/
|
||||
public function getSessionID()
|
||||
{
|
||||
$this->session->set('rand', mt_rand(0, 10000));
|
||||
$this->view->sessionName = session_name();
|
||||
$this->view->sessionID = session_id();
|
||||
$this->view->rand = $this->session->rand;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 获得某一个model某一个方法的结果。params的传递方式:param1=value1,param2=value2。*/
|
||||
public function getModel($moduleName, $methodName, $params = '')
|
||||
{
|
||||
parse_str(str_replace(',', '&', $params), $params);
|
||||
$module = $this->loadModel($moduleName);
|
||||
$result = call_user_func_array(array(&$module, $methodName), $params);
|
||||
if(dao::isError()) die(json_encode(dao::getError()));
|
||||
$output['status'] = $result ? 'success' : 'fail';
|
||||
$output['data'] = json_encode($result);
|
||||
$output['md5'] = md5($output['data']);
|
||||
$this->output = json_encode($output);
|
||||
die($this->output);
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The control file of api of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package api
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class api extends control
|
||||
{
|
||||
/* 获得sessionid。*/
|
||||
public function getSessionID()
|
||||
{
|
||||
$this->session->set('rand', mt_rand(0, 10000));
|
||||
$this->view->sessionName = session_name();
|
||||
$this->view->sessionID = session_id();
|
||||
$this->view->rand = $this->session->rand;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 获得某一个model某一个方法的结果。params的传递方式:param1=value1,param2=value2。*/
|
||||
public function getModel($moduleName, $methodName, $params = '')
|
||||
{
|
||||
parse_str(str_replace(',', '&', $params), $params);
|
||||
$module = $this->loadModel($moduleName);
|
||||
$result = call_user_func_array(array(&$module, $methodName), $params);
|
||||
if(dao::isError()) die(json_encode(dao::getError()));
|
||||
$output['status'] = $result ? 'success' : 'fail';
|
||||
$output['data'] = json_encode($result);
|
||||
$output['md5'] = md5($output['data']);
|
||||
$this->output = json_encode($output);
|
||||
die($this->output);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,25 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* The api module English file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package api
|
||||
* @version $Id: English.php 824 2010-05-02 15:32:06Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->api->common = 'API';
|
||||
$lang->api->getModel = 'Super Model API';
|
||||
<?php
|
||||
/**
|
||||
* The api module English file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package api
|
||||
* @version $Id: English.php 824 2010-05-02 15:32:06Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->api->common = 'API';
|
||||
$lang->api->getModel = 'Super Model API';
|
||||
|
||||
@@ -1,25 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* The api module Japanese file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package api
|
||||
* @version $Id: Japanese.php 824 2010-05-02 15:32:06Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->api->common = 'APIの';
|
||||
$lang->api->getModel = 'スーパーモデルのAPI';
|
||||
<?php
|
||||
/**
|
||||
* The api module Japanese file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package api
|
||||
* @version $Id: Japanese.php 824 2010-05-02 15:32:06Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->api->common = 'APIの';
|
||||
$lang->api->getModel = 'スーパーモデルのAPI';
|
||||
|
||||
@@ -1,25 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* The api module Korean file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package api
|
||||
* @version $Id: Korean.php 824 2010-05-02 15:32:06Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->api->common = 'API를';
|
||||
$lang->api->getModel = '슈퍼 모델 API를';
|
||||
<?php
|
||||
/**
|
||||
* The api module Korean file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package api
|
||||
* @version $Id: Korean.php 824 2010-05-02 15:32:06Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->api->common = 'API를';
|
||||
$lang->api->getModel = '슈퍼 모델 API를';
|
||||
|
||||
@@ -1,25 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* The api module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package api
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->api->common = 'API接口';
|
||||
$lang->api->getModel = '超级model调用接口';
|
||||
<?php
|
||||
/**
|
||||
* The api module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package api
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->api->common = 'API接口';
|
||||
$lang->api->getModel = '超级model调用接口';
|
||||
|
||||
@@ -1,25 +1,12 @@
|
||||
<?php
|
||||
/**
|
||||
* The api module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package api
|
||||
* @version $Id: zh-tw.php 1068 2010-09-11 07:11:57Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->api->common = 'API介面';
|
||||
$lang->api->getModel = '超級model調用介面';
|
||||
<?php
|
||||
/**
|
||||
* The api module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package api
|
||||
* @version $Id: zh-tw.php 1068 2010-09-11 07:11:57Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->api->common = 'API介面';
|
||||
$lang->api->getModel = '超級model調用介面';
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,286 +1,273 @@
|
||||
<?php
|
||||
/**
|
||||
* The bug module English file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 字段列表。*/
|
||||
$lang->bug->common = 'Bug';
|
||||
$lang->bug->id = 'ID';
|
||||
$lang->bug->product = 'Product';
|
||||
$lang->bug->module = 'Module';
|
||||
$lang->bug->path = 'Path';
|
||||
$lang->bug->project = 'Project';
|
||||
$lang->bug->story = 'Story';
|
||||
$lang->bug->storyVersion = 'Story Version';
|
||||
$lang->bug->task = 'Task';
|
||||
$lang->bug->title = 'Title';
|
||||
$lang->bug->severity = 'Severity';
|
||||
$lang->bug->severityAB = 'S';
|
||||
$lang->bug->pri = 'Priority';
|
||||
$lang->bug->type = 'Type';
|
||||
$lang->bug->os = 'OS';
|
||||
$lang->bug->hardware = 'Hardware';
|
||||
$lang->bug->browser = 'Browser';
|
||||
$lang->bug->machine = 'Machine';
|
||||
$lang->bug->found = 'How found';
|
||||
$lang->bug->steps = 'Steps';
|
||||
$lang->bug->status = 'Status';
|
||||
$lang->bug->mailto = 'Mailto';
|
||||
$lang->bug->openedBy = 'Opened By';
|
||||
$lang->bug->openedByAB = 'Opened';
|
||||
$lang->bug->openedDate = 'Opened date';
|
||||
$lang->bug->openedBuild = 'Opened Build';
|
||||
$lang->bug->assignedTo = 'Assigned';
|
||||
$lang->bug->assignedDate = 'Assigned Date';
|
||||
$lang->bug->resolvedBy = 'Resolved By';
|
||||
$lang->bug->resolvedByAB = 'Resolve';
|
||||
$lang->bug->resolution = 'Resolution';
|
||||
$lang->bug->resolutionAB = 'Resolution';
|
||||
$lang->bug->resolvedBuild = 'Resolved Build';
|
||||
$lang->bug->resolvedDate = 'Resolved Date';
|
||||
$lang->bug->closedBy = 'Closed By';
|
||||
$lang->bug->closedDate = 'Closed Date';
|
||||
$lang->bug->duplicateBug = 'Duplicate';
|
||||
$lang->bug->lastEditedBy = 'Last Edited By';
|
||||
$lang->bug->lastEditedDate = 'Last Edited Date';
|
||||
$lang->bug->linkBug = 'Related';
|
||||
$lang->bug->case = 'Case';
|
||||
$lang->bug->files = 'Files';
|
||||
$lang->bug->keywords = 'Keywords';
|
||||
$lang->bug->lastEditedByAB = 'Edited';
|
||||
$lang->bug->lastEditedDateAB = 'Edited Date';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->bug->index = 'Index';
|
||||
$lang->bug->create = 'Create Bug';
|
||||
$lang->bug->edit = 'Edit Bug';
|
||||
$lang->bug->browse = 'Browse Bug';
|
||||
$lang->bug->view = 'Bug Info';
|
||||
$lang->bug->resolve = 'Resolve Bug';
|
||||
$lang->bug->close = 'Close Bug';
|
||||
$lang->bug->activate = 'Activate Bug';
|
||||
$lang->bug->reportChart = 'Report';
|
||||
$lang->bug->delete = 'Delete Bug';
|
||||
$lang->bug->saveTemplate = 'Save template';
|
||||
$lang->bug->deleteTemplate = 'Delete template';
|
||||
$lang->bug->customFields = 'Custom Field';
|
||||
$lang->bug->restoreDefault = 'Default';
|
||||
$lang->bug->ajaxGetUserBugs = 'API: My Bugs';
|
||||
$lang->bug->ajaxGetModuleOwner = 'API: Get module default owner';
|
||||
$lang->bug->confirmStoryChange = 'Confirm Story Change';
|
||||
|
||||
/* 查询条件列表。*/
|
||||
$lang->bug->selectProduct = 'Select product';
|
||||
$lang->bug->byModule = 'ByModule';
|
||||
$lang->bug->assignToMe = 'Tome';
|
||||
$lang->bug->openedByMe = 'MyOpen';
|
||||
$lang->bug->resolvedByMe = 'MyResolve';
|
||||
$lang->bug->assignToNull = 'Assign null';
|
||||
$lang->bug->longLifeBugs = 'Long life';
|
||||
$lang->bug->postponedBugs = 'Postponed';
|
||||
$lang->bug->allBugs = 'All bug';
|
||||
$lang->bug->moduleBugs = 'By module';
|
||||
$lang->bug->byQuery = 'Search';
|
||||
$lang->bug->needConfirm = 'Story changed';
|
||||
$lang->bug->allProduct = 'All products';
|
||||
|
||||
/* 页面标签。*/
|
||||
$lang->bug->lblProductAndModule = 'Product&Module';
|
||||
$lang->bug->lblProjectAndTask = 'Project&Task';
|
||||
$lang->bug->lblStory = 'Story';
|
||||
$lang->bug->lblTypeAndSeverity = 'Type&Severity';
|
||||
$lang->bug->lblSystemBrowserAndHardware = 'OS&Browser';
|
||||
$lang->bug->lblAssignedTo = 'Assigned to';
|
||||
$lang->bug->lblMailto = 'Mailto';
|
||||
$lang->bug->lblLastEdited = 'Last edited';
|
||||
$lang->bug->lblResolved = 'Resolved';
|
||||
$lang->bug->lblAllFields = 'All Fields';
|
||||
$lang->bug->lblCustomFields = 'Custom Fields';
|
||||
|
||||
/* legend列表。*/
|
||||
$lang->bug->legendBasicInfo = 'Basic info';
|
||||
$lang->bug->legendMailto = 'Mailto';
|
||||
$lang->bug->legendAttatch = 'Files';
|
||||
$lang->bug->legendLinkBugs = 'Related bug';
|
||||
$lang->bug->legendPrjStoryTask= 'Project, story & task';
|
||||
$lang->bug->legendCases = 'Related case';
|
||||
$lang->bug->legendSteps = 'Steps';
|
||||
$lang->bug->legendAction = 'Action';
|
||||
$lang->bug->legendHistory = 'History';
|
||||
$lang->bug->legendComment = 'Comment';
|
||||
$lang->bug->legendLife = 'Lifetime';
|
||||
$lang->bug->legendMisc = 'Misc';
|
||||
|
||||
/* 功能按钮。*/
|
||||
$lang->bug->buttonCopy = 'Copy';
|
||||
$lang->bug->buttonEdit = 'Edit';
|
||||
$lang->bug->buttonActivate = 'Activate';
|
||||
$lang->bug->buttonResolve = 'Resolve';
|
||||
$lang->bug->buttonClose = 'Close';
|
||||
$lang->bug->buttonToList = 'Back';
|
||||
|
||||
/* 交互提示。*/
|
||||
$lang->bug->confirmChangeProduct = 'Change product will change project, task and story also, are you sure?';
|
||||
$lang->bug->confirmDelete = 'Are you sure to delete this bug?';
|
||||
$lang->bug->setTemplateTitle = 'Please input the template title:';
|
||||
|
||||
/* 模板。*/
|
||||
$lang->bug->tplStep = "<p>[Steps]</p>";
|
||||
$lang->bug->tplResult = "<p>[Result]</p>";
|
||||
$lang->bug->tplExpect = "<p>[Expect]</p>";
|
||||
|
||||
/* 各个字段取值列表。*/
|
||||
$lang->bug->severityList[3] = '3';
|
||||
$lang->bug->severityList[1] = '1';
|
||||
$lang->bug->severityList[2] = '2';
|
||||
$lang->bug->severityList[4] = '4';
|
||||
|
||||
$lang->bug->priList[0] = '';
|
||||
$lang->bug->priList[3] = '3';
|
||||
$lang->bug->priList[1] = '1';
|
||||
$lang->bug->priList[2] = '2';
|
||||
$lang->bug->priList[4] = '4';
|
||||
|
||||
$lang->bug->osList[''] = '';
|
||||
$lang->bug->osList['all'] = 'All';
|
||||
$lang->bug->osList['windows'] = 'Windows';
|
||||
$lang->bug->osList['winxp'] = 'Windows XP';
|
||||
$lang->bug->osList['win7'] = 'Windows 7';
|
||||
$lang->bug->osList['vista'] = 'Windows Vista';
|
||||
$lang->bug->osList['win2000'] = 'Windows 2000';
|
||||
$lang->bug->osList['winnt'] = 'Windows NT';
|
||||
$lang->bug->osList['win98'] = 'Windows 98';
|
||||
$lang->bug->osList['linux'] = 'Linux';
|
||||
$lang->bug->osList['freebsd'] = 'FreeBSD';
|
||||
$lang->bug->osList['unix'] = 'Unix';
|
||||
$lang->bug->osList['others'] = 'Others';
|
||||
|
||||
$lang->bug->browserList[''] = '';
|
||||
$lang->bug->browserList['all'] = 'All';
|
||||
$lang->bug->browserList['ie'] = 'IE';
|
||||
$lang->bug->browserList['ie6'] = 'IE6';
|
||||
$lang->bug->browserList['ie7'] = 'IE7';
|
||||
$lang->bug->browserList['ie8'] = 'IE8';
|
||||
$lang->bug->browserList['firefox'] = 'Firefox';
|
||||
$lang->bug->browserList['firefox2'] = 'Firefox2';
|
||||
$lang->bug->browserList['firefx3'] = 'Firefox3';
|
||||
$lang->bug->browserList['opera'] = 'opera';
|
||||
$lang->bug->browserList['opera9'] = 'opera9';
|
||||
$lang->bug->browserList['oprea10'] = 'opera10';
|
||||
$lang->bug->browserList['safari'] = 'safari';
|
||||
$lang->bug->browserList['chrome'] = 'chrome';
|
||||
$lang->bug->browserList['other'] = 'Others';
|
||||
|
||||
$lang->bug->typeList[''] = '';
|
||||
$lang->bug->typeList['codeerror'] = 'Code error';
|
||||
$lang->bug->typeList['interface'] = 'Interface';
|
||||
$lang->bug->typeList['designchange'] = 'Design change';
|
||||
$lang->bug->typeList['newfeature'] = 'New feature';
|
||||
$lang->bug->typeList['designdefect'] = 'Design defect';
|
||||
$lang->bug->typeList['config'] = 'Config';
|
||||
$lang->bug->typeList['install'] = 'Install';
|
||||
$lang->bug->typeList['security'] = 'Security';
|
||||
$lang->bug->typeList['performance'] = 'Performance';
|
||||
$lang->bug->typeList['standard'] = 'Standard';
|
||||
$lang->bug->typeList['automation'] = 'Automation';
|
||||
$lang->bug->typeList['trackthings'] = 'Tracking';
|
||||
$lang->bug->typeList['Others'] = 'Others';
|
||||
|
||||
$lang->bug->statusList[''] = '';
|
||||
$lang->bug->statusList['active'] = 'Active';
|
||||
$lang->bug->statusList['resolved'] = 'Resolved';
|
||||
$lang->bug->statusList['closed'] = 'Closed';
|
||||
|
||||
$lang->bug->resolutionList[''] = '';
|
||||
$lang->bug->resolutionList['bydesign'] = 'By design';
|
||||
$lang->bug->resolutionList['duplicate'] = 'Duplicate';
|
||||
$lang->bug->resolutionList['external'] = 'External';
|
||||
$lang->bug->resolutionList['fixed'] = 'Fixed';
|
||||
$lang->bug->resolutionList['notrepro'] = 'Not reproduce';
|
||||
$lang->bug->resolutionList['postponed'] = 'Postponed';
|
||||
$lang->bug->resolutionList['willnotfix'] = "Won't fix";
|
||||
|
||||
/* 统计报表。*/
|
||||
$lang->bug->report->common = 'Report';
|
||||
$lang->bug->report->select = 'Select';
|
||||
$lang->bug->report->create = 'Create';
|
||||
$lang->bug->report->selectAll = 'All';
|
||||
$lang->bug->report->selectReverse = 'Reverse';
|
||||
|
||||
$lang->bug->report->charts['bugsPerProject'] = 'Project bugs';
|
||||
$lang->bug->report->charts['bugsPerModule'] = 'Module bugs';
|
||||
$lang->bug->report->charts['openedBugsPerDay'] = 'Opened bugs per day';
|
||||
$lang->bug->report->charts['resolvedBugsPerDay'] = 'Resolved bugs per day';
|
||||
$lang->bug->report->charts['closedBugsPerDay'] = 'Closed bugs per day';
|
||||
$lang->bug->report->charts['openedBugsPerUser'] = 'Opened bugs per user';
|
||||
$lang->bug->report->charts['resolvedBugsPerUser']= 'Resolved bugs per user';
|
||||
$lang->bug->report->charts['closedBugsPerUser'] = 'Closed bugs per user';
|
||||
$lang->bug->report->charts['bugsPerSeverity'] = 'Severity';
|
||||
$lang->bug->report->charts['bugsPerResolution'] = 'Resolution';
|
||||
$lang->bug->report->charts['bugsPerStatus'] = 'Status';
|
||||
$lang->bug->report->charts['bugsPerType'] = 'Type';
|
||||
//$lang->bug->report->charts['bugLiveDays'] = 'Bug处理时间统计';
|
||||
//$lang->bug->report->charts['bugHistories'] = 'Bug处理步骤统计';
|
||||
|
||||
$lang->bug->report->options->swf = 'pie2d';
|
||||
$lang->bug->report->options->width = 'auto';
|
||||
$lang->bug->report->options->height = 300;
|
||||
$lang->bug->report->options->graph->baseFontSize = 12;
|
||||
$lang->bug->report->options->graph->showNames = 1;
|
||||
$lang->bug->report->options->graph->formatNumber = 1;
|
||||
$lang->bug->report->options->graph->decimalPrecision = 0;
|
||||
$lang->bug->report->options->graph->animation = 0;
|
||||
$lang->bug->report->options->graph->rotateNames = 0;
|
||||
$lang->bug->report->options->graph->yAxisName = 'COUNT';
|
||||
$lang->bug->report->options->graph->pieRadius = 100; // 饼图直径。
|
||||
$lang->bug->report->options->graph->showColumnShadow = 0; // 是否显示柱状图阴影。
|
||||
|
||||
$lang->bug->report->bugsPerProject->graph->xAxisName = 'Project';
|
||||
$lang->bug->report->bugsPerModule->graph->xAxisName = 'Module';
|
||||
|
||||
$lang->bug->report->openedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->openedBugsPerDay->height = 400;
|
||||
$lang->bug->report->openedBugsPerDay->graph->xAxisName = 'Date';
|
||||
$lang->bug->report->openedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->resolvedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->resolvedBugsPerDay->height = 400;
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->xAxisName = 'Date';
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->closedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->closedBugsPerDay->height = 400;
|
||||
$lang->bug->report->closedBugsPerDay->graph->xAxisName = 'Date';
|
||||
$lang->bug->report->closedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->openedBugsPerUser->graph->xAxisName = 'User';
|
||||
$lang->bug->report->resolvedBugsPerUser->graph->xAxisName= 'User';
|
||||
$lang->bug->report->closedBugsPerUser->graph->xAxisName = 'User';
|
||||
|
||||
$lang->bug->report->bugsPerSeverity->graph->xAxisName = 'Severity';
|
||||
$lang->bug->report->bugsPerResolution->graph->xAxisName = 'Resolution';
|
||||
$lang->bug->report->bugsPerStatus->graph->xAxisName = 'Status';
|
||||
$lang->bug->report->bugsPerType->graph->xAxisName = 'Type';
|
||||
$lang->bug->report->bugLiveDays->graph->xAxisName = 'Live days';
|
||||
$lang->bug->report->bugHistories->graph->xAxisName = 'Histories';
|
||||
|
||||
/* 操作记录。*/
|
||||
$lang->bug->action->resolved = array('main' => '$date, Resolved by <strong>$actor</strong>, resolution is <strong>$extra</strong>.', 'extra' => $lang->bug->resolutionList);
|
||||
<?php
|
||||
/**
|
||||
* The bug module English file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 字段列表。*/
|
||||
$lang->bug->common = 'Bug';
|
||||
$lang->bug->id = 'ID';
|
||||
$lang->bug->product = 'Product';
|
||||
$lang->bug->module = 'Module';
|
||||
$lang->bug->path = 'Path';
|
||||
$lang->bug->project = 'Project';
|
||||
$lang->bug->story = 'Story';
|
||||
$lang->bug->storyVersion = 'Story Version';
|
||||
$lang->bug->task = 'Task';
|
||||
$lang->bug->title = 'Title';
|
||||
$lang->bug->severity = 'Severity';
|
||||
$lang->bug->severityAB = 'S';
|
||||
$lang->bug->pri = 'Priority';
|
||||
$lang->bug->type = 'Type';
|
||||
$lang->bug->os = 'OS';
|
||||
$lang->bug->hardware = 'Hardware';
|
||||
$lang->bug->browser = 'Browser';
|
||||
$lang->bug->machine = 'Machine';
|
||||
$lang->bug->found = 'How found';
|
||||
$lang->bug->steps = 'Steps';
|
||||
$lang->bug->status = 'Status';
|
||||
$lang->bug->mailto = 'Mailto';
|
||||
$lang->bug->openedBy = 'Opened By';
|
||||
$lang->bug->openedByAB = 'Opened';
|
||||
$lang->bug->openedDate = 'Opened date';
|
||||
$lang->bug->openedBuild = 'Opened Build';
|
||||
$lang->bug->assignedTo = 'Assigned';
|
||||
$lang->bug->assignedDate = 'Assigned Date';
|
||||
$lang->bug->resolvedBy = 'Resolved By';
|
||||
$lang->bug->resolvedByAB = 'Resolve';
|
||||
$lang->bug->resolution = 'Resolution';
|
||||
$lang->bug->resolutionAB = 'Resolution';
|
||||
$lang->bug->resolvedBuild = 'Resolved Build';
|
||||
$lang->bug->resolvedDate = 'Resolved Date';
|
||||
$lang->bug->closedBy = 'Closed By';
|
||||
$lang->bug->closedDate = 'Closed Date';
|
||||
$lang->bug->duplicateBug = 'Duplicate';
|
||||
$lang->bug->lastEditedBy = 'Last Edited By';
|
||||
$lang->bug->lastEditedDate = 'Last Edited Date';
|
||||
$lang->bug->linkBug = 'Related';
|
||||
$lang->bug->case = 'Case';
|
||||
$lang->bug->files = 'Files';
|
||||
$lang->bug->keywords = 'Keywords';
|
||||
$lang->bug->lastEditedByAB = 'Edited';
|
||||
$lang->bug->lastEditedDateAB = 'Edited Date';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->bug->index = 'Index';
|
||||
$lang->bug->create = 'Create Bug';
|
||||
$lang->bug->edit = 'Edit Bug';
|
||||
$lang->bug->browse = 'Browse Bug';
|
||||
$lang->bug->view = 'Bug Info';
|
||||
$lang->bug->resolve = 'Resolve Bug';
|
||||
$lang->bug->close = 'Close Bug';
|
||||
$lang->bug->activate = 'Activate Bug';
|
||||
$lang->bug->reportChart = 'Report';
|
||||
$lang->bug->delete = 'Delete Bug';
|
||||
$lang->bug->saveTemplate = 'Save template';
|
||||
$lang->bug->deleteTemplate = 'Delete template';
|
||||
$lang->bug->customFields = 'Custom Field';
|
||||
$lang->bug->restoreDefault = 'Default';
|
||||
$lang->bug->ajaxGetUserBugs = 'API: My Bugs';
|
||||
$lang->bug->ajaxGetModuleOwner = 'API: Get module default owner';
|
||||
$lang->bug->confirmStoryChange = 'Confirm Story Change';
|
||||
|
||||
/* 查询条件列表。*/
|
||||
$lang->bug->selectProduct = 'Select product';
|
||||
$lang->bug->byModule = 'ByModule';
|
||||
$lang->bug->assignToMe = 'Tome';
|
||||
$lang->bug->openedByMe = 'MyOpen';
|
||||
$lang->bug->resolvedByMe = 'MyResolve';
|
||||
$lang->bug->assignToNull = 'Assign null';
|
||||
$lang->bug->longLifeBugs = 'Long life';
|
||||
$lang->bug->postponedBugs = 'Postponed';
|
||||
$lang->bug->allBugs = 'All bug';
|
||||
$lang->bug->moduleBugs = 'By module';
|
||||
$lang->bug->byQuery = 'Search';
|
||||
$lang->bug->needConfirm = 'Story changed';
|
||||
$lang->bug->allProduct = 'All products';
|
||||
|
||||
/* 页面标签。*/
|
||||
$lang->bug->lblProductAndModule = 'Product&Module';
|
||||
$lang->bug->lblProjectAndTask = 'Project&Task';
|
||||
$lang->bug->lblStory = 'Story';
|
||||
$lang->bug->lblTypeAndSeverity = 'Type&Severity';
|
||||
$lang->bug->lblSystemBrowserAndHardware = 'OS&Browser';
|
||||
$lang->bug->lblAssignedTo = 'Assigned to';
|
||||
$lang->bug->lblMailto = 'Mailto';
|
||||
$lang->bug->lblLastEdited = 'Last edited';
|
||||
$lang->bug->lblResolved = 'Resolved';
|
||||
$lang->bug->lblAllFields = 'All Fields';
|
||||
$lang->bug->lblCustomFields = 'Custom Fields';
|
||||
|
||||
/* legend列表。*/
|
||||
$lang->bug->legendBasicInfo = 'Basic info';
|
||||
$lang->bug->legendMailto = 'Mailto';
|
||||
$lang->bug->legendAttatch = 'Files';
|
||||
$lang->bug->legendLinkBugs = 'Related bug';
|
||||
$lang->bug->legendPrjStoryTask= 'Project, story & task';
|
||||
$lang->bug->legendCases = 'Related case';
|
||||
$lang->bug->legendSteps = 'Steps';
|
||||
$lang->bug->legendAction = 'Action';
|
||||
$lang->bug->legendHistory = 'History';
|
||||
$lang->bug->legendComment = 'Comment';
|
||||
$lang->bug->legendLife = 'Lifetime';
|
||||
$lang->bug->legendMisc = 'Misc';
|
||||
|
||||
/* 功能按钮。*/
|
||||
$lang->bug->buttonCopy = 'Copy';
|
||||
$lang->bug->buttonEdit = 'Edit';
|
||||
$lang->bug->buttonActivate = 'Activate';
|
||||
$lang->bug->buttonResolve = 'Resolve';
|
||||
$lang->bug->buttonClose = 'Close';
|
||||
$lang->bug->buttonToList = 'Back';
|
||||
|
||||
/* 交互提示。*/
|
||||
$lang->bug->confirmChangeProduct = 'Change product will change project, task and story also, are you sure?';
|
||||
$lang->bug->confirmDelete = 'Are you sure to delete this bug?';
|
||||
$lang->bug->setTemplateTitle = 'Please input the template title:';
|
||||
|
||||
/* 模板。*/
|
||||
$lang->bug->tplStep = "<p>[Steps]</p>";
|
||||
$lang->bug->tplResult = "<p>[Result]</p>";
|
||||
$lang->bug->tplExpect = "<p>[Expect]</p>";
|
||||
|
||||
/* 各个字段取值列表。*/
|
||||
$lang->bug->severityList[3] = '3';
|
||||
$lang->bug->severityList[1] = '1';
|
||||
$lang->bug->severityList[2] = '2';
|
||||
$lang->bug->severityList[4] = '4';
|
||||
|
||||
$lang->bug->priList[0] = '';
|
||||
$lang->bug->priList[3] = '3';
|
||||
$lang->bug->priList[1] = '1';
|
||||
$lang->bug->priList[2] = '2';
|
||||
$lang->bug->priList[4] = '4';
|
||||
|
||||
$lang->bug->osList[''] = '';
|
||||
$lang->bug->osList['all'] = 'All';
|
||||
$lang->bug->osList['windows'] = 'Windows';
|
||||
$lang->bug->osList['winxp'] = 'Windows XP';
|
||||
$lang->bug->osList['win7'] = 'Windows 7';
|
||||
$lang->bug->osList['vista'] = 'Windows Vista';
|
||||
$lang->bug->osList['win2000'] = 'Windows 2000';
|
||||
$lang->bug->osList['winnt'] = 'Windows NT';
|
||||
$lang->bug->osList['win98'] = 'Windows 98';
|
||||
$lang->bug->osList['linux'] = 'Linux';
|
||||
$lang->bug->osList['freebsd'] = 'FreeBSD';
|
||||
$lang->bug->osList['unix'] = 'Unix';
|
||||
$lang->bug->osList['others'] = 'Others';
|
||||
|
||||
$lang->bug->browserList[''] = '';
|
||||
$lang->bug->browserList['all'] = 'All';
|
||||
$lang->bug->browserList['ie'] = 'IE';
|
||||
$lang->bug->browserList['ie6'] = 'IE6';
|
||||
$lang->bug->browserList['ie7'] = 'IE7';
|
||||
$lang->bug->browserList['ie8'] = 'IE8';
|
||||
$lang->bug->browserList['firefox'] = 'Firefox';
|
||||
$lang->bug->browserList['firefox2'] = 'Firefox2';
|
||||
$lang->bug->browserList['firefx3'] = 'Firefox3';
|
||||
$lang->bug->browserList['opera'] = 'opera';
|
||||
$lang->bug->browserList['opera9'] = 'opera9';
|
||||
$lang->bug->browserList['oprea10'] = 'opera10';
|
||||
$lang->bug->browserList['safari'] = 'safari';
|
||||
$lang->bug->browserList['chrome'] = 'chrome';
|
||||
$lang->bug->browserList['other'] = 'Others';
|
||||
|
||||
$lang->bug->typeList[''] = '';
|
||||
$lang->bug->typeList['codeerror'] = 'Code error';
|
||||
$lang->bug->typeList['interface'] = 'Interface';
|
||||
$lang->bug->typeList['designchange'] = 'Design change';
|
||||
$lang->bug->typeList['newfeature'] = 'New feature';
|
||||
$lang->bug->typeList['designdefect'] = 'Design defect';
|
||||
$lang->bug->typeList['config'] = 'Config';
|
||||
$lang->bug->typeList['install'] = 'Install';
|
||||
$lang->bug->typeList['security'] = 'Security';
|
||||
$lang->bug->typeList['performance'] = 'Performance';
|
||||
$lang->bug->typeList['standard'] = 'Standard';
|
||||
$lang->bug->typeList['automation'] = 'Automation';
|
||||
$lang->bug->typeList['trackthings'] = 'Tracking';
|
||||
$lang->bug->typeList['Others'] = 'Others';
|
||||
|
||||
$lang->bug->statusList[''] = '';
|
||||
$lang->bug->statusList['active'] = 'Active';
|
||||
$lang->bug->statusList['resolved'] = 'Resolved';
|
||||
$lang->bug->statusList['closed'] = 'Closed';
|
||||
|
||||
$lang->bug->resolutionList[''] = '';
|
||||
$lang->bug->resolutionList['bydesign'] = 'By design';
|
||||
$lang->bug->resolutionList['duplicate'] = 'Duplicate';
|
||||
$lang->bug->resolutionList['external'] = 'External';
|
||||
$lang->bug->resolutionList['fixed'] = 'Fixed';
|
||||
$lang->bug->resolutionList['notrepro'] = 'Not reproduce';
|
||||
$lang->bug->resolutionList['postponed'] = 'Postponed';
|
||||
$lang->bug->resolutionList['willnotfix'] = "Won't fix";
|
||||
|
||||
/* 统计报表。*/
|
||||
$lang->bug->report->common = 'Report';
|
||||
$lang->bug->report->select = 'Select';
|
||||
$lang->bug->report->create = 'Create';
|
||||
$lang->bug->report->selectAll = 'All';
|
||||
$lang->bug->report->selectReverse = 'Reverse';
|
||||
|
||||
$lang->bug->report->charts['bugsPerProject'] = 'Project bugs';
|
||||
$lang->bug->report->charts['bugsPerModule'] = 'Module bugs';
|
||||
$lang->bug->report->charts['openedBugsPerDay'] = 'Opened bugs per day';
|
||||
$lang->bug->report->charts['resolvedBugsPerDay'] = 'Resolved bugs per day';
|
||||
$lang->bug->report->charts['closedBugsPerDay'] = 'Closed bugs per day';
|
||||
$lang->bug->report->charts['openedBugsPerUser'] = 'Opened bugs per user';
|
||||
$lang->bug->report->charts['resolvedBugsPerUser']= 'Resolved bugs per user';
|
||||
$lang->bug->report->charts['closedBugsPerUser'] = 'Closed bugs per user';
|
||||
$lang->bug->report->charts['bugsPerSeverity'] = 'Severity';
|
||||
$lang->bug->report->charts['bugsPerResolution'] = 'Resolution';
|
||||
$lang->bug->report->charts['bugsPerStatus'] = 'Status';
|
||||
$lang->bug->report->charts['bugsPerType'] = 'Type';
|
||||
//$lang->bug->report->charts['bugLiveDays'] = 'Bug处理时间统计';
|
||||
//$lang->bug->report->charts['bugHistories'] = 'Bug处理步骤统计';
|
||||
|
||||
$lang->bug->report->options->swf = 'pie2d';
|
||||
$lang->bug->report->options->width = 'auto';
|
||||
$lang->bug->report->options->height = 300;
|
||||
$lang->bug->report->options->graph->baseFontSize = 12;
|
||||
$lang->bug->report->options->graph->showNames = 1;
|
||||
$lang->bug->report->options->graph->formatNumber = 1;
|
||||
$lang->bug->report->options->graph->decimalPrecision = 0;
|
||||
$lang->bug->report->options->graph->animation = 0;
|
||||
$lang->bug->report->options->graph->rotateNames = 0;
|
||||
$lang->bug->report->options->graph->yAxisName = 'COUNT';
|
||||
$lang->bug->report->options->graph->pieRadius = 100; // 饼图直径。
|
||||
$lang->bug->report->options->graph->showColumnShadow = 0; // 是否显示柱状图阴影。
|
||||
|
||||
$lang->bug->report->bugsPerProject->graph->xAxisName = 'Project';
|
||||
$lang->bug->report->bugsPerModule->graph->xAxisName = 'Module';
|
||||
|
||||
$lang->bug->report->openedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->openedBugsPerDay->height = 400;
|
||||
$lang->bug->report->openedBugsPerDay->graph->xAxisName = 'Date';
|
||||
$lang->bug->report->openedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->resolvedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->resolvedBugsPerDay->height = 400;
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->xAxisName = 'Date';
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->closedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->closedBugsPerDay->height = 400;
|
||||
$lang->bug->report->closedBugsPerDay->graph->xAxisName = 'Date';
|
||||
$lang->bug->report->closedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->openedBugsPerUser->graph->xAxisName = 'User';
|
||||
$lang->bug->report->resolvedBugsPerUser->graph->xAxisName= 'User';
|
||||
$lang->bug->report->closedBugsPerUser->graph->xAxisName = 'User';
|
||||
|
||||
$lang->bug->report->bugsPerSeverity->graph->xAxisName = 'Severity';
|
||||
$lang->bug->report->bugsPerResolution->graph->xAxisName = 'Resolution';
|
||||
$lang->bug->report->bugsPerStatus->graph->xAxisName = 'Status';
|
||||
$lang->bug->report->bugsPerType->graph->xAxisName = 'Type';
|
||||
$lang->bug->report->bugLiveDays->graph->xAxisName = 'Live days';
|
||||
$lang->bug->report->bugHistories->graph->xAxisName = 'Histories';
|
||||
|
||||
/* 操作记录。*/
|
||||
$lang->bug->action->resolved = array('main' => '$date, Resolved by <strong>$actor</strong>, resolution is <strong>$extra</strong>.', 'extra' => $lang->bug->resolutionList);
|
||||
|
||||
@@ -1,286 +1,273 @@
|
||||
<?php
|
||||
/**
|
||||
* The bug module Japanese file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id: en.php 1033 2010-08-07 02:12:20Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 字段列表。*/
|
||||
$lang->bug->common = 'バグ';
|
||||
$lang->bug->id = 'IDは';
|
||||
$lang->bug->product = '製品';
|
||||
$lang->bug->module = 'モジュール';
|
||||
$lang->bug->path = 'パス';
|
||||
$lang->bug->project = 'プロジェクト';
|
||||
$lang->bug->story = 'ストーリー';
|
||||
$lang->bug->storyVersion = '小説版';
|
||||
$lang->bug->task = 'タスク';
|
||||
$lang->bug->title = 'タイトル';
|
||||
$lang->bug->severity = '重大度';
|
||||
$lang->bug->severityAB = 'のS';
|
||||
$lang->bug->pri = '優先順位';
|
||||
$lang->bug->type = 'タイプ';
|
||||
$lang->bug->os = 'OSの';
|
||||
$lang->bug->hardware = 'ハードウェア';
|
||||
$lang->bug->browser = 'ブラウザ';
|
||||
$lang->bug->machine = 'マシン';
|
||||
$lang->bug->found = 'どのように発見';
|
||||
$lang->bug->steps = '手順';
|
||||
$lang->bug->status = 'ステータス';
|
||||
$lang->bug->mailto = 'MAILTOが';
|
||||
$lang->bug->openedBy = 'でオープン';
|
||||
$lang->bug->openedByAB = 'オープン';
|
||||
$lang->bug->openedDate = 'オープン日';
|
||||
$lang->bug->openedBuild = 'オープンビルド';
|
||||
$lang->bug->assignedTo = '割り当て';
|
||||
$lang->bug->assignedDate = '割り当て日';
|
||||
$lang->bug->resolvedBy = '解決で';
|
||||
$lang->bug->resolvedByAB = '解決で';
|
||||
$lang->bug->resolution = '解像度';
|
||||
$lang->bug->resolutionAB = '解像度';
|
||||
$lang->bug->resolvedBuild = '解決ビルド';
|
||||
$lang->bug->resolvedDate = '解決日';
|
||||
$lang->bug->closedBy = 'で休館';
|
||||
$lang->bug->closedDate = 'クローズド日';
|
||||
$lang->bug->duplicateBug = '重複';
|
||||
$lang->bug->lastEditedBy = '編集で最後に';
|
||||
$lang->bug->lastEditedDate = '最終編集日';
|
||||
$lang->bug->linkBug = '関連した';
|
||||
$lang->bug->case = 'ケース';
|
||||
$lang->bug->files = 'ファイル';
|
||||
$lang->bug->keywords = 'キーワード';
|
||||
$lang->bug->lastEditedByAB = '編集';
|
||||
$lang->bug->lastEditedDateAB = '編集日';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->bug->index = 'インデックス';
|
||||
$lang->bug->create = '作成バグ';
|
||||
$lang->bug->edit = '[編集]バグ';
|
||||
$lang->bug->browse = 'ブラウズバグ';
|
||||
$lang->bug->view = 'バグ情報';
|
||||
$lang->bug->resolve = '解決バグ';
|
||||
$lang->bug->close = '閉じるバグ';
|
||||
$lang->bug->activate = 'アクティブバグ';
|
||||
$lang->bug->reportChart = 'レポート';
|
||||
$lang->bug->delete = '削除バグ';
|
||||
$lang->bug->saveTemplate = '保存テンプレートを';
|
||||
$lang->bug->deleteTemplate = '削除テンプレートを';
|
||||
$lang->bug->customFields = 'Custome';
|
||||
$lang->bug->restoreDefault = 'デフォルト';
|
||||
$lang->bug->ajaxGetUserBugs = 'APIは:私のバグ';
|
||||
$lang->bug->ajaxGetModuleOwner = 'APIは:モジュールのデフォルトの所有者を取得する';
|
||||
$lang->bug->confirmStoryChange = '確認ストーリーの変更';
|
||||
|
||||
/* 查询条件列表。*/
|
||||
$lang->bug->selectProduct = '製品を選択';
|
||||
$lang->bug->byModule = 'モジュールで';
|
||||
$lang->bug->assignToMe = '私に割り当てられた';
|
||||
$lang->bug->openedByMe = '私のオープン';
|
||||
$lang->bug->resolvedByMe = '私の解決';
|
||||
$lang->bug->assignToNull = '空の割り当て';
|
||||
$lang->bug->longLifeBugs = '長寿命';
|
||||
$lang->bug->postponedBugs = '延期';
|
||||
$lang->bug->allBugs = 'すべてのバグ';
|
||||
$lang->bug->moduleBugs = 'モジュールで';
|
||||
$lang->bug->byQuery = '検索';
|
||||
$lang->bug->needConfirm = '変更';
|
||||
$lang->bug->allProduct = 'すべての製品';
|
||||
|
||||
/* 页面标签。*/
|
||||
$lang->bug->lblProductAndModule = '製品&モジュール';
|
||||
$lang->bug->lblProjectAndTask = 'プロジェクト&タスク';
|
||||
$lang->bug->lblStory = 'ストーリー';
|
||||
$lang->bug->lblTypeAndSeverity = 'タイプと重大度';
|
||||
$lang->bug->lblSystemBrowserAndHardware = 'OSの&ブラウザ';
|
||||
$lang->bug->lblAssignedTo = 'に割り当て';
|
||||
$lang->bug->lblMailto = 'MAILTOが';
|
||||
$lang->bug->lblLastEdited = '最後の編集';
|
||||
$lang->bug->lblResolved = '解決';
|
||||
$lang->bug->lblAllFields = 'すべてのフィールド';
|
||||
$lang->bug->lblCustomFields = 'カスタムフィールド';
|
||||
|
||||
/* legend列表。*/
|
||||
$lang->bug->legendBasicInfo = '基本的な情報をもっと見る';
|
||||
$lang->bug->legendMailto = 'MAILTOが';
|
||||
$lang->bug->legendAttatch = 'ファイル';
|
||||
$lang->bug->legendLinkBugs = '関連バグ';
|
||||
$lang->bug->legendPrjStoryTask= 'プロジェクトストーリー&タスク';
|
||||
$lang->bug->legendCases = '関連ケース';
|
||||
$lang->bug->legendSteps = '手順';
|
||||
$lang->bug->legendAction = 'アクション';
|
||||
$lang->bug->legendHistory = '歴史';
|
||||
$lang->bug->legendComment = 'コメント';
|
||||
$lang->bug->legendLife = '';
|
||||
$lang->bug->legendMisc = 'その他';
|
||||
|
||||
/* 功能按钮。*/
|
||||
$lang->bug->buttonCopy = 'コピー';
|
||||
$lang->bug->buttonEdit = '[編集]';
|
||||
$lang->bug->buttonActivate = 'アクティブ';
|
||||
$lang->bug->buttonResolve = '解決';
|
||||
$lang->bug->buttonClose = 'クローズ';
|
||||
$lang->bug->buttonToList = 'バック';
|
||||
|
||||
/* 交互提示。*/
|
||||
$lang->bug->confirmChangeProduct = '変更製品は、タスクやストーリーを、プロジェクトを変更する場合はよろしいですか?';
|
||||
$lang->bug->confirmDelete = 'あなたはこのバグを?削除しますか';
|
||||
$lang->bug->setTemplateTitle = '入力してくださいタイトルテンプレート:';
|
||||
|
||||
/* 模板。*/
|
||||
$lang->bug->tplStep = "<p>[手順]</p>";
|
||||
$lang->bug->tplResult = "<p>[結果]</p>";
|
||||
$lang->bug->tplExpect = "<p>[期待]</p>";
|
||||
|
||||
/* 各个字段取值列表。*/
|
||||
$lang->bug->severityList[3] = '3';
|
||||
$lang->bug->severityList[1] = '1';
|
||||
$lang->bug->severityList[2] = '2';
|
||||
$lang->bug->severityList[4] = '4';
|
||||
|
||||
$lang->bug->priList[0] = '';
|
||||
$lang->bug->priList[3] = '3';
|
||||
$lang->bug->priList[1] = '1';
|
||||
$lang->bug->priList[2] = '2';
|
||||
$lang->bug->priList[4] = '4';
|
||||
|
||||
$lang->bug->osList[''] = '';
|
||||
$lang->bug->osList['all'] = 'すべて';
|
||||
$lang->bug->osList['windows'] = 'Windowsの';
|
||||
$lang->bug->osList['winxp'] = 'Windows XPの';
|
||||
$lang->bug->osList['win7'] = 'Windows 7の';
|
||||
$lang->bug->osList['vista'] = 'Windows Vistaの';
|
||||
$lang->bug->osList['win2000'] = 'Windows 2000の';
|
||||
$lang->bug->osList['winnt'] = 'Windows NTの';
|
||||
$lang->bug->osList['win98'] = 'Windows 98の';
|
||||
$lang->bug->osList['linux'] = 'リナックス';
|
||||
$lang->bug->osList['freebsd'] = 'FreeBSDの';
|
||||
$lang->bug->osList['unix'] = 'Unixの';
|
||||
$lang->bug->osList['others'] = '他人';
|
||||
|
||||
$lang->bug->browserList[''] = '';
|
||||
$lang->bug->browserList['all'] = 'すべて';
|
||||
$lang->bug->browserList['ie'] = 'IEの';
|
||||
$lang->bug->browserList['ie6'] = 'IE6の';
|
||||
$lang->bug->browserList['ie7'] = 'IE7の';
|
||||
$lang->bug->browserList['ie8'] = 'IE8の';
|
||||
$lang->bug->browserList['firefox'] = 'Firefoxの';
|
||||
$lang->bug->browserList['firefox2'] = 'Firefox2';
|
||||
$lang->bug->browserList['firefx3'] = 'Firefox3の';
|
||||
$lang->bug->browserList['opera'] = 'オペラ';
|
||||
$lang->bug->browserList['opera9'] = 'opera9';
|
||||
$lang->bug->browserList['oprea10'] = 'opera10';
|
||||
$lang->bug->browserList['safari'] = 'サファリ';
|
||||
$lang->bug->browserList['chrome'] = 'クロム';
|
||||
$lang->bug->browserList['other'] = '他人';
|
||||
|
||||
$lang->bug->typeList[''] = '';
|
||||
$lang->bug->typeList['codeerror'] = 'コードエラー';
|
||||
$lang->bug->typeList['interface'] = 'インターフェイス';
|
||||
$lang->bug->typeList['designchange'] = 'デザインの変更';
|
||||
$lang->bug->typeList['newfeature'] = '新機能';
|
||||
$lang->bug->typeList['designdefect'] = 'デザイン欠陥';
|
||||
$lang->bug->typeList['config'] = '構成';
|
||||
$lang->bug->typeList['install'] = 'インストール';
|
||||
$lang->bug->typeList['security'] = 'セキュリティー';
|
||||
$lang->bug->typeList['performance'] = 'パフォーマンス';
|
||||
$lang->bug->typeList['standard'] = 'スタンダード';
|
||||
$lang->bug->typeList['automation'] = '自動化';
|
||||
$lang->bug->typeList['trackthings'] = 'トラッキング';
|
||||
$lang->bug->typeList['Others'] = '他人';
|
||||
|
||||
$lang->bug->statusList[''] = '';
|
||||
$lang->bug->statusList['active'] = 'アクティブ';
|
||||
$lang->bug->statusList['resolved'] = '解決';
|
||||
$lang->bug->statusList['closed'] = 'クローズド';
|
||||
|
||||
$lang->bug->resolutionList[''] = '';
|
||||
$lang->bug->resolutionList['bydesign'] = 'デザインで';
|
||||
$lang->bug->resolutionList['duplicate'] = '重複';
|
||||
$lang->bug->resolutionList['external'] = '外部';
|
||||
$lang->bug->resolutionList['fixed'] = '固定';
|
||||
$lang->bug->resolutionList['notrepro'] = 'まだ再現';
|
||||
$lang->bug->resolutionList['postponed'] = '延期';
|
||||
$lang->bug->resolutionList['willnotfix'] = "ウィル解決しない";
|
||||
|
||||
/* 统计报表。*/
|
||||
$lang->bug->report->common = 'レポート';
|
||||
$lang->bug->report->select = '選択';
|
||||
$lang->bug->report->create = '作成';
|
||||
$lang->bug->report->selectAll = 'すべて';
|
||||
$lang->bug->report->selectReverse = '逆';
|
||||
|
||||
$lang->bug->report->charts['bugsPerProject'] = 'プロジェクトのバグ';
|
||||
$lang->bug->report->charts['bugsPerModule'] = 'モジュールのバグ';
|
||||
$lang->bug->report->charts['openedBugsPerDay'] = '1日あたりのオープンバグ';
|
||||
$lang->bug->report->charts['resolvedBugsPerDay'] = '1日あたりの解決済みのバグ';
|
||||
$lang->bug->report->charts['closedBugsPerDay'] = '1日あたりのクローズドバグ';
|
||||
$lang->bug->report->charts['openedBugsPerUser'] = 'ユーザーごとのオープンバグ';
|
||||
$lang->bug->report->charts['resolvedBugsPerUser']= 'ユーザーごとの解決済みのバグ';
|
||||
$lang->bug->report->charts['closedBugsPerUser'] = 'ユーザーごとのクローズドバグ';
|
||||
$lang->bug->report->charts['bugsPerSeverity'] = '重大度';
|
||||
$lang->bug->report->charts['bugsPerResolution'] = '解像度';
|
||||
$lang->bug->report->charts['bugsPerStatus'] = 'ステータス';
|
||||
$lang->bug->report->charts['bugsPerType'] = 'タイプ';
|
||||
//$lang->bug->report->charts['bugLiveDays'] = 'バグ处理时间统计';
|
||||
//$lang->bug->report->charts['bugHistories'] = 'バグ处理步骤统计';
|
||||
|
||||
$lang->bug->report->options->swf = 'pie2d';
|
||||
$lang->bug->report->options->width = 'オート';
|
||||
$lang->bug->report->options->height = 300;
|
||||
$lang->bug->report->options->graph->baseFontSize = 12;
|
||||
$lang->bug->report->options->graph->showNames = 1;
|
||||
$lang->bug->report->options->graph->formatNumber = 1;
|
||||
$lang->bug->report->options->graph->decimalPrecision = 0;
|
||||
$lang->bug->report->options->graph->animation = 0;
|
||||
$lang->bug->report->options->graph->rotateNames = 0;
|
||||
$lang->bug->report->options->graph->yAxisName = 'COUNTは';
|
||||
$lang->bug->report->options->graph->pieRadius = 100; // 饼图直径。
|
||||
$lang->bug->report->options->graph->showColumnShadow = 0; // 是否显示柱状图阴影。
|
||||
|
||||
$lang->bug->report->bugsPerProject->graph->xAxisName = 'プロジェクト';
|
||||
$lang->bug->report->bugsPerModule->graph->xAxisName = 'モジュール';
|
||||
|
||||
$lang->bug->report->openedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->openedBugsPerDay->height = 400;
|
||||
$lang->bug->report->openedBugsPerDay->graph->xAxisName = '日付';
|
||||
$lang->bug->report->openedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->resolvedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->resolvedBugsPerDay->height = 400;
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->xAxisName = '日付';
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->closedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->closedBugsPerDay->height = 400;
|
||||
$lang->bug->report->closedBugsPerDay->graph->xAxisName = '日付';
|
||||
$lang->bug->report->closedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->openedBugsPerUser->graph->xAxisName = 'ユーザー';
|
||||
$lang->bug->report->resolvedBugsPerUser->graph->xAxisName= 'ユーザー';
|
||||
$lang->bug->report->closedBugsPerUser->graph->xAxisName = 'ユーザー';
|
||||
|
||||
$lang->bug->report->bugsPerSeverity->graph->xAxisName = '重大度';
|
||||
$lang->bug->report->bugsPerResolution->graph->xAxisName = '解像度';
|
||||
$lang->bug->report->bugsPerStatus->graph->xAxisName = 'ステータス';
|
||||
$lang->bug->report->bugsPerType->graph->xAxisName = 'タイプ';
|
||||
$lang->bug->report->bugLiveDays->graph->xAxisName = 'ライブ日';
|
||||
$lang->bug->report->bugHistories->graph->xAxisName = '履歴';
|
||||
|
||||
/* 操作记录。*/
|
||||
$lang->bug->action->resolved = array('main' => '$date, Resolved by <strong>$actor</strong>, resolution is <strong>$extra</strong>.', 'extra' => $lang->bug->resolutionList);
|
||||
<?php
|
||||
/**
|
||||
* The bug module Japanese file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id: en.php 1033 2010-08-07 02:12:20Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 字段列表。*/
|
||||
$lang->bug->common = 'バグ';
|
||||
$lang->bug->id = 'IDは';
|
||||
$lang->bug->product = '製品';
|
||||
$lang->bug->module = 'モジュール';
|
||||
$lang->bug->path = 'パス';
|
||||
$lang->bug->project = 'プロジェクト';
|
||||
$lang->bug->story = 'ストーリー';
|
||||
$lang->bug->storyVersion = '小説版';
|
||||
$lang->bug->task = 'タスク';
|
||||
$lang->bug->title = 'タイトル';
|
||||
$lang->bug->severity = '重大度';
|
||||
$lang->bug->severityAB = 'のS';
|
||||
$lang->bug->pri = '優先順位';
|
||||
$lang->bug->type = 'タイプ';
|
||||
$lang->bug->os = 'OSの';
|
||||
$lang->bug->hardware = 'ハードウェア';
|
||||
$lang->bug->browser = 'ブラウザ';
|
||||
$lang->bug->machine = 'マシン';
|
||||
$lang->bug->found = 'どのように発見';
|
||||
$lang->bug->steps = '手順';
|
||||
$lang->bug->status = 'ステータス';
|
||||
$lang->bug->mailto = 'MAILTOが';
|
||||
$lang->bug->openedBy = 'でオープン';
|
||||
$lang->bug->openedByAB = 'オープン';
|
||||
$lang->bug->openedDate = 'オープン日';
|
||||
$lang->bug->openedBuild = 'オープンビルド';
|
||||
$lang->bug->assignedTo = '割り当て';
|
||||
$lang->bug->assignedDate = '割り当て日';
|
||||
$lang->bug->resolvedBy = '解決で';
|
||||
$lang->bug->resolvedByAB = '解決で';
|
||||
$lang->bug->resolution = '解像度';
|
||||
$lang->bug->resolutionAB = '解像度';
|
||||
$lang->bug->resolvedBuild = '解決ビルド';
|
||||
$lang->bug->resolvedDate = '解決日';
|
||||
$lang->bug->closedBy = 'で休館';
|
||||
$lang->bug->closedDate = 'クローズド日';
|
||||
$lang->bug->duplicateBug = '重複';
|
||||
$lang->bug->lastEditedBy = '編集で最後に';
|
||||
$lang->bug->lastEditedDate = '最終編集日';
|
||||
$lang->bug->linkBug = '関連した';
|
||||
$lang->bug->case = 'ケース';
|
||||
$lang->bug->files = 'ファイル';
|
||||
$lang->bug->keywords = 'キーワード';
|
||||
$lang->bug->lastEditedByAB = '編集';
|
||||
$lang->bug->lastEditedDateAB = '編集日';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->bug->index = 'インデックス';
|
||||
$lang->bug->create = '作成バグ';
|
||||
$lang->bug->edit = '[編集]バグ';
|
||||
$lang->bug->browse = 'ブラウズバグ';
|
||||
$lang->bug->view = 'バグ情報';
|
||||
$lang->bug->resolve = '解決バグ';
|
||||
$lang->bug->close = '閉じるバグ';
|
||||
$lang->bug->activate = 'アクティブバグ';
|
||||
$lang->bug->reportChart = 'レポート';
|
||||
$lang->bug->delete = '削除バグ';
|
||||
$lang->bug->saveTemplate = '保存テンプレートを';
|
||||
$lang->bug->deleteTemplate = '削除テンプレートを';
|
||||
$lang->bug->customFields = 'Custome';
|
||||
$lang->bug->restoreDefault = 'デフォルト';
|
||||
$lang->bug->ajaxGetUserBugs = 'APIは:私のバグ';
|
||||
$lang->bug->ajaxGetModuleOwner = 'APIは:モジュールのデフォルトの所有者を取得する';
|
||||
$lang->bug->confirmStoryChange = '確認ストーリーの変更';
|
||||
|
||||
/* 查询条件列表。*/
|
||||
$lang->bug->selectProduct = '製品を選択';
|
||||
$lang->bug->byModule = 'モジュールで';
|
||||
$lang->bug->assignToMe = '私に割り当てられた';
|
||||
$lang->bug->openedByMe = '私のオープン';
|
||||
$lang->bug->resolvedByMe = '私の解決';
|
||||
$lang->bug->assignToNull = '空の割り当て';
|
||||
$lang->bug->longLifeBugs = '長寿命';
|
||||
$lang->bug->postponedBugs = '延期';
|
||||
$lang->bug->allBugs = 'すべてのバグ';
|
||||
$lang->bug->moduleBugs = 'モジュールで';
|
||||
$lang->bug->byQuery = '検索';
|
||||
$lang->bug->needConfirm = '変更';
|
||||
$lang->bug->allProduct = 'すべての製品';
|
||||
|
||||
/* 页面标签。*/
|
||||
$lang->bug->lblProductAndModule = '製品&モジュール';
|
||||
$lang->bug->lblProjectAndTask = 'プロジェクト&タスク';
|
||||
$lang->bug->lblStory = 'ストーリー';
|
||||
$lang->bug->lblTypeAndSeverity = 'タイプと重大度';
|
||||
$lang->bug->lblSystemBrowserAndHardware = 'OSの&ブラウザ';
|
||||
$lang->bug->lblAssignedTo = 'に割り当て';
|
||||
$lang->bug->lblMailto = 'MAILTOが';
|
||||
$lang->bug->lblLastEdited = '最後の編集';
|
||||
$lang->bug->lblResolved = '解決';
|
||||
$lang->bug->lblAllFields = 'すべてのフィールド';
|
||||
$lang->bug->lblCustomFields = 'カスタムフィールド';
|
||||
|
||||
/* legend列表。*/
|
||||
$lang->bug->legendBasicInfo = '基本的な情報をもっと見る';
|
||||
$lang->bug->legendMailto = 'MAILTOが';
|
||||
$lang->bug->legendAttatch = 'ファイル';
|
||||
$lang->bug->legendLinkBugs = '関連バグ';
|
||||
$lang->bug->legendPrjStoryTask= 'プロジェクトストーリー&タスク';
|
||||
$lang->bug->legendCases = '関連ケース';
|
||||
$lang->bug->legendSteps = '手順';
|
||||
$lang->bug->legendAction = 'アクション';
|
||||
$lang->bug->legendHistory = '歴史';
|
||||
$lang->bug->legendComment = 'コメント';
|
||||
$lang->bug->legendLife = '';
|
||||
$lang->bug->legendMisc = 'その他';
|
||||
|
||||
/* 功能按钮。*/
|
||||
$lang->bug->buttonCopy = 'コピー';
|
||||
$lang->bug->buttonEdit = '[編集]';
|
||||
$lang->bug->buttonActivate = 'アクティブ';
|
||||
$lang->bug->buttonResolve = '解決';
|
||||
$lang->bug->buttonClose = 'クローズ';
|
||||
$lang->bug->buttonToList = 'バック';
|
||||
|
||||
/* 交互提示。*/
|
||||
$lang->bug->confirmChangeProduct = '変更製品は、タスクやストーリーを、プロジェクトを変更する場合はよろしいですか?';
|
||||
$lang->bug->confirmDelete = 'あなたはこのバグを?削除しますか';
|
||||
$lang->bug->setTemplateTitle = '入力してくださいタイトルテンプレート:';
|
||||
|
||||
/* 模板。*/
|
||||
$lang->bug->tplStep = "<p>[手順]</p>";
|
||||
$lang->bug->tplResult = "<p>[結果]</p>";
|
||||
$lang->bug->tplExpect = "<p>[期待]</p>";
|
||||
|
||||
/* 各个字段取值列表。*/
|
||||
$lang->bug->severityList[3] = '3';
|
||||
$lang->bug->severityList[1] = '1';
|
||||
$lang->bug->severityList[2] = '2';
|
||||
$lang->bug->severityList[4] = '4';
|
||||
|
||||
$lang->bug->priList[0] = '';
|
||||
$lang->bug->priList[3] = '3';
|
||||
$lang->bug->priList[1] = '1';
|
||||
$lang->bug->priList[2] = '2';
|
||||
$lang->bug->priList[4] = '4';
|
||||
|
||||
$lang->bug->osList[''] = '';
|
||||
$lang->bug->osList['all'] = 'すべて';
|
||||
$lang->bug->osList['windows'] = 'Windowsの';
|
||||
$lang->bug->osList['winxp'] = 'Windows XPの';
|
||||
$lang->bug->osList['win7'] = 'Windows 7の';
|
||||
$lang->bug->osList['vista'] = 'Windows Vistaの';
|
||||
$lang->bug->osList['win2000'] = 'Windows 2000の';
|
||||
$lang->bug->osList['winnt'] = 'Windows NTの';
|
||||
$lang->bug->osList['win98'] = 'Windows 98の';
|
||||
$lang->bug->osList['linux'] = 'リナックス';
|
||||
$lang->bug->osList['freebsd'] = 'FreeBSDの';
|
||||
$lang->bug->osList['unix'] = 'Unixの';
|
||||
$lang->bug->osList['others'] = '他人';
|
||||
|
||||
$lang->bug->browserList[''] = '';
|
||||
$lang->bug->browserList['all'] = 'すべて';
|
||||
$lang->bug->browserList['ie'] = 'IEの';
|
||||
$lang->bug->browserList['ie6'] = 'IE6の';
|
||||
$lang->bug->browserList['ie7'] = 'IE7の';
|
||||
$lang->bug->browserList['ie8'] = 'IE8の';
|
||||
$lang->bug->browserList['firefox'] = 'Firefoxの';
|
||||
$lang->bug->browserList['firefox2'] = 'Firefox2';
|
||||
$lang->bug->browserList['firefx3'] = 'Firefox3の';
|
||||
$lang->bug->browserList['opera'] = 'オペラ';
|
||||
$lang->bug->browserList['opera9'] = 'opera9';
|
||||
$lang->bug->browserList['oprea10'] = 'opera10';
|
||||
$lang->bug->browserList['safari'] = 'サファリ';
|
||||
$lang->bug->browserList['chrome'] = 'クロム';
|
||||
$lang->bug->browserList['other'] = '他人';
|
||||
|
||||
$lang->bug->typeList[''] = '';
|
||||
$lang->bug->typeList['codeerror'] = 'コードエラー';
|
||||
$lang->bug->typeList['interface'] = 'インターフェイス';
|
||||
$lang->bug->typeList['designchange'] = 'デザインの変更';
|
||||
$lang->bug->typeList['newfeature'] = '新機能';
|
||||
$lang->bug->typeList['designdefect'] = 'デザイン欠陥';
|
||||
$lang->bug->typeList['config'] = '構成';
|
||||
$lang->bug->typeList['install'] = 'インストール';
|
||||
$lang->bug->typeList['security'] = 'セキュリティー';
|
||||
$lang->bug->typeList['performance'] = 'パフォーマンス';
|
||||
$lang->bug->typeList['standard'] = 'スタンダード';
|
||||
$lang->bug->typeList['automation'] = '自動化';
|
||||
$lang->bug->typeList['trackthings'] = 'トラッキング';
|
||||
$lang->bug->typeList['Others'] = '他人';
|
||||
|
||||
$lang->bug->statusList[''] = '';
|
||||
$lang->bug->statusList['active'] = 'アクティブ';
|
||||
$lang->bug->statusList['resolved'] = '解決';
|
||||
$lang->bug->statusList['closed'] = 'クローズド';
|
||||
|
||||
$lang->bug->resolutionList[''] = '';
|
||||
$lang->bug->resolutionList['bydesign'] = 'デザインで';
|
||||
$lang->bug->resolutionList['duplicate'] = '重複';
|
||||
$lang->bug->resolutionList['external'] = '外部';
|
||||
$lang->bug->resolutionList['fixed'] = '固定';
|
||||
$lang->bug->resolutionList['notrepro'] = 'まだ再現';
|
||||
$lang->bug->resolutionList['postponed'] = '延期';
|
||||
$lang->bug->resolutionList['willnotfix'] = "ウィル解決しない";
|
||||
|
||||
/* 统计报表。*/
|
||||
$lang->bug->report->common = 'レポート';
|
||||
$lang->bug->report->select = '選択';
|
||||
$lang->bug->report->create = '作成';
|
||||
$lang->bug->report->selectAll = 'すべて';
|
||||
$lang->bug->report->selectReverse = '逆';
|
||||
|
||||
$lang->bug->report->charts['bugsPerProject'] = 'プロジェクトのバグ';
|
||||
$lang->bug->report->charts['bugsPerModule'] = 'モジュールのバグ';
|
||||
$lang->bug->report->charts['openedBugsPerDay'] = '1日あたりのオープンバグ';
|
||||
$lang->bug->report->charts['resolvedBugsPerDay'] = '1日あたりの解決済みのバグ';
|
||||
$lang->bug->report->charts['closedBugsPerDay'] = '1日あたりのクローズドバグ';
|
||||
$lang->bug->report->charts['openedBugsPerUser'] = 'ユーザーごとのオープンバグ';
|
||||
$lang->bug->report->charts['resolvedBugsPerUser']= 'ユーザーごとの解決済みのバグ';
|
||||
$lang->bug->report->charts['closedBugsPerUser'] = 'ユーザーごとのクローズドバグ';
|
||||
$lang->bug->report->charts['bugsPerSeverity'] = '重大度';
|
||||
$lang->bug->report->charts['bugsPerResolution'] = '解像度';
|
||||
$lang->bug->report->charts['bugsPerStatus'] = 'ステータス';
|
||||
$lang->bug->report->charts['bugsPerType'] = 'タイプ';
|
||||
//$lang->bug->report->charts['bugLiveDays'] = 'バグ处理时间统计';
|
||||
//$lang->bug->report->charts['bugHistories'] = 'バグ处理步骤统计';
|
||||
|
||||
$lang->bug->report->options->swf = 'pie2d';
|
||||
$lang->bug->report->options->width = 'オート';
|
||||
$lang->bug->report->options->height = 300;
|
||||
$lang->bug->report->options->graph->baseFontSize = 12;
|
||||
$lang->bug->report->options->graph->showNames = 1;
|
||||
$lang->bug->report->options->graph->formatNumber = 1;
|
||||
$lang->bug->report->options->graph->decimalPrecision = 0;
|
||||
$lang->bug->report->options->graph->animation = 0;
|
||||
$lang->bug->report->options->graph->rotateNames = 0;
|
||||
$lang->bug->report->options->graph->yAxisName = 'COUNTは';
|
||||
$lang->bug->report->options->graph->pieRadius = 100; // 饼图直径。
|
||||
$lang->bug->report->options->graph->showColumnShadow = 0; // 是否显示柱状图阴影。
|
||||
|
||||
$lang->bug->report->bugsPerProject->graph->xAxisName = 'プロジェクト';
|
||||
$lang->bug->report->bugsPerModule->graph->xAxisName = 'モジュール';
|
||||
|
||||
$lang->bug->report->openedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->openedBugsPerDay->height = 400;
|
||||
$lang->bug->report->openedBugsPerDay->graph->xAxisName = '日付';
|
||||
$lang->bug->report->openedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->resolvedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->resolvedBugsPerDay->height = 400;
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->xAxisName = '日付';
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->closedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->closedBugsPerDay->height = 400;
|
||||
$lang->bug->report->closedBugsPerDay->graph->xAxisName = '日付';
|
||||
$lang->bug->report->closedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->openedBugsPerUser->graph->xAxisName = 'ユーザー';
|
||||
$lang->bug->report->resolvedBugsPerUser->graph->xAxisName= 'ユーザー';
|
||||
$lang->bug->report->closedBugsPerUser->graph->xAxisName = 'ユーザー';
|
||||
|
||||
$lang->bug->report->bugsPerSeverity->graph->xAxisName = '重大度';
|
||||
$lang->bug->report->bugsPerResolution->graph->xAxisName = '解像度';
|
||||
$lang->bug->report->bugsPerStatus->graph->xAxisName = 'ステータス';
|
||||
$lang->bug->report->bugsPerType->graph->xAxisName = 'タイプ';
|
||||
$lang->bug->report->bugLiveDays->graph->xAxisName = 'ライブ日';
|
||||
$lang->bug->report->bugHistories->graph->xAxisName = '履歴';
|
||||
|
||||
/* 操作记录。*/
|
||||
$lang->bug->action->resolved = array('main' => '$date, Resolved by <strong>$actor</strong>, resolution is <strong>$extra</strong>.', 'extra' => $lang->bug->resolutionList);
|
||||
|
||||
@@ -1,286 +1,273 @@
|
||||
<?php
|
||||
/**
|
||||
* The bug module Korean file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id: en.php 1033 2010-08-07 02:12:20Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 字段列表。*/
|
||||
$lang->bug->common = '곤충';
|
||||
$lang->bug->id = '신분증';
|
||||
$lang->bug->product = '제품';
|
||||
$lang->bug->module = '모듈';
|
||||
$lang->bug->path = '경로';
|
||||
$lang->bug->project = '프로젝트';
|
||||
$lang->bug->story = '이야기';
|
||||
$lang->bug->storyVersion = '스토리 버전';
|
||||
$lang->bug->task = '태스크';
|
||||
$lang->bug->title = '제목';
|
||||
$lang->bug->severity = '심각도';
|
||||
$lang->bug->severityAB = 'S';
|
||||
$lang->bug->pri = '우선';
|
||||
$lang->bug->type = '유형';
|
||||
$lang->bug->os = '운영 체제';
|
||||
$lang->bug->hardware = '하드웨어';
|
||||
$lang->bug->browser = '브라우저';
|
||||
$lang->bug->machine = '기계';
|
||||
$lang->bug->found = '어떻게 발견';
|
||||
$lang->bug->steps = '단계';
|
||||
$lang->bug->status = '지위';
|
||||
$lang->bug->mailto = '흔한';
|
||||
$lang->bug->openedBy = '에 의해 개설';
|
||||
$lang->bug->openedByAB = '개설';
|
||||
$lang->bug->openedDate = '개설 날짜';
|
||||
$lang->bug->openedBuild = '오픈 빌드';
|
||||
$lang->bug->assignedTo = '할당';
|
||||
$lang->bug->assignedDate = '지정된 날짜';
|
||||
$lang->bug->resolvedBy = '해결된으로';
|
||||
$lang->bug->resolvedByAB = 'Resolve';
|
||||
$lang->bug->resolution = '해결';
|
||||
$lang->bug->resolutionAB = '해결';
|
||||
$lang->bug->resolvedBuild = '해결된 빌드';
|
||||
$lang->bug->resolvedDate = '해결된 날짜';
|
||||
$lang->bug->closedBy = '하여 종료';
|
||||
$lang->bug->closedDate = '닫기 날짜';
|
||||
$lang->bug->duplicateBug = '복제';
|
||||
$lang->bug->lastEditedBy = '마지막으로 수정됨';
|
||||
$lang->bug->lastEditedDate = '마지막으로 편집한 날짜';
|
||||
$lang->bug->linkBug = '관련';
|
||||
$lang->bug->case = '케이스';
|
||||
$lang->bug->files = '파일';
|
||||
$lang->bug->keywords = '키워드';
|
||||
$lang->bug->lastEditedByAB = '수정됨';
|
||||
$lang->bug->lastEditedDateAB = '날짜 수정됨';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->bug->index = '색인';
|
||||
$lang->bug->create = '생성 버그';
|
||||
$lang->bug->edit = '버그 수정';
|
||||
$lang->bug->browse = '브라 우즈 버그';
|
||||
$lang->bug->view = '버그 정보';
|
||||
$lang->bug->resolve = '버그 해결';
|
||||
$lang->bug->close = '닫기 버그';
|
||||
$lang->bug->activate = '활성화 버그';
|
||||
$lang->bug->reportChart = '보고서';
|
||||
$lang->bug->delete = '삭제 버그';
|
||||
$lang->bug->saveTemplate = '저장 템플릿';
|
||||
$lang->bug->deleteTemplate = '삭제 템플릿';
|
||||
$lang->bug->customFields = '사용자 정의 필드';
|
||||
$lang->bug->restoreDefault = '기본';
|
||||
$lang->bug->ajaxGetUserBugs = 'API가 : 내 버그';
|
||||
$lang->bug->ajaxGetModuleOwner = 'API가 : 모듈의 기본 소유자 가져오기';
|
||||
$lang->bug->confirmStoryChange = '확인 스토리 변경';
|
||||
|
||||
/* 查询条件列表。*/
|
||||
$lang->bug->selectProduct = '선택 제품';
|
||||
$lang->bug->byModule = '모듈';
|
||||
$lang->bug->assignToMe = '나에게 할당';
|
||||
$lang->bug->openedByMe = '내 개설';
|
||||
$lang->bug->resolvedByMe = '제 해결';
|
||||
$lang->bug->assignToNull = '빈 할당';
|
||||
$lang->bug->longLifeBugs = '긴 수명';
|
||||
$lang->bug->postponedBugs = '연기';
|
||||
$lang->bug->allBugs = '모든 버그';
|
||||
$lang->bug->moduleBugs = '모듈로';
|
||||
$lang->bug->byQuery = '수색';
|
||||
$lang->bug->needConfirm = '스토리가 변경됨';
|
||||
$lang->bug->allProduct = '모든 제품';
|
||||
|
||||
/* 页面标签。*/
|
||||
$lang->bug->lblProductAndModule = '제품 및 모듈';
|
||||
$lang->bug->lblProjectAndTask = '프로젝트 및 작업';
|
||||
$lang->bug->lblStory = '이야기';
|
||||
$lang->bug->lblTypeAndSeverity = '유형 및 심각도';
|
||||
$lang->bug->lblSystemBrowserAndHardware = '운영 체제 & 브라우저';
|
||||
$lang->bug->lblAssignedTo = '에 할당된';
|
||||
$lang->bug->lblMailto = '흔한';
|
||||
$lang->bug->lblLastEdited = '최종 편집';
|
||||
$lang->bug->lblResolved = '해결';
|
||||
$lang->bug->lblAllFields = '전체 분야';
|
||||
$lang->bug->lblCustomFields = '사용자 정의 필드';
|
||||
|
||||
/* legend列表。*/
|
||||
$lang->bug->legendBasicInfo = '기본 정보';
|
||||
$lang->bug->legendMailto = '흔한';
|
||||
$lang->bug->legendAttatch = '파일';
|
||||
$lang->bug->legendLinkBugs = '관련 버그';
|
||||
$lang->bug->legendPrjStoryTask= '프로젝트 이야기 & 작업';
|
||||
$lang->bug->legendCases = '관련 사건';
|
||||
$lang->bug->legendSteps = '단계';
|
||||
$lang->bug->legendAction = '행동';
|
||||
$lang->bug->legendHistory = '역사';
|
||||
$lang->bug->legendComment = '논평';
|
||||
$lang->bug->legendLife = '일생';
|
||||
$lang->bug->legendMisc = '기타';
|
||||
|
||||
/* 功能按钮。*/
|
||||
$lang->bug->buttonCopy = '복사';
|
||||
$lang->bug->buttonEdit = '편집';
|
||||
$lang->bug->buttonActivate = '활성화';
|
||||
$lang->bug->buttonResolve = '해결';
|
||||
$lang->bug->buttonClose = '가까운';
|
||||
$lang->bug->buttonToList = '뒤로';
|
||||
|
||||
/* 交互提示。*/
|
||||
$lang->bug->confirmChangeProduct = '변경 제품, 작업 및 이야기도 프로젝트를 변경할 것입니다 당신이 확실 해요?';
|
||||
$lang->bug->confirmDelete = '이 버그를? 삭제하시겠습니까';
|
||||
$lang->bug->setTemplateTitle = '제목 입력하십시오 템플릿을 :';
|
||||
|
||||
/* 模板。*/
|
||||
$lang->bug->tplStep = "<p>[단계]</p>";
|
||||
$lang->bug->tplResult = "<p>[결과]</p>";
|
||||
$lang->bug->tplExpect = "<p>[기대]</p>";
|
||||
|
||||
/* 各个字段取值列表。*/
|
||||
$lang->bug->severityList[3] = '3';
|
||||
$lang->bug->severityList[1] = '1';
|
||||
$lang->bug->severityList[2] = '2';
|
||||
$lang->bug->severityList[4] = '4';
|
||||
|
||||
$lang->bug->priList[0] = '';
|
||||
$lang->bug->priList[3] = '3';
|
||||
$lang->bug->priList[1] = '1';
|
||||
$lang->bug->priList[2] = '2';
|
||||
$lang->bug->priList[4] = '4';
|
||||
|
||||
$lang->bug->osList[''] = '';
|
||||
$lang->bug->osList['all'] = '모든';
|
||||
$lang->bug->osList['windows'] = '윈도우';
|
||||
$lang->bug->osList['winxp'] = '윈도우 XP';
|
||||
$lang->bug->osList['win7'] = '윈도우 7';
|
||||
$lang->bug->osList['vista'] = '윈도우 비스타';
|
||||
$lang->bug->osList['win2000'] = 'Windows 2000에서';
|
||||
$lang->bug->osList['winnt'] = '윈도우 NT를';
|
||||
$lang->bug->osList['win98'] = '윈도우 98';
|
||||
$lang->bug->osList['linux'] = '리눅스';
|
||||
$lang->bug->osList['freebsd'] = 'FreeBSD의';
|
||||
$lang->bug->osList['unix'] = '유닉스';
|
||||
$lang->bug->osList['others'] = '기타';
|
||||
|
||||
$lang->bug->browserList[''] = '';
|
||||
$lang->bug->browserList['all'] = '모든';
|
||||
$lang->bug->browserList['ie'] = 'IE를';
|
||||
$lang->bug->browserList['ie6'] = '6으로';
|
||||
$lang->bug->browserList['ie7'] = 'IE7을';
|
||||
$lang->bug->browserList['ie8'] = 'IE8';
|
||||
$lang->bug->browserList['firefox'] = '파이어 폭스';
|
||||
$lang->bug->browserList['firefox2'] = 'Firefox2';
|
||||
$lang->bug->browserList['firefx3'] = 'Firefox3';
|
||||
$lang->bug->browserList['opera'] = '오페라';
|
||||
$lang->bug->browserList['opera9'] = 'opera9';
|
||||
$lang->bug->browserList['oprea10'] = 'opera10';
|
||||
$lang->bug->browserList['safari'] = '원정 여행';
|
||||
$lang->bug->browserList['chrome'] = '크롬';
|
||||
$lang->bug->browserList['other'] = '기타';
|
||||
|
||||
$lang->bug->typeList[''] = '';
|
||||
$lang->bug->typeList['codeerror'] = '코드 오류';
|
||||
$lang->bug->typeList['interface'] = '인터페이스';
|
||||
$lang->bug->typeList['designchange'] = '디자인 변경';
|
||||
$lang->bug->typeList['newfeature'] = '새로운 기능';
|
||||
$lang->bug->typeList['designdefect'] = '설계 결함';
|
||||
$lang->bug->typeList['config'] = '설정';
|
||||
$lang->bug->typeList['install'] = '설치';
|
||||
$lang->bug->typeList['security'] = '보안';
|
||||
$lang->bug->typeList['performance'] = '공연';
|
||||
$lang->bug->typeList['standard'] = '표준';
|
||||
$lang->bug->typeList['automation'] = '오토메이션';
|
||||
$lang->bug->typeList['trackthings'] = '추적';
|
||||
$lang->bug->typeList['Others'] = '기타';
|
||||
|
||||
$lang->bug->statusList[''] = '';
|
||||
$lang->bug->statusList['active'] = '활동적인';
|
||||
$lang->bug->statusList['resolved'] = '해결';
|
||||
$lang->bug->statusList['closed'] = '휴관일';
|
||||
|
||||
$lang->bug->resolutionList[''] = '';
|
||||
$lang->bug->resolutionList['bydesign'] = '디자인으로';
|
||||
$lang->bug->resolutionList['duplicate'] = '복제';
|
||||
$lang->bug->resolutionList['external'] = '외부';
|
||||
$lang->bug->resolutionList['fixed'] = '고정된';
|
||||
$lang->bug->resolutionList['notrepro'] = '복제하지';
|
||||
$lang->bug->resolutionList['postponed'] = '연기';
|
||||
$lang->bug->resolutionList['willnotfix'] = "윌 해결되지";
|
||||
|
||||
/* 统计报表。*/
|
||||
$lang->bug->report->common = '보고서';
|
||||
$lang->bug->report->select = '선택';
|
||||
$lang->bug->report->create = '만들기';
|
||||
$lang->bug->report->selectAll = '모든';
|
||||
$lang->bug->report->selectReverse = '역';
|
||||
|
||||
$lang->bug->report->charts['bugsPerProject'] = '프로젝트 버그';
|
||||
$lang->bug->report->charts['bugsPerModule'] = '모듈 버그';
|
||||
$lang->bug->report->charts['openedBugsPerDay'] = '하루에 개설 버그';
|
||||
$lang->bug->report->charts['resolvedBugsPerDay'] = '하루에 해결된 버그';
|
||||
$lang->bug->report->charts['closedBugsPerDay'] = '하루 휴관일 버그';
|
||||
$lang->bug->report->charts['openedBugsPerUser'] = '사용 자당 개관 버그';
|
||||
$lang->bug->report->charts['resolvedBugsPerUser']= '사용 자당 해결된 버그';
|
||||
$lang->bug->report->charts['closedBugsPerUser'] = '사용 자당 휴관일 버그';
|
||||
$lang->bug->report->charts['bugsPerSeverity'] = '심각도';
|
||||
$lang->bug->report->charts['bugsPerResolution'] = '해결';
|
||||
$lang->bug->report->charts['bugsPerStatus'] = '지위';
|
||||
$lang->bug->report->charts['bugsPerType'] = '유형';
|
||||
//$lang->bug->report->charts['bugLiveDays'] = '버그 处理 时间 统计';
|
||||
//$lang->bug->report->charts['bugHistories'] = '버그 处理 步骤 统计';
|
||||
|
||||
$lang->bug->report->options->swf = 'pie2d';
|
||||
$lang->bug->report->options->width = '자동';
|
||||
$lang->bug->report->options->height = 300;
|
||||
$lang->bug->report->options->graph->baseFontSize = 12;
|
||||
$lang->bug->report->options->graph->showNames = 1;
|
||||
$lang->bug->report->options->graph->formatNumber = 1;
|
||||
$lang->bug->report->options->graph->decimalPrecision = 0;
|
||||
$lang->bug->report->options->graph->animation = 0;
|
||||
$lang->bug->report->options->graph->rotateNames = 0;
|
||||
$lang->bug->report->options->graph->yAxisName = 'COUNT 개의';
|
||||
$lang->bug->report->options->graph->pieRadius = 100; // 饼图直径。
|
||||
$lang->bug->report->options->graph->showColumnShadow = 0; // 是否显示柱状图阴影。
|
||||
|
||||
$lang->bug->report->bugsPerProject->graph->xAxisName = '프로젝트';
|
||||
$lang->bug->report->bugsPerModule->graph->xAxisName = '모듈';
|
||||
|
||||
$lang->bug->report->openedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->openedBugsPerDay->height = 400;
|
||||
$lang->bug->report->openedBugsPerDay->graph->xAxisName = '날짜';
|
||||
$lang->bug->report->openedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->resolvedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->resolvedBugsPerDay->height = 400;
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->xAxisName = '날짜';
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->closedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->closedBugsPerDay->height = 400;
|
||||
$lang->bug->report->closedBugsPerDay->graph->xAxisName = '날짜';
|
||||
$lang->bug->report->closedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->openedBugsPerUser->graph->xAxisName = '사용자';
|
||||
$lang->bug->report->resolvedBugsPerUser->graph->xAxisName= '사용자';
|
||||
$lang->bug->report->closedBugsPerUser->graph->xAxisName = '사용자';
|
||||
|
||||
$lang->bug->report->bugsPerSeverity->graph->xAxisName = '심각도';
|
||||
$lang->bug->report->bugsPerResolution->graph->xAxisName = '해결';
|
||||
$lang->bug->report->bugsPerStatus->graph->xAxisName = '지위';
|
||||
$lang->bug->report->bugsPerType->graph->xAxisName = '유형';
|
||||
$lang->bug->report->bugLiveDays->graph->xAxisName = '라이브 일';
|
||||
$lang->bug->report->bugHistories->graph->xAxisName = '역사';
|
||||
|
||||
/* 操作记录。*/
|
||||
$lang->bug->action->resolved = array('main' => '$date, Resolved by <strong>$actor</strong>, resolution is <strong>$extra</strong>.', 'extra' => $lang->bug->resolutionList);
|
||||
<?php
|
||||
/**
|
||||
* The bug module Korean file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id: en.php 1033 2010-08-07 02:12:20Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 字段列表。*/
|
||||
$lang->bug->common = '곤충';
|
||||
$lang->bug->id = '신분증';
|
||||
$lang->bug->product = '제품';
|
||||
$lang->bug->module = '모듈';
|
||||
$lang->bug->path = '경로';
|
||||
$lang->bug->project = '프로젝트';
|
||||
$lang->bug->story = '이야기';
|
||||
$lang->bug->storyVersion = '스토리 버전';
|
||||
$lang->bug->task = '태스크';
|
||||
$lang->bug->title = '제목';
|
||||
$lang->bug->severity = '심각도';
|
||||
$lang->bug->severityAB = 'S';
|
||||
$lang->bug->pri = '우선';
|
||||
$lang->bug->type = '유형';
|
||||
$lang->bug->os = '운영 체제';
|
||||
$lang->bug->hardware = '하드웨어';
|
||||
$lang->bug->browser = '브라우저';
|
||||
$lang->bug->machine = '기계';
|
||||
$lang->bug->found = '어떻게 발견';
|
||||
$lang->bug->steps = '단계';
|
||||
$lang->bug->status = '지위';
|
||||
$lang->bug->mailto = '흔한';
|
||||
$lang->bug->openedBy = '에 의해 개설';
|
||||
$lang->bug->openedByAB = '개설';
|
||||
$lang->bug->openedDate = '개설 날짜';
|
||||
$lang->bug->openedBuild = '오픈 빌드';
|
||||
$lang->bug->assignedTo = '할당';
|
||||
$lang->bug->assignedDate = '지정된 날짜';
|
||||
$lang->bug->resolvedBy = '해결된으로';
|
||||
$lang->bug->resolvedByAB = 'Resolve';
|
||||
$lang->bug->resolution = '해결';
|
||||
$lang->bug->resolutionAB = '해결';
|
||||
$lang->bug->resolvedBuild = '해결된 빌드';
|
||||
$lang->bug->resolvedDate = '해결된 날짜';
|
||||
$lang->bug->closedBy = '하여 종료';
|
||||
$lang->bug->closedDate = '닫기 날짜';
|
||||
$lang->bug->duplicateBug = '복제';
|
||||
$lang->bug->lastEditedBy = '마지막으로 수정됨';
|
||||
$lang->bug->lastEditedDate = '마지막으로 편집한 날짜';
|
||||
$lang->bug->linkBug = '관련';
|
||||
$lang->bug->case = '케이스';
|
||||
$lang->bug->files = '파일';
|
||||
$lang->bug->keywords = '키워드';
|
||||
$lang->bug->lastEditedByAB = '수정됨';
|
||||
$lang->bug->lastEditedDateAB = '날짜 수정됨';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->bug->index = '색인';
|
||||
$lang->bug->create = '생성 버그';
|
||||
$lang->bug->edit = '버그 수정';
|
||||
$lang->bug->browse = '브라 우즈 버그';
|
||||
$lang->bug->view = '버그 정보';
|
||||
$lang->bug->resolve = '버그 해결';
|
||||
$lang->bug->close = '닫기 버그';
|
||||
$lang->bug->activate = '활성화 버그';
|
||||
$lang->bug->reportChart = '보고서';
|
||||
$lang->bug->delete = '삭제 버그';
|
||||
$lang->bug->saveTemplate = '저장 템플릿';
|
||||
$lang->bug->deleteTemplate = '삭제 템플릿';
|
||||
$lang->bug->customFields = '사용자 정의 필드';
|
||||
$lang->bug->restoreDefault = '기본';
|
||||
$lang->bug->ajaxGetUserBugs = 'API가 : 내 버그';
|
||||
$lang->bug->ajaxGetModuleOwner = 'API가 : 모듈의 기본 소유자 가져오기';
|
||||
$lang->bug->confirmStoryChange = '확인 스토리 변경';
|
||||
|
||||
/* 查询条件列表。*/
|
||||
$lang->bug->selectProduct = '선택 제품';
|
||||
$lang->bug->byModule = '모듈';
|
||||
$lang->bug->assignToMe = '나에게 할당';
|
||||
$lang->bug->openedByMe = '내 개설';
|
||||
$lang->bug->resolvedByMe = '제 해결';
|
||||
$lang->bug->assignToNull = '빈 할당';
|
||||
$lang->bug->longLifeBugs = '긴 수명';
|
||||
$lang->bug->postponedBugs = '연기';
|
||||
$lang->bug->allBugs = '모든 버그';
|
||||
$lang->bug->moduleBugs = '모듈로';
|
||||
$lang->bug->byQuery = '수색';
|
||||
$lang->bug->needConfirm = '스토리가 변경됨';
|
||||
$lang->bug->allProduct = '모든 제품';
|
||||
|
||||
/* 页面标签。*/
|
||||
$lang->bug->lblProductAndModule = '제품 및 모듈';
|
||||
$lang->bug->lblProjectAndTask = '프로젝트 및 작업';
|
||||
$lang->bug->lblStory = '이야기';
|
||||
$lang->bug->lblTypeAndSeverity = '유형 및 심각도';
|
||||
$lang->bug->lblSystemBrowserAndHardware = '운영 체제 & 브라우저';
|
||||
$lang->bug->lblAssignedTo = '에 할당된';
|
||||
$lang->bug->lblMailto = '흔한';
|
||||
$lang->bug->lblLastEdited = '최종 편집';
|
||||
$lang->bug->lblResolved = '해결';
|
||||
$lang->bug->lblAllFields = '전체 분야';
|
||||
$lang->bug->lblCustomFields = '사용자 정의 필드';
|
||||
|
||||
/* legend列表。*/
|
||||
$lang->bug->legendBasicInfo = '기본 정보';
|
||||
$lang->bug->legendMailto = '흔한';
|
||||
$lang->bug->legendAttatch = '파일';
|
||||
$lang->bug->legendLinkBugs = '관련 버그';
|
||||
$lang->bug->legendPrjStoryTask= '프로젝트 이야기 & 작업';
|
||||
$lang->bug->legendCases = '관련 사건';
|
||||
$lang->bug->legendSteps = '단계';
|
||||
$lang->bug->legendAction = '행동';
|
||||
$lang->bug->legendHistory = '역사';
|
||||
$lang->bug->legendComment = '논평';
|
||||
$lang->bug->legendLife = '일생';
|
||||
$lang->bug->legendMisc = '기타';
|
||||
|
||||
/* 功能按钮。*/
|
||||
$lang->bug->buttonCopy = '복사';
|
||||
$lang->bug->buttonEdit = '편집';
|
||||
$lang->bug->buttonActivate = '활성화';
|
||||
$lang->bug->buttonResolve = '해결';
|
||||
$lang->bug->buttonClose = '가까운';
|
||||
$lang->bug->buttonToList = '뒤로';
|
||||
|
||||
/* 交互提示。*/
|
||||
$lang->bug->confirmChangeProduct = '변경 제품, 작업 및 이야기도 프로젝트를 변경할 것입니다 당신이 확실 해요?';
|
||||
$lang->bug->confirmDelete = '이 버그를? 삭제하시겠습니까';
|
||||
$lang->bug->setTemplateTitle = '제목 입력하십시오 템플릿을 :';
|
||||
|
||||
/* 模板。*/
|
||||
$lang->bug->tplStep = "<p>[단계]</p>";
|
||||
$lang->bug->tplResult = "<p>[결과]</p>";
|
||||
$lang->bug->tplExpect = "<p>[기대]</p>";
|
||||
|
||||
/* 各个字段取值列表。*/
|
||||
$lang->bug->severityList[3] = '3';
|
||||
$lang->bug->severityList[1] = '1';
|
||||
$lang->bug->severityList[2] = '2';
|
||||
$lang->bug->severityList[4] = '4';
|
||||
|
||||
$lang->bug->priList[0] = '';
|
||||
$lang->bug->priList[3] = '3';
|
||||
$lang->bug->priList[1] = '1';
|
||||
$lang->bug->priList[2] = '2';
|
||||
$lang->bug->priList[4] = '4';
|
||||
|
||||
$lang->bug->osList[''] = '';
|
||||
$lang->bug->osList['all'] = '모든';
|
||||
$lang->bug->osList['windows'] = '윈도우';
|
||||
$lang->bug->osList['winxp'] = '윈도우 XP';
|
||||
$lang->bug->osList['win7'] = '윈도우 7';
|
||||
$lang->bug->osList['vista'] = '윈도우 비스타';
|
||||
$lang->bug->osList['win2000'] = 'Windows 2000에서';
|
||||
$lang->bug->osList['winnt'] = '윈도우 NT를';
|
||||
$lang->bug->osList['win98'] = '윈도우 98';
|
||||
$lang->bug->osList['linux'] = '리눅스';
|
||||
$lang->bug->osList['freebsd'] = 'FreeBSD의';
|
||||
$lang->bug->osList['unix'] = '유닉스';
|
||||
$lang->bug->osList['others'] = '기타';
|
||||
|
||||
$lang->bug->browserList[''] = '';
|
||||
$lang->bug->browserList['all'] = '모든';
|
||||
$lang->bug->browserList['ie'] = 'IE를';
|
||||
$lang->bug->browserList['ie6'] = '6으로';
|
||||
$lang->bug->browserList['ie7'] = 'IE7을';
|
||||
$lang->bug->browserList['ie8'] = 'IE8';
|
||||
$lang->bug->browserList['firefox'] = '파이어 폭스';
|
||||
$lang->bug->browserList['firefox2'] = 'Firefox2';
|
||||
$lang->bug->browserList['firefx3'] = 'Firefox3';
|
||||
$lang->bug->browserList['opera'] = '오페라';
|
||||
$lang->bug->browserList['opera9'] = 'opera9';
|
||||
$lang->bug->browserList['oprea10'] = 'opera10';
|
||||
$lang->bug->browserList['safari'] = '원정 여행';
|
||||
$lang->bug->browserList['chrome'] = '크롬';
|
||||
$lang->bug->browserList['other'] = '기타';
|
||||
|
||||
$lang->bug->typeList[''] = '';
|
||||
$lang->bug->typeList['codeerror'] = '코드 오류';
|
||||
$lang->bug->typeList['interface'] = '인터페이스';
|
||||
$lang->bug->typeList['designchange'] = '디자인 변경';
|
||||
$lang->bug->typeList['newfeature'] = '새로운 기능';
|
||||
$lang->bug->typeList['designdefect'] = '설계 결함';
|
||||
$lang->bug->typeList['config'] = '설정';
|
||||
$lang->bug->typeList['install'] = '설치';
|
||||
$lang->bug->typeList['security'] = '보안';
|
||||
$lang->bug->typeList['performance'] = '공연';
|
||||
$lang->bug->typeList['standard'] = '표준';
|
||||
$lang->bug->typeList['automation'] = '오토메이션';
|
||||
$lang->bug->typeList['trackthings'] = '추적';
|
||||
$lang->bug->typeList['Others'] = '기타';
|
||||
|
||||
$lang->bug->statusList[''] = '';
|
||||
$lang->bug->statusList['active'] = '활동적인';
|
||||
$lang->bug->statusList['resolved'] = '해결';
|
||||
$lang->bug->statusList['closed'] = '휴관일';
|
||||
|
||||
$lang->bug->resolutionList[''] = '';
|
||||
$lang->bug->resolutionList['bydesign'] = '디자인으로';
|
||||
$lang->bug->resolutionList['duplicate'] = '복제';
|
||||
$lang->bug->resolutionList['external'] = '외부';
|
||||
$lang->bug->resolutionList['fixed'] = '고정된';
|
||||
$lang->bug->resolutionList['notrepro'] = '복제하지';
|
||||
$lang->bug->resolutionList['postponed'] = '연기';
|
||||
$lang->bug->resolutionList['willnotfix'] = "윌 해결되지";
|
||||
|
||||
/* 统计报表。*/
|
||||
$lang->bug->report->common = '보고서';
|
||||
$lang->bug->report->select = '선택';
|
||||
$lang->bug->report->create = '만들기';
|
||||
$lang->bug->report->selectAll = '모든';
|
||||
$lang->bug->report->selectReverse = '역';
|
||||
|
||||
$lang->bug->report->charts['bugsPerProject'] = '프로젝트 버그';
|
||||
$lang->bug->report->charts['bugsPerModule'] = '모듈 버그';
|
||||
$lang->bug->report->charts['openedBugsPerDay'] = '하루에 개설 버그';
|
||||
$lang->bug->report->charts['resolvedBugsPerDay'] = '하루에 해결된 버그';
|
||||
$lang->bug->report->charts['closedBugsPerDay'] = '하루 휴관일 버그';
|
||||
$lang->bug->report->charts['openedBugsPerUser'] = '사용 자당 개관 버그';
|
||||
$lang->bug->report->charts['resolvedBugsPerUser']= '사용 자당 해결된 버그';
|
||||
$lang->bug->report->charts['closedBugsPerUser'] = '사용 자당 휴관일 버그';
|
||||
$lang->bug->report->charts['bugsPerSeverity'] = '심각도';
|
||||
$lang->bug->report->charts['bugsPerResolution'] = '해결';
|
||||
$lang->bug->report->charts['bugsPerStatus'] = '지위';
|
||||
$lang->bug->report->charts['bugsPerType'] = '유형';
|
||||
//$lang->bug->report->charts['bugLiveDays'] = '버그 处理 时间 统计';
|
||||
//$lang->bug->report->charts['bugHistories'] = '버그 处理 步骤 统计';
|
||||
|
||||
$lang->bug->report->options->swf = 'pie2d';
|
||||
$lang->bug->report->options->width = '자동';
|
||||
$lang->bug->report->options->height = 300;
|
||||
$lang->bug->report->options->graph->baseFontSize = 12;
|
||||
$lang->bug->report->options->graph->showNames = 1;
|
||||
$lang->bug->report->options->graph->formatNumber = 1;
|
||||
$lang->bug->report->options->graph->decimalPrecision = 0;
|
||||
$lang->bug->report->options->graph->animation = 0;
|
||||
$lang->bug->report->options->graph->rotateNames = 0;
|
||||
$lang->bug->report->options->graph->yAxisName = 'COUNT 개의';
|
||||
$lang->bug->report->options->graph->pieRadius = 100; // 饼图直径。
|
||||
$lang->bug->report->options->graph->showColumnShadow = 0; // 是否显示柱状图阴影。
|
||||
|
||||
$lang->bug->report->bugsPerProject->graph->xAxisName = '프로젝트';
|
||||
$lang->bug->report->bugsPerModule->graph->xAxisName = '모듈';
|
||||
|
||||
$lang->bug->report->openedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->openedBugsPerDay->height = 400;
|
||||
$lang->bug->report->openedBugsPerDay->graph->xAxisName = '날짜';
|
||||
$lang->bug->report->openedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->resolvedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->resolvedBugsPerDay->height = 400;
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->xAxisName = '날짜';
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->closedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->closedBugsPerDay->height = 400;
|
||||
$lang->bug->report->closedBugsPerDay->graph->xAxisName = '날짜';
|
||||
$lang->bug->report->closedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->openedBugsPerUser->graph->xAxisName = '사용자';
|
||||
$lang->bug->report->resolvedBugsPerUser->graph->xAxisName= '사용자';
|
||||
$lang->bug->report->closedBugsPerUser->graph->xAxisName = '사용자';
|
||||
|
||||
$lang->bug->report->bugsPerSeverity->graph->xAxisName = '심각도';
|
||||
$lang->bug->report->bugsPerResolution->graph->xAxisName = '해결';
|
||||
$lang->bug->report->bugsPerStatus->graph->xAxisName = '지위';
|
||||
$lang->bug->report->bugsPerType->graph->xAxisName = '유형';
|
||||
$lang->bug->report->bugLiveDays->graph->xAxisName = '라이브 일';
|
||||
$lang->bug->report->bugHistories->graph->xAxisName = '역사';
|
||||
|
||||
/* 操作记录。*/
|
||||
$lang->bug->action->resolved = array('main' => '$date, Resolved by <strong>$actor</strong>, resolution is <strong>$extra</strong>.', 'extra' => $lang->bug->resolutionList);
|
||||
|
||||
@@ -1,286 +1,273 @@
|
||||
<?php
|
||||
/**
|
||||
* The bug module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 字段列表。*/
|
||||
$lang->bug->common = '缺陷管理';
|
||||
$lang->bug->id = 'Bug编号';
|
||||
$lang->bug->product = '所属产品';
|
||||
$lang->bug->module = '所属模块';
|
||||
$lang->bug->path = '模块路径';
|
||||
$lang->bug->project = '所属项目';
|
||||
$lang->bug->story = '相关需求';
|
||||
$lang->bug->storyVersion = '需求版本';
|
||||
$lang->bug->task = '相关任务';
|
||||
$lang->bug->title = 'Bug标题';
|
||||
$lang->bug->severity = '严重程度';
|
||||
$lang->bug->severityAB = '级别';
|
||||
$lang->bug->pri = '优先级';
|
||||
$lang->bug->type = 'Bug类型';
|
||||
$lang->bug->os = '操作系统';
|
||||
$lang->bug->hardware = '硬件平台';
|
||||
$lang->bug->browser = '浏览器';
|
||||
$lang->bug->machine = '机器硬件';
|
||||
$lang->bug->found = '如何发现';
|
||||
$lang->bug->steps = '重现步骤';
|
||||
$lang->bug->status = 'Bug状态';
|
||||
$lang->bug->mailto = '抄送给';
|
||||
$lang->bug->openedBy = '由谁创建';
|
||||
$lang->bug->openedByAB = '创建';
|
||||
$lang->bug->openedDate = '创建日期';
|
||||
$lang->bug->openedBuild = '影响版本';
|
||||
$lang->bug->assignedTo = '指派给';
|
||||
$lang->bug->assignedDate = '指派日期';
|
||||
$lang->bug->resolvedBy = '解决者';
|
||||
$lang->bug->resolvedByAB = '解决';
|
||||
$lang->bug->resolution = '解决方案';
|
||||
$lang->bug->resolutionAB = '方案';
|
||||
$lang->bug->resolvedBuild = '解决版本';
|
||||
$lang->bug->resolvedDate = '解决日期';
|
||||
$lang->bug->closedBy = '由谁关闭';
|
||||
$lang->bug->closedDate = '关闭日期';
|
||||
$lang->bug->duplicateBug = '重复Bug';
|
||||
$lang->bug->lastEditedBy = '最后修改者';
|
||||
$lang->bug->lastEditedDate = '最后修改日期';
|
||||
$lang->bug->linkBug = '相关Bug';
|
||||
$lang->bug->case = '相关用例';
|
||||
$lang->bug->files = '附件';
|
||||
$lang->bug->keywords = '关键词';
|
||||
$lang->bug->lastEditedByAB = '修改者';
|
||||
$lang->bug->lastEditedDateAB = '修改日期';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->bug->index = '首页';
|
||||
$lang->bug->create = '创建Bug';
|
||||
$lang->bug->edit = '编辑Bug';
|
||||
$lang->bug->browse = 'Bug列表';
|
||||
$lang->bug->view = 'Bug详情';
|
||||
$lang->bug->resolve = '解决Bug';
|
||||
$lang->bug->close = '关闭Bug';
|
||||
$lang->bug->activate = '激活Bug';
|
||||
$lang->bug->reportChart = '报表统计';
|
||||
$lang->bug->delete = '删除Bug';
|
||||
$lang->bug->saveTemplate = '保存模板';
|
||||
$lang->bug->deleteTemplate = '删除模板';
|
||||
$lang->bug->customFields = '自定义字段';
|
||||
$lang->bug->restoreDefault = '恢复默认';
|
||||
$lang->bug->ajaxGetUserBugs = '接口:我的Bug';
|
||||
$lang->bug->ajaxGetModuleOwner = '接口:获得模块的默认指派人';
|
||||
$lang->bug->confirmStoryChange = '确认需求变动';
|
||||
|
||||
/* 查询条件列表。*/
|
||||
$lang->bug->selectProduct = '请选择产品';
|
||||
$lang->bug->byModule = '按模块';
|
||||
$lang->bug->assignToMe = '指派给我';
|
||||
$lang->bug->openedByMe = '由我创建';
|
||||
$lang->bug->resolvedByMe = '由我解决';
|
||||
$lang->bug->assignToNull = '未指派';
|
||||
$lang->bug->longLifeBugs = '久未处理';
|
||||
$lang->bug->postponedBugs = '被延期';
|
||||
$lang->bug->allBugs = '所有Bug';
|
||||
$lang->bug->moduleBugs = '按模块浏览';
|
||||
$lang->bug->byQuery = '搜索';
|
||||
$lang->bug->needConfirm = '需求有变动的Bug';
|
||||
$lang->bug->allProduct = '所有产品';
|
||||
|
||||
/* 页面标签。*/
|
||||
$lang->bug->lblProductAndModule = '产品模块';
|
||||
$lang->bug->lblProjectAndTask = '项目任务';
|
||||
$lang->bug->lblStory = '相关需求';
|
||||
$lang->bug->lblTypeAndSeverity = '类型/严重程度';
|
||||
$lang->bug->lblSystemBrowserAndHardware = '系统/浏览器';
|
||||
$lang->bug->lblAssignedTo = '当前指派';
|
||||
$lang->bug->lblMailto = '抄送给';
|
||||
$lang->bug->lblLastEdited = '最后修改';
|
||||
$lang->bug->lblResolved = '由谁解决';
|
||||
$lang->bug->lblAllFields = '所有字段';
|
||||
$lang->bug->lblCustomFields = '自定义字段';
|
||||
|
||||
/* legend列表。*/
|
||||
$lang->bug->legendBasicInfo = '基本信息';
|
||||
$lang->bug->legendMailto = '抄送给';
|
||||
$lang->bug->legendAttatch = '附件';
|
||||
$lang->bug->legendLinkBugs = '相关Bug';
|
||||
$lang->bug->legendPrjStoryTask= '项目/需求/任务';
|
||||
$lang->bug->legendCases = '相关用例';
|
||||
$lang->bug->legendSteps = '重现步骤';
|
||||
$lang->bug->legendAction = '操作';
|
||||
$lang->bug->legendHistory = '历史记录';
|
||||
$lang->bug->legendComment = '备注';
|
||||
$lang->bug->legendLife = 'BUG的一生';
|
||||
$lang->bug->legendMisc = '其相关他';
|
||||
|
||||
/* 功能按钮。*/
|
||||
$lang->bug->buttonCopy = '复制';
|
||||
$lang->bug->buttonEdit = '编辑';
|
||||
$lang->bug->buttonActivate = '激活';
|
||||
$lang->bug->buttonResolve = '解决';
|
||||
$lang->bug->buttonClose = '关闭';
|
||||
$lang->bug->buttonToList = '返回';
|
||||
|
||||
/* 交互提示。*/
|
||||
$lang->bug->confirmChangeProduct = '修改产品会导致相应的项目、需求和任务发生变化,确定吗?';
|
||||
$lang->bug->confirmDelete = '您确认要删除该Bug吗?';
|
||||
$lang->bug->setTemplateTitle = '请输入bug模板标题(保存之前请先填写bug重现步骤):';
|
||||
|
||||
/* 模板。*/
|
||||
$lang->bug->tplStep = "<p>[步骤]</p>";
|
||||
$lang->bug->tplResult = "<p>[结果]</p>";
|
||||
$lang->bug->tplExpect = "<p>[期望]</p>";
|
||||
|
||||
/* 各个字段取值列表。*/
|
||||
$lang->bug->severityList[3] = '3';
|
||||
$lang->bug->severityList[1] = '1';
|
||||
$lang->bug->severityList[2] = '2';
|
||||
$lang->bug->severityList[4] = '4';
|
||||
|
||||
$lang->bug->priList[0] = '';
|
||||
$lang->bug->priList[3] = '3';
|
||||
$lang->bug->priList[1] = '1';
|
||||
$lang->bug->priList[2] = '2';
|
||||
$lang->bug->priList[4] = '4';
|
||||
|
||||
$lang->bug->osList[''] = '';
|
||||
$lang->bug->osList['all'] = '全部';
|
||||
$lang->bug->osList['windows'] = 'Windows';
|
||||
$lang->bug->osList['winxp'] = 'Windows XP';
|
||||
$lang->bug->osList['win7'] = 'Windows 7';
|
||||
$lang->bug->osList['vista'] = 'Windows Vista';
|
||||
$lang->bug->osList['win2000'] = 'Windows 2000';
|
||||
$lang->bug->osList['winnt'] = 'Windows NT';
|
||||
$lang->bug->osList['win98'] = 'Windows 98';
|
||||
$lang->bug->osList['linux'] = 'Linux';
|
||||
$lang->bug->osList['freebsd'] = 'FreeBSD';
|
||||
$lang->bug->osList['unix'] = 'Unix';
|
||||
$lang->bug->osList['others'] = '其他';
|
||||
|
||||
$lang->bug->browserList[''] = '';
|
||||
$lang->bug->browserList['all'] = '全部';
|
||||
$lang->bug->browserList['ie'] = 'IE系列';
|
||||
$lang->bug->browserList['ie6'] = 'IE6';
|
||||
$lang->bug->browserList['ie7'] = 'IE7';
|
||||
$lang->bug->browserList['ie8'] = 'IE8';
|
||||
$lang->bug->browserList['firefox'] = 'firefox系列';
|
||||
$lang->bug->browserList['firefox2'] = 'firefox2';
|
||||
$lang->bug->browserList['firefx3'] = 'firefox3';
|
||||
$lang->bug->browserList['opera'] = 'opera系列';
|
||||
$lang->bug->browserList['opera9'] = 'opera9';
|
||||
$lang->bug->browserList['oprea10'] = 'opera10';
|
||||
$lang->bug->browserList['safari'] = 'safari';
|
||||
$lang->bug->browserList['chrome'] = 'chrome';
|
||||
$lang->bug->browserList['other'] = '其他';
|
||||
|
||||
$lang->bug->typeList[''] = '';
|
||||
$lang->bug->typeList['codeerror'] = '代码错误';
|
||||
$lang->bug->typeList['interface'] = '界面优化';
|
||||
$lang->bug->typeList['designchange'] = '设计变更';
|
||||
$lang->bug->typeList['newfeature'] = '新增需求';
|
||||
$lang->bug->typeList['designdefect'] = '设计缺陷';
|
||||
$lang->bug->typeList['config'] = '配置相关';
|
||||
$lang->bug->typeList['install'] = '安装部署';
|
||||
$lang->bug->typeList['security'] = '安全相关';
|
||||
$lang->bug->typeList['performance'] = '性能问题';
|
||||
$lang->bug->typeList['standard'] = '标准规范';
|
||||
$lang->bug->typeList['automation'] = '测试脚本';
|
||||
$lang->bug->typeList['trackthings'] = '事务跟踪';
|
||||
$lang->bug->typeList['Others'] = '其他';
|
||||
|
||||
$lang->bug->statusList[''] = '';
|
||||
$lang->bug->statusList['active'] = '激活';
|
||||
$lang->bug->statusList['resolved'] = '已解决';
|
||||
$lang->bug->statusList['closed'] = '已关闭';
|
||||
|
||||
$lang->bug->resolutionList[''] = '';
|
||||
$lang->bug->resolutionList['bydesign'] = '设计如此';
|
||||
$lang->bug->resolutionList['duplicate'] = '重复Bug';
|
||||
$lang->bug->resolutionList['external'] = '外部原因';
|
||||
$lang->bug->resolutionList['fixed'] = '已解决';
|
||||
$lang->bug->resolutionList['notrepro'] = '无法重现';
|
||||
$lang->bug->resolutionList['postponed'] = '延期处理';
|
||||
$lang->bug->resolutionList['willnotfix'] = "不予解决";
|
||||
|
||||
/* 统计报表。*/
|
||||
$lang->bug->report->common = '统计报表';
|
||||
$lang->bug->report->select = '请选择报表类型';
|
||||
$lang->bug->report->create = '生成报表';
|
||||
$lang->bug->report->selectAll = '全选';
|
||||
$lang->bug->report->selectReverse = '反选';
|
||||
|
||||
$lang->bug->report->charts['bugsPerProject'] = '项目Bug数量';
|
||||
$lang->bug->report->charts['bugsPerModule'] = '模块Bug数量';
|
||||
$lang->bug->report->charts['openedBugsPerDay'] = '每天新增Bug数';
|
||||
$lang->bug->report->charts['resolvedBugsPerDay'] = '每天解决Bug数';
|
||||
$lang->bug->report->charts['closedBugsPerDay'] = '每天关闭的Bug数';
|
||||
$lang->bug->report->charts['openedBugsPerUser'] = '每人提交的Bug数';
|
||||
$lang->bug->report->charts['resolvedBugsPerUser']= '每人解决的Bug数';
|
||||
$lang->bug->report->charts['closedBugsPerUser'] = '每人关闭的Bug数';
|
||||
$lang->bug->report->charts['bugsPerSeverity'] = 'Bug严重程度统计';
|
||||
$lang->bug->report->charts['bugsPerResolution'] = 'Bug解决方案统计';
|
||||
$lang->bug->report->charts['bugsPerStatus'] = 'Bug状态统计';
|
||||
$lang->bug->report->charts['bugsPerType'] = 'Bug类型统计';
|
||||
//$lang->bug->report->charts['bugLiveDays'] = 'Bug处理时间统计';
|
||||
//$lang->bug->report->charts['bugHistories'] = 'Bug处理步骤统计';
|
||||
|
||||
$lang->bug->report->options->swf = 'pie2d';
|
||||
$lang->bug->report->options->width = 'auto';
|
||||
$lang->bug->report->options->height = 300;
|
||||
$lang->bug->report->options->graph->baseFontSize = 12;
|
||||
$lang->bug->report->options->graph->showNames = 1;
|
||||
$lang->bug->report->options->graph->formatNumber = 1;
|
||||
$lang->bug->report->options->graph->decimalPrecision = 0;
|
||||
$lang->bug->report->options->graph->animation = 0;
|
||||
$lang->bug->report->options->graph->rotateNames = 0;
|
||||
$lang->bug->report->options->graph->yAxisName = 'COUNT';
|
||||
$lang->bug->report->options->graph->pieRadius = 100; // 饼图直径。
|
||||
$lang->bug->report->options->graph->showColumnShadow = 0; // 是否显示柱状图阴影。
|
||||
|
||||
$lang->bug->report->bugsPerProject->graph->xAxisName = '项目';
|
||||
$lang->bug->report->bugsPerModule->graph->xAxisName = '模块';
|
||||
|
||||
$lang->bug->report->openedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->openedBugsPerDay->height = 400;
|
||||
$lang->bug->report->openedBugsPerDay->graph->xAxisName = '日期';
|
||||
$lang->bug->report->openedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->resolvedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->resolvedBugsPerDay->height = 400;
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->xAxisName = '日期';
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->closedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->closedBugsPerDay->height = 400;
|
||||
$lang->bug->report->closedBugsPerDay->graph->xAxisName = '日期';
|
||||
$lang->bug->report->closedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->openedBugsPerUser->graph->xAxisName = '用户';
|
||||
$lang->bug->report->resolvedBugsPerUser->graph->xAxisName= '用户';
|
||||
$lang->bug->report->closedBugsPerUser->graph->xAxisName = '用户';
|
||||
|
||||
$lang->bug->report->bugsPerSeverity->graph->xAxisName = '严重程度';
|
||||
$lang->bug->report->bugsPerResolution->graph->xAxisName = '解决方案';
|
||||
$lang->bug->report->bugsPerStatus->graph->xAxisName = '状态';
|
||||
$lang->bug->report->bugsPerType->graph->xAxisName = '类型';
|
||||
$lang->bug->report->bugLiveDays->graph->xAxisName = '处理时间';
|
||||
$lang->bug->report->bugHistories->graph->xAxisName = '处理步骤';
|
||||
|
||||
/* 操作记录。*/
|
||||
$lang->bug->action->resolved = array('main' => '$date, 由 <strong>$actor</strong> 解决,方案为 <strong>$extra</strong>。', 'extra' => $lang->bug->resolutionList);
|
||||
<?php
|
||||
/**
|
||||
* The bug module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 字段列表。*/
|
||||
$lang->bug->common = '缺陷管理';
|
||||
$lang->bug->id = 'Bug编号';
|
||||
$lang->bug->product = '所属产品';
|
||||
$lang->bug->module = '所属模块';
|
||||
$lang->bug->path = '模块路径';
|
||||
$lang->bug->project = '所属项目';
|
||||
$lang->bug->story = '相关需求';
|
||||
$lang->bug->storyVersion = '需求版本';
|
||||
$lang->bug->task = '相关任务';
|
||||
$lang->bug->title = 'Bug标题';
|
||||
$lang->bug->severity = '严重程度';
|
||||
$lang->bug->severityAB = '级别';
|
||||
$lang->bug->pri = '优先级';
|
||||
$lang->bug->type = 'Bug类型';
|
||||
$lang->bug->os = '操作系统';
|
||||
$lang->bug->hardware = '硬件平台';
|
||||
$lang->bug->browser = '浏览器';
|
||||
$lang->bug->machine = '机器硬件';
|
||||
$lang->bug->found = '如何发现';
|
||||
$lang->bug->steps = '重现步骤';
|
||||
$lang->bug->status = 'Bug状态';
|
||||
$lang->bug->mailto = '抄送给';
|
||||
$lang->bug->openedBy = '由谁创建';
|
||||
$lang->bug->openedByAB = '创建';
|
||||
$lang->bug->openedDate = '创建日期';
|
||||
$lang->bug->openedBuild = '影响版本';
|
||||
$lang->bug->assignedTo = '指派给';
|
||||
$lang->bug->assignedDate = '指派日期';
|
||||
$lang->bug->resolvedBy = '解决者';
|
||||
$lang->bug->resolvedByAB = '解决';
|
||||
$lang->bug->resolution = '解决方案';
|
||||
$lang->bug->resolutionAB = '方案';
|
||||
$lang->bug->resolvedBuild = '解决版本';
|
||||
$lang->bug->resolvedDate = '解决日期';
|
||||
$lang->bug->closedBy = '由谁关闭';
|
||||
$lang->bug->closedDate = '关闭日期';
|
||||
$lang->bug->duplicateBug = '重复Bug';
|
||||
$lang->bug->lastEditedBy = '最后修改者';
|
||||
$lang->bug->lastEditedDate = '最后修改日期';
|
||||
$lang->bug->linkBug = '相关Bug';
|
||||
$lang->bug->case = '相关用例';
|
||||
$lang->bug->files = '附件';
|
||||
$lang->bug->keywords = '关键词';
|
||||
$lang->bug->lastEditedByAB = '修改者';
|
||||
$lang->bug->lastEditedDateAB = '修改日期';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->bug->index = '首页';
|
||||
$lang->bug->create = '创建Bug';
|
||||
$lang->bug->edit = '编辑Bug';
|
||||
$lang->bug->browse = 'Bug列表';
|
||||
$lang->bug->view = 'Bug详情';
|
||||
$lang->bug->resolve = '解决Bug';
|
||||
$lang->bug->close = '关闭Bug';
|
||||
$lang->bug->activate = '激活Bug';
|
||||
$lang->bug->reportChart = '报表统计';
|
||||
$lang->bug->delete = '删除Bug';
|
||||
$lang->bug->saveTemplate = '保存模板';
|
||||
$lang->bug->deleteTemplate = '删除模板';
|
||||
$lang->bug->customFields = '自定义字段';
|
||||
$lang->bug->restoreDefault = '恢复默认';
|
||||
$lang->bug->ajaxGetUserBugs = '接口:我的Bug';
|
||||
$lang->bug->ajaxGetModuleOwner = '接口:获得模块的默认指派人';
|
||||
$lang->bug->confirmStoryChange = '确认需求变动';
|
||||
|
||||
/* 查询条件列表。*/
|
||||
$lang->bug->selectProduct = '请选择产品';
|
||||
$lang->bug->byModule = '按模块';
|
||||
$lang->bug->assignToMe = '指派给我';
|
||||
$lang->bug->openedByMe = '由我创建';
|
||||
$lang->bug->resolvedByMe = '由我解决';
|
||||
$lang->bug->assignToNull = '未指派';
|
||||
$lang->bug->longLifeBugs = '久未处理';
|
||||
$lang->bug->postponedBugs = '被延期';
|
||||
$lang->bug->allBugs = '所有Bug';
|
||||
$lang->bug->moduleBugs = '按模块浏览';
|
||||
$lang->bug->byQuery = '搜索';
|
||||
$lang->bug->needConfirm = '需求有变动的Bug';
|
||||
$lang->bug->allProduct = '所有产品';
|
||||
|
||||
/* 页面标签。*/
|
||||
$lang->bug->lblProductAndModule = '产品模块';
|
||||
$lang->bug->lblProjectAndTask = '项目任务';
|
||||
$lang->bug->lblStory = '相关需求';
|
||||
$lang->bug->lblTypeAndSeverity = '类型/严重程度';
|
||||
$lang->bug->lblSystemBrowserAndHardware = '系统/浏览器';
|
||||
$lang->bug->lblAssignedTo = '当前指派';
|
||||
$lang->bug->lblMailto = '抄送给';
|
||||
$lang->bug->lblLastEdited = '最后修改';
|
||||
$lang->bug->lblResolved = '由谁解决';
|
||||
$lang->bug->lblAllFields = '所有字段';
|
||||
$lang->bug->lblCustomFields = '自定义字段';
|
||||
|
||||
/* legend列表。*/
|
||||
$lang->bug->legendBasicInfo = '基本信息';
|
||||
$lang->bug->legendMailto = '抄送给';
|
||||
$lang->bug->legendAttatch = '附件';
|
||||
$lang->bug->legendLinkBugs = '相关Bug';
|
||||
$lang->bug->legendPrjStoryTask= '项目/需求/任务';
|
||||
$lang->bug->legendCases = '相关用例';
|
||||
$lang->bug->legendSteps = '重现步骤';
|
||||
$lang->bug->legendAction = '操作';
|
||||
$lang->bug->legendHistory = '历史记录';
|
||||
$lang->bug->legendComment = '备注';
|
||||
$lang->bug->legendLife = 'BUG的一生';
|
||||
$lang->bug->legendMisc = '其相关他';
|
||||
|
||||
/* 功能按钮。*/
|
||||
$lang->bug->buttonCopy = '复制';
|
||||
$lang->bug->buttonEdit = '编辑';
|
||||
$lang->bug->buttonActivate = '激活';
|
||||
$lang->bug->buttonResolve = '解决';
|
||||
$lang->bug->buttonClose = '关闭';
|
||||
$lang->bug->buttonToList = '返回';
|
||||
|
||||
/* 交互提示。*/
|
||||
$lang->bug->confirmChangeProduct = '修改产品会导致相应的项目、需求和任务发生变化,确定吗?';
|
||||
$lang->bug->confirmDelete = '您确认要删除该Bug吗?';
|
||||
$lang->bug->setTemplateTitle = '请输入bug模板标题(保存之前请先填写bug重现步骤):';
|
||||
|
||||
/* 模板。*/
|
||||
$lang->bug->tplStep = "<p>[步骤]</p>";
|
||||
$lang->bug->tplResult = "<p>[结果]</p>";
|
||||
$lang->bug->tplExpect = "<p>[期望]</p>";
|
||||
|
||||
/* 各个字段取值列表。*/
|
||||
$lang->bug->severityList[3] = '3';
|
||||
$lang->bug->severityList[1] = '1';
|
||||
$lang->bug->severityList[2] = '2';
|
||||
$lang->bug->severityList[4] = '4';
|
||||
|
||||
$lang->bug->priList[0] = '';
|
||||
$lang->bug->priList[3] = '3';
|
||||
$lang->bug->priList[1] = '1';
|
||||
$lang->bug->priList[2] = '2';
|
||||
$lang->bug->priList[4] = '4';
|
||||
|
||||
$lang->bug->osList[''] = '';
|
||||
$lang->bug->osList['all'] = '全部';
|
||||
$lang->bug->osList['windows'] = 'Windows';
|
||||
$lang->bug->osList['winxp'] = 'Windows XP';
|
||||
$lang->bug->osList['win7'] = 'Windows 7';
|
||||
$lang->bug->osList['vista'] = 'Windows Vista';
|
||||
$lang->bug->osList['win2000'] = 'Windows 2000';
|
||||
$lang->bug->osList['winnt'] = 'Windows NT';
|
||||
$lang->bug->osList['win98'] = 'Windows 98';
|
||||
$lang->bug->osList['linux'] = 'Linux';
|
||||
$lang->bug->osList['freebsd'] = 'FreeBSD';
|
||||
$lang->bug->osList['unix'] = 'Unix';
|
||||
$lang->bug->osList['others'] = '其他';
|
||||
|
||||
$lang->bug->browserList[''] = '';
|
||||
$lang->bug->browserList['all'] = '全部';
|
||||
$lang->bug->browserList['ie'] = 'IE系列';
|
||||
$lang->bug->browserList['ie6'] = 'IE6';
|
||||
$lang->bug->browserList['ie7'] = 'IE7';
|
||||
$lang->bug->browserList['ie8'] = 'IE8';
|
||||
$lang->bug->browserList['firefox'] = 'firefox系列';
|
||||
$lang->bug->browserList['firefox2'] = 'firefox2';
|
||||
$lang->bug->browserList['firefx3'] = 'firefox3';
|
||||
$lang->bug->browserList['opera'] = 'opera系列';
|
||||
$lang->bug->browserList['opera9'] = 'opera9';
|
||||
$lang->bug->browserList['oprea10'] = 'opera10';
|
||||
$lang->bug->browserList['safari'] = 'safari';
|
||||
$lang->bug->browserList['chrome'] = 'chrome';
|
||||
$lang->bug->browserList['other'] = '其他';
|
||||
|
||||
$lang->bug->typeList[''] = '';
|
||||
$lang->bug->typeList['codeerror'] = '代码错误';
|
||||
$lang->bug->typeList['interface'] = '界面优化';
|
||||
$lang->bug->typeList['designchange'] = '设计变更';
|
||||
$lang->bug->typeList['newfeature'] = '新增需求';
|
||||
$lang->bug->typeList['designdefect'] = '设计缺陷';
|
||||
$lang->bug->typeList['config'] = '配置相关';
|
||||
$lang->bug->typeList['install'] = '安装部署';
|
||||
$lang->bug->typeList['security'] = '安全相关';
|
||||
$lang->bug->typeList['performance'] = '性能问题';
|
||||
$lang->bug->typeList['standard'] = '标准规范';
|
||||
$lang->bug->typeList['automation'] = '测试脚本';
|
||||
$lang->bug->typeList['trackthings'] = '事务跟踪';
|
||||
$lang->bug->typeList['Others'] = '其他';
|
||||
|
||||
$lang->bug->statusList[''] = '';
|
||||
$lang->bug->statusList['active'] = '激活';
|
||||
$lang->bug->statusList['resolved'] = '已解决';
|
||||
$lang->bug->statusList['closed'] = '已关闭';
|
||||
|
||||
$lang->bug->resolutionList[''] = '';
|
||||
$lang->bug->resolutionList['bydesign'] = '设计如此';
|
||||
$lang->bug->resolutionList['duplicate'] = '重复Bug';
|
||||
$lang->bug->resolutionList['external'] = '外部原因';
|
||||
$lang->bug->resolutionList['fixed'] = '已解决';
|
||||
$lang->bug->resolutionList['notrepro'] = '无法重现';
|
||||
$lang->bug->resolutionList['postponed'] = '延期处理';
|
||||
$lang->bug->resolutionList['willnotfix'] = "不予解决";
|
||||
|
||||
/* 统计报表。*/
|
||||
$lang->bug->report->common = '统计报表';
|
||||
$lang->bug->report->select = '请选择报表类型';
|
||||
$lang->bug->report->create = '生成报表';
|
||||
$lang->bug->report->selectAll = '全选';
|
||||
$lang->bug->report->selectReverse = '反选';
|
||||
|
||||
$lang->bug->report->charts['bugsPerProject'] = '项目Bug数量';
|
||||
$lang->bug->report->charts['bugsPerModule'] = '模块Bug数量';
|
||||
$lang->bug->report->charts['openedBugsPerDay'] = '每天新增Bug数';
|
||||
$lang->bug->report->charts['resolvedBugsPerDay'] = '每天解决Bug数';
|
||||
$lang->bug->report->charts['closedBugsPerDay'] = '每天关闭的Bug数';
|
||||
$lang->bug->report->charts['openedBugsPerUser'] = '每人提交的Bug数';
|
||||
$lang->bug->report->charts['resolvedBugsPerUser']= '每人解决的Bug数';
|
||||
$lang->bug->report->charts['closedBugsPerUser'] = '每人关闭的Bug数';
|
||||
$lang->bug->report->charts['bugsPerSeverity'] = 'Bug严重程度统计';
|
||||
$lang->bug->report->charts['bugsPerResolution'] = 'Bug解决方案统计';
|
||||
$lang->bug->report->charts['bugsPerStatus'] = 'Bug状态统计';
|
||||
$lang->bug->report->charts['bugsPerType'] = 'Bug类型统计';
|
||||
//$lang->bug->report->charts['bugLiveDays'] = 'Bug处理时间统计';
|
||||
//$lang->bug->report->charts['bugHistories'] = 'Bug处理步骤统计';
|
||||
|
||||
$lang->bug->report->options->swf = 'pie2d';
|
||||
$lang->bug->report->options->width = 'auto';
|
||||
$lang->bug->report->options->height = 300;
|
||||
$lang->bug->report->options->graph->baseFontSize = 12;
|
||||
$lang->bug->report->options->graph->showNames = 1;
|
||||
$lang->bug->report->options->graph->formatNumber = 1;
|
||||
$lang->bug->report->options->graph->decimalPrecision = 0;
|
||||
$lang->bug->report->options->graph->animation = 0;
|
||||
$lang->bug->report->options->graph->rotateNames = 0;
|
||||
$lang->bug->report->options->graph->yAxisName = 'COUNT';
|
||||
$lang->bug->report->options->graph->pieRadius = 100; // 饼图直径。
|
||||
$lang->bug->report->options->graph->showColumnShadow = 0; // 是否显示柱状图阴影。
|
||||
|
||||
$lang->bug->report->bugsPerProject->graph->xAxisName = '项目';
|
||||
$lang->bug->report->bugsPerModule->graph->xAxisName = '模块';
|
||||
|
||||
$lang->bug->report->openedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->openedBugsPerDay->height = 400;
|
||||
$lang->bug->report->openedBugsPerDay->graph->xAxisName = '日期';
|
||||
$lang->bug->report->openedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->resolvedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->resolvedBugsPerDay->height = 400;
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->xAxisName = '日期';
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->closedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->closedBugsPerDay->height = 400;
|
||||
$lang->bug->report->closedBugsPerDay->graph->xAxisName = '日期';
|
||||
$lang->bug->report->closedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->openedBugsPerUser->graph->xAxisName = '用户';
|
||||
$lang->bug->report->resolvedBugsPerUser->graph->xAxisName= '用户';
|
||||
$lang->bug->report->closedBugsPerUser->graph->xAxisName = '用户';
|
||||
|
||||
$lang->bug->report->bugsPerSeverity->graph->xAxisName = '严重程度';
|
||||
$lang->bug->report->bugsPerResolution->graph->xAxisName = '解决方案';
|
||||
$lang->bug->report->bugsPerStatus->graph->xAxisName = '状态';
|
||||
$lang->bug->report->bugsPerType->graph->xAxisName = '类型';
|
||||
$lang->bug->report->bugLiveDays->graph->xAxisName = '处理时间';
|
||||
$lang->bug->report->bugHistories->graph->xAxisName = '处理步骤';
|
||||
|
||||
/* 操作记录。*/
|
||||
$lang->bug->action->resolved = array('main' => '$date, 由 <strong>$actor</strong> 解决,方案为 <strong>$extra</strong>。', 'extra' => $lang->bug->resolutionList);
|
||||
|
||||
@@ -1,286 +1,273 @@
|
||||
<?php
|
||||
/**
|
||||
* The bug module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id: zh-tw.php 1069 2010-09-11 07:26:25Z yuren_@126.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 欄位列表。*/
|
||||
$lang->bug->common = '缺陷管理';
|
||||
$lang->bug->id = 'Bug編號';
|
||||
$lang->bug->product = '所屬產品';
|
||||
$lang->bug->module = '所屬模組';
|
||||
$lang->bug->path = '模組路徑';
|
||||
$lang->bug->project = '所屬項目';
|
||||
$lang->bug->story = '相關需求';
|
||||
$lang->bug->storyVersion = '需求版本';
|
||||
$lang->bug->task = '相關任務';
|
||||
$lang->bug->title = 'Bug標題';
|
||||
$lang->bug->severity = '嚴重程度';
|
||||
$lang->bug->severityAB = '級別';
|
||||
$lang->bug->pri = '優先順序';
|
||||
$lang->bug->type = 'Bug類型';
|
||||
$lang->bug->os = '操作系統';
|
||||
$lang->bug->hardware = '硬件平台';
|
||||
$lang->bug->browser = '瀏覽器';
|
||||
$lang->bug->machine = '機器硬件';
|
||||
$lang->bug->found = '如何發現';
|
||||
$lang->bug->steps = '重現步驟';
|
||||
$lang->bug->status = 'Bug狀態';
|
||||
$lang->bug->mailto = '抄送給';
|
||||
$lang->bug->openedBy = '由誰創建';
|
||||
$lang->bug->openedByAB = '創建';
|
||||
$lang->bug->openedDate = '創建日期';
|
||||
$lang->bug->openedBuild = '影響版本';
|
||||
$lang->bug->assignedTo = '指派給';
|
||||
$lang->bug->assignedDate = '指派日期';
|
||||
$lang->bug->resolvedBy = '解決者';
|
||||
$lang->bug->resolvedByAB = '解決';
|
||||
$lang->bug->resolution = '解決方案';
|
||||
$lang->bug->resolutionAB = '方案';
|
||||
$lang->bug->resolvedBuild = '解決版本';
|
||||
$lang->bug->resolvedDate = '解決日期';
|
||||
$lang->bug->closedBy = '由誰關閉';
|
||||
$lang->bug->closedDate = '關閉日期';
|
||||
$lang->bug->duplicateBug = '重複Bug';
|
||||
$lang->bug->lastEditedBy = '最後修改者';
|
||||
$lang->bug->lastEditedDate = '最後修改日期';
|
||||
$lang->bug->linkBug = '相關Bug';
|
||||
$lang->bug->case = '相關用例';
|
||||
$lang->bug->files = '附件';
|
||||
$lang->bug->keywords = '關鍵詞';
|
||||
$lang->bug->lastEditedByAB = '修改者';
|
||||
$lang->bug->lastEditedDateAB = '修改日期';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->bug->index = '首頁';
|
||||
$lang->bug->create = '創建Bug';
|
||||
$lang->bug->edit = '編輯Bug';
|
||||
$lang->bug->browse = 'Bug列表';
|
||||
$lang->bug->view = 'Bug詳情';
|
||||
$lang->bug->resolve = '解決Bug';
|
||||
$lang->bug->close = '關閉Bug';
|
||||
$lang->bug->activate = '激活Bug';
|
||||
$lang->bug->reportChart = '報表統計';
|
||||
$lang->bug->delete = '刪除Bug';
|
||||
$lang->bug->saveTemplate = '保存模板';
|
||||
$lang->bug->deleteTemplate = '刪除模板';
|
||||
$lang->bug->customFields = '自定義欄位';
|
||||
$lang->bug->restoreDefault = '恢復預設';
|
||||
$lang->bug->ajaxGetUserBugs = '介面:我的Bug';
|
||||
$lang->bug->ajaxGetModuleOwner = '介面:獲得模組的預設指派人';
|
||||
$lang->bug->confirmStoryChange = '確認需求變動';
|
||||
|
||||
/* 查詢條件列表。*/
|
||||
$lang->bug->selectProduct = '請選擇產品';
|
||||
$lang->bug->byModule = '按模組';
|
||||
$lang->bug->assignToMe = '指派給我';
|
||||
$lang->bug->openedByMe = '由我創建';
|
||||
$lang->bug->resolvedByMe = '由我解決';
|
||||
$lang->bug->assignToNull = '未指派';
|
||||
$lang->bug->longLifeBugs = '久未處理';
|
||||
$lang->bug->postponedBugs = '被延期';
|
||||
$lang->bug->allBugs = '所有Bug';
|
||||
$lang->bug->moduleBugs = '按模組瀏覽';
|
||||
$lang->bug->byQuery = '搜索';
|
||||
$lang->bug->needConfirm = '需求有變動的Bug';
|
||||
$lang->bug->allProduct = '所有產品';
|
||||
|
||||
/* 頁面標籤。*/
|
||||
$lang->bug->lblProductAndModule = '產品模組';
|
||||
$lang->bug->lblProjectAndTask = '項目任務';
|
||||
$lang->bug->lblStory = '相關需求';
|
||||
$lang->bug->lblTypeAndSeverity = '類型/嚴重程度';
|
||||
$lang->bug->lblSystemBrowserAndHardware = '系統/瀏覽器';
|
||||
$lang->bug->lblAssignedTo = '當前指派';
|
||||
$lang->bug->lblMailto = '抄送給';
|
||||
$lang->bug->lblLastEdited = '最後修改';
|
||||
$lang->bug->lblResolved = '由誰解決';
|
||||
$lang->bug->lblAllFields = '所有欄位';
|
||||
$lang->bug->lblCustomFields = '自定義欄位';
|
||||
|
||||
/* legend列表。*/
|
||||
$lang->bug->legendBasicInfo = '基本信息';
|
||||
$lang->bug->legendMailto = '抄送給';
|
||||
$lang->bug->legendAttatch = '附件';
|
||||
$lang->bug->legendLinkBugs = '相關Bug';
|
||||
$lang->bug->legendPrjStoryTask= '項目/需求/任務';
|
||||
$lang->bug->legendCases = '相關用例';
|
||||
$lang->bug->legendSteps = '重現步驟';
|
||||
$lang->bug->legendAction = '操作';
|
||||
$lang->bug->legendHistory = '歷史記錄';
|
||||
$lang->bug->legendComment = '備註';
|
||||
$lang->bug->legendLife = 'BUG的一生';
|
||||
$lang->bug->legendMisc = '其相關他';
|
||||
|
||||
/* 功能按鈕。*/
|
||||
$lang->bug->buttonCopy = '複製';
|
||||
$lang->bug->buttonEdit = '編輯';
|
||||
$lang->bug->buttonActivate = '激活';
|
||||
$lang->bug->buttonResolve = '解決';
|
||||
$lang->bug->buttonClose = '關閉';
|
||||
$lang->bug->buttonToList = '返回';
|
||||
|
||||
/* 交互提示。*/
|
||||
$lang->bug->confirmChangeProduct = '修改產品會導致相應的項目、需求和任務發生變化,確定嗎?';
|
||||
$lang->bug->confirmDelete = '您確認要刪除該Bug嗎?';
|
||||
$lang->bug->setTemplateTitle = '請輸入bug模板標題(保存之前請先填寫bug重現步驟):';
|
||||
|
||||
/* 模板。*/
|
||||
$lang->bug->tplStep = "<p>[步驟]</p>";
|
||||
$lang->bug->tplResult = "<p>[結果]</p>";
|
||||
$lang->bug->tplExpect = "<p>[期望]</p>";
|
||||
|
||||
/* 各個欄位取值列表。*/
|
||||
$lang->bug->severityList[3] = '3';
|
||||
$lang->bug->severityList[1] = '1';
|
||||
$lang->bug->severityList[2] = '2';
|
||||
$lang->bug->severityList[4] = '4';
|
||||
|
||||
$lang->bug->priList[0] = '';
|
||||
$lang->bug->priList[3] = '3';
|
||||
$lang->bug->priList[1] = '1';
|
||||
$lang->bug->priList[2] = '2';
|
||||
$lang->bug->priList[4] = '4';
|
||||
|
||||
$lang->bug->osList[''] = '';
|
||||
$lang->bug->osList['all'] = '全部';
|
||||
$lang->bug->osList['windows'] = 'Windows';
|
||||
$lang->bug->osList['winxp'] = 'Windows XP';
|
||||
$lang->bug->osList['win7'] = 'Windows 7';
|
||||
$lang->bug->osList['vista'] = 'Windows Vista';
|
||||
$lang->bug->osList['win2000'] = 'Windows 2000';
|
||||
$lang->bug->osList['winnt'] = 'Windows NT';
|
||||
$lang->bug->osList['win98'] = 'Windows 98';
|
||||
$lang->bug->osList['linux'] = 'Linux';
|
||||
$lang->bug->osList['freebsd'] = 'FreeBSD';
|
||||
$lang->bug->osList['unix'] = 'Unix';
|
||||
$lang->bug->osList['others'] = '其他';
|
||||
|
||||
$lang->bug->browserList[''] = '';
|
||||
$lang->bug->browserList['all'] = '全部';
|
||||
$lang->bug->browserList['ie'] = 'IE系列';
|
||||
$lang->bug->browserList['ie6'] = 'IE6';
|
||||
$lang->bug->browserList['ie7'] = 'IE7';
|
||||
$lang->bug->browserList['ie8'] = 'IE8';
|
||||
$lang->bug->browserList['firefox'] = 'firefox系列';
|
||||
$lang->bug->browserList['firefox2'] = 'firefox2';
|
||||
$lang->bug->browserList['firefx3'] = 'firefox3';
|
||||
$lang->bug->browserList['opera'] = 'opera系列';
|
||||
$lang->bug->browserList['opera9'] = 'opera9';
|
||||
$lang->bug->browserList['oprea10'] = 'opera10';
|
||||
$lang->bug->browserList['safari'] = 'safari';
|
||||
$lang->bug->browserList['chrome'] = 'chrome';
|
||||
$lang->bug->browserList['other'] = '其他';
|
||||
|
||||
$lang->bug->typeList[''] = '';
|
||||
$lang->bug->typeList['codeerror'] = '代碼錯誤';
|
||||
$lang->bug->typeList['interface'] = '界面優化';
|
||||
$lang->bug->typeList['designchange'] = '設計變更';
|
||||
$lang->bug->typeList['newfeature'] = '新增需求';
|
||||
$lang->bug->typeList['designdefect'] = '設計缺陷';
|
||||
$lang->bug->typeList['config'] = '配置相關';
|
||||
$lang->bug->typeList['install'] = '安裝部署';
|
||||
$lang->bug->typeList['security'] = '安全相關';
|
||||
$lang->bug->typeList['performance'] = '性能問題';
|
||||
$lang->bug->typeList['standard'] = '標準規範';
|
||||
$lang->bug->typeList['automation'] = '測試腳本';
|
||||
$lang->bug->typeList['trackthings'] = '事務跟蹤';
|
||||
$lang->bug->typeList['Others'] = '其他';
|
||||
|
||||
$lang->bug->statusList[''] = '';
|
||||
$lang->bug->statusList['active'] = '激活';
|
||||
$lang->bug->statusList['resolved'] = '已解決';
|
||||
$lang->bug->statusList['closed'] = '已關閉';
|
||||
|
||||
$lang->bug->resolutionList[''] = '';
|
||||
$lang->bug->resolutionList['bydesign'] = '設計如此';
|
||||
$lang->bug->resolutionList['duplicate'] = '重複Bug';
|
||||
$lang->bug->resolutionList['external'] = '外部原因';
|
||||
$lang->bug->resolutionList['fixed'] = '已解決';
|
||||
$lang->bug->resolutionList['notrepro'] = '無法重現';
|
||||
$lang->bug->resolutionList['postponed'] = '延期處理';
|
||||
$lang->bug->resolutionList['willnotfix'] = "不予解決";
|
||||
|
||||
/* 統計報表。*/
|
||||
$lang->bug->report->common = '統計報表';
|
||||
$lang->bug->report->select = '請選擇報表類型';
|
||||
$lang->bug->report->create = '生成報表';
|
||||
$lang->bug->report->selectAll = '全選';
|
||||
$lang->bug->report->selectReverse = '反選';
|
||||
|
||||
$lang->bug->report->charts['bugsPerProject'] = '項目Bug數量';
|
||||
$lang->bug->report->charts['bugsPerModule'] = '模組Bug數量';
|
||||
$lang->bug->report->charts['openedBugsPerDay'] = '每天新增Bug數';
|
||||
$lang->bug->report->charts['resolvedBugsPerDay'] = '每天解決Bug數';
|
||||
$lang->bug->report->charts['closedBugsPerDay'] = '每天關閉的Bug數';
|
||||
$lang->bug->report->charts['openedBugsPerUser'] = '每人提交的Bug數';
|
||||
$lang->bug->report->charts['resolvedBugsPerUser']= '每人解決的Bug數';
|
||||
$lang->bug->report->charts['closedBugsPerUser'] = '每人關閉的Bug數';
|
||||
$lang->bug->report->charts['bugsPerSeverity'] = 'Bug嚴重程度統計';
|
||||
$lang->bug->report->charts['bugsPerResolution'] = 'Bug解決方案統計';
|
||||
$lang->bug->report->charts['bugsPerStatus'] = 'Bug狀態統計';
|
||||
$lang->bug->report->charts['bugsPerType'] = 'Bug類型統計';
|
||||
//$lang->bug->report->charts['bugLiveDays'] = 'Bug處理時間統計';
|
||||
//$lang->bug->report->charts['bugHistories'] = 'Bug處理步驟統計';
|
||||
|
||||
$lang->bug->report->options->swf = 'pie2d';
|
||||
$lang->bug->report->options->width = 'auto';
|
||||
$lang->bug->report->options->height = 300;
|
||||
$lang->bug->report->options->graph->baseFontSize = 12;
|
||||
$lang->bug->report->options->graph->showNames = 1;
|
||||
$lang->bug->report->options->graph->formatNumber = 1;
|
||||
$lang->bug->report->options->graph->decimalPrecision = 0;
|
||||
$lang->bug->report->options->graph->animation = 0;
|
||||
$lang->bug->report->options->graph->rotateNames = 0;
|
||||
$lang->bug->report->options->graph->yAxisName = 'COUNT';
|
||||
$lang->bug->report->options->graph->pieRadius = 100; // 餅圖直徑。
|
||||
$lang->bug->report->options->graph->showColumnShadow = 0; // 是否顯示柱狀圖陰影。
|
||||
|
||||
$lang->bug->report->bugsPerProject->graph->xAxisName = '項目';
|
||||
$lang->bug->report->bugsPerModule->graph->xAxisName = '模組';
|
||||
|
||||
$lang->bug->report->openedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->openedBugsPerDay->height = 400;
|
||||
$lang->bug->report->openedBugsPerDay->graph->xAxisName = '日期';
|
||||
$lang->bug->report->openedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->resolvedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->resolvedBugsPerDay->height = 400;
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->xAxisName = '日期';
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->closedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->closedBugsPerDay->height = 400;
|
||||
$lang->bug->report->closedBugsPerDay->graph->xAxisName = '日期';
|
||||
$lang->bug->report->closedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->openedBugsPerUser->graph->xAxisName = '用戶';
|
||||
$lang->bug->report->resolvedBugsPerUser->graph->xAxisName= '用戶';
|
||||
$lang->bug->report->closedBugsPerUser->graph->xAxisName = '用戶';
|
||||
|
||||
$lang->bug->report->bugsPerSeverity->graph->xAxisName = '嚴重程度';
|
||||
$lang->bug->report->bugsPerResolution->graph->xAxisName = '解決方案';
|
||||
$lang->bug->report->bugsPerStatus->graph->xAxisName = '狀態';
|
||||
$lang->bug->report->bugsPerType->graph->xAxisName = '類型';
|
||||
$lang->bug->report->bugLiveDays->graph->xAxisName = '處理時間';
|
||||
$lang->bug->report->bugHistories->graph->xAxisName = '處理步驟';
|
||||
|
||||
/* 操作記錄。*/
|
||||
$lang->bug->action->resolved = array('main' => '$date, 由 <strong>$actor</strong> 解決,方案為 <strong>$extra</strong>。', 'extra' => $lang->bug->resolutionList);
|
||||
<?php
|
||||
/**
|
||||
* The bug module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id: zh-tw.php 1069 2010-09-11 07:26:25Z yuren_@126.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 欄位列表。*/
|
||||
$lang->bug->common = '缺陷管理';
|
||||
$lang->bug->id = 'Bug編號';
|
||||
$lang->bug->product = '所屬產品';
|
||||
$lang->bug->module = '所屬模組';
|
||||
$lang->bug->path = '模組路徑';
|
||||
$lang->bug->project = '所屬項目';
|
||||
$lang->bug->story = '相關需求';
|
||||
$lang->bug->storyVersion = '需求版本';
|
||||
$lang->bug->task = '相關任務';
|
||||
$lang->bug->title = 'Bug標題';
|
||||
$lang->bug->severity = '嚴重程度';
|
||||
$lang->bug->severityAB = '級別';
|
||||
$lang->bug->pri = '優先順序';
|
||||
$lang->bug->type = 'Bug類型';
|
||||
$lang->bug->os = '操作系統';
|
||||
$lang->bug->hardware = '硬件平台';
|
||||
$lang->bug->browser = '瀏覽器';
|
||||
$lang->bug->machine = '機器硬件';
|
||||
$lang->bug->found = '如何發現';
|
||||
$lang->bug->steps = '重現步驟';
|
||||
$lang->bug->status = 'Bug狀態';
|
||||
$lang->bug->mailto = '抄送給';
|
||||
$lang->bug->openedBy = '由誰創建';
|
||||
$lang->bug->openedByAB = '創建';
|
||||
$lang->bug->openedDate = '創建日期';
|
||||
$lang->bug->openedBuild = '影響版本';
|
||||
$lang->bug->assignedTo = '指派給';
|
||||
$lang->bug->assignedDate = '指派日期';
|
||||
$lang->bug->resolvedBy = '解決者';
|
||||
$lang->bug->resolvedByAB = '解決';
|
||||
$lang->bug->resolution = '解決方案';
|
||||
$lang->bug->resolutionAB = '方案';
|
||||
$lang->bug->resolvedBuild = '解決版本';
|
||||
$lang->bug->resolvedDate = '解決日期';
|
||||
$lang->bug->closedBy = '由誰關閉';
|
||||
$lang->bug->closedDate = '關閉日期';
|
||||
$lang->bug->duplicateBug = '重複Bug';
|
||||
$lang->bug->lastEditedBy = '最後修改者';
|
||||
$lang->bug->lastEditedDate = '最後修改日期';
|
||||
$lang->bug->linkBug = '相關Bug';
|
||||
$lang->bug->case = '相關用例';
|
||||
$lang->bug->files = '附件';
|
||||
$lang->bug->keywords = '關鍵詞';
|
||||
$lang->bug->lastEditedByAB = '修改者';
|
||||
$lang->bug->lastEditedDateAB = '修改日期';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->bug->index = '首頁';
|
||||
$lang->bug->create = '創建Bug';
|
||||
$lang->bug->edit = '編輯Bug';
|
||||
$lang->bug->browse = 'Bug列表';
|
||||
$lang->bug->view = 'Bug詳情';
|
||||
$lang->bug->resolve = '解決Bug';
|
||||
$lang->bug->close = '關閉Bug';
|
||||
$lang->bug->activate = '激活Bug';
|
||||
$lang->bug->reportChart = '報表統計';
|
||||
$lang->bug->delete = '刪除Bug';
|
||||
$lang->bug->saveTemplate = '保存模板';
|
||||
$lang->bug->deleteTemplate = '刪除模板';
|
||||
$lang->bug->customFields = '自定義欄位';
|
||||
$lang->bug->restoreDefault = '恢復預設';
|
||||
$lang->bug->ajaxGetUserBugs = '介面:我的Bug';
|
||||
$lang->bug->ajaxGetModuleOwner = '介面:獲得模組的預設指派人';
|
||||
$lang->bug->confirmStoryChange = '確認需求變動';
|
||||
|
||||
/* 查詢條件列表。*/
|
||||
$lang->bug->selectProduct = '請選擇產品';
|
||||
$lang->bug->byModule = '按模組';
|
||||
$lang->bug->assignToMe = '指派給我';
|
||||
$lang->bug->openedByMe = '由我創建';
|
||||
$lang->bug->resolvedByMe = '由我解決';
|
||||
$lang->bug->assignToNull = '未指派';
|
||||
$lang->bug->longLifeBugs = '久未處理';
|
||||
$lang->bug->postponedBugs = '被延期';
|
||||
$lang->bug->allBugs = '所有Bug';
|
||||
$lang->bug->moduleBugs = '按模組瀏覽';
|
||||
$lang->bug->byQuery = '搜索';
|
||||
$lang->bug->needConfirm = '需求有變動的Bug';
|
||||
$lang->bug->allProduct = '所有產品';
|
||||
|
||||
/* 頁面標籤。*/
|
||||
$lang->bug->lblProductAndModule = '產品模組';
|
||||
$lang->bug->lblProjectAndTask = '項目任務';
|
||||
$lang->bug->lblStory = '相關需求';
|
||||
$lang->bug->lblTypeAndSeverity = '類型/嚴重程度';
|
||||
$lang->bug->lblSystemBrowserAndHardware = '系統/瀏覽器';
|
||||
$lang->bug->lblAssignedTo = '當前指派';
|
||||
$lang->bug->lblMailto = '抄送給';
|
||||
$lang->bug->lblLastEdited = '最後修改';
|
||||
$lang->bug->lblResolved = '由誰解決';
|
||||
$lang->bug->lblAllFields = '所有欄位';
|
||||
$lang->bug->lblCustomFields = '自定義欄位';
|
||||
|
||||
/* legend列表。*/
|
||||
$lang->bug->legendBasicInfo = '基本信息';
|
||||
$lang->bug->legendMailto = '抄送給';
|
||||
$lang->bug->legendAttatch = '附件';
|
||||
$lang->bug->legendLinkBugs = '相關Bug';
|
||||
$lang->bug->legendPrjStoryTask= '項目/需求/任務';
|
||||
$lang->bug->legendCases = '相關用例';
|
||||
$lang->bug->legendSteps = '重現步驟';
|
||||
$lang->bug->legendAction = '操作';
|
||||
$lang->bug->legendHistory = '歷史記錄';
|
||||
$lang->bug->legendComment = '備註';
|
||||
$lang->bug->legendLife = 'BUG的一生';
|
||||
$lang->bug->legendMisc = '其相關他';
|
||||
|
||||
/* 功能按鈕。*/
|
||||
$lang->bug->buttonCopy = '複製';
|
||||
$lang->bug->buttonEdit = '編輯';
|
||||
$lang->bug->buttonActivate = '激活';
|
||||
$lang->bug->buttonResolve = '解決';
|
||||
$lang->bug->buttonClose = '關閉';
|
||||
$lang->bug->buttonToList = '返回';
|
||||
|
||||
/* 交互提示。*/
|
||||
$lang->bug->confirmChangeProduct = '修改產品會導致相應的項目、需求和任務發生變化,確定嗎?';
|
||||
$lang->bug->confirmDelete = '您確認要刪除該Bug嗎?';
|
||||
$lang->bug->setTemplateTitle = '請輸入bug模板標題(保存之前請先填寫bug重現步驟):';
|
||||
|
||||
/* 模板。*/
|
||||
$lang->bug->tplStep = "<p>[步驟]</p>";
|
||||
$lang->bug->tplResult = "<p>[結果]</p>";
|
||||
$lang->bug->tplExpect = "<p>[期望]</p>";
|
||||
|
||||
/* 各個欄位取值列表。*/
|
||||
$lang->bug->severityList[3] = '3';
|
||||
$lang->bug->severityList[1] = '1';
|
||||
$lang->bug->severityList[2] = '2';
|
||||
$lang->bug->severityList[4] = '4';
|
||||
|
||||
$lang->bug->priList[0] = '';
|
||||
$lang->bug->priList[3] = '3';
|
||||
$lang->bug->priList[1] = '1';
|
||||
$lang->bug->priList[2] = '2';
|
||||
$lang->bug->priList[4] = '4';
|
||||
|
||||
$lang->bug->osList[''] = '';
|
||||
$lang->bug->osList['all'] = '全部';
|
||||
$lang->bug->osList['windows'] = 'Windows';
|
||||
$lang->bug->osList['winxp'] = 'Windows XP';
|
||||
$lang->bug->osList['win7'] = 'Windows 7';
|
||||
$lang->bug->osList['vista'] = 'Windows Vista';
|
||||
$lang->bug->osList['win2000'] = 'Windows 2000';
|
||||
$lang->bug->osList['winnt'] = 'Windows NT';
|
||||
$lang->bug->osList['win98'] = 'Windows 98';
|
||||
$lang->bug->osList['linux'] = 'Linux';
|
||||
$lang->bug->osList['freebsd'] = 'FreeBSD';
|
||||
$lang->bug->osList['unix'] = 'Unix';
|
||||
$lang->bug->osList['others'] = '其他';
|
||||
|
||||
$lang->bug->browserList[''] = '';
|
||||
$lang->bug->browserList['all'] = '全部';
|
||||
$lang->bug->browserList['ie'] = 'IE系列';
|
||||
$lang->bug->browserList['ie6'] = 'IE6';
|
||||
$lang->bug->browserList['ie7'] = 'IE7';
|
||||
$lang->bug->browserList['ie8'] = 'IE8';
|
||||
$lang->bug->browserList['firefox'] = 'firefox系列';
|
||||
$lang->bug->browserList['firefox2'] = 'firefox2';
|
||||
$lang->bug->browserList['firefx3'] = 'firefox3';
|
||||
$lang->bug->browserList['opera'] = 'opera系列';
|
||||
$lang->bug->browserList['opera9'] = 'opera9';
|
||||
$lang->bug->browserList['oprea10'] = 'opera10';
|
||||
$lang->bug->browserList['safari'] = 'safari';
|
||||
$lang->bug->browserList['chrome'] = 'chrome';
|
||||
$lang->bug->browserList['other'] = '其他';
|
||||
|
||||
$lang->bug->typeList[''] = '';
|
||||
$lang->bug->typeList['codeerror'] = '代碼錯誤';
|
||||
$lang->bug->typeList['interface'] = '界面優化';
|
||||
$lang->bug->typeList['designchange'] = '設計變更';
|
||||
$lang->bug->typeList['newfeature'] = '新增需求';
|
||||
$lang->bug->typeList['designdefect'] = '設計缺陷';
|
||||
$lang->bug->typeList['config'] = '配置相關';
|
||||
$lang->bug->typeList['install'] = '安裝部署';
|
||||
$lang->bug->typeList['security'] = '安全相關';
|
||||
$lang->bug->typeList['performance'] = '性能問題';
|
||||
$lang->bug->typeList['standard'] = '標準規範';
|
||||
$lang->bug->typeList['automation'] = '測試腳本';
|
||||
$lang->bug->typeList['trackthings'] = '事務跟蹤';
|
||||
$lang->bug->typeList['Others'] = '其他';
|
||||
|
||||
$lang->bug->statusList[''] = '';
|
||||
$lang->bug->statusList['active'] = '激活';
|
||||
$lang->bug->statusList['resolved'] = '已解決';
|
||||
$lang->bug->statusList['closed'] = '已關閉';
|
||||
|
||||
$lang->bug->resolutionList[''] = '';
|
||||
$lang->bug->resolutionList['bydesign'] = '設計如此';
|
||||
$lang->bug->resolutionList['duplicate'] = '重複Bug';
|
||||
$lang->bug->resolutionList['external'] = '外部原因';
|
||||
$lang->bug->resolutionList['fixed'] = '已解決';
|
||||
$lang->bug->resolutionList['notrepro'] = '無法重現';
|
||||
$lang->bug->resolutionList['postponed'] = '延期處理';
|
||||
$lang->bug->resolutionList['willnotfix'] = "不予解決";
|
||||
|
||||
/* 統計報表。*/
|
||||
$lang->bug->report->common = '統計報表';
|
||||
$lang->bug->report->select = '請選擇報表類型';
|
||||
$lang->bug->report->create = '生成報表';
|
||||
$lang->bug->report->selectAll = '全選';
|
||||
$lang->bug->report->selectReverse = '反選';
|
||||
|
||||
$lang->bug->report->charts['bugsPerProject'] = '項目Bug數量';
|
||||
$lang->bug->report->charts['bugsPerModule'] = '模組Bug數量';
|
||||
$lang->bug->report->charts['openedBugsPerDay'] = '每天新增Bug數';
|
||||
$lang->bug->report->charts['resolvedBugsPerDay'] = '每天解決Bug數';
|
||||
$lang->bug->report->charts['closedBugsPerDay'] = '每天關閉的Bug數';
|
||||
$lang->bug->report->charts['openedBugsPerUser'] = '每人提交的Bug數';
|
||||
$lang->bug->report->charts['resolvedBugsPerUser']= '每人解決的Bug數';
|
||||
$lang->bug->report->charts['closedBugsPerUser'] = '每人關閉的Bug數';
|
||||
$lang->bug->report->charts['bugsPerSeverity'] = 'Bug嚴重程度統計';
|
||||
$lang->bug->report->charts['bugsPerResolution'] = 'Bug解決方案統計';
|
||||
$lang->bug->report->charts['bugsPerStatus'] = 'Bug狀態統計';
|
||||
$lang->bug->report->charts['bugsPerType'] = 'Bug類型統計';
|
||||
//$lang->bug->report->charts['bugLiveDays'] = 'Bug處理時間統計';
|
||||
//$lang->bug->report->charts['bugHistories'] = 'Bug處理步驟統計';
|
||||
|
||||
$lang->bug->report->options->swf = 'pie2d';
|
||||
$lang->bug->report->options->width = 'auto';
|
||||
$lang->bug->report->options->height = 300;
|
||||
$lang->bug->report->options->graph->baseFontSize = 12;
|
||||
$lang->bug->report->options->graph->showNames = 1;
|
||||
$lang->bug->report->options->graph->formatNumber = 1;
|
||||
$lang->bug->report->options->graph->decimalPrecision = 0;
|
||||
$lang->bug->report->options->graph->animation = 0;
|
||||
$lang->bug->report->options->graph->rotateNames = 0;
|
||||
$lang->bug->report->options->graph->yAxisName = 'COUNT';
|
||||
$lang->bug->report->options->graph->pieRadius = 100; // 餅圖直徑。
|
||||
$lang->bug->report->options->graph->showColumnShadow = 0; // 是否顯示柱狀圖陰影。
|
||||
|
||||
$lang->bug->report->bugsPerProject->graph->xAxisName = '項目';
|
||||
$lang->bug->report->bugsPerModule->graph->xAxisName = '模組';
|
||||
|
||||
$lang->bug->report->openedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->openedBugsPerDay->height = 400;
|
||||
$lang->bug->report->openedBugsPerDay->graph->xAxisName = '日期';
|
||||
$lang->bug->report->openedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->resolvedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->resolvedBugsPerDay->height = 400;
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->xAxisName = '日期';
|
||||
$lang->bug->report->resolvedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->closedBugsPerDay->swf = 'column2d';
|
||||
$lang->bug->report->closedBugsPerDay->height = 400;
|
||||
$lang->bug->report->closedBugsPerDay->graph->xAxisName = '日期';
|
||||
$lang->bug->report->closedBugsPerDay->graph->rotateNames = 1;
|
||||
|
||||
$lang->bug->report->openedBugsPerUser->graph->xAxisName = '用戶';
|
||||
$lang->bug->report->resolvedBugsPerUser->graph->xAxisName= '用戶';
|
||||
$lang->bug->report->closedBugsPerUser->graph->xAxisName = '用戶';
|
||||
|
||||
$lang->bug->report->bugsPerSeverity->graph->xAxisName = '嚴重程度';
|
||||
$lang->bug->report->bugsPerResolution->graph->xAxisName = '解決方案';
|
||||
$lang->bug->report->bugsPerStatus->graph->xAxisName = '狀態';
|
||||
$lang->bug->report->bugsPerType->graph->xAxisName = '類型';
|
||||
$lang->bug->report->bugLiveDays->graph->xAxisName = '處理時間';
|
||||
$lang->bug->report->bugHistories->graph->xAxisName = '處理步驟';
|
||||
|
||||
/* 操作記錄。*/
|
||||
$lang->bug->action->resolved = array('main' => '$date, 由 <strong>$actor</strong> 解決,方案為 <strong>$extra</strong>。', 'extra' => $lang->bug->resolutionList);
|
||||
|
||||
@@ -1,476 +1,463 @@
|
||||
<?php
|
||||
/**
|
||||
* The model file of bug module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
class bugModel extends model
|
||||
{
|
||||
/* 设置菜单。*/
|
||||
public function setMenu($products, $productID)
|
||||
{
|
||||
$selectHtml = html::select('productID', $products, $productID, "onchange=\"switchProduct(this.value, 'bug', 'browse');\"");
|
||||
foreach($this->lang->bug->menu as $key => $menu)
|
||||
{
|
||||
if($key == 'product')
|
||||
{
|
||||
common::setMenuVars($this->lang->bug->menu, 'product', $selectHtml . $this->lang->arrow);
|
||||
}
|
||||
else
|
||||
{
|
||||
common::setMenuVars($this->lang->bug->menu, $key, $productID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 创建一个Bug。*/
|
||||
public function create()
|
||||
{
|
||||
$now = helper::now();
|
||||
$bug = fixer::input('post')
|
||||
->add('openedBy', $this->app->user->account)
|
||||
->add('openedDate', $now)
|
||||
->setDefault('project,story,task', 0)
|
||||
->setDefault('openedBuild', '')
|
||||
->setIF($this->post->assignedTo != '', 'assignedDate', $now)
|
||||
->setIF($this->post->story != false, 'storyVersion', $this->loadModel('story')->getVersion($this->post->story))
|
||||
->specialChars('title,keyword')
|
||||
->cleanInt('product, module, severity')
|
||||
->join('openedBuild', ',')
|
||||
->remove('files, labels')
|
||||
->get();
|
||||
$this->dao->insert(TABLE_BUG)->data($bug)->autoCheck()->batchCheck($this->config->bug->create->requiredFields, 'notempty')->exec();
|
||||
if(!dao::isError())
|
||||
{
|
||||
$bugID = $this->dao->lastInsertID();
|
||||
$this->loadModel('file')->saveUpload('bug', $bugID);
|
||||
return $bugID;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 获得某一个产品,某一个模块下面的所有bug。*/
|
||||
public function getModuleBugs($productID, $moduleIds = 0, $orderBy = 'id_desc', $pager = null)
|
||||
{
|
||||
return $this->dao->select('*')->from(TABLE_BUG)
|
||||
->where('product')->eq((int)$productID)
|
||||
->beginIF(!empty($moduleIds))->andWhere('module')->in($moduleIds)->fi()
|
||||
->andWhere('deleted')->eq(0)
|
||||
->orderBy($orderBy)->page($pager)->fetchAll();
|
||||
}
|
||||
|
||||
/* 获取一个bug的详细信息。*/
|
||||
public function getById($bugID)
|
||||
{
|
||||
$bug = $this->dao->select('t1.*, t2.name AS projectName, t3.title AS storyTitle, t3.status AS storyStatus, t3.version AS latestStoryVersion, t4.name AS taskName')
|
||||
->from(TABLE_BUG)->alias('t1')
|
||||
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id')
|
||||
->leftJoin(TABLE_STORY)->alias('t3')->on('t1.story = t3.id')
|
||||
->leftJoin(TABLE_TASK)->alias('t4')->on('t1.task = t4.id')
|
||||
->where('t1.id')->eq((int)$bugID)->fetch();
|
||||
if(!$bug) return false;
|
||||
foreach($bug as $key => $value) if(strpos($key, 'Date') !== false and !(int)substr($value, 0, 4)) $bug->$key = '';
|
||||
if($bug->mailto)
|
||||
{
|
||||
$bug->mailto = ltrim(trim($bug->mailto), ','); // 去掉开始的,。
|
||||
$bug->mailto = str_replace(' ', '', $bug->mailto);
|
||||
$bug->mailto = rtrim($bug->mailto, ',') . ',';
|
||||
$bug->mailto = str_replace(',', ', ', $bug->mailto);
|
||||
}
|
||||
if($bug->duplicateBug) $bug->duplicateBugTitle = $this->dao->findById($bug->duplicateBug)->from(TABLE_BUG)->fields('title')->fetch('title');
|
||||
if($bug->case) $bug->caseTitle = $this->dao->findById($bug->case)->from(TABLE_CASE)->fields('title')->fetch('title');
|
||||
if($bug->linkBug) $bug->linkBugTitles = $this->dao->select('id,title')->from(TABLE_BUG)->where('id')->in($bug->linkBug)->fetchPairs();
|
||||
$bug->files = $this->loadModel('file')->getByObject('bug', $bugID);
|
||||
return $bug;
|
||||
}
|
||||
|
||||
/* 更新bug信息。*/
|
||||
public function update($bugID)
|
||||
{
|
||||
$oldBug = $this->getById($bugID);
|
||||
$now = helper::now();
|
||||
$bug = fixer::input('post')
|
||||
->cleanInt('product,module,severity,project,story,task')
|
||||
->specialChars('title,keyword')
|
||||
->remove('comment,files,labels')
|
||||
->setDefault('project,module,project,story,task,duplicateBug', 0)
|
||||
->setDefault('openedBuild', '')
|
||||
->add('lastEditedBy', $this->app->user->account)
|
||||
->add('lastEditedDate', $now)
|
||||
->join('openedBuild', ',')
|
||||
->setIF($this->post->assignedTo != $oldBug->assignedTo, 'assignedDate', $now)
|
||||
->setIF($this->post->resolvedBy != '' and $this->post->resolvedDate == '', 'resolvedDate', $now)
|
||||
->setIF($this->post->resolution != '' and $this->post->resolvedDate == '', 'resolvedDate', $now)
|
||||
->setIF($this->post->resolution != '' and $this->post->resolvedBy == '', 'resolvedBy', $this->app->user->account)
|
||||
->setIF($this->post->closedBy != '' and $this->post->closedDate == '', 'closedDate', $now)
|
||||
->setIF($this->post->closedDate != '' and $this->post->closedBy == '', 'closedBy', $this->app->user->account)
|
||||
->setIF($this->post->closedBy != '' or $this->post->closedDate != '', 'assignedTo', 'closed')
|
||||
->setIF($this->post->closedBy != '' or $this->post->closedDate != '', 'assignedDate', $now)
|
||||
->setIF($this->post->resolution != '' or $this->post->resolvedDate != '', 'status', 'resolved')
|
||||
->setIF($this->post->closedBy != '' or $this->post->closedDate != '', 'status', 'closed')
|
||||
->setIF(($this->post->resolution != '' or $this->post->resolvedDate != '') and $this->post->assignedTo == '', 'assignedTo', $oldBug->openedBy)
|
||||
->setIF(($this->post->resolution != '' or $this->post->resolvedDate != '') and $this->post->assignedTo == '', 'assignedDate', $now)
|
||||
->setIF($this->post->resolution == '' and $this->post->resolvedDate =='', 'status', 'active')
|
||||
->setIF($this->post->story != false and $this->post->story != $oldBug->story, 'storyVersion', $this->loadModel('story')->getVersion($this->post->story))
|
||||
->get();
|
||||
|
||||
$this->dao->update(TABLE_BUG)->data($bug)
|
||||
->autoCheck()
|
||||
->batchCheck($this->config->bug->edit->requiredFields, 'notempty')
|
||||
->checkIF($bug->resolvedBy, 'resolution', 'notempty')
|
||||
->checkIF($bug->closedBy, 'resolution', 'notempty')
|
||||
->checkIF($bug->resolution == 'duplicate', 'duplicateBug', 'notempty')
|
||||
->where('id')->eq((int)$bugID)
|
||||
->exec();
|
||||
if(!dao::isError()) return common::createChanges($oldBug, $bug);
|
||||
}
|
||||
|
||||
/* 解决Bug。*/
|
||||
public function resolve($bugID)
|
||||
{
|
||||
$oldBug = $this->getById($bugID);
|
||||
$now = helper::now();
|
||||
$bug = fixer::input('post')
|
||||
->add('resolvedBy', $this->app->user->account)
|
||||
->add('resolvedDate', $now)
|
||||
->add('status', 'resolved')
|
||||
->add('assignedDate', $now)
|
||||
->add('lastEditedBy', $this->app->user->account)
|
||||
->add('lastEditedDate', $now)
|
||||
->setDefault('duplicateBug', 0)
|
||||
->setDefault('assignedTo', $oldBug->openedBy)
|
||||
->remove('comment')
|
||||
->get();
|
||||
|
||||
$this->dao->update(TABLE_BUG)->data($bug)
|
||||
->autoCheck()
|
||||
->batchCheck($this->config->bug->resolve->requiredFields, 'notempty')
|
||||
->checkIF($bug->resolution == 'duplicate', 'duplicateBug', 'notempty')
|
||||
->where('id')->eq((int)$bugID)
|
||||
->exec();
|
||||
}
|
||||
|
||||
/* 激活Bug。*/
|
||||
public function activate($bugID)
|
||||
{
|
||||
$oldBug = $this->getById($bugID);
|
||||
$now = helper::now();
|
||||
$bug = fixer::input('post')
|
||||
->setDefault('assignedTo', $oldBug->resolvedBy)
|
||||
->add('assignedDate', $now)
|
||||
->add('resolution', '')
|
||||
->add('status', 'active')
|
||||
->add('resolvedDate', '0000-00-00')
|
||||
->add('resolvedBy', '')
|
||||
->add('resolvedBuild', '')
|
||||
->add('closedBy', '')
|
||||
->add('closedDate', '0000-00-00')
|
||||
->add('duplicateBug', 0)
|
||||
->add('lastEditedBy', $this->app->user->account)
|
||||
->add('lastEditedDate', $now)
|
||||
->remove('comment,files,labels')
|
||||
->get();
|
||||
|
||||
$this->dao->update(TABLE_BUG)->data($bug)->autoCheck()->where('id')->eq((int)$bugID)->exec();
|
||||
}
|
||||
|
||||
/* 关闭Bug。*/
|
||||
public function close($bugID)
|
||||
{
|
||||
$oldBug = $this->getById($bugID);
|
||||
$now = helper::now();
|
||||
$bug = fixer::input('post')
|
||||
->add('assignedTo', 'closed')
|
||||
->add('assignedDate', $now)
|
||||
->add('status', 'closed')
|
||||
->add('closedBy', $this->app->user->account)
|
||||
->add('closedDate', $now)
|
||||
->add('lastEditedBy', $this->app->user->account)
|
||||
->add('lastEditedDate', $now)
|
||||
->remove('comment')
|
||||
->get();
|
||||
|
||||
$this->dao->update(TABLE_BUG)->data($bug)->autoCheck()->where('id')->eq((int)$bugID)->exec();
|
||||
}
|
||||
|
||||
/* 从bug列表中提取所有出现过的账户。*/
|
||||
public function extractAccountsFromList($bugs)
|
||||
{
|
||||
$accounts = array();
|
||||
foreach($bugs as $bug)
|
||||
{
|
||||
if(!empty($bug->openedBy)) $accounts[] = $bug->openedBy;
|
||||
if(!empty($bug->assignedTo)) $accounts[] = $bug->assignedTo;
|
||||
if(!empty($bug->resolvedBy)) $accounts[] = $bug->resolvedBy;
|
||||
if(!empty($bug->closedBy)) $accounts[] = $bug->closedBy;
|
||||
if(!empty($bug->lastEditedBy)) $accounts[] = $bug->lastEditedBy;
|
||||
}
|
||||
return array_unique($accounts);
|
||||
}
|
||||
|
||||
/* 从一条bug中提取所有出现过的账户。*/
|
||||
public function extractAccountsFromSingle($bug)
|
||||
{
|
||||
$accounts = array();
|
||||
if(!empty($bug->openedBy)) $accounts[] = $bug->openedBy;
|
||||
if(!empty($bug->assignedTo)) $accounts[] = $bug->assignedTo;
|
||||
if(!empty($bug->resolvedBy)) $accounts[] = $bug->resolvedBy;
|
||||
if(!empty($bug->closedBy)) $accounts[] = $bug->closedBy;
|
||||
if(!empty($bug->lastEditedBy)) $accounts[] = $bug->lastEditedBy;
|
||||
return array_unique($accounts);
|
||||
}
|
||||
|
||||
/* 获得用户的Bug id=>title列表。*/
|
||||
public function getUserBugPairs($account)
|
||||
{
|
||||
$bugs = array();
|
||||
$stmt = $this->dao->select('t1.id, t1.title, t2.name as product')
|
||||
->from(TABLE_BUG)->alias('t1')
|
||||
->leftJoin(TABLE_PRODUCT)->alias('t2')
|
||||
->on('t1.product=t2.id')
|
||||
->where('t1.assignedTo')->eq($account)
|
||||
->andWhere('t1.deleted')->eq(0)
|
||||
->query();
|
||||
while($bug = $stmt->fetch())
|
||||
{
|
||||
$bug->title = $bug->product . ' / ' . $bug->title;
|
||||
$bugs[$bug->id] = $bug->title;
|
||||
}
|
||||
return $bugs;
|
||||
}
|
||||
|
||||
/* 获得某个项目的bug列表。*/
|
||||
public function getProjectBugs($projectID, $orderBy = 'id_desc', $pager = null)
|
||||
{
|
||||
return $this->dao->select('*')->from(TABLE_BUG)
|
||||
->where('project')->eq((int)$projectID)
|
||||
->andWhere('deleted')->eq(0)
|
||||
->orderBy($orderBy)->page($pager)->fetchAll();
|
||||
}
|
||||
|
||||
/* 通过某一次测试结果获得bug的标题和步骤。*/
|
||||
public function getBugInfoFromResult($resultID)
|
||||
{
|
||||
$title = '';
|
||||
$bugSteps = '';
|
||||
|
||||
$result = $this->dao->findById($resultID)->from(TABLE_TESTRESULT)->fetch();
|
||||
$run = $this->loadModel('testtask')->getRunById($result->run);
|
||||
if($result and $result->caseResult == 'fail')
|
||||
{
|
||||
$title = $run->case->title;
|
||||
$caseSteps = $run->case->steps;
|
||||
$stepResults = unserialize($result->stepResults);
|
||||
$bugSteps = $this->lang->bug->tplStep;
|
||||
foreach($caseSteps as $key => $step)
|
||||
{
|
||||
$bugSteps .= ($key + 1) . '. ' .$step->desc . "\n";
|
||||
if($stepResults[$step->id]['result'] == 'fail')
|
||||
{
|
||||
$bugSteps .= $this->lang->bug->tplResult;
|
||||
$bugSteps .= $stepResults[$step->id]['real'] . "\n";
|
||||
$bugSteps .= $this->lang->bug->tplExpect;
|
||||
$bugSteps .= $step->expect;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return array('title' => $title, 'steps' => $bugSteps, 'storyID' => $run->case->story);
|
||||
}
|
||||
|
||||
/* 按项目统计bug数。*/
|
||||
public function getDataOfBugsPerProject()
|
||||
{
|
||||
$datas = $this->dao->select('project as name, count(project) as value')->from(TABLE_BUG)->where($this->session->bugReportCondition)->groupBy('project')->orderBy('value DESC')->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
$projects = $this->loadModel('project')->getPairs();
|
||||
foreach($datas as $projectID => $data) $data->name = isset($projects[$projectID]) ? $projects[$projectID] : $this->lang->report->undefined;
|
||||
return $datas;
|
||||
}
|
||||
|
||||
/* 按产品模块统计bug数。*/
|
||||
public function getDataOfBugsPerModule()
|
||||
{
|
||||
$datas = $this->dao->select('module as name, count(module) as value')->from(TABLE_BUG)->where($this->session->bugReportCondition)->groupBy('module')->orderBy('value DESC')->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
$modules = $this->dao->select('id, name')->from(TABLE_MODULE)->where('id')->in(array_keys($datas))->fetchPairs();
|
||||
foreach($datas as $moduleID => $data) $data->name = isset($modules[$moduleID]) ? $modules[$moduleID] : '/';
|
||||
return $datas;
|
||||
}
|
||||
|
||||
/* 按bug创建日期统计。*/
|
||||
public function getDataOfOpenedBugsPerDay()
|
||||
{
|
||||
return $this->dao->select('DATE_FORMAT(openedDate, "%Y-%m-%d") AS name, COUNT(*) AS value')->from(TABLE_BUG)->where($this->session->bugReportCondition)->groupBy('name')->orderBy('openedDate')->fetchAll();
|
||||
}
|
||||
|
||||
/* 按bug解决日期统计。*/
|
||||
public function getDataOfResolvedBugsPerDay()
|
||||
{
|
||||
return $this->dao->select('DATE_FORMAT(resolvedDate, "%Y-%m-%d") AS name, COUNT(*) AS value')->from(TABLE_BUG)
|
||||
->where($this->session->bugReportCondition)->groupBy('name')
|
||||
->having('name != 0000-00-00')
|
||||
->orderBy('resolvedDate')
|
||||
->fetchAll();
|
||||
}
|
||||
|
||||
/* 按bug关闭日期统计。*/
|
||||
public function getDataOfClosedBugsPerDay()
|
||||
{
|
||||
return $this->dao->select('DATE_FORMAT(closedDate, "%Y-%m-%d") AS name, COUNT(*) AS value')->from(TABLE_BUG)
|
||||
->where($this->session->bugReportCondition)->groupBy('name')
|
||||
->having('name != 0000-00-00')
|
||||
->orderBy('closedDate')->fetchAll();
|
||||
}
|
||||
|
||||
/* 按bug创建者统计。*/
|
||||
public function getDataOfOpenedBugsPerUser()
|
||||
{
|
||||
$datas = $this->dao->select('openedBy AS name, COUNT(*) AS value')->from(TABLE_BUG)->where($this->session->bugReportCondition)->groupBy('name')->orderBy('value DESC')->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
if(!isset($this->users)) $this->users = $this->loadModel('user')->getPairs('noletter');
|
||||
foreach($datas as $account => $data) if(isset($this->users[$account])) $data->name = $this->users[$account];
|
||||
return $datas;
|
||||
}
|
||||
|
||||
/* 按bug解决者统计。*/
|
||||
public function getDataOfResolvedBugsPerUser()
|
||||
{
|
||||
$datas = $this->dao->select('resolvedBy AS name, COUNT(*) AS value')
|
||||
->from(TABLE_BUG)->where($this->session->bugReportCondition)
|
||||
->andWhere('resolvedBy')->ne('')
|
||||
->groupBy('name')
|
||||
->orderBy('value DESC')->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
if(!isset($this->users)) $this->users = $this->loadModel('user')->getPairs('noletter');
|
||||
foreach($datas as $account => $data) if(isset($this->users[$account])) $data->name = $this->users[$account];
|
||||
return $datas;
|
||||
}
|
||||
|
||||
/* 按bug关闭者统计。*/
|
||||
public function getDataOfClosedBugsPerUser()
|
||||
{
|
||||
$datas = $this->dao->select('closedBy AS name, COUNT(*) AS value')
|
||||
->from(TABLE_BUG)
|
||||
->where($this->session->bugReportCondition)
|
||||
->andWhere('closedBy')->ne('')
|
||||
->groupBy('name')
|
||||
->orderBy('value DESC')->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
if(!isset($this->users)) $this->users = $this->loadModel('user')->getPairs('noletter');
|
||||
foreach($datas as $account => $data) if(isset($this->users[$account])) $data->name = $this->users[$account];
|
||||
return $datas;
|
||||
}
|
||||
|
||||
/* 按bug严重程度统计。*/
|
||||
public function getDataOfBugsPerSeverity()
|
||||
{
|
||||
$datas = $this->dao->select('severity AS name, COUNT(*) AS value')->from(TABLE_BUG)->where($this->session->bugReportCondition)->groupBy('name')->orderBy('value DESC')->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
foreach($datas as $severity => $data) if(isset($this->lang->bug->severityList[$severity])) $data->name = $this->lang->bug->severityList[$severity];
|
||||
return $datas;
|
||||
}
|
||||
|
||||
/* 按bug解决方案统计。*/
|
||||
public function getDataOfBugsPerResolution()
|
||||
{
|
||||
$datas = $this->dao->select('resolution AS name, COUNT(*) AS value')
|
||||
->from(TABLE_BUG)
|
||||
->where($this->session->bugReportCondition)
|
||||
->andWhere('resolution')->ne('')
|
||||
->groupBy('name')->orderBy('value DESC')
|
||||
->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
foreach($datas as $resolution => $data) if(isset($this->lang->bug->resolutionList[$resolution])) $data->name = $this->lang->bug->resolutionList[$resolution];
|
||||
return $datas;
|
||||
}
|
||||
|
||||
/* 按bug状态统计。*/
|
||||
public function getDataOfBugsPerStatus()
|
||||
{
|
||||
$datas = $this->dao->select('status AS name, COUNT(*) AS value')->from(TABLE_BUG)->where($this->session->bugReportCondition)->groupBy('name')->orderBy('value DESC')->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
foreach($datas as $status => $data) if(isset($this->lang->bug->statusList[$status])) $data->name = $this->lang->bug->statusList[$status];
|
||||
return $datas;
|
||||
}
|
||||
|
||||
/* 按bug类型统计。*/
|
||||
public function getDataOfBugsPerType()
|
||||
{
|
||||
$datas = $this->dao->select('type AS name, COUNT(*) AS value')->from(TABLE_BUG)->where($this->session->bugReportCondition)->groupBy('name')->orderBy('value DESC')->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
foreach($datas as $type => $data) if(isset($this->lang->bug->typeList[$type])) $data->name = $this->lang->bug->typeList[$type];
|
||||
return $datas;
|
||||
}
|
||||
|
||||
|
||||
/* 合并公共的chart设置和当前chart的设置。*/
|
||||
public function mergeChartOption($chartType)
|
||||
{
|
||||
$chartOption = $this->lang->bug->report->$chartType;
|
||||
$commonOption = $this->lang->bug->report->options;
|
||||
|
||||
/* 设置图表的标题和展示方式。*/
|
||||
$chartOption->graph->caption = $this->lang->bug->report->charts[$chartType];
|
||||
if(!isset($chartOption->swf)) $chartOption->swf = $commonOption->swf;
|
||||
if(!isset($chartOption->width)) $chartOption->width = $commonOption->width;
|
||||
if(!isset($chartOption->height)) $chartOption->height = $commonOption->height;
|
||||
|
||||
/* 合并配置。*/
|
||||
foreach($commonOption->graph as $key => $value) if(!isset($chartOption->graph->$key)) $chartOption->graph->$key = $value;
|
||||
}
|
||||
|
||||
/* 获得用户的Bug模板列表。*/
|
||||
public function getUserBugTemplates($account)
|
||||
{
|
||||
$templates = $this->dao->select('id, title, content')
|
||||
->from(TABLE_USERTPL)
|
||||
->where('account')->eq($account)
|
||||
->orderBy('id')
|
||||
->fetchAll();
|
||||
return $templates;
|
||||
}
|
||||
|
||||
/* 保存用户的BUG模板。*/
|
||||
public function saveUserBugTemplate()
|
||||
{
|
||||
$template = fixer::input('post')
|
||||
->specialChars('title')
|
||||
->add('account', $this->app->user->account)
|
||||
->add('type', 'bug')
|
||||
->get();
|
||||
$this->dao->insert(TABLE_USERTPL)->data($template)->autoCheck('title, content', 'notempty')->check('title', 'unique')->exec();
|
||||
}
|
||||
|
||||
/* 给一个字段的列表,返回字段和相应语言解释的键值对。*/
|
||||
public function getFieldPairs($fields)
|
||||
{
|
||||
$fields = explode(',', $fields);
|
||||
foreach($fields as $key => $field)
|
||||
{
|
||||
$field = trim($field);
|
||||
$fields[$field] = $this->lang->bug->$field;
|
||||
unset($fields[$key]);
|
||||
}
|
||||
return $fields;
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The model file of bug module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
class bugModel extends model
|
||||
{
|
||||
/* 设置菜单。*/
|
||||
public function setMenu($products, $productID)
|
||||
{
|
||||
$selectHtml = html::select('productID', $products, $productID, "onchange=\"switchProduct(this.value, 'bug', 'browse');\"");
|
||||
foreach($this->lang->bug->menu as $key => $menu)
|
||||
{
|
||||
if($key == 'product')
|
||||
{
|
||||
common::setMenuVars($this->lang->bug->menu, 'product', $selectHtml . $this->lang->arrow);
|
||||
}
|
||||
else
|
||||
{
|
||||
common::setMenuVars($this->lang->bug->menu, $key, $productID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 创建一个Bug。*/
|
||||
public function create()
|
||||
{
|
||||
$now = helper::now();
|
||||
$bug = fixer::input('post')
|
||||
->add('openedBy', $this->app->user->account)
|
||||
->add('openedDate', $now)
|
||||
->setDefault('project,story,task', 0)
|
||||
->setDefault('openedBuild', '')
|
||||
->setIF($this->post->assignedTo != '', 'assignedDate', $now)
|
||||
->setIF($this->post->story != false, 'storyVersion', $this->loadModel('story')->getVersion($this->post->story))
|
||||
->specialChars('title,keyword')
|
||||
->cleanInt('product, module, severity')
|
||||
->join('openedBuild', ',')
|
||||
->remove('files, labels')
|
||||
->get();
|
||||
$this->dao->insert(TABLE_BUG)->data($bug)->autoCheck()->batchCheck($this->config->bug->create->requiredFields, 'notempty')->exec();
|
||||
if(!dao::isError())
|
||||
{
|
||||
$bugID = $this->dao->lastInsertID();
|
||||
$this->loadModel('file')->saveUpload('bug', $bugID);
|
||||
return $bugID;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 获得某一个产品,某一个模块下面的所有bug。*/
|
||||
public function getModuleBugs($productID, $moduleIds = 0, $orderBy = 'id_desc', $pager = null)
|
||||
{
|
||||
return $this->dao->select('*')->from(TABLE_BUG)
|
||||
->where('product')->eq((int)$productID)
|
||||
->beginIF(!empty($moduleIds))->andWhere('module')->in($moduleIds)->fi()
|
||||
->andWhere('deleted')->eq(0)
|
||||
->orderBy($orderBy)->page($pager)->fetchAll();
|
||||
}
|
||||
|
||||
/* 获取一个bug的详细信息。*/
|
||||
public function getById($bugID)
|
||||
{
|
||||
$bug = $this->dao->select('t1.*, t2.name AS projectName, t3.title AS storyTitle, t3.status AS storyStatus, t3.version AS latestStoryVersion, t4.name AS taskName')
|
||||
->from(TABLE_BUG)->alias('t1')
|
||||
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id')
|
||||
->leftJoin(TABLE_STORY)->alias('t3')->on('t1.story = t3.id')
|
||||
->leftJoin(TABLE_TASK)->alias('t4')->on('t1.task = t4.id')
|
||||
->where('t1.id')->eq((int)$bugID)->fetch();
|
||||
if(!$bug) return false;
|
||||
foreach($bug as $key => $value) if(strpos($key, 'Date') !== false and !(int)substr($value, 0, 4)) $bug->$key = '';
|
||||
if($bug->mailto)
|
||||
{
|
||||
$bug->mailto = ltrim(trim($bug->mailto), ','); // 去掉开始的,。
|
||||
$bug->mailto = str_replace(' ', '', $bug->mailto);
|
||||
$bug->mailto = rtrim($bug->mailto, ',') . ',';
|
||||
$bug->mailto = str_replace(',', ', ', $bug->mailto);
|
||||
}
|
||||
if($bug->duplicateBug) $bug->duplicateBugTitle = $this->dao->findById($bug->duplicateBug)->from(TABLE_BUG)->fields('title')->fetch('title');
|
||||
if($bug->case) $bug->caseTitle = $this->dao->findById($bug->case)->from(TABLE_CASE)->fields('title')->fetch('title');
|
||||
if($bug->linkBug) $bug->linkBugTitles = $this->dao->select('id,title')->from(TABLE_BUG)->where('id')->in($bug->linkBug)->fetchPairs();
|
||||
$bug->files = $this->loadModel('file')->getByObject('bug', $bugID);
|
||||
return $bug;
|
||||
}
|
||||
|
||||
/* 更新bug信息。*/
|
||||
public function update($bugID)
|
||||
{
|
||||
$oldBug = $this->getById($bugID);
|
||||
$now = helper::now();
|
||||
$bug = fixer::input('post')
|
||||
->cleanInt('product,module,severity,project,story,task')
|
||||
->specialChars('title,keyword')
|
||||
->remove('comment,files,labels')
|
||||
->setDefault('project,module,project,story,task,duplicateBug', 0)
|
||||
->setDefault('openedBuild', '')
|
||||
->add('lastEditedBy', $this->app->user->account)
|
||||
->add('lastEditedDate', $now)
|
||||
->join('openedBuild', ',')
|
||||
->setIF($this->post->assignedTo != $oldBug->assignedTo, 'assignedDate', $now)
|
||||
->setIF($this->post->resolvedBy != '' and $this->post->resolvedDate == '', 'resolvedDate', $now)
|
||||
->setIF($this->post->resolution != '' and $this->post->resolvedDate == '', 'resolvedDate', $now)
|
||||
->setIF($this->post->resolution != '' and $this->post->resolvedBy == '', 'resolvedBy', $this->app->user->account)
|
||||
->setIF($this->post->closedBy != '' and $this->post->closedDate == '', 'closedDate', $now)
|
||||
->setIF($this->post->closedDate != '' and $this->post->closedBy == '', 'closedBy', $this->app->user->account)
|
||||
->setIF($this->post->closedBy != '' or $this->post->closedDate != '', 'assignedTo', 'closed')
|
||||
->setIF($this->post->closedBy != '' or $this->post->closedDate != '', 'assignedDate', $now)
|
||||
->setIF($this->post->resolution != '' or $this->post->resolvedDate != '', 'status', 'resolved')
|
||||
->setIF($this->post->closedBy != '' or $this->post->closedDate != '', 'status', 'closed')
|
||||
->setIF(($this->post->resolution != '' or $this->post->resolvedDate != '') and $this->post->assignedTo == '', 'assignedTo', $oldBug->openedBy)
|
||||
->setIF(($this->post->resolution != '' or $this->post->resolvedDate != '') and $this->post->assignedTo == '', 'assignedDate', $now)
|
||||
->setIF($this->post->resolution == '' and $this->post->resolvedDate =='', 'status', 'active')
|
||||
->setIF($this->post->story != false and $this->post->story != $oldBug->story, 'storyVersion', $this->loadModel('story')->getVersion($this->post->story))
|
||||
->get();
|
||||
|
||||
$this->dao->update(TABLE_BUG)->data($bug)
|
||||
->autoCheck()
|
||||
->batchCheck($this->config->bug->edit->requiredFields, 'notempty')
|
||||
->checkIF($bug->resolvedBy, 'resolution', 'notempty')
|
||||
->checkIF($bug->closedBy, 'resolution', 'notempty')
|
||||
->checkIF($bug->resolution == 'duplicate', 'duplicateBug', 'notempty')
|
||||
->where('id')->eq((int)$bugID)
|
||||
->exec();
|
||||
if(!dao::isError()) return common::createChanges($oldBug, $bug);
|
||||
}
|
||||
|
||||
/* 解决Bug。*/
|
||||
public function resolve($bugID)
|
||||
{
|
||||
$oldBug = $this->getById($bugID);
|
||||
$now = helper::now();
|
||||
$bug = fixer::input('post')
|
||||
->add('resolvedBy', $this->app->user->account)
|
||||
->add('resolvedDate', $now)
|
||||
->add('status', 'resolved')
|
||||
->add('assignedDate', $now)
|
||||
->add('lastEditedBy', $this->app->user->account)
|
||||
->add('lastEditedDate', $now)
|
||||
->setDefault('duplicateBug', 0)
|
||||
->setDefault('assignedTo', $oldBug->openedBy)
|
||||
->remove('comment')
|
||||
->get();
|
||||
|
||||
$this->dao->update(TABLE_BUG)->data($bug)
|
||||
->autoCheck()
|
||||
->batchCheck($this->config->bug->resolve->requiredFields, 'notempty')
|
||||
->checkIF($bug->resolution == 'duplicate', 'duplicateBug', 'notempty')
|
||||
->where('id')->eq((int)$bugID)
|
||||
->exec();
|
||||
}
|
||||
|
||||
/* 激活Bug。*/
|
||||
public function activate($bugID)
|
||||
{
|
||||
$oldBug = $this->getById($bugID);
|
||||
$now = helper::now();
|
||||
$bug = fixer::input('post')
|
||||
->setDefault('assignedTo', $oldBug->resolvedBy)
|
||||
->add('assignedDate', $now)
|
||||
->add('resolution', '')
|
||||
->add('status', 'active')
|
||||
->add('resolvedDate', '0000-00-00')
|
||||
->add('resolvedBy', '')
|
||||
->add('resolvedBuild', '')
|
||||
->add('closedBy', '')
|
||||
->add('closedDate', '0000-00-00')
|
||||
->add('duplicateBug', 0)
|
||||
->add('lastEditedBy', $this->app->user->account)
|
||||
->add('lastEditedDate', $now)
|
||||
->remove('comment,files,labels')
|
||||
->get();
|
||||
|
||||
$this->dao->update(TABLE_BUG)->data($bug)->autoCheck()->where('id')->eq((int)$bugID)->exec();
|
||||
}
|
||||
|
||||
/* 关闭Bug。*/
|
||||
public function close($bugID)
|
||||
{
|
||||
$oldBug = $this->getById($bugID);
|
||||
$now = helper::now();
|
||||
$bug = fixer::input('post')
|
||||
->add('assignedTo', 'closed')
|
||||
->add('assignedDate', $now)
|
||||
->add('status', 'closed')
|
||||
->add('closedBy', $this->app->user->account)
|
||||
->add('closedDate', $now)
|
||||
->add('lastEditedBy', $this->app->user->account)
|
||||
->add('lastEditedDate', $now)
|
||||
->remove('comment')
|
||||
->get();
|
||||
|
||||
$this->dao->update(TABLE_BUG)->data($bug)->autoCheck()->where('id')->eq((int)$bugID)->exec();
|
||||
}
|
||||
|
||||
/* 从bug列表中提取所有出现过的账户。*/
|
||||
public function extractAccountsFromList($bugs)
|
||||
{
|
||||
$accounts = array();
|
||||
foreach($bugs as $bug)
|
||||
{
|
||||
if(!empty($bug->openedBy)) $accounts[] = $bug->openedBy;
|
||||
if(!empty($bug->assignedTo)) $accounts[] = $bug->assignedTo;
|
||||
if(!empty($bug->resolvedBy)) $accounts[] = $bug->resolvedBy;
|
||||
if(!empty($bug->closedBy)) $accounts[] = $bug->closedBy;
|
||||
if(!empty($bug->lastEditedBy)) $accounts[] = $bug->lastEditedBy;
|
||||
}
|
||||
return array_unique($accounts);
|
||||
}
|
||||
|
||||
/* 从一条bug中提取所有出现过的账户。*/
|
||||
public function extractAccountsFromSingle($bug)
|
||||
{
|
||||
$accounts = array();
|
||||
if(!empty($bug->openedBy)) $accounts[] = $bug->openedBy;
|
||||
if(!empty($bug->assignedTo)) $accounts[] = $bug->assignedTo;
|
||||
if(!empty($bug->resolvedBy)) $accounts[] = $bug->resolvedBy;
|
||||
if(!empty($bug->closedBy)) $accounts[] = $bug->closedBy;
|
||||
if(!empty($bug->lastEditedBy)) $accounts[] = $bug->lastEditedBy;
|
||||
return array_unique($accounts);
|
||||
}
|
||||
|
||||
/* 获得用户的Bug id=>title列表。*/
|
||||
public function getUserBugPairs($account)
|
||||
{
|
||||
$bugs = array();
|
||||
$stmt = $this->dao->select('t1.id, t1.title, t2.name as product')
|
||||
->from(TABLE_BUG)->alias('t1')
|
||||
->leftJoin(TABLE_PRODUCT)->alias('t2')
|
||||
->on('t1.product=t2.id')
|
||||
->where('t1.assignedTo')->eq($account)
|
||||
->andWhere('t1.deleted')->eq(0)
|
||||
->query();
|
||||
while($bug = $stmt->fetch())
|
||||
{
|
||||
$bug->title = $bug->product . ' / ' . $bug->title;
|
||||
$bugs[$bug->id] = $bug->title;
|
||||
}
|
||||
return $bugs;
|
||||
}
|
||||
|
||||
/* 获得某个项目的bug列表。*/
|
||||
public function getProjectBugs($projectID, $orderBy = 'id_desc', $pager = null)
|
||||
{
|
||||
return $this->dao->select('*')->from(TABLE_BUG)
|
||||
->where('project')->eq((int)$projectID)
|
||||
->andWhere('deleted')->eq(0)
|
||||
->orderBy($orderBy)->page($pager)->fetchAll();
|
||||
}
|
||||
|
||||
/* 通过某一次测试结果获得bug的标题和步骤。*/
|
||||
public function getBugInfoFromResult($resultID)
|
||||
{
|
||||
$title = '';
|
||||
$bugSteps = '';
|
||||
|
||||
$result = $this->dao->findById($resultID)->from(TABLE_TESTRESULT)->fetch();
|
||||
$run = $this->loadModel('testtask')->getRunById($result->run);
|
||||
if($result and $result->caseResult == 'fail')
|
||||
{
|
||||
$title = $run->case->title;
|
||||
$caseSteps = $run->case->steps;
|
||||
$stepResults = unserialize($result->stepResults);
|
||||
$bugSteps = $this->lang->bug->tplStep;
|
||||
foreach($caseSteps as $key => $step)
|
||||
{
|
||||
$bugSteps .= ($key + 1) . '. ' .$step->desc . "\n";
|
||||
if($stepResults[$step->id]['result'] == 'fail')
|
||||
{
|
||||
$bugSteps .= $this->lang->bug->tplResult;
|
||||
$bugSteps .= $stepResults[$step->id]['real'] . "\n";
|
||||
$bugSteps .= $this->lang->bug->tplExpect;
|
||||
$bugSteps .= $step->expect;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return array('title' => $title, 'steps' => $bugSteps, 'storyID' => $run->case->story);
|
||||
}
|
||||
|
||||
/* 按项目统计bug数。*/
|
||||
public function getDataOfBugsPerProject()
|
||||
{
|
||||
$datas = $this->dao->select('project as name, count(project) as value')->from(TABLE_BUG)->where($this->session->bugReportCondition)->groupBy('project')->orderBy('value DESC')->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
$projects = $this->loadModel('project')->getPairs();
|
||||
foreach($datas as $projectID => $data) $data->name = isset($projects[$projectID]) ? $projects[$projectID] : $this->lang->report->undefined;
|
||||
return $datas;
|
||||
}
|
||||
|
||||
/* 按产品模块统计bug数。*/
|
||||
public function getDataOfBugsPerModule()
|
||||
{
|
||||
$datas = $this->dao->select('module as name, count(module) as value')->from(TABLE_BUG)->where($this->session->bugReportCondition)->groupBy('module')->orderBy('value DESC')->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
$modules = $this->dao->select('id, name')->from(TABLE_MODULE)->where('id')->in(array_keys($datas))->fetchPairs();
|
||||
foreach($datas as $moduleID => $data) $data->name = isset($modules[$moduleID]) ? $modules[$moduleID] : '/';
|
||||
return $datas;
|
||||
}
|
||||
|
||||
/* 按bug创建日期统计。*/
|
||||
public function getDataOfOpenedBugsPerDay()
|
||||
{
|
||||
return $this->dao->select('DATE_FORMAT(openedDate, "%Y-%m-%d") AS name, COUNT(*) AS value')->from(TABLE_BUG)->where($this->session->bugReportCondition)->groupBy('name')->orderBy('openedDate')->fetchAll();
|
||||
}
|
||||
|
||||
/* 按bug解决日期统计。*/
|
||||
public function getDataOfResolvedBugsPerDay()
|
||||
{
|
||||
return $this->dao->select('DATE_FORMAT(resolvedDate, "%Y-%m-%d") AS name, COUNT(*) AS value')->from(TABLE_BUG)
|
||||
->where($this->session->bugReportCondition)->groupBy('name')
|
||||
->having('name != 0000-00-00')
|
||||
->orderBy('resolvedDate')
|
||||
->fetchAll();
|
||||
}
|
||||
|
||||
/* 按bug关闭日期统计。*/
|
||||
public function getDataOfClosedBugsPerDay()
|
||||
{
|
||||
return $this->dao->select('DATE_FORMAT(closedDate, "%Y-%m-%d") AS name, COUNT(*) AS value')->from(TABLE_BUG)
|
||||
->where($this->session->bugReportCondition)->groupBy('name')
|
||||
->having('name != 0000-00-00')
|
||||
->orderBy('closedDate')->fetchAll();
|
||||
}
|
||||
|
||||
/* 按bug创建者统计。*/
|
||||
public function getDataOfOpenedBugsPerUser()
|
||||
{
|
||||
$datas = $this->dao->select('openedBy AS name, COUNT(*) AS value')->from(TABLE_BUG)->where($this->session->bugReportCondition)->groupBy('name')->orderBy('value DESC')->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
if(!isset($this->users)) $this->users = $this->loadModel('user')->getPairs('noletter');
|
||||
foreach($datas as $account => $data) if(isset($this->users[$account])) $data->name = $this->users[$account];
|
||||
return $datas;
|
||||
}
|
||||
|
||||
/* 按bug解决者统计。*/
|
||||
public function getDataOfResolvedBugsPerUser()
|
||||
{
|
||||
$datas = $this->dao->select('resolvedBy AS name, COUNT(*) AS value')
|
||||
->from(TABLE_BUG)->where($this->session->bugReportCondition)
|
||||
->andWhere('resolvedBy')->ne('')
|
||||
->groupBy('name')
|
||||
->orderBy('value DESC')->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
if(!isset($this->users)) $this->users = $this->loadModel('user')->getPairs('noletter');
|
||||
foreach($datas as $account => $data) if(isset($this->users[$account])) $data->name = $this->users[$account];
|
||||
return $datas;
|
||||
}
|
||||
|
||||
/* 按bug关闭者统计。*/
|
||||
public function getDataOfClosedBugsPerUser()
|
||||
{
|
||||
$datas = $this->dao->select('closedBy AS name, COUNT(*) AS value')
|
||||
->from(TABLE_BUG)
|
||||
->where($this->session->bugReportCondition)
|
||||
->andWhere('closedBy')->ne('')
|
||||
->groupBy('name')
|
||||
->orderBy('value DESC')->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
if(!isset($this->users)) $this->users = $this->loadModel('user')->getPairs('noletter');
|
||||
foreach($datas as $account => $data) if(isset($this->users[$account])) $data->name = $this->users[$account];
|
||||
return $datas;
|
||||
}
|
||||
|
||||
/* 按bug严重程度统计。*/
|
||||
public function getDataOfBugsPerSeverity()
|
||||
{
|
||||
$datas = $this->dao->select('severity AS name, COUNT(*) AS value')->from(TABLE_BUG)->where($this->session->bugReportCondition)->groupBy('name')->orderBy('value DESC')->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
foreach($datas as $severity => $data) if(isset($this->lang->bug->severityList[$severity])) $data->name = $this->lang->bug->severityList[$severity];
|
||||
return $datas;
|
||||
}
|
||||
|
||||
/* 按bug解决方案统计。*/
|
||||
public function getDataOfBugsPerResolution()
|
||||
{
|
||||
$datas = $this->dao->select('resolution AS name, COUNT(*) AS value')
|
||||
->from(TABLE_BUG)
|
||||
->where($this->session->bugReportCondition)
|
||||
->andWhere('resolution')->ne('')
|
||||
->groupBy('name')->orderBy('value DESC')
|
||||
->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
foreach($datas as $resolution => $data) if(isset($this->lang->bug->resolutionList[$resolution])) $data->name = $this->lang->bug->resolutionList[$resolution];
|
||||
return $datas;
|
||||
}
|
||||
|
||||
/* 按bug状态统计。*/
|
||||
public function getDataOfBugsPerStatus()
|
||||
{
|
||||
$datas = $this->dao->select('status AS name, COUNT(*) AS value')->from(TABLE_BUG)->where($this->session->bugReportCondition)->groupBy('name')->orderBy('value DESC')->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
foreach($datas as $status => $data) if(isset($this->lang->bug->statusList[$status])) $data->name = $this->lang->bug->statusList[$status];
|
||||
return $datas;
|
||||
}
|
||||
|
||||
/* 按bug类型统计。*/
|
||||
public function getDataOfBugsPerType()
|
||||
{
|
||||
$datas = $this->dao->select('type AS name, COUNT(*) AS value')->from(TABLE_BUG)->where($this->session->bugReportCondition)->groupBy('name')->orderBy('value DESC')->fetchAll('name');
|
||||
if(!$datas) return array();
|
||||
foreach($datas as $type => $data) if(isset($this->lang->bug->typeList[$type])) $data->name = $this->lang->bug->typeList[$type];
|
||||
return $datas;
|
||||
}
|
||||
|
||||
|
||||
/* 合并公共的chart设置和当前chart的设置。*/
|
||||
public function mergeChartOption($chartType)
|
||||
{
|
||||
$chartOption = $this->lang->bug->report->$chartType;
|
||||
$commonOption = $this->lang->bug->report->options;
|
||||
|
||||
/* 设置图表的标题和展示方式。*/
|
||||
$chartOption->graph->caption = $this->lang->bug->report->charts[$chartType];
|
||||
if(!isset($chartOption->swf)) $chartOption->swf = $commonOption->swf;
|
||||
if(!isset($chartOption->width)) $chartOption->width = $commonOption->width;
|
||||
if(!isset($chartOption->height)) $chartOption->height = $commonOption->height;
|
||||
|
||||
/* 合并配置。*/
|
||||
foreach($commonOption->graph as $key => $value) if(!isset($chartOption->graph->$key)) $chartOption->graph->$key = $value;
|
||||
}
|
||||
|
||||
/* 获得用户的Bug模板列表。*/
|
||||
public function getUserBugTemplates($account)
|
||||
{
|
||||
$templates = $this->dao->select('id, title, content')
|
||||
->from(TABLE_USERTPL)
|
||||
->where('account')->eq($account)
|
||||
->orderBy('id')
|
||||
->fetchAll();
|
||||
return $templates;
|
||||
}
|
||||
|
||||
/* 保存用户的BUG模板。*/
|
||||
public function saveUserBugTemplate()
|
||||
{
|
||||
$template = fixer::input('post')
|
||||
->specialChars('title')
|
||||
->add('account', $this->app->user->account)
|
||||
->add('type', 'bug')
|
||||
->get();
|
||||
$this->dao->insert(TABLE_USERTPL)->data($template)->autoCheck('title, content', 'notempty')->check('title', 'unique')->exec();
|
||||
}
|
||||
|
||||
/* 给一个字段的列表,返回字段和相应语言解释的键值对。*/
|
||||
public function getFieldPairs($fields)
|
||||
{
|
||||
$fields = explode(',', $fields);
|
||||
foreach($fields as $key => $field)
|
||||
{
|
||||
$field = trim($field);
|
||||
$fields[$field] = $this->lang->bug->$field;
|
||||
unset($fields[$key]);
|
||||
}
|
||||
return $fields;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,56 +1,43 @@
|
||||
<?php
|
||||
/**
|
||||
* The activate file of bug module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<form method='post' enctype='multipart/form-data' target='hiddenwin'>
|
||||
<div class='yui-d0'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $bug->title;?></caption>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->assignedTo;?></td>
|
||||
<td><?php echo html::select('assignedTo', $users, $bug->resolvedBy, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->openedBuild;?></td>
|
||||
<td><?php echo html::select('openedBuild', $builds, $bug->resolvedBuild, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->comment;?></td>
|
||||
<td><?php echo html::textarea('comment', '', "rows='6' class='area-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->files;?></th>
|
||||
<td class='a-left'><?php echo $this->fetch('file', 'buildform');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'>
|
||||
<?php echo html::submitButton();?>
|
||||
<input type='button' value='<?php echo $lang->bug->buttonToList;?>' class='button-s'
|
||||
onclick='location.href="<?php echo $this->session->bugList;?>"' />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The activate file of bug module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<form method='post' enctype='multipart/form-data' target='hiddenwin'>
|
||||
<div class='yui-d0'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $bug->title;?></caption>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->assignedTo;?></td>
|
||||
<td><?php echo html::select('assignedTo', $users, $bug->resolvedBy, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->openedBuild;?></td>
|
||||
<td><?php echo html::select('openedBuild', $builds, $bug->resolvedBuild, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->comment;?></td>
|
||||
<td><?php echo html::textarea('comment', '', "rows='6' class='area-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->files;?></th>
|
||||
<td class='a-left'><?php echo $this->fetch('file', 'buildform');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'>
|
||||
<?php echo html::submitButton();?>
|
||||
<input type='button' value='<?php echo $lang->bug->buttonToList;?>' class='button-s'
|
||||
onclick='location.href="<?php echo $this->session->bugList;?>"' />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,155 +1,142 @@
|
||||
<?php
|
||||
/**
|
||||
* The browse view file of bug module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/treeview.html.php';?>
|
||||
<?php include '../../common/view/colorize.html.php';?>
|
||||
<?php include '../../common/view/table2csv.html.php';?>
|
||||
<script language='Javascript'>
|
||||
/* 通过模块浏览。*/
|
||||
function browseByModule(active)
|
||||
{
|
||||
$('#mainbox').addClass('yui-t1');
|
||||
$('#treebox').removeClass('hidden');
|
||||
$('#bymoduleTab').addClass('active');
|
||||
$('#querybox').addClass('hidden');
|
||||
$('#' + active + 'Tab').removeClass('active');
|
||||
}
|
||||
/* 搜索。*/
|
||||
function browseBySearch(active)
|
||||
{
|
||||
$('#mainbox').removeClass('yui-t1');
|
||||
$('#treebox').addClass('hidden');
|
||||
$('#querybox').removeClass('hidden');
|
||||
$('#bymoduleTab').removeClass('active');
|
||||
$('#' + active + 'Tab').removeClass('active');
|
||||
$('#bysearchTab').addClass('active');
|
||||
}
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("a.iframe").colorbox({width:640, height:420, iframe:true, transition:'none'});
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class='yui-d0'>
|
||||
<div id='featurebar'>
|
||||
<div class='f-left'>
|
||||
<?php
|
||||
echo "<span id='bymoduleTab' onclick=\"browseByModule('$browseType')\"><a href='#'>" . $lang->bug->moduleBugs . "</a></span> ";
|
||||
echo "<span id='assigntomeTab'>" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=assignToMe¶m=0"), $lang->bug->assignToMe) . "</span>";
|
||||
echo "<span id='openedbymeTab'>" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=openedByMe¶m=0"), $lang->bug->openedByMe) . "</span>";
|
||||
echo "<span id='resolvedbymeTab'>" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=resolvedByMe¶m=0"), $lang->bug->resolvedByMe) . "</span>";
|
||||
echo "<span id='assigntonullTab'>" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=assignToNull¶m=0"), $lang->bug->assignToNull) . "</span>";
|
||||
echo "<span id='longlifebugsTab'>" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=longLifeBugs¶m=0"), $lang->bug->longLifeBugs) . "</span>";
|
||||
echo "<span id='postponedbugsTab'>" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=postponedBugs¶m=0"), $lang->bug->postponedBugs) . "</span>";
|
||||
echo "<span id='bysearchTab' onclick=\"browseBySearch('$browseType')\"><a href='#'>{$lang->bug->byQuery}</a></span> ";
|
||||
echo "<span id='allTab'>" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=all¶m=0&orderBy=$orderBy&recTotal=0&recPerPage=200"), $lang->bug->allBugs) . "</span>";
|
||||
echo "<span id='needconfirmTab'>" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=needconfirm¶m=0"), $lang->bug->needConfirm) . "</span>";
|
||||
?>
|
||||
</div>
|
||||
<div class='f-right'>
|
||||
<?php common::printLink('bug', 'customFields', '', $lang->bug->customFields, '', "class='iframe'"); ?>
|
||||
<?php echo html::export2csv($lang->exportCSV, $lang->setFileName);?>
|
||||
<?php common::printLink('bug', 'report', "productID=$productID&browseType=$browseType&moduleID=$moduleID", $lang->bug->report->common); ?>
|
||||
<?php common::printLink('bug', 'create', "productID=$productID&extra=moduleID=$moduleID", $lang->bug->create); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div id='querybox' class='<?php if($browseType !='bysearch') echo 'hidden';?>'><?php echo $searchForm;?></div>
|
||||
</div>
|
||||
|
||||
<?php if($customed){include 'browse.custom.html.php'; exit;}?>
|
||||
<div class='yui-d0 <?php if($browseType == 'bymodule') echo 'yui-t1';?>' id='mainbox'>
|
||||
|
||||
<div class="yui-main">
|
||||
<div class="yui-b">
|
||||
<?php $vars = "productID=$productID&browseType=$browseType¶m=$param&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}"; ?>
|
||||
<table class='table-1 fixed colored tablesorter datatable'>
|
||||
<thead>
|
||||
<tr class='colhead'>
|
||||
<th class='w-id'> <?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?></th>
|
||||
<th class='w-severity'><?php common::printOrderLink('severity', $orderBy, $vars, $lang->bug->severityAB);?></th>
|
||||
<th class='w-pri'> <?php common::printOrderLink('pri', $orderBy, $vars, $lang->priAB);?></th>
|
||||
<th><?php common::printOrderLink('title', $orderBy, $vars, $lang->bug->title);?></th>
|
||||
<?php if($browseType == 'needconfirm'):?>
|
||||
<th class='w-p40'><?php common::printOrderLink('story', $orderBy, $vars, $lang->bug->story);?></th>
|
||||
<th class='w-50px'><?php echo $lang->actions;?></th>
|
||||
<?php else:?>
|
||||
<th class='w-user'><?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='w-user'><?php common::printOrderLink('assignedTo', $orderBy, $vars, $lang->assignedToAB);?></th>
|
||||
<th class='w-user'><?php common::printOrderLink('resolvedBy', $orderBy, $vars, $lang->bug->resolvedByAB);?></th>
|
||||
<th class='w-resolution'><?php common::printOrderLink('resolution', $orderBy, $vars, $lang->bug->resolutionAB);?></th>
|
||||
<th class='w-120px {sorter:false}'><?php echo $lang->actions;?></th>
|
||||
<?php endif;?>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($bugs as $bug):?>
|
||||
<?php $bugLink = inlink('view', "bugID=$bug->id");?>
|
||||
<tr class='a-center'>
|
||||
<td class='linkbox'><?php echo html::a($bugLink, sprintf('%03d', $bug->id));?></td>
|
||||
<td><?php echo $lang->bug->severityList[$bug->severity]?></td>
|
||||
<td><?php echo $lang->bug->priList[$bug->pri]?></td>
|
||||
<td class='a-left nobr'><?php echo html::a($bugLink, $bug->title);?></td>
|
||||
<?php if($browseType == 'needconfirm'):?>
|
||||
<td class='a-left nobr'><?php echo html::a($this->createLink('story', 'view', "stoyID=$bug->story"), $bug->storyTitle, '_blank');?></td>
|
||||
<td><?php echo html::a(inlink('confirmStoryChange', "bugID=$bug->id"), $lang->confirm, 'hiddenwin')?></td>
|
||||
<?php else:?>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
<td <?php if($bug->assignedTo == $this->app->user->account) echo 'class="red"';?>><?php echo $users[$bug->assignedTo];?></td>
|
||||
<td><?php echo $users[$bug->resolvedBy];?></td>
|
||||
<td><?php echo $lang->bug->resolutionList[$bug->resolution];?></td>
|
||||
<td>
|
||||
<?php
|
||||
$params = "bugID=$bug->id";
|
||||
if(!($bug->status == 'active' and common::printLink('bug', 'resolve', $params, $lang->bug->buttonResolve))) echo $lang->bug->buttonResolve . ' ';
|
||||
if(!($bug->status == 'resolved' and common::printLink('bug', 'close', $params, $lang->bug->buttonClose))) echo $lang->bug->buttonClose . ' ';
|
||||
common::printLink('bug', 'edit', $params, $lang->bug->buttonEdit);
|
||||
?>
|
||||
</td>
|
||||
<?php endif;?>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php $pager->show();?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='yui-b <?php if($browseType != 'bymodule') echo 'hidden';?>' id='treebox'>
|
||||
<div class='box-title'><?php echo $productName;?></div>
|
||||
<div class='box-content'>
|
||||
<?php echo $moduleTree;?>
|
||||
<div class='a-right'>
|
||||
<?php if(common::hasPriv('tree', 'browse')) echo html::a($this->createLink('tree', 'browse', "productID=$productID&view=bug"), $lang->tree->manage);?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script language='javascript'>
|
||||
$("#<?php echo $browseType;?>Tab").addClass('active');
|
||||
$("#module<?php echo $moduleID;?>").addClass('active');
|
||||
</script>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The browse view file of bug module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/treeview.html.php';?>
|
||||
<?php include '../../common/view/colorize.html.php';?>
|
||||
<?php include '../../common/view/table2csv.html.php';?>
|
||||
<script language='Javascript'>
|
||||
/* 通过模块浏览。*/
|
||||
function browseByModule(active)
|
||||
{
|
||||
$('#mainbox').addClass('yui-t1');
|
||||
$('#treebox').removeClass('hidden');
|
||||
$('#bymoduleTab').addClass('active');
|
||||
$('#querybox').addClass('hidden');
|
||||
$('#' + active + 'Tab').removeClass('active');
|
||||
}
|
||||
/* 搜索。*/
|
||||
function browseBySearch(active)
|
||||
{
|
||||
$('#mainbox').removeClass('yui-t1');
|
||||
$('#treebox').addClass('hidden');
|
||||
$('#querybox').removeClass('hidden');
|
||||
$('#bymoduleTab').removeClass('active');
|
||||
$('#' + active + 'Tab').removeClass('active');
|
||||
$('#bysearchTab').addClass('active');
|
||||
}
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("a.iframe").colorbox({width:640, height:420, iframe:true, transition:'none'});
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class='yui-d0'>
|
||||
<div id='featurebar'>
|
||||
<div class='f-left'>
|
||||
<?php
|
||||
echo "<span id='bymoduleTab' onclick=\"browseByModule('$browseType')\"><a href='#'>" . $lang->bug->moduleBugs . "</a></span> ";
|
||||
echo "<span id='assigntomeTab'>" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=assignToMe¶m=0"), $lang->bug->assignToMe) . "</span>";
|
||||
echo "<span id='openedbymeTab'>" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=openedByMe¶m=0"), $lang->bug->openedByMe) . "</span>";
|
||||
echo "<span id='resolvedbymeTab'>" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=resolvedByMe¶m=0"), $lang->bug->resolvedByMe) . "</span>";
|
||||
echo "<span id='assigntonullTab'>" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=assignToNull¶m=0"), $lang->bug->assignToNull) . "</span>";
|
||||
echo "<span id='longlifebugsTab'>" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=longLifeBugs¶m=0"), $lang->bug->longLifeBugs) . "</span>";
|
||||
echo "<span id='postponedbugsTab'>" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=postponedBugs¶m=0"), $lang->bug->postponedBugs) . "</span>";
|
||||
echo "<span id='bysearchTab' onclick=\"browseBySearch('$browseType')\"><a href='#'>{$lang->bug->byQuery}</a></span> ";
|
||||
echo "<span id='allTab'>" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=all¶m=0&orderBy=$orderBy&recTotal=0&recPerPage=200"), $lang->bug->allBugs) . "</span>";
|
||||
echo "<span id='needconfirmTab'>" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=needconfirm¶m=0"), $lang->bug->needConfirm) . "</span>";
|
||||
?>
|
||||
</div>
|
||||
<div class='f-right'>
|
||||
<?php common::printLink('bug', 'customFields', '', $lang->bug->customFields, '', "class='iframe'"); ?>
|
||||
<?php echo html::export2csv($lang->exportCSV, $lang->setFileName);?>
|
||||
<?php common::printLink('bug', 'report', "productID=$productID&browseType=$browseType&moduleID=$moduleID", $lang->bug->report->common); ?>
|
||||
<?php common::printLink('bug', 'create', "productID=$productID&extra=moduleID=$moduleID", $lang->bug->create); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div id='querybox' class='<?php if($browseType !='bysearch') echo 'hidden';?>'><?php echo $searchForm;?></div>
|
||||
</div>
|
||||
|
||||
<?php if($customed){include 'browse.custom.html.php'; exit;}?>
|
||||
<div class='yui-d0 <?php if($browseType == 'bymodule') echo 'yui-t1';?>' id='mainbox'>
|
||||
|
||||
<div class="yui-main">
|
||||
<div class="yui-b">
|
||||
<?php $vars = "productID=$productID&browseType=$browseType¶m=$param&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}"; ?>
|
||||
<table class='table-1 fixed colored tablesorter datatable'>
|
||||
<thead>
|
||||
<tr class='colhead'>
|
||||
<th class='w-id'> <?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?></th>
|
||||
<th class='w-severity'><?php common::printOrderLink('severity', $orderBy, $vars, $lang->bug->severityAB);?></th>
|
||||
<th class='w-pri'> <?php common::printOrderLink('pri', $orderBy, $vars, $lang->priAB);?></th>
|
||||
<th><?php common::printOrderLink('title', $orderBy, $vars, $lang->bug->title);?></th>
|
||||
<?php if($browseType == 'needconfirm'):?>
|
||||
<th class='w-p40'><?php common::printOrderLink('story', $orderBy, $vars, $lang->bug->story);?></th>
|
||||
<th class='w-50px'><?php echo $lang->actions;?></th>
|
||||
<?php else:?>
|
||||
<th class='w-user'><?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='w-user'><?php common::printOrderLink('assignedTo', $orderBy, $vars, $lang->assignedToAB);?></th>
|
||||
<th class='w-user'><?php common::printOrderLink('resolvedBy', $orderBy, $vars, $lang->bug->resolvedByAB);?></th>
|
||||
<th class='w-resolution'><?php common::printOrderLink('resolution', $orderBy, $vars, $lang->bug->resolutionAB);?></th>
|
||||
<th class='w-120px {sorter:false}'><?php echo $lang->actions;?></th>
|
||||
<?php endif;?>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($bugs as $bug):?>
|
||||
<?php $bugLink = inlink('view', "bugID=$bug->id");?>
|
||||
<tr class='a-center'>
|
||||
<td class='linkbox'><?php echo html::a($bugLink, sprintf('%03d', $bug->id));?></td>
|
||||
<td><?php echo $lang->bug->severityList[$bug->severity]?></td>
|
||||
<td><?php echo $lang->bug->priList[$bug->pri]?></td>
|
||||
<td class='a-left nobr'><?php echo html::a($bugLink, $bug->title);?></td>
|
||||
<?php if($browseType == 'needconfirm'):?>
|
||||
<td class='a-left nobr'><?php echo html::a($this->createLink('story', 'view', "stoyID=$bug->story"), $bug->storyTitle, '_blank');?></td>
|
||||
<td><?php echo html::a(inlink('confirmStoryChange', "bugID=$bug->id"), $lang->confirm, 'hiddenwin')?></td>
|
||||
<?php else:?>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
<td <?php if($bug->assignedTo == $this->app->user->account) echo 'class="red"';?>><?php echo $users[$bug->assignedTo];?></td>
|
||||
<td><?php echo $users[$bug->resolvedBy];?></td>
|
||||
<td><?php echo $lang->bug->resolutionList[$bug->resolution];?></td>
|
||||
<td>
|
||||
<?php
|
||||
$params = "bugID=$bug->id";
|
||||
if(!($bug->status == 'active' and common::printLink('bug', 'resolve', $params, $lang->bug->buttonResolve))) echo $lang->bug->buttonResolve . ' ';
|
||||
if(!($bug->status == 'resolved' and common::printLink('bug', 'close', $params, $lang->bug->buttonClose))) echo $lang->bug->buttonClose . ' ';
|
||||
common::printLink('bug', 'edit', $params, $lang->bug->buttonEdit);
|
||||
?>
|
||||
</td>
|
||||
<?php endif;?>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php $pager->show();?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='yui-b <?php if($browseType != 'bymodule') echo 'hidden';?>' id='treebox'>
|
||||
<div class='box-title'><?php echo $productName;?></div>
|
||||
<div class='box-content'>
|
||||
<?php echo $moduleTree;?>
|
||||
<div class='a-right'>
|
||||
<?php if(common::hasPriv('tree', 'browse')) echo html::a($this->createLink('tree', 'browse', "productID=$productID&view=bug"), $lang->tree->manage);?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script language='javascript'>
|
||||
$("#<?php echo $browseType;?>Tab").addClass('active');
|
||||
$("#module<?php echo $moduleID;?>").addClass('active');
|
||||
</script>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,44 +1,31 @@
|
||||
<?php
|
||||
/**
|
||||
* The close file of bug module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<div class='yui-d0'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $bug->title;?></caption>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->comment;?></td>
|
||||
<td><?php echo html::textarea('comment', '', "rows='6' class='area-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'>
|
||||
<?php echo html::submitButton();?>
|
||||
<input type='button' value='<?php echo $lang->bug->buttonToList;?>' class='button-s'
|
||||
onclick='location.href="<?php echo $this->session->bugList;?>"' />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The close file of bug module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<div class='yui-d0'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $bug->title;?></caption>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->comment;?></td>
|
||||
<td><?php echo html::textarea('comment', '', "rows='6' class='area-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'>
|
||||
<?php echo html::submitButton();?>
|
||||
<input type='button' value='<?php echo $lang->bug->buttonToList;?>' class='button-s'
|
||||
onclick='location.href="<?php echo $this->session->bugList;?>"' />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,218 +1,205 @@
|
||||
<?php
|
||||
/**
|
||||
* The create view of bug module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/autocomplete.html.php';?>
|
||||
<?php include '../../common/view/alert.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
|
||||
<style>
|
||||
#project, #product {width:200px}
|
||||
#module, #task {width:400px}
|
||||
#severity, #browser {width:113px}
|
||||
#story{width:605px}
|
||||
#steps{width:100%}
|
||||
.text-1 {width: 85%}
|
||||
</style>
|
||||
<script language='Javascript'>
|
||||
/* 当选择产品时,触发这个方法。*/
|
||||
function loadAll(productID)
|
||||
{
|
||||
$('#taskIdBox').get(0).innerHTML = '<select id="task"></select>'; // 将taskID内容复位。
|
||||
loadModuleMenu(productID); // 加载产品的模块列表。
|
||||
loadProductStories(productID); // 加载产品的需求列表。
|
||||
loadProductProjects(productID); // 加载项目列表。
|
||||
loadProductBuilds(productID); // 加载build列表。
|
||||
setAssignedTo(); // 设置默认指派人。
|
||||
}
|
||||
|
||||
/* 加载模块列表。*/
|
||||
function loadModuleMenu(productID)
|
||||
{
|
||||
link = createLink('tree', 'ajaxGetOptionMenu', 'productID=' + productID + '&viewtype=bug');
|
||||
$('#moduleIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载产品的需求列表。*/
|
||||
function loadProductStories(productID)
|
||||
{
|
||||
link = createLink('story', 'ajaxGetProductStories', 'productID=' + productID);
|
||||
$('#storyIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载项目列表。*/
|
||||
function loadProductProjects(productID)
|
||||
{
|
||||
link = createLink('product', 'ajaxGetProjects', 'productID=' + productID);
|
||||
$('#projectIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载产品build列表。*/
|
||||
function loadProductBuilds(productID)
|
||||
{
|
||||
link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=openedBuild');
|
||||
$('#buildBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载项目的任务列表和需求列表。*/
|
||||
function loadProjectRelated(projectID)
|
||||
{
|
||||
if(projectID)
|
||||
{
|
||||
loadProjectTasks(projectID);
|
||||
loadProjectStories(projectID);
|
||||
loadProjectBuilds(projectID);
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#taskIdBox').get(0).innerHTML = '';
|
||||
loadProductStories($('#product').get(0).value);
|
||||
loadProductBuilds($('#product').get(0).value);
|
||||
}
|
||||
}
|
||||
|
||||
/* 加载项目的任务列表。*/
|
||||
function loadProjectTasks(projectID)
|
||||
{
|
||||
link = createLink('task', 'ajaxGetProjectTasks', 'projectID=' + projectID);
|
||||
$('#taskIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载项目的需求列表。*/
|
||||
function loadProjectStories(projectID)
|
||||
{
|
||||
productID = $('#product').get(0).value;
|
||||
link = createLink('story', 'ajaxGetProjectStories', 'projectID=' + projectID + '&productID=' + productID);
|
||||
$('#storyIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 设置默认指派者。*/
|
||||
function setAssignedTo()
|
||||
{
|
||||
link = createLink('bug', 'ajaxGetModuleOwner', 'moduleID=' + $('#module').val() + '&productID=' + $('#product').val());
|
||||
$.get(link, function(owner)
|
||||
{
|
||||
$('#assignedTo').val(owner);
|
||||
});
|
||||
}
|
||||
|
||||
/* 加载项目的build列表。*/
|
||||
function loadProjectBuilds(projectID)
|
||||
{
|
||||
link = createLink('build', 'ajaxGetProjectBuilds', 'projectID=' + projectID + '&productID=' + $('#product').val() + '&varName=openedBuild');
|
||||
$('#buildBox').load(link);
|
||||
}
|
||||
|
||||
var userList = "<?php echo join(',', array_keys($users));?>".split(',');
|
||||
$(function() {
|
||||
$("#mailto").autocomplete(userList, { multiple: true, mustMatch: true});
|
||||
setAssignedTo();
|
||||
KE.show({id:'steps',items:bugTools, filterMode:true, imageUploadJson: createLink('file', 'ajaxUpload')});
|
||||
})
|
||||
|
||||
</script>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' enctype='multipart/form-data' target='hiddenwin'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->bug->create;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->lblProductAndModule;?></th>
|
||||
<td>
|
||||
<?php echo html::select('product', $products, $productID, "onchange='loadAll(this.value)' class='select-2'");?>
|
||||
<span id='moduleIdBox'><?php echo html::select('module', $moduleOptionMenu, $moduleID, "onchange='setAssignedTo()' class='select-3'");?></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->lblProjectAndTask;?></th>
|
||||
<td>
|
||||
<span id='projectIdBox'><?php echo html::select('project', $projects, $projectID, 'onchange=loadProjectRelated(this.value)');?></span>
|
||||
<span id='taskIdBox'><?php echo html::select('task', $tasks, $taskID);?></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->lblStory;?></th>
|
||||
<td>
|
||||
<span id='storyIdBox'><?php echo html::select('story', $stories, $storyID);?></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->openedBuild;?></th>
|
||||
<td>
|
||||
<span id='buildBox'><?php echo html::select('openedBuild[]', $builds, $buildID, 'size=3 multiple=multiple class=select-3');?></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->lblTypeAndSeverity;?></th>
|
||||
<td>
|
||||
<?php echo html::select('type', $lang->bug->typeList, 'codeerror', 'class=select-2');?>
|
||||
<?php echo html::select('severity', $lang->bug->severityList, '', 'class=select-2');?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><nobr><?php echo $lang->bug->lblSystemBrowserAndHardware;?></nobr></th>
|
||||
<td>
|
||||
<?php echo html::select('os', $lang->bug->osList, $os, 'class=select-2');?>
|
||||
<?php echo html::select('browser', $lang->bug->browserList, $browser, 'class=select-2');?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><nobr><?php echo $lang->bug->lblAssignedTo;?></nobr></th>
|
||||
<td> <?php echo html::select('assignedTo', $users, $assignedTo, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><nobr><?php echo $lang->bug->lblMailto;?></nobr></th>
|
||||
<td> <?php echo html::input('mailto', $mailto, 'class=text-1');?> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->title;?></th>
|
||||
<td><?php echo html::input('title', $title, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->steps;?></th>
|
||||
<td>
|
||||
<table class='w-p100 bd-none'>
|
||||
<tr class='bd-none' valign='top'>
|
||||
<td class='w-p85 bd-none padding-zero'><?php echo html::textarea('steps', $steps, "rows='10'");?></td>
|
||||
<td class='bd-none pl-10px' id='tplBox'><?php echo $this->fetch('bug', 'buildTemplates');?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->keywords;?></th>
|
||||
<td><?php echo html::input('keywords', $keywords, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->files;?></th>
|
||||
<td><?php echo $this->fetch('file', 'buildform', 'fileCount=2&percent=0.85');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'>
|
||||
<?php echo html::submitButton() . html::resetButton() . html::hidden('case', $caseID);?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The create view of bug module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/autocomplete.html.php';?>
|
||||
<?php include '../../common/view/alert.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
|
||||
<style>
|
||||
#project, #product {width:200px}
|
||||
#module, #task {width:400px}
|
||||
#severity, #browser {width:113px}
|
||||
#story{width:605px}
|
||||
#steps{width:100%}
|
||||
.text-1 {width: 85%}
|
||||
</style>
|
||||
<script language='Javascript'>
|
||||
/* 当选择产品时,触发这个方法。*/
|
||||
function loadAll(productID)
|
||||
{
|
||||
$('#taskIdBox').get(0).innerHTML = '<select id="task"></select>'; // 将taskID内容复位。
|
||||
loadModuleMenu(productID); // 加载产品的模块列表。
|
||||
loadProductStories(productID); // 加载产品的需求列表。
|
||||
loadProductProjects(productID); // 加载项目列表。
|
||||
loadProductBuilds(productID); // 加载build列表。
|
||||
setAssignedTo(); // 设置默认指派人。
|
||||
}
|
||||
|
||||
/* 加载模块列表。*/
|
||||
function loadModuleMenu(productID)
|
||||
{
|
||||
link = createLink('tree', 'ajaxGetOptionMenu', 'productID=' + productID + '&viewtype=bug');
|
||||
$('#moduleIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载产品的需求列表。*/
|
||||
function loadProductStories(productID)
|
||||
{
|
||||
link = createLink('story', 'ajaxGetProductStories', 'productID=' + productID);
|
||||
$('#storyIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载项目列表。*/
|
||||
function loadProductProjects(productID)
|
||||
{
|
||||
link = createLink('product', 'ajaxGetProjects', 'productID=' + productID);
|
||||
$('#projectIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载产品build列表。*/
|
||||
function loadProductBuilds(productID)
|
||||
{
|
||||
link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=openedBuild');
|
||||
$('#buildBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载项目的任务列表和需求列表。*/
|
||||
function loadProjectRelated(projectID)
|
||||
{
|
||||
if(projectID)
|
||||
{
|
||||
loadProjectTasks(projectID);
|
||||
loadProjectStories(projectID);
|
||||
loadProjectBuilds(projectID);
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#taskIdBox').get(0).innerHTML = '';
|
||||
loadProductStories($('#product').get(0).value);
|
||||
loadProductBuilds($('#product').get(0).value);
|
||||
}
|
||||
}
|
||||
|
||||
/* 加载项目的任务列表。*/
|
||||
function loadProjectTasks(projectID)
|
||||
{
|
||||
link = createLink('task', 'ajaxGetProjectTasks', 'projectID=' + projectID);
|
||||
$('#taskIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载项目的需求列表。*/
|
||||
function loadProjectStories(projectID)
|
||||
{
|
||||
productID = $('#product').get(0).value;
|
||||
link = createLink('story', 'ajaxGetProjectStories', 'projectID=' + projectID + '&productID=' + productID);
|
||||
$('#storyIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 设置默认指派者。*/
|
||||
function setAssignedTo()
|
||||
{
|
||||
link = createLink('bug', 'ajaxGetModuleOwner', 'moduleID=' + $('#module').val() + '&productID=' + $('#product').val());
|
||||
$.get(link, function(owner)
|
||||
{
|
||||
$('#assignedTo').val(owner);
|
||||
});
|
||||
}
|
||||
|
||||
/* 加载项目的build列表。*/
|
||||
function loadProjectBuilds(projectID)
|
||||
{
|
||||
link = createLink('build', 'ajaxGetProjectBuilds', 'projectID=' + projectID + '&productID=' + $('#product').val() + '&varName=openedBuild');
|
||||
$('#buildBox').load(link);
|
||||
}
|
||||
|
||||
var userList = "<?php echo join(',', array_keys($users));?>".split(',');
|
||||
$(function() {
|
||||
$("#mailto").autocomplete(userList, { multiple: true, mustMatch: true});
|
||||
setAssignedTo();
|
||||
KE.show({id:'steps',items:bugTools, filterMode:true, imageUploadJson: createLink('file', 'ajaxUpload')});
|
||||
})
|
||||
|
||||
</script>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' enctype='multipart/form-data' target='hiddenwin'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->bug->create;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->lblProductAndModule;?></th>
|
||||
<td>
|
||||
<?php echo html::select('product', $products, $productID, "onchange='loadAll(this.value)' class='select-2'");?>
|
||||
<span id='moduleIdBox'><?php echo html::select('module', $moduleOptionMenu, $moduleID, "onchange='setAssignedTo()' class='select-3'");?></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->lblProjectAndTask;?></th>
|
||||
<td>
|
||||
<span id='projectIdBox'><?php echo html::select('project', $projects, $projectID, 'onchange=loadProjectRelated(this.value)');?></span>
|
||||
<span id='taskIdBox'><?php echo html::select('task', $tasks, $taskID);?></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->lblStory;?></th>
|
||||
<td>
|
||||
<span id='storyIdBox'><?php echo html::select('story', $stories, $storyID);?></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->openedBuild;?></th>
|
||||
<td>
|
||||
<span id='buildBox'><?php echo html::select('openedBuild[]', $builds, $buildID, 'size=3 multiple=multiple class=select-3');?></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->lblTypeAndSeverity;?></th>
|
||||
<td>
|
||||
<?php echo html::select('type', $lang->bug->typeList, 'codeerror', 'class=select-2');?>
|
||||
<?php echo html::select('severity', $lang->bug->severityList, '', 'class=select-2');?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><nobr><?php echo $lang->bug->lblSystemBrowserAndHardware;?></nobr></th>
|
||||
<td>
|
||||
<?php echo html::select('os', $lang->bug->osList, $os, 'class=select-2');?>
|
||||
<?php echo html::select('browser', $lang->bug->browserList, $browser, 'class=select-2');?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><nobr><?php echo $lang->bug->lblAssignedTo;?></nobr></th>
|
||||
<td> <?php echo html::select('assignedTo', $users, $assignedTo, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><nobr><?php echo $lang->bug->lblMailto;?></nobr></th>
|
||||
<td> <?php echo html::input('mailto', $mailto, 'class=text-1');?> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->title;?></th>
|
||||
<td><?php echo html::input('title', $title, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->steps;?></th>
|
||||
<td>
|
||||
<table class='w-p100 bd-none'>
|
||||
<tr class='bd-none' valign='top'>
|
||||
<td class='w-p85 bd-none padding-zero'><?php echo html::textarea('steps', $steps, "rows='10'");?></td>
|
||||
<td class='bd-none pl-10px' id='tplBox'><?php echo $this->fetch('bug', 'buildTemplates');?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->keywords;?></th>
|
||||
<td><?php echo html::input('keywords', $keywords, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->files;?></th>
|
||||
<td><?php echo $this->fetch('file', 'buildform', 'fileCount=2&percent=0.85');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'>
|
||||
<?php echo html::submitButton() . html::resetButton() . html::hidden('case', $caseID);?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,72 +1,59 @@
|
||||
<?php
|
||||
/**
|
||||
* The custom seting fields view of bug module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package product
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.lite.html.php';?>
|
||||
<style>
|
||||
body{background:white}
|
||||
.button-c {width:60px}
|
||||
</style>
|
||||
<script language='Javascript'>
|
||||
function restoreDefault()
|
||||
{
|
||||
$('#customFields option').remove();
|
||||
$('#defaultFields option').clone().appendTo('#customFields');
|
||||
}
|
||||
</script>
|
||||
<div id='yui-d0' style='margin-top:20px'>
|
||||
<form method='post'>
|
||||
<table class='table-1'>
|
||||
<caption class='caption-tl'><?php echo $lang->bug->customFields;?></caption>
|
||||
<tr class='colhead'>
|
||||
<th><?php echo $lang->bug->lblAllFields;?></th>
|
||||
<th></th>
|
||||
<th><?php echo $lang->bug->lblCustomFields;?></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<?php
|
||||
echo html::select('allFields[]', $allFields, '', 'class=select-2 size=10 multiple');
|
||||
echo html::select('defaultFields[]', $defaultFields, '', 'class=hidden');
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
echo html::commonButton('>', "onclick=\"addItem('allFields', 'customFields')\"") . '<br />';
|
||||
echo html::commonButton('<', "onclick=delItem('customFields')") . '<br />';
|
||||
?>
|
||||
</td>
|
||||
<td><?php echo html::select('customFields[]', $customFields, '', 'class=select-2 size=10 multiple');?></td>
|
||||
<td>
|
||||
<?php
|
||||
echo html::commonButton('+', "onclick=upItem('customFields')") . '<br />';
|
||||
echo html::commonButton('-', "onclick=downItem('customFields')") . '<br />';
|
||||
echo html::commonButton($lang->bug->restoreDefault, "onclick=restoreDefault()") . '<br />';
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan='4' class='a-center'><?php echo html::submitButton('', 'onclick=selectItem("customFields")');?></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php
|
||||
/**
|
||||
* The custom seting fields view of bug module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package product
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.lite.html.php';?>
|
||||
<style>
|
||||
body{background:white}
|
||||
.button-c {width:60px}
|
||||
</style>
|
||||
<script language='Javascript'>
|
||||
function restoreDefault()
|
||||
{
|
||||
$('#customFields option').remove();
|
||||
$('#defaultFields option').clone().appendTo('#customFields');
|
||||
}
|
||||
</script>
|
||||
<div id='yui-d0' style='margin-top:20px'>
|
||||
<form method='post'>
|
||||
<table class='table-1'>
|
||||
<caption class='caption-tl'><?php echo $lang->bug->customFields;?></caption>
|
||||
<tr class='colhead'>
|
||||
<th><?php echo $lang->bug->lblAllFields;?></th>
|
||||
<th></th>
|
||||
<th><?php echo $lang->bug->lblCustomFields;?></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<?php
|
||||
echo html::select('allFields[]', $allFields, '', 'class=select-2 size=10 multiple');
|
||||
echo html::select('defaultFields[]', $defaultFields, '', 'class=hidden');
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
echo html::commonButton('>', "onclick=\"addItem('allFields', 'customFields')\"") . '<br />';
|
||||
echo html::commonButton('<', "onclick=delItem('customFields')") . '<br />';
|
||||
?>
|
||||
</td>
|
||||
<td><?php echo html::select('customFields[]', $customFields, '', 'class=select-2 size=10 multiple');?></td>
|
||||
<td>
|
||||
<?php
|
||||
echo html::commonButton('+', "onclick=upItem('customFields')") . '<br />';
|
||||
echo html::commonButton('-', "onclick=downItem('customFields')") . '<br />';
|
||||
echo html::commonButton($lang->bug->restoreDefault, "onclick=restoreDefault()") . '<br />';
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan='4' class='a-center'><?php echo html::submitButton('', 'onclick=selectItem("customFields")');?></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -1,330 +1,317 @@
|
||||
<?php
|
||||
/**
|
||||
* The edit file of bug module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/autocomplete.html.php';?>
|
||||
<?php include '../../common/view/alert.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<style>
|
||||
#product, #module, #project, #story, #task, #resolvedBuild{width:220px}
|
||||
#steps {width:100%}
|
||||
.select-3 {width:220px}
|
||||
.text-3 {width:215px}
|
||||
</style>
|
||||
<script language='Javascript'>
|
||||
changeProductConfirmed = false;
|
||||
changeProjectConfirmed = false;
|
||||
oldProjectID = '<?php echo $bug->project;?>';
|
||||
oldStoryID = '<?php echo $bug->story;?>';
|
||||
oldTaskID = '<?php echo $bug->task;?>';
|
||||
oldOpenedBuild = '<?php echo $bug->openedBuild;?>';
|
||||
oldResolvedBuild = '<?php echo $bug->resolvedBuild;?>';
|
||||
emptySelect = "<select name='task' id='task'><option value=''></option></select>";
|
||||
/* 当选择产品时,触发这个方法。*/
|
||||
function loadAll(productID)
|
||||
{
|
||||
if(!changeProductConfirmed)
|
||||
{
|
||||
firstChoice = confirm('<?php echo $lang->bug->confirmChangeProduct;?>');
|
||||
changeProductConfirmed = true; // 已经提示过,下次就不再提示了。
|
||||
}
|
||||
if(changeProductConfirmed || firstChoice)
|
||||
{
|
||||
$('#taskIdBox').get(0).innerHTML = emptySelect;
|
||||
loadModuleMenu(productID); // 加载产品的模块列表。
|
||||
loadProductStories(productID); // 加载产品的需求列表。
|
||||
loadProductProjects(productID); // 加载项目列表。
|
||||
loadProductBuilds(productID); // 加载build列表。
|
||||
}
|
||||
}
|
||||
|
||||
/* 加载模块列表。*/
|
||||
function loadModuleMenu(productID)
|
||||
{
|
||||
link = createLink('tree', 'ajaxGetOptionMenu', 'productID=' + productID + '&viewtype=bug');
|
||||
$('#moduleIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载产品的需求列表。*/
|
||||
function loadProductStories(productID)
|
||||
{
|
||||
link = createLink('story', 'ajaxGetProductStories', 'productID=' + productID + '&moduleId=0&storyID=' + oldStoryID);
|
||||
$('#storyIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载项目列表。*/
|
||||
function loadProductProjects(productID)
|
||||
{
|
||||
link = createLink('product', 'ajaxGetProjects', 'productID=' + productID + '&projectID=' + oldProjectID);
|
||||
$('#projectIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载产品build列表。*/
|
||||
function loadProductBuilds(productID)
|
||||
{
|
||||
link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild);
|
||||
$('#openedBuildBox').load(link);
|
||||
link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild);
|
||||
$('#resolvedBuildBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载项目的任务列表和需求列表。*/
|
||||
function loadProjectRelated(projectID)
|
||||
{
|
||||
if(projectID)
|
||||
{
|
||||
loadProjectTasks(projectID);
|
||||
loadProjectStories(projectID);
|
||||
loadProjectBuilds(projectID);
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#taskIdBox').get(0).innerHTML = emptySelect;
|
||||
loadProductStories($('#product').get(0).value);
|
||||
}
|
||||
}
|
||||
|
||||
/* 加载项目的任务列表。*/
|
||||
function loadProjectTasks(projectID)
|
||||
{
|
||||
link = createLink('task', 'ajaxGetProjectTasks', 'projectID=' + projectID + '&taskID=' + oldTaskID);
|
||||
$('#taskIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载项目的需求列表。*/
|
||||
function loadProjectStories(projectID)
|
||||
{
|
||||
productID = $('#product').get(0).value;
|
||||
link = createLink('story', 'ajaxGetProjectStories', 'projectID=' + projectID + '&productID=' + productID + '&storyID=' + oldStoryID);
|
||||
$('#storyIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载项目的build列表。*/
|
||||
function loadProjectBuilds(projectID)
|
||||
{
|
||||
productID = $('#product').val();
|
||||
link = createLink('build', 'ajaxGetProjectBuilds', 'projectID=' + projectID + '&productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild);
|
||||
$('#openedBuildBox').load(link);
|
||||
link = createLink('build', 'ajaxGetProjectBuilds', 'projectID=' + projectID + '&productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild);
|
||||
$('#resolvedBuildBox').load(link);
|
||||
}
|
||||
|
||||
/* 设置重复bug的显示。*/
|
||||
function setDuplicate(resolution)
|
||||
{
|
||||
if(resolution == 'duplicate')
|
||||
{
|
||||
$('#duplicateBugBox').show();
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#duplicateBugBox').hide();
|
||||
}
|
||||
}
|
||||
|
||||
var userList = "<?php echo join(',', array_keys($users));?>".split(',');
|
||||
$(function() {
|
||||
$("#mailto").autocomplete(userList, { multiple: true, mustMatch: true});
|
||||
$("#searchStories").colorbox({width:680, height:400, iframe:true, transition:'none'});
|
||||
$("#searchTasks").colorbox({width:680, height:400, iframe:true, transition:'none'});
|
||||
KE.show({id:'steps', items:simpleTools, filterMode:true, imageUploadJson: createLink('file', 'ajaxUpload')});
|
||||
|
||||
});
|
||||
</script>
|
||||
<form method='post' target='hiddenwin' enctype='multipart/form-data'>
|
||||
<div class='yui-d0'>
|
||||
<div id='titlebar'>
|
||||
<div id='main'>
|
||||
BUG #<?php echo $bug->id . $lang->colon;?>
|
||||
<?php echo html::input('title', str_replace("'","'",$bug->title), 'class=text-1');?>
|
||||
</div>
|
||||
<div><?php echo html::submitButton()?></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='yui-d0 yui-t8'>
|
||||
<div class='yui-main'>
|
||||
<div class='yui-b'>
|
||||
<table class='table-1 bd-none'>
|
||||
<tr class='bd-none'><td class='bd-none'>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendSteps;?></legend>
|
||||
<div class='w-p90'><?php echo html::textarea('steps', htmlspecialchars($bug->steps), "rows='12'");?></div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendComment;?></legend>
|
||||
<?php echo html::textarea('comment', '', "rows='6' class='area-1'");?>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendAttatch;?></legend>
|
||||
<?php echo $this->fetch('file', 'buildform', 'filecount=2');?>
|
||||
</fieldset>
|
||||
<div class='a-center'>
|
||||
<?php
|
||||
echo html::submitButton();
|
||||
$browseLink = $app->session->bugList != false ? $app->session->bugList : inlink('browse', "productID=$bug->product");
|
||||
echo html::linkButton($lang->goback, $browseLink);
|
||||
?>
|
||||
</div>
|
||||
</td></tr>
|
||||
</table>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='yui-b'>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendBasicInfo;?></legend>
|
||||
<table class='table-1 a-left' cellpadding='0' cellspacing='0'>
|
||||
<tr>
|
||||
<td class='rowhead w-p20'><?php echo $lang->bug->product;?></td>
|
||||
<td>
|
||||
<?php echo html::select('product', $products, $productID, "onchange=loadAll(this.value);");?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->module;?></td>
|
||||
<td>
|
||||
<span id='moduleIdBox'><?php echo html::select('module', $moduleOptionMenu, $currentModuleID);?></span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->type;?></td>
|
||||
<td><?php echo html::select('type', $lang->bug->typeList, $bug->type, 'class=select-3');?>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->severity;?></td>
|
||||
<td><?php echo html::select('severity', $lang->bug->severityList, $bug->severity, 'class=select-3');?>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->pri;?></td>
|
||||
<td><?php echo html::select('pri', $lang->bug->priList, $bug->pri, 'class=select-3');?>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->status;?></td>
|
||||
<td><?php echo html::select('status', $lang->bug->statusList, $bug->status, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->assignedTo;?></td>
|
||||
<td><?php echo html::select('assignedTo', $users, $bug->assignedTo, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->os;?></td>
|
||||
<td><?php echo html::select('os', $lang->bug->osList, $bug->os, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->browser;?></td>
|
||||
<td><?php echo html::select('browser', $lang->bug->browserList, $bug->browser, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->keywords;?></td>
|
||||
<td><?php echo html::input('keywords', $bug->keywords, 'class="text-3"');?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendPrjStoryTask;?></legend>
|
||||
<table class='table-1 a-left'>
|
||||
<tr>
|
||||
<td class='rowhead w-p20'><?php echo $lang->bug->project;?></td>
|
||||
<td><span id='projectIdBox'><?php echo html::select('project', $projects, $bug->project, 'class=select-3 onchange=loadProjectRelated(this.value)');?></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->story;?></td>
|
||||
<td><div id='storyIdBox' class='searchleft'><?php echo html::select('story', $stories, $bug->story, "class=select-3");?></div>
|
||||
<?php echo html::a($this->createLink('search', 'select', "productID=$productID&projectID=$bug->project&module=story&storyID=$bug->story"), $lang->go, "_blank", "class='search' id='searchStories'");?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->task;?></td>
|
||||
<td><div id='taskIdBox' class='searchleft'><?php echo html::select('task', $tasks, $bug->task, 'class=select-3');?></div>
|
||||
<?php echo html::a($this->createLink('search', 'select', "productID=$productID&projectID=$bug->project&module=task&taskID=$bug->task"), $lang->go, "_blank", "class='search' id='searchTasks'");?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendLife;?></legend>
|
||||
<table class='table-1 a-left'>
|
||||
<tr>
|
||||
<td class='rowhead w-p20'><?php echo $lang->bug->openedBy;?></td>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->openedBuild;?></td>
|
||||
<td><span id='openedBuildBox'><?php echo html::select('openedBuild[]', $openedBuilds, $bug->openedBuild, 'size=4 multiple=multiple class=select-3');?></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->resolvedBy;?></td>
|
||||
<td><?php echo html::select('resolvedBy', $users, $bug->resolvedBy, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->resolvedDate;?></td>
|
||||
<td><?php echo html::input('resolvedDate', $bug->resolvedDate, 'class=text-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->resolvedBuild;?></td>
|
||||
<td><span id='resolvedBuildBox'><?php echo html::select('resolvedBuild', $resolvedBuilds, $bug->resolvedBuild, 'class=select-3');?></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->resolution;?></td>
|
||||
<td><?php echo html::select('resolution', $lang->bug->resolutionList, $bug->resolution, 'class=select-3 onchange=setDuplicate(this.value)');?></td>
|
||||
</tr>
|
||||
<tr id='duplicateBugBox' <?php if($bug->resolution != 'duplicate') echo "style='display:none'";?>>
|
||||
<td class='rowhead'><?php echo $lang->bug->duplicateBug;?></td>
|
||||
<td><?php echo html::input('duplicateBug', $bug->duplicateBug, 'class=text-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->closedBy;?></td>
|
||||
<td><?php echo html::select('closedBy', $users, $bug->closedBy, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->closedDate;?></td>
|
||||
<td><?php echo html::input('closedDate', $bug->closedDate, 'class=text-3');?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendMisc;?></legend>
|
||||
<table class='table-1 a-left'>
|
||||
<tr>
|
||||
<td class='rowhead w-p20'><?php echo $lang->bug->mailto;?></td>
|
||||
<td><?php echo html::input('mailto', $bug->mailto, 'class="text-3"');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->linkBug;?></td>
|
||||
<td><?php echo html::input('linkBug', $bug->linkBug, 'class="text-3"');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->case;?></td>
|
||||
<td><?php echo html::input('case', $bug->case, 'class="text-3"');?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The edit file of bug module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/autocomplete.html.php';?>
|
||||
<?php include '../../common/view/alert.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<style>
|
||||
#product, #module, #project, #story, #task, #resolvedBuild{width:220px}
|
||||
#steps {width:100%}
|
||||
.select-3 {width:220px}
|
||||
.text-3 {width:215px}
|
||||
</style>
|
||||
<script language='Javascript'>
|
||||
changeProductConfirmed = false;
|
||||
changeProjectConfirmed = false;
|
||||
oldProjectID = '<?php echo $bug->project;?>';
|
||||
oldStoryID = '<?php echo $bug->story;?>';
|
||||
oldTaskID = '<?php echo $bug->task;?>';
|
||||
oldOpenedBuild = '<?php echo $bug->openedBuild;?>';
|
||||
oldResolvedBuild = '<?php echo $bug->resolvedBuild;?>';
|
||||
emptySelect = "<select name='task' id='task'><option value=''></option></select>";
|
||||
/* 当选择产品时,触发这个方法。*/
|
||||
function loadAll(productID)
|
||||
{
|
||||
if(!changeProductConfirmed)
|
||||
{
|
||||
firstChoice = confirm('<?php echo $lang->bug->confirmChangeProduct;?>');
|
||||
changeProductConfirmed = true; // 已经提示过,下次就不再提示了。
|
||||
}
|
||||
if(changeProductConfirmed || firstChoice)
|
||||
{
|
||||
$('#taskIdBox').get(0).innerHTML = emptySelect;
|
||||
loadModuleMenu(productID); // 加载产品的模块列表。
|
||||
loadProductStories(productID); // 加载产品的需求列表。
|
||||
loadProductProjects(productID); // 加载项目列表。
|
||||
loadProductBuilds(productID); // 加载build列表。
|
||||
}
|
||||
}
|
||||
|
||||
/* 加载模块列表。*/
|
||||
function loadModuleMenu(productID)
|
||||
{
|
||||
link = createLink('tree', 'ajaxGetOptionMenu', 'productID=' + productID + '&viewtype=bug');
|
||||
$('#moduleIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载产品的需求列表。*/
|
||||
function loadProductStories(productID)
|
||||
{
|
||||
link = createLink('story', 'ajaxGetProductStories', 'productID=' + productID + '&moduleId=0&storyID=' + oldStoryID);
|
||||
$('#storyIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载项目列表。*/
|
||||
function loadProductProjects(productID)
|
||||
{
|
||||
link = createLink('product', 'ajaxGetProjects', 'productID=' + productID + '&projectID=' + oldProjectID);
|
||||
$('#projectIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载产品build列表。*/
|
||||
function loadProductBuilds(productID)
|
||||
{
|
||||
link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild);
|
||||
$('#openedBuildBox').load(link);
|
||||
link = createLink('build', 'ajaxGetProductBuilds', 'productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild);
|
||||
$('#resolvedBuildBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载项目的任务列表和需求列表。*/
|
||||
function loadProjectRelated(projectID)
|
||||
{
|
||||
if(projectID)
|
||||
{
|
||||
loadProjectTasks(projectID);
|
||||
loadProjectStories(projectID);
|
||||
loadProjectBuilds(projectID);
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#taskIdBox').get(0).innerHTML = emptySelect;
|
||||
loadProductStories($('#product').get(0).value);
|
||||
}
|
||||
}
|
||||
|
||||
/* 加载项目的任务列表。*/
|
||||
function loadProjectTasks(projectID)
|
||||
{
|
||||
link = createLink('task', 'ajaxGetProjectTasks', 'projectID=' + projectID + '&taskID=' + oldTaskID);
|
||||
$('#taskIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载项目的需求列表。*/
|
||||
function loadProjectStories(projectID)
|
||||
{
|
||||
productID = $('#product').get(0).value;
|
||||
link = createLink('story', 'ajaxGetProjectStories', 'projectID=' + projectID + '&productID=' + productID + '&storyID=' + oldStoryID);
|
||||
$('#storyIdBox').load(link);
|
||||
}
|
||||
|
||||
/* 加载项目的build列表。*/
|
||||
function loadProjectBuilds(projectID)
|
||||
{
|
||||
productID = $('#product').val();
|
||||
link = createLink('build', 'ajaxGetProjectBuilds', 'projectID=' + projectID + '&productID=' + productID + '&varName=openedBuild&build=' + oldOpenedBuild);
|
||||
$('#openedBuildBox').load(link);
|
||||
link = createLink('build', 'ajaxGetProjectBuilds', 'projectID=' + projectID + '&productID=' + productID + '&varName=resolvedBuild&build=' + oldResolvedBuild);
|
||||
$('#resolvedBuildBox').load(link);
|
||||
}
|
||||
|
||||
/* 设置重复bug的显示。*/
|
||||
function setDuplicate(resolution)
|
||||
{
|
||||
if(resolution == 'duplicate')
|
||||
{
|
||||
$('#duplicateBugBox').show();
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#duplicateBugBox').hide();
|
||||
}
|
||||
}
|
||||
|
||||
var userList = "<?php echo join(',', array_keys($users));?>".split(',');
|
||||
$(function() {
|
||||
$("#mailto").autocomplete(userList, { multiple: true, mustMatch: true});
|
||||
$("#searchStories").colorbox({width:680, height:400, iframe:true, transition:'none'});
|
||||
$("#searchTasks").colorbox({width:680, height:400, iframe:true, transition:'none'});
|
||||
KE.show({id:'steps', items:simpleTools, filterMode:true, imageUploadJson: createLink('file', 'ajaxUpload')});
|
||||
|
||||
});
|
||||
</script>
|
||||
<form method='post' target='hiddenwin' enctype='multipart/form-data'>
|
||||
<div class='yui-d0'>
|
||||
<div id='titlebar'>
|
||||
<div id='main'>
|
||||
BUG #<?php echo $bug->id . $lang->colon;?>
|
||||
<?php echo html::input('title', str_replace("'","'",$bug->title), 'class=text-1');?>
|
||||
</div>
|
||||
<div><?php echo html::submitButton()?></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='yui-d0 yui-t8'>
|
||||
<div class='yui-main'>
|
||||
<div class='yui-b'>
|
||||
<table class='table-1 bd-none'>
|
||||
<tr class='bd-none'><td class='bd-none'>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendSteps;?></legend>
|
||||
<div class='w-p90'><?php echo html::textarea('steps', htmlspecialchars($bug->steps), "rows='12'");?></div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendComment;?></legend>
|
||||
<?php echo html::textarea('comment', '', "rows='6' class='area-1'");?>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendAttatch;?></legend>
|
||||
<?php echo $this->fetch('file', 'buildform', 'filecount=2');?>
|
||||
</fieldset>
|
||||
<div class='a-center'>
|
||||
<?php
|
||||
echo html::submitButton();
|
||||
$browseLink = $app->session->bugList != false ? $app->session->bugList : inlink('browse', "productID=$bug->product");
|
||||
echo html::linkButton($lang->goback, $browseLink);
|
||||
?>
|
||||
</div>
|
||||
</td></tr>
|
||||
</table>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='yui-b'>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendBasicInfo;?></legend>
|
||||
<table class='table-1 a-left' cellpadding='0' cellspacing='0'>
|
||||
<tr>
|
||||
<td class='rowhead w-p20'><?php echo $lang->bug->product;?></td>
|
||||
<td>
|
||||
<?php echo html::select('product', $products, $productID, "onchange=loadAll(this.value);");?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->module;?></td>
|
||||
<td>
|
||||
<span id='moduleIdBox'><?php echo html::select('module', $moduleOptionMenu, $currentModuleID);?></span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->type;?></td>
|
||||
<td><?php echo html::select('type', $lang->bug->typeList, $bug->type, 'class=select-3');?>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->severity;?></td>
|
||||
<td><?php echo html::select('severity', $lang->bug->severityList, $bug->severity, 'class=select-3');?>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->pri;?></td>
|
||||
<td><?php echo html::select('pri', $lang->bug->priList, $bug->pri, 'class=select-3');?>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->status;?></td>
|
||||
<td><?php echo html::select('status', $lang->bug->statusList, $bug->status, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->assignedTo;?></td>
|
||||
<td><?php echo html::select('assignedTo', $users, $bug->assignedTo, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->os;?></td>
|
||||
<td><?php echo html::select('os', $lang->bug->osList, $bug->os, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->browser;?></td>
|
||||
<td><?php echo html::select('browser', $lang->bug->browserList, $bug->browser, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->keywords;?></td>
|
||||
<td><?php echo html::input('keywords', $bug->keywords, 'class="text-3"');?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendPrjStoryTask;?></legend>
|
||||
<table class='table-1 a-left'>
|
||||
<tr>
|
||||
<td class='rowhead w-p20'><?php echo $lang->bug->project;?></td>
|
||||
<td><span id='projectIdBox'><?php echo html::select('project', $projects, $bug->project, 'class=select-3 onchange=loadProjectRelated(this.value)');?></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->story;?></td>
|
||||
<td><div id='storyIdBox' class='searchleft'><?php echo html::select('story', $stories, $bug->story, "class=select-3");?></div>
|
||||
<?php echo html::a($this->createLink('search', 'select', "productID=$productID&projectID=$bug->project&module=story&storyID=$bug->story"), $lang->go, "_blank", "class='search' id='searchStories'");?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->task;?></td>
|
||||
<td><div id='taskIdBox' class='searchleft'><?php echo html::select('task', $tasks, $bug->task, 'class=select-3');?></div>
|
||||
<?php echo html::a($this->createLink('search', 'select', "productID=$productID&projectID=$bug->project&module=task&taskID=$bug->task"), $lang->go, "_blank", "class='search' id='searchTasks'");?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendLife;?></legend>
|
||||
<table class='table-1 a-left'>
|
||||
<tr>
|
||||
<td class='rowhead w-p20'><?php echo $lang->bug->openedBy;?></td>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->openedBuild;?></td>
|
||||
<td><span id='openedBuildBox'><?php echo html::select('openedBuild[]', $openedBuilds, $bug->openedBuild, 'size=4 multiple=multiple class=select-3');?></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->resolvedBy;?></td>
|
||||
<td><?php echo html::select('resolvedBy', $users, $bug->resolvedBy, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->resolvedDate;?></td>
|
||||
<td><?php echo html::input('resolvedDate', $bug->resolvedDate, 'class=text-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->resolvedBuild;?></td>
|
||||
<td><span id='resolvedBuildBox'><?php echo html::select('resolvedBuild', $resolvedBuilds, $bug->resolvedBuild, 'class=select-3');?></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->resolution;?></td>
|
||||
<td><?php echo html::select('resolution', $lang->bug->resolutionList, $bug->resolution, 'class=select-3 onchange=setDuplicate(this.value)');?></td>
|
||||
</tr>
|
||||
<tr id='duplicateBugBox' <?php if($bug->resolution != 'duplicate') echo "style='display:none'";?>>
|
||||
<td class='rowhead'><?php echo $lang->bug->duplicateBug;?></td>
|
||||
<td><?php echo html::input('duplicateBug', $bug->duplicateBug, 'class=text-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->closedBy;?></td>
|
||||
<td><?php echo html::select('closedBy', $users, $bug->closedBy, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->closedDate;?></td>
|
||||
<td><?php echo html::input('closedDate', $bug->closedDate, 'class=text-3');?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendMisc;?></legend>
|
||||
<table class='table-1 a-left'>
|
||||
<tr>
|
||||
<td class='rowhead w-p20'><?php echo $lang->bug->mailto;?></td>
|
||||
<td><?php echo html::input('mailto', $bug->mailto, 'class="text-3"');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->linkBug;?></td>
|
||||
<td><?php echo html::input('linkBug', $bug->linkBug, 'class="text-3"');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->case;?></td>
|
||||
<td><?php echo html::input('case', $bug->case, 'class="text-3"');?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,28 +1,15 @@
|
||||
<?php
|
||||
/**
|
||||
* The index view file of bug module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div id='doc3'>
|
||||
</div>
|
||||
<?php
|
||||
/**
|
||||
* The index view file of bug module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div id='doc3'>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
@@ -1,99 +1,86 @@
|
||||
<?php
|
||||
/**
|
||||
* The report view file of bug module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<style>span {display:block}</style>
|
||||
<script language='javascript'>
|
||||
/* 全选 */
|
||||
function checkAll()
|
||||
{
|
||||
var checkOBJ = $('input');
|
||||
for(var i = 0; i < checkOBJ.length; i++)
|
||||
{
|
||||
checkOBJ.get(i).checked = true;
|
||||
}
|
||||
}
|
||||
|
||||
/* 反选 */
|
||||
function checkReverse()
|
||||
{
|
||||
var checkOBJ = $('input');
|
||||
for(var i = 0; i < checkOBJ.length; i++)
|
||||
{
|
||||
checkOBJ.get(i).checked = !checkOBJ.get(i).checked;
|
||||
}
|
||||
return;
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class='yui-d0'>
|
||||
<div id='featurebar'>
|
||||
<div class='f-left'><?php echo $lang->bug->report->common;?></div>
|
||||
<div class='f-right'><?php common::printLink('bug', 'browse', "productID=$productID&browseType=$browseType&moduleID=$moduleID", $lang->goback); ?></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='yui-d0 yui-t1'>
|
||||
<div class='yui-b'>
|
||||
<div class='box-title'><?php echo $lang->bug->report->select;?></div>
|
||||
<div class='box-content'>
|
||||
<form method='post'>
|
||||
<?php echo html::checkBox('charts', $lang->bug->report->charts, $checkedCharts);?>
|
||||
<input type='button' value='<?php echo $lang->bug->report->selectAll;?>' onclick='checkAll()' />
|
||||
<input type='button' value='<?php echo $lang->bug->report->selectReverse;?>' onclick='checkReverse()' />
|
||||
<br /><br />
|
||||
<?php echo html::submitButton($lang->bug->report->create);?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="yui-main">
|
||||
<div class="yui-b">
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->bug->report->common;?></caption>
|
||||
<?php foreach($charts as $chartType => $chartContent):?>
|
||||
<tr valign='top'>
|
||||
<td><?php echo $chartContent;?></td>
|
||||
<td width='300'>
|
||||
<table class='table-1'>
|
||||
<tr>
|
||||
<th><?php echo $lang->report->item;?></th>
|
||||
<th><?php echo $lang->report->value;?></th>
|
||||
<th><?php echo $lang->report->percent;?></th>
|
||||
</tr>
|
||||
<?php foreach($datas[$chartType] as $key => $data):?>
|
||||
<tr class='a-center'>
|
||||
<td><?php echo $data->name;?></td>
|
||||
<td><?php echo $data->value;?></td>
|
||||
<td><?php echo ($data->percent * 100) . '%';?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo $rendJS;?>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The report view file of bug module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<style>span {display:block}</style>
|
||||
<script language='javascript'>
|
||||
/* 全选 */
|
||||
function checkAll()
|
||||
{
|
||||
var checkOBJ = $('input');
|
||||
for(var i = 0; i < checkOBJ.length; i++)
|
||||
{
|
||||
checkOBJ.get(i).checked = true;
|
||||
}
|
||||
}
|
||||
|
||||
/* 反选 */
|
||||
function checkReverse()
|
||||
{
|
||||
var checkOBJ = $('input');
|
||||
for(var i = 0; i < checkOBJ.length; i++)
|
||||
{
|
||||
checkOBJ.get(i).checked = !checkOBJ.get(i).checked;
|
||||
}
|
||||
return;
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class='yui-d0'>
|
||||
<div id='featurebar'>
|
||||
<div class='f-left'><?php echo $lang->bug->report->common;?></div>
|
||||
<div class='f-right'><?php common::printLink('bug', 'browse', "productID=$productID&browseType=$browseType&moduleID=$moduleID", $lang->goback); ?></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='yui-d0 yui-t1'>
|
||||
<div class='yui-b'>
|
||||
<div class='box-title'><?php echo $lang->bug->report->select;?></div>
|
||||
<div class='box-content'>
|
||||
<form method='post'>
|
||||
<?php echo html::checkBox('charts', $lang->bug->report->charts, $checkedCharts);?>
|
||||
<input type='button' value='<?php echo $lang->bug->report->selectAll;?>' onclick='checkAll()' />
|
||||
<input type='button' value='<?php echo $lang->bug->report->selectReverse;?>' onclick='checkReverse()' />
|
||||
<br /><br />
|
||||
<?php echo html::submitButton($lang->bug->report->create);?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="yui-main">
|
||||
<div class="yui-b">
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->bug->report->common;?></caption>
|
||||
<?php foreach($charts as $chartType => $chartContent):?>
|
||||
<tr valign='top'>
|
||||
<td><?php echo $chartContent;?></td>
|
||||
<td width='300'>
|
||||
<table class='table-1'>
|
||||
<tr>
|
||||
<th><?php echo $lang->report->item;?></th>
|
||||
<th><?php echo $lang->report->value;?></th>
|
||||
<th><?php echo $lang->report->percent;?></th>
|
||||
</tr>
|
||||
<?php foreach($datas[$chartType] as $key => $data):?>
|
||||
<tr class='a-center'>
|
||||
<td><?php echo $data->name;?></td>
|
||||
<td><?php echo $data->value;?></td>
|
||||
<td><?php echo ($data->percent * 100) . '%';?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo $rendJS;?>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,73 +1,60 @@
|
||||
<?php
|
||||
/**
|
||||
* The resolve file of bug module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<script language='Javascript'>
|
||||
function setDuplicate(resolution)
|
||||
{
|
||||
if(resolution == 'duplicate')
|
||||
{
|
||||
$('#duplicateBugBox').show();
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#duplicateBugBox').hide();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<div class='yui-d0'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $bug->title;?></caption>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->resolution;?></td>
|
||||
<td><?php echo html::select('resolution', $lang->bug->resolutionList, '', 'class=select-3 onchange=setDuplicate(this.value)');?></td>
|
||||
</tr>
|
||||
<tr id='duplicateBugBox' style='display:none'>
|
||||
<td class='rowhead'><?php echo $lang->bug->duplicateBug;?></td>
|
||||
<td><?php echo html::input('duplicateBug', '', 'class=text-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->resolvedBuild;?></td>
|
||||
<td><?php echo html::select('resolvedBuild', $builds, '', 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->assignedTo;?></td>
|
||||
<td><?php echo html::select('assignedTo', $users, $bug->openedBy, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->comment;?></td>
|
||||
<td><?php echo html::textarea('comment', '', "rows='6' class='area-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'>
|
||||
<?php echo html::submitButton();?>
|
||||
<input type='button' value='<?php echo $lang->bug->buttonToList;?>' class='button-s'
|
||||
onclick='location.href="<?php echo $this->session->bugList;?>"' />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The resolve file of bug module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<script language='Javascript'>
|
||||
function setDuplicate(resolution)
|
||||
{
|
||||
if(resolution == 'duplicate')
|
||||
{
|
||||
$('#duplicateBugBox').show();
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#duplicateBugBox').hide();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<div class='yui-d0'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $bug->title;?></caption>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->resolution;?></td>
|
||||
<td><?php echo html::select('resolution', $lang->bug->resolutionList, '', 'class=select-3 onchange=setDuplicate(this.value)');?></td>
|
||||
</tr>
|
||||
<tr id='duplicateBugBox' style='display:none'>
|
||||
<td class='rowhead'><?php echo $lang->bug->duplicateBug;?></td>
|
||||
<td><?php echo html::input('duplicateBug', '', 'class=text-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->resolvedBuild;?></td>
|
||||
<td><?php echo html::select('resolvedBuild', $builds, '', 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->assignedTo;?></td>
|
||||
<td><?php echo html::select('assignedTo', $users, $bug->openedBy, 'class=select-3');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->comment;?></td>
|
||||
<td><?php echo html::textarea('comment', '', "rows='6' class='area-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'>
|
||||
<?php echo html::submitButton();?>
|
||||
<input type='button' value='<?php echo $lang->bug->buttonToList;?>' class='button-s'
|
||||
onclick='location.href="<?php echo $this->session->bugList;?>"' />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,34 +1,21 @@
|
||||
<?php
|
||||
/**
|
||||
* The mail file of bug module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<table width='98%' align='center'>
|
||||
<tr class='header'>
|
||||
<td>
|
||||
BUG #<?php echo $bug->id . "=>$bug->assignedTo " . html::a(common::getSysURL() . $this->createLink('bug', 'view', "bugID=$bug->id"), $bug->title);?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?php include '../../common/view/mail.html.php';?></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
/**
|
||||
* The mail file of bug module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<table width='98%' align='center'>
|
||||
<tr class='header'>
|
||||
<td>
|
||||
BUG #<?php echo $bug->id . "=>$bug->assignedTo " . html::a(common::getSysURL() . $this->createLink('bug', 'view', "bugID=$bug->id"), $bug->title);?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?php include '../../common/view/mail.html.php';?></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -1,238 +1,225 @@
|
||||
<?php
|
||||
/**
|
||||
* The view file of bug module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../file/view/download.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<div id='titlebar'>
|
||||
<div id='main' <?php if($bug->deleted) echo "class='deleted'";?>>BUG #<?php echo $bug->id . $lang->colon . $bug->title;?></div>
|
||||
<div>
|
||||
<?php
|
||||
$browseLink = $app->session->bugList != false ? $app->session->bugList : inlink('browse', "productID=$bug->product");
|
||||
$params = "bugID=$bug->id";
|
||||
$copyParams = "productID=$productID&extra=bugID=$bug->id";
|
||||
if(!$bug->deleted)
|
||||
{
|
||||
common::printLink('bug', 'edit', $params, $lang->bug->buttonEdit);
|
||||
if(!($bug->status == 'active' and common::printLink('bug', 'resolve', $params, $lang->bug->buttonResolve))) echo $lang->bug->buttonResolve . ' ';
|
||||
if(!($bug->status == 'resolved' and common::printLink('bug', 'close', $params, $lang->bug->buttonClose))) echo $lang->bug->buttonClose . ' ';
|
||||
if(!(($bug->status == 'closed' or $bug->status == 'resolved') and common::printLink('bug', 'activate', $params, $lang->bug->buttonActivate))) echo $lang->bug->buttonActivate . ' ';
|
||||
common::printLink('bug', 'create', $copyParams, $lang->bug->buttonCopy);
|
||||
common::printLink('bug', 'delete', $params, $lang->delete, 'hiddenwin');
|
||||
}
|
||||
echo html::a($browseLink, $lang->goback);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='yui-d0 yui-t8'>
|
||||
<div class='yui-main'>
|
||||
<div class='yui-b'>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendSteps;?></legend>
|
||||
<div class='content'><?php echo $bug->steps;?></div>
|
||||
</fieldset>
|
||||
<?php echo $this->fetch('file', 'printFiles', array('files' => $bug->files, 'fieldset' => 'true'));?>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
<div class='a-center' style='font-size:16px; font-weight:bold'>
|
||||
<?php
|
||||
if(!$bug->deleted)
|
||||
{
|
||||
common::printLink('bug', 'edit', $params, $lang->bug->buttonEdit);
|
||||
if(!($bug->status == 'active' and common::printLink('bug', 'resolve', $params, $lang->bug->buttonResolve))) echo $lang->bug->buttonResolve . ' ';
|
||||
if(!($bug->status == 'resolved' and common::printLink('bug', 'close', $params, $lang->bug->buttonClose))) echo $lang->bug->buttonClose . ' ';
|
||||
if(!(($bug->status == 'closed' or $bug->status == 'resolved') and common::printLink('bug', 'activate', $params, $lang->bug->buttonActivate))) echo $lang->bug->buttonActivate . ' ';
|
||||
common::printLink('bug', 'create', $copyParams, $lang->bug->buttonCopy);
|
||||
common::printLink('bug', 'delete', $params, $lang->delete, 'hiddenwin');
|
||||
}
|
||||
echo html::a($browseLink, $lang->goback);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='yui-b'>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendBasicInfo;?></legend>
|
||||
<table class='table-1 a-left'>
|
||||
<tr valign='middle'>
|
||||
<th class='rowhead'><?php echo $lang->bug->product;?></th>
|
||||
<td><?php if(!common::printLink('bug', 'browse', "productID=$bug->product", $productName)) echo $productName;?>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->module;?></th>
|
||||
<td>
|
||||
<?php
|
||||
foreach($modulePath as $key => $module)
|
||||
{
|
||||
if(!common::printLink('bug', 'browse', "productID=$bug->product&browseType=byModule¶m=$module->id", $module->name)) echo $module->name;
|
||||
if(isset($modulePath[$key + 1])) echo $lang->arrow;
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->type;?></td>
|
||||
<td><?php if(isset($lang->bug->typeList[$bug->type])) echo $lang->bug->typeList[$bug->type]; else echo $bug->type;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->severity;?></td>
|
||||
<td><strong><?php echo $lang->bug->severityList[$bug->severity];?></strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->pri;?></td>
|
||||
<td><strong><?php echo $lang->bug->priList[$bug->pri];?></strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->status;?></td>
|
||||
<td><strong><?php echo $lang->bug->statusList[$bug->status];?></strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->lblAssignedTo;?></td>
|
||||
<td><?php if($bug->assignedTo) echo $users[$bug->assignedTo] . $lang->at . $bug->assignedDate;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->os;?></td>
|
||||
<td><?php echo $lang->bug->osList[$bug->os];?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->browser;?></td>
|
||||
<td><?php echo $lang->bug->browserList[$bug->browser];?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->keywords;?></td>
|
||||
<td><?php echo $bug->keywords;?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendLife;?></legend>
|
||||
<table class='table-1 a-left fixed'>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->openedBy;?></th>
|
||||
<td> <?php echo $users[$bug->openedBy] . $lang->at . $bug->openedDate;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->openedBuild;?></th>
|
||||
<td>
|
||||
<?php
|
||||
if($bug->openedBuild)
|
||||
{
|
||||
$openedBuilds = explode(',', $bug->openedBuild);
|
||||
foreach($openedBuilds as $openedBuild) isset($builds[$openedBuild]) ? print($builds[$openedBuild] . '<br />') : print($openedBuild . '<br />');
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $bug->openedBuild;
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->lblResolved;?></th>
|
||||
<td><?php if($bug->resolvedBy) echo $users[$bug->resolvedBy] . $lang->at . $bug->resolvedDate;?>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->resolvedBuild;?></th>
|
||||
<td><?php if(isset($builds[$bug->resolvedBuild])) echo $builds[$bug->resolvedBuild]; else echo $bug->resolvedBuild;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->resolution;?></th>
|
||||
<td>
|
||||
<?php
|
||||
echo $lang->bug->resolutionList[$bug->resolution];
|
||||
if(isset($bug->duplicateBugTitle)) echo " #$bug->duplicateBug:" . html::a($this->createLink('bug', 'view', "bugID=$bug->duplicateBug"), $bug->duplicateBugTitle);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->closedBy;?></th>
|
||||
<td><?php if($bug->closedBy) echo $users[$bug->closedBy] . $lang->at . $bug->closedDate;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->lblLastEdited;?></th>
|
||||
<td><?php if($bug->lastEditedBy) echo $users[$bug->lastEditedBy] . $lang->at . $bug->lastEditedDate?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendPrjStoryTask;?></legend>
|
||||
<table class='table-1 a-left fixed'>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->project;?></td>
|
||||
<td><?php if($bug->project) echo html::a($this->createLink('project', 'browse', "projectid=$bug->project"), $bug->projectName);?></td>
|
||||
</tr>
|
||||
<tr class='nofixed'>
|
||||
<td class='rowhead'><?php echo $lang->bug->story;?></td>
|
||||
<td>
|
||||
<?php
|
||||
if($bug->story) echo html::a($this->createLink('story', 'view', "storyID=$bug->story"), $bug->storyTitle);
|
||||
if($bug->storyStatus == 'active' and $bug->latestStoryVersion > $bug->storyVersion)
|
||||
{
|
||||
echo "(<span class='warning'>{$lang->story->changed}</span> ";
|
||||
echo html::a($this->createLink('bug', 'confirmStoryChange', "bugID=$bug->id"), $lang->confirm, 'hiddenwin');
|
||||
echo ")";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->task;?></td>
|
||||
<td><?php if($bug->task) echo html::a($this->createLink('task', 'view', "taskID=$bug->task"), $bug->taskName);?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendMisc;?></legend>
|
||||
<table class='table-1 a-left fixed'>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->mailto;?></td>
|
||||
<td><?php $mailto = explode(',', str_replace(' ', '', $bug->mailto)); foreach($mailto as $account) echo ' ' . $users[$account]; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->linkBug;?></td>
|
||||
<td>
|
||||
<?php
|
||||
if(isset($bug->linkBugTitles))
|
||||
{
|
||||
foreach($bug->linkBugTitles as $linkBugID => $linkBugTitle)
|
||||
{
|
||||
echo html::a($this->createLink('bug', 'view', "bugID=$linkBugID"), "#$linkBugID $linkBugTitle", '_blank') . '<br />';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->case;?></td>
|
||||
<td><?php if(isset($bug->caseTitle)) echo html::a($this->createLink('testcase', 'view', "caseID=$bug->case"), "#$bug->case $bug->caseTitle", '_blank');?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The view file of bug module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package bug
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../file/view/download.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<div id='titlebar'>
|
||||
<div id='main' <?php if($bug->deleted) echo "class='deleted'";?>>BUG #<?php echo $bug->id . $lang->colon . $bug->title;?></div>
|
||||
<div>
|
||||
<?php
|
||||
$browseLink = $app->session->bugList != false ? $app->session->bugList : inlink('browse', "productID=$bug->product");
|
||||
$params = "bugID=$bug->id";
|
||||
$copyParams = "productID=$productID&extra=bugID=$bug->id";
|
||||
if(!$bug->deleted)
|
||||
{
|
||||
common::printLink('bug', 'edit', $params, $lang->bug->buttonEdit);
|
||||
if(!($bug->status == 'active' and common::printLink('bug', 'resolve', $params, $lang->bug->buttonResolve))) echo $lang->bug->buttonResolve . ' ';
|
||||
if(!($bug->status == 'resolved' and common::printLink('bug', 'close', $params, $lang->bug->buttonClose))) echo $lang->bug->buttonClose . ' ';
|
||||
if(!(($bug->status == 'closed' or $bug->status == 'resolved') and common::printLink('bug', 'activate', $params, $lang->bug->buttonActivate))) echo $lang->bug->buttonActivate . ' ';
|
||||
common::printLink('bug', 'create', $copyParams, $lang->bug->buttonCopy);
|
||||
common::printLink('bug', 'delete', $params, $lang->delete, 'hiddenwin');
|
||||
}
|
||||
echo html::a($browseLink, $lang->goback);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='yui-d0 yui-t8'>
|
||||
<div class='yui-main'>
|
||||
<div class='yui-b'>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendSteps;?></legend>
|
||||
<div class='content'><?php echo $bug->steps;?></div>
|
||||
</fieldset>
|
||||
<?php echo $this->fetch('file', 'printFiles', array('files' => $bug->files, 'fieldset' => 'true'));?>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
<div class='a-center' style='font-size:16px; font-weight:bold'>
|
||||
<?php
|
||||
if(!$bug->deleted)
|
||||
{
|
||||
common::printLink('bug', 'edit', $params, $lang->bug->buttonEdit);
|
||||
if(!($bug->status == 'active' and common::printLink('bug', 'resolve', $params, $lang->bug->buttonResolve))) echo $lang->bug->buttonResolve . ' ';
|
||||
if(!($bug->status == 'resolved' and common::printLink('bug', 'close', $params, $lang->bug->buttonClose))) echo $lang->bug->buttonClose . ' ';
|
||||
if(!(($bug->status == 'closed' or $bug->status == 'resolved') and common::printLink('bug', 'activate', $params, $lang->bug->buttonActivate))) echo $lang->bug->buttonActivate . ' ';
|
||||
common::printLink('bug', 'create', $copyParams, $lang->bug->buttonCopy);
|
||||
common::printLink('bug', 'delete', $params, $lang->delete, 'hiddenwin');
|
||||
}
|
||||
echo html::a($browseLink, $lang->goback);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='yui-b'>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendBasicInfo;?></legend>
|
||||
<table class='table-1 a-left'>
|
||||
<tr valign='middle'>
|
||||
<th class='rowhead'><?php echo $lang->bug->product;?></th>
|
||||
<td><?php if(!common::printLink('bug', 'browse', "productID=$bug->product", $productName)) echo $productName;?>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->module;?></th>
|
||||
<td>
|
||||
<?php
|
||||
foreach($modulePath as $key => $module)
|
||||
{
|
||||
if(!common::printLink('bug', 'browse', "productID=$bug->product&browseType=byModule¶m=$module->id", $module->name)) echo $module->name;
|
||||
if(isset($modulePath[$key + 1])) echo $lang->arrow;
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->type;?></td>
|
||||
<td><?php if(isset($lang->bug->typeList[$bug->type])) echo $lang->bug->typeList[$bug->type]; else echo $bug->type;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->severity;?></td>
|
||||
<td><strong><?php echo $lang->bug->severityList[$bug->severity];?></strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->pri;?></td>
|
||||
<td><strong><?php echo $lang->bug->priList[$bug->pri];?></strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->status;?></td>
|
||||
<td><strong><?php echo $lang->bug->statusList[$bug->status];?></strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->lblAssignedTo;?></td>
|
||||
<td><?php if($bug->assignedTo) echo $users[$bug->assignedTo] . $lang->at . $bug->assignedDate;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->os;?></td>
|
||||
<td><?php echo $lang->bug->osList[$bug->os];?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->browser;?></td>
|
||||
<td><?php echo $lang->bug->browserList[$bug->browser];?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->keywords;?></td>
|
||||
<td><?php echo $bug->keywords;?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendLife;?></legend>
|
||||
<table class='table-1 a-left fixed'>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->openedBy;?></th>
|
||||
<td> <?php echo $users[$bug->openedBy] . $lang->at . $bug->openedDate;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->openedBuild;?></th>
|
||||
<td>
|
||||
<?php
|
||||
if($bug->openedBuild)
|
||||
{
|
||||
$openedBuilds = explode(',', $bug->openedBuild);
|
||||
foreach($openedBuilds as $openedBuild) isset($builds[$openedBuild]) ? print($builds[$openedBuild] . '<br />') : print($openedBuild . '<br />');
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $bug->openedBuild;
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->lblResolved;?></th>
|
||||
<td><?php if($bug->resolvedBy) echo $users[$bug->resolvedBy] . $lang->at . $bug->resolvedDate;?>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->resolvedBuild;?></th>
|
||||
<td><?php if(isset($builds[$bug->resolvedBuild])) echo $builds[$bug->resolvedBuild]; else echo $bug->resolvedBuild;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->resolution;?></th>
|
||||
<td>
|
||||
<?php
|
||||
echo $lang->bug->resolutionList[$bug->resolution];
|
||||
if(isset($bug->duplicateBugTitle)) echo " #$bug->duplicateBug:" . html::a($this->createLink('bug', 'view', "bugID=$bug->duplicateBug"), $bug->duplicateBugTitle);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->closedBy;?></th>
|
||||
<td><?php if($bug->closedBy) echo $users[$bug->closedBy] . $lang->at . $bug->closedDate;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->bug->lblLastEdited;?></th>
|
||||
<td><?php if($bug->lastEditedBy) echo $users[$bug->lastEditedBy] . $lang->at . $bug->lastEditedDate?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendPrjStoryTask;?></legend>
|
||||
<table class='table-1 a-left fixed'>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->project;?></td>
|
||||
<td><?php if($bug->project) echo html::a($this->createLink('project', 'browse', "projectid=$bug->project"), $bug->projectName);?></td>
|
||||
</tr>
|
||||
<tr class='nofixed'>
|
||||
<td class='rowhead'><?php echo $lang->bug->story;?></td>
|
||||
<td>
|
||||
<?php
|
||||
if($bug->story) echo html::a($this->createLink('story', 'view', "storyID=$bug->story"), $bug->storyTitle);
|
||||
if($bug->storyStatus == 'active' and $bug->latestStoryVersion > $bug->storyVersion)
|
||||
{
|
||||
echo "(<span class='warning'>{$lang->story->changed}</span> ";
|
||||
echo html::a($this->createLink('bug', 'confirmStoryChange', "bugID=$bug->id"), $lang->confirm, 'hiddenwin');
|
||||
echo ")";
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->task;?></td>
|
||||
<td><?php if($bug->task) echo html::a($this->createLink('task', 'view', "taskID=$bug->task"), $bug->taskName);?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><?php echo $lang->bug->legendMisc;?></legend>
|
||||
<table class='table-1 a-left fixed'>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->mailto;?></td>
|
||||
<td><?php $mailto = explode(',', str_replace(' ', '', $bug->mailto)); foreach($mailto as $account) echo ' ' . $users[$account]; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->linkBug;?></td>
|
||||
<td>
|
||||
<?php
|
||||
if(isset($bug->linkBugTitles))
|
||||
{
|
||||
foreach($bug->linkBugTitles as $linkBugID => $linkBugTitle)
|
||||
{
|
||||
echo html::a($this->createLink('bug', 'view', "bugID=$linkBugID"), "#$linkBugID $linkBugTitle", '_blank') . '<br />';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='rowhead'><?php echo $lang->bug->case;?></td>
|
||||
<td><?php if(isset($bug->caseTitle)) echo html::a($this->createLink('testcase', 'view', "caseID=$bug->case"), "#$bug->case $bug->caseTitle", '_blank');?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,122 +1,109 @@
|
||||
<?php
|
||||
/**
|
||||
* The control file of build module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class build extends control
|
||||
{
|
||||
/* 添加build。*/
|
||||
public function create($projectID)
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$buildID = $this->build->create($projectID);
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
$this->loadModel('action')->create('build', $buildID, 'opened');
|
||||
die(js::locate($this->createLink('project', 'build', "project=$projectID"), 'parent'));
|
||||
}
|
||||
|
||||
/* 设置菜单。*/
|
||||
$this->loadModel('project')->setMenu($this->project->getPairs(), $projectID);
|
||||
|
||||
/* 赋值。*/
|
||||
$this->view->header->title = $this->lang->build->create;
|
||||
$this->view->products = $this->project->getProducts($projectID);
|
||||
$this->view->users = $this->loadModel('user')->getPairs();
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 编辑build。*/
|
||||
public function edit($buildID)
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$changes = $this->build->update($buildID);
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
if($changes)
|
||||
{
|
||||
$actionID = $this->loadModel('action')->create('build', $buildID, 'edited');
|
||||
$this->action->logHistory($actionID, $changes);
|
||||
}
|
||||
die(js::locate(inlink('view', "buildID=$buildID"), 'parent'));
|
||||
}
|
||||
|
||||
/* 设置菜单。*/
|
||||
$build = $this->build->getById((int)$buildID);
|
||||
$this->loadModel('project')->setMenu($this->project->getPairs(), $build->project);
|
||||
|
||||
/* 赋值。*/
|
||||
$this->view->header->title = $this->lang->build->edit;
|
||||
$this->view->position[] = $this->lang->build->edit;
|
||||
$this->view->products = $this->project->getProducts($build->project);
|
||||
$this->view->users = $this->loadModel('user')->getPairs();
|
||||
$this->view->build = $build;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 查看build。*/
|
||||
public function view($buildID)
|
||||
{
|
||||
/* 设置菜单。*/
|
||||
$build = $this->build->getById((int)$buildID);
|
||||
if(!$build) die(js::error($this->lang->notFound) . js::locate('back'));
|
||||
|
||||
$this->loadModel('project')->setMenu($this->project->getPairs(), $build->project);
|
||||
|
||||
/* 赋值。*/
|
||||
$this->view->header->title = $this->lang->build->view;
|
||||
$this->view->position[] = $this->lang->build->view;
|
||||
$this->view->products = $this->project->getProducts($build->project);
|
||||
$this->view->users = $this->loadModel('user')->getPairs();
|
||||
$this->view->build = $build;
|
||||
$this->view->actions = $this->loadModel('action')->getList('build', $buildID);
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 删除build。*/
|
||||
public function delete($buildID, $confirm = 'no')
|
||||
{
|
||||
if($confirm == 'no')
|
||||
{
|
||||
die(js::confirm($this->lang->build->confirmDelete, $this->createLink('build', 'delete', "buildID=$buildID&confirm=yes")));
|
||||
}
|
||||
else
|
||||
{
|
||||
$build = $this->build->getById($buildID);
|
||||
$this->build->delete(TABLE_BUILD, $buildID);
|
||||
die(js::locate($this->createLink('project', 'build', "projectID=$build->project"), 'parent'));
|
||||
}
|
||||
}
|
||||
|
||||
/* AJAX接口:获得产品的build列表。*/
|
||||
public function ajaxGetProductBuilds($productID, $varName, $build = '')
|
||||
{
|
||||
if($varName == 'openedBuild') die(html::select($varName . '[]', $this->build->getProductBuildPairs($productID, 'noempty'), $build, 'size=4 class=select-3 multiple'));
|
||||
if($varName == 'resolvedBuild') die(html::select($varName, $this->build->getProductBuildPairs($productID, 'noempty'), $build, 'class=select-3'));
|
||||
}
|
||||
|
||||
/* AJAX接口:获得项目的build列表。*/
|
||||
public function ajaxGetProjectBuilds($projectID, $productID, $varName, $build = '')
|
||||
{
|
||||
if($varName == 'openedBuild') die(html::select($varName . '[]', $this->build->getProjectBuildPairs($projectID, $productID, 'noempty'), $build, 'size=4 class=select-3 multiple'));
|
||||
if($varName == 'resolvedBuild') die(html::select($varName, $this->build->getProjectBuildPairs($projectID, $productID, 'noempty'), $build, 'class=select-3'));
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The control file of build module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class build extends control
|
||||
{
|
||||
/* 添加build。*/
|
||||
public function create($projectID)
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$buildID = $this->build->create($projectID);
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
$this->loadModel('action')->create('build', $buildID, 'opened');
|
||||
die(js::locate($this->createLink('project', 'build', "project=$projectID"), 'parent'));
|
||||
}
|
||||
|
||||
/* 设置菜单。*/
|
||||
$this->loadModel('project')->setMenu($this->project->getPairs(), $projectID);
|
||||
|
||||
/* 赋值。*/
|
||||
$this->view->header->title = $this->lang->build->create;
|
||||
$this->view->products = $this->project->getProducts($projectID);
|
||||
$this->view->users = $this->loadModel('user')->getPairs();
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 编辑build。*/
|
||||
public function edit($buildID)
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$changes = $this->build->update($buildID);
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
if($changes)
|
||||
{
|
||||
$actionID = $this->loadModel('action')->create('build', $buildID, 'edited');
|
||||
$this->action->logHistory($actionID, $changes);
|
||||
}
|
||||
die(js::locate(inlink('view', "buildID=$buildID"), 'parent'));
|
||||
}
|
||||
|
||||
/* 设置菜单。*/
|
||||
$build = $this->build->getById((int)$buildID);
|
||||
$this->loadModel('project')->setMenu($this->project->getPairs(), $build->project);
|
||||
|
||||
/* 赋值。*/
|
||||
$this->view->header->title = $this->lang->build->edit;
|
||||
$this->view->position[] = $this->lang->build->edit;
|
||||
$this->view->products = $this->project->getProducts($build->project);
|
||||
$this->view->users = $this->loadModel('user')->getPairs();
|
||||
$this->view->build = $build;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 查看build。*/
|
||||
public function view($buildID)
|
||||
{
|
||||
/* 设置菜单。*/
|
||||
$build = $this->build->getById((int)$buildID);
|
||||
if(!$build) die(js::error($this->lang->notFound) . js::locate('back'));
|
||||
|
||||
$this->loadModel('project')->setMenu($this->project->getPairs(), $build->project);
|
||||
|
||||
/* 赋值。*/
|
||||
$this->view->header->title = $this->lang->build->view;
|
||||
$this->view->position[] = $this->lang->build->view;
|
||||
$this->view->products = $this->project->getProducts($build->project);
|
||||
$this->view->users = $this->loadModel('user')->getPairs();
|
||||
$this->view->build = $build;
|
||||
$this->view->actions = $this->loadModel('action')->getList('build', $buildID);
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 删除build。*/
|
||||
public function delete($buildID, $confirm = 'no')
|
||||
{
|
||||
if($confirm == 'no')
|
||||
{
|
||||
die(js::confirm($this->lang->build->confirmDelete, $this->createLink('build', 'delete', "buildID=$buildID&confirm=yes")));
|
||||
}
|
||||
else
|
||||
{
|
||||
$build = $this->build->getById($buildID);
|
||||
$this->build->delete(TABLE_BUILD, $buildID);
|
||||
die(js::locate($this->createLink('project', 'build', "projectID=$build->project"), 'parent'));
|
||||
}
|
||||
}
|
||||
|
||||
/* AJAX接口:获得产品的build列表。*/
|
||||
public function ajaxGetProductBuilds($productID, $varName, $build = '')
|
||||
{
|
||||
if($varName == 'openedBuild') die(html::select($varName . '[]', $this->build->getProductBuildPairs($productID, 'noempty'), $build, 'size=4 class=select-3 multiple'));
|
||||
if($varName == 'resolvedBuild') die(html::select($varName, $this->build->getProductBuildPairs($productID, 'noempty'), $build, 'class=select-3'));
|
||||
}
|
||||
|
||||
/* AJAX接口:获得项目的build列表。*/
|
||||
public function ajaxGetProjectBuilds($projectID, $productID, $varName, $build = '')
|
||||
{
|
||||
if($varName == 'openedBuild') die(html::select($varName . '[]', $this->build->getProjectBuildPairs($projectID, $productID, 'noempty'), $build, 'size=4 class=select-3 multiple'));
|
||||
if($varName == 'resolvedBuild') die(html::select($varName, $this->build->getProjectBuildPairs($projectID, $productID, 'noempty'), $build, 'class=select-3'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,42 +1,29 @@
|
||||
<?php
|
||||
/**
|
||||
* The build module English file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->build->common = 'Build';
|
||||
$lang->build->create = "Create";
|
||||
$lang->build->edit = "Edit";
|
||||
$lang->build->delete = "Delete";
|
||||
$lang->build->view = "Info";
|
||||
$lang->build->ajaxGetProductBuilds = 'API:Product builds';
|
||||
$lang->build->ajaxGetProjectBuilds = 'API:Project builds';
|
||||
|
||||
$lang->build->confirmDelete = "Are sure to delete this build?";
|
||||
|
||||
$lang->build->id = 'ID';
|
||||
$lang->build->product = 'Product';
|
||||
$lang->build->project = 'Project';
|
||||
$lang->build->name = 'Name';
|
||||
$lang->build->date = 'Build date';
|
||||
$lang->build->builder = 'Builder';
|
||||
$lang->build->scmPath = 'Source code path';
|
||||
$lang->build->filePath = 'Package file path';
|
||||
$lang->build->desc = 'Desc';
|
||||
<?php
|
||||
/**
|
||||
* The build module English file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->build->common = 'Build';
|
||||
$lang->build->create = "Create";
|
||||
$lang->build->edit = "Edit";
|
||||
$lang->build->delete = "Delete";
|
||||
$lang->build->view = "Info";
|
||||
$lang->build->ajaxGetProductBuilds = 'API:Product builds';
|
||||
$lang->build->ajaxGetProjectBuilds = 'API:Project builds';
|
||||
|
||||
$lang->build->confirmDelete = "Are sure to delete this build?";
|
||||
|
||||
$lang->build->id = 'ID';
|
||||
$lang->build->product = 'Product';
|
||||
$lang->build->project = 'Project';
|
||||
$lang->build->name = 'Name';
|
||||
$lang->build->date = 'Build date';
|
||||
$lang->build->builder = 'Builder';
|
||||
$lang->build->scmPath = 'Source code path';
|
||||
$lang->build->filePath = 'Package file path';
|
||||
$lang->build->desc = 'Desc';
|
||||
|
||||
@@ -1,42 +1,29 @@
|
||||
<?php
|
||||
/**
|
||||
* The build module Japanese file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->build->common = 'ビルド';
|
||||
$lang->build->create = "作成";
|
||||
$lang->build->edit = "[編集]";
|
||||
$lang->build->delete = "削除";
|
||||
$lang->build->view = "情報";
|
||||
$lang->build->ajaxGetProductBuilds = 'APIは:製品のビルド';
|
||||
$lang->build->ajaxGetProjectBuilds = 'APIは:プロジェクトのビルド';
|
||||
|
||||
$lang->build->confirmDelete = "よろしいですか、このビルドを削除するには?";
|
||||
|
||||
$lang->build->id = 'IDは';
|
||||
$lang->build->product = '製品';
|
||||
$lang->build->project = 'プロジェクト';
|
||||
$lang->build->name = '名';
|
||||
$lang->build->date = 'ビルド日';
|
||||
$lang->build->builder = 'ビルダー';
|
||||
$lang->build->scmPath = 'ソースコードのパス';
|
||||
$lang->build->filePath = 'パッケージファイルのパス';
|
||||
$lang->build->desc = '降順';
|
||||
<?php
|
||||
/**
|
||||
* The build module Japanese file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->build->common = 'ビルド';
|
||||
$lang->build->create = "作成";
|
||||
$lang->build->edit = "[編集]";
|
||||
$lang->build->delete = "削除";
|
||||
$lang->build->view = "情報";
|
||||
$lang->build->ajaxGetProductBuilds = 'APIは:製品のビルド';
|
||||
$lang->build->ajaxGetProjectBuilds = 'APIは:プロジェクトのビルド';
|
||||
|
||||
$lang->build->confirmDelete = "よろしいですか、このビルドを削除するには?";
|
||||
|
||||
$lang->build->id = 'IDは';
|
||||
$lang->build->product = '製品';
|
||||
$lang->build->project = 'プロジェクト';
|
||||
$lang->build->name = '名';
|
||||
$lang->build->date = 'ビルド日';
|
||||
$lang->build->builder = 'ビルダー';
|
||||
$lang->build->scmPath = 'ソースコードのパス';
|
||||
$lang->build->filePath = 'パッケージファイルのパス';
|
||||
$lang->build->desc = '降順';
|
||||
|
||||
@@ -1,42 +1,29 @@
|
||||
<?php
|
||||
/**
|
||||
* The build module Korean file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->build->common = '빌드';
|
||||
$lang->build->create = "만들기";
|
||||
$lang->build->edit = "편집";
|
||||
$lang->build->delete = "삭제";
|
||||
$lang->build->view = "정보";
|
||||
$lang->build->ajaxGetProductBuilds = 'API는 : 제품 빌드';
|
||||
$lang->build->ajaxGetProjectBuilds = 'API가 : 프로젝트 빌드';
|
||||
|
||||
$lang->build->confirmDelete = "확실이 빌드 삭제?";
|
||||
|
||||
$lang->build->id = '신분증';
|
||||
$lang->build->product = '제품';
|
||||
$lang->build->project = '프로젝트';
|
||||
$lang->build->name = '이름';
|
||||
$lang->build->date = '작성 날짜';
|
||||
$lang->build->builder = '건축업자';
|
||||
$lang->build->scmPath = '소스 코드 경로';
|
||||
$lang->build->filePath = '패키지 파일 경로';
|
||||
$lang->build->desc = '내림차순';
|
||||
<?php
|
||||
/**
|
||||
* The build module Korean file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->build->common = '빌드';
|
||||
$lang->build->create = "만들기";
|
||||
$lang->build->edit = "편집";
|
||||
$lang->build->delete = "삭제";
|
||||
$lang->build->view = "정보";
|
||||
$lang->build->ajaxGetProductBuilds = 'API는 : 제품 빌드';
|
||||
$lang->build->ajaxGetProjectBuilds = 'API가 : 프로젝트 빌드';
|
||||
|
||||
$lang->build->confirmDelete = "확실이 빌드 삭제?";
|
||||
|
||||
$lang->build->id = '신분증';
|
||||
$lang->build->product = '제품';
|
||||
$lang->build->project = '프로젝트';
|
||||
$lang->build->name = '이름';
|
||||
$lang->build->date = '작성 날짜';
|
||||
$lang->build->builder = '건축업자';
|
||||
$lang->build->scmPath = '소스 코드 경로';
|
||||
$lang->build->filePath = '패키지 파일 경로';
|
||||
$lang->build->desc = '내림차순';
|
||||
|
||||
@@ -1,42 +1,29 @@
|
||||
<?php
|
||||
/**
|
||||
* The build module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->build->common = 'Build';
|
||||
$lang->build->create = "创建Build";
|
||||
$lang->build->edit = "编辑Build";
|
||||
$lang->build->delete = "删除Build";
|
||||
$lang->build->view = "Build详情";
|
||||
$lang->build->ajaxGetProductBuilds = '接口:产品Build列表';
|
||||
$lang->build->ajaxGetProjectBuilds = '接口:项目Build列表';
|
||||
|
||||
$lang->build->confirmDelete = "您确认删除该build吗?";
|
||||
|
||||
$lang->build->id = 'ID';
|
||||
$lang->build->product = '产品';
|
||||
$lang->build->project = '项目';
|
||||
$lang->build->name = '名称编号';
|
||||
$lang->build->date = 'Build日期';
|
||||
$lang->build->builder = '构建者';
|
||||
$lang->build->scmPath = '源代码地址';
|
||||
$lang->build->filePath = '存储地址';
|
||||
$lang->build->desc = '描述';
|
||||
<?php
|
||||
/**
|
||||
* The build module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->build->common = 'Build';
|
||||
$lang->build->create = "创建Build";
|
||||
$lang->build->edit = "编辑Build";
|
||||
$lang->build->delete = "删除Build";
|
||||
$lang->build->view = "Build详情";
|
||||
$lang->build->ajaxGetProductBuilds = '接口:产品Build列表';
|
||||
$lang->build->ajaxGetProjectBuilds = '接口:项目Build列表';
|
||||
|
||||
$lang->build->confirmDelete = "您确认删除该build吗?";
|
||||
|
||||
$lang->build->id = 'ID';
|
||||
$lang->build->product = '产品';
|
||||
$lang->build->project = '项目';
|
||||
$lang->build->name = '名称编号';
|
||||
$lang->build->date = 'Build日期';
|
||||
$lang->build->builder = '构建者';
|
||||
$lang->build->scmPath = '源代码地址';
|
||||
$lang->build->filePath = '存储地址';
|
||||
$lang->build->desc = '描述';
|
||||
|
||||
@@ -1,42 +1,29 @@
|
||||
<?php
|
||||
/**
|
||||
* The build module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id: zh-tw.php 1068 2010-09-11 07:11:57Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->build->common = 'Build';
|
||||
$lang->build->create = "創建Build";
|
||||
$lang->build->edit = "編輯Build";
|
||||
$lang->build->delete = "刪除Build";
|
||||
$lang->build->view = "Build詳情";
|
||||
$lang->build->ajaxGetProductBuilds = '介面:產品Build列表';
|
||||
$lang->build->ajaxGetProjectBuilds = '介面:項目Build列表';
|
||||
|
||||
$lang->build->confirmDelete = "您確認刪除該build嗎?";
|
||||
|
||||
$lang->build->id = 'ID';
|
||||
$lang->build->product = '產品';
|
||||
$lang->build->project = '項目';
|
||||
$lang->build->name = '名稱編號';
|
||||
$lang->build->date = 'Build日期';
|
||||
$lang->build->builder = '構建者';
|
||||
$lang->build->scmPath = '原始碼地址';
|
||||
$lang->build->filePath = '存儲地址';
|
||||
$lang->build->desc = '描述';
|
||||
<?php
|
||||
/**
|
||||
* The build module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id: zh-tw.php 1068 2010-09-11 07:11:57Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->build->common = 'Build';
|
||||
$lang->build->create = "創建Build";
|
||||
$lang->build->edit = "編輯Build";
|
||||
$lang->build->delete = "刪除Build";
|
||||
$lang->build->view = "Build詳情";
|
||||
$lang->build->ajaxGetProductBuilds = '介面:產品Build列表';
|
||||
$lang->build->ajaxGetProjectBuilds = '介面:項目Build列表';
|
||||
|
||||
$lang->build->confirmDelete = "您確認刪除該build嗎?";
|
||||
|
||||
$lang->build->id = 'ID';
|
||||
$lang->build->product = '產品';
|
||||
$lang->build->project = '項目';
|
||||
$lang->build->name = '名稱編號';
|
||||
$lang->build->date = 'Build日期';
|
||||
$lang->build->builder = '構建者';
|
||||
$lang->build->scmPath = '原始碼地址';
|
||||
$lang->build->filePath = '存儲地址';
|
||||
$lang->build->desc = '描述';
|
||||
|
||||
@@ -1,117 +1,104 @@
|
||||
<?php
|
||||
/**
|
||||
* The model file of build module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
class buildModel extends model
|
||||
{
|
||||
/* 获取build详细信息。*/
|
||||
public function getByID($buildID)
|
||||
{
|
||||
return $this->dao->select('t1.*, t2.name as projectName, t3.name as productName')
|
||||
->from(TABLE_BUILD)->alias('t1')
|
||||
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id')
|
||||
->leftJoin(TABLE_PRODUCT)->alias('t3')->on('t1.product = t3.id')
|
||||
->where('t1.id')->eq((int)$buildID)
|
||||
->orderBy('t1.id DESC')
|
||||
->fetch();
|
||||
}
|
||||
|
||||
/* 查找项目中的build列表。*/
|
||||
public function getProjectBuilds($projectID)
|
||||
{
|
||||
return $this->dao->select('t1.*, t2.name as projectName, t3.name as productName')
|
||||
->from(TABLE_BUILD)->alias('t1')
|
||||
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id')
|
||||
->leftJoin(TABLE_PRODUCT)->alias('t3')->on('t1.product = t3.id')
|
||||
->where('t1.project')->eq((int)$projectID)
|
||||
->andWhere('t1.deleted')->eq(0)
|
||||
->orderBy('t1.id DESC')
|
||||
->fetchAll();
|
||||
}
|
||||
|
||||
/* 查找项目中的build列表。params='noempty|notrunk' */
|
||||
public function getProjectBuildPairs($projectID, $productID, $params = '')
|
||||
{
|
||||
$sysBuilds = array();
|
||||
if(strpos($params, 'noempty') === false) $sysBuilds = array('' => '');
|
||||
if(strpos($params, 'notrunk') === false) $sysBuilds = $sysBuilds + array('trunk' => 'Trunk');
|
||||
|
||||
$builds = $this->dao->select('id,name')->from(TABLE_BUILD)
|
||||
->where('project')->eq((int)$projectID)
|
||||
->beginIF($productID)->andWhere('product')->eq((int)$productID)->fi()
|
||||
->andWhere('deleted')->eq(0)
|
||||
->orderBy('id desc')->fetchPairs();
|
||||
if(!$builds) return $sysBuilds;
|
||||
$releases = $this->dao->select('build,name')->from(TABLE_RELEASE)
|
||||
->where('build')->in(array_keys($builds))
|
||||
->andWhere('deleted')->eq(0)
|
||||
->fetchPairs();
|
||||
foreach($releases as $buildID => $releaseName) $builds[$buildID] = $releaseName;
|
||||
return $sysBuilds + $builds;
|
||||
}
|
||||
|
||||
/* 查找产品中的build列表。params='noempty|notrunk' */
|
||||
public function getProductBuildPairs($productID, $params = '')
|
||||
{
|
||||
$sysBuilds = array();
|
||||
if(strpos($params, 'noempty') === false) $sysBuilds = array('' => '');
|
||||
if(strpos($params, 'notrunk') === false) $sysBuilds = $sysBuilds + array('trunk' => 'Trunk');
|
||||
|
||||
$builds = $this->dao->select('id,name')->from(TABLE_BUILD)
|
||||
->where('product')->eq((int)$productID)
|
||||
->andWhere('deleted')->eq(0)
|
||||
->orderBy('id desc')->fetchPairs();
|
||||
if(!$builds) return $sysBuilds;
|
||||
$releases = $this->dao->select('build,name')->from(TABLE_RELEASE)
|
||||
->where('build')->in(array_keys($builds))
|
||||
->andWhere('deleted')->eq(0)
|
||||
->fetchPairs();
|
||||
foreach($releases as $buildID => $releaseName) $builds[$buildID] = $releaseName;
|
||||
return $sysBuilds + $builds;
|
||||
}
|
||||
|
||||
/* 创建。*/
|
||||
public function create($projectID)
|
||||
{
|
||||
$build = fixer::input('post')
|
||||
->stripTags('name')
|
||||
->specialChars('desc')
|
||||
->add('project', (int)$projectID)
|
||||
->get();
|
||||
$this->dao->insert(TABLE_BUILD)->data($build)->autoCheck()->batchCheck($this->config->build->create->requiredFields, 'notempty')->check('name','unique')->exec();
|
||||
if(!dao::isError()) return $this->dao->lastInsertID();
|
||||
}
|
||||
|
||||
/* 编辑。*/
|
||||
public function update($buildID)
|
||||
{
|
||||
$oldBuild = $this->getByID($buildID);
|
||||
$build = fixer::input('post')
|
||||
->stripTags('name')
|
||||
->specialChars('desc')
|
||||
->get();
|
||||
$this->dao->update(TABLE_BUILD)->data($build)->autoCheck()->batchCheck($this->config->build->edit->requiredFields, 'notempty')->where('id')->eq((int)$buildID)->exec();
|
||||
if(!dao::isError()) return common::createChanges($oldBuild, $build);
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The model file of build module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
class buildModel extends model
|
||||
{
|
||||
/* 获取build详细信息。*/
|
||||
public function getByID($buildID)
|
||||
{
|
||||
return $this->dao->select('t1.*, t2.name as projectName, t3.name as productName')
|
||||
->from(TABLE_BUILD)->alias('t1')
|
||||
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id')
|
||||
->leftJoin(TABLE_PRODUCT)->alias('t3')->on('t1.product = t3.id')
|
||||
->where('t1.id')->eq((int)$buildID)
|
||||
->orderBy('t1.id DESC')
|
||||
->fetch();
|
||||
}
|
||||
|
||||
/* 查找项目中的build列表。*/
|
||||
public function getProjectBuilds($projectID)
|
||||
{
|
||||
return $this->dao->select('t1.*, t2.name as projectName, t3.name as productName')
|
||||
->from(TABLE_BUILD)->alias('t1')
|
||||
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id')
|
||||
->leftJoin(TABLE_PRODUCT)->alias('t3')->on('t1.product = t3.id')
|
||||
->where('t1.project')->eq((int)$projectID)
|
||||
->andWhere('t1.deleted')->eq(0)
|
||||
->orderBy('t1.id DESC')
|
||||
->fetchAll();
|
||||
}
|
||||
|
||||
/* 查找项目中的build列表。params='noempty|notrunk' */
|
||||
public function getProjectBuildPairs($projectID, $productID, $params = '')
|
||||
{
|
||||
$sysBuilds = array();
|
||||
if(strpos($params, 'noempty') === false) $sysBuilds = array('' => '');
|
||||
if(strpos($params, 'notrunk') === false) $sysBuilds = $sysBuilds + array('trunk' => 'Trunk');
|
||||
|
||||
$builds = $this->dao->select('id,name')->from(TABLE_BUILD)
|
||||
->where('project')->eq((int)$projectID)
|
||||
->beginIF($productID)->andWhere('product')->eq((int)$productID)->fi()
|
||||
->andWhere('deleted')->eq(0)
|
||||
->orderBy('id desc')->fetchPairs();
|
||||
if(!$builds) return $sysBuilds;
|
||||
$releases = $this->dao->select('build,name')->from(TABLE_RELEASE)
|
||||
->where('build')->in(array_keys($builds))
|
||||
->andWhere('deleted')->eq(0)
|
||||
->fetchPairs();
|
||||
foreach($releases as $buildID => $releaseName) $builds[$buildID] = $releaseName;
|
||||
return $sysBuilds + $builds;
|
||||
}
|
||||
|
||||
/* 查找产品中的build列表。params='noempty|notrunk' */
|
||||
public function getProductBuildPairs($productID, $params = '')
|
||||
{
|
||||
$sysBuilds = array();
|
||||
if(strpos($params, 'noempty') === false) $sysBuilds = array('' => '');
|
||||
if(strpos($params, 'notrunk') === false) $sysBuilds = $sysBuilds + array('trunk' => 'Trunk');
|
||||
|
||||
$builds = $this->dao->select('id,name')->from(TABLE_BUILD)
|
||||
->where('product')->eq((int)$productID)
|
||||
->andWhere('deleted')->eq(0)
|
||||
->orderBy('id desc')->fetchPairs();
|
||||
if(!$builds) return $sysBuilds;
|
||||
$releases = $this->dao->select('build,name')->from(TABLE_RELEASE)
|
||||
->where('build')->in(array_keys($builds))
|
||||
->andWhere('deleted')->eq(0)
|
||||
->fetchPairs();
|
||||
foreach($releases as $buildID => $releaseName) $builds[$buildID] = $releaseName;
|
||||
return $sysBuilds + $builds;
|
||||
}
|
||||
|
||||
/* 创建。*/
|
||||
public function create($projectID)
|
||||
{
|
||||
$build = fixer::input('post')
|
||||
->stripTags('name')
|
||||
->specialChars('desc')
|
||||
->add('project', (int)$projectID)
|
||||
->get();
|
||||
$this->dao->insert(TABLE_BUILD)->data($build)->autoCheck()->batchCheck($this->config->build->create->requiredFields, 'notempty')->check('name','unique')->exec();
|
||||
if(!dao::isError()) return $this->dao->lastInsertID();
|
||||
}
|
||||
|
||||
/* 编辑。*/
|
||||
public function update($buildID)
|
||||
{
|
||||
$oldBuild = $this->getByID($buildID);
|
||||
$build = fixer::input('post')
|
||||
->stripTags('name')
|
||||
->specialChars('desc')
|
||||
->get();
|
||||
$this->dao->update(TABLE_BUILD)->data($build)->autoCheck()->batchCheck($this->config->build->edit->requiredFields, 'notempty')->where('id')->eq((int)$buildID)->exec();
|
||||
if(!dao::isError()) return common::createChanges($oldBuild, $build);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,63 +1,50 @@
|
||||
<?php
|
||||
/**
|
||||
* The create view of build module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/datepicker.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->build->create;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->product;?></th>
|
||||
<td><?php echo html::select('product', $products, '', "class='select-3'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->name;?></th>
|
||||
<td><?php echo html::input('name', '', "class='text-3'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->builder;?></th>
|
||||
<td><?php echo html::select('builder', $users, $app->user->account, 'class="select-3"');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->date;?></th>
|
||||
<td><?php echo html::input('date', helper::today(), "class='text-3 date'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->scmPath;?></th>
|
||||
<td><?php echo html::input('scmPath', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->filePath;?></th>
|
||||
<td><?php echo html::input('filePath', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->desc;?></th>
|
||||
<td><?php echo html::textarea('desc', '', "rows='5' class='area-1'");?></td>
|
||||
</tr>
|
||||
<tr><td colspan='2' class='a-center'><?php echo html::submitButton() . html::resetButton();?></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The create view of build module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/datepicker.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->build->create;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->product;?></th>
|
||||
<td><?php echo html::select('product', $products, '', "class='select-3'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->name;?></th>
|
||||
<td><?php echo html::input('name', '', "class='text-3'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->builder;?></th>
|
||||
<td><?php echo html::select('builder', $users, $app->user->account, 'class="select-3"');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->date;?></th>
|
||||
<td><?php echo html::input('date', helper::today(), "class='text-3 date'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->scmPath;?></th>
|
||||
<td><?php echo html::input('scmPath', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->filePath;?></th>
|
||||
<td><?php echo html::input('filePath', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->desc;?></th>
|
||||
<td><?php echo html::textarea('desc', '', "rows='5' class='area-1'");?></td>
|
||||
</tr>
|
||||
<tr><td colspan='2' class='a-center'><?php echo html::submitButton() . html::resetButton();?></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,63 +1,50 @@
|
||||
<?php
|
||||
/**
|
||||
* The edit view of build module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/datepicker.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->build->edit;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->product;?></th>
|
||||
<td><?php echo html::select('product', $products, $build->product, "class='select-3'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->name;?></th>
|
||||
<td><?php echo html::input('name', $build->name, "class='text-3'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->builder;?></th>
|
||||
<td><?php echo html::select('builder', $users, $app->user->account, 'class="select-3"');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->date;?></th>
|
||||
<td><?php echo html::input('date', $build->date, "class='text-3 date'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->scmPath;?></th>
|
||||
<td><?php echo html::input('scmPath', $build->scmPath, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->filePath;?></th>
|
||||
<td><?php echo html::input('filePath', $build->filePath, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->desc;?></th>
|
||||
<td><?php echo html::textarea('desc', $build->desc, "rows='5' class='area-1'");?></td>
|
||||
</tr>
|
||||
<tr><td colspan='2' class='a-center'><?php echo html::submitButton() . html::resetButton() .html::hidden('project', $build->project);?></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The edit view of build module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/datepicker.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->build->edit;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->product;?></th>
|
||||
<td><?php echo html::select('product', $products, $build->product, "class='select-3'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->name;?></th>
|
||||
<td><?php echo html::input('name', $build->name, "class='text-3'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->builder;?></th>
|
||||
<td><?php echo html::select('builder', $users, $app->user->account, 'class="select-3"');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->date;?></th>
|
||||
<td><?php echo html::input('date', $build->date, "class='text-3 date'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->scmPath;?></th>
|
||||
<td><?php echo html::input('scmPath', $build->scmPath, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->filePath;?></th>
|
||||
<td><?php echo html::input('filePath', $build->filePath, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->desc;?></th>
|
||||
<td><?php echo html::textarea('desc', $build->desc, "rows='5' class='area-1'");?></td>
|
||||
</tr>
|
||||
<tr><td colspan='2' class='a-center'><?php echo html::submitButton() . html::resetButton() .html::hidden('project', $build->project);?></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,72 +1,59 @@
|
||||
<?php
|
||||
/**
|
||||
* The view file of build module's view method of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->build->view;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->product;?></th>
|
||||
<td><?php echo $build->productName;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->name;?></th>
|
||||
<td class='<?php if($build->deleted) echo 'deleted';?>'><?php echo $build->name;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->builder;?></th>
|
||||
<td><?php echo $users[$build->builder];?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->date;?></th>
|
||||
<td><?php echo $build->date;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->scmPath;?></th>
|
||||
<td><?php strpos($build->scmPath, 'http') === 0 ? printf(html::a($build->scmPath)) : printf($build->scmPath);?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->filePath;?></th>
|
||||
<td><?php strpos($build->filePath, 'http') === 0 ? printf(html::a($build->filePath)) : printf($build->filePath);?></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->desc;?></th>
|
||||
<td><?php echo nl2br($build->desc);?></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class='a-center f-16px strong'>
|
||||
<?php
|
||||
$browseLink = $this->session->buildList ? $this->session->buildList : $this->createLink('project', 'build', "projectID=$build->project");
|
||||
if(!$build->deleted)
|
||||
{
|
||||
common::printLink('build', 'edit', "buildID=$build->id", $lang->edit);
|
||||
common::printLink('build', 'delete', "buildID=$build->id", $lang->delete, 'hiddenwin');
|
||||
}
|
||||
echo html::a($browseLink, $lang->goback);
|
||||
?>
|
||||
</div>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The view file of build module's view method of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package build
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->build->view;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->product;?></th>
|
||||
<td><?php echo $build->productName;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->name;?></th>
|
||||
<td class='<?php if($build->deleted) echo 'deleted';?>'><?php echo $build->name;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->builder;?></th>
|
||||
<td><?php echo $users[$build->builder];?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->date;?></th>
|
||||
<td><?php echo $build->date;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->scmPath;?></th>
|
||||
<td><?php strpos($build->scmPath, 'http') === 0 ? printf(html::a($build->scmPath)) : printf($build->scmPath);?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->filePath;?></th>
|
||||
<td><?php strpos($build->filePath, 'http') === 0 ? printf(html::a($build->filePath)) : printf($build->filePath);?></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->build->desc;?></th>
|
||||
<td><?php echo nl2br($build->desc);?></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class='a-center f-16px strong'>
|
||||
<?php
|
||||
$browseLink = $this->session->buildList ? $this->session->buildList : $this->createLink('project', 'build', "projectID=$build->project");
|
||||
if(!$build->deleted)
|
||||
{
|
||||
common::printLink('build', 'edit', "buildID=$build->id", $lang->edit);
|
||||
common::printLink('build', 'delete', "buildID=$build->id", $lang->delete, 'hiddenwin');
|
||||
}
|
||||
echo html::a($browseLink, $lang->goback);
|
||||
?>
|
||||
</div>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,118 +1,105 @@
|
||||
<?php
|
||||
/**
|
||||
* The control file of company module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class company extends control
|
||||
{
|
||||
/* 构造函数。*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->loadModel('dept');
|
||||
$this->app->loadLang('user');
|
||||
$this->company->setMenu();
|
||||
}
|
||||
|
||||
/* 公司首页。*/
|
||||
public function index()
|
||||
{
|
||||
$this->locate($this->createLink('company', 'browse'));
|
||||
}
|
||||
|
||||
/* 浏览某一个公司。*/
|
||||
public function browse($deptID = 0)
|
||||
{
|
||||
$this->lang->set('menugroup.company', 'company');
|
||||
$childDeptIds = $this->dept->getAllChildID($deptID);
|
||||
|
||||
$this->company->setMenu($deptID);
|
||||
|
||||
$header['title'] = $this->lang->company->index . $this->lang->colon . $this->lang->dept->common;
|
||||
$position[] = $this->lang->dept->common;
|
||||
|
||||
$this->view->header = $header;
|
||||
$this->view->position = $position;
|
||||
$this->view->users = $this->dept->getUsers($childDeptIds);
|
||||
$this->view->deptTree = $this->dept->getTreeMenu($rooteDeptID = 0, array('deptModel', 'createMemberLink'));
|
||||
$this->view->parentDepts = $this->dept->getParents($deptID);
|
||||
$this->view->deptID = $deptID;
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 新增一个公司。*/
|
||||
public function create()
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$this->company->create();
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
die(js::locate($this->createLink('admin', 'browsecompany'), 'parent'));
|
||||
}
|
||||
|
||||
$this->lang->set('menugroup.company', 'admin');
|
||||
$this->lang->company->menu = $this->lang->admin->menu;
|
||||
|
||||
$header['title'] = $this->lang->admin->common . $this->lang->colon . $this->lang->company->create;
|
||||
$position[] = html::a($this->createLink('admin', 'browsecompany'), $this->lang->admin->company);
|
||||
$position[] = $this->lang->company->create;
|
||||
$this->view->header = $header;
|
||||
$this->view->position = $position;
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 编辑一个公司。*/
|
||||
public function edit()
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$this->company->update();
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
die(js::alert($this->lang->company->successSaved));
|
||||
}
|
||||
|
||||
$header['title'] = $this->lang->company->common . $this->lang->colon . $this->lang->company->edit;
|
||||
$position[] = $this->lang->company->edit;
|
||||
$this->view->header = $header;
|
||||
$this->view->position = $position;
|
||||
$this->view->company = $this->company->getById($this->app->company->id);
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 删除公司。*/
|
||||
public function delete($companyID, $confirm = 'no')
|
||||
{
|
||||
if($confirm == 'no')
|
||||
{
|
||||
echo js::confirm($this->lang->company->confirmDelete, $this->createLink('company', 'delete', "companyID=$companyID&confirm=yes"));
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->company->delete($companyID);
|
||||
echo js::locate($this->createLink('admin', 'browseCompany'), 'parent');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The control file of company module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class company extends control
|
||||
{
|
||||
/* 构造函数。*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->loadModel('dept');
|
||||
$this->app->loadLang('user');
|
||||
$this->company->setMenu();
|
||||
}
|
||||
|
||||
/* 公司首页。*/
|
||||
public function index()
|
||||
{
|
||||
$this->locate($this->createLink('company', 'browse'));
|
||||
}
|
||||
|
||||
/* 浏览某一个公司。*/
|
||||
public function browse($deptID = 0)
|
||||
{
|
||||
$this->lang->set('menugroup.company', 'company');
|
||||
$childDeptIds = $this->dept->getAllChildID($deptID);
|
||||
|
||||
$this->company->setMenu($deptID);
|
||||
|
||||
$header['title'] = $this->lang->company->index . $this->lang->colon . $this->lang->dept->common;
|
||||
$position[] = $this->lang->dept->common;
|
||||
|
||||
$this->view->header = $header;
|
||||
$this->view->position = $position;
|
||||
$this->view->users = $this->dept->getUsers($childDeptIds);
|
||||
$this->view->deptTree = $this->dept->getTreeMenu($rooteDeptID = 0, array('deptModel', 'createMemberLink'));
|
||||
$this->view->parentDepts = $this->dept->getParents($deptID);
|
||||
$this->view->deptID = $deptID;
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 新增一个公司。*/
|
||||
public function create()
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$this->company->create();
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
die(js::locate($this->createLink('admin', 'browsecompany'), 'parent'));
|
||||
}
|
||||
|
||||
$this->lang->set('menugroup.company', 'admin');
|
||||
$this->lang->company->menu = $this->lang->admin->menu;
|
||||
|
||||
$header['title'] = $this->lang->admin->common . $this->lang->colon . $this->lang->company->create;
|
||||
$position[] = html::a($this->createLink('admin', 'browsecompany'), $this->lang->admin->company);
|
||||
$position[] = $this->lang->company->create;
|
||||
$this->view->header = $header;
|
||||
$this->view->position = $position;
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 编辑一个公司。*/
|
||||
public function edit()
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$this->company->update();
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
die(js::alert($this->lang->company->successSaved));
|
||||
}
|
||||
|
||||
$header['title'] = $this->lang->company->common . $this->lang->colon . $this->lang->company->edit;
|
||||
$position[] = $this->lang->company->edit;
|
||||
$this->view->header = $header;
|
||||
$this->view->position = $position;
|
||||
$this->view->company = $this->company->getById($this->app->company->id);
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 删除公司。*/
|
||||
public function delete($companyID, $confirm = 'no')
|
||||
{
|
||||
if($confirm == 'no')
|
||||
{
|
||||
echo js::confirm($this->lang->company->confirmDelete, $this->createLink('company', 'delete', "companyID=$companyID&confirm=yes"));
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->company->delete($companyID);
|
||||
echo js::locate($this->createLink('admin', 'browseCompany'), 'parent');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,50 +1,37 @@
|
||||
<?php
|
||||
/**
|
||||
* The company module English file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->company->common = 'Company';
|
||||
$lang->company->index = "Index";
|
||||
$lang->company->create = "Create";
|
||||
$lang->company->edit = "Edit";
|
||||
$lang->company->read = "Info";
|
||||
$lang->company->update = "Update";
|
||||
$lang->company->delete = "Delete";
|
||||
$lang->company->browse = "User";
|
||||
$lang->company->depts = "Dept";
|
||||
$lang->company->orgView = 'Company';
|
||||
|
||||
$lang->company->confirmDelete = "Are you sure to delete this company?";
|
||||
$lang->company->successSaved = "Success saved";
|
||||
|
||||
$lang->company->id = 'ID';
|
||||
$lang->company->name = 'Name';
|
||||
$lang->company->phone = 'Phone';
|
||||
$lang->company->fax = 'Fax';
|
||||
$lang->company->address = 'Address';
|
||||
$lang->company->zipcode = 'Zipcode';
|
||||
$lang->company->website = 'Web site';
|
||||
$lang->company->backyard = 'Internal Site';
|
||||
$lang->company->pms = 'ZenTaoPMS Site';
|
||||
$lang->company->guest = 'Guest visit';
|
||||
|
||||
$lang->company->guestList[0] = 'Deny';
|
||||
$lang->company->guestList[1] = 'Allow';
|
||||
<?php
|
||||
/**
|
||||
* The company module English file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->company->common = 'Company';
|
||||
$lang->company->index = "Index";
|
||||
$lang->company->create = "Create";
|
||||
$lang->company->edit = "Edit";
|
||||
$lang->company->read = "Info";
|
||||
$lang->company->update = "Update";
|
||||
$lang->company->delete = "Delete";
|
||||
$lang->company->browse = "User";
|
||||
$lang->company->depts = "Dept";
|
||||
$lang->company->orgView = 'Company';
|
||||
|
||||
$lang->company->confirmDelete = "Are you sure to delete this company?";
|
||||
$lang->company->successSaved = "Success saved";
|
||||
|
||||
$lang->company->id = 'ID';
|
||||
$lang->company->name = 'Name';
|
||||
$lang->company->phone = 'Phone';
|
||||
$lang->company->fax = 'Fax';
|
||||
$lang->company->address = 'Address';
|
||||
$lang->company->zipcode = 'Zipcode';
|
||||
$lang->company->website = 'Web site';
|
||||
$lang->company->backyard = 'Internal Site';
|
||||
$lang->company->pms = 'ZenTaoPMS Site';
|
||||
$lang->company->guest = 'Guest visit';
|
||||
|
||||
$lang->company->guestList[0] = 'Deny';
|
||||
$lang->company->guestList[1] = 'Allow';
|
||||
|
||||
@@ -1,50 +1,37 @@
|
||||
<?php
|
||||
/**
|
||||
* The company module Japanese file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->company->common = '会社';
|
||||
$lang->company->index = "インデックス";
|
||||
$lang->company->create = "作成";
|
||||
$lang->company->edit = "[編集]";
|
||||
$lang->company->read = "情報";
|
||||
$lang->company->update = "更新";
|
||||
$lang->company->delete = "削除";
|
||||
$lang->company->browse = "ユーザー";
|
||||
$lang->company->depts = "部";
|
||||
$lang->company->orgView = '会社';
|
||||
|
||||
$lang->company->confirmDelete = "あなたがこの会社を削除しますか?";
|
||||
$lang->company->successSaved = "成功を保存";
|
||||
|
||||
$lang->company->id = 'IDは';
|
||||
$lang->company->name = '名';
|
||||
$lang->company->phone = '電話';
|
||||
$lang->company->fax = 'ファックス';
|
||||
$lang->company->address = 'アドレス';
|
||||
$lang->company->zipcode = '郵便番号';
|
||||
$lang->company->website = 'ウェブサイト';
|
||||
$lang->company->backyard = '内部部位';
|
||||
$lang->company->pms = 'ZenTaoPMSサイト';
|
||||
$lang->company->guest = 'ユーザー訪問';
|
||||
|
||||
$lang->company->guestList[0] = '許可';
|
||||
$lang->company->guestList[1] = '拒否';
|
||||
<?php
|
||||
/**
|
||||
* The company module Japanese file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->company->common = '会社';
|
||||
$lang->company->index = "インデックス";
|
||||
$lang->company->create = "作成";
|
||||
$lang->company->edit = "[編集]";
|
||||
$lang->company->read = "情報";
|
||||
$lang->company->update = "更新";
|
||||
$lang->company->delete = "削除";
|
||||
$lang->company->browse = "ユーザー";
|
||||
$lang->company->depts = "部";
|
||||
$lang->company->orgView = '会社';
|
||||
|
||||
$lang->company->confirmDelete = "あなたがこの会社を削除しますか?";
|
||||
$lang->company->successSaved = "成功を保存";
|
||||
|
||||
$lang->company->id = 'IDは';
|
||||
$lang->company->name = '名';
|
||||
$lang->company->phone = '電話';
|
||||
$lang->company->fax = 'ファックス';
|
||||
$lang->company->address = 'アドレス';
|
||||
$lang->company->zipcode = '郵便番号';
|
||||
$lang->company->website = 'ウェブサイト';
|
||||
$lang->company->backyard = '内部部位';
|
||||
$lang->company->pms = 'ZenTaoPMSサイト';
|
||||
$lang->company->guest = 'ユーザー訪問';
|
||||
|
||||
$lang->company->guestList[0] = '許可';
|
||||
$lang->company->guestList[1] = '拒否';
|
||||
|
||||
@@ -1,50 +1,37 @@
|
||||
<?php
|
||||
/**
|
||||
* The company module Korean file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->company->common = '회사';
|
||||
$lang->company->index = "색인";
|
||||
$lang->company->create = "만들기";
|
||||
$lang->company->edit = "편집";
|
||||
$lang->company->read = "정보";
|
||||
$lang->company->update = "업데이트";
|
||||
$lang->company->delete = "삭제";
|
||||
$lang->company->browse = "사용자";
|
||||
$lang->company->depts = "학과";
|
||||
$lang->company->orgView = '회사';
|
||||
|
||||
$lang->company->confirmDelete = "당신이이 회사를 삭제하시겠습니까?";
|
||||
$lang->company->successSaved = "성공 저장";
|
||||
|
||||
$lang->company->id = '신분증';
|
||||
$lang->company->name = '이름';
|
||||
$lang->company->phone = '전화';
|
||||
$lang->company->fax = '팩스';
|
||||
$lang->company->address = '주소';
|
||||
$lang->company->zipcode = '우편 번호';
|
||||
$lang->company->website = '웹 사이트';
|
||||
$lang->company->backyard = '내부 사이트';
|
||||
$lang->company->pms = 'ZenTaoPMS 사이트';
|
||||
$lang->company->guest = '손님 방문';
|
||||
|
||||
$lang->company->guestList[0] = '허용';
|
||||
$lang->company->guestList[1] = '거부';
|
||||
<?php
|
||||
/**
|
||||
* The company module Korean file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->company->common = '회사';
|
||||
$lang->company->index = "색인";
|
||||
$lang->company->create = "만들기";
|
||||
$lang->company->edit = "편집";
|
||||
$lang->company->read = "정보";
|
||||
$lang->company->update = "업데이트";
|
||||
$lang->company->delete = "삭제";
|
||||
$lang->company->browse = "사용자";
|
||||
$lang->company->depts = "학과";
|
||||
$lang->company->orgView = '회사';
|
||||
|
||||
$lang->company->confirmDelete = "당신이이 회사를 삭제하시겠습니까?";
|
||||
$lang->company->successSaved = "성공 저장";
|
||||
|
||||
$lang->company->id = '신분증';
|
||||
$lang->company->name = '이름';
|
||||
$lang->company->phone = '전화';
|
||||
$lang->company->fax = '팩스';
|
||||
$lang->company->address = '주소';
|
||||
$lang->company->zipcode = '우편 번호';
|
||||
$lang->company->website = '웹 사이트';
|
||||
$lang->company->backyard = '내부 사이트';
|
||||
$lang->company->pms = 'ZenTaoPMS 사이트';
|
||||
$lang->company->guest = '손님 방문';
|
||||
|
||||
$lang->company->guestList[0] = '허용';
|
||||
$lang->company->guestList[1] = '거부';
|
||||
|
||||
@@ -1,50 +1,37 @@
|
||||
<?php
|
||||
/**
|
||||
* The company module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->company->common = '组织视图';
|
||||
$lang->company->index = "组织视图首页";
|
||||
$lang->company->create = "新增公司";
|
||||
$lang->company->edit = "编辑公司";
|
||||
$lang->company->read = "公司信息";
|
||||
$lang->company->update = "更新公司";
|
||||
$lang->company->delete = "删除公司";
|
||||
$lang->company->browse = "用户列表";
|
||||
$lang->company->depts = "部门列表";
|
||||
$lang->company->orgView = '组织视图';
|
||||
|
||||
$lang->company->confirmDelete = "您确定删除该公司吗?";
|
||||
$lang->company->successSaved = "成功保存";
|
||||
|
||||
$lang->company->id = '编号';
|
||||
$lang->company->name = '公司名称';
|
||||
$lang->company->phone = '联系电话';
|
||||
$lang->company->fax = '传真';
|
||||
$lang->company->address = '通讯地址';
|
||||
$lang->company->zipcode = '邮政编码';
|
||||
$lang->company->website = '公司网站';
|
||||
$lang->company->backyard = '公司内网';
|
||||
$lang->company->pms = 'PMS网站';
|
||||
$lang->company->guest = '匿名登录';
|
||||
|
||||
$lang->company->guestList[0] = '不允许';
|
||||
$lang->company->guestList[1] = '允许';
|
||||
<?php
|
||||
/**
|
||||
* The company module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->company->common = '组织视图';
|
||||
$lang->company->index = "组织视图首页";
|
||||
$lang->company->create = "新增公司";
|
||||
$lang->company->edit = "编辑公司";
|
||||
$lang->company->read = "公司信息";
|
||||
$lang->company->update = "更新公司";
|
||||
$lang->company->delete = "删除公司";
|
||||
$lang->company->browse = "用户列表";
|
||||
$lang->company->depts = "部门列表";
|
||||
$lang->company->orgView = '组织视图';
|
||||
|
||||
$lang->company->confirmDelete = "您确定删除该公司吗?";
|
||||
$lang->company->successSaved = "成功保存";
|
||||
|
||||
$lang->company->id = '编号';
|
||||
$lang->company->name = '公司名称';
|
||||
$lang->company->phone = '联系电话';
|
||||
$lang->company->fax = '传真';
|
||||
$lang->company->address = '通讯地址';
|
||||
$lang->company->zipcode = '邮政编码';
|
||||
$lang->company->website = '公司网站';
|
||||
$lang->company->backyard = '公司内网';
|
||||
$lang->company->pms = 'PMS网站';
|
||||
$lang->company->guest = '匿名登录';
|
||||
|
||||
$lang->company->guestList[0] = '不允许';
|
||||
$lang->company->guestList[1] = '允许';
|
||||
|
||||
@@ -1,50 +1,37 @@
|
||||
<?php
|
||||
/**
|
||||
* The company module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id: zh-tw.php 1068 2010-09-11 07:11:57Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->company->common = '組織視圖';
|
||||
$lang->company->index = "組織視圖首頁";
|
||||
$lang->company->create = "新增公司";
|
||||
$lang->company->edit = "編輯公司";
|
||||
$lang->company->read = "公司信息";
|
||||
$lang->company->update = "更新公司";
|
||||
$lang->company->delete = "刪除公司";
|
||||
$lang->company->browse = "用戶列表";
|
||||
$lang->company->depts = "部門列表";
|
||||
$lang->company->orgView = '組織視圖';
|
||||
|
||||
$lang->company->confirmDelete = "您確定刪除該公司嗎?";
|
||||
$lang->company->successSaved = "成功保存";
|
||||
|
||||
$lang->company->id = '編號';
|
||||
$lang->company->name = '公司名稱';
|
||||
$lang->company->phone = '聯繫電話';
|
||||
$lang->company->fax = '傳真';
|
||||
$lang->company->address = '通訊地址';
|
||||
$lang->company->zipcode = '郵政編碼';
|
||||
$lang->company->website = '公司網站';
|
||||
$lang->company->backyard = '公司內網';
|
||||
$lang->company->pms = 'PMS網站';
|
||||
$lang->company->guest = '匿名登錄';
|
||||
|
||||
$lang->company->guestList[0] = '不允許';
|
||||
$lang->company->guestList[1] = '允許';
|
||||
<?php
|
||||
/**
|
||||
* The company module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id: zh-tw.php 1068 2010-09-11 07:11:57Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->company->common = '組織視圖';
|
||||
$lang->company->index = "組織視圖首頁";
|
||||
$lang->company->create = "新增公司";
|
||||
$lang->company->edit = "編輯公司";
|
||||
$lang->company->read = "公司信息";
|
||||
$lang->company->update = "更新公司";
|
||||
$lang->company->delete = "刪除公司";
|
||||
$lang->company->browse = "用戶列表";
|
||||
$lang->company->depts = "部門列表";
|
||||
$lang->company->orgView = '組織視圖';
|
||||
|
||||
$lang->company->confirmDelete = "您確定刪除該公司嗎?";
|
||||
$lang->company->successSaved = "成功保存";
|
||||
|
||||
$lang->company->id = '編號';
|
||||
$lang->company->name = '公司名稱';
|
||||
$lang->company->phone = '聯繫電話';
|
||||
$lang->company->fax = '傳真';
|
||||
$lang->company->address = '通訊地址';
|
||||
$lang->company->zipcode = '郵政編碼';
|
||||
$lang->company->website = '公司網站';
|
||||
$lang->company->backyard = '公司內網';
|
||||
$lang->company->pms = 'PMS網站';
|
||||
$lang->company->guest = '匿名登錄';
|
||||
|
||||
$lang->company->guestList[0] = '不允許';
|
||||
$lang->company->guestList[1] = '允許';
|
||||
|
||||
@@ -1,97 +1,84 @@
|
||||
<?php
|
||||
/**
|
||||
* The model file of company module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
class companyModel extends model
|
||||
{
|
||||
/* 设置菜单。*/
|
||||
public function setMenu($dept = 0)
|
||||
{
|
||||
common::setMenuVars($this->lang->company->menu, 'name', array($this->app->company->name));
|
||||
common::setMenuVars($this->lang->company->menu, 'addUser', array($dept));
|
||||
}
|
||||
|
||||
/* 获得公司列表。*/
|
||||
public function getList()
|
||||
{
|
||||
return $this->dao->select('*')->from(TABLE_COMPANY)->fetchAll();
|
||||
}
|
||||
|
||||
/* 获得第一个公司。*/
|
||||
public function getFirst()
|
||||
{
|
||||
return $this->dao->select('*')->from(TABLE_COMPANY)->orderBy('id')->limit(1)->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过域名查找公司信息。
|
||||
*
|
||||
* @param string $domain 访问的域名,如果为空,则取HTTP_HOST变量。
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function getByDomain($domain = '')
|
||||
{
|
||||
if(empty($domain)) $domain = $_SERVER['HTTP_HOST'];
|
||||
return $this->dao->findByPMS($domain)->from(TABLE_COMPANY)->fetch();
|
||||
}
|
||||
|
||||
/* 通过id获取公司信息。*/
|
||||
public function getByID($companyID = '')
|
||||
{
|
||||
return $this->dao->findById((int)$companyID)->from(TABLE_COMPANY)->fetch();
|
||||
}
|
||||
|
||||
/* 新增一个公司。*/
|
||||
public function create()
|
||||
{
|
||||
$company = fixer::input('post')->get();
|
||||
$this->dao->insert(TABLE_COMPANY)
|
||||
->data($company)
|
||||
->autoCheck()
|
||||
->batchCheck($this->config->company->create->requiredFields, 'notempty')
|
||||
->batchCheck('name,pms', 'unique')
|
||||
->exec();
|
||||
}
|
||||
|
||||
/* 更新一个公司信息。*/
|
||||
public function update()
|
||||
{
|
||||
$company = fixer::input('post')->get();
|
||||
$companyID = $this->app->company->id;
|
||||
$this->dao->update(TABLE_COMPANY)
|
||||
->data($company)
|
||||
->autoCheck()
|
||||
->batchCheck($this->config->company->edit->requiredFields, 'notempty')
|
||||
->batchCheck('name,pms', 'unique', "id != '$companyID'")
|
||||
->where('id')->eq($companyID)
|
||||
->exec();
|
||||
}
|
||||
|
||||
/* 删除一个公司。*/
|
||||
public function delete($companyID)
|
||||
{
|
||||
return $this->dao->delete()->from(TABLE_COMPANY)->where('id')->eq((int)$companyID)->limit(1)->exec();
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The model file of company module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
class companyModel extends model
|
||||
{
|
||||
/* 设置菜单。*/
|
||||
public function setMenu($dept = 0)
|
||||
{
|
||||
common::setMenuVars($this->lang->company->menu, 'name', array($this->app->company->name));
|
||||
common::setMenuVars($this->lang->company->menu, 'addUser', array($dept));
|
||||
}
|
||||
|
||||
/* 获得公司列表。*/
|
||||
public function getList()
|
||||
{
|
||||
return $this->dao->select('*')->from(TABLE_COMPANY)->fetchAll();
|
||||
}
|
||||
|
||||
/* 获得第一个公司。*/
|
||||
public function getFirst()
|
||||
{
|
||||
return $this->dao->select('*')->from(TABLE_COMPANY)->orderBy('id')->limit(1)->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过域名查找公司信息。
|
||||
*
|
||||
* @param string $domain 访问的域名,如果为空,则取HTTP_HOST变量。
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function getByDomain($domain = '')
|
||||
{
|
||||
if(empty($domain)) $domain = $_SERVER['HTTP_HOST'];
|
||||
return $this->dao->findByPMS($domain)->from(TABLE_COMPANY)->fetch();
|
||||
}
|
||||
|
||||
/* 通过id获取公司信息。*/
|
||||
public function getByID($companyID = '')
|
||||
{
|
||||
return $this->dao->findById((int)$companyID)->from(TABLE_COMPANY)->fetch();
|
||||
}
|
||||
|
||||
/* 新增一个公司。*/
|
||||
public function create()
|
||||
{
|
||||
$company = fixer::input('post')->get();
|
||||
$this->dao->insert(TABLE_COMPANY)
|
||||
->data($company)
|
||||
->autoCheck()
|
||||
->batchCheck($this->config->company->create->requiredFields, 'notempty')
|
||||
->batchCheck('name,pms', 'unique')
|
||||
->exec();
|
||||
}
|
||||
|
||||
/* 更新一个公司信息。*/
|
||||
public function update()
|
||||
{
|
||||
$company = fixer::input('post')->get();
|
||||
$companyID = $this->app->company->id;
|
||||
$this->dao->update(TABLE_COMPANY)
|
||||
->data($company)
|
||||
->autoCheck()
|
||||
->batchCheck($this->config->company->edit->requiredFields, 'notempty')
|
||||
->batchCheck('name,pms', 'unique', "id != '$companyID'")
|
||||
->where('id')->eq($companyID)
|
||||
->exec();
|
||||
}
|
||||
|
||||
/* 删除一个公司。*/
|
||||
public function delete($companyID)
|
||||
{
|
||||
return $this->dao->delete()->from(TABLE_COMPANY)->where('id')->eq((int)$companyID)->limit(1)->exec();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,89 +1,76 @@
|
||||
<?php
|
||||
/**
|
||||
* The browse view file of product dept of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package product
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
include '../../common/view/header.html.php';
|
||||
include '../../common/view/treeview.html.php';
|
||||
include '../../common/view/tablesorter.html.php';
|
||||
?>
|
||||
<div class="yui-d0 yui-t1">
|
||||
<div class="yui-main">
|
||||
<div class="yui-b">
|
||||
<table class='table-1 tablesorter'>
|
||||
<thead>
|
||||
<tr class='colhead'>
|
||||
<th class='w-id'><?php echo $lang->idAB;?></th>
|
||||
<th><?php echo $lang->user->realname;?></th>
|
||||
<th><?php echo $lang->user->account;?></th>
|
||||
<?php // echo $lang->user->nickname;?>
|
||||
<th><?php echo $lang->user->email;?></th>
|
||||
<th><?php echo $lang->user->gendar;?></th>
|
||||
<th><?php echo $lang->user->phone;?></th>
|
||||
<th><?php echo $lang->user->join;?></th>
|
||||
<th><?php echo $lang->user->visits;?></th>
|
||||
<th><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($users as $user):?>
|
||||
<tr class='a-center'>
|
||||
<td><?php echo $user->id;?></td>
|
||||
<td><?php if(!common::printLink('user', 'view', "account=$user->account", $user->realname)) echo $user->realname;?></td>
|
||||
<td><?php echo $user->account;?></td>
|
||||
<?php // echo $user->nickname;?>
|
||||
<td><?php echo html::mailto($user->email);?></td>
|
||||
<td><?php if(isset($lang->user->gendarList->{$user->gendar})) echo $lang->user->gendarList->{$user->gendar};?></td>
|
||||
<td><?php echo $user->phone;?></td>
|
||||
<td><?php echo $user->join;?></td>
|
||||
<td><?php echo $user->visits;?></td>
|
||||
<td>
|
||||
<?php
|
||||
common::printLink('user', 'edit', "userID=$user->id&from=company", $lang->edit);
|
||||
common::printLink('user', 'delete', "userID=$user->id", $lang->delete, "hiddenwin");
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="yui-b">
|
||||
<div class='box-title'><?php echo $lang->dept->common;?></div>
|
||||
<div class='box-content'>
|
||||
<?php echo $deptTree;?>
|
||||
<div class='a-right'>
|
||||
<?php
|
||||
common::printLink('user', 'create', "dept=$deptID&from=company", $lang->user->create);echo '<br />';
|
||||
common::printLink('company', 'browse', '', $lang->user->allUsers); echo '<br />';
|
||||
common::printLink('dept', 'browse', '', $lang->dept->manage);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script lanugage='Javascript'>$('#dept<?php echo $deptID;?>').addClass('active');</script>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The browse view file of product dept of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package product
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
include '../../common/view/header.html.php';
|
||||
include '../../common/view/treeview.html.php';
|
||||
include '../../common/view/tablesorter.html.php';
|
||||
?>
|
||||
<div class="yui-d0 yui-t1">
|
||||
<div class="yui-main">
|
||||
<div class="yui-b">
|
||||
<table class='table-1 tablesorter'>
|
||||
<thead>
|
||||
<tr class='colhead'>
|
||||
<th class='w-id'><?php echo $lang->idAB;?></th>
|
||||
<th><?php echo $lang->user->realname;?></th>
|
||||
<th><?php echo $lang->user->account;?></th>
|
||||
<?php // echo $lang->user->nickname;?>
|
||||
<th><?php echo $lang->user->email;?></th>
|
||||
<th><?php echo $lang->user->gendar;?></th>
|
||||
<th><?php echo $lang->user->phone;?></th>
|
||||
<th><?php echo $lang->user->join;?></th>
|
||||
<th><?php echo $lang->user->visits;?></th>
|
||||
<th><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($users as $user):?>
|
||||
<tr class='a-center'>
|
||||
<td><?php echo $user->id;?></td>
|
||||
<td><?php if(!common::printLink('user', 'view', "account=$user->account", $user->realname)) echo $user->realname;?></td>
|
||||
<td><?php echo $user->account;?></td>
|
||||
<?php // echo $user->nickname;?>
|
||||
<td><?php echo html::mailto($user->email);?></td>
|
||||
<td><?php if(isset($lang->user->gendarList->{$user->gendar})) echo $lang->user->gendarList->{$user->gendar};?></td>
|
||||
<td><?php echo $user->phone;?></td>
|
||||
<td><?php echo $user->join;?></td>
|
||||
<td><?php echo $user->visits;?></td>
|
||||
<td>
|
||||
<?php
|
||||
common::printLink('user', 'edit', "userID=$user->id&from=company", $lang->edit);
|
||||
common::printLink('user', 'delete', "userID=$user->id", $lang->delete, "hiddenwin");
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="yui-b">
|
||||
<div class='box-title'><?php echo $lang->dept->common;?></div>
|
||||
<div class='box-content'>
|
||||
<?php echo $deptTree;?>
|
||||
<div class='a-right'>
|
||||
<?php
|
||||
common::printLink('user', 'create', "dept=$deptID&from=company", $lang->user->create);echo '<br />';
|
||||
common::printLink('company', 'browse', '', $lang->user->allUsers); echo '<br />';
|
||||
common::printLink('dept', 'browse', '', $lang->dept->manage);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script lanugage='Javascript'>$('#dept<?php echo $deptID;?>').addClass('active');</script>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,70 +1,57 @@
|
||||
<?php
|
||||
/**
|
||||
* The create view of company module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table align='center' class='table-5'>
|
||||
<caption><?php echo $lang->company->create;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->name;?></th>
|
||||
<td><?php echo html::input('name', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->phone;?></th>
|
||||
<td><?php echo html::input('phone', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->fax;?></th>
|
||||
<td><?php echo html::input('fax', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->address;?></th>
|
||||
<td><?php echo html::input('address', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->zipcode;?></th>
|
||||
<td><?php echo html::input('zipcode', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->website;?></th>
|
||||
<td><?php echo html::input('website', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->backyard;?></th>
|
||||
<td><?php echo html::input('backyard', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->pms;?></th>
|
||||
<td><?php echo html::input('pms', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->guest;?></th>
|
||||
<td><?php echo html::radio('guest', $lang->company->guestList);?></td>
|
||||
</tr>
|
||||
<tr><td colspan='2' class='a-center'><?php echo html::submitButton();?></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The create view of company module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table align='center' class='table-5'>
|
||||
<caption><?php echo $lang->company->create;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->name;?></th>
|
||||
<td><?php echo html::input('name', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->phone;?></th>
|
||||
<td><?php echo html::input('phone', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->fax;?></th>
|
||||
<td><?php echo html::input('fax', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->address;?></th>
|
||||
<td><?php echo html::input('address', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->zipcode;?></th>
|
||||
<td><?php echo html::input('zipcode', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->website;?></th>
|
||||
<td><?php echo html::input('website', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->backyard;?></th>
|
||||
<td><?php echo html::input('backyard', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->pms;?></th>
|
||||
<td><?php echo html::input('pms', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->guest;?></th>
|
||||
<td><?php echo html::radio('guest', $lang->company->guestList);?></td>
|
||||
</tr>
|
||||
<tr><td colspan='2' class='a-center'><?php echo html::submitButton();?></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,70 +1,57 @@
|
||||
<?php
|
||||
/**
|
||||
* The edit view of company module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table align='center' class='table-5'>
|
||||
<caption><?php echo $lang->company->edit;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->name;?></th>
|
||||
<td><?php echo html::input('name', $company->name, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->phone;?></th>
|
||||
<td><?php echo html::input('phone', $company->phone, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->fax;?></th>
|
||||
<td><?php echo html::input('fax', $company->fax, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->address;?></th>
|
||||
<td><?php echo html::input('address', $company->address, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->zipcode;?></th>
|
||||
<td><?php echo html::input('zipcode', $company->zipcode, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->website;?></th>
|
||||
<td><?php echo html::input('website', $company->website, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->backyard;?></th>
|
||||
<td><?php echo html::input('backyard', $company->backyard, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->pms;?></th>
|
||||
<td><?php echo html::input('pms', $company->pms, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->guest;?></th>
|
||||
<td><?php echo html::radio('guest', $lang->company->guestList, $company->guest);?></td>
|
||||
</tr>
|
||||
<tr><td colspan='2' class='a-center'><?php echo html::submitButton();?></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The edit view of company module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package company
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table align='center' class='table-5'>
|
||||
<caption><?php echo $lang->company->edit;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->name;?></th>
|
||||
<td><?php echo html::input('name', $company->name, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->phone;?></th>
|
||||
<td><?php echo html::input('phone', $company->phone, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->fax;?></th>
|
||||
<td><?php echo html::input('fax', $company->fax, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->address;?></th>
|
||||
<td><?php echo html::input('address', $company->address, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->zipcode;?></th>
|
||||
<td><?php echo html::input('zipcode', $company->zipcode, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->website;?></th>
|
||||
<td><?php echo html::input('website', $company->website, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->backyard;?></th>
|
||||
<td><?php echo html::input('backyard', $company->backyard, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->pms;?></th>
|
||||
<td><?php echo html::input('pms', $company->pms, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->company->guest;?></th>
|
||||
<td><?php echo html::radio('guest', $lang->company->guestList, $company->guest);?></td>
|
||||
</tr>
|
||||
<tr><td colspan='2' class='a-center'><?php echo html::submitButton();?></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,125 +1,112 @@
|
||||
<?php
|
||||
/**
|
||||
* The control file of convert currentModule of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class convert extends control
|
||||
{
|
||||
/* 安装程序首页。*/
|
||||
public function index()
|
||||
{
|
||||
$this->convert->saveState();
|
||||
$this->view->header->title = $this->lang->convert->common;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 选择系统。*/
|
||||
public function selectSource()
|
||||
{
|
||||
$this->view->header->title = $this->lang->convert->common . $this->lang->colon;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 转换参数设置。*/
|
||||
public function setConfig()
|
||||
{
|
||||
if(!$this->post->source)
|
||||
{
|
||||
echo js::alert($this->lang->convert->mustSelectSource);
|
||||
die(js::locate('back'));
|
||||
}
|
||||
list($sourceName, $version) = explode('_', $this->post->source);
|
||||
$setFunc = "set$sourceName";
|
||||
$this->view->header->title = $this->lang->convert->setting;
|
||||
$this->view->source = $sourceName;
|
||||
$this->view->version = $version;
|
||||
$this->view->setting = $this->fetch('convert', $setFunc, "version=$version");
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* BugFree的设置界面。*/
|
||||
public function setBugFree($version)
|
||||
{
|
||||
$this->view->source = 'BugFree';
|
||||
$this->view->version = $version;
|
||||
$this->view->tablePrefix = $version > 1 ? 'bf_' : '';
|
||||
$this->view->dbName = $version > 1 ? 'bugfree2' : 'BugFree';
|
||||
$this->view->dbCharset = 'utf8';
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 检查配置。*/
|
||||
public function checkConfig()
|
||||
{
|
||||
$checkFunc = 'check' . $this->post->source;
|
||||
$this->view->header->title = $this->lang->convert->checkConfig;
|
||||
$this->view->source = $this->post->source;
|
||||
$this->view->checkResult = $this->fetch('convert', $checkFunc, "version={$this->post->version}");
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 检查BugFree的设置。*/
|
||||
public function checkBugFree($version)
|
||||
{
|
||||
helper::import('./converter/bugfree.php');
|
||||
$converter = new bugfreeConvertModel();
|
||||
|
||||
/* 分别检查数据库、表和安装路径。*/
|
||||
$checkInfo['db'] = $converter->connectDB();
|
||||
//if(is_object($checkInfo['db'])) $checkInfo['table'] = $converter->checkTables();
|
||||
$checkInfo['path'] = $converter->checkPath();
|
||||
|
||||
/* 计算检查结果。*/
|
||||
$result = 'pass';
|
||||
if(!is_object($checkInfo['db']) or !$checkInfo['path']) $result = 'fail';
|
||||
|
||||
/* 赋值。*/
|
||||
$this->view->version = $version;
|
||||
$this->view->source = 'bugfree';
|
||||
$this->view->result = $result;
|
||||
$this->view->checkInfo = $checkInfo;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 执行转换。*/
|
||||
public function execute()
|
||||
{
|
||||
$convertFunc = 'convert' . $this->post->source;
|
||||
$this->view->header->title = $this->lang->convert->execute;
|
||||
$this->view->source = $this->post->source;
|
||||
$this->view->version = $this->post->version;
|
||||
$this->view->executeResult = $this->fetch('convert', $convertFunc, "version={$this->post->version}");
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 转换BugFree。*/
|
||||
public function convertBugFree($version)
|
||||
{
|
||||
helper::import('./converter/bugfree.php');
|
||||
helper::import("./converter/bugfree$version.php");
|
||||
$className = "bugfree{$version}ConvertModel";
|
||||
$converter = new $className();
|
||||
$this->view->version = $version;
|
||||
$this->view->result = $converter->execute($version);
|
||||
$this->view->info = bugfreeConvertModel::$info;
|
||||
$this->display();
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The control file of convert currentModule of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class convert extends control
|
||||
{
|
||||
/* 安装程序首页。*/
|
||||
public function index()
|
||||
{
|
||||
$this->convert->saveState();
|
||||
$this->view->header->title = $this->lang->convert->common;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 选择系统。*/
|
||||
public function selectSource()
|
||||
{
|
||||
$this->view->header->title = $this->lang->convert->common . $this->lang->colon;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 转换参数设置。*/
|
||||
public function setConfig()
|
||||
{
|
||||
if(!$this->post->source)
|
||||
{
|
||||
echo js::alert($this->lang->convert->mustSelectSource);
|
||||
die(js::locate('back'));
|
||||
}
|
||||
list($sourceName, $version) = explode('_', $this->post->source);
|
||||
$setFunc = "set$sourceName";
|
||||
$this->view->header->title = $this->lang->convert->setting;
|
||||
$this->view->source = $sourceName;
|
||||
$this->view->version = $version;
|
||||
$this->view->setting = $this->fetch('convert', $setFunc, "version=$version");
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* BugFree的设置界面。*/
|
||||
public function setBugFree($version)
|
||||
{
|
||||
$this->view->source = 'BugFree';
|
||||
$this->view->version = $version;
|
||||
$this->view->tablePrefix = $version > 1 ? 'bf_' : '';
|
||||
$this->view->dbName = $version > 1 ? 'bugfree2' : 'BugFree';
|
||||
$this->view->dbCharset = 'utf8';
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 检查配置。*/
|
||||
public function checkConfig()
|
||||
{
|
||||
$checkFunc = 'check' . $this->post->source;
|
||||
$this->view->header->title = $this->lang->convert->checkConfig;
|
||||
$this->view->source = $this->post->source;
|
||||
$this->view->checkResult = $this->fetch('convert', $checkFunc, "version={$this->post->version}");
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 检查BugFree的设置。*/
|
||||
public function checkBugFree($version)
|
||||
{
|
||||
helper::import('./converter/bugfree.php');
|
||||
$converter = new bugfreeConvertModel();
|
||||
|
||||
/* 分别检查数据库、表和安装路径。*/
|
||||
$checkInfo['db'] = $converter->connectDB();
|
||||
//if(is_object($checkInfo['db'])) $checkInfo['table'] = $converter->checkTables();
|
||||
$checkInfo['path'] = $converter->checkPath();
|
||||
|
||||
/* 计算检查结果。*/
|
||||
$result = 'pass';
|
||||
if(!is_object($checkInfo['db']) or !$checkInfo['path']) $result = 'fail';
|
||||
|
||||
/* 赋值。*/
|
||||
$this->view->version = $version;
|
||||
$this->view->source = 'bugfree';
|
||||
$this->view->result = $result;
|
||||
$this->view->checkInfo = $checkInfo;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 执行转换。*/
|
||||
public function execute()
|
||||
{
|
||||
$convertFunc = 'convert' . $this->post->source;
|
||||
$this->view->header->title = $this->lang->convert->execute;
|
||||
$this->view->source = $this->post->source;
|
||||
$this->view->version = $this->post->version;
|
||||
$this->view->executeResult = $this->fetch('convert', $convertFunc, "version={$this->post->version}");
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 转换BugFree。*/
|
||||
public function convertBugFree($version)
|
||||
{
|
||||
helper::import('./converter/bugfree.php');
|
||||
helper::import("./converter/bugfree$version.php");
|
||||
$className = "bugfree{$version}ConvertModel";
|
||||
$converter = new $className();
|
||||
$this->view->version = $version;
|
||||
$this->view->result = $converter->execute($version);
|
||||
$this->view->info = bugfreeConvertModel::$info;
|
||||
$this->display();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,69 +1,56 @@
|
||||
<?php
|
||||
/**
|
||||
* The baisc model file of bugfree convert of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class bugfreeConvertModel extends convertModel
|
||||
{
|
||||
public $map = array();
|
||||
public $filePath = '';
|
||||
static public $info = array();
|
||||
|
||||
/* 构造函数,连接到数据库。*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
parent::connectDB();
|
||||
}
|
||||
|
||||
/* 检查Tables。*/
|
||||
public function checkTables()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 检查安装路径。*/
|
||||
public function checkPath()
|
||||
{
|
||||
$this->setPath();
|
||||
return file_exists($this->filePath);
|
||||
}
|
||||
|
||||
/* 设置附件路径。*/
|
||||
public function setPath()
|
||||
{
|
||||
$this->filePath = realpath($this->post->installPath) . $this->app->getPathFix() . 'BugFile' . $this->app->getPathFix();
|
||||
}
|
||||
|
||||
/* 执行转换。*/
|
||||
public function execute($version)
|
||||
{
|
||||
}
|
||||
|
||||
/* 清空导入之后的数据。*/
|
||||
public function clear()
|
||||
{
|
||||
foreach($this->session->state as $table => $maxID)
|
||||
{
|
||||
$this->dao->dbh($this->dbh)->delete()->from($table)->where('id')->gt($maxID)->exec();
|
||||
}
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The baisc model file of bugfree convert of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class bugfreeConvertModel extends convertModel
|
||||
{
|
||||
public $map = array();
|
||||
public $filePath = '';
|
||||
static public $info = array();
|
||||
|
||||
/* 构造函数,连接到数据库。*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
parent::connectDB();
|
||||
}
|
||||
|
||||
/* 检查Tables。*/
|
||||
public function checkTables()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 检查安装路径。*/
|
||||
public function checkPath()
|
||||
{
|
||||
$this->setPath();
|
||||
return file_exists($this->filePath);
|
||||
}
|
||||
|
||||
/* 设置附件路径。*/
|
||||
public function setPath()
|
||||
{
|
||||
$this->filePath = realpath($this->post->installPath) . $this->app->getPathFix() . 'BugFile' . $this->app->getPathFix();
|
||||
}
|
||||
|
||||
/* 执行转换。*/
|
||||
public function execute($version)
|
||||
{
|
||||
}
|
||||
|
||||
/* 清空导入之后的数据。*/
|
||||
public function clear()
|
||||
{
|
||||
foreach($this->session->state as $table => $maxID)
|
||||
{
|
||||
$this->dao->dbh($this->dbh)->delete()->from($table)->where('id')->gt($maxID)->exec();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,290 +1,277 @@
|
||||
<?php
|
||||
/**
|
||||
* The model file of bugfree version 1 convert of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class bugfree1ConvertModel extends bugfreeConvertModel
|
||||
{
|
||||
/* 执行转换。*/
|
||||
public function execute()
|
||||
{
|
||||
$this->clear();
|
||||
$this->convertGroup();
|
||||
$result['users'] = $this->convertUser();
|
||||
$result['projects'] = $this->convertProject();
|
||||
$result['modules'] = $this->convertModule();
|
||||
$result['bugs'] = $this->convertBug();
|
||||
$result['actions'] = $this->convertAction();
|
||||
$result['files'] = $this->convertFile();
|
||||
$this->dao->dbh($this->dbh);
|
||||
$this->loadModel('tree')->fixModulePath();
|
||||
return $result;
|
||||
}
|
||||
|
||||
/* 转换用户分组。*/
|
||||
public function convertGroup()
|
||||
{
|
||||
$groups = $this->dao->dbh($this->sourceDBH)
|
||||
->select("groupID AS id, groupName AS name, groupUser AS users")
|
||||
->from('BugGroup')
|
||||
->fetchAll('id', $autoCompany = false);
|
||||
foreach($groups as $groupID => $group)
|
||||
{
|
||||
/* 将分组用户拆分成数组。*/
|
||||
$groupUsers = explode(',', $group->users);
|
||||
unset($group->id);
|
||||
unset($group->users);
|
||||
|
||||
/* 插入到group表中。*/
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_GROUP)->data($group)->exec();
|
||||
$zentaoGroupID = $this->dao->lastInsertId();
|
||||
|
||||
/* 设置账户和group的对应关系。*/
|
||||
foreach($groupUsers as $account)
|
||||
{
|
||||
if(empty($account)) continue;
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_USERGROUP)->set('`group`')->eq($zentaoGroupID)->set('account')->eq($account)->exec();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 转换用户。*/
|
||||
public function convertUser()
|
||||
{
|
||||
/* 查询当前系统中存在的用户。*/
|
||||
$activeUsers = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select("username AS account, userpassword AS password, realname, email")
|
||||
->from('BugUser')
|
||||
->orderBy('userID ASC')
|
||||
->fetchAll('account', $autoCompany = false);
|
||||
|
||||
/* 查找曾经出现过的用户。*/
|
||||
$allUsers = $this->dao->select("distinct(username) AS account")->from('BugHistory')->fetchPairs('', '', $autoCompany = false);
|
||||
|
||||
/* 合并二者。*/
|
||||
foreach($allUsers as $key => $account)
|
||||
{
|
||||
if(isset($activeUsers[$account]))
|
||||
{
|
||||
$allUsers[$key] = $activeUsers[$account];
|
||||
}
|
||||
else
|
||||
{
|
||||
$allUsers[$key] = array('account' => $account, 'realname' => $account, 'deleted' => '1');
|
||||
}
|
||||
}
|
||||
foreach($activeUsers as $account => $user) if(!isset($allUsers[$account])) $allUsers[$account] = $user;
|
||||
|
||||
/* 导入到zentao数据库中。*/
|
||||
$convertCount = 0;
|
||||
foreach($allUsers as $account => $user)
|
||||
{
|
||||
if(!$this->dao->dbh($this->dbh)->findByAccount($account)->from(TABLE_USER)->fetch('account'))
|
||||
{
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_USER)->data($user)->exec();
|
||||
$convertCount ++;
|
||||
}
|
||||
else
|
||||
{
|
||||
self::$info['users'][] = sprintf($this->lang->convert->errorUserExists, $account);
|
||||
}
|
||||
}
|
||||
return $convertCount;
|
||||
}
|
||||
|
||||
/* 转换项目为产品。*/
|
||||
public function convertProject()
|
||||
{
|
||||
$projects = $this->dao->dbh($this->sourceDBH)->select("projectID AS id, projectName AS name")->from('BugProject')->fetchAll('id', $autoCompany = false);
|
||||
foreach($projects as $projectID => $project)
|
||||
{
|
||||
unset($project->id);
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_PRODUCT)->data($project)->exec();
|
||||
$this->map['product'][$projectID] = $this->dao->lastInsertID();
|
||||
}
|
||||
return count($projects);
|
||||
}
|
||||
|
||||
/* 转换原来的模块为Bug视图模块。*/
|
||||
public function convertModule()
|
||||
{
|
||||
$this->map['module'][0] = 0;
|
||||
$modules = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select(
|
||||
'moduleID AS id,
|
||||
projectID AS root,
|
||||
moduleName AS name,
|
||||
moduleGrade AS grade,
|
||||
parentID AS parent,
|
||||
"bug" AS type')
|
||||
->from('BugModule')
|
||||
->orderBy('id ASC')
|
||||
->fetchAll('id', $autoCompany = false);
|
||||
foreach($modules as $moduleID => $module)
|
||||
{
|
||||
$module->root = $this->map['product'][$module->root];
|
||||
unset($module->id);
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_MODULE)->data($module)->exec();
|
||||
$this->map['module'][$moduleID] = $this->dao->lastInsertID();
|
||||
}
|
||||
|
||||
/* 更新parent。*/
|
||||
foreach($modules as $oldModuleID => $module)
|
||||
{
|
||||
$newModuleID = $this->map['module'][$oldModuleID];
|
||||
$newParentID = $this->map['module'][$module->parent];
|
||||
$this->dao->dbh($this->dbh)->update(TABLE_MODULE)->set('parent')->eq($newParentID)->where('id')->eq($newModuleID)->exec();
|
||||
}
|
||||
return count($modules);
|
||||
}
|
||||
|
||||
/* 转换Bug。*/
|
||||
public function convertBug()
|
||||
{
|
||||
$bugs = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select('
|
||||
bugID AS id,
|
||||
projectID AS product,
|
||||
moduleID AS module,
|
||||
bugTitle AS title,
|
||||
bugSeverity AS severity,
|
||||
bugType AS type,
|
||||
bugOS AS os,
|
||||
bugStatus AS status,
|
||||
mailto,
|
||||
openedBy, openedDate, openedBuild,
|
||||
assignedTo, assignedDate,
|
||||
resolvedBy, resolution, resolvedBuild, resolvedDate,
|
||||
closedBy, closedDate,
|
||||
lastEditedBy, lastEditedDate,
|
||||
linkID as duplicateBug
|
||||
')
|
||||
->from('BugInfo')
|
||||
->orderBy('bugID')
|
||||
->fetchAll('id', $autoCompany = false);
|
||||
foreach($bugs as $bugID => $bug)
|
||||
{
|
||||
/* 修正Bug数据。*/
|
||||
$bugID = (int)$bugID;
|
||||
unset($bug->id);
|
||||
if($bug->assignedTo == 'Closed') $bug->assignedTo = 'closed';
|
||||
$bug->type = strtolower($bug->type);
|
||||
$bug->os = strtolower($bug->os);
|
||||
$bug->browser = 'all';
|
||||
$bug->resolution = str_replace(' ','', strtolower($bug->resolution));
|
||||
$bug->product = $this->map['product'][$bug->product];
|
||||
$bug->module = $this->map['module'][$bug->module];
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_BUG)->data($bug)->exec();
|
||||
$this->map['bug'][$bugID] = $this->dao->lastInsertID();
|
||||
}
|
||||
|
||||
/* 更新duplicateBug。 */
|
||||
foreach($this->map['bug'] as $oldBugID => $newBugID)
|
||||
{
|
||||
$this->dao->dbh($this->dbh)->update(TABLE_BUG)->set('duplicateBug')->eq($newBugID)->where('duplicateBug')->eq($oldBugID)->exec();
|
||||
}
|
||||
return count($bugs);
|
||||
}
|
||||
|
||||
/* 转换历史记录。*/
|
||||
public function convertAction()
|
||||
{
|
||||
$actions = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select("
|
||||
'bug' AS objectType,
|
||||
bugID AS objectID,
|
||||
userName AS actor,
|
||||
action,
|
||||
fullInfo AS comment,
|
||||
actionDate AS date")
|
||||
->from('BugHistory')
|
||||
->orderBy('bugID, historyID')
|
||||
->fetchGroup('objectID', '', $autoCompany = false);
|
||||
$convertCount = 0;
|
||||
foreach($actions as $bugID => $bugActions)
|
||||
{
|
||||
/* 获得转换之后的bugID。*/
|
||||
$bugID = (int)$bugID;
|
||||
$zentaoBugID = $this->map['bug'][$bugID];
|
||||
|
||||
/* 处理action。*/
|
||||
foreach($bugActions as $key => $action)
|
||||
{
|
||||
$action->objectID = $zentaoBugID;
|
||||
if($key == 0)
|
||||
{
|
||||
$this->dao->dbh($this->dbh)->update(TABLE_BUG)->set('steps')->eq($action->comment)->where('id')->eq($zentaoBugID)->exec();
|
||||
$action->comment = '';
|
||||
}
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_ACTION)->data($action)->exec();
|
||||
$convertCount ++;
|
||||
}
|
||||
}
|
||||
return $convertCount;
|
||||
}
|
||||
|
||||
/* 转换附件。*/
|
||||
public function convertFile()
|
||||
{
|
||||
$this->setPath();
|
||||
$files = $this->dao->dbh($this->sourceDBH)
|
||||
->select("
|
||||
fileName AS pathname,
|
||||
fileTitle AS title,
|
||||
fileType AS extension,
|
||||
fileSize AS size,
|
||||
'bug' AS objectType,
|
||||
bugID AS objectID,
|
||||
addUser AS addedBy,
|
||||
addDate AS addedDate
|
||||
")
|
||||
->from('BugFile')
|
||||
->orderBy('fileID')
|
||||
->fetchAll('', $autoCompany = false);
|
||||
foreach($files as $file)
|
||||
{
|
||||
$file->objectID = $this->map['bug'][(int)$file->objectID];
|
||||
if(strpos($file->size, 'KB')) $file->size = (int)(str_replace('KB', '', $file->size) * 1024);
|
||||
if(strpos($file->size, 'MB')) $file->size = (int)(str_replace('MB', '', $file->size) * 1024 * 1024);
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_FILE)->data($file)->exec();
|
||||
|
||||
/* 拷贝文件。*/
|
||||
$soureFile = $this->filePath . $file->pathname;
|
||||
if(!file_exists($soureFile))
|
||||
{
|
||||
self::$info['files'][] = sprintf($this->lang->convert->errorFileNotExits, $soureFile);
|
||||
continue;
|
||||
}
|
||||
$targetFile = $this->app->getAppRoot() . "www/data/upload/{$this->app->company->id}/" . $file->pathname;
|
||||
$targetPath = dirname($targetFile);
|
||||
if(!is_dir($targetPath)) mkdir($targetPath, 0777, true);
|
||||
if(!copy($soureFile, $targetFile))
|
||||
{
|
||||
self::$info['files'][] = sprintf($this->lang->convert->errorCopyFailed, $targetFile);
|
||||
}
|
||||
}
|
||||
return count($files);
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The model file of bugfree version 1 convert of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class bugfree1ConvertModel extends bugfreeConvertModel
|
||||
{
|
||||
/* 执行转换。*/
|
||||
public function execute()
|
||||
{
|
||||
$this->clear();
|
||||
$this->convertGroup();
|
||||
$result['users'] = $this->convertUser();
|
||||
$result['projects'] = $this->convertProject();
|
||||
$result['modules'] = $this->convertModule();
|
||||
$result['bugs'] = $this->convertBug();
|
||||
$result['actions'] = $this->convertAction();
|
||||
$result['files'] = $this->convertFile();
|
||||
$this->dao->dbh($this->dbh);
|
||||
$this->loadModel('tree')->fixModulePath();
|
||||
return $result;
|
||||
}
|
||||
|
||||
/* 转换用户分组。*/
|
||||
public function convertGroup()
|
||||
{
|
||||
$groups = $this->dao->dbh($this->sourceDBH)
|
||||
->select("groupID AS id, groupName AS name, groupUser AS users")
|
||||
->from('BugGroup')
|
||||
->fetchAll('id', $autoCompany = false);
|
||||
foreach($groups as $groupID => $group)
|
||||
{
|
||||
/* 将分组用户拆分成数组。*/
|
||||
$groupUsers = explode(',', $group->users);
|
||||
unset($group->id);
|
||||
unset($group->users);
|
||||
|
||||
/* 插入到group表中。*/
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_GROUP)->data($group)->exec();
|
||||
$zentaoGroupID = $this->dao->lastInsertId();
|
||||
|
||||
/* 设置账户和group的对应关系。*/
|
||||
foreach($groupUsers as $account)
|
||||
{
|
||||
if(empty($account)) continue;
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_USERGROUP)->set('`group`')->eq($zentaoGroupID)->set('account')->eq($account)->exec();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 转换用户。*/
|
||||
public function convertUser()
|
||||
{
|
||||
/* 查询当前系统中存在的用户。*/
|
||||
$activeUsers = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select("username AS account, userpassword AS password, realname, email")
|
||||
->from('BugUser')
|
||||
->orderBy('userID ASC')
|
||||
->fetchAll('account', $autoCompany = false);
|
||||
|
||||
/* 查找曾经出现过的用户。*/
|
||||
$allUsers = $this->dao->select("distinct(username) AS account")->from('BugHistory')->fetchPairs('', '', $autoCompany = false);
|
||||
|
||||
/* 合并二者。*/
|
||||
foreach($allUsers as $key => $account)
|
||||
{
|
||||
if(isset($activeUsers[$account]))
|
||||
{
|
||||
$allUsers[$key] = $activeUsers[$account];
|
||||
}
|
||||
else
|
||||
{
|
||||
$allUsers[$key] = array('account' => $account, 'realname' => $account, 'deleted' => '1');
|
||||
}
|
||||
}
|
||||
foreach($activeUsers as $account => $user) if(!isset($allUsers[$account])) $allUsers[$account] = $user;
|
||||
|
||||
/* 导入到zentao数据库中。*/
|
||||
$convertCount = 0;
|
||||
foreach($allUsers as $account => $user)
|
||||
{
|
||||
if(!$this->dao->dbh($this->dbh)->findByAccount($account)->from(TABLE_USER)->fetch('account'))
|
||||
{
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_USER)->data($user)->exec();
|
||||
$convertCount ++;
|
||||
}
|
||||
else
|
||||
{
|
||||
self::$info['users'][] = sprintf($this->lang->convert->errorUserExists, $account);
|
||||
}
|
||||
}
|
||||
return $convertCount;
|
||||
}
|
||||
|
||||
/* 转换项目为产品。*/
|
||||
public function convertProject()
|
||||
{
|
||||
$projects = $this->dao->dbh($this->sourceDBH)->select("projectID AS id, projectName AS name")->from('BugProject')->fetchAll('id', $autoCompany = false);
|
||||
foreach($projects as $projectID => $project)
|
||||
{
|
||||
unset($project->id);
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_PRODUCT)->data($project)->exec();
|
||||
$this->map['product'][$projectID] = $this->dao->lastInsertID();
|
||||
}
|
||||
return count($projects);
|
||||
}
|
||||
|
||||
/* 转换原来的模块为Bug视图模块。*/
|
||||
public function convertModule()
|
||||
{
|
||||
$this->map['module'][0] = 0;
|
||||
$modules = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select(
|
||||
'moduleID AS id,
|
||||
projectID AS root,
|
||||
moduleName AS name,
|
||||
moduleGrade AS grade,
|
||||
parentID AS parent,
|
||||
"bug" AS type')
|
||||
->from('BugModule')
|
||||
->orderBy('id ASC')
|
||||
->fetchAll('id', $autoCompany = false);
|
||||
foreach($modules as $moduleID => $module)
|
||||
{
|
||||
$module->root = $this->map['product'][$module->root];
|
||||
unset($module->id);
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_MODULE)->data($module)->exec();
|
||||
$this->map['module'][$moduleID] = $this->dao->lastInsertID();
|
||||
}
|
||||
|
||||
/* 更新parent。*/
|
||||
foreach($modules as $oldModuleID => $module)
|
||||
{
|
||||
$newModuleID = $this->map['module'][$oldModuleID];
|
||||
$newParentID = $this->map['module'][$module->parent];
|
||||
$this->dao->dbh($this->dbh)->update(TABLE_MODULE)->set('parent')->eq($newParentID)->where('id')->eq($newModuleID)->exec();
|
||||
}
|
||||
return count($modules);
|
||||
}
|
||||
|
||||
/* 转换Bug。*/
|
||||
public function convertBug()
|
||||
{
|
||||
$bugs = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select('
|
||||
bugID AS id,
|
||||
projectID AS product,
|
||||
moduleID AS module,
|
||||
bugTitle AS title,
|
||||
bugSeverity AS severity,
|
||||
bugType AS type,
|
||||
bugOS AS os,
|
||||
bugStatus AS status,
|
||||
mailto,
|
||||
openedBy, openedDate, openedBuild,
|
||||
assignedTo, assignedDate,
|
||||
resolvedBy, resolution, resolvedBuild, resolvedDate,
|
||||
closedBy, closedDate,
|
||||
lastEditedBy, lastEditedDate,
|
||||
linkID as duplicateBug
|
||||
')
|
||||
->from('BugInfo')
|
||||
->orderBy('bugID')
|
||||
->fetchAll('id', $autoCompany = false);
|
||||
foreach($bugs as $bugID => $bug)
|
||||
{
|
||||
/* 修正Bug数据。*/
|
||||
$bugID = (int)$bugID;
|
||||
unset($bug->id);
|
||||
if($bug->assignedTo == 'Closed') $bug->assignedTo = 'closed';
|
||||
$bug->type = strtolower($bug->type);
|
||||
$bug->os = strtolower($bug->os);
|
||||
$bug->browser = 'all';
|
||||
$bug->resolution = str_replace(' ','', strtolower($bug->resolution));
|
||||
$bug->product = $this->map['product'][$bug->product];
|
||||
$bug->module = $this->map['module'][$bug->module];
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_BUG)->data($bug)->exec();
|
||||
$this->map['bug'][$bugID] = $this->dao->lastInsertID();
|
||||
}
|
||||
|
||||
/* 更新duplicateBug。 */
|
||||
foreach($this->map['bug'] as $oldBugID => $newBugID)
|
||||
{
|
||||
$this->dao->dbh($this->dbh)->update(TABLE_BUG)->set('duplicateBug')->eq($newBugID)->where('duplicateBug')->eq($oldBugID)->exec();
|
||||
}
|
||||
return count($bugs);
|
||||
}
|
||||
|
||||
/* 转换历史记录。*/
|
||||
public function convertAction()
|
||||
{
|
||||
$actions = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select("
|
||||
'bug' AS objectType,
|
||||
bugID AS objectID,
|
||||
userName AS actor,
|
||||
action,
|
||||
fullInfo AS comment,
|
||||
actionDate AS date")
|
||||
->from('BugHistory')
|
||||
->orderBy('bugID, historyID')
|
||||
->fetchGroup('objectID', '', $autoCompany = false);
|
||||
$convertCount = 0;
|
||||
foreach($actions as $bugID => $bugActions)
|
||||
{
|
||||
/* 获得转换之后的bugID。*/
|
||||
$bugID = (int)$bugID;
|
||||
$zentaoBugID = $this->map['bug'][$bugID];
|
||||
|
||||
/* 处理action。*/
|
||||
foreach($bugActions as $key => $action)
|
||||
{
|
||||
$action->objectID = $zentaoBugID;
|
||||
if($key == 0)
|
||||
{
|
||||
$this->dao->dbh($this->dbh)->update(TABLE_BUG)->set('steps')->eq($action->comment)->where('id')->eq($zentaoBugID)->exec();
|
||||
$action->comment = '';
|
||||
}
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_ACTION)->data($action)->exec();
|
||||
$convertCount ++;
|
||||
}
|
||||
}
|
||||
return $convertCount;
|
||||
}
|
||||
|
||||
/* 转换附件。*/
|
||||
public function convertFile()
|
||||
{
|
||||
$this->setPath();
|
||||
$files = $this->dao->dbh($this->sourceDBH)
|
||||
->select("
|
||||
fileName AS pathname,
|
||||
fileTitle AS title,
|
||||
fileType AS extension,
|
||||
fileSize AS size,
|
||||
'bug' AS objectType,
|
||||
bugID AS objectID,
|
||||
addUser AS addedBy,
|
||||
addDate AS addedDate
|
||||
")
|
||||
->from('BugFile')
|
||||
->orderBy('fileID')
|
||||
->fetchAll('', $autoCompany = false);
|
||||
foreach($files as $file)
|
||||
{
|
||||
$file->objectID = $this->map['bug'][(int)$file->objectID];
|
||||
if(strpos($file->size, 'KB')) $file->size = (int)(str_replace('KB', '', $file->size) * 1024);
|
||||
if(strpos($file->size, 'MB')) $file->size = (int)(str_replace('MB', '', $file->size) * 1024 * 1024);
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_FILE)->data($file)->exec();
|
||||
|
||||
/* 拷贝文件。*/
|
||||
$soureFile = $this->filePath . $file->pathname;
|
||||
if(!file_exists($soureFile))
|
||||
{
|
||||
self::$info['files'][] = sprintf($this->lang->convert->errorFileNotExits, $soureFile);
|
||||
continue;
|
||||
}
|
||||
$targetFile = $this->app->getAppRoot() . "www/data/upload/{$this->app->company->id}/" . $file->pathname;
|
||||
$targetPath = dirname($targetFile);
|
||||
if(!is_dir($targetPath)) mkdir($targetPath, 0777, true);
|
||||
if(!copy($soureFile, $targetFile))
|
||||
{
|
||||
self::$info['files'][] = sprintf($this->lang->convert->errorCopyFailed, $targetFile);
|
||||
}
|
||||
}
|
||||
return count($files);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,459 +1,446 @@
|
||||
<?php
|
||||
/**
|
||||
* The model file of bugfree2 convert of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class bugfree2ConvertModel extends bugfreeConvertModel
|
||||
{
|
||||
/* 执行转换。*/
|
||||
public function execute()
|
||||
{
|
||||
$this->clear();
|
||||
$this->setTable();
|
||||
$this->convertGroup();
|
||||
$result['users'] = $this->convertUser();
|
||||
$result['projects'] = $this->convertProject();
|
||||
$result['modules'] = $this->convertModule();
|
||||
$result['bugs'] = $this->convertBug();
|
||||
$result['cases'] = $this->convertCase();
|
||||
$result['results'] = $this->convertResult();
|
||||
$result['actions'] = $this->convertAction();
|
||||
$result['files'] = $this->convertFile();
|
||||
$this->dao->dbh($this->dbh);
|
||||
$this->loadModel('tree')->fixModulePath();
|
||||
return $result;
|
||||
}
|
||||
|
||||
/* 设置表名。*/
|
||||
public function setTable()
|
||||
{
|
||||
$dbPrefix = $this->post->dbPrefix;
|
||||
define('BUGFREE_TABLE_USER', $dbPrefix . 'TestUser');
|
||||
define('BUGFREE_TABLE_PROJECT', $dbPrefix . 'TestProject');
|
||||
define('BUGFREE_TABLE_MODULE', $dbPrefix . 'TestModule');
|
||||
define('BUGFREE_TABLE_BUGINFO', $dbPrefix . 'BugInfo');
|
||||
define('BUGFREE_TABLE_CASEINFO', $dbPrefix . 'CaseInfo');
|
||||
define('BUGFREE_TABLE_RESULTINFO', $dbPrefix . 'ResultInfo');
|
||||
define('BUGFREE_TABLE_ACTION', $dbPrefix . 'TestAction');
|
||||
define('BUGFREE_TABLE_FILE', $dbPrefix . 'TestFile');
|
||||
define('BUGFREE_TABLE_HISTORY', $dbPrefix . 'TestHistory');
|
||||
define('BUGFREE_TABLE_GROUP', $dbPrefix . 'TestGroup');
|
||||
}
|
||||
|
||||
/* 转换用户。*/
|
||||
public function convertUser()
|
||||
{
|
||||
/* 获得所有的用户列表。*/
|
||||
$users = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select("username AS account, userpassword AS password, realname, email, isDroped AS deleted")
|
||||
->from(BUGFREE_TABLE_USER)
|
||||
->orderBy('userID ASC')
|
||||
->fetchAll('account', $autoCompany = false);
|
||||
|
||||
/* 导入到zentao数据库中。*/
|
||||
$convertCount = 0;
|
||||
foreach($users as $account => $user)
|
||||
{
|
||||
if(!$this->dao->dbh($this->dbh)->findByAccount($account)->from(TABLE_USER)->fetch('account'))
|
||||
{
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_USER)->data($user)->exec();
|
||||
$convertCount ++;
|
||||
}
|
||||
else
|
||||
{
|
||||
self::$info['users'][] = sprintf($this->lang->convert->errorUserExists, $account);
|
||||
}
|
||||
}
|
||||
return $convertCount;
|
||||
}
|
||||
|
||||
/* 转换用户分组。*/
|
||||
public function convertGroup()
|
||||
{
|
||||
$groups = $this->dao->dbh($this->sourceDBH)
|
||||
->select("groupID AS id, groupName AS name, groupUser AS users")
|
||||
->from(BUGFREE_TABLE_GROUP)
|
||||
->fetchAll('id', $autoCompany = false);
|
||||
foreach($groups as $groupID => $group)
|
||||
{
|
||||
/* 处理group数据。*/
|
||||
if($group->name == '[All Users]') continue;
|
||||
$groupUsers = explode(',', $group->users);
|
||||
unset($group->id);
|
||||
unset($group->users);
|
||||
|
||||
/* 插入到group表。*/
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_GROUP)->data($group)->exec();
|
||||
$zentaoGroupID = $this->dao->lastInsertId();
|
||||
|
||||
/* 插入到userGroup表。*/
|
||||
foreach($groupUsers as $account)
|
||||
{
|
||||
if(empty($account)) continue;
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_USERGROUP)
|
||||
->set('`group`')->eq($zentaoGroupID)
|
||||
->set('account')->eq($account)
|
||||
->exec();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 转换项目为产品。*/
|
||||
public function convertProject()
|
||||
{
|
||||
$projects = $this->dao->dbh($this->sourceDBH)
|
||||
->select("projectID AS id, projectName AS name, isDroped AS deleted")
|
||||
->from(BUGFREE_TABLE_PROJECT)
|
||||
->fetchAll('id', $autoComapny = false);
|
||||
foreach($projects as $projectID => $project)
|
||||
{
|
||||
unset($project->id);
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_PRODUCT)->data($project)->exec();
|
||||
$this->map['product'][$projectID] = $this->dao->lastInsertID();
|
||||
}
|
||||
return count($projects);
|
||||
}
|
||||
|
||||
/* 转换原来的模块为Bug视图模块。*/
|
||||
public function convertModule()
|
||||
{
|
||||
$this->map['module'][0] = 0;
|
||||
$modules = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select(
|
||||
'moduleID AS id,
|
||||
moduleType as type,
|
||||
projectID AS root,
|
||||
moduleName AS name,
|
||||
moduleGrade AS grade,
|
||||
parentID AS parent,
|
||||
displayOrder AS `order`')
|
||||
->from(BUGFREE_TABLE_MODULE)
|
||||
->orderBy('id ASC')
|
||||
->fetchAll('id', $autoCompany = false);
|
||||
foreach($modules as $moduleID => $module)
|
||||
{
|
||||
$module->root = $this->map['product'][$module->root];
|
||||
$module->type = strtolower($module->type);
|
||||
unset($module->id);
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_MODULE)->data($module)->exec();
|
||||
$this->map['module'][$moduleID] = $this->dao->lastInsertID();
|
||||
}
|
||||
|
||||
/* 更新parent。*/
|
||||
foreach($modules as $oldModuleID => $module)
|
||||
{
|
||||
$newModuleID = $this->map['module'][$oldModuleID];
|
||||
$newParentID = $this->map['module'][$module->parent];
|
||||
$this->dao->dbh($this->dbh)->update(TABLE_MODULE)->set('parent')->eq($newParentID)->where('id')->eq($newModuleID)->exec();
|
||||
}
|
||||
return count($modules);
|
||||
}
|
||||
|
||||
/* 转换Bug。*/
|
||||
public function convertBug()
|
||||
{
|
||||
$bugs = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select('
|
||||
bugID AS id,
|
||||
projectID AS product,
|
||||
moduleID AS module,
|
||||
bugTitle AS title,
|
||||
bugSeverity AS severity,
|
||||
bugPriority AS pri,
|
||||
bugType AS type,
|
||||
bugOS AS os,
|
||||
bugBrowser AS browser,
|
||||
bugMachine AS hardware,
|
||||
howFound AS found,
|
||||
reproSteps AS steps,
|
||||
bugStatus AS status,
|
||||
linkID AS linkBug,
|
||||
duplicateID AS duplicateBug,
|
||||
caseID AS `case`,
|
||||
1 AS caseVersion,
|
||||
resultID AS result,
|
||||
mailto,
|
||||
openedBy, openedDate, openedBuild,
|
||||
assignedTo, assignedDate,
|
||||
resolvedBy, resolution, resolvedBuild, resolvedDate,
|
||||
closedBy, closedDate,
|
||||
lastEditedBy, lastEditedDate,
|
||||
bugKeyword AS keywords
|
||||
')
|
||||
->from(BUGFREE_TABLE_BUGINFO)
|
||||
->where('isDroped')->eq(0)
|
||||
->orderBy('bugID')
|
||||
->fetchAll('id', $autoCompany = false);
|
||||
foreach($bugs as $bugID => $bug)
|
||||
{
|
||||
/* 修正Bug数据。*/
|
||||
$bugID = (int)$bugID;
|
||||
unset($bug->id);
|
||||
|
||||
if($bug->assignedTo == 'Closed') $bug->assignedTo = 'closed';
|
||||
if($bug->assignedTo == 'Active') $bug->assignedTo = '';
|
||||
|
||||
$bug->type = strtolower($bug->type);
|
||||
$bug->found = strtolower($bug->found);
|
||||
$bug->status = strtolower($bug->status);
|
||||
$bug->os = strtolower($bug->os);
|
||||
$bug->browser= strtolower($bug->browser);
|
||||
|
||||
if($bug->os == 'winvista') $bug->os = 'vista';
|
||||
if($bug->browser == 'firefox3.0') $bug->browser = 'firefox3';
|
||||
if($bug->browser == 'firefox2.0') $bug->browser = 'firefox2';
|
||||
if($bug->openedBuild == 'N/A') $bug->openedBuild = '';
|
||||
if(!$bug->case) $bug->caseVersion = 0;
|
||||
|
||||
$bug->resolution = str_replace(' ', '', strtolower($bug->resolution));
|
||||
$bug->product = $this->map['product'][$bug->product];
|
||||
$bug->module = $this->map['module'][$bug->module];
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_BUG)->data($bug)->exec();
|
||||
$this->map['bug'][$bugID] = $this->dao->lastInsertID();
|
||||
}
|
||||
|
||||
/* 更新duplicateBug。 */
|
||||
foreach($this->map['bug'] as $oldBugID => $newBugID)
|
||||
{
|
||||
$this->dao->dbh($this->dbh)->update(TABLE_BUG)->set('duplicateBug')->eq($newBugID)->where('duplicateBug')->eq($oldBugID)->exec();
|
||||
}
|
||||
return count($bugs);
|
||||
}
|
||||
|
||||
/* 转换case。*/
|
||||
public function convertCase()
|
||||
{
|
||||
$cases = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select('
|
||||
caseID AS id,
|
||||
projectID AS product,
|
||||
moduleID AS module,
|
||||
caseTitle AS title,
|
||||
caseSteps AS step,
|
||||
casePriority AS pri,
|
||||
caseType AS type,
|
||||
caseStatus AS status,
|
||||
caseMethod AS howRun,
|
||||
casePlan AS stage,
|
||||
openedBy, openedDate,
|
||||
lastEditedBy, lastEditedDate,
|
||||
scriptedBy, scriptedDate, scriptStatus, scriptLocation,
|
||||
linkID AS linkCase,
|
||||
casekeyword AS keywords,
|
||||
1 AS version,
|
||||
bugID
|
||||
')
|
||||
->from(BUGFREE_TABLE_CASEINFO)
|
||||
->where('isDroped')->eq(0)
|
||||
->orderBy('caseID')
|
||||
->fetchAll('id', $autoCompany = false);
|
||||
foreach($cases as $caseID => $case)
|
||||
{
|
||||
/* 修正case的数据。*/
|
||||
$caseID = (int)$caseID;
|
||||
$step = $case->step;
|
||||
$bugs = explode(',', $case->bugID);
|
||||
unset($case->id);
|
||||
unset($case->step);
|
||||
unset($case->bugID);
|
||||
|
||||
$case->type = strtolower($case->type);
|
||||
$case->status = strtolower($case->status);
|
||||
$case->howRun = strtolower($case->howRun);
|
||||
$case->stage = strtolower($case->stage);
|
||||
|
||||
if($case->type == 'configuration') $case->type = 'config';
|
||||
if($case->type == 'setup') $case->type = 'install';
|
||||
if($case->type == 'functional') $case->type = 'feature';
|
||||
if($case->status == 'active') $case->status = 'normal';
|
||||
|
||||
/* 将产品和模块替换成禅道系统中的id。*/
|
||||
$case->product = $this->map['product'][$case->product];
|
||||
$case->module = $this->map['module'][$case->module];
|
||||
|
||||
/* 插入到case表中。*/
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_CASE)->data($case)->exec();
|
||||
$zentaoCaseID = $this->dao->lastInsertID();
|
||||
$this->map['case'][$caseID] = $zentaoCaseID;
|
||||
|
||||
/* 用例步骤表。*/
|
||||
$caseStep->case = $zentaoCaseID;
|
||||
$caseStep->version = 1;
|
||||
$caseStep->desc = $step;
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_CASESTEP)->data($caseStep)->exec();
|
||||
|
||||
/* 更新相关bug。*/
|
||||
foreach($bugs as $bugID)
|
||||
{
|
||||
if(!isset($this->map['bug'][$bugID])) continue;
|
||||
$zentaoBugID = $this->map['bug'][$bugID];
|
||||
$this->dao->dbh($this->dbh)->update(TABLE_BUG)->set('`case`')->eq($zentaoCaseID)->where('id')->eq($zentaoBugID)->limit(1)->exec();
|
||||
}
|
||||
}
|
||||
return count($cases);
|
||||
}
|
||||
|
||||
/* 转换测试执行结果。*/
|
||||
public function convertResult()
|
||||
{
|
||||
$results = $this->dao->dbh($this->sourceDBH)
|
||||
->select('
|
||||
resultID AS id,
|
||||
caseID AS `case`,
|
||||
resultValue AS caseResult,
|
||||
1 AS version,
|
||||
openedDate as date,
|
||||
bugID
|
||||
')
|
||||
->from(BUGFREE_TABLE_RESULTINFO)
|
||||
->orderBy('id')
|
||||
->fetchAll('id', $autoCompany = false);
|
||||
foreach($results as $resultID => $result)
|
||||
{
|
||||
unset($result->id);
|
||||
|
||||
/* 记录对应的bug信息。*/
|
||||
$bugID = (int)$result->bugID;
|
||||
$zentaoBugID = $this->map['bug'][$bugID];
|
||||
unset($result->bugID);
|
||||
|
||||
/* 插入到testResult表中。*/
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_TESTRESULT)->data($result)->exec();
|
||||
$zentaoResultID = $this->dao->lastInsertId();
|
||||
$this->map['result'][$resultID] = $zentaoResultID;
|
||||
|
||||
/* 更新bug表中的result字段。*/
|
||||
$this->dao->dbh($this->dbh)->update(TABLE_BUG)->set('result')->eq($zentaoResultID)->where('id')->eq($zentaoBugID)->limit(1)->exec();
|
||||
}
|
||||
return count($results);
|
||||
}
|
||||
|
||||
/* 转换历史记录。*/
|
||||
public function convertAction()
|
||||
{
|
||||
$actions = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select("actionID AS id,
|
||||
actionTarget AS objectType,
|
||||
idValue AS objectID,
|
||||
actionUser AS actor,
|
||||
actionType AS action,
|
||||
actionDate AS date,
|
||||
actionNote AS comment
|
||||
")
|
||||
->from(BUGFREE_TABLE_ACTION)
|
||||
->where('actionTarget' != 'Result')
|
||||
->orderBy('actionID')
|
||||
->fetchAll('id', $autoComapny = false);
|
||||
|
||||
foreach($actions as $actionID => $action)
|
||||
{
|
||||
$actionID = (int)$action->id;
|
||||
unset($action->id);
|
||||
$action->objectType = strtolower($action->objectType);
|
||||
$action->action = strtolower($action->action);
|
||||
$action->objectID = $this->map[$action->objectType][$action->objectID];
|
||||
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_ACTION)->data($action)->exec();
|
||||
$this->map['action'][$actionID] = $this->dao->lastInsertID();
|
||||
}
|
||||
return count($actions);
|
||||
}
|
||||
|
||||
/* 转换历史修改记录。*/
|
||||
public function convertHistory()
|
||||
{
|
||||
$histories = $this->dao->dbh($this->sourceDBH)
|
||||
->select('actioID, actionField AS field, oldValue AS old, newValue AS new')
|
||||
->from(BUGFREE_TABLE_HISTORY)
|
||||
->orderBy('historyID')
|
||||
->fetchAll('', $autoCompany = false);
|
||||
foreach($histories as $history)
|
||||
{
|
||||
$history->actionID = $this->map['action'][$history->actionID];
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_HISTORY)->data($history)->exec();
|
||||
}
|
||||
}
|
||||
|
||||
/* 转换附件。*/
|
||||
public function convertFile()
|
||||
{
|
||||
$this->setPath();
|
||||
$files = $this->dao->dbh($this->sourceDBH)
|
||||
->select("
|
||||
actionID,
|
||||
fileName AS pathname,
|
||||
fileTitle AS title,
|
||||
fileType AS extension,
|
||||
fileSize AS size
|
||||
")
|
||||
->from(BUGFREE_TABLE_FILE)
|
||||
->orderBy('fileID')
|
||||
->fetchAll('', $autoCompany = false);
|
||||
foreach($files as $file)
|
||||
{
|
||||
/* 查找对应的action信息,以获得文件的相关字段。*/
|
||||
$zentaoActionID = $this->map['action'][$file->actionID];
|
||||
$zentaoAction = $this->dao->dbh($this->dbh)->findById($zentaoActionID)->from(TABLE_ACTION)->fetch();
|
||||
$file->objectType = $zentaoAction->objectType;
|
||||
$file->objectID = $zentaoAction->objectID;
|
||||
$file->addedBy = $zentaoAction->actor;
|
||||
$file->addedDate = $zentaoAction->date;
|
||||
unset($file->actionID);
|
||||
|
||||
/* 处理文件大小。*/
|
||||
if(strpos($file->size, 'KB')) $file->size = (int)(str_replace('KB', '', $file->size) * 1024);
|
||||
if(strpos($file->size, 'MB')) $file->size = (int)(str_replace('MB', '', $file->size) * 1024 * 1024);
|
||||
|
||||
/* 插入到数据库。*/
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_FILE)->data($file)->exec();
|
||||
|
||||
/* 拷贝文件。*/
|
||||
$soureFile = $this->filePath . $file->pathname;
|
||||
if(!file_exists($soureFile))
|
||||
{
|
||||
self::$info['files'][] = sprintf($this->lang->convert->errorFileNotExits, $soureFile);
|
||||
continue;
|
||||
}
|
||||
$targetFile = $this->app->getAppRoot() . "www/data/upload/{$this->app->company->id}/" . $file->pathname;
|
||||
$targetPath = dirname($targetFile);
|
||||
if(!is_dir($targetPath)) mkdir($targetPath, 0777, true);
|
||||
if(!copy($soureFile, $targetFile))
|
||||
{
|
||||
self::$info['files'][] = sprintf($this->lang->convert->errorCopyFailed, $targetFile);
|
||||
}
|
||||
}
|
||||
return count($files);
|
||||
}
|
||||
|
||||
/* 清空导入之后的数据。*/
|
||||
public function clear()
|
||||
{
|
||||
foreach($this->session->state as $table => $maxID)
|
||||
{
|
||||
$this->dao->dbh($this->dbh)->delete()->from($table)->where('id')->gt($maxID)->exec();
|
||||
}
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The model file of bugfree2 convert of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class bugfree2ConvertModel extends bugfreeConvertModel
|
||||
{
|
||||
/* 执行转换。*/
|
||||
public function execute()
|
||||
{
|
||||
$this->clear();
|
||||
$this->setTable();
|
||||
$this->convertGroup();
|
||||
$result['users'] = $this->convertUser();
|
||||
$result['projects'] = $this->convertProject();
|
||||
$result['modules'] = $this->convertModule();
|
||||
$result['bugs'] = $this->convertBug();
|
||||
$result['cases'] = $this->convertCase();
|
||||
$result['results'] = $this->convertResult();
|
||||
$result['actions'] = $this->convertAction();
|
||||
$result['files'] = $this->convertFile();
|
||||
$this->dao->dbh($this->dbh);
|
||||
$this->loadModel('tree')->fixModulePath();
|
||||
return $result;
|
||||
}
|
||||
|
||||
/* 设置表名。*/
|
||||
public function setTable()
|
||||
{
|
||||
$dbPrefix = $this->post->dbPrefix;
|
||||
define('BUGFREE_TABLE_USER', $dbPrefix . 'TestUser');
|
||||
define('BUGFREE_TABLE_PROJECT', $dbPrefix . 'TestProject');
|
||||
define('BUGFREE_TABLE_MODULE', $dbPrefix . 'TestModule');
|
||||
define('BUGFREE_TABLE_BUGINFO', $dbPrefix . 'BugInfo');
|
||||
define('BUGFREE_TABLE_CASEINFO', $dbPrefix . 'CaseInfo');
|
||||
define('BUGFREE_TABLE_RESULTINFO', $dbPrefix . 'ResultInfo');
|
||||
define('BUGFREE_TABLE_ACTION', $dbPrefix . 'TestAction');
|
||||
define('BUGFREE_TABLE_FILE', $dbPrefix . 'TestFile');
|
||||
define('BUGFREE_TABLE_HISTORY', $dbPrefix . 'TestHistory');
|
||||
define('BUGFREE_TABLE_GROUP', $dbPrefix . 'TestGroup');
|
||||
}
|
||||
|
||||
/* 转换用户。*/
|
||||
public function convertUser()
|
||||
{
|
||||
/* 获得所有的用户列表。*/
|
||||
$users = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select("username AS account, userpassword AS password, realname, email, isDroped AS deleted")
|
||||
->from(BUGFREE_TABLE_USER)
|
||||
->orderBy('userID ASC')
|
||||
->fetchAll('account', $autoCompany = false);
|
||||
|
||||
/* 导入到zentao数据库中。*/
|
||||
$convertCount = 0;
|
||||
foreach($users as $account => $user)
|
||||
{
|
||||
if(!$this->dao->dbh($this->dbh)->findByAccount($account)->from(TABLE_USER)->fetch('account'))
|
||||
{
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_USER)->data($user)->exec();
|
||||
$convertCount ++;
|
||||
}
|
||||
else
|
||||
{
|
||||
self::$info['users'][] = sprintf($this->lang->convert->errorUserExists, $account);
|
||||
}
|
||||
}
|
||||
return $convertCount;
|
||||
}
|
||||
|
||||
/* 转换用户分组。*/
|
||||
public function convertGroup()
|
||||
{
|
||||
$groups = $this->dao->dbh($this->sourceDBH)
|
||||
->select("groupID AS id, groupName AS name, groupUser AS users")
|
||||
->from(BUGFREE_TABLE_GROUP)
|
||||
->fetchAll('id', $autoCompany = false);
|
||||
foreach($groups as $groupID => $group)
|
||||
{
|
||||
/* 处理group数据。*/
|
||||
if($group->name == '[All Users]') continue;
|
||||
$groupUsers = explode(',', $group->users);
|
||||
unset($group->id);
|
||||
unset($group->users);
|
||||
|
||||
/* 插入到group表。*/
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_GROUP)->data($group)->exec();
|
||||
$zentaoGroupID = $this->dao->lastInsertId();
|
||||
|
||||
/* 插入到userGroup表。*/
|
||||
foreach($groupUsers as $account)
|
||||
{
|
||||
if(empty($account)) continue;
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_USERGROUP)
|
||||
->set('`group`')->eq($zentaoGroupID)
|
||||
->set('account')->eq($account)
|
||||
->exec();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 转换项目为产品。*/
|
||||
public function convertProject()
|
||||
{
|
||||
$projects = $this->dao->dbh($this->sourceDBH)
|
||||
->select("projectID AS id, projectName AS name, isDroped AS deleted")
|
||||
->from(BUGFREE_TABLE_PROJECT)
|
||||
->fetchAll('id', $autoComapny = false);
|
||||
foreach($projects as $projectID => $project)
|
||||
{
|
||||
unset($project->id);
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_PRODUCT)->data($project)->exec();
|
||||
$this->map['product'][$projectID] = $this->dao->lastInsertID();
|
||||
}
|
||||
return count($projects);
|
||||
}
|
||||
|
||||
/* 转换原来的模块为Bug视图模块。*/
|
||||
public function convertModule()
|
||||
{
|
||||
$this->map['module'][0] = 0;
|
||||
$modules = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select(
|
||||
'moduleID AS id,
|
||||
moduleType as type,
|
||||
projectID AS root,
|
||||
moduleName AS name,
|
||||
moduleGrade AS grade,
|
||||
parentID AS parent,
|
||||
displayOrder AS `order`')
|
||||
->from(BUGFREE_TABLE_MODULE)
|
||||
->orderBy('id ASC')
|
||||
->fetchAll('id', $autoCompany = false);
|
||||
foreach($modules as $moduleID => $module)
|
||||
{
|
||||
$module->root = $this->map['product'][$module->root];
|
||||
$module->type = strtolower($module->type);
|
||||
unset($module->id);
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_MODULE)->data($module)->exec();
|
||||
$this->map['module'][$moduleID] = $this->dao->lastInsertID();
|
||||
}
|
||||
|
||||
/* 更新parent。*/
|
||||
foreach($modules as $oldModuleID => $module)
|
||||
{
|
||||
$newModuleID = $this->map['module'][$oldModuleID];
|
||||
$newParentID = $this->map['module'][$module->parent];
|
||||
$this->dao->dbh($this->dbh)->update(TABLE_MODULE)->set('parent')->eq($newParentID)->where('id')->eq($newModuleID)->exec();
|
||||
}
|
||||
return count($modules);
|
||||
}
|
||||
|
||||
/* 转换Bug。*/
|
||||
public function convertBug()
|
||||
{
|
||||
$bugs = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select('
|
||||
bugID AS id,
|
||||
projectID AS product,
|
||||
moduleID AS module,
|
||||
bugTitle AS title,
|
||||
bugSeverity AS severity,
|
||||
bugPriority AS pri,
|
||||
bugType AS type,
|
||||
bugOS AS os,
|
||||
bugBrowser AS browser,
|
||||
bugMachine AS hardware,
|
||||
howFound AS found,
|
||||
reproSteps AS steps,
|
||||
bugStatus AS status,
|
||||
linkID AS linkBug,
|
||||
duplicateID AS duplicateBug,
|
||||
caseID AS `case`,
|
||||
1 AS caseVersion,
|
||||
resultID AS result,
|
||||
mailto,
|
||||
openedBy, openedDate, openedBuild,
|
||||
assignedTo, assignedDate,
|
||||
resolvedBy, resolution, resolvedBuild, resolvedDate,
|
||||
closedBy, closedDate,
|
||||
lastEditedBy, lastEditedDate,
|
||||
bugKeyword AS keywords
|
||||
')
|
||||
->from(BUGFREE_TABLE_BUGINFO)
|
||||
->where('isDroped')->eq(0)
|
||||
->orderBy('bugID')
|
||||
->fetchAll('id', $autoCompany = false);
|
||||
foreach($bugs as $bugID => $bug)
|
||||
{
|
||||
/* 修正Bug数据。*/
|
||||
$bugID = (int)$bugID;
|
||||
unset($bug->id);
|
||||
|
||||
if($bug->assignedTo == 'Closed') $bug->assignedTo = 'closed';
|
||||
if($bug->assignedTo == 'Active') $bug->assignedTo = '';
|
||||
|
||||
$bug->type = strtolower($bug->type);
|
||||
$bug->found = strtolower($bug->found);
|
||||
$bug->status = strtolower($bug->status);
|
||||
$bug->os = strtolower($bug->os);
|
||||
$bug->browser= strtolower($bug->browser);
|
||||
|
||||
if($bug->os == 'winvista') $bug->os = 'vista';
|
||||
if($bug->browser == 'firefox3.0') $bug->browser = 'firefox3';
|
||||
if($bug->browser == 'firefox2.0') $bug->browser = 'firefox2';
|
||||
if($bug->openedBuild == 'N/A') $bug->openedBuild = '';
|
||||
if(!$bug->case) $bug->caseVersion = 0;
|
||||
|
||||
$bug->resolution = str_replace(' ', '', strtolower($bug->resolution));
|
||||
$bug->product = $this->map['product'][$bug->product];
|
||||
$bug->module = $this->map['module'][$bug->module];
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_BUG)->data($bug)->exec();
|
||||
$this->map['bug'][$bugID] = $this->dao->lastInsertID();
|
||||
}
|
||||
|
||||
/* 更新duplicateBug。 */
|
||||
foreach($this->map['bug'] as $oldBugID => $newBugID)
|
||||
{
|
||||
$this->dao->dbh($this->dbh)->update(TABLE_BUG)->set('duplicateBug')->eq($newBugID)->where('duplicateBug')->eq($oldBugID)->exec();
|
||||
}
|
||||
return count($bugs);
|
||||
}
|
||||
|
||||
/* 转换case。*/
|
||||
public function convertCase()
|
||||
{
|
||||
$cases = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select('
|
||||
caseID AS id,
|
||||
projectID AS product,
|
||||
moduleID AS module,
|
||||
caseTitle AS title,
|
||||
caseSteps AS step,
|
||||
casePriority AS pri,
|
||||
caseType AS type,
|
||||
caseStatus AS status,
|
||||
caseMethod AS howRun,
|
||||
casePlan AS stage,
|
||||
openedBy, openedDate,
|
||||
lastEditedBy, lastEditedDate,
|
||||
scriptedBy, scriptedDate, scriptStatus, scriptLocation,
|
||||
linkID AS linkCase,
|
||||
casekeyword AS keywords,
|
||||
1 AS version,
|
||||
bugID
|
||||
')
|
||||
->from(BUGFREE_TABLE_CASEINFO)
|
||||
->where('isDroped')->eq(0)
|
||||
->orderBy('caseID')
|
||||
->fetchAll('id', $autoCompany = false);
|
||||
foreach($cases as $caseID => $case)
|
||||
{
|
||||
/* 修正case的数据。*/
|
||||
$caseID = (int)$caseID;
|
||||
$step = $case->step;
|
||||
$bugs = explode(',', $case->bugID);
|
||||
unset($case->id);
|
||||
unset($case->step);
|
||||
unset($case->bugID);
|
||||
|
||||
$case->type = strtolower($case->type);
|
||||
$case->status = strtolower($case->status);
|
||||
$case->howRun = strtolower($case->howRun);
|
||||
$case->stage = strtolower($case->stage);
|
||||
|
||||
if($case->type == 'configuration') $case->type = 'config';
|
||||
if($case->type == 'setup') $case->type = 'install';
|
||||
if($case->type == 'functional') $case->type = 'feature';
|
||||
if($case->status == 'active') $case->status = 'normal';
|
||||
|
||||
/* 将产品和模块替换成禅道系统中的id。*/
|
||||
$case->product = $this->map['product'][$case->product];
|
||||
$case->module = $this->map['module'][$case->module];
|
||||
|
||||
/* 插入到case表中。*/
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_CASE)->data($case)->exec();
|
||||
$zentaoCaseID = $this->dao->lastInsertID();
|
||||
$this->map['case'][$caseID] = $zentaoCaseID;
|
||||
|
||||
/* 用例步骤表。*/
|
||||
$caseStep->case = $zentaoCaseID;
|
||||
$caseStep->version = 1;
|
||||
$caseStep->desc = $step;
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_CASESTEP)->data($caseStep)->exec();
|
||||
|
||||
/* 更新相关bug。*/
|
||||
foreach($bugs as $bugID)
|
||||
{
|
||||
if(!isset($this->map['bug'][$bugID])) continue;
|
||||
$zentaoBugID = $this->map['bug'][$bugID];
|
||||
$this->dao->dbh($this->dbh)->update(TABLE_BUG)->set('`case`')->eq($zentaoCaseID)->where('id')->eq($zentaoBugID)->limit(1)->exec();
|
||||
}
|
||||
}
|
||||
return count($cases);
|
||||
}
|
||||
|
||||
/* 转换测试执行结果。*/
|
||||
public function convertResult()
|
||||
{
|
||||
$results = $this->dao->dbh($this->sourceDBH)
|
||||
->select('
|
||||
resultID AS id,
|
||||
caseID AS `case`,
|
||||
resultValue AS caseResult,
|
||||
1 AS version,
|
||||
openedDate as date,
|
||||
bugID
|
||||
')
|
||||
->from(BUGFREE_TABLE_RESULTINFO)
|
||||
->orderBy('id')
|
||||
->fetchAll('id', $autoCompany = false);
|
||||
foreach($results as $resultID => $result)
|
||||
{
|
||||
unset($result->id);
|
||||
|
||||
/* 记录对应的bug信息。*/
|
||||
$bugID = (int)$result->bugID;
|
||||
$zentaoBugID = $this->map['bug'][$bugID];
|
||||
unset($result->bugID);
|
||||
|
||||
/* 插入到testResult表中。*/
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_TESTRESULT)->data($result)->exec();
|
||||
$zentaoResultID = $this->dao->lastInsertId();
|
||||
$this->map['result'][$resultID] = $zentaoResultID;
|
||||
|
||||
/* 更新bug表中的result字段。*/
|
||||
$this->dao->dbh($this->dbh)->update(TABLE_BUG)->set('result')->eq($zentaoResultID)->where('id')->eq($zentaoBugID)->limit(1)->exec();
|
||||
}
|
||||
return count($results);
|
||||
}
|
||||
|
||||
/* 转换历史记录。*/
|
||||
public function convertAction()
|
||||
{
|
||||
$actions = $this->dao
|
||||
->dbh($this->sourceDBH)
|
||||
->select("actionID AS id,
|
||||
actionTarget AS objectType,
|
||||
idValue AS objectID,
|
||||
actionUser AS actor,
|
||||
actionType AS action,
|
||||
actionDate AS date,
|
||||
actionNote AS comment
|
||||
")
|
||||
->from(BUGFREE_TABLE_ACTION)
|
||||
->where('actionTarget' != 'Result')
|
||||
->orderBy('actionID')
|
||||
->fetchAll('id', $autoComapny = false);
|
||||
|
||||
foreach($actions as $actionID => $action)
|
||||
{
|
||||
$actionID = (int)$action->id;
|
||||
unset($action->id);
|
||||
$action->objectType = strtolower($action->objectType);
|
||||
$action->action = strtolower($action->action);
|
||||
$action->objectID = $this->map[$action->objectType][$action->objectID];
|
||||
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_ACTION)->data($action)->exec();
|
||||
$this->map['action'][$actionID] = $this->dao->lastInsertID();
|
||||
}
|
||||
return count($actions);
|
||||
}
|
||||
|
||||
/* 转换历史修改记录。*/
|
||||
public function convertHistory()
|
||||
{
|
||||
$histories = $this->dao->dbh($this->sourceDBH)
|
||||
->select('actioID, actionField AS field, oldValue AS old, newValue AS new')
|
||||
->from(BUGFREE_TABLE_HISTORY)
|
||||
->orderBy('historyID')
|
||||
->fetchAll('', $autoCompany = false);
|
||||
foreach($histories as $history)
|
||||
{
|
||||
$history->actionID = $this->map['action'][$history->actionID];
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_HISTORY)->data($history)->exec();
|
||||
}
|
||||
}
|
||||
|
||||
/* 转换附件。*/
|
||||
public function convertFile()
|
||||
{
|
||||
$this->setPath();
|
||||
$files = $this->dao->dbh($this->sourceDBH)
|
||||
->select("
|
||||
actionID,
|
||||
fileName AS pathname,
|
||||
fileTitle AS title,
|
||||
fileType AS extension,
|
||||
fileSize AS size
|
||||
")
|
||||
->from(BUGFREE_TABLE_FILE)
|
||||
->orderBy('fileID')
|
||||
->fetchAll('', $autoCompany = false);
|
||||
foreach($files as $file)
|
||||
{
|
||||
/* 查找对应的action信息,以获得文件的相关字段。*/
|
||||
$zentaoActionID = $this->map['action'][$file->actionID];
|
||||
$zentaoAction = $this->dao->dbh($this->dbh)->findById($zentaoActionID)->from(TABLE_ACTION)->fetch();
|
||||
$file->objectType = $zentaoAction->objectType;
|
||||
$file->objectID = $zentaoAction->objectID;
|
||||
$file->addedBy = $zentaoAction->actor;
|
||||
$file->addedDate = $zentaoAction->date;
|
||||
unset($file->actionID);
|
||||
|
||||
/* 处理文件大小。*/
|
||||
if(strpos($file->size, 'KB')) $file->size = (int)(str_replace('KB', '', $file->size) * 1024);
|
||||
if(strpos($file->size, 'MB')) $file->size = (int)(str_replace('MB', '', $file->size) * 1024 * 1024);
|
||||
|
||||
/* 插入到数据库。*/
|
||||
$this->dao->dbh($this->dbh)->insert(TABLE_FILE)->data($file)->exec();
|
||||
|
||||
/* 拷贝文件。*/
|
||||
$soureFile = $this->filePath . $file->pathname;
|
||||
if(!file_exists($soureFile))
|
||||
{
|
||||
self::$info['files'][] = sprintf($this->lang->convert->errorFileNotExits, $soureFile);
|
||||
continue;
|
||||
}
|
||||
$targetFile = $this->app->getAppRoot() . "www/data/upload/{$this->app->company->id}/" . $file->pathname;
|
||||
$targetPath = dirname($targetFile);
|
||||
if(!is_dir($targetPath)) mkdir($targetPath, 0777, true);
|
||||
if(!copy($soureFile, $targetFile))
|
||||
{
|
||||
self::$info['files'][] = sprintf($this->lang->convert->errorCopyFailed, $targetFile);
|
||||
}
|
||||
}
|
||||
return count($files);
|
||||
}
|
||||
|
||||
/* 清空导入之后的数据。*/
|
||||
public function clear()
|
||||
{
|
||||
foreach($this->session->state as $table => $maxID)
|
||||
{
|
||||
$this->dao->dbh($this->dbh)->delete()->from($table)->where('id')->gt($maxID)->exec();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,80 +1,67 @@
|
||||
<?php
|
||||
/**
|
||||
* The convert module English file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->convert->common = 'Import';
|
||||
$lang->convert->next = 'Next';
|
||||
$lang->convert->pre = 'Back';
|
||||
$lang->convert->reload = 'Reload';
|
||||
$lang->convert->error = 'Error ';
|
||||
|
||||
$lang->convert->start = 'Begin import';
|
||||
$lang->convert->desc = <<<EOT
|
||||
<p>Welcome to use this convert wizard which will help you to import other system data to ZenTaoPMS.</p>
|
||||
<strong>Importing is dangerous. Be sure to backup your database and other data files and sure nobody is using pms when importing.</strong>
|
||||
EOT;
|
||||
|
||||
$lang->convert->selectSource = 'Select source system and version';
|
||||
$lang->convert->source = 'Source system';
|
||||
$lang->convert->version = 'Version';
|
||||
$lang->convert->mustSelectSource = "Must select a source system";
|
||||
|
||||
$lang->convert->sourceList['BugFree'] = array('bugfree_1' => '1.x', 'bugfree_2' => '2.x');
|
||||
|
||||
$lang->convert->setting = 'Setting';
|
||||
$lang->convert->checkConfig = 'Check setting';
|
||||
|
||||
$lang->convert->ok = 'Check passed(√)';
|
||||
$lang->convert->fail = 'Check failed(×)';
|
||||
|
||||
$lang->convert->settingDB = 'Set database';
|
||||
$lang->convert->dbHost = 'Database server';
|
||||
$lang->convert->dbPort = 'Server port';
|
||||
$lang->convert->dbUser = 'Database user';
|
||||
$lang->convert->dbPassword = 'Database password';
|
||||
$lang->convert->dbName = '%s database';
|
||||
$lang->convert->dbCharset = '%s charset';
|
||||
$lang->convert->dbPrefix = '%s table prefix';
|
||||
$lang->convert->installPath= '%s installed path';
|
||||
|
||||
$lang->convert->checkDB = 'Database';
|
||||
$lang->convert->checkTable = 'Table';
|
||||
$lang->convert->checkPath = 'Installed path';
|
||||
|
||||
$lang->convert->execute = 'Execute import';
|
||||
$lang->convert->item = 'Imported items';
|
||||
$lang->convert->count = 'Count';
|
||||
$lang->convert->info = 'Info';
|
||||
|
||||
$lang->convert->bugfree->users = 'User';
|
||||
$lang->convert->bugfree->projects = 'Project';
|
||||
$lang->convert->bugfree->modules = 'Module';
|
||||
$lang->convert->bugfree->bugs = 'Bug';
|
||||
$lang->convert->bugfree->cases = 'Case';
|
||||
$lang->convert->bugfree->results = 'Result';
|
||||
$lang->convert->bugfree->actions = 'History';
|
||||
$lang->convert->bugfree->files = 'File';
|
||||
|
||||
$lang->convert->errorConnectDB = 'Connect to database server failed.';
|
||||
$lang->convert->errorFileNotExits = 'File %s not exits.';
|
||||
$lang->convert->errorUserExists = 'User %s exits already.';
|
||||
$lang->convert->errorCopyFailed = 'file %s copy failed.';
|
||||
<?php
|
||||
/**
|
||||
* The convert module English file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->convert->common = 'Import';
|
||||
$lang->convert->next = 'Next';
|
||||
$lang->convert->pre = 'Back';
|
||||
$lang->convert->reload = 'Reload';
|
||||
$lang->convert->error = 'Error ';
|
||||
|
||||
$lang->convert->start = 'Begin import';
|
||||
$lang->convert->desc = <<<EOT
|
||||
<p>Welcome to use this convert wizard which will help you to import other system data to ZenTaoPMS.</p>
|
||||
<strong>Importing is dangerous. Be sure to backup your database and other data files and sure nobody is using pms when importing.</strong>
|
||||
EOT;
|
||||
|
||||
$lang->convert->selectSource = 'Select source system and version';
|
||||
$lang->convert->source = 'Source system';
|
||||
$lang->convert->version = 'Version';
|
||||
$lang->convert->mustSelectSource = "Must select a source system";
|
||||
|
||||
$lang->convert->sourceList['BugFree'] = array('bugfree_1' => '1.x', 'bugfree_2' => '2.x');
|
||||
|
||||
$lang->convert->setting = 'Setting';
|
||||
$lang->convert->checkConfig = 'Check setting';
|
||||
|
||||
$lang->convert->ok = 'Check passed(√)';
|
||||
$lang->convert->fail = 'Check failed(×)';
|
||||
|
||||
$lang->convert->settingDB = 'Set database';
|
||||
$lang->convert->dbHost = 'Database server';
|
||||
$lang->convert->dbPort = 'Server port';
|
||||
$lang->convert->dbUser = 'Database user';
|
||||
$lang->convert->dbPassword = 'Database password';
|
||||
$lang->convert->dbName = '%s database';
|
||||
$lang->convert->dbCharset = '%s charset';
|
||||
$lang->convert->dbPrefix = '%s table prefix';
|
||||
$lang->convert->installPath= '%s installed path';
|
||||
|
||||
$lang->convert->checkDB = 'Database';
|
||||
$lang->convert->checkTable = 'Table';
|
||||
$lang->convert->checkPath = 'Installed path';
|
||||
|
||||
$lang->convert->execute = 'Execute import';
|
||||
$lang->convert->item = 'Imported items';
|
||||
$lang->convert->count = 'Count';
|
||||
$lang->convert->info = 'Info';
|
||||
|
||||
$lang->convert->bugfree->users = 'User';
|
||||
$lang->convert->bugfree->projects = 'Project';
|
||||
$lang->convert->bugfree->modules = 'Module';
|
||||
$lang->convert->bugfree->bugs = 'Bug';
|
||||
$lang->convert->bugfree->cases = 'Case';
|
||||
$lang->convert->bugfree->results = 'Result';
|
||||
$lang->convert->bugfree->actions = 'History';
|
||||
$lang->convert->bugfree->files = 'File';
|
||||
|
||||
$lang->convert->errorConnectDB = 'Connect to database server failed.';
|
||||
$lang->convert->errorFileNotExits = 'File %s not exits.';
|
||||
$lang->convert->errorUserExists = 'User %s exits already.';
|
||||
$lang->convert->errorCopyFailed = 'file %s copy failed.';
|
||||
|
||||
@@ -1,80 +1,67 @@
|
||||
<?php
|
||||
/**
|
||||
* The convert module Japanese file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->convert->common = 'インポート';
|
||||
$lang->convert->next = '次の';
|
||||
$lang->convert->pre = 'バック';
|
||||
$lang->convert->reload = 'リロード';
|
||||
$lang->convert->error = 'エラー';
|
||||
|
||||
$lang->convert->start = '開始のインポート';
|
||||
$lang->convert->desc = <<<EOT
|
||||
<p>Welcome to use this convert wizard which will help you to import other system data to ZenTaoPMS.</p>
|
||||
<strong>Importing is dangerous. Be sure to backup your database and other data files and sure nobody is using pms when importing.</strong>
|
||||
EOT;
|
||||
|
||||
$lang->convert->selectSource = '選択してソースシステムとバージョン';
|
||||
$lang->convert->source = 'ソースシステム';
|
||||
$lang->convert->version = 'バージョン';
|
||||
$lang->convert->mustSelectSource = "システムのソースを選択してください";
|
||||
|
||||
$lang->convert->sourceList['BugFree'] = array('bugfree_1' => '1.x', 'bugfree_2' => '2.x');
|
||||
|
||||
$lang->convert->setting = '設定';
|
||||
$lang->convert->checkConfig = '設定を確認します';
|
||||
|
||||
$lang->convert->ok = 'チェック渡さ(√)';
|
||||
$lang->convert->fail = 'チェックに失敗しました(×)';
|
||||
|
||||
$lang->convert->settingDB = 'Setデータベース';
|
||||
$lang->convert->dbHost = 'データベースサーバー';
|
||||
$lang->convert->dbPort = 'サーバーのポート';
|
||||
$lang->convert->dbUser = 'データベースユーザー';
|
||||
$lang->convert->dbPassword = 'データベースのパスワード';
|
||||
$lang->convert->dbName = '%s database';
|
||||
$lang->convert->dbCharset = '%s データベースコード ';
|
||||
$lang->convert->dbPrefix = '%s table prefix';
|
||||
$lang->convert->installPath= '%s installed path';
|
||||
|
||||
$lang->convert->checkDB = 'データベース';
|
||||
$lang->convert->checkTable = 'テーブル';
|
||||
$lang->convert->checkPath = 'インストールパス';
|
||||
|
||||
$lang->convert->execute = '実行のインポート';
|
||||
$lang->convert->item = '輸入商品';
|
||||
$lang->convert->count = 'カウント';
|
||||
$lang->convert->info = '情報';
|
||||
|
||||
$lang->convert->bugfree->users = 'ユーザー';
|
||||
$lang->convert->bugfree->projects = 'プロジェクト';
|
||||
$lang->convert->bugfree->modules = 'モジュール';
|
||||
$lang->convert->bugfree->bugs = 'バグ';
|
||||
$lang->convert->bugfree->cases = 'ケース';
|
||||
$lang->convert->bugfree->results = '結果';
|
||||
$lang->convert->bugfree->actions = '歴史';
|
||||
$lang->convert->bugfree->files = 'ファイル';
|
||||
|
||||
$lang->convert->errorConnectDB = 'データベースへの接続のサーバーが失敗しました。';
|
||||
$lang->convert->errorFileNotExits = 'File %s not exits.';
|
||||
$lang->convert->errorUserExists = 'User %s exits already.';
|
||||
$lang->convert->errorCopyFailed = 'file %s copy failed.';
|
||||
<?php
|
||||
/**
|
||||
* The convert module Japanese file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->convert->common = 'インポート';
|
||||
$lang->convert->next = '次の';
|
||||
$lang->convert->pre = 'バック';
|
||||
$lang->convert->reload = 'リロード';
|
||||
$lang->convert->error = 'エラー';
|
||||
|
||||
$lang->convert->start = '開始のインポート';
|
||||
$lang->convert->desc = <<<EOT
|
||||
<p>Welcome to use this convert wizard which will help you to import other system data to ZenTaoPMS.</p>
|
||||
<strong>Importing is dangerous. Be sure to backup your database and other data files and sure nobody is using pms when importing.</strong>
|
||||
EOT;
|
||||
|
||||
$lang->convert->selectSource = '選択してソースシステムとバージョン';
|
||||
$lang->convert->source = 'ソースシステム';
|
||||
$lang->convert->version = 'バージョン';
|
||||
$lang->convert->mustSelectSource = "システムのソースを選択してください";
|
||||
|
||||
$lang->convert->sourceList['BugFree'] = array('bugfree_1' => '1.x', 'bugfree_2' => '2.x');
|
||||
|
||||
$lang->convert->setting = '設定';
|
||||
$lang->convert->checkConfig = '設定を確認します';
|
||||
|
||||
$lang->convert->ok = 'チェック渡さ(√)';
|
||||
$lang->convert->fail = 'チェックに失敗しました(×)';
|
||||
|
||||
$lang->convert->settingDB = 'Setデータベース';
|
||||
$lang->convert->dbHost = 'データベースサーバー';
|
||||
$lang->convert->dbPort = 'サーバーのポート';
|
||||
$lang->convert->dbUser = 'データベースユーザー';
|
||||
$lang->convert->dbPassword = 'データベースのパスワード';
|
||||
$lang->convert->dbName = '%s database';
|
||||
$lang->convert->dbCharset = '%s データベースコード ';
|
||||
$lang->convert->dbPrefix = '%s table prefix';
|
||||
$lang->convert->installPath= '%s installed path';
|
||||
|
||||
$lang->convert->checkDB = 'データベース';
|
||||
$lang->convert->checkTable = 'テーブル';
|
||||
$lang->convert->checkPath = 'インストールパス';
|
||||
|
||||
$lang->convert->execute = '実行のインポート';
|
||||
$lang->convert->item = '輸入商品';
|
||||
$lang->convert->count = 'カウント';
|
||||
$lang->convert->info = '情報';
|
||||
|
||||
$lang->convert->bugfree->users = 'ユーザー';
|
||||
$lang->convert->bugfree->projects = 'プロジェクト';
|
||||
$lang->convert->bugfree->modules = 'モジュール';
|
||||
$lang->convert->bugfree->bugs = 'バグ';
|
||||
$lang->convert->bugfree->cases = 'ケース';
|
||||
$lang->convert->bugfree->results = '結果';
|
||||
$lang->convert->bugfree->actions = '歴史';
|
||||
$lang->convert->bugfree->files = 'ファイル';
|
||||
|
||||
$lang->convert->errorConnectDB = 'データベースへの接続のサーバーが失敗しました。';
|
||||
$lang->convert->errorFileNotExits = 'File %s not exits.';
|
||||
$lang->convert->errorUserExists = 'User %s exits already.';
|
||||
$lang->convert->errorCopyFailed = 'file %s copy failed.';
|
||||
|
||||
@@ -1,80 +1,67 @@
|
||||
<?php
|
||||
/**
|
||||
* The convert module Korean file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->convert->common = '수입';
|
||||
$lang->convert->next = '다음';
|
||||
$lang->convert->pre = '뒤로';
|
||||
$lang->convert->reload = '새로고침';
|
||||
$lang->convert->error = '오류';
|
||||
|
||||
$lang->convert->start = '시작 가져오기';
|
||||
$lang->convert->desc = <<<EOT
|
||||
<p>Welcome to use this convert wizard which will help you to import other system data to ZenTaoPMS.</p>
|
||||
<strong>Importing is dangerous. Be sure to backup your database and other data files and sure nobody is using pms when importing.</strong>
|
||||
EOT;
|
||||
|
||||
$lang->convert->selectSource = '선택 소스 시스템 및 버전';
|
||||
$lang->convert->source = '소스 시스템';
|
||||
$lang->convert->version = '버전';
|
||||
$lang->convert->mustSelectSource = "시스템을 소스를 선택합니다";
|
||||
|
||||
$lang->convert->sourceList['BugFree'] = array('bugfree_1' => '1.x', 'bugfree_2' => '2.x');
|
||||
|
||||
$lang->convert->setting = '설정';
|
||||
$lang->convert->checkConfig = '설정 확인';
|
||||
|
||||
$lang->convert->ok = '확인 통과 (√)';
|
||||
$lang->convert->fail = '체크 실패 (×)';
|
||||
|
||||
$lang->convert->settingDB = '설정 데이터베이스';
|
||||
$lang->convert->dbHost = '데이터베이스 서버';
|
||||
$lang->convert->dbPort = '서버 포트';
|
||||
$lang->convert->dbUser = '데이터베이스 사용자';
|
||||
$lang->convert->dbPassword = '데이터베이스 암호';
|
||||
$lang->convert->dbName = '%s database';
|
||||
$lang->convert->dbCharset = '%s 데이터베이스 코드';
|
||||
$lang->convert->dbPrefix = '%s table prefix';
|
||||
$lang->convert->installPath= '%s installed path';
|
||||
|
||||
$lang->convert->checkDB = '데이터베이스';
|
||||
$lang->convert->checkTable = '테이블';
|
||||
$lang->convert->checkPath = '설치 경로';
|
||||
|
||||
$lang->convert->execute = '가져오기 실행';
|
||||
$lang->convert->item = '수입 품목';
|
||||
$lang->convert->count = '카운트';
|
||||
$lang->convert->info = '정보';
|
||||
|
||||
$lang->convert->bugfree->users = '사용자';
|
||||
$lang->convert->bugfree->projects = '프로젝트';
|
||||
$lang->convert->bugfree->modules = '모듈';
|
||||
$lang->convert->bugfree->bugs = '곤충';
|
||||
$lang->convert->bugfree->cases = '케이스';
|
||||
$lang->convert->bugfree->results = '결과';
|
||||
$lang->convert->bugfree->actions = '역사';
|
||||
$lang->convert->bugfree->files = '파일';
|
||||
|
||||
$lang->convert->errorConnectDB = '연결하는 데이터베이스 서버가 실패했습니다.';
|
||||
$lang->convert->errorFileNotExits = 'File %s not exits.';
|
||||
$lang->convert->errorUserExists = 'User %s exits already.';
|
||||
$lang->convert->errorCopyFailed = 'file %s copy failed.';
|
||||
<?php
|
||||
/**
|
||||
* The convert module Korean file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->convert->common = '수입';
|
||||
$lang->convert->next = '다음';
|
||||
$lang->convert->pre = '뒤로';
|
||||
$lang->convert->reload = '새로고침';
|
||||
$lang->convert->error = '오류';
|
||||
|
||||
$lang->convert->start = '시작 가져오기';
|
||||
$lang->convert->desc = <<<EOT
|
||||
<p>Welcome to use this convert wizard which will help you to import other system data to ZenTaoPMS.</p>
|
||||
<strong>Importing is dangerous. Be sure to backup your database and other data files and sure nobody is using pms when importing.</strong>
|
||||
EOT;
|
||||
|
||||
$lang->convert->selectSource = '선택 소스 시스템 및 버전';
|
||||
$lang->convert->source = '소스 시스템';
|
||||
$lang->convert->version = '버전';
|
||||
$lang->convert->mustSelectSource = "시스템을 소스를 선택합니다";
|
||||
|
||||
$lang->convert->sourceList['BugFree'] = array('bugfree_1' => '1.x', 'bugfree_2' => '2.x');
|
||||
|
||||
$lang->convert->setting = '설정';
|
||||
$lang->convert->checkConfig = '설정 확인';
|
||||
|
||||
$lang->convert->ok = '확인 통과 (√)';
|
||||
$lang->convert->fail = '체크 실패 (×)';
|
||||
|
||||
$lang->convert->settingDB = '설정 데이터베이스';
|
||||
$lang->convert->dbHost = '데이터베이스 서버';
|
||||
$lang->convert->dbPort = '서버 포트';
|
||||
$lang->convert->dbUser = '데이터베이스 사용자';
|
||||
$lang->convert->dbPassword = '데이터베이스 암호';
|
||||
$lang->convert->dbName = '%s database';
|
||||
$lang->convert->dbCharset = '%s 데이터베이스 코드';
|
||||
$lang->convert->dbPrefix = '%s table prefix';
|
||||
$lang->convert->installPath= '%s installed path';
|
||||
|
||||
$lang->convert->checkDB = '데이터베이스';
|
||||
$lang->convert->checkTable = '테이블';
|
||||
$lang->convert->checkPath = '설치 경로';
|
||||
|
||||
$lang->convert->execute = '가져오기 실행';
|
||||
$lang->convert->item = '수입 품목';
|
||||
$lang->convert->count = '카운트';
|
||||
$lang->convert->info = '정보';
|
||||
|
||||
$lang->convert->bugfree->users = '사용자';
|
||||
$lang->convert->bugfree->projects = '프로젝트';
|
||||
$lang->convert->bugfree->modules = '모듈';
|
||||
$lang->convert->bugfree->bugs = '곤충';
|
||||
$lang->convert->bugfree->cases = '케이스';
|
||||
$lang->convert->bugfree->results = '결과';
|
||||
$lang->convert->bugfree->actions = '역사';
|
||||
$lang->convert->bugfree->files = '파일';
|
||||
|
||||
$lang->convert->errorConnectDB = '연결하는 데이터베이스 서버가 실패했습니다.';
|
||||
$lang->convert->errorFileNotExits = 'File %s not exits.';
|
||||
$lang->convert->errorUserExists = 'User %s exits already.';
|
||||
$lang->convert->errorCopyFailed = 'file %s copy failed.';
|
||||
|
||||
@@ -1,80 +1,67 @@
|
||||
<?php
|
||||
/**
|
||||
* The convert module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->convert->common = '从其他系统导入';
|
||||
$lang->convert->next = '下一步';
|
||||
$lang->convert->pre = '返回';
|
||||
$lang->convert->reload = '刷新';
|
||||
$lang->convert->error = '错误 ';
|
||||
|
||||
$lang->convert->start = '开始转换';
|
||||
$lang->convert->desc = <<<EOT
|
||||
<p>欢迎使用系统转换向导,本程序会帮助您将其他系统的数据转换到禅道项目管理系统中。</p>
|
||||
<strong>转换存在一定的风险,转换之前,我们强烈建议您备份数据库及相应的数据文件,并保证转换的时候,没有其他人进行操作。</strong>
|
||||
EOT;
|
||||
|
||||
$lang->convert->selectSource = '选择来源系统及版本';
|
||||
$lang->convert->source = '来源系统';
|
||||
$lang->convert->version = '版本';
|
||||
$lang->convert->mustSelectSource = "必须选择一个来源。";
|
||||
|
||||
$lang->convert->sourceList['BugFree'] = array('bugfree_1' => '1.x', 'bugfree_2' => '2.x');
|
||||
|
||||
$lang->convert->setting = '设置';
|
||||
$lang->convert->checkConfig = '检查配置';
|
||||
|
||||
$lang->convert->ok = '检查通过(√)';
|
||||
$lang->convert->fail = '检查失败(×)';
|
||||
|
||||
$lang->convert->settingDB = '设置数据库';
|
||||
$lang->convert->dbHost = '数据库服务器';
|
||||
$lang->convert->dbPort = '服务器端口';
|
||||
$lang->convert->dbUser = '数据库用户名';
|
||||
$lang->convert->dbPassword = '数据库密码';
|
||||
$lang->convert->dbName = '%s使用的库';
|
||||
$lang->convert->dbCharset = '%s数据库编码';
|
||||
$lang->convert->dbPrefix = '%s表前缀';
|
||||
$lang->convert->installPath= '%s安装的根目录';
|
||||
|
||||
$lang->convert->checkDB = '数据库';
|
||||
$lang->convert->checkTable = '表';
|
||||
$lang->convert->checkPath = '安装路径';
|
||||
|
||||
$lang->convert->execute = '执行转换';
|
||||
$lang->convert->item = '转换项';
|
||||
$lang->convert->count = '转换数量';
|
||||
$lang->convert->info = '转换信息';
|
||||
|
||||
$lang->convert->bugfree->users = '用户';
|
||||
$lang->convert->bugfree->projects = '项目';
|
||||
$lang->convert->bugfree->modules = '模块';
|
||||
$lang->convert->bugfree->bugs = 'Bug';
|
||||
$lang->convert->bugfree->cases = '测试用例';
|
||||
$lang->convert->bugfree->results = '测试结果';
|
||||
$lang->convert->bugfree->actions = '历史记录';
|
||||
$lang->convert->bugfree->files = '附件';
|
||||
|
||||
$lang->convert->errorConnectDB = '数据库连接失败 ';
|
||||
$lang->convert->errorFileNotExits = '文件 %s 不存在';
|
||||
$lang->convert->errorUserExists = '用户 %s 已存在';
|
||||
$lang->convert->errorCopyFailed = '文件 %s 拷贝失败';
|
||||
<?php
|
||||
/**
|
||||
* The convert module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->convert->common = '从其他系统导入';
|
||||
$lang->convert->next = '下一步';
|
||||
$lang->convert->pre = '返回';
|
||||
$lang->convert->reload = '刷新';
|
||||
$lang->convert->error = '错误 ';
|
||||
|
||||
$lang->convert->start = '开始转换';
|
||||
$lang->convert->desc = <<<EOT
|
||||
<p>欢迎使用系统转换向导,本程序会帮助您将其他系统的数据转换到禅道项目管理系统中。</p>
|
||||
<strong>转换存在一定的风险,转换之前,我们强烈建议您备份数据库及相应的数据文件,并保证转换的时候,没有其他人进行操作。</strong>
|
||||
EOT;
|
||||
|
||||
$lang->convert->selectSource = '选择来源系统及版本';
|
||||
$lang->convert->source = '来源系统';
|
||||
$lang->convert->version = '版本';
|
||||
$lang->convert->mustSelectSource = "必须选择一个来源。";
|
||||
|
||||
$lang->convert->sourceList['BugFree'] = array('bugfree_1' => '1.x', 'bugfree_2' => '2.x');
|
||||
|
||||
$lang->convert->setting = '设置';
|
||||
$lang->convert->checkConfig = '检查配置';
|
||||
|
||||
$lang->convert->ok = '检查通过(√)';
|
||||
$lang->convert->fail = '检查失败(×)';
|
||||
|
||||
$lang->convert->settingDB = '设置数据库';
|
||||
$lang->convert->dbHost = '数据库服务器';
|
||||
$lang->convert->dbPort = '服务器端口';
|
||||
$lang->convert->dbUser = '数据库用户名';
|
||||
$lang->convert->dbPassword = '数据库密码';
|
||||
$lang->convert->dbName = '%s使用的库';
|
||||
$lang->convert->dbCharset = '%s数据库编码';
|
||||
$lang->convert->dbPrefix = '%s表前缀';
|
||||
$lang->convert->installPath= '%s安装的根目录';
|
||||
|
||||
$lang->convert->checkDB = '数据库';
|
||||
$lang->convert->checkTable = '表';
|
||||
$lang->convert->checkPath = '安装路径';
|
||||
|
||||
$lang->convert->execute = '执行转换';
|
||||
$lang->convert->item = '转换项';
|
||||
$lang->convert->count = '转换数量';
|
||||
$lang->convert->info = '转换信息';
|
||||
|
||||
$lang->convert->bugfree->users = '用户';
|
||||
$lang->convert->bugfree->projects = '项目';
|
||||
$lang->convert->bugfree->modules = '模块';
|
||||
$lang->convert->bugfree->bugs = 'Bug';
|
||||
$lang->convert->bugfree->cases = '测试用例';
|
||||
$lang->convert->bugfree->results = '测试结果';
|
||||
$lang->convert->bugfree->actions = '历史记录';
|
||||
$lang->convert->bugfree->files = '附件';
|
||||
|
||||
$lang->convert->errorConnectDB = '数据库连接失败 ';
|
||||
$lang->convert->errorFileNotExits = '文件 %s 不存在';
|
||||
$lang->convert->errorUserExists = '用户 %s 已存在';
|
||||
$lang->convert->errorCopyFailed = '文件 %s 拷贝失败';
|
||||
|
||||
@@ -1,80 +1,67 @@
|
||||
<?php
|
||||
/**
|
||||
* The convert module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id: zh-tw.php 1068 2010-09-11 07:11:57Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->convert->common = '從其他系統導入';
|
||||
$lang->convert->next = '下一步';
|
||||
$lang->convert->pre = '返回';
|
||||
$lang->convert->reload = '刷新';
|
||||
$lang->convert->error = '錯誤 ';
|
||||
|
||||
$lang->convert->start = '開始轉換';
|
||||
$lang->convert->desc = <<<EOT
|
||||
<p>歡迎使用系統轉換嚮導,本程序會幫助您將其他系統的數據轉換到禪道項目管理系統中。</p>
|
||||
<strong>轉換存在一定的風險,轉換之前,我們強烈建議您備份資料庫及相應的數據檔案,並保證轉換的時候,沒有其他人進行操作。</strong>
|
||||
EOT;
|
||||
|
||||
$lang->convert->selectSource = '選擇來源系統及版本';
|
||||
$lang->convert->source = '來源系統';
|
||||
$lang->convert->version = '版本';
|
||||
$lang->convert->mustSelectSource = "必須選擇一個來源。";
|
||||
|
||||
$lang->convert->sourceList['BugFree'] = array('bugfree_1' => '1.x', 'bugfree_2' => '2.x');
|
||||
|
||||
$lang->convert->setting = '設置';
|
||||
$lang->convert->checkConfig = '檢查配置';
|
||||
|
||||
$lang->convert->ok = '檢查通過(√)';
|
||||
$lang->convert->fail = '檢查失敗(×)';
|
||||
|
||||
$lang->convert->settingDB = '設置資料庫';
|
||||
$lang->convert->dbHost = '資料庫伺服器';
|
||||
$lang->convert->dbPort = '伺服器連接埠';
|
||||
$lang->convert->dbUser = '資料庫用戶名';
|
||||
$lang->convert->dbPassword = '資料庫密碼';
|
||||
$lang->convert->dbName = '%s使用的庫';
|
||||
$lang->convert->dbCharset = '%s資料庫編碼';
|
||||
$lang->convert->dbPrefix = '%s表首碼';
|
||||
$lang->convert->installPath= '%s安裝的根目錄';
|
||||
|
||||
$lang->convert->checkDB = '資料庫';
|
||||
$lang->convert->checkTable = '表';
|
||||
$lang->convert->checkPath = '安裝路徑';
|
||||
|
||||
$lang->convert->execute = '執行轉換';
|
||||
$lang->convert->item = '轉換項';
|
||||
$lang->convert->count = '轉換數量';
|
||||
$lang->convert->info = '轉換信息';
|
||||
|
||||
$lang->convert->bugfree->users = '用戶';
|
||||
$lang->convert->bugfree->projects = '項目';
|
||||
$lang->convert->bugfree->modules = '模組';
|
||||
$lang->convert->bugfree->bugs = 'Bug';
|
||||
$lang->convert->bugfree->cases = '測試用例';
|
||||
$lang->convert->bugfree->results = '測試結果';
|
||||
$lang->convert->bugfree->actions = '歷史記錄';
|
||||
$lang->convert->bugfree->files = '附件';
|
||||
|
||||
$lang->convert->errorConnectDB = '資料庫連接失敗 ';
|
||||
$lang->convert->errorFileNotExits = '檔案 %s 不存在';
|
||||
$lang->convert->errorUserExists = '用戶 %s 已存在';
|
||||
$lang->convert->errorCopyFailed = '檔案 %s 拷貝失敗';
|
||||
<?php
|
||||
/**
|
||||
* The convert module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id: zh-tw.php 1068 2010-09-11 07:11:57Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->convert->common = '從其他系統導入';
|
||||
$lang->convert->next = '下一步';
|
||||
$lang->convert->pre = '返回';
|
||||
$lang->convert->reload = '刷新';
|
||||
$lang->convert->error = '錯誤 ';
|
||||
|
||||
$lang->convert->start = '開始轉換';
|
||||
$lang->convert->desc = <<<EOT
|
||||
<p>歡迎使用系統轉換嚮導,本程序會幫助您將其他系統的數據轉換到禪道項目管理系統中。</p>
|
||||
<strong>轉換存在一定的風險,轉換之前,我們強烈建議您備份資料庫及相應的數據檔案,並保證轉換的時候,沒有其他人進行操作。</strong>
|
||||
EOT;
|
||||
|
||||
$lang->convert->selectSource = '選擇來源系統及版本';
|
||||
$lang->convert->source = '來源系統';
|
||||
$lang->convert->version = '版本';
|
||||
$lang->convert->mustSelectSource = "必須選擇一個來源。";
|
||||
|
||||
$lang->convert->sourceList['BugFree'] = array('bugfree_1' => '1.x', 'bugfree_2' => '2.x');
|
||||
|
||||
$lang->convert->setting = '設置';
|
||||
$lang->convert->checkConfig = '檢查配置';
|
||||
|
||||
$lang->convert->ok = '檢查通過(√)';
|
||||
$lang->convert->fail = '檢查失敗(×)';
|
||||
|
||||
$lang->convert->settingDB = '設置資料庫';
|
||||
$lang->convert->dbHost = '資料庫伺服器';
|
||||
$lang->convert->dbPort = '伺服器連接埠';
|
||||
$lang->convert->dbUser = '資料庫用戶名';
|
||||
$lang->convert->dbPassword = '資料庫密碼';
|
||||
$lang->convert->dbName = '%s使用的庫';
|
||||
$lang->convert->dbCharset = '%s資料庫編碼';
|
||||
$lang->convert->dbPrefix = '%s表首碼';
|
||||
$lang->convert->installPath= '%s安裝的根目錄';
|
||||
|
||||
$lang->convert->checkDB = '資料庫';
|
||||
$lang->convert->checkTable = '表';
|
||||
$lang->convert->checkPath = '安裝路徑';
|
||||
|
||||
$lang->convert->execute = '執行轉換';
|
||||
$lang->convert->item = '轉換項';
|
||||
$lang->convert->count = '轉換數量';
|
||||
$lang->convert->info = '轉換信息';
|
||||
|
||||
$lang->convert->bugfree->users = '用戶';
|
||||
$lang->convert->bugfree->projects = '項目';
|
||||
$lang->convert->bugfree->modules = '模組';
|
||||
$lang->convert->bugfree->bugs = 'Bug';
|
||||
$lang->convert->bugfree->cases = '測試用例';
|
||||
$lang->convert->bugfree->results = '測試結果';
|
||||
$lang->convert->bugfree->actions = '歷史記錄';
|
||||
$lang->convert->bugfree->files = '附件';
|
||||
|
||||
$lang->convert->errorConnectDB = '資料庫連接失敗 ';
|
||||
$lang->convert->errorFileNotExits = '檔案 %s 不存在';
|
||||
$lang->convert->errorUserExists = '用戶 %s 已存在';
|
||||
$lang->convert->errorCopyFailed = '檔案 %s 拷貝失敗';
|
||||
|
||||
@@ -1,79 +1,66 @@
|
||||
<?php
|
||||
/**
|
||||
* The model file of convert module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
class convertModel extends model
|
||||
{
|
||||
/* 连接到数据库。*/
|
||||
public function connectDB()
|
||||
{
|
||||
$dsn = "mysql:host={$this->post->dbHost}; port={$this->post->dbPort};dbname={$this->post->dbName}";
|
||||
try
|
||||
{
|
||||
$dbh = new PDO($dsn, $this->post->dbUser, $this->post->dbPassword);
|
||||
$dbh->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
|
||||
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
$dbh->exec("SET NAMES {$this->post->dbCharset}");
|
||||
$this->sourceDBH = $dbh;
|
||||
return $dbh;
|
||||
}
|
||||
catch (PDOException $exception)
|
||||
{
|
||||
return $exception->getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
/* 判断数据库是否存在。*/
|
||||
public function dbExists()
|
||||
{
|
||||
$sql = "SHOW DATABASES like '{$this->post->db->name}'";
|
||||
return $this->dbh->query($sql)->fetch();
|
||||
}
|
||||
|
||||
/* 记录当前数据库中的每个表最大id。*/
|
||||
public function saveState()
|
||||
{
|
||||
/* 获得用户级别的常量定义列表。*/
|
||||
$constants = get_defined_constants(true);
|
||||
$userConstants = $constants['user'];
|
||||
|
||||
/* 去掉不需要保存状态的表。*/
|
||||
unset($userConstants['TABLE_BURN']);
|
||||
unset($userConstants['TABLE_GROUPPRIV']);
|
||||
unset($userConstants['TABLE_PROJECTPRODUCT']);
|
||||
unset($userConstants['TABLE_PROJECTSTORY']);
|
||||
unset($userConstants['TABLE_STORYSPEC']);
|
||||
unset($userConstants['TABLE_TEAM']);
|
||||
unset($userConstants['TABLE_USERGROUP']);
|
||||
|
||||
/* 查找每个表的id字段的最大值。*/
|
||||
foreach($userConstants as $key => $value)
|
||||
{
|
||||
if(strpos($key, 'TABLE') === false) continue;
|
||||
if($key == 'TABLE_COMPANY') continue;
|
||||
$state[$value] = (int)$this->dao->select('MAX(id) AS id')->from($value)->fetch('id');
|
||||
}
|
||||
$this->session->set('state', $state);
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The model file of convert module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
class convertModel extends model
|
||||
{
|
||||
/* 连接到数据库。*/
|
||||
public function connectDB()
|
||||
{
|
||||
$dsn = "mysql:host={$this->post->dbHost}; port={$this->post->dbPort};dbname={$this->post->dbName}";
|
||||
try
|
||||
{
|
||||
$dbh = new PDO($dsn, $this->post->dbUser, $this->post->dbPassword);
|
||||
$dbh->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
|
||||
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
$dbh->exec("SET NAMES {$this->post->dbCharset}");
|
||||
$this->sourceDBH = $dbh;
|
||||
return $dbh;
|
||||
}
|
||||
catch (PDOException $exception)
|
||||
{
|
||||
return $exception->getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
/* 判断数据库是否存在。*/
|
||||
public function dbExists()
|
||||
{
|
||||
$sql = "SHOW DATABASES like '{$this->post->db->name}'";
|
||||
return $this->dbh->query($sql)->fetch();
|
||||
}
|
||||
|
||||
/* 记录当前数据库中的每个表最大id。*/
|
||||
public function saveState()
|
||||
{
|
||||
/* 获得用户级别的常量定义列表。*/
|
||||
$constants = get_defined_constants(true);
|
||||
$userConstants = $constants['user'];
|
||||
|
||||
/* 去掉不需要保存状态的表。*/
|
||||
unset($userConstants['TABLE_BURN']);
|
||||
unset($userConstants['TABLE_GROUPPRIV']);
|
||||
unset($userConstants['TABLE_PROJECTPRODUCT']);
|
||||
unset($userConstants['TABLE_PROJECTSTORY']);
|
||||
unset($userConstants['TABLE_STORYSPEC']);
|
||||
unset($userConstants['TABLE_TEAM']);
|
||||
unset($userConstants['TABLE_USERGROUP']);
|
||||
|
||||
/* 查找每个表的id字段的最大值。*/
|
||||
foreach($userConstants as $key => $value)
|
||||
{
|
||||
if(strpos($key, 'TABLE') === false) continue;
|
||||
if($key == 'TABLE_COMPANY') continue;
|
||||
$state[$value] = (int)$this->dao->select('MAX(id) AS id')->from($value)->fetch('id');
|
||||
}
|
||||
$this->session->set('state', $state);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,43 +1,30 @@
|
||||
<?php
|
||||
/**
|
||||
* The html template file of check config method of convert module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' action='<?php echo inlink('execute');?>'>
|
||||
<table align='center' class='table-5 f-14px'>
|
||||
<caption><?php echo $lang->convert->checkConfig . $lang->colon . strtoupper($source);?></caption>
|
||||
<?php echo $checkResult;?>
|
||||
</table>
|
||||
<?php
|
||||
echo html::hidden('dbHost', $this->post->dbHost);
|
||||
echo html::hidden('dbPort', $this->post->dbPort);
|
||||
echo html::hidden('dbUser', $this->post->dbUser);
|
||||
echo html::hidden('dbPassword', $this->post->dbPassword);
|
||||
echo html::hidden('dbName', $this->post->dbName);
|
||||
echo html::hidden('dbCharset', $this->post->dbCharset);
|
||||
echo html::hidden('dbPrefix', $this->post->dbPrefix);
|
||||
echo html::hidden('installPath',$this->post->installPath);
|
||||
?>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The html template file of check config method of convert module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' action='<?php echo inlink('execute');?>'>
|
||||
<table align='center' class='table-5 f-14px'>
|
||||
<caption><?php echo $lang->convert->checkConfig . $lang->colon . strtoupper($source);?></caption>
|
||||
<?php echo $checkResult;?>
|
||||
</table>
|
||||
<?php
|
||||
echo html::hidden('dbHost', $this->post->dbHost);
|
||||
echo html::hidden('dbPort', $this->post->dbPort);
|
||||
echo html::hidden('dbUser', $this->post->dbUser);
|
||||
echo html::hidden('dbPassword', $this->post->dbPassword);
|
||||
echo html::hidden('dbName', $this->post->dbName);
|
||||
echo html::hidden('dbCharset', $this->post->dbCharset);
|
||||
echo html::hidden('dbPrefix', $this->post->dbPrefix);
|
||||
echo html::hidden('installPath',$this->post->installPath);
|
||||
?>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,32 +1,19 @@
|
||||
<?php
|
||||
/**
|
||||
* The html template file of execute method of convert module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<table align='center' class='f-14px'>
|
||||
<caption><?php echo $lang->convert->execute . $lang->colon . strtoupper($source);?></caption>
|
||||
<?php echo $executeResult;?>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The html template file of execute method of convert module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<table align='center' class='f-14px'>
|
||||
<caption><?php echo $lang->convert->execute . $lang->colon . strtoupper($source);?></caption>
|
||||
<?php echo $executeResult;?>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,32 +1,19 @@
|
||||
<?php
|
||||
/**
|
||||
* The html template file of index method of convert module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package ZenTaoMS
|
||||
* @version $Id$
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<table align='center' class='table-5'>
|
||||
<caption><?php echo $lang->convert->common;?></caption>
|
||||
<tr><td><?php echo nl2br($lang->convert->desc);?></td></tr>
|
||||
<tr><td><h3 class='a-center'><?php echo html::a($this->createLink('convert', 'selectsource'), $lang->convert->start);?></h3></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The html template file of index method of convert module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package ZenTaoMS
|
||||
* @version $Id$
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<table align='center' class='table-5'>
|
||||
<caption><?php echo $lang->convert->common;?></caption>
|
||||
<tr><td><?php echo nl2br($lang->convert->desc);?></td></tr>
|
||||
<tr><td><h3 class='a-center'><?php echo html::a($this->createLink('convert', 'selectsource'), $lang->convert->start);?></h3></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,45 +1,32 @@
|
||||
<?php
|
||||
/**
|
||||
* The html template file of select source method of convert module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' action='<?php echo inlink('setConfig');?>'>
|
||||
<table align='center' class='table-5 f-14px'>
|
||||
<caption><?php echo $lang->convert->selectSource;?></caption>
|
||||
<tr>
|
||||
<th class='w-p20'><?php echo $lang->convert->source;?></th>
|
||||
<th><?php echo $lang->convert->version;?></th>
|
||||
</tr>
|
||||
<?php foreach($lang->convert->sourceList as $name => $versions):?>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $name;?></th>
|
||||
<td><?php echo html::radio('source', $versions);?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'><?php echo html::submitButton();?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The html template file of select source method of convert module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' action='<?php echo inlink('setConfig');?>'>
|
||||
<table align='center' class='table-5 f-14px'>
|
||||
<caption><?php echo $lang->convert->selectSource;?></caption>
|
||||
<tr>
|
||||
<th class='w-p20'><?php echo $lang->convert->source;?></th>
|
||||
<th><?php echo $lang->convert->version;?></th>
|
||||
</tr>
|
||||
<?php foreach($lang->convert->sourceList as $name => $versions):?>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $name;?></th>
|
||||
<td><?php echo html::radio('source', $versions);?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'><?php echo html::submitButton();?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,37 +1,24 @@
|
||||
<?php
|
||||
/**
|
||||
* The html template file of setconfig method of convert module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' action='<?php echo inlink('checkconfig');?>'>
|
||||
<table align='center' class='table-5 f-14px'>
|
||||
<caption><?php echo $lang->convert->setting . $lang->colon . strtoupper($source);?></caption>
|
||||
<?php echo $setting;?>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'><?php echo html::submitButton();?></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php echo html::hidden('source', $source) . html::hidden('version', $version);?>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The html template file of setconfig method of convert module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package convert
|
||||
* @version $Id$
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' action='<?php echo inlink('checkconfig');?>'>
|
||||
<table align='center' class='table-5 f-14px'>
|
||||
<caption><?php echo $lang->convert->setting . $lang->colon . strtoupper($source);?></caption>
|
||||
<?php echo $setting;?>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'><?php echo html::submitButton();?></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php echo html::hidden('source', $source) . html::hidden('version', $version);?>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,99 +1,86 @@
|
||||
<?php
|
||||
/**
|
||||
* The control file of dept module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package dept
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class dept extends control
|
||||
{
|
||||
const NEW_CHILD_COUNT = 5;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->loadModel('company')->setMenu();
|
||||
}
|
||||
|
||||
/* 部门列表。*/
|
||||
public function browse($deptID = 0)
|
||||
{
|
||||
$header['title'] = $this->lang->dept->manage . $this->lang->colon . $this->app->company->name;
|
||||
$position[] = $this->lang->dept->manage;
|
||||
|
||||
$parentDepts = $this->dept->getParents($deptID);
|
||||
$this->view->header = $header;
|
||||
$this->view->position = $position;
|
||||
$this->view->deptID = $deptID;
|
||||
$this->view->depts = $this->dept->getTreeMenu($rooteDeptID = 0, array('deptmodel', 'createManageLink'));
|
||||
$this->view->parentDepts = $parentDepts;
|
||||
$this->view->sons = $this->dept->getSons($deptID);
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 编辑部门。*/
|
||||
public function edit($moduleID)
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
if($this->product->update($_POST)) die(js::locate($this->createLink($this->moduleName, 'index', "product=$_POST[id]"), 'parent'));
|
||||
}
|
||||
|
||||
$product = $this->product->getByID($productID);
|
||||
$header['title'] = $this->lang->product->edit . $this->lang->colon . $product->name;
|
||||
$this->view->header = $header;
|
||||
$this->view->product = $product;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 更新排序。*/
|
||||
public function updateOrder()
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$this->dept->updateOrder($_POST['orders']);
|
||||
die(js::reload('parent'));
|
||||
}
|
||||
}
|
||||
|
||||
/* 维护下级部门。*/
|
||||
public function manageChild()
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$this->dept->manageChild($_POST['parentDeptID'], $_POST['depts']);
|
||||
die(js::reload('parent'));
|
||||
}
|
||||
}
|
||||
|
||||
/* 删除某一个部门。*/
|
||||
public function delete($deptID, $confirm = 'no')
|
||||
{
|
||||
if($confirm == 'no')
|
||||
{
|
||||
echo js::confirm($this->lang->dept->confirmDelete, $this->createLink('dept', 'delete', "deptID=$deptID&confirm=yes"));
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->dept->delete($deptID);
|
||||
die(js::reload('parent'));
|
||||
}
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The control file of dept module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package dept
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class dept extends control
|
||||
{
|
||||
const NEW_CHILD_COUNT = 5;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->loadModel('company')->setMenu();
|
||||
}
|
||||
|
||||
/* 部门列表。*/
|
||||
public function browse($deptID = 0)
|
||||
{
|
||||
$header['title'] = $this->lang->dept->manage . $this->lang->colon . $this->app->company->name;
|
||||
$position[] = $this->lang->dept->manage;
|
||||
|
||||
$parentDepts = $this->dept->getParents($deptID);
|
||||
$this->view->header = $header;
|
||||
$this->view->position = $position;
|
||||
$this->view->deptID = $deptID;
|
||||
$this->view->depts = $this->dept->getTreeMenu($rooteDeptID = 0, array('deptmodel', 'createManageLink'));
|
||||
$this->view->parentDepts = $parentDepts;
|
||||
$this->view->sons = $this->dept->getSons($deptID);
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 编辑部门。*/
|
||||
public function edit($moduleID)
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
if($this->product->update($_POST)) die(js::locate($this->createLink($this->moduleName, 'index', "product=$_POST[id]"), 'parent'));
|
||||
}
|
||||
|
||||
$product = $this->product->getByID($productID);
|
||||
$header['title'] = $this->lang->product->edit . $this->lang->colon . $product->name;
|
||||
$this->view->header = $header;
|
||||
$this->view->product = $product;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 更新排序。*/
|
||||
public function updateOrder()
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$this->dept->updateOrder($_POST['orders']);
|
||||
die(js::reload('parent'));
|
||||
}
|
||||
}
|
||||
|
||||
/* 维护下级部门。*/
|
||||
public function manageChild()
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$this->dept->manageChild($_POST['parentDeptID'], $_POST['depts']);
|
||||
die(js::reload('parent'));
|
||||
}
|
||||
}
|
||||
|
||||
/* 删除某一个部门。*/
|
||||
public function delete($deptID, $confirm = 'no')
|
||||
{
|
||||
if($confirm == 'no')
|
||||
{
|
||||
echo js::confirm($this->lang->dept->confirmDelete, $this->createLink('dept', 'delete', "deptID=$deptID&confirm=yes"));
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->dept->delete($deptID);
|
||||
die(js::reload('parent'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,35 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* The dept module English file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package dept
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->dept->common = 'Department';
|
||||
$lang->dept->add = "Add";
|
||||
$lang->dept->addChild = "Add child department";
|
||||
$lang->dept->manageChild = "Child deprtment";
|
||||
$lang->dept->delete = "Delete";
|
||||
$lang->dept->browse = "Manage";
|
||||
$lang->dept->manage = "Manage";
|
||||
$lang->dept->updateOrder = "Update order";
|
||||
$lang->dept->users = "Users";
|
||||
|
||||
$lang->dept->saveButton = " Save (S) ";
|
||||
$lang->dept->confirmDelete = "Are you sure to delete this department?";
|
||||
<?php
|
||||
/**
|
||||
* The dept module English file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package dept
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->dept->common = 'Department';
|
||||
$lang->dept->add = "Add";
|
||||
$lang->dept->addChild = "Add child department";
|
||||
$lang->dept->manageChild = "Child deprtment";
|
||||
$lang->dept->delete = "Delete";
|
||||
$lang->dept->browse = "Manage";
|
||||
$lang->dept->manage = "Manage";
|
||||
$lang->dept->updateOrder = "Update order";
|
||||
$lang->dept->users = "Users";
|
||||
|
||||
$lang->dept->saveButton = " Save (S) ";
|
||||
$lang->dept->confirmDelete = "Are you sure to delete this department?";
|
||||
|
||||
@@ -1,35 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* The dept module Japanese file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package dept
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->dept->common = '部門';
|
||||
$lang->dept->add = "追加";
|
||||
$lang->dept->addChild = "子部門を追加する";
|
||||
$lang->dept->manageChild = "チャイルド表情を通じて";
|
||||
$lang->dept->delete = "削除";
|
||||
$lang->dept->browse = "管理";
|
||||
$lang->dept->manage = "管理";
|
||||
$lang->dept->updateOrder = "更新順";
|
||||
$lang->dept->users = "ユーザー";
|
||||
|
||||
$lang->dept->saveButton = "保存(S)";
|
||||
$lang->dept->confirmDelete = "あなたはこの部門を削除してよろしいですか?";
|
||||
<?php
|
||||
/**
|
||||
* The dept module Japanese file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package dept
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->dept->common = '部門';
|
||||
$lang->dept->add = "追加";
|
||||
$lang->dept->addChild = "子部門を追加する";
|
||||
$lang->dept->manageChild = "チャイルド表情を通じて";
|
||||
$lang->dept->delete = "削除";
|
||||
$lang->dept->browse = "管理";
|
||||
$lang->dept->manage = "管理";
|
||||
$lang->dept->updateOrder = "更新順";
|
||||
$lang->dept->users = "ユーザー";
|
||||
|
||||
$lang->dept->saveButton = "保存(S)";
|
||||
$lang->dept->confirmDelete = "あなたはこの部門を削除してよろしいですか?";
|
||||
|
||||
@@ -1,35 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* The dept module Korean file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package dept
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->dept->common = '학부';
|
||||
$lang->dept->add = "추가하기";
|
||||
$lang->dept->addChild = "아동학과 추가";
|
||||
$lang->dept->manageChild = "어린이 deprtment";
|
||||
$lang->dept->delete = "삭제";
|
||||
$lang->dept->browse = "관리";
|
||||
$lang->dept->manage = "관리";
|
||||
$lang->dept->updateOrder = "업데이트 순서";
|
||||
$lang->dept->users = "사용자";
|
||||
|
||||
$lang->dept->saveButton = "저장 (S)";
|
||||
$lang->dept->confirmDelete = "이 부서를 삭제하시겠습니까?";
|
||||
<?php
|
||||
/**
|
||||
* The dept module Korean file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package dept
|
||||
* @version $Id: en.php 993 2010-08-02 10:20:01Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->dept->common = '학부';
|
||||
$lang->dept->add = "추가하기";
|
||||
$lang->dept->addChild = "아동학과 추가";
|
||||
$lang->dept->manageChild = "어린이 deprtment";
|
||||
$lang->dept->delete = "삭제";
|
||||
$lang->dept->browse = "관리";
|
||||
$lang->dept->manage = "관리";
|
||||
$lang->dept->updateOrder = "업데이트 순서";
|
||||
$lang->dept->users = "사용자";
|
||||
|
||||
$lang->dept->saveButton = "저장 (S)";
|
||||
$lang->dept->confirmDelete = "이 부서를 삭제하시겠습니까?";
|
||||
|
||||
@@ -1,35 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* The dept module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package dept
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->dept->common = '部门结构';
|
||||
$lang->dept->add = "添加";
|
||||
$lang->dept->addChild = "添加下级部门";
|
||||
$lang->dept->manageChild = "下级部门";
|
||||
$lang->dept->delete = "删除部门";
|
||||
$lang->dept->browse = "部门维护";
|
||||
$lang->dept->manage = "维护部门结构";
|
||||
$lang->dept->updateOrder = "更新排序";
|
||||
$lang->dept->users = "成员列表";
|
||||
|
||||
$lang->dept->saveButton = " 保存 (S) ";
|
||||
$lang->dept->confirmDelete = " 您确定删除该部门吗?";
|
||||
<?php
|
||||
/**
|
||||
* The dept module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package dept
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->dept->common = '部门结构';
|
||||
$lang->dept->add = "添加";
|
||||
$lang->dept->addChild = "添加下级部门";
|
||||
$lang->dept->manageChild = "下级部门";
|
||||
$lang->dept->delete = "删除部门";
|
||||
$lang->dept->browse = "部门维护";
|
||||
$lang->dept->manage = "维护部门结构";
|
||||
$lang->dept->updateOrder = "更新排序";
|
||||
$lang->dept->users = "成员列表";
|
||||
|
||||
$lang->dept->saveButton = " 保存 (S) ";
|
||||
$lang->dept->confirmDelete = " 您确定删除该部门吗?";
|
||||
|
||||
@@ -1,35 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* The dept module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package dept
|
||||
* @version $Id: zh-tw.php 1068 2010-09-11 07:11:57Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->dept->common = '部門結構';
|
||||
$lang->dept->add = "添加";
|
||||
$lang->dept->addChild = "添加下級部門";
|
||||
$lang->dept->manageChild = "下級部門";
|
||||
$lang->dept->delete = "刪除部門";
|
||||
$lang->dept->browse = "部門維護";
|
||||
$lang->dept->manage = "維護部門結構";
|
||||
$lang->dept->updateOrder = "更新排序";
|
||||
$lang->dept->users = "成員列表";
|
||||
|
||||
$lang->dept->saveButton = " 保存 (S) ";
|
||||
$lang->dept->confirmDelete = " 您確定刪除該部門嗎?";
|
||||
<?php
|
||||
/**
|
||||
* The dept module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package dept
|
||||
* @version $Id: zh-tw.php 1068 2010-09-11 07:11:57Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->dept->common = '部門結構';
|
||||
$lang->dept->add = "添加";
|
||||
$lang->dept->addChild = "添加下級部門";
|
||||
$lang->dept->manageChild = "下級部門";
|
||||
$lang->dept->delete = "刪除部門";
|
||||
$lang->dept->browse = "部門維護";
|
||||
$lang->dept->manage = "維護部門結構";
|
||||
$lang->dept->updateOrder = "更新排序";
|
||||
$lang->dept->users = "成員列表";
|
||||
|
||||
$lang->dept->saveButton = " 保存 (S) ";
|
||||
$lang->dept->confirmDelete = " 您確定刪除該部門嗎?";
|
||||
|
||||
@@ -1,234 +1,221 @@
|
||||
<?php
|
||||
/**
|
||||
* The model file of dept dept of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package dept
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
class deptModel extends model
|
||||
{
|
||||
/* 通过部门id获取部门信息。*/
|
||||
public function getByID($deptID)
|
||||
{
|
||||
return $this->dao->findById($deptID)->from(TABLE_DEPT)->fetch();
|
||||
}
|
||||
|
||||
/* 生成查询的sql语句。*/
|
||||
private function buildMenuQuery($rootDeptID)
|
||||
{
|
||||
$rootDept = $this->getByID($rootDeptID);
|
||||
if(!$rootDept) $rootDept->path = '';
|
||||
return $this->dao->select('*')->from(TABLE_DEPT)
|
||||
->beginIF($rootDeptID > 0)->where('path')->like($rootDept->path . '%')->fi()
|
||||
->orderBy('grade desc, `order`')
|
||||
->get();
|
||||
}
|
||||
|
||||
/* 获取部门的下类列表,用于生成select控件。*/
|
||||
public function getOptionMenu($rootDeptID = 0)
|
||||
{
|
||||
$deptMenu = array();
|
||||
$stmt = $this->dbh->query($this->buildMenuQuery($rootDeptID));
|
||||
$depts = array();
|
||||
while($dept = $stmt->fetch()) $depts[$dept->id] = $dept;
|
||||
|
||||
foreach($depts as $dept)
|
||||
{
|
||||
$parentDepts = explode(',', $dept->path);
|
||||
$deptName = '/';
|
||||
foreach($parentDepts as $parentDeptID)
|
||||
{
|
||||
if(empty($parentDeptID)) continue;
|
||||
$deptName .= $depts[$parentDeptID]->name . '/';
|
||||
}
|
||||
$deptName = rtrim($deptName, '/');
|
||||
$deptName .= "|$dept->id\n";
|
||||
|
||||
if(isset($deptMenu[$dept->id]) and !empty($deptMenu[$dept->id]))
|
||||
{
|
||||
if(isset($deptMenu[$dept->parent]))
|
||||
{
|
||||
$deptMenu[$dept->parent] .= $deptName;
|
||||
}
|
||||
else
|
||||
{
|
||||
$deptMenu[$dept->parent] = $deptName;;
|
||||
}
|
||||
$deptMenu[$dept->parent] .= $deptMenu[$dept->id];
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isset($deptMenu[$dept->parent]) and !empty($deptMenu[$dept->parent]))
|
||||
{
|
||||
$deptMenu[$dept->parent] .= $deptName;
|
||||
}
|
||||
else
|
||||
{
|
||||
$deptMenu[$dept->parent] = $deptName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$topMenu = @array_pop($deptMenu);
|
||||
$topMenu = explode("\n", trim($topMenu));
|
||||
$lastMenu[] = '/';
|
||||
foreach($topMenu as $menu)
|
||||
{
|
||||
if(!strpos($menu, '|')) continue;
|
||||
list($label, $deptID) = explode('|', $menu);
|
||||
$lastMenu[$deptID] = $label;
|
||||
}
|
||||
return $lastMenu;
|
||||
}
|
||||
|
||||
/* 获取树状的部门列表。*/
|
||||
public function getTreeMenu($rootDeptID = 0, $userFunc)
|
||||
{
|
||||
$deptMenu = array();
|
||||
$stmt = $this->dbh->query($this->buildMenuQuery($rootDeptID));
|
||||
while($dept = $stmt->fetch())
|
||||
{
|
||||
$linkHtml = call_user_func($userFunc, $dept);
|
||||
|
||||
if(isset($deptMenu[$dept->id]) and !empty($deptMenu[$dept->id]))
|
||||
{
|
||||
if(!isset($deptMenu[$dept->parent])) $deptMenu[$dept->parent] = '';
|
||||
$deptMenu[$dept->parent] .= "<li>$linkHtml";
|
||||
$deptMenu[$dept->parent] .= "<ul>".$deptMenu[$dept->id]."</ul>\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isset($deptMenu[$dept->parent]) and !empty($deptMenu[$dept->parent]))
|
||||
{
|
||||
$deptMenu[$dept->parent] .= "<li>$linkHtml\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$deptMenu[$dept->parent] = "<li>$linkHtml\n";
|
||||
}
|
||||
}
|
||||
$deptMenu[$dept->parent] .= "</li>\n";
|
||||
}
|
||||
|
||||
$lastMenu = "<ul id='tree'>" . @array_pop($deptMenu) . "</ul>\n";
|
||||
return $lastMenu;
|
||||
}
|
||||
|
||||
/* 生成编辑链接。*/
|
||||
public function createManageLink($dept)
|
||||
{
|
||||
$linkHtml = $dept->name;
|
||||
$linkHtml .= ' ' . html::a(helper::createLink('dept', 'browse', "deptid={$dept->id}"), $this->lang->dept->manageChild);
|
||||
$linkHtml .= ' ' . html::a(helper::createLink('dept', 'delete', "deptid={$dept->id}"), $this->lang->dept->delete, 'hiddenwin');
|
||||
$linkHtml .= ' ' . html::input("orders[$dept->id]", $dept->order, 'style="width:30px;text-align:center"');
|
||||
return $linkHtml;
|
||||
}
|
||||
|
||||
/* 生成用户链接。*/
|
||||
public function createMemberLink($dept)
|
||||
{
|
||||
$linkHtml = html::a(helper::createLink('company', 'browse', "dept={$dept->id}"), $dept->name, '_self', "id='dept{$dept->id}'");
|
||||
return $linkHtml;
|
||||
}
|
||||
|
||||
/* 获得某一个部门的直接下级部门。*/
|
||||
public function getSons($deptID)
|
||||
{
|
||||
return $this->dao->select('*')->from(TABLE_DEPT)->where('parent')->eq($deptID)->orderBy('`order`')->fetchAll();
|
||||
}
|
||||
|
||||
/* 获得一个部门的id列表。*/
|
||||
public function getAllChildId($deptID)
|
||||
{
|
||||
if($deptID == 0) return array();
|
||||
$dept = $this->getById($deptID);
|
||||
$childs = $this->dao->select('id')->from(TABLE_DEPT)->where('path')->like($dept->path . '%')->fetchPairs();
|
||||
return array_keys($childs);
|
||||
}
|
||||
|
||||
/* 获得一个部门的所有上级部门。*/
|
||||
public function getParents($deptID)
|
||||
{
|
||||
if($deptID == 0) return array();
|
||||
$path = $this->dao->select('path')->from(TABLE_DEPT)->where('id')->eq($deptID)->fetch('path');
|
||||
$path = substr($path, 1, -1);
|
||||
if(empty($path)) return array();
|
||||
return $this->dao->select('*')->from(TABLE_DEPT)->where('id')->in($path)->orderBy('grade')->fetchAll();
|
||||
}
|
||||
|
||||
/* 更新排序信息。*/
|
||||
public function updateOrder($orders)
|
||||
{
|
||||
foreach($orders as $deptID => $order) $this->dao->update(TABLE_DEPT)->set('`order`')->eq($order)->where('id')->eq($deptID)->exec();
|
||||
}
|
||||
|
||||
/* 更新某一个部门的子部门。*/
|
||||
public function manageChild($parentDeptID, $childs)
|
||||
{
|
||||
$parentDept = $this->getByID($parentDeptID);
|
||||
if($parentDept)
|
||||
{
|
||||
$grade = $parentDept->grade + 1;
|
||||
$parentPath = $parentDept->path;
|
||||
}
|
||||
else
|
||||
{
|
||||
$grade = 1;
|
||||
$parentPath = ',';
|
||||
}
|
||||
|
||||
foreach($childs as $deptID => $deptName)
|
||||
{
|
||||
if(empty($deptName)) continue;
|
||||
if(is_numeric($deptID))
|
||||
{
|
||||
$dept->name = $deptName;
|
||||
$dept->parent = $parentDeptID;
|
||||
$dept->grade = $grade;
|
||||
$this->dao->insert(TABLE_DEPT)->data($dept)->exec();
|
||||
$deptID = $this->dao->lastInsertID();
|
||||
$childPath = $parentPath . "$deptID,";
|
||||
$this->dao->update(TABLE_DEPT)->set('path')->eq($childPath)->where('id')->eq($deptID)->exec();
|
||||
}
|
||||
else
|
||||
{
|
||||
$deptID = str_replace('id', '', $deptID);
|
||||
$this->dao->update(TABLE_DEPT)->set('name')->eq($deptName)->where('id')->eq($deptID)->exec();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 获得某一个部门的成员列表。*/
|
||||
public function getUsers($deptID)
|
||||
{
|
||||
return $this->dao->select('*')->from(TABLE_USER)
|
||||
->where('deleted')->eq(0)
|
||||
->beginIF($deptID)->andWhere('dept')->in($deptID)->fi()
|
||||
->orderBy('id')
|
||||
->fetchAll();
|
||||
}
|
||||
|
||||
/* 删除一个部门。Todo: 需要修改下级目录的权限,还有对应的需求列表。*/
|
||||
public function delete($deptID)
|
||||
{
|
||||
$this->dao->delete()->from(TABLE_DEPT)->where('id')->eq($deptID)->exec();
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The model file of dept dept of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package dept
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
class deptModel extends model
|
||||
{
|
||||
/* 通过部门id获取部门信息。*/
|
||||
public function getByID($deptID)
|
||||
{
|
||||
return $this->dao->findById($deptID)->from(TABLE_DEPT)->fetch();
|
||||
}
|
||||
|
||||
/* 生成查询的sql语句。*/
|
||||
private function buildMenuQuery($rootDeptID)
|
||||
{
|
||||
$rootDept = $this->getByID($rootDeptID);
|
||||
if(!$rootDept) $rootDept->path = '';
|
||||
return $this->dao->select('*')->from(TABLE_DEPT)
|
||||
->beginIF($rootDeptID > 0)->where('path')->like($rootDept->path . '%')->fi()
|
||||
->orderBy('grade desc, `order`')
|
||||
->get();
|
||||
}
|
||||
|
||||
/* 获取部门的下类列表,用于生成select控件。*/
|
||||
public function getOptionMenu($rootDeptID = 0)
|
||||
{
|
||||
$deptMenu = array();
|
||||
$stmt = $this->dbh->query($this->buildMenuQuery($rootDeptID));
|
||||
$depts = array();
|
||||
while($dept = $stmt->fetch()) $depts[$dept->id] = $dept;
|
||||
|
||||
foreach($depts as $dept)
|
||||
{
|
||||
$parentDepts = explode(',', $dept->path);
|
||||
$deptName = '/';
|
||||
foreach($parentDepts as $parentDeptID)
|
||||
{
|
||||
if(empty($parentDeptID)) continue;
|
||||
$deptName .= $depts[$parentDeptID]->name . '/';
|
||||
}
|
||||
$deptName = rtrim($deptName, '/');
|
||||
$deptName .= "|$dept->id\n";
|
||||
|
||||
if(isset($deptMenu[$dept->id]) and !empty($deptMenu[$dept->id]))
|
||||
{
|
||||
if(isset($deptMenu[$dept->parent]))
|
||||
{
|
||||
$deptMenu[$dept->parent] .= $deptName;
|
||||
}
|
||||
else
|
||||
{
|
||||
$deptMenu[$dept->parent] = $deptName;;
|
||||
}
|
||||
$deptMenu[$dept->parent] .= $deptMenu[$dept->id];
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isset($deptMenu[$dept->parent]) and !empty($deptMenu[$dept->parent]))
|
||||
{
|
||||
$deptMenu[$dept->parent] .= $deptName;
|
||||
}
|
||||
else
|
||||
{
|
||||
$deptMenu[$dept->parent] = $deptName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$topMenu = @array_pop($deptMenu);
|
||||
$topMenu = explode("\n", trim($topMenu));
|
||||
$lastMenu[] = '/';
|
||||
foreach($topMenu as $menu)
|
||||
{
|
||||
if(!strpos($menu, '|')) continue;
|
||||
list($label, $deptID) = explode('|', $menu);
|
||||
$lastMenu[$deptID] = $label;
|
||||
}
|
||||
return $lastMenu;
|
||||
}
|
||||
|
||||
/* 获取树状的部门列表。*/
|
||||
public function getTreeMenu($rootDeptID = 0, $userFunc)
|
||||
{
|
||||
$deptMenu = array();
|
||||
$stmt = $this->dbh->query($this->buildMenuQuery($rootDeptID));
|
||||
while($dept = $stmt->fetch())
|
||||
{
|
||||
$linkHtml = call_user_func($userFunc, $dept);
|
||||
|
||||
if(isset($deptMenu[$dept->id]) and !empty($deptMenu[$dept->id]))
|
||||
{
|
||||
if(!isset($deptMenu[$dept->parent])) $deptMenu[$dept->parent] = '';
|
||||
$deptMenu[$dept->parent] .= "<li>$linkHtml";
|
||||
$deptMenu[$dept->parent] .= "<ul>".$deptMenu[$dept->id]."</ul>\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isset($deptMenu[$dept->parent]) and !empty($deptMenu[$dept->parent]))
|
||||
{
|
||||
$deptMenu[$dept->parent] .= "<li>$linkHtml\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$deptMenu[$dept->parent] = "<li>$linkHtml\n";
|
||||
}
|
||||
}
|
||||
$deptMenu[$dept->parent] .= "</li>\n";
|
||||
}
|
||||
|
||||
$lastMenu = "<ul id='tree'>" . @array_pop($deptMenu) . "</ul>\n";
|
||||
return $lastMenu;
|
||||
}
|
||||
|
||||
/* 生成编辑链接。*/
|
||||
public function createManageLink($dept)
|
||||
{
|
||||
$linkHtml = $dept->name;
|
||||
$linkHtml .= ' ' . html::a(helper::createLink('dept', 'browse', "deptid={$dept->id}"), $this->lang->dept->manageChild);
|
||||
$linkHtml .= ' ' . html::a(helper::createLink('dept', 'delete', "deptid={$dept->id}"), $this->lang->dept->delete, 'hiddenwin');
|
||||
$linkHtml .= ' ' . html::input("orders[$dept->id]", $dept->order, 'style="width:30px;text-align:center"');
|
||||
return $linkHtml;
|
||||
}
|
||||
|
||||
/* 生成用户链接。*/
|
||||
public function createMemberLink($dept)
|
||||
{
|
||||
$linkHtml = html::a(helper::createLink('company', 'browse', "dept={$dept->id}"), $dept->name, '_self', "id='dept{$dept->id}'");
|
||||
return $linkHtml;
|
||||
}
|
||||
|
||||
/* 获得某一个部门的直接下级部门。*/
|
||||
public function getSons($deptID)
|
||||
{
|
||||
return $this->dao->select('*')->from(TABLE_DEPT)->where('parent')->eq($deptID)->orderBy('`order`')->fetchAll();
|
||||
}
|
||||
|
||||
/* 获得一个部门的id列表。*/
|
||||
public function getAllChildId($deptID)
|
||||
{
|
||||
if($deptID == 0) return array();
|
||||
$dept = $this->getById($deptID);
|
||||
$childs = $this->dao->select('id')->from(TABLE_DEPT)->where('path')->like($dept->path . '%')->fetchPairs();
|
||||
return array_keys($childs);
|
||||
}
|
||||
|
||||
/* 获得一个部门的所有上级部门。*/
|
||||
public function getParents($deptID)
|
||||
{
|
||||
if($deptID == 0) return array();
|
||||
$path = $this->dao->select('path')->from(TABLE_DEPT)->where('id')->eq($deptID)->fetch('path');
|
||||
$path = substr($path, 1, -1);
|
||||
if(empty($path)) return array();
|
||||
return $this->dao->select('*')->from(TABLE_DEPT)->where('id')->in($path)->orderBy('grade')->fetchAll();
|
||||
}
|
||||
|
||||
/* 更新排序信息。*/
|
||||
public function updateOrder($orders)
|
||||
{
|
||||
foreach($orders as $deptID => $order) $this->dao->update(TABLE_DEPT)->set('`order`')->eq($order)->where('id')->eq($deptID)->exec();
|
||||
}
|
||||
|
||||
/* 更新某一个部门的子部门。*/
|
||||
public function manageChild($parentDeptID, $childs)
|
||||
{
|
||||
$parentDept = $this->getByID($parentDeptID);
|
||||
if($parentDept)
|
||||
{
|
||||
$grade = $parentDept->grade + 1;
|
||||
$parentPath = $parentDept->path;
|
||||
}
|
||||
else
|
||||
{
|
||||
$grade = 1;
|
||||
$parentPath = ',';
|
||||
}
|
||||
|
||||
foreach($childs as $deptID => $deptName)
|
||||
{
|
||||
if(empty($deptName)) continue;
|
||||
if(is_numeric($deptID))
|
||||
{
|
||||
$dept->name = $deptName;
|
||||
$dept->parent = $parentDeptID;
|
||||
$dept->grade = $grade;
|
||||
$this->dao->insert(TABLE_DEPT)->data($dept)->exec();
|
||||
$deptID = $this->dao->lastInsertID();
|
||||
$childPath = $parentPath . "$deptID,";
|
||||
$this->dao->update(TABLE_DEPT)->set('path')->eq($childPath)->where('id')->eq($deptID)->exec();
|
||||
}
|
||||
else
|
||||
{
|
||||
$deptID = str_replace('id', '', $deptID);
|
||||
$this->dao->update(TABLE_DEPT)->set('name')->eq($deptName)->where('id')->eq($deptID)->exec();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 获得某一个部门的成员列表。*/
|
||||
public function getUsers($deptID)
|
||||
{
|
||||
return $this->dao->select('*')->from(TABLE_USER)
|
||||
->where('deleted')->eq(0)
|
||||
->beginIF($deptID)->andWhere('dept')->in($deptID)->fi()
|
||||
->orderBy('id')
|
||||
->fetchAll();
|
||||
}
|
||||
|
||||
/* 删除一个部门。Todo: 需要修改下级目录的权限,还有对应的需求列表。*/
|
||||
public function delete($deptID)
|
||||
{
|
||||
$this->dao->delete()->from(TABLE_DEPT)->where('id')->eq($deptID)->exec();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,80 +1,67 @@
|
||||
<?php
|
||||
/**
|
||||
* The browse view file of dept module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package dept
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/treeview.html.php';?>
|
||||
<div class="yui-d0 yui-t3">
|
||||
<div class="yui-main">
|
||||
<div class="yui-b">
|
||||
<form method='post' target='hiddenwin' action='<?php echo $this->createLink('dept', 'manageChild');?>'>
|
||||
<table align='center' class='table-1'>
|
||||
<caption><?php echo $lang->dept->manageChild;?></caption>
|
||||
<tr>
|
||||
<td width='10%'>
|
||||
<nobr>
|
||||
<?php
|
||||
echo html::a($this->createLink('dept', 'browse'), $this->app->company->name);
|
||||
echo $lang->arrow;
|
||||
foreach($parentDepts as $dept)
|
||||
{
|
||||
echo html::a($this->createLink('dept', 'browse', "deptID=$dept->id"), $dept->name);
|
||||
echo $lang->arrow;
|
||||
}
|
||||
?>
|
||||
</nobr>
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
foreach($sons as $sonDept) echo html::input("depts[id$sonDept->id]", $sonDept->name) . '<br />';
|
||||
for($i = 0; $i < DEPT::NEW_CHILD_COUNT ; $i ++) echo html::input("depts[]") . '<br />';
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='a-center' colspan='2'>
|
||||
<?php echo html::submitButton() . html::resetButton();?>
|
||||
<input type='hidden' value='<?php echo $deptID;?>' name='parentDeptID' />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="yui-b">
|
||||
<form method='post' target='hiddenwin' action='<?php echo $this->createLink('dept', 'updateOrder');?>'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $header->title;?></caption>
|
||||
<tr>
|
||||
<td>
|
||||
<div id='main'><?php echo $depts;?></div>
|
||||
<div class='a-center'><?php echo html::submitButton($lang->dept->updateOrder);?></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The browse view file of dept module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package dept
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/treeview.html.php';?>
|
||||
<div class="yui-d0 yui-t3">
|
||||
<div class="yui-main">
|
||||
<div class="yui-b">
|
||||
<form method='post' target='hiddenwin' action='<?php echo $this->createLink('dept', 'manageChild');?>'>
|
||||
<table align='center' class='table-1'>
|
||||
<caption><?php echo $lang->dept->manageChild;?></caption>
|
||||
<tr>
|
||||
<td width='10%'>
|
||||
<nobr>
|
||||
<?php
|
||||
echo html::a($this->createLink('dept', 'browse'), $this->app->company->name);
|
||||
echo $lang->arrow;
|
||||
foreach($parentDepts as $dept)
|
||||
{
|
||||
echo html::a($this->createLink('dept', 'browse', "deptID=$dept->id"), $dept->name);
|
||||
echo $lang->arrow;
|
||||
}
|
||||
?>
|
||||
</nobr>
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
foreach($sons as $sonDept) echo html::input("depts[id$sonDept->id]", $sonDept->name) . '<br />';
|
||||
for($i = 0; $i < DEPT::NEW_CHILD_COUNT ; $i ++) echo html::input("depts[]") . '<br />';
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class='a-center' colspan='2'>
|
||||
<?php echo html::submitButton() . html::resetButton();?>
|
||||
<input type='hidden' value='<?php echo $deptID;?>' name='parentDeptID' />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="yui-b">
|
||||
<form method='post' target='hiddenwin' action='<?php echo $this->createLink('dept', 'updateOrder');?>'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $header->title;?></caption>
|
||||
<tr>
|
||||
<td>
|
||||
<div id='main'><?php echo $depts;?></div>
|
||||
<div class='a-center'><?php echo html::submitButton($lang->dept->updateOrder);?></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,51 +1,38 @@
|
||||
<?php
|
||||
/**
|
||||
* The create view of product module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package product
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div id='doc3'>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table align='center' class='table-4'>
|
||||
<caption><?php echo $lang->product->create;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->product->name;?></th>
|
||||
<td class='a-left'><input type='text' name='name' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->product->code;?></th>
|
||||
<td class='a-left'><input type='text' name='code' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->product->desc;?></th>
|
||||
<td class='a-left'><textarea name='desc' style='width:100%' rows='5'></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2'>
|
||||
<input type='submit' value='<?php echo $lang->product->saveButton;?>' accesskey='S' />
|
||||
<input type='reset' value='<?php echo $lang->reset;?>' />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The create view of product module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package product
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div id='doc3'>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table align='center' class='table-4'>
|
||||
<caption><?php echo $lang->product->create;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->product->name;?></th>
|
||||
<td class='a-left'><input type='text' name='name' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->product->code;?></th>
|
||||
<td class='a-left'><input type='text' name='code' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->product->desc;?></th>
|
||||
<td class='a-left'><textarea name='desc' style='width:100%' rows='5'></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2'>
|
||||
<input type='submit' value='<?php echo $lang->product->saveButton;?>' accesskey='S' />
|
||||
<input type='reset' value='<?php echo $lang->reset;?>' />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,52 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
* The edit view of product module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package product
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div id='doc3'>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table align='center' class='table-4'>
|
||||
<caption><?php echo $lang->product->edit;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->product->name;?></th>
|
||||
<td class='a-left'><input type='text' name='name' value='<?php echo $product->name;?>' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->product->code;?></th>
|
||||
<td class='a-left'><input type='text' name='code' value='<?php echo $product->code;?>' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->product->desc;?></th>
|
||||
<td class='a-left'><textarea name='desc' style='width:100%' rows='5'><?php echo $product->desc;?></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2'>
|
||||
<input type='submit' value='<?php echo $lang->product->saveButton;?>' accesskey='S' />
|
||||
<input type='reset' value='<?php echo $lang->reset;?>' />
|
||||
<input type='hidden' value='<?php echo $product->id;?>' name='id' />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The edit view of product module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package product
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div id='doc3'>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table align='center' class='table-4'>
|
||||
<caption><?php echo $lang->product->edit;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->product->name;?></th>
|
||||
<td class='a-left'><input type='text' name='name' value='<?php echo $product->name;?>' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->product->code;?></th>
|
||||
<td class='a-left'><input type='text' name='code' value='<?php echo $product->code;?>' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->product->desc;?></th>
|
||||
<td class='a-left'><textarea name='desc' style='width:100%' rows='5'><?php echo $product->desc;?></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2'>
|
||||
<input type='submit' value='<?php echo $lang->product->saveButton;?>' accesskey='S' />
|
||||
<input type='reset' value='<?php echo $lang->reset;?>' />
|
||||
<input type='hidden' value='<?php echo $product->id;?>' name='id' />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,301 +1,288 @@
|
||||
<?php
|
||||
/**
|
||||
* The control file of doc module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: control.php 933 2010-07-06 06:53:40Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class doc extends control
|
||||
{
|
||||
/* 构造函数,加载公用的模块。*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->loadModel('user');
|
||||
$this->loadModel('tree');
|
||||
$this->loadModel('action');
|
||||
$this->libs = $this->doc->getLibs();
|
||||
}
|
||||
|
||||
/* 首页,跳转到浏览页面。*/
|
||||
public function index()
|
||||
{
|
||||
$this->locate(inlink('browse'));
|
||||
}
|
||||
|
||||
/* 浏览文档。*/
|
||||
public function browse($libID = 'product', $moduleID = 0, $productID = 0, $projectID = 0, $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
|
||||
{
|
||||
$this->doc->setMenu($this->libs, $libID, 'doc');
|
||||
$this->session->set('docList', $this->app->getURI(true));
|
||||
|
||||
/* 设置header和导航条信息。*/
|
||||
$this->view->header->title = $this->lang->doc->index . $this->lang->colon . $this->libs[$libID];
|
||||
$this->view->position[] = $this->libs[$libID];
|
||||
|
||||
/* 加载分页类,并查询docs列表。*/
|
||||
$this->app->loadClass('pager', $static = true);
|
||||
$pager = new pager($recTotal, $recPerPage, $pageID);
|
||||
|
||||
/* 查找文档列表。*/
|
||||
$modules = 0;
|
||||
if($moduleID) $modules = $this->tree->getAllChildID($moduleID);
|
||||
$docs = $this->doc->getDocs($libID, $productID, $projectID, $modules, $orderBy, $pager);
|
||||
|
||||
/* 获得树状列表。*/
|
||||
if($libID == 'product' or $libID == 'project')
|
||||
{
|
||||
$moduleTree = $this->tree->getSystemDocTreeMenu($libID);
|
||||
}
|
||||
else
|
||||
{
|
||||
$moduleTree = $this->tree->getTreeMenu($libID, $viewType = 'customdoc', $startModuleID = 0, array('treeModel', 'createDocLink'));
|
||||
}
|
||||
|
||||
$this->view->libID = $libID;
|
||||
$this->view->libName = $this->libs[$libID];
|
||||
$this->view->moduleID = $moduleID;
|
||||
$this->view->moduleTree = $moduleTree;
|
||||
$this->view->parentModules = $this->tree->getParents($moduleID);
|
||||
$this->view->docs = $docs;
|
||||
$this->view->pager = $pager;
|
||||
$this->view->users = $this->loadModel('user')->getPairs('noletter');
|
||||
$this->view->orderBy = $orderBy;
|
||||
$this->view->productID = $productID;
|
||||
$this->view->projectID = $projectID;
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 新增文档库。*/
|
||||
public function createLib()
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$libID = $this->doc->createLib();
|
||||
if(!dao::isError())
|
||||
{
|
||||
$this->loadModel('action')->create('docLib', $libID, 'Created');
|
||||
die(js::locate($this->createLink($this->moduleName, 'browse', "libID=$libID"), 'parent'));
|
||||
}
|
||||
else
|
||||
{
|
||||
echo js::error(dao::getError());
|
||||
}
|
||||
}
|
||||
die($this->display());
|
||||
}
|
||||
|
||||
/* 编辑文档库。*/
|
||||
public function editLib($libID)
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$changes = $this->doc->updateLib($libID);
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
if($changes)
|
||||
{
|
||||
$actionID = $this->loadModel('action')->create('docLib', $libID, 'edited');
|
||||
$this->action->logHistory($actionID, $changes);
|
||||
}
|
||||
die(js::locate($this->createLink($this->moduleName, 'browse', "libID=$libID"), 'parent'));
|
||||
}
|
||||
|
||||
$lib = $this->doc->getLibByID($libID);
|
||||
$this->view->libName = empty($lib) ? $libID : $lib->name;
|
||||
$this->view->libID = $libID;
|
||||
|
||||
die($this->display());
|
||||
}
|
||||
|
||||
/* 删除文档库。*/
|
||||
public function deleteLib($libID, $confirm = 'no')
|
||||
{
|
||||
if($libID == 'product' or $libID == 'project') die();
|
||||
if($confirm == 'no')
|
||||
{
|
||||
die(js::confirm($this->lang->doc->confirmDeleteLib, $this->createLink('doc', 'deleteLib', "libID=$libID&confirm=yes")));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->doc->delete(TABLE_DOCLIB, $libID);
|
||||
die(js::locate($this->createLink('doc', 'browse'), 'parent'));
|
||||
}
|
||||
}
|
||||
|
||||
/* 创建文档。*/
|
||||
public function create($libID, $moduleID = 0, $productID = 0, $projectID = 0, $from = 'doc')
|
||||
{
|
||||
$projectID = (int)$projectID;
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$docID = $this->doc->create();
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
$this->action->create('doc', $docID, 'Created');
|
||||
|
||||
if($from == 'product') $link = $this->createLink('product', 'doc', "productID={$this->post->product}");
|
||||
if($from == 'project') $link = $this->createLink('project', 'doc', "projectID={$this->post->project}");
|
||||
if($from == 'doc')
|
||||
{
|
||||
$productID = intval($this->post->product);
|
||||
$projectID = intval($this->post->project);
|
||||
$vars = "libID=$libID&moduleID={$this->post->module}&productID=$productID&projectID=$projectID";
|
||||
$link = $this->createLink('doc', 'browse', $vars);
|
||||
}
|
||||
die(js::locate($link, 'parent'));
|
||||
}
|
||||
|
||||
$this->loadModel('product');
|
||||
$this->loadModel('project');
|
||||
|
||||
/* 设置当前的文档库,设置菜单。*/
|
||||
if($from == 'product')
|
||||
{
|
||||
$this->lang->doc->menu = $this->lang->product->menu;
|
||||
$this->product->setMenu($this->product->getPairs(), $productID);
|
||||
$this->lang->set('menugroup.doc', 'product');
|
||||
}
|
||||
elseif($from == 'project')
|
||||
{
|
||||
$this->lang->doc->menu = $this->lang->project->menu;
|
||||
$this->project->setMenu($this->project->getPairs(), $projectID);
|
||||
$this->lang->set('menugroup.doc', 'project');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->doc->setMenu($this->libs, $libID);
|
||||
}
|
||||
|
||||
/* 获得子模块列表。*/
|
||||
if($libID == 'product' or $libID == 'project')
|
||||
{
|
||||
$moduleOptionMenu = $this->tree->getOptionMenu(0, $libID . 'doc', $startModuleID = 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
$moduleOptionMenu = $this->tree->getOptionMenu($libID, 'customdoc', $startModuleID = 0);
|
||||
}
|
||||
|
||||
/* 位置信息。*/
|
||||
$this->view->header->title = $this->libs[$libID] . $this->lang->colon . $this->lang->doc->create;
|
||||
$this->view->position[] = html::a($this->createLink('doc', 'browse', "libID=$libID"), $this->libs[$libID]);
|
||||
$this->view->position[] = $this->lang->doc->create;
|
||||
|
||||
$this->view->libID = $libID;
|
||||
$this->view->moduleOptionMenu = $moduleOptionMenu;
|
||||
$this->view->moduleID = $moduleID;
|
||||
$this->view->productID = $productID;
|
||||
$this->view->projectID = $projectID;
|
||||
$this->view->products = $projectID == 0 ? $this->product->getPairs() : $this->project->getProducts($projectID);
|
||||
$this->view->projects = $this->loadModel('project')->getPairs();
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 编辑文档。*/
|
||||
public function edit($docID)
|
||||
{
|
||||
/* 更新文档信息。*/
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$changes = $this->doc->update($docID);
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
$files = $this->loadModel('file')->saveUpload('doc', $docID);
|
||||
if(!empty($changes) or !empty($files))
|
||||
{
|
||||
$action = !empty($changes) ? 'Edited' : 'Commented';
|
||||
$fileAction = '';
|
||||
if(!empty($files)) $fileAction = $this->lang->addFiles . join(',', $files) . "\n" ;
|
||||
$actionID = $this->action->create('doc', $docID, $action, $fileAction);
|
||||
$this->action->logHistory($actionID, $changes);
|
||||
}
|
||||
die(js::locate($this->createLink('doc', 'view', "docID=$docID"), 'parent'));
|
||||
}
|
||||
|
||||
/* 查找当前文档信息。*/
|
||||
$doc = $this->doc->getById($docID);
|
||||
|
||||
/* 设置菜单。*/
|
||||
$libID = $doc->lib;
|
||||
$this->doc->setMenu($this->libs, $libID);
|
||||
|
||||
/* 获得子模块列表。*/
|
||||
if($libID == 'product' or $libID == 'project')
|
||||
{
|
||||
$moduleOptionMenu = $this->tree->getOptionMenu(0, $libID . 'doc', $startModuleID = 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
$moduleOptionMenu = $this->tree->getOptionMenu($libID, 'customdoc', $startModuleID = 0);
|
||||
}
|
||||
|
||||
/* 位置信息。*/
|
||||
$this->view->header->title = $this->libs[$libID] . $this->lang->colon . $this->lang->doc->create;
|
||||
$this->view->position[] = html::a($this->createLink('doc', 'browse', "libID=$libID"), $this->libs[$libID]);
|
||||
$this->view->position[] = $this->lang->doc->create;
|
||||
|
||||
$this->view->doc = $doc;
|
||||
$this->view->libID = $libID;
|
||||
$this->view->users = $this->user->getPairs('noclosed,nodeleted');
|
||||
$this->view->moduleOptionMenu = $moduleOptionMenu;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 查看一个文档。*/
|
||||
public function view($docID)
|
||||
{
|
||||
/* 查找文档信息。*/
|
||||
$doc = $this->doc->getById($docID);
|
||||
if(!$doc) die(js::error($this->lang->notFound) . js::locate('back'));
|
||||
|
||||
/* 文档库名称。*/
|
||||
$lib = $doc->libName;
|
||||
if($doc->lib == 'product') $lib = $doc->productName;
|
||||
if($doc->lib == 'project') $lib = $doc->productName . $this->lang->arrow . $doc->projectName;
|
||||
|
||||
/* 设置菜单。*/
|
||||
$this->doc->setMenu($this->libs, $doc->lib);
|
||||
|
||||
/* 位置信息。*/
|
||||
$this->view->header->title = $this->libs[$doc->lib] . $this->lang->colon . $this->lang->doc->create;
|
||||
$this->view->position[] = html::a($this->createLink('doc', 'browse', "libID=$doc->lib"), $this->libs[$doc->lib]);
|
||||
$this->view->position[] = $this->lang->doc->create;
|
||||
|
||||
$this->view->doc = $doc;
|
||||
$this->view->lib = $lib;
|
||||
$this->view->actions = $this->loadModel('action')->getList('doc', $docID);
|
||||
$this->view->users = $this->user->getPairs('noclosed,nodeleted');
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 删除文档。*/
|
||||
public function delete($docID, $confirm = 'no')
|
||||
{
|
||||
if($confirm == 'no')
|
||||
{
|
||||
die(js::confirm($this->lang->doc->confirmDelete, inlink('delete', "docID=$docID&confirm=yes")));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->doc->delete(TABLE_DOC, $docID);
|
||||
die(js::locate($this->session->docList, 'parent'));
|
||||
}
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The control file of doc module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: control.php 933 2010-07-06 06:53:40Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
class doc extends control
|
||||
{
|
||||
/* 构造函数,加载公用的模块。*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->loadModel('user');
|
||||
$this->loadModel('tree');
|
||||
$this->loadModel('action');
|
||||
$this->libs = $this->doc->getLibs();
|
||||
}
|
||||
|
||||
/* 首页,跳转到浏览页面。*/
|
||||
public function index()
|
||||
{
|
||||
$this->locate(inlink('browse'));
|
||||
}
|
||||
|
||||
/* 浏览文档。*/
|
||||
public function browse($libID = 'product', $moduleID = 0, $productID = 0, $projectID = 0, $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
|
||||
{
|
||||
$this->doc->setMenu($this->libs, $libID, 'doc');
|
||||
$this->session->set('docList', $this->app->getURI(true));
|
||||
|
||||
/* 设置header和导航条信息。*/
|
||||
$this->view->header->title = $this->lang->doc->index . $this->lang->colon . $this->libs[$libID];
|
||||
$this->view->position[] = $this->libs[$libID];
|
||||
|
||||
/* 加载分页类,并查询docs列表。*/
|
||||
$this->app->loadClass('pager', $static = true);
|
||||
$pager = new pager($recTotal, $recPerPage, $pageID);
|
||||
|
||||
/* 查找文档列表。*/
|
||||
$modules = 0;
|
||||
if($moduleID) $modules = $this->tree->getAllChildID($moduleID);
|
||||
$docs = $this->doc->getDocs($libID, $productID, $projectID, $modules, $orderBy, $pager);
|
||||
|
||||
/* 获得树状列表。*/
|
||||
if($libID == 'product' or $libID == 'project')
|
||||
{
|
||||
$moduleTree = $this->tree->getSystemDocTreeMenu($libID);
|
||||
}
|
||||
else
|
||||
{
|
||||
$moduleTree = $this->tree->getTreeMenu($libID, $viewType = 'customdoc', $startModuleID = 0, array('treeModel', 'createDocLink'));
|
||||
}
|
||||
|
||||
$this->view->libID = $libID;
|
||||
$this->view->libName = $this->libs[$libID];
|
||||
$this->view->moduleID = $moduleID;
|
||||
$this->view->moduleTree = $moduleTree;
|
||||
$this->view->parentModules = $this->tree->getParents($moduleID);
|
||||
$this->view->docs = $docs;
|
||||
$this->view->pager = $pager;
|
||||
$this->view->users = $this->loadModel('user')->getPairs('noletter');
|
||||
$this->view->orderBy = $orderBy;
|
||||
$this->view->productID = $productID;
|
||||
$this->view->projectID = $projectID;
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 新增文档库。*/
|
||||
public function createLib()
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$libID = $this->doc->createLib();
|
||||
if(!dao::isError())
|
||||
{
|
||||
$this->loadModel('action')->create('docLib', $libID, 'Created');
|
||||
die(js::locate($this->createLink($this->moduleName, 'browse', "libID=$libID"), 'parent'));
|
||||
}
|
||||
else
|
||||
{
|
||||
echo js::error(dao::getError());
|
||||
}
|
||||
}
|
||||
die($this->display());
|
||||
}
|
||||
|
||||
/* 编辑文档库。*/
|
||||
public function editLib($libID)
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$changes = $this->doc->updateLib($libID);
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
if($changes)
|
||||
{
|
||||
$actionID = $this->loadModel('action')->create('docLib', $libID, 'edited');
|
||||
$this->action->logHistory($actionID, $changes);
|
||||
}
|
||||
die(js::locate($this->createLink($this->moduleName, 'browse', "libID=$libID"), 'parent'));
|
||||
}
|
||||
|
||||
$lib = $this->doc->getLibByID($libID);
|
||||
$this->view->libName = empty($lib) ? $libID : $lib->name;
|
||||
$this->view->libID = $libID;
|
||||
|
||||
die($this->display());
|
||||
}
|
||||
|
||||
/* 删除文档库。*/
|
||||
public function deleteLib($libID, $confirm = 'no')
|
||||
{
|
||||
if($libID == 'product' or $libID == 'project') die();
|
||||
if($confirm == 'no')
|
||||
{
|
||||
die(js::confirm($this->lang->doc->confirmDeleteLib, $this->createLink('doc', 'deleteLib', "libID=$libID&confirm=yes")));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->doc->delete(TABLE_DOCLIB, $libID);
|
||||
die(js::locate($this->createLink('doc', 'browse'), 'parent'));
|
||||
}
|
||||
}
|
||||
|
||||
/* 创建文档。*/
|
||||
public function create($libID, $moduleID = 0, $productID = 0, $projectID = 0, $from = 'doc')
|
||||
{
|
||||
$projectID = (int)$projectID;
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$docID = $this->doc->create();
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
$this->action->create('doc', $docID, 'Created');
|
||||
|
||||
if($from == 'product') $link = $this->createLink('product', 'doc', "productID={$this->post->product}");
|
||||
if($from == 'project') $link = $this->createLink('project', 'doc', "projectID={$this->post->project}");
|
||||
if($from == 'doc')
|
||||
{
|
||||
$productID = intval($this->post->product);
|
||||
$projectID = intval($this->post->project);
|
||||
$vars = "libID=$libID&moduleID={$this->post->module}&productID=$productID&projectID=$projectID";
|
||||
$link = $this->createLink('doc', 'browse', $vars);
|
||||
}
|
||||
die(js::locate($link, 'parent'));
|
||||
}
|
||||
|
||||
$this->loadModel('product');
|
||||
$this->loadModel('project');
|
||||
|
||||
/* 设置当前的文档库,设置菜单。*/
|
||||
if($from == 'product')
|
||||
{
|
||||
$this->lang->doc->menu = $this->lang->product->menu;
|
||||
$this->product->setMenu($this->product->getPairs(), $productID);
|
||||
$this->lang->set('menugroup.doc', 'product');
|
||||
}
|
||||
elseif($from == 'project')
|
||||
{
|
||||
$this->lang->doc->menu = $this->lang->project->menu;
|
||||
$this->project->setMenu($this->project->getPairs(), $projectID);
|
||||
$this->lang->set('menugroup.doc', 'project');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->doc->setMenu($this->libs, $libID);
|
||||
}
|
||||
|
||||
/* 获得子模块列表。*/
|
||||
if($libID == 'product' or $libID == 'project')
|
||||
{
|
||||
$moduleOptionMenu = $this->tree->getOptionMenu(0, $libID . 'doc', $startModuleID = 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
$moduleOptionMenu = $this->tree->getOptionMenu($libID, 'customdoc', $startModuleID = 0);
|
||||
}
|
||||
|
||||
/* 位置信息。*/
|
||||
$this->view->header->title = $this->libs[$libID] . $this->lang->colon . $this->lang->doc->create;
|
||||
$this->view->position[] = html::a($this->createLink('doc', 'browse', "libID=$libID"), $this->libs[$libID]);
|
||||
$this->view->position[] = $this->lang->doc->create;
|
||||
|
||||
$this->view->libID = $libID;
|
||||
$this->view->moduleOptionMenu = $moduleOptionMenu;
|
||||
$this->view->moduleID = $moduleID;
|
||||
$this->view->productID = $productID;
|
||||
$this->view->projectID = $projectID;
|
||||
$this->view->products = $projectID == 0 ? $this->product->getPairs() : $this->project->getProducts($projectID);
|
||||
$this->view->projects = $this->loadModel('project')->getPairs();
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 编辑文档。*/
|
||||
public function edit($docID)
|
||||
{
|
||||
/* 更新文档信息。*/
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$changes = $this->doc->update($docID);
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
$files = $this->loadModel('file')->saveUpload('doc', $docID);
|
||||
if(!empty($changes) or !empty($files))
|
||||
{
|
||||
$action = !empty($changes) ? 'Edited' : 'Commented';
|
||||
$fileAction = '';
|
||||
if(!empty($files)) $fileAction = $this->lang->addFiles . join(',', $files) . "\n" ;
|
||||
$actionID = $this->action->create('doc', $docID, $action, $fileAction);
|
||||
$this->action->logHistory($actionID, $changes);
|
||||
}
|
||||
die(js::locate($this->createLink('doc', 'view', "docID=$docID"), 'parent'));
|
||||
}
|
||||
|
||||
/* 查找当前文档信息。*/
|
||||
$doc = $this->doc->getById($docID);
|
||||
|
||||
/* 设置菜单。*/
|
||||
$libID = $doc->lib;
|
||||
$this->doc->setMenu($this->libs, $libID);
|
||||
|
||||
/* 获得子模块列表。*/
|
||||
if($libID == 'product' or $libID == 'project')
|
||||
{
|
||||
$moduleOptionMenu = $this->tree->getOptionMenu(0, $libID . 'doc', $startModuleID = 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
$moduleOptionMenu = $this->tree->getOptionMenu($libID, 'customdoc', $startModuleID = 0);
|
||||
}
|
||||
|
||||
/* 位置信息。*/
|
||||
$this->view->header->title = $this->libs[$libID] . $this->lang->colon . $this->lang->doc->create;
|
||||
$this->view->position[] = html::a($this->createLink('doc', 'browse', "libID=$libID"), $this->libs[$libID]);
|
||||
$this->view->position[] = $this->lang->doc->create;
|
||||
|
||||
$this->view->doc = $doc;
|
||||
$this->view->libID = $libID;
|
||||
$this->view->users = $this->user->getPairs('noclosed,nodeleted');
|
||||
$this->view->moduleOptionMenu = $moduleOptionMenu;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 查看一个文档。*/
|
||||
public function view($docID)
|
||||
{
|
||||
/* 查找文档信息。*/
|
||||
$doc = $this->doc->getById($docID);
|
||||
if(!$doc) die(js::error($this->lang->notFound) . js::locate('back'));
|
||||
|
||||
/* 文档库名称。*/
|
||||
$lib = $doc->libName;
|
||||
if($doc->lib == 'product') $lib = $doc->productName;
|
||||
if($doc->lib == 'project') $lib = $doc->productName . $this->lang->arrow . $doc->projectName;
|
||||
|
||||
/* 设置菜单。*/
|
||||
$this->doc->setMenu($this->libs, $doc->lib);
|
||||
|
||||
/* 位置信息。*/
|
||||
$this->view->header->title = $this->libs[$doc->lib] . $this->lang->colon . $this->lang->doc->create;
|
||||
$this->view->position[] = html::a($this->createLink('doc', 'browse', "libID=$doc->lib"), $this->libs[$doc->lib]);
|
||||
$this->view->position[] = $this->lang->doc->create;
|
||||
|
||||
$this->view->doc = $doc;
|
||||
$this->view->lib = $lib;
|
||||
$this->view->actions = $this->loadModel('action')->getList('doc', $docID);
|
||||
$this->view->users = $this->user->getPairs('noclosed,nodeleted');
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/* 删除文档。*/
|
||||
public function delete($docID, $confirm = 'no')
|
||||
{
|
||||
if($confirm == 'no')
|
||||
{
|
||||
die(js::confirm($this->lang->doc->confirmDelete, inlink('delete', "docID=$docID&confirm=yes")));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->doc->delete(TABLE_DOC, $docID);
|
||||
die(js::locate($this->session->docList, 'parent'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,67 +1,54 @@
|
||||
<?php
|
||||
/**
|
||||
* The doc module english file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: en.php 824 2010-05-02 15:32:06Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 字段列表。*/
|
||||
$lang->doc->common = 'Doc';
|
||||
$lang->doc->id = 'ID';
|
||||
$lang->doc->product = 'Product';
|
||||
$lang->doc->project = 'Project';
|
||||
$lang->doc->lib = 'Library';
|
||||
$lang->doc->module = 'Module';
|
||||
$lang->doc->title = 'Title';
|
||||
$lang->doc->digest = 'Digest';
|
||||
$lang->doc->type = 'Type';
|
||||
$lang->doc->content = 'Content';
|
||||
$lang->doc->keywords = 'Keywords';
|
||||
$lang->doc->url = 'URL';
|
||||
$lang->doc->files = 'File';
|
||||
$lang->doc->views = 'Views';
|
||||
$lang->doc->addedBy = 'Added by';
|
||||
$lang->doc->addedDate = 'Added date';
|
||||
$lang->doc->editedBy = 'Edited by';
|
||||
$lang->doc->editedDate = 'Edited date';
|
||||
|
||||
$lang->doc->moduleName = 'Module name';
|
||||
$lang->doc->moduleOrder = 'Module order';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->doc->index = 'Index';
|
||||
$lang->doc->create = 'Create doc';
|
||||
$lang->doc->edit = 'Edit doc';
|
||||
$lang->doc->delete = 'Delete doc';
|
||||
$lang->doc->browse = 'Browse doc';
|
||||
$lang->doc->view = 'View doc';
|
||||
$lang->doc->createLib = 'Create library';
|
||||
$lang->doc->editLib = 'Edit library';
|
||||
$lang->doc->deleteLib = 'Delete library';
|
||||
$lang->doc->libName = 'Library name';
|
||||
|
||||
$lang->doc->systemLibs['product'] = 'Product doc';
|
||||
$lang->doc->systemLibs['project'] = 'Project doc';
|
||||
|
||||
$lang->doc->types['file'] = 'File';
|
||||
$lang->doc->types['url'] = 'Link';
|
||||
$lang->doc->types['text'] = 'Html';
|
||||
|
||||
$lang->doc->confirmDeleteLib = " Are you sure to delete this doc library?";
|
||||
$lang->doc->errorEditSystemDoc = "System doc library needn't edit";
|
||||
<?php
|
||||
/**
|
||||
* The doc module english file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: en.php 824 2010-05-02 15:32:06Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 字段列表。*/
|
||||
$lang->doc->common = 'Doc';
|
||||
$lang->doc->id = 'ID';
|
||||
$lang->doc->product = 'Product';
|
||||
$lang->doc->project = 'Project';
|
||||
$lang->doc->lib = 'Library';
|
||||
$lang->doc->module = 'Module';
|
||||
$lang->doc->title = 'Title';
|
||||
$lang->doc->digest = 'Digest';
|
||||
$lang->doc->type = 'Type';
|
||||
$lang->doc->content = 'Content';
|
||||
$lang->doc->keywords = 'Keywords';
|
||||
$lang->doc->url = 'URL';
|
||||
$lang->doc->files = 'File';
|
||||
$lang->doc->views = 'Views';
|
||||
$lang->doc->addedBy = 'Added by';
|
||||
$lang->doc->addedDate = 'Added date';
|
||||
$lang->doc->editedBy = 'Edited by';
|
||||
$lang->doc->editedDate = 'Edited date';
|
||||
|
||||
$lang->doc->moduleName = 'Module name';
|
||||
$lang->doc->moduleOrder = 'Module order';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->doc->index = 'Index';
|
||||
$lang->doc->create = 'Create doc';
|
||||
$lang->doc->edit = 'Edit doc';
|
||||
$lang->doc->delete = 'Delete doc';
|
||||
$lang->doc->browse = 'Browse doc';
|
||||
$lang->doc->view = 'View doc';
|
||||
$lang->doc->createLib = 'Create library';
|
||||
$lang->doc->editLib = 'Edit library';
|
||||
$lang->doc->deleteLib = 'Delete library';
|
||||
$lang->doc->libName = 'Library name';
|
||||
|
||||
$lang->doc->systemLibs['product'] = 'Product doc';
|
||||
$lang->doc->systemLibs['project'] = 'Project doc';
|
||||
|
||||
$lang->doc->types['file'] = 'File';
|
||||
$lang->doc->types['url'] = 'Link';
|
||||
$lang->doc->types['text'] = 'Html';
|
||||
|
||||
$lang->doc->confirmDeleteLib = " Are you sure to delete this doc library?";
|
||||
$lang->doc->errorEditSystemDoc = "System doc library needn't edit";
|
||||
|
||||
@@ -1,67 +1,54 @@
|
||||
<?php
|
||||
/**
|
||||
* The doc module english file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: en.php 824 2010-05-02 15:32:06Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 字段列表。*/
|
||||
$lang->doc->common = 'ドク';
|
||||
$lang->doc->id = 'IDは';
|
||||
$lang->doc->product = '製品';
|
||||
$lang->doc->project = 'プロジェクト';
|
||||
$lang->doc->lib = '図書館';
|
||||
$lang->doc->module = 'モジュール';
|
||||
$lang->doc->title = 'タイトル';
|
||||
$lang->doc->digest = 'ダイジェスト';
|
||||
$lang->doc->type = 'タイプ';
|
||||
$lang->doc->content = 'コンテンツ';
|
||||
$lang->doc->keywords = 'キーワード';
|
||||
$lang->doc->url = 'のURL';
|
||||
$lang->doc->files = 'ファイル';
|
||||
$lang->doc->views = '再生';
|
||||
$lang->doc->addedBy = 'を追加';
|
||||
$lang->doc->addedDate = '追加日';
|
||||
$lang->doc->editedBy = 'かれ';
|
||||
$lang->doc->editedDate = '編集日';
|
||||
|
||||
$lang->doc->moduleName = 'モジュール名';
|
||||
$lang->doc->moduleOrder = 'モジュールの順序';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->doc->index = 'インデックス';
|
||||
$lang->doc->create = '作成ドキュメント';
|
||||
$lang->doc->edit = '[編集]ドキュメント';
|
||||
$lang->doc->delete = '削除docパッケージ';
|
||||
$lang->doc->browse = '閲覧docパッケージ';
|
||||
$lang->doc->view = 'プロフィールdocパッケージ';
|
||||
$lang->doc->createLib = '作成ライブラリ';
|
||||
$lang->doc->editLib = '[編集]ライブラリ';
|
||||
$lang->doc->deleteLib = '削除ライブラリ';
|
||||
$lang->doc->libName = 'ライブラリ名';
|
||||
|
||||
$lang->doc->systemLibs['product'] = '製品ドキュメント';
|
||||
$lang->doc->systemLibs['project'] = 'プロジェクトドキュメント';
|
||||
|
||||
$lang->doc->types['file'] = 'ファイル';
|
||||
$lang->doc->types['url'] = 'リンク';
|
||||
$lang->doc->types['text'] = 'HTML形式';
|
||||
|
||||
$lang->doc->confirmDeleteLib = "あなたは、このドキュメントライブラリを削除しますか?";
|
||||
$lang->doc->errorEditSystemDoc = "システムドキュメントライブラリは必要はない編集";
|
||||
<?php
|
||||
/**
|
||||
* The doc module english file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: en.php 824 2010-05-02 15:32:06Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 字段列表。*/
|
||||
$lang->doc->common = 'ドク';
|
||||
$lang->doc->id = 'IDは';
|
||||
$lang->doc->product = '製品';
|
||||
$lang->doc->project = 'プロジェクト';
|
||||
$lang->doc->lib = '図書館';
|
||||
$lang->doc->module = 'モジュール';
|
||||
$lang->doc->title = 'タイトル';
|
||||
$lang->doc->digest = 'ダイジェスト';
|
||||
$lang->doc->type = 'タイプ';
|
||||
$lang->doc->content = 'コンテンツ';
|
||||
$lang->doc->keywords = 'キーワード';
|
||||
$lang->doc->url = 'のURL';
|
||||
$lang->doc->files = 'ファイル';
|
||||
$lang->doc->views = '再生';
|
||||
$lang->doc->addedBy = 'を追加';
|
||||
$lang->doc->addedDate = '追加日';
|
||||
$lang->doc->editedBy = 'かれ';
|
||||
$lang->doc->editedDate = '編集日';
|
||||
|
||||
$lang->doc->moduleName = 'モジュール名';
|
||||
$lang->doc->moduleOrder = 'モジュールの順序';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->doc->index = 'インデックス';
|
||||
$lang->doc->create = '作成ドキュメント';
|
||||
$lang->doc->edit = '[編集]ドキュメント';
|
||||
$lang->doc->delete = '削除docパッケージ';
|
||||
$lang->doc->browse = '閲覧docパッケージ';
|
||||
$lang->doc->view = 'プロフィールdocパッケージ';
|
||||
$lang->doc->createLib = '作成ライブラリ';
|
||||
$lang->doc->editLib = '[編集]ライブラリ';
|
||||
$lang->doc->deleteLib = '削除ライブラリ';
|
||||
$lang->doc->libName = 'ライブラリ名';
|
||||
|
||||
$lang->doc->systemLibs['product'] = '製品ドキュメント';
|
||||
$lang->doc->systemLibs['project'] = 'プロジェクトドキュメント';
|
||||
|
||||
$lang->doc->types['file'] = 'ファイル';
|
||||
$lang->doc->types['url'] = 'リンク';
|
||||
$lang->doc->types['text'] = 'HTML形式';
|
||||
|
||||
$lang->doc->confirmDeleteLib = "あなたは、このドキュメントライブラリを削除しますか?";
|
||||
$lang->doc->errorEditSystemDoc = "システムドキュメントライブラリは必要はない編集";
|
||||
|
||||
@@ -1,67 +1,54 @@
|
||||
<?php
|
||||
/**
|
||||
* The doc module english file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: en.php 824 2010-05-02 15:32:06Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 字段列表。*/
|
||||
$lang->doc->common = '의사';
|
||||
$lang->doc->id = '신분증';
|
||||
$lang->doc->product = '제품';
|
||||
$lang->doc->project = '프로젝트';
|
||||
$lang->doc->lib = '도서관';
|
||||
$lang->doc->module = '모듈';
|
||||
$lang->doc->title = '제목';
|
||||
$lang->doc->digest = '다이제스트';
|
||||
$lang->doc->type = '유형';
|
||||
$lang->doc->content = '콘텐츠';
|
||||
$lang->doc->keywords = '키워드';
|
||||
$lang->doc->url = '홈페이지';
|
||||
$lang->doc->files = '파일';
|
||||
$lang->doc->views = '조회';
|
||||
$lang->doc->addedBy = '에 추가됨';
|
||||
$lang->doc->addedDate = '추가된 날짜';
|
||||
$lang->doc->editedBy = '에 의해 수정됨';
|
||||
$lang->doc->editedDate = '날짜 수정됨';
|
||||
|
||||
$lang->doc->moduleName = '모듈 이름';
|
||||
$lang->doc->moduleOrder = '모듈 명령';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->doc->index = '색인';
|
||||
$lang->doc->create = '만들기 박사';
|
||||
$lang->doc->edit = '편집 의사';
|
||||
$lang->doc->delete = '삭제 박사님';
|
||||
$lang->doc->browse = '브라 우즈 의사';
|
||||
$lang->doc->view = '보기 박사님';
|
||||
$lang->doc->createLib = '라이브러리 만들기';
|
||||
$lang->doc->editLib = '수정 도서관';
|
||||
$lang->doc->deleteLib = '도서관 삭제';
|
||||
$lang->doc->libName = '도서관 이름';
|
||||
|
||||
$lang->doc->systemLibs['product'] = '제품 박사님';
|
||||
$lang->doc->systemLibs['project'] = '프로젝트 의사';
|
||||
|
||||
$lang->doc->types['file'] = '파일';
|
||||
$lang->doc->types['url'] = '링크';
|
||||
$lang->doc->types['text'] = 'html로';
|
||||
|
||||
$lang->doc->confirmDeleteLib = "당신이 의사 라이브러리를 삭제하시겠습니까?";
|
||||
$lang->doc->errorEditSystemDoc = "시스템 의사 도서관은 필요 없어 편집";
|
||||
<?php
|
||||
/**
|
||||
* The doc module english file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: en.php 824 2010-05-02 15:32:06Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 字段列表。*/
|
||||
$lang->doc->common = '의사';
|
||||
$lang->doc->id = '신분증';
|
||||
$lang->doc->product = '제품';
|
||||
$lang->doc->project = '프로젝트';
|
||||
$lang->doc->lib = '도서관';
|
||||
$lang->doc->module = '모듈';
|
||||
$lang->doc->title = '제목';
|
||||
$lang->doc->digest = '다이제스트';
|
||||
$lang->doc->type = '유형';
|
||||
$lang->doc->content = '콘텐츠';
|
||||
$lang->doc->keywords = '키워드';
|
||||
$lang->doc->url = '홈페이지';
|
||||
$lang->doc->files = '파일';
|
||||
$lang->doc->views = '조회';
|
||||
$lang->doc->addedBy = '에 추가됨';
|
||||
$lang->doc->addedDate = '추가된 날짜';
|
||||
$lang->doc->editedBy = '에 의해 수정됨';
|
||||
$lang->doc->editedDate = '날짜 수정됨';
|
||||
|
||||
$lang->doc->moduleName = '모듈 이름';
|
||||
$lang->doc->moduleOrder = '모듈 명령';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->doc->index = '색인';
|
||||
$lang->doc->create = '만들기 박사';
|
||||
$lang->doc->edit = '편집 의사';
|
||||
$lang->doc->delete = '삭제 박사님';
|
||||
$lang->doc->browse = '브라 우즈 의사';
|
||||
$lang->doc->view = '보기 박사님';
|
||||
$lang->doc->createLib = '라이브러리 만들기';
|
||||
$lang->doc->editLib = '수정 도서관';
|
||||
$lang->doc->deleteLib = '도서관 삭제';
|
||||
$lang->doc->libName = '도서관 이름';
|
||||
|
||||
$lang->doc->systemLibs['product'] = '제품 박사님';
|
||||
$lang->doc->systemLibs['project'] = '프로젝트 의사';
|
||||
|
||||
$lang->doc->types['file'] = '파일';
|
||||
$lang->doc->types['url'] = '링크';
|
||||
$lang->doc->types['text'] = 'html로';
|
||||
|
||||
$lang->doc->confirmDeleteLib = "당신이 의사 라이브러리를 삭제하시겠습니까?";
|
||||
$lang->doc->errorEditSystemDoc = "시스템 의사 도서관은 필요 없어 편집";
|
||||
|
||||
@@ -1,67 +1,54 @@
|
||||
<?php
|
||||
/**
|
||||
* The doc module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: zh-cn.php 824 2010-05-02 15:32:06Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 字段列表。*/
|
||||
$lang->doc->common = '文档视图';
|
||||
$lang->doc->id = '文档编号';
|
||||
$lang->doc->product = '所属产品';
|
||||
$lang->doc->project = '所属项目';
|
||||
$lang->doc->lib = '所属文档库';
|
||||
$lang->doc->module = '所属分类';
|
||||
$lang->doc->title = '文档标题';
|
||||
$lang->doc->digest = '文档摘要';
|
||||
$lang->doc->type = '文档类型';
|
||||
$lang->doc->content = '文档正文';
|
||||
$lang->doc->keywords = '关键字';
|
||||
$lang->doc->url = '文档URL';
|
||||
$lang->doc->files = '附件';
|
||||
$lang->doc->views = '查阅次数';
|
||||
$lang->doc->addedBy = '由谁添加';
|
||||
$lang->doc->addedDate = '添加时间';
|
||||
$lang->doc->editedBy = '由谁编辑';
|
||||
$lang->doc->editedDate = '编辑时间';
|
||||
|
||||
$lang->doc->moduleName = '模块名称';
|
||||
$lang->doc->moduleOrder = '模块排序';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->doc->index = '首页';
|
||||
$lang->doc->create = '创建文档';
|
||||
$lang->doc->edit = '编辑文档';
|
||||
$lang->doc->delete = '删除文档';
|
||||
$lang->doc->browse = '文档列表';
|
||||
$lang->doc->view = '文档详情';
|
||||
$lang->doc->createLib = '创建文档库';
|
||||
$lang->doc->editLib = '编辑文档库';
|
||||
$lang->doc->deleteLib = '删除文档库';
|
||||
$lang->doc->libName = '文档库名称';
|
||||
|
||||
$lang->doc->systemLibs['product'] = '产品文档库';
|
||||
$lang->doc->systemLibs['project'] = '项目文档库';
|
||||
|
||||
$lang->doc->types['file'] = '文件';
|
||||
$lang->doc->types['url'] = '链接';
|
||||
$lang->doc->types['text'] = '网页';
|
||||
|
||||
$lang->doc->confirmDeleteLib = " 您确定删除该文档库吗?";
|
||||
$lang->doc->errorEditSystemDoc = "系统文档库无需修改。";
|
||||
<?php
|
||||
/**
|
||||
* The doc module zh-cn file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: zh-cn.php 824 2010-05-02 15:32:06Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 字段列表。*/
|
||||
$lang->doc->common = '文档视图';
|
||||
$lang->doc->id = '文档编号';
|
||||
$lang->doc->product = '所属产品';
|
||||
$lang->doc->project = '所属项目';
|
||||
$lang->doc->lib = '所属文档库';
|
||||
$lang->doc->module = '所属分类';
|
||||
$lang->doc->title = '文档标题';
|
||||
$lang->doc->digest = '文档摘要';
|
||||
$lang->doc->type = '文档类型';
|
||||
$lang->doc->content = '文档正文';
|
||||
$lang->doc->keywords = '关键字';
|
||||
$lang->doc->url = '文档URL';
|
||||
$lang->doc->files = '附件';
|
||||
$lang->doc->views = '查阅次数';
|
||||
$lang->doc->addedBy = '由谁添加';
|
||||
$lang->doc->addedDate = '添加时间';
|
||||
$lang->doc->editedBy = '由谁编辑';
|
||||
$lang->doc->editedDate = '编辑时间';
|
||||
|
||||
$lang->doc->moduleName = '模块名称';
|
||||
$lang->doc->moduleOrder = '模块排序';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->doc->index = '首页';
|
||||
$lang->doc->create = '创建文档';
|
||||
$lang->doc->edit = '编辑文档';
|
||||
$lang->doc->delete = '删除文档';
|
||||
$lang->doc->browse = '文档列表';
|
||||
$lang->doc->view = '文档详情';
|
||||
$lang->doc->createLib = '创建文档库';
|
||||
$lang->doc->editLib = '编辑文档库';
|
||||
$lang->doc->deleteLib = '删除文档库';
|
||||
$lang->doc->libName = '文档库名称';
|
||||
|
||||
$lang->doc->systemLibs['product'] = '产品文档库';
|
||||
$lang->doc->systemLibs['project'] = '项目文档库';
|
||||
|
||||
$lang->doc->types['file'] = '文件';
|
||||
$lang->doc->types['url'] = '链接';
|
||||
$lang->doc->types['text'] = '网页';
|
||||
|
||||
$lang->doc->confirmDeleteLib = " 您确定删除该文档库吗?";
|
||||
$lang->doc->errorEditSystemDoc = "系统文档库无需修改。";
|
||||
|
||||
@@ -1,67 +1,54 @@
|
||||
<?php
|
||||
/**
|
||||
* The doc module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: zh-tw.php 824 2010-05-02 15:32:06Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 欄位列表。*/
|
||||
$lang->doc->common = '文檔視圖';
|
||||
$lang->doc->id = '文檔編號';
|
||||
$lang->doc->product = '所屬產品';
|
||||
$lang->doc->project = '所屬項目';
|
||||
$lang->doc->lib = '所屬文檔庫';
|
||||
$lang->doc->module = '所屬分類';
|
||||
$lang->doc->title = '文檔標題';
|
||||
$lang->doc->digest = '文檔摘要';
|
||||
$lang->doc->type = '文檔類型';
|
||||
$lang->doc->content = '文檔正文';
|
||||
$lang->doc->keywords = '關鍵字';
|
||||
$lang->doc->url = '文檔URL';
|
||||
$lang->doc->files = '附件';
|
||||
$lang->doc->views = '查閲次數';
|
||||
$lang->doc->addedBy = '由誰添加';
|
||||
$lang->doc->addedDate = '添加時間';
|
||||
$lang->doc->editedBy = '由誰編輯';
|
||||
$lang->doc->editedDate = '編輯時間';
|
||||
|
||||
$lang->doc->moduleName = '模組名稱';
|
||||
$lang->doc->moduleOrder = '模組排序';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->doc->index = '首頁';
|
||||
$lang->doc->create = '創建文檔';
|
||||
$lang->doc->edit = '編輯文檔';
|
||||
$lang->doc->delete = '刪除文檔';
|
||||
$lang->doc->browse = '文檔列表';
|
||||
$lang->doc->view = '文檔詳情';
|
||||
$lang->doc->createLib = '創建文檔庫';
|
||||
$lang->doc->editLib = '編輯文檔庫';
|
||||
$lang->doc->deleteLib = '刪除文檔庫';
|
||||
$lang->doc->libName = '文檔庫名稱';
|
||||
|
||||
$lang->doc->systemLibs['product'] = '產品文檔庫';
|
||||
$lang->doc->systemLibs['project'] = '項目文檔庫';
|
||||
|
||||
$lang->doc->types['file'] = '檔案';
|
||||
$lang->doc->types['url'] = '連結';
|
||||
$lang->doc->types['text'] = '網頁';
|
||||
|
||||
$lang->doc->confirmDeleteLib = " 您確定刪除該文檔庫嗎?";
|
||||
$lang->doc->errorEditSystemDoc = "系統文檔庫無需修改。";
|
||||
<?php
|
||||
/**
|
||||
* The doc module zh-tw file of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: zh-tw.php 824 2010-05-02 15:32:06Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/* 欄位列表。*/
|
||||
$lang->doc->common = '文檔視圖';
|
||||
$lang->doc->id = '文檔編號';
|
||||
$lang->doc->product = '所屬產品';
|
||||
$lang->doc->project = '所屬項目';
|
||||
$lang->doc->lib = '所屬文檔庫';
|
||||
$lang->doc->module = '所屬分類';
|
||||
$lang->doc->title = '文檔標題';
|
||||
$lang->doc->digest = '文檔摘要';
|
||||
$lang->doc->type = '文檔類型';
|
||||
$lang->doc->content = '文檔正文';
|
||||
$lang->doc->keywords = '關鍵字';
|
||||
$lang->doc->url = '文檔URL';
|
||||
$lang->doc->files = '附件';
|
||||
$lang->doc->views = '查閲次數';
|
||||
$lang->doc->addedBy = '由誰添加';
|
||||
$lang->doc->addedDate = '添加時間';
|
||||
$lang->doc->editedBy = '由誰編輯';
|
||||
$lang->doc->editedDate = '編輯時間';
|
||||
|
||||
$lang->doc->moduleName = '模組名稱';
|
||||
$lang->doc->moduleOrder = '模組排序';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->doc->index = '首頁';
|
||||
$lang->doc->create = '創建文檔';
|
||||
$lang->doc->edit = '編輯文檔';
|
||||
$lang->doc->delete = '刪除文檔';
|
||||
$lang->doc->browse = '文檔列表';
|
||||
$lang->doc->view = '文檔詳情';
|
||||
$lang->doc->createLib = '創建文檔庫';
|
||||
$lang->doc->editLib = '編輯文檔庫';
|
||||
$lang->doc->deleteLib = '刪除文檔庫';
|
||||
$lang->doc->libName = '文檔庫名稱';
|
||||
|
||||
$lang->doc->systemLibs['product'] = '產品文檔庫';
|
||||
$lang->doc->systemLibs['project'] = '項目文檔庫';
|
||||
|
||||
$lang->doc->types['file'] = '檔案';
|
||||
$lang->doc->types['url'] = '連結';
|
||||
$lang->doc->types['text'] = '網頁';
|
||||
|
||||
$lang->doc->confirmDeleteLib = " 您確定刪除該文檔庫嗎?";
|
||||
$lang->doc->errorEditSystemDoc = "系統文檔庫無需修改。";
|
||||
|
||||
@@ -1,208 +1,195 @@
|
||||
<?php
|
||||
/**
|
||||
* The model file of doc module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: model.php 881 2010-06-22 06:50:32Z chencongzhi520 $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
class docModel extends model
|
||||
{
|
||||
/* 设置菜单。*/
|
||||
public function setMenu($libs, $libID, $extra = '')
|
||||
{
|
||||
/* 获得当前的模块和方法,传递给switchDocLib方法,供页面跳转使用。*/
|
||||
$currentModule = $this->app->getModuleName();
|
||||
$currentMethod = $this->app->getMethodName();
|
||||
|
||||
$selectHtml = html::select('libID', $libs, $libID, "onchange=\"switchDocLib(this.value, '$currentModule', '$currentMethod', '$extra');\"");
|
||||
common::setMenuVars($this->lang->doc->menu, 'list', $selectHtml . $this->lang->arrow);
|
||||
foreach($this->lang->doc->menu as $key => $menu)
|
||||
{
|
||||
if($key != 'list') common::setMenuVars($this->lang->doc->menu, $key, $libID);
|
||||
}
|
||||
}
|
||||
|
||||
/* 通过ID获取文档库信息。*/
|
||||
public function getLibById($libID)
|
||||
{
|
||||
return $this->dao->findByID($libID)->from(TABLE_DOCLIB)->fetch();
|
||||
}
|
||||
|
||||
/* 获取文档库列表。*/
|
||||
public function getLibs()
|
||||
{
|
||||
$libs = $this->dao->select('id, name')->from(TABLE_DOCLIB)->where('deleted')->eq(0)->fetchPairs();
|
||||
return $this->lang->doc->systemLibs + $libs;
|
||||
}
|
||||
|
||||
/* 新增文档库。*/
|
||||
public function createLib()
|
||||
{
|
||||
/* 处理数据。*/
|
||||
$lib = fixer::input('post')->stripTags('name')->get();
|
||||
$this->dao->insert(TABLE_DOCLIB)
|
||||
->data($lib)
|
||||
->autoCheck()
|
||||
->batchCheck('name', 'notempty')
|
||||
->check('name', 'unique')
|
||||
->exec();
|
||||
return $this->dao->lastInsertID();
|
||||
}
|
||||
|
||||
/* 编辑文档库。*/
|
||||
public function updateLib($libID)
|
||||
{
|
||||
/* 处理数据。*/
|
||||
$libID = (int)$libID;
|
||||
$oldLib = $this->getLibById($libID);
|
||||
$lib = fixer::input('post')->stripTags('name')->get();
|
||||
$this->dao->update(TABLE_DOCLIB)
|
||||
->data($lib)
|
||||
->autoCheck()
|
||||
->batchCheck('name', 'notempty')
|
||||
->check('name', 'unique', "id != $libID")
|
||||
->where('id')->eq($libID)
|
||||
->exec();
|
||||
if(!dao::isError()) return common::createChanges($oldLib, $lib);
|
||||
}
|
||||
|
||||
/* 获得文档列表。*/
|
||||
public function getDocs($libID, $productID, $projectID, $module, $orderBy, $pager)
|
||||
{
|
||||
return $this->dao->select('*')->from(TABLE_DOC)
|
||||
->where('deleted')->eq(0)
|
||||
->beginIF(is_numeric($libID))->andWhere('lib')->eq($libID)->fi()
|
||||
->beginIF($libID == 'product')->andWhere('product')->gt(0)->fi()
|
||||
->beginIF($libID == 'project')->andWhere('project')->gt(0)->fi()
|
||||
->beginIF($productID > 0)->andWhere('product')->eq($productID)->fi()
|
||||
->beginIF($projectID > 0)->andWhere('project')->eq($projectID)->fi()
|
||||
->beginIF((string)$projectID == 'int')->andWhere('project')->gt(0)->fi()
|
||||
->beginIF($module)->andWhere('module')->in($module)->fi()
|
||||
->orderBy($orderBy)
|
||||
->page($pager)
|
||||
->fetchAll();
|
||||
}
|
||||
|
||||
/* 获取一个文档的详细信息。*/
|
||||
public function getById($docID)
|
||||
{
|
||||
$doc = $this->dao->select('*')
|
||||
->from(TABLE_DOC)
|
||||
->where('id')->eq((int)$docID)
|
||||
->fetch();
|
||||
if(!$doc) return false;
|
||||
$doc->files = $this->loadModel('file')->getByObject('doc', $docID);
|
||||
|
||||
$doc->libName = '';
|
||||
$doc->productName = '';
|
||||
$doc->projectName = '';
|
||||
$doc->moduleName = '';
|
||||
if($doc->lib) $doc->libName = $this->dao->findByID($doc->lib)->from(TABLE_DOCLIB)->fetch('name');
|
||||
if($doc->product) $doc->productName = $this->dao->findByID($doc->product)->from(TABLE_PRODUCT)->fetch('name');
|
||||
if($doc->project) $doc->projectName = $this->dao->findByID($doc->project)->from(TABLE_PROJECT)->fetch('name');
|
||||
if($doc->module) $doc->moduleName = $this->dao->findByID($doc->module)->from(TABLE_MODULE)->fetch('name');
|
||||
return $doc;
|
||||
}
|
||||
|
||||
/* 创建一个文档。*/
|
||||
public function create()
|
||||
{
|
||||
$now = helper::now();
|
||||
$doc = fixer::input('post')
|
||||
->add('addedBy', $this->app->user->account)
|
||||
->add('addedDate', $now)
|
||||
->setDefault('product, project, module', 0)
|
||||
->specialChars('title, digest, keywords')
|
||||
->encodeURL('url')
|
||||
->cleanInt('product, project, module')
|
||||
->remove('files, labels')
|
||||
->get();
|
||||
$condition = "lib = '$doc->lib' AND module = $doc->module";
|
||||
$this->dao->insert(TABLE_DOC)
|
||||
->data($doc)
|
||||
->autoCheck()
|
||||
->batchCheck($this->config->doc->create->requiredFields, 'notempty')
|
||||
->check('title', 'unique', $condition)
|
||||
->exec();
|
||||
if(!dao::isError())
|
||||
{
|
||||
$docID = $this->dao->lastInsertID();
|
||||
$this->loadModel('file')->saveUpload('doc', $docID);
|
||||
return $docID;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 更新文档信息。*/
|
||||
public function update($docID)
|
||||
{
|
||||
$oldDoc = $this->getById($docID);
|
||||
$now = helper::now();
|
||||
$doc = fixer::input('post')
|
||||
->cleanInt('module')
|
||||
->setDefault('module', 0)
|
||||
->specialChars('title, digest, keywords')
|
||||
->encodeURL('url')
|
||||
->remove('files, labels')
|
||||
->add('editedBy', $this->app->user->account)
|
||||
->add('editedDate', $now)
|
||||
->get();
|
||||
|
||||
$condition = "lib = '$doc->lib' AND module = $doc->module AND id != $docID";
|
||||
$this->dao->update(TABLE_DOC)->data($doc)
|
||||
->autoCheck()
|
||||
->batchCheck($this->config->doc->edit->requiredFields, 'notempty')
|
||||
->check('title', 'unique', $condition)
|
||||
->where('id')->eq((int)$docID)
|
||||
->exec();
|
||||
if(!dao::isError()) return common::createChanges($oldDoc, $doc);
|
||||
}
|
||||
|
||||
/* 获得某一个产品的文档列表。*/
|
||||
public function getProductDocs($productID)
|
||||
{
|
||||
return $this->dao->select('t1.*, t2.name as module')
|
||||
->from(TABLE_DOC)->alias('t1')
|
||||
->leftjoin(TABLE_MODULE)->alias('t2')->on('t1.module = t2.id')
|
||||
->where('t1.product')->eq($productID)
|
||||
->andWhere('t1.deleted')->eq(0)
|
||||
->orderBy('t1.id_desc')
|
||||
->fetchAll();
|
||||
}
|
||||
|
||||
/* 获得某一个项目的文档列表。*/
|
||||
public function getProjectDocs($projectID)
|
||||
{
|
||||
return $this->dao->findByProject($projectID)->from(TABLE_DOC)->andWhere('deleted')->eq(0)->orderBy('id_desc')->fetchAll();
|
||||
}
|
||||
|
||||
/* 获得产品的文档模块列表*/
|
||||
public function getProductModulePairs()
|
||||
{
|
||||
return $this->dao->findByType('productdoc')->from(TABLE_MODULE)->fetchPairs('id', 'name');
|
||||
}
|
||||
|
||||
/* 获得项目的文档模块列表。*/
|
||||
public function getProjectModulePairs()
|
||||
{
|
||||
return $this->dao->findByType('projectdoc')->from(TABLE_MODULE)->andWhere('type')->eq('projectdoc')->fetchPairs('id', 'name');
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/**
|
||||
* The model file of doc module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: model.php 881 2010-06-22 06:50:32Z chencongzhi520 $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
class docModel extends model
|
||||
{
|
||||
/* 设置菜单。*/
|
||||
public function setMenu($libs, $libID, $extra = '')
|
||||
{
|
||||
/* 获得当前的模块和方法,传递给switchDocLib方法,供页面跳转使用。*/
|
||||
$currentModule = $this->app->getModuleName();
|
||||
$currentMethod = $this->app->getMethodName();
|
||||
|
||||
$selectHtml = html::select('libID', $libs, $libID, "onchange=\"switchDocLib(this.value, '$currentModule', '$currentMethod', '$extra');\"");
|
||||
common::setMenuVars($this->lang->doc->menu, 'list', $selectHtml . $this->lang->arrow);
|
||||
foreach($this->lang->doc->menu as $key => $menu)
|
||||
{
|
||||
if($key != 'list') common::setMenuVars($this->lang->doc->menu, $key, $libID);
|
||||
}
|
||||
}
|
||||
|
||||
/* 通过ID获取文档库信息。*/
|
||||
public function getLibById($libID)
|
||||
{
|
||||
return $this->dao->findByID($libID)->from(TABLE_DOCLIB)->fetch();
|
||||
}
|
||||
|
||||
/* 获取文档库列表。*/
|
||||
public function getLibs()
|
||||
{
|
||||
$libs = $this->dao->select('id, name')->from(TABLE_DOCLIB)->where('deleted')->eq(0)->fetchPairs();
|
||||
return $this->lang->doc->systemLibs + $libs;
|
||||
}
|
||||
|
||||
/* 新增文档库。*/
|
||||
public function createLib()
|
||||
{
|
||||
/* 处理数据。*/
|
||||
$lib = fixer::input('post')->stripTags('name')->get();
|
||||
$this->dao->insert(TABLE_DOCLIB)
|
||||
->data($lib)
|
||||
->autoCheck()
|
||||
->batchCheck('name', 'notempty')
|
||||
->check('name', 'unique')
|
||||
->exec();
|
||||
return $this->dao->lastInsertID();
|
||||
}
|
||||
|
||||
/* 编辑文档库。*/
|
||||
public function updateLib($libID)
|
||||
{
|
||||
/* 处理数据。*/
|
||||
$libID = (int)$libID;
|
||||
$oldLib = $this->getLibById($libID);
|
||||
$lib = fixer::input('post')->stripTags('name')->get();
|
||||
$this->dao->update(TABLE_DOCLIB)
|
||||
->data($lib)
|
||||
->autoCheck()
|
||||
->batchCheck('name', 'notempty')
|
||||
->check('name', 'unique', "id != $libID")
|
||||
->where('id')->eq($libID)
|
||||
->exec();
|
||||
if(!dao::isError()) return common::createChanges($oldLib, $lib);
|
||||
}
|
||||
|
||||
/* 获得文档列表。*/
|
||||
public function getDocs($libID, $productID, $projectID, $module, $orderBy, $pager)
|
||||
{
|
||||
return $this->dao->select('*')->from(TABLE_DOC)
|
||||
->where('deleted')->eq(0)
|
||||
->beginIF(is_numeric($libID))->andWhere('lib')->eq($libID)->fi()
|
||||
->beginIF($libID == 'product')->andWhere('product')->gt(0)->fi()
|
||||
->beginIF($libID == 'project')->andWhere('project')->gt(0)->fi()
|
||||
->beginIF($productID > 0)->andWhere('product')->eq($productID)->fi()
|
||||
->beginIF($projectID > 0)->andWhere('project')->eq($projectID)->fi()
|
||||
->beginIF((string)$projectID == 'int')->andWhere('project')->gt(0)->fi()
|
||||
->beginIF($module)->andWhere('module')->in($module)->fi()
|
||||
->orderBy($orderBy)
|
||||
->page($pager)
|
||||
->fetchAll();
|
||||
}
|
||||
|
||||
/* 获取一个文档的详细信息。*/
|
||||
public function getById($docID)
|
||||
{
|
||||
$doc = $this->dao->select('*')
|
||||
->from(TABLE_DOC)
|
||||
->where('id')->eq((int)$docID)
|
||||
->fetch();
|
||||
if(!$doc) return false;
|
||||
$doc->files = $this->loadModel('file')->getByObject('doc', $docID);
|
||||
|
||||
$doc->libName = '';
|
||||
$doc->productName = '';
|
||||
$doc->projectName = '';
|
||||
$doc->moduleName = '';
|
||||
if($doc->lib) $doc->libName = $this->dao->findByID($doc->lib)->from(TABLE_DOCLIB)->fetch('name');
|
||||
if($doc->product) $doc->productName = $this->dao->findByID($doc->product)->from(TABLE_PRODUCT)->fetch('name');
|
||||
if($doc->project) $doc->projectName = $this->dao->findByID($doc->project)->from(TABLE_PROJECT)->fetch('name');
|
||||
if($doc->module) $doc->moduleName = $this->dao->findByID($doc->module)->from(TABLE_MODULE)->fetch('name');
|
||||
return $doc;
|
||||
}
|
||||
|
||||
/* 创建一个文档。*/
|
||||
public function create()
|
||||
{
|
||||
$now = helper::now();
|
||||
$doc = fixer::input('post')
|
||||
->add('addedBy', $this->app->user->account)
|
||||
->add('addedDate', $now)
|
||||
->setDefault('product, project, module', 0)
|
||||
->specialChars('title, digest, keywords')
|
||||
->encodeURL('url')
|
||||
->cleanInt('product, project, module')
|
||||
->remove('files, labels')
|
||||
->get();
|
||||
$condition = "lib = '$doc->lib' AND module = $doc->module";
|
||||
$this->dao->insert(TABLE_DOC)
|
||||
->data($doc)
|
||||
->autoCheck()
|
||||
->batchCheck($this->config->doc->create->requiredFields, 'notempty')
|
||||
->check('title', 'unique', $condition)
|
||||
->exec();
|
||||
if(!dao::isError())
|
||||
{
|
||||
$docID = $this->dao->lastInsertID();
|
||||
$this->loadModel('file')->saveUpload('doc', $docID);
|
||||
return $docID;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 更新文档信息。*/
|
||||
public function update($docID)
|
||||
{
|
||||
$oldDoc = $this->getById($docID);
|
||||
$now = helper::now();
|
||||
$doc = fixer::input('post')
|
||||
->cleanInt('module')
|
||||
->setDefault('module', 0)
|
||||
->specialChars('title, digest, keywords')
|
||||
->encodeURL('url')
|
||||
->remove('files, labels')
|
||||
->add('editedBy', $this->app->user->account)
|
||||
->add('editedDate', $now)
|
||||
->get();
|
||||
|
||||
$condition = "lib = '$doc->lib' AND module = $doc->module AND id != $docID";
|
||||
$this->dao->update(TABLE_DOC)->data($doc)
|
||||
->autoCheck()
|
||||
->batchCheck($this->config->doc->edit->requiredFields, 'notempty')
|
||||
->check('title', 'unique', $condition)
|
||||
->where('id')->eq((int)$docID)
|
||||
->exec();
|
||||
if(!dao::isError()) return common::createChanges($oldDoc, $doc);
|
||||
}
|
||||
|
||||
/* 获得某一个产品的文档列表。*/
|
||||
public function getProductDocs($productID)
|
||||
{
|
||||
return $this->dao->select('t1.*, t2.name as module')
|
||||
->from(TABLE_DOC)->alias('t1')
|
||||
->leftjoin(TABLE_MODULE)->alias('t2')->on('t1.module = t2.id')
|
||||
->where('t1.product')->eq($productID)
|
||||
->andWhere('t1.deleted')->eq(0)
|
||||
->orderBy('t1.id_desc')
|
||||
->fetchAll();
|
||||
}
|
||||
|
||||
/* 获得某一个项目的文档列表。*/
|
||||
public function getProjectDocs($projectID)
|
||||
{
|
||||
return $this->dao->findByProject($projectID)->from(TABLE_DOC)->andWhere('deleted')->eq(0)->orderBy('id_desc')->fetchAll();
|
||||
}
|
||||
|
||||
/* 获得产品的文档模块列表*/
|
||||
public function getProductModulePairs()
|
||||
{
|
||||
return $this->dao->findByType('productdoc')->from(TABLE_MODULE)->fetchPairs('id', 'name');
|
||||
}
|
||||
|
||||
/* 获得项目的文档模块列表。*/
|
||||
public function getProjectModulePairs()
|
||||
{
|
||||
return $this->dao->findByType('projectdoc')->from(TABLE_MODULE)->andWhere('type')->eq('projectdoc')->fetchPairs('id', 'name');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,90 +1,77 @@
|
||||
<?php
|
||||
/**
|
||||
* The browse view file of doc module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package lib
|
||||
* @version $Id: browse.html.php 958 2010-07-22 08:09:42Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/treeview.html.php';?>
|
||||
<?php include '../../common/view/colorize.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<div id='featurebar'>
|
||||
<div class='f-right'>
|
||||
<?php common::printLink('doc', 'create', "libID=$libID&moduleID=$moduleID&productID=$productID&projectID=$projectID&from=doc", $lang->doc->create);?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='yui-d0 yui-t1' id='mainbox'>
|
||||
|
||||
<div class="yui-main">
|
||||
<div class="yui-b">
|
||||
<table class='table-1 fixed colored tablesorter datatable'>
|
||||
<thead>
|
||||
<tr class='colhead'>
|
||||
<?php $vars = "libID=$libID&module=$moduleID&productID=$productID&projectID=$projectID&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}";?>
|
||||
<th class='w-id'> <?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?></th>
|
||||
<th><?php common::printOrderLink('title', $orderBy, $vars, $lang->doc->title);?></th>
|
||||
<th class='w-100px'><?php common::printOrderLink('type', $orderBy, $vars, $lang->doc->type);?></th>
|
||||
<th class='w-100px'><?php common::printOrderLink('addedBy', $orderBy, $vars, $lang->doc->addedBy);?></th>
|
||||
<th class='w-120px'><?php common::printOrderLink('addedDate', $orderBy, $vars, $lang->doc->addedDate);?></th>
|
||||
<th class='w-100px {sorter:false}'><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($docs as $key => $doc):?>
|
||||
<?php
|
||||
$viewLink = $this->createLink('doc', 'view', "docID=$doc->id");
|
||||
$canView = common::hasPriv('doc', 'view');
|
||||
?>
|
||||
<tr class='a-center'>
|
||||
<td><?php if($canView) echo html::a($viewLink, sprintf('%03d', $doc->id)); else printf('%03d', $doc->id);?></td>
|
||||
<td class='a-left nobr'><nobr><?php echo html::a($viewLink, $doc->title);?></nobr></td>
|
||||
<td><?php echo $lang->doc->types[$doc->type];?></td>
|
||||
<td><?php echo $users[$doc->addedBy];?></td>
|
||||
<td><?php echo date("m-d H:i", strtotime($doc->addedDate));?></td>
|
||||
<td>
|
||||
<?php
|
||||
$vars = "doc={$doc->id}";
|
||||
if(!common::printLink('doc', 'edit', $vars, $lang->edit)) echo $lang->edit;
|
||||
if(!common::printLink('doc', 'delete', $vars, $lang->delete, 'hiddenwin')) echo $lang->delete;
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php $pager->show();?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='yui-b' id='treebox'>
|
||||
<div class='box-title'><?php echo $libName;?></div>
|
||||
<div class='box-content'>
|
||||
<?php echo $moduleTree;?>
|
||||
<div class='a-right'>
|
||||
<?php common::printLink('tree', 'browse', "rootID=$libID&view=doc", $lang->tree->manage);?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<?php include './footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The browse view file of doc module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package lib
|
||||
* @version $Id: browse.html.php 958 2010-07-22 08:09:42Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/treeview.html.php';?>
|
||||
<?php include '../../common/view/colorize.html.php';?>
|
||||
<div class='yui-d0'>
|
||||
<div id='featurebar'>
|
||||
<div class='f-right'>
|
||||
<?php common::printLink('doc', 'create', "libID=$libID&moduleID=$moduleID&productID=$productID&projectID=$projectID&from=doc", $lang->doc->create);?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='yui-d0 yui-t1' id='mainbox'>
|
||||
|
||||
<div class="yui-main">
|
||||
<div class="yui-b">
|
||||
<table class='table-1 fixed colored tablesorter datatable'>
|
||||
<thead>
|
||||
<tr class='colhead'>
|
||||
<?php $vars = "libID=$libID&module=$moduleID&productID=$productID&projectID=$projectID&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}";?>
|
||||
<th class='w-id'> <?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?></th>
|
||||
<th><?php common::printOrderLink('title', $orderBy, $vars, $lang->doc->title);?></th>
|
||||
<th class='w-100px'><?php common::printOrderLink('type', $orderBy, $vars, $lang->doc->type);?></th>
|
||||
<th class='w-100px'><?php common::printOrderLink('addedBy', $orderBy, $vars, $lang->doc->addedBy);?></th>
|
||||
<th class='w-120px'><?php common::printOrderLink('addedDate', $orderBy, $vars, $lang->doc->addedDate);?></th>
|
||||
<th class='w-100px {sorter:false}'><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($docs as $key => $doc):?>
|
||||
<?php
|
||||
$viewLink = $this->createLink('doc', 'view', "docID=$doc->id");
|
||||
$canView = common::hasPriv('doc', 'view');
|
||||
?>
|
||||
<tr class='a-center'>
|
||||
<td><?php if($canView) echo html::a($viewLink, sprintf('%03d', $doc->id)); else printf('%03d', $doc->id);?></td>
|
||||
<td class='a-left nobr'><nobr><?php echo html::a($viewLink, $doc->title);?></nobr></td>
|
||||
<td><?php echo $lang->doc->types[$doc->type];?></td>
|
||||
<td><?php echo $users[$doc->addedBy];?></td>
|
||||
<td><?php echo date("m-d H:i", strtotime($doc->addedDate));?></td>
|
||||
<td>
|
||||
<?php
|
||||
$vars = "doc={$doc->id}";
|
||||
if(!common::printLink('doc', 'edit', $vars, $lang->edit)) echo $lang->edit;
|
||||
if(!common::printLink('doc', 'delete', $vars, $lang->delete, 'hiddenwin')) echo $lang->delete;
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php $pager->show();?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='yui-b' id='treebox'>
|
||||
<div class='box-title'><?php echo $libName;?></div>
|
||||
<div class='box-content'>
|
||||
<?php echo $moduleTree;?>
|
||||
<div class='a-right'>
|
||||
<?php common::printLink('tree', 'browse', "rootID=$libID&view=doc", $lang->tree->manage);?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<?php include './footer.html.php';?>
|
||||
|
||||
@@ -1,111 +1,98 @@
|
||||
<?php
|
||||
/**
|
||||
* The create view of doc module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Jia Fu <fujia@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: create.html.php 975 2010-07-29 03:30:25Z jajacn@126.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<script language='Javascript'>
|
||||
function loadProducts(project)
|
||||
{
|
||||
link = createLink('project', 'ajaxGetProducts', 'projectID=' + project);
|
||||
$('#productBox').load(link);
|
||||
}
|
||||
/* 设置文档类型。*/
|
||||
function setType(type)
|
||||
{
|
||||
if(type == 'url'){
|
||||
$('#urlBox').show();
|
||||
$('#fileBox').hide();
|
||||
$('#contentBox').hide();
|
||||
}
|
||||
else if(type == 'text'){
|
||||
$('#urlBox').hide();
|
||||
$('#fileBox').hide();
|
||||
$('#contentBox').show();
|
||||
}
|
||||
else{
|
||||
$('#urlBox').hide();
|
||||
$('#fileBox').show();
|
||||
$('#contentBox').hide();
|
||||
}
|
||||
}
|
||||
$(function() {KE.show({id:'content', items:tools, filterMode:true, imageUploadJson: createLink('file', 'ajaxUpload')});});
|
||||
</script>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' enctype='multipart/form-data' target='hiddenwin'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->doc->create;?></caption>
|
||||
<?php if($libID == 'product'):?>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->product;?></th>
|
||||
<td><?php echo html::select('product', $products, $productID, "class='select-3'");?></td>
|
||||
</tr>
|
||||
<?php elseif($libID == 'project'):?>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->project;?></th>
|
||||
<td><?php echo html::select('project', $projects, $projectID, "class='select-3' onchange=loadProducts(this.value);");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->product;?></th>
|
||||
<td><span id='productBox'><?php echo html::select('product', $products, '', "class='select-3'");?></span></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->module;?></th>
|
||||
<td><?php echo html::select('module', $moduleOptionMenu, $moduleID, "class='select-3'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->type;?></th>
|
||||
<td><?php echo html::radio('type', $lang->doc->types, 'file', "onclick=setType(this.value)");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->title;?></th>
|
||||
<td><?php echo html::input('title', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr id='urlBox' class='hidden'>
|
||||
<th class='rowhead'><?php echo $lang->doc->url;?></th>
|
||||
<td><?php echo html::input('url', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr id='contentBox' class='hidden'>
|
||||
<th class='rowhead'><?php echo $lang->doc->content;?></th>
|
||||
<td><?php echo html::textarea('content', '', "class='area-1' style='width:90%; height:200px'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->keywords;?></th>
|
||||
<td><?php echo html::input('keywords', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->digest;?></th>
|
||||
<td><?php echo html::textarea('digest', '', "class='text-1' rows=3");?></td>
|
||||
</tr>
|
||||
<tr id='fileBox'>
|
||||
<th class='rowhead'><?php echo $lang->doc->files;?></th>
|
||||
<td><?php echo $this->fetch('file', 'buildform', 'fileCount=2');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'><?php echo html::submitButton() . html::resetButton() . html::hidden('lib', $libID);?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include './footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The create view of doc module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Jia Fu <fujia@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: create.html.php 975 2010-07-29 03:30:25Z jajacn@126.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<script language='Javascript'>
|
||||
function loadProducts(project)
|
||||
{
|
||||
link = createLink('project', 'ajaxGetProducts', 'projectID=' + project);
|
||||
$('#productBox').load(link);
|
||||
}
|
||||
/* 设置文档类型。*/
|
||||
function setType(type)
|
||||
{
|
||||
if(type == 'url'){
|
||||
$('#urlBox').show();
|
||||
$('#fileBox').hide();
|
||||
$('#contentBox').hide();
|
||||
}
|
||||
else if(type == 'text'){
|
||||
$('#urlBox').hide();
|
||||
$('#fileBox').hide();
|
||||
$('#contentBox').show();
|
||||
}
|
||||
else{
|
||||
$('#urlBox').hide();
|
||||
$('#fileBox').show();
|
||||
$('#contentBox').hide();
|
||||
}
|
||||
}
|
||||
$(function() {KE.show({id:'content', items:tools, filterMode:true, imageUploadJson: createLink('file', 'ajaxUpload')});});
|
||||
</script>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' enctype='multipart/form-data' target='hiddenwin'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->doc->create;?></caption>
|
||||
<?php if($libID == 'product'):?>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->product;?></th>
|
||||
<td><?php echo html::select('product', $products, $productID, "class='select-3'");?></td>
|
||||
</tr>
|
||||
<?php elseif($libID == 'project'):?>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->project;?></th>
|
||||
<td><?php echo html::select('project', $projects, $projectID, "class='select-3' onchange=loadProducts(this.value);");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->product;?></th>
|
||||
<td><span id='productBox'><?php echo html::select('product', $products, '', "class='select-3'");?></span></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->module;?></th>
|
||||
<td><?php echo html::select('module', $moduleOptionMenu, $moduleID, "class='select-3'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->type;?></th>
|
||||
<td><?php echo html::radio('type', $lang->doc->types, 'file', "onclick=setType(this.value)");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->title;?></th>
|
||||
<td><?php echo html::input('title', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr id='urlBox' class='hidden'>
|
||||
<th class='rowhead'><?php echo $lang->doc->url;?></th>
|
||||
<td><?php echo html::input('url', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr id='contentBox' class='hidden'>
|
||||
<th class='rowhead'><?php echo $lang->doc->content;?></th>
|
||||
<td><?php echo html::textarea('content', '', "class='area-1' style='width:90%; height:200px'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->keywords;?></th>
|
||||
<td><?php echo html::input('keywords', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->digest;?></th>
|
||||
<td><?php echo html::textarea('digest', '', "class='text-1' rows=3");?></td>
|
||||
</tr>
|
||||
<tr id='fileBox'>
|
||||
<th class='rowhead'><?php echo $lang->doc->files;?></th>
|
||||
<td><?php echo $this->fetch('file', 'buildform', 'fileCount=2');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'><?php echo html::submitButton() . html::resetButton() . html::hidden('lib', $libID);?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include './footer.html.php';?>
|
||||
|
||||
@@ -1,44 +1,31 @@
|
||||
<?php
|
||||
/**
|
||||
* The createlib view of doc module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Jia Fu <fujia@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: createlib.html.php 975 2010-07-29 03:30:25Z jajacn@126.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.lite.html.php';?>
|
||||
<style>body{background:white; margin-top:20px; padding-bottom:0}</style>
|
||||
<div id='yui-d0'>
|
||||
<form method='post'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->doc->createLib;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->libName;?></th>
|
||||
<td><?php echo html::input('name', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'>
|
||||
<?php echo html::submitButton();?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<?php
|
||||
/**
|
||||
* The createlib view of doc module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Jia Fu <fujia@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: createlib.html.php 975 2010-07-29 03:30:25Z jajacn@126.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.lite.html.php';?>
|
||||
<style>body{background:white; margin-top:20px; padding-bottom:0}</style>
|
||||
<div id='yui-d0'>
|
||||
<form method='post'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->doc->createLib;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->libName;?></th>
|
||||
<td><?php echo html::input('name', '', "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'>
|
||||
<?php echo html::submitButton();?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,95 +1,82 @@
|
||||
<?php
|
||||
/**
|
||||
* The edit view of doc module of ZenTaoMS.
|
||||
*
|
||||
* ZenTaoMS is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* ZenTaoMS is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with ZenTaoMS. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Jia Fu <fujia@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: edit.html.php 975 2010-07-29 03:30:25Z jajacn@126.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<script language='javascript'>
|
||||
/* 设置文档类型。*/
|
||||
var type = '<?php echo $doc->type;?>';
|
||||
$(document).ready(function()
|
||||
{
|
||||
if(type == 'url'){
|
||||
$('#urlBox').show();
|
||||
$('#contentBox').hide();
|
||||
$('#fileBox').hide();
|
||||
}
|
||||
else if(type == 'text'){
|
||||
$('#urlBox').hide();
|
||||
$('#contentBox').show();
|
||||
$('#fileBox').hide();
|
||||
}
|
||||
else{
|
||||
$('#urlBox').hide();
|
||||
$('#contentBox').hide();
|
||||
$('#fileBox').show();
|
||||
}
|
||||
|
||||
$(function() {KE.show({id:'content', items:tools, filterMode:true, imageUploadJson: createLink('file', 'ajaxUpload')});});
|
||||
});
|
||||
</script>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' enctype='multipart/form-data' target='hiddenwin'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->doc->edit;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->module;?></th>
|
||||
<td><?php echo html::select('module', $moduleOptionMenu, $doc->module, "class='select-3'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->type;?></th>
|
||||
<td><?php echo $lang->doc->types[$doc->type];?></td>
|
||||
</tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->title;?></th>
|
||||
<td><?php echo html::input('title', $doc->title, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->keywords;?></th>
|
||||
<td><?php echo html::input('keywords', $doc->keywords, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr id='urlBox' class='hidden'>
|
||||
<th class='rowhead'><?php echo $lang->doc->url;?></th>
|
||||
<td><?php echo html::input('url', urldecode($doc->url), "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr id='contentBox' class='hidden'>
|
||||
<th class='rowhead'><?php echo $lang->doc->content;?></th>
|
||||
<td><?php echo html::textarea('content', htmlspecialchars($doc->content), "class='text-1' rows='8' style='width:90%; height:200px'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->digest;?></th>
|
||||
<td><?php echo html::textarea('digest', $doc->digest, "class='text-1' rows=3");?></td>
|
||||
</tr>
|
||||
<tr id='fileBox' class='hidden'>
|
||||
<th class='rowhead'><?php echo $lang->doc->files;?></th>
|
||||
<td><?php echo $this->fetch('file', 'buildform', 'fileCount=2');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'>
|
||||
<?php echo html::submitButton() . html::resetButton() . html::hidden('lib', $libID);?>
|
||||
<?php echo html::hidden('product', $doc->product) . html::hidden('project', $doc->project);?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include './footer.html.php';?>
|
||||
<?php
|
||||
/**
|
||||
* The edit view of doc module of ZenTaoMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2010 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @author Jia Fu <fujia@cnezsoft.com>
|
||||
* @package doc
|
||||
* @version $Id: edit.html.php 975 2010-07-29 03:30:25Z jajacn@126.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<script language='javascript'>
|
||||
/* 设置文档类型。*/
|
||||
var type = '<?php echo $doc->type;?>';
|
||||
$(document).ready(function()
|
||||
{
|
||||
if(type == 'url'){
|
||||
$('#urlBox').show();
|
||||
$('#contentBox').hide();
|
||||
$('#fileBox').hide();
|
||||
}
|
||||
else if(type == 'text'){
|
||||
$('#urlBox').hide();
|
||||
$('#contentBox').show();
|
||||
$('#fileBox').hide();
|
||||
}
|
||||
else{
|
||||
$('#urlBox').hide();
|
||||
$('#contentBox').hide();
|
||||
$('#fileBox').show();
|
||||
}
|
||||
|
||||
$(function() {KE.show({id:'content', items:tools, filterMode:true, imageUploadJson: createLink('file', 'ajaxUpload')});});
|
||||
});
|
||||
</script>
|
||||
<div class='yui-d0'>
|
||||
<form method='post' enctype='multipart/form-data' target='hiddenwin'>
|
||||
<table class='table-1'>
|
||||
<caption><?php echo $lang->doc->edit;?></caption>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->module;?></th>
|
||||
<td><?php echo html::select('module', $moduleOptionMenu, $doc->module, "class='select-3'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->type;?></th>
|
||||
<td><?php echo $lang->doc->types[$doc->type];?></td>
|
||||
</tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->title;?></th>
|
||||
<td><?php echo html::input('title', $doc->title, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->keywords;?></th>
|
||||
<td><?php echo html::input('keywords', $doc->keywords, "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr id='urlBox' class='hidden'>
|
||||
<th class='rowhead'><?php echo $lang->doc->url;?></th>
|
||||
<td><?php echo html::input('url', urldecode($doc->url), "class='text-1'");?></td>
|
||||
</tr>
|
||||
<tr id='contentBox' class='hidden'>
|
||||
<th class='rowhead'><?php echo $lang->doc->content;?></th>
|
||||
<td><?php echo html::textarea('content', htmlspecialchars($doc->content), "class='text-1' rows='8' style='width:90%; height:200px'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class='rowhead'><?php echo $lang->doc->digest;?></th>
|
||||
<td><?php echo html::textarea('digest', $doc->digest, "class='text-1' rows=3");?></td>
|
||||
</tr>
|
||||
<tr id='fileBox' class='hidden'>
|
||||
<th class='rowhead'><?php echo $lang->doc->files;?></th>
|
||||
<td><?php echo $this->fetch('file', 'buildform', 'fileCount=2');?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='a-center'>
|
||||
<?php echo html::submitButton() . html::resetButton() . html::hidden('lib', $libID);?>
|
||||
<?php echo html::hidden('product', $doc->product) . html::hidden('project', $doc->project);?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?php include './footer.html.php';?>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user