Conflicts:
	module/common/model.php
	module/custom/model.php
This commit is contained in:
Catouse
2016-04-26 15:56:54 +08:00
23 changed files with 58 additions and 173 deletions
+5
View File
@@ -42,6 +42,7 @@ $lang->admin->safe = new stdclass();
$lang->admin->safe->common = 'Safe';
$lang->admin->safe->set = 'Set password safe';
$lang->admin->safe->password = 'Password safe';
$lang->admin->safe->md5Pwd = 'Encrypt Password';
$lang->admin->safe->weak = 'weak Password';
$lang->admin->safe->reason = 'Type';
$lang->admin->safe->checkWeak = 'Weak password check';
@@ -50,6 +51,9 @@ $lang->admin->safe->modeList[0] = 'Do not check';
$lang->admin->safe->modeList[1] = 'Intermediate';
$lang->admin->safe->modeList[2] = 'Strong';
$lang->admin->safe->md5PwdList[0] = 'No encryption';
$lang->admin->safe->md5PwdList[1] = 'Encryptiton';
$lang->admin->safe->reasonList['weak'] = 'Common weak password';
$lang->admin->safe->reasonList['account'] = 'Same account';
$lang->admin->safe->reasonList['mobile'] = 'Same mobile';
@@ -57,4 +61,5 @@ $lang->admin->safe->reasonList['phone'] = 'Same phone';
$lang->admin->safe->reasonList['birthday'] = 'Same birthday';
$lang->admin->safe->noticeMode = 'The system will log in, create and modify the user password, check the user password.';
$lang->admin->safe->noticeMd5Pwd = 'When login, encrypt password before submit.';
$lang->admin->safe->noticeStrong = 'The longer the password length, the more the number of letters or numbers or special characters, the more secure!';
+5
View File
@@ -42,6 +42,7 @@ $lang->admin->safe = new stdclass();
$lang->admin->safe->common = '安全';
$lang->admin->safe->set = '密码安全设置';
$lang->admin->safe->password = '密码安全';
$lang->admin->safe->md5Pwd = '密码加密';
$lang->admin->safe->weak = '常用弱口令';
$lang->admin->safe->reason = '类型';
$lang->admin->safe->checkWeak = '弱口令扫描';
@@ -50,6 +51,9 @@ $lang->admin->safe->modeList[0] = '不检查';
$lang->admin->safe->modeList[1] = '中';
$lang->admin->safe->modeList[2] = '强';
$lang->admin->safe->md5PwdList[0] = '不加密';
$lang->admin->safe->md5PwdList[1] = '加密';
$lang->admin->safe->reasonList['weak'] = '常用弱口令';
$lang->admin->safe->reasonList['account'] = '与账号相同';
$lang->admin->safe->reasonList['mobile'] = '与手机相同';
@@ -57,4 +61,5 @@ $lang->admin->safe->reasonList['phone'] = '与电话相同';
$lang->admin->safe->reasonList['birthday'] = '与生日相同';
$lang->admin->safe->noticeMode = '系统会在登录、创建和修改用户、修改密码的时候检查用户口令。';
$lang->admin->safe->noticeMd5Pwd = '系统会在登录的时候,对密码做加密后再提交。';
$lang->admin->safe->noticeStrong = '密码长度越长,含有大写字母或数字或特殊符合越多,密码字母越不重复,安全度越强!';
+5
View File
@@ -29,6 +29,11 @@
<th></th>
<td colspan='2'><span style='color:#03b8cf;font-weight:bold;'><?php echo $lang->admin->safe->noticeStrong;?></span></td>
</tr>
<tr>
<th class='w-100px'><?php echo $lang->admin->safe->md5Pwd?></th>
<td><?php echo html::radio('md5Pwd', $lang->admin->safe->md5PwdList, isset($config->safe->md5Pwd) ? $config->safe->md5Pwd : 0)?></td>
<td><?php echo $lang->admin->safe->noticeMd5Pwd?></td>
</tr>
<tr>
<th><?php echo $lang->admin->safe->weak?></th>
<td colspan='2'><?php echo html::textarea('weak', $config->safe->weak, "class='form-control' rows='4'")?></td>
+1
View File
@@ -0,0 +1 @@
.chosen-container[id^="plan"] .chosen-drop {min-width: 300px; border-top: 1px solid #ddd!important}
-2
View File
@@ -66,8 +66,6 @@ $lang->ipLimited = "<html><head><meta http-equiv='Content-Type' content='text
$lang->unfold = '+';
$lang->fold = '-';
$lang->hideNotCheck = 'Hide not checked field';
$lang->quitNovice = 'Quit novice';
$lang->enterNovice = 'Enter novice';
$lang->homepage = 'Set homepage';
$lang->tutorial = 'Novice tutorial';
$lang->feature = 'New features';
-2
View File
@@ -66,8 +66,6 @@ $lang->ipLimited = "<html><head><meta http-equiv='Content-Type' content='text
$lang->unfold = '+';
$lang->fold = '-';
$lang->hideNotCheck = '页面隐藏取消选中字段';
$lang->quitNovice = '退出新手';
$lang->enterNovice = '进入新手';
$lang->homepage = '设为主页';
$lang->tutorial = '新手教程';
$lang->feature = '了解新功能';
+9 -87
View File
@@ -31,7 +31,6 @@ class commonModel extends model
$this->loadCustomFromDB();
if(!$this->checkIP()) die($this->lang->ipLimited);
if($this->app->getViewType() == 'mhtml') $this->setMobileMenu();
if(self::inNoviceMode()) $this->setNoviceMenu();
$this->app->loadLang('company');
}
}
@@ -259,9 +258,6 @@ class commonModel extends model
echo '<li>' . html::a(helper::createLink('my', 'profile', '', '', true), $lang->profile, '', "class='iframe' data-width='600'") . '</li>';
echo '<li>' . html::a(helper::createLink('my', 'changepassword', '', '', true), $lang->changePassword, '', "class='iframe' data-width='500'") . '</li>';
$inNovice = self::inNoviceMode();
echo '<li>' . html::a(helper::createLink('misc', 'ajaxSaveNovice', "novice=" . ($inNovice ? 'false' : 'true') . '&reload=true'), $inNovice ? $lang->quitNovice : $lang->enterNovice, 'hiddenwin') . '</li>';
echo "<li class='divider'></li>";
}
@@ -298,37 +294,12 @@ class commonModel extends model
if($app->company->website) echo html::a($app->company->website, $lang->company->website, '_blank');
if($app->company->backyard) echo html::a($app->company->backyard, $lang->company->backyard, '_blank');
if(!commonModel::isTutorialMode()) echo html::a(helper::createLink('tutorial', 'start'), $lang->tutorial, '', "class='iframe' data-width='800' data-headerless='true'");
echo html::a(helper::createLink('tutorial', 'start'), $lang->tutorial, '', "class='iframe' data-width='800' data-headerless='true'");
echo html::a(helper::createLink('misc', 'feature'), $lang->feature, '', "class='iframe' data-width='1200' data-headerless='true'");
echo html::a('javascript:;', $lang->help, '', "class='open-help-tab'");
echo html::a(helper::createLink('misc', 'about'), $lang->aboutZenTao, '', "class='about iframe' data-width='900' data-headerless='true' data-class='modal-about'");
}
/**
* Set novice menu.
*
* @access public
* @return void
*/
public function setNoviceMenu()
{
$this->lang->menuOrder[10] = 'company';
$this->lang->menuOrder[15] = 'product';
$this->lang->menuOrder[20] = 'project';
$this->lang->menuOrder[25] = 'qa';
$this->lang->menuOrder[30] = 'doc';
$this->lang->menuOrder[35] = 'report';
$this->lang->product->menuOrder[15] = 'plan';
$this->lang->product->menuOrder[20] = 'release';
$this->lang->product->menuOrder[25] = 'roadmap';
$this->lang->product->menuOrder[30] = 'dynamic';
$this->lang->story->menuOrder = $this->lang->product->menuOrder;
$this->lang->productplan->menuOrder = $this->lang->product->menuOrder;
$this->lang->release->menuOrder = $this->lang->product->menuOrder;
$this->lang->branch->menuOrder = $this->lang->product->menuOrder;
}
/**
* Set mobile menu.
*
@@ -372,32 +343,6 @@ class commonModel extends model
$this->lang->menu = $menu;
}
/**
* Create menu item link
*
* @param object $menuItemLink
* @param boolean $isTutorialMode
* @access public
* @return string
*/
public static function createMenuLink($menuItem)
{
$link = $menuItem->link;
if(is_array($menuItem->link))
{
$vars = isset($menuItem->link['vars']) ? $menuItem->link['vars'] : '';
if(isset($menuItem->tutorial) && $menuItem->tutorial)
{
$link = helper::createLink('tutorial', 'wizard', "module={$menuItem->link['module']}&method={$menuItem->link['method']}&params=$vars");
}
else
{
$link = helper::createLink($menuItem->link['module'], $menuItem->link['method'], $vars);
}
}
return $link;
}
/**
* Print the main menu.
*
@@ -423,19 +368,19 @@ class commonModel extends model
}
/* Print all main menus. */
$menu = customModel::getMainMenu();
$activeName = $app->getViewType() == 'mhtml' ? 'ui-btn-active' : 'active';
$menu = customModel::getMainMenu();
$activeName = $app->getViewType() == 'mhtml' ? 'ui-btn-active' : 'active';
echo "<ul class='nav'>\n";
foreach($menu as $menuItem)
{
if(isset($menuItem->hidden) && $menuItem->hidden) continue;
$active = $menuItem->name == $mainMenu ? "class='$activeName'" : '';
$link = commonModel::createMenuLink($menuItem);
$link = is_array($menuItem->link) ? helper::createLink($menuItem->link['module'], $menuItem->link['method'], isset($menuItem->link['vars']) ? $menuItem->link['vars'] : null) : $menuItem->link;
echo "<li $active data-id='$menuItem->name'><a href='$link' $active>$menuItem->text</a></li>\n";
}
$customLink = helper::createLink('custom', 'menu', "module={$app->getModuleName()}&method={$app->getMethodName()}", '', true);
if(!commonModel::isTutorialMode()) echo "<li class='custom-item'><a href='$customLink' data-toggle='modal' data-type='iframe' title='$lang->customMenu' data-icon='cog' data-width='80%'><i class='icon icon-cog'></i></a></li>";
echo "<li class='custom-item'><a href='$customLink' data-toggle='modal' data-type='iframe' title='$lang->customMenu' data-icon='cog' data-width='80%'><i class='icon icon-cog'></i></a></li>";
echo "</ul>\n";
}
@@ -501,9 +446,9 @@ class commonModel extends model
}
/* get current module and method. */
$currentModule = $app->getModuleName();
$currentMethod = $app->getMethodName();
$menu = customModel::getModuleMenu($moduleName);
$currentModule = $app->getModuleName();
$currentMethod = $app->getMethodName();
$menu = customModel::getModuleMenu($moduleName);
/* The beginning of the menu. */
echo "<ul class='nav'>\n";
@@ -522,7 +467,7 @@ class commonModel extends model
$target = '';
$module = '';
$method = '';
$link = commonModel::createMenuLink($menuItem);
$link = is_array($menuItem->link) ? helper::createLink($menuItem->link['module'], $menuItem->link['method'], isset($menuItem->link['vars']) ? $menuItem->link['vars'] : '') : $menuItem->link;
if(is_array($menuItem->link))
{
if(isset($menuItem->link['subModule']))
@@ -1311,29 +1256,6 @@ class commonModel extends model
$httpHost = $_SERVER['HTTP_HOST'];
return "$httpType://$httpHost";
}
/**
* Check in novice mode.
*
* @static
* @access public
* @return bool
*/
public static function inNoviceMode()
{
global $config;
return (isset($config->global->novice) and $config->global->novice == 'true');
}
/**
* Check whether view type is tutorial
* @access public
* @return boolean
*/
public static function isTutorialMode()
{
return $_SESSION['tutorialMode'];
}
}
class common extends commonModel
-9
View File
@@ -27,15 +27,6 @@ function ajaxIgnoreBrowser(){$.get(createLink('misc', 'ajaxIgnoreBrowser'));}
$(function(){showBrowserNotice()});
</script>
<?php endif;?>
<?php if(!isset($config->global->novice) and $this->loadModel('misc')->checkNovice()):?>
<script>
novice = confirm('<?php echo $lang->misc->novice?>');
$.get(createLink('misc', 'ajaxSaveNovice', 'novice=' + (novice ? 'true' : 'false')), function()
{
if(novice) location.href=location.href;
});
</script>
<?php endif;?>
<?php
js::set('onlybody', $onlybody); // set the onlybody var.
+8 -22
View File
@@ -134,10 +134,9 @@ class customModel extends model
{
global $app, $lang, $config;
$isSetMenuConfig = isset($menuConfig);
$menu = array();
$order = 1;
$menuConfigMap = array();
$isTutorialMode = commonModel::isTutorialMode();
$menu = array();
$order = 1;
$menuConfigMap = array();
if($isSetMenuConfig)
{
@@ -152,17 +151,6 @@ class customModel extends model
$item->hidden = false;
$menuConfigMap[$item->name] = $item;
}
foreach($allMenu as $name => $item)
{
if(!isset($menuConfigMap[$name]))
{
$item = new stdclass();
$item->name = $name;
$item->hidden = true;
$item->order = $order++;
$menuConfigMap[$name] = $item;
}
}
}
else if(is_array($menuConfig))
{
@@ -197,8 +185,7 @@ class customModel extends model
$label = $link;
}
$hasPriv = commonModel::hasPriv($module, $method);
if($isTutorialMode || $hasPriv)
if(commonModel::hasPriv($module, $method))
{
$itemLink = '';
if($module && $method)
@@ -230,7 +217,6 @@ class customModel extends model
if($float) $menuItem->float = $float;
if($fixed) $menuItem->fixed = $fixed;
if($hidden) $menuItem->hidden = $hidden;
if($isTutorialMode) $menuItem->tutorial = true;
while(isset($menu[$menuItem->order])) { $menuItem->order++; }
$menu[$menuItem->order] = $menuItem;
@@ -256,8 +242,8 @@ class customModel extends model
if(empty($app->customMenu)) $app->customMenu = array();
if(!$rebuild && !empty($app->customMenu[$module])) return $app->customMenu[$module];
$menuConfig = commonModel::isTutorialMode() && $module === 'main' ? 'my,product,project,qa,company' : (isset($config->menucustom->$module) ? $config->menucustom->$module : array());
if(!empty($menuConfig) && is_string($menuConfig) && substr($menuConfig, 0, 1) === '[') $menuConfig = json_decode($menuConfig);
$menuConfig = isset($config->menucustom->$module) ? $config->menucustom->$module : array();
if(!empty($menuConfig)) $menuConfig = json_decode($menuConfig);
$allMenu = $module == 'main' ? $lang->menu : (isset($lang->$module->menu) ? $lang->$module->menu : $lang->my->menu);
if($module == 'product' and isset($allMenu->branch)) $allMenu->branch = str_replace('@branch@', $lang->custom->branch, $allMenu->branch);
@@ -293,8 +279,8 @@ class customModel extends model
$configKey = 'feature_' . $module . '_' . $method;
$allMenu = isset($lang->$module->featurebar[$method]) ? $lang->$module->featurebar[$method] : null;
$menuConfig = '';
if(!commonModel::isTutorialMode() && isset($config->menucustom->$configKey)) $menuConfig = $config->menucustom->$configKey;
if(!empty($menuConfig) && is_string($menuConfig)) $menuConfig = json_decode($menuConfig);
if(isset($config->menucustom->$configKey)) $menuConfig = $config->menucustom->$configKey;
if(!empty($menuConfig)) $menuConfig = json_decode($menuConfig);
return $allMenu ? self::buildMenuConfig($allMenu, $menuConfig) : null;
}
-13
View File
@@ -198,19 +198,6 @@ class misc extends control
$this->loadModel('setting')->setItem($this->app->user->account . '.common.global.browserNotice', 'true');
}
/**
* Ajax save novice result.
*
* @param string $novice
* @access public
* @return void
*/
public function ajaxSaveNovice($novice = 'true', $reload = 'false')
{
$this->loadModel('setting')->setItem($this->app->user->account . '.common.global.novice', $novice);
if($reload == 'true') die(js::reload('parent'));
}
/**
* Show version feature
* @access public
-19
View File
@@ -42,23 +42,4 @@ class miscModel extends model
}
return $tables;
}
/**
* Check novice.
*
* @access public
* @return bool
*/
public function checkNovice()
{
$account = $this->app->user->account;
if($account == 'guest') return false;
$count = $this->dao->select('count(*) as count')->from(TABLE_ACTION)->where('actor')->eq($account)->fetch('count');
if($count < 10) return true;
$this->loadModel('setting')->setItem($account . '.common.global.nevice', 'false');
return false;
}
}
+2 -1
View File
@@ -1,2 +1,3 @@
.input-group .datepicker-wrapper{width: 110px!important;}
.input-group .datepicker-wrapper .form-control {max-width: 110px; line-height: 25px}
.input-group .datepicker-wrapper .form-control {max-width: 110px; line-height: 25px; height: 26px!important}
.input-group-btn {float: left}
+1 -1
View File
@@ -120,10 +120,10 @@
$actionLink = $this->createLink('todo', 'import2Today');
echo "<div class='input-group'>";
echo "<div class='datepicker-wrapper datepicker-date'>" . html::input('date', date('Y-m-d'), "class='form-control form-date'") . '</div>';
echo '</div>';
echo "<span class='input-group-btn'>";
echo html::commonButton($lang->todo->import, "onclick=\"setFormAction('$actionLink')\"");
echo '</span>';
echo '</div>';
}
?>
</div>
+1 -1
View File
@@ -56,7 +56,7 @@ foreach(explode(',', $showFields) as $field)
<td><?php echo html::input("orders[$productID]", $products[$productID]->order, "class='form-control'");?></td>
</tr>
<?php endforeach;?>
<tr><td colspan='<?php echo count($hasFields) + 3?>' class='text-center'><?php echo html::submitButton();?></td></tr>
<tr><td colspan='<?php echo count($hasFields) + 4?>' class='text-center'><?php echo html::submitButton();?></td></tr>
</table>
</form>
<?php $customLink = $this->createLink('custom', 'ajaxSaveCustom', 'module=product&section=custom&key=batchedit')?>
+1 -1
View File
@@ -73,7 +73,7 @@ $minWidth = (count($hasFields) > 5) ? 'w-150px' : '';
<td><?php echo html::input("orders[$projectID]", $projects[$projectID]->order, "class='form-control' autocomplete='off'")?></td>
</tr>
<?php endforeach;?>
<tr><td colspan='<?php echo count($hasFields) + 5?>' class='text-center'><?php echo html::submitButton();?></td></tr>
<tr><td colspan='<?php echo count($hasFields) + 6?>' class='text-center'><?php echo html::submitButton();?></td></tr>
</table>
</form>
<?php $customLink = $this->createLink('custom', 'ajaxSaveCustom', 'module=project&section=custom&key=batchedit')?>
+1 -1
View File
@@ -70,7 +70,7 @@ foreach(explode(',', $showFields) as $field)
<td><?php echo html::input("title[$i]", '', "class='form-control'");?></td>
<td><?php echo html::select("type[$i]", $lang->testcase->typeList, $type, "class=form-control");?></td>
<td class='<?php echo zget($hasFields, 'pri', 'hidden')?>'> <?php echo html::select("pri[$i]", $lang->testcase->priList, $pri, "class=form-control");?></td>
<td class='<?php echo zget($hasFields, 'precondition', 'hidden')?>'><?php echo html::textarea("precondition[$i]", '', "class='form-control'")?></td>
<td class='<?php echo zget($hasFields, 'precondition', 'hidden')?>'><?php echo html::textarea("precondition[$i]", '', "rows='1' class='form-control autosize'")?></td>
<td class='<?php echo zget($hasFields, 'keywords', 'hidden')?>'> <?php echo html::input("keywords[$i]", '', "class='form-control'");?></td>
<td class='text-left<?php echo zget($hasFields, 'stage', ' hidden')?>' style='overflow:visible'><?php echo html::select("stage[$i][]", $lang->testcase->stageList, '', "class='form-control chosen' multiple");?></td>
</tr>
+1 -1
View File
@@ -61,7 +61,7 @@ foreach(explode(',', $showFields) as $field)
<td class='text-left<?php echo zget($hasFields, 'module', ' hidden')?>' style='overflow:visible'><?php echo html::select("modules[$caseID]", $modules, $cases[$caseID]->module, "class='form-control chosen'");?></td>
<td title='<?php echo $cases[$caseID]->title?>'><?php echo html::input("titles[$caseID]", $cases[$caseID]->title, 'class=form-control'); echo "<span class='star'>*</span>";?></td>
<td><?php echo html::select("types[$caseID]", $typeList, $cases[$caseID]->type, 'class=form-control');?></td>
<td class='<?php echo zget($hasFields, 'precondition', 'hidden')?>'><?php echo html::textarea("precondition[$caseID]", $cases[$caseID]->precondition, "class='form-control'")?></td>
<td class='<?php echo zget($hasFields, 'precondition', 'hidden')?>'><?php echo html::textarea("precondition[$caseID]", $cases[$caseID]->precondition, "rows='1' class='form-control autosize'")?></td>
<td class='<?php echo zget($hasFields, 'keywords', 'hidden')?>'> <?php echo html::input("keywords[$caseID]", $cases[$caseID]->keywords, "class='form-control'");?></td>
<td class='text-left<?php echo zget($hasFields, 'stage', ' hidden')?>' style='overflow:visible'><?php echo html::select("stages[$caseID][]", $lang->testcase->stageList, $cases[$caseID]->stage, "class='form-control chosen' multiple data-placeholder='{$lang->testcase->stage}'");?></td>
</tr>
+2 -2
View File
@@ -48,8 +48,8 @@
<td>
<table class='fix-border fix-position'>
<tr>
<td><?php echo html::textarea("reals[$step->id]", '', "rows=2 class='form-control fix-textarea'");?></td>
<td><button type='button' title='<?php echo $lang->testtask->files?>' class='btn btn-file' data-toggle='modal' data-target='#fileModal<?php echo $step->id?>'><i class='icon icon-paper-clip'></i></button></td>
<td><?php echo html::textarea("reals[$step->id]", '', "rows=1 class='form-control autosize'");?></td>
<td><button type='button' title='<?php echo $lang->testtask->files?>' class='btn' data-toggle='modal' data-target='#fileModal<?php echo $step->id?>'><i class='icon icon-paper-clip'></i></button></td>
</tr>
</table>
</td>
+1
View File
@@ -81,6 +81,7 @@ class tutorial extends control
public function wizard($module, $method, $params = '')
{
define('WIZARD', true);
$params = helper::safe64Decode($params);
if($_POST)
{
die();
+11 -7
View File
@@ -9,6 +9,7 @@
* @version $Id: zh-cn.php 5116 2013-07-12 06:37:48Z sunhao@cnezsoft.com $
* @link http://www.zentao.net
*/
$lang->tutorial = new stdclass();
$lang->tutorial->common = 'Novice tutorial';
$lang->tutorial->desc = 'Learn zentao through a series of tasks. This may cost you 10 minutes, you can quit anytime.';
@@ -24,25 +25,28 @@ $lang->tutorial->openTargetPage = 'Open <strong class="task-page-name">target<
$lang->tutorial->atTargetPage = 'In <strong class="task-page-name">target</strong> page';
$lang->tutorial->reloadTargetPage = 'Reload target page';
$lang->tutorial->target = 'Target';
$lang->tutorial->tagetPageTip = 'Open【%s】page by this instruction';
$lang->tutorial->targetPageTip = 'Open【%s】page by this instruction';
$lang->tutorial->requiredTip = '【%s】is necessary';
$lang->tutorial->congratulateTask = 'Congratulations!You have finished task【<span class="task-name-current"></span>】!';
$lang->tutorial->serverErrorTip = 'Some error has occurred.';
$lang->tutorial->tasks = array();
$lang->tutorial->tasks['createAccount'] = array('title' => 'Create a account');
$lang->tutorial->tasks['createAccount']['nav'] = array('module' => 'user', 'method' => 'create', 'menuModule' => 'company', 'menu' => 'addUser', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => 'Add User');
$lang->tutorial->tasks['createAccount']['desc'] = "<p>Create a new account in Zentao:</p><ul><li data-target='nav'>Open <span class='task-nav'>Company <i class='icon icon-angle-right'></i> Users<i class='icon icon-angle-right'></i> Add User;</span></li><li data-target='form'>Fill in the form with new user information;</li><li data-target='submit'>Save user information.</li></ul>";
$lang->tutorial->tasks['createAccount']['desc'] = "<p>Create a new account in Zentao:</p><ul><li data-target='nav'>Open <span class='task-nav'>Company <i class='icon icon-angle-right'></i> Users<i class='icon icon-angle-right'></i> Add User;</span></li><li data-target='form'>Fill the form with user information;</li><li data-target='submit'>Save user information.</li></ul>";
$lang->tutorial->tasks['createProduct'] = array('title' => 'Create a product');
$lang->tutorial->tasks['createProduct']['nav'] = array('module' => 'product', 'method' => 'create', 'menu' => 'create', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => 'Product');
$lang->tutorial->tasks['createProduct']['desc'] = "<p>Create a new product:</p><ul><li data-target='nav'>Open <span class='task-nav'>Product <i class='icon icon-angle-right'></i> New;</span></li><li data-target='form'>Fill in the form with new product information;</li><li data-target='submit'>Save product information.</li></ul>";
$lang->tutorial->tasks['createProduct']['desc'] = "<p>Create a new product:</p><ul><li data-target='nav'>Open <span class='task-nav'>Product <i class='icon icon-angle-right'></i> New;</span></li><li data-target='form'>Fill the form with product information;</li><li data-target='submit'>Save product information.</li></ul>";
$lang->tutorial->tasks['createStory'] = array('title' => 'Create a story');
$lang->tutorial->tasks['createStory']['nav'] = array('module' => 'story', 'method' => 'create', 'menuModule' => 'product', 'menu' => 'story', 'target' => '.create-story-btn', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => 'Create Story');
$lang->tutorial->tasks['createStory']['desc'] = "<p>Create a new story:</p><ul><li data-target='nav'>Open <span class='task-nav'>Product <i class='icon icon-angle-right'></i>Story <i class='icon icon-angle-right'></i>Create;</span></li><li data-target='form'>Fill in the form with new story information;</li><li data-target='submit'>Save story information.</li></ul>";
$lang->tutorial->tasks['createStory']['desc'] = "<p>Create a new story:</p><ul><li data-target='nav'>Open <span class='task-nav'>Product <i class='icon icon-angle-right'></i>Story <i class='icon icon-angle-right'></i>Create;</span></li><li data-target='form'>Fill the form with story information;</li><li data-target='submit'>Save story information.</li></ul>";
$lang->tutorial->tasks['createProject'] = array('title' => 'Create a project');
$lang->tutorial->tasks['createProject']['nav'] = array('module' => 'project', 'method' => 'create', 'menu' => 'create', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => 'Create Project');
$lang->tutorial->tasks['createProject']['desc'] = "<p>Create a new project:</p><ul><li data-target='nav'>Open <span class='task-nav'> Project <i class='icon icon-angle-right'></i> New</span> Page;</li><li data-target='form'>Fill in the form with new project information;</li><li data-target='submit'>Save project information.</li></ul>";
$lang->tutorial->tasks['createProject']['desc'] = "<p>Create a new project:</p><ul><li data-target='nav'>Open <span class='task-nav'> Project <i class='icon icon-angle-right'></i> New</span> Page;</li><li data-target='form'>Fill the form with project information;</li><li data-target='submit'>Save project information.</li></ul>";
$lang->tutorial->tasks['linkStory'] = array('title' => 'Link story');
$lang->tutorial->tasks['linkStory']['nav'] = array('module' => 'project', 'method' => 'linkStory', 'menu' => 'story', 'target' => '.link-story-btn', 'form' => '#linkStoryForm', 'formType' => 'table', 'submit' => '#submit', 'targetPageName' => 'Link Story');
@@ -50,8 +54,8 @@ $lang->tutorial->tasks['linkStory']['desc'] = "<p>Link stories to project:</p><u
$lang->tutorial->tasks['createTask'] = array('title' => 'Divide tasks');
$lang->tutorial->tasks['createTask']['nav'] = array('module' => 'task', 'method' => 'create', 'menuModule' => 'project', 'menu' => 'story', 'target' => '.btn-task-create', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => 'Create Task');
$lang->tutorial->tasks['createTask']['desc'] = "<p>Divide tasks for story which linked to project.</p><ul><li data-target='nav'>Open <span class='task-nav'> Project <i class='icon icon-angle-right'></i> Story <i class='icon icon-angle-right'></i> WBS;</span></li><li data-target='form'>Fill in the form with new task information;</li><li data-target='submit'>Save task information.</li></ul>";
$lang->tutorial->tasks['createTask']['desc'] = "<p>Divide tasks for story.</p><ul><li data-target='nav'>Open <span class='task-nav'> Project <i class='icon icon-angle-right'></i> Story <i class='icon icon-angle-right'></i> WBS;</span></li><li data-target='form'>Fill the form with task information;</li><li data-target='submit'>Save task information.</li></ul>";
$lang->tutorial->tasks['createBug'] = array('title' => 'Create a bug');
$lang->tutorial->tasks['createBug']['nav'] = array('module' => 'bug', 'method' => 'create', 'menuModule' => 'qa', 'menu' => 'bug', 'target' => '.btn-bug-create', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => 'Create Bug');
$lang->tutorial->tasks['createBug']['desc'] = "<p>Create a new Bug:</p><ul><li data-target='nav'>Open <span class='task-nav'> Test <i class='icon icon-angle-right'></i> Bug <i class='icon icon-angle-right'></i> Create Bug</span>;</li><li data-target='form'>Fill in the form with new bug information:</li><li data-target='submit'>Save Bug information.</li></ul>";
$lang->tutorial->tasks['createBug']['desc'] = "<p>Create a new Bug:</p><ul><li data-target='nav'>Open <span class='task-nav'> Test <i class='icon icon-angle-right'></i> Bug <i class='icon icon-angle-right'></i> Create Bug</span>;</li><li data-target='form'>Fill the form with bug information:</li><li data-target='submit'>Save Bug information.</li></ul>";
+2 -2
View File
@@ -19,9 +19,9 @@ class user extends control
* @access public
* @return void
*/
public function __construct()
public function __construct($module = '', $method = '')
{
parent::__construct();
parent::__construct($module, $method);
$this->loadModel('company')->setMenu();
$this->loadModel('dept');
$this->loadModel('todo');
+1 -1
View File
@@ -285,7 +285,7 @@ class userModel extends model
$data[$i]->gender = $users->gender[$i];
$data[$i]->password = md5($users->password[$i]);
$data[$i]->commiter = $users->commiter[$i];
$data[$i]->join = $users->join[$i];
$data[$i]->join = empty($users->join[$i]) ? '0000-00-00' : ($user->join[$i]);
$data[$i]->skype = $users->skype[$i];
$data[$i]->qq = $users->qq[$i];
$data[$i]->yahoo = $users->yahoo[$i];
+1 -1
View File
@@ -9,7 +9,7 @@
* @version $Id: login.html.php 5084 2013-07-10 01:31:38Z wyd621@gmail.com $
*/
include '../../common/view/header.lite.html.php';
js::import($jsRoot . 'md5.js');
if(!empty($config->safe->md5Pwd))js::import($jsRoot . 'md5.js');
?>
<div id='container'>
<div id='login-panel'>