* code for handle confilct

This commit is contained in:
guofeilong
2023-02-02 09:22:28 +08:00
31 changed files with 118 additions and 66 deletions
+1
View File
@@ -57,6 +57,7 @@ $config->admin->plugIns[30]->viewLink = 'https://www.zentao.net/extension-viewEx
$config->admin->apiRoot = 'https://www.zentao.net/';
$config->admin->classURL = 'https://www.zentao.net/publicclass.html';
$config->admin->extensionURL = 'https://www.zentao.net/extension-browse.html';
$config->admin->liteMenuList = array('system', 'user', 'feature', 'message', 'extension', 'dev');
$config->admin->helpURL['system'] = 'https://www.zentao.net/book/zentaopms/538.html';
$config->admin->helpURL['user'] = 'https://www.zentao.net/book/zentaopms/538.html';
+1
View File
@@ -16,6 +16,7 @@
.settings-list > .setting-box.btn[disabled] > a {pointer-events: none;}
.settings-list > .setting-box > h4 > img {padding-right: 10px; padding-bottom: 3px;}
.settings-list > .setting-box > .setting-desc {padding-bottom: 16px;}
.settings-list.lite-setting > .setting-box {flex: 1 1 30%;}
.plugin-list {display: flex; flex-wrap: wrap; padding: 12px 4px 4px 4px;}
.plugin-list > .plugin-item {flex: 1 1 26%; padding: 16px 10px; border: 1px solid #EDEEF2; border-radius: 4px; margin-right: 10px; margin-bottom: 16px; width: 0px;}
+20 -10
View File
@@ -120,16 +120,6 @@ $lang->admin->menuList->dev['menuOrder']['10'] = 'db';
$lang->admin->menuList->dev['menuOrder']['15'] = 'editor';
$lang->admin->menuList->dev['menuOrder']['20'] = 'entry';
if($config->vision == 'lite')
{
unset($lang->admin->menuList->system['subMenu']['mode']);
unset($lang->admin->menuList->system['subMenu']['buildindex']);
unset($lang->admin->menuList->system['subMenu']['tableengine']);
unset($lang->admin->menuList->system['menuOrder']['5']);
unset($lang->admin->menuList->system['menuOrder']['45']);
unset($lang->admin->menuList->system['menuOrder']['50']);
}
if($config->edition != 'max') unset($lang->admin->menuList->model['subMenu']['scrum']);
if(!helper::hasFeature('waterfall'))
{
@@ -147,3 +137,23 @@ if($config->edition == 'max' and !helper::hasFeature('scrum_auditplan'))
unset($lang->admin->menuList->model['subMenu']['scrum']);
}
}
if($config->vision == 'lite')
{
unset($lang->admin->menuList->system['subMenu']['mode']);
unset($lang->admin->menuList->system['subMenu']['buildindex']);
unset($lang->admin->menuList->system['subMenu']['tableengine']);
unset($lang->admin->menuList->system['menuOrder']['5']);
unset($lang->admin->menuList->system['menuOrder']['45']);
unset($lang->admin->menuList->system['menuOrder']['50']);
unset($lang->admin->menuList->model['subMenu']['scrum']);
unset($lang->admin->menuList->model['subMenu']['waterfall']);
unset($lang->admin->menuList->model['menuOrder']['10']);
unset($lang->admin->menuList->model['menuOrder']['15']);
unset($lang->admin->menuList->feature['subMenu']['execution']);
unset($lang->admin->menuList->feature['subMenu']['qa']);
unset($lang->admin->menuList->feature['menuOrder']['15']);
unset($lang->admin->menuList->feature['menuOrder']['20']);
}
+3 -2
View File
@@ -16,8 +16,9 @@
<div class="main <?php if(!$hasInternet) echo 'without-internet';?>">
<div class="settings panel">
<div class="panel-title"><?php echo $lang->admin->setting?></div>
<div class="settings-list">
<div class="settings-list <?php if($config->vision == 'lite') echo 'lite-setting';?>">
<?php foreach($lang->admin->menuList as $menuKey => $menu):?>
<?php if($config->vision == 'lite' and !in_array($menuKey, $config->admin->liteMenuList)) continue;?>
<button class="setting-box btn" <?php if($menu['disabled']) echo 'disabled';?> data-link='<?php echo $menu['link'];?>'>
<h4><img src="/static/svg/admin-<?php echo $menuKey;?>.svg"/><?php echo $menu['name'];?></h4>
<p class="text-muted setting-desc"><?php echo $menu['desc'];?></p>
@@ -80,7 +81,7 @@
</div>
<?php if($hasInternet and !$langNotCN):?>
<div class="side panel">
<div class="side panel hidden">
<div class="panel-title"><?php echo $lang->admin->zentaoInfo?></div>
</div>
<?php endif;?>
+6 -7
View File
@@ -93,12 +93,12 @@ class backup extends control
$backFileName = "{$this->backupPath}{$fileName}.sql";
if(!$nosafe) $backFileName .= '.php';
$result = $this->backup->backSQL($backFileName);
if(!$result->result)
{
if($reload == 'yes')
{
echo js::alert(sprintf($this->lang->backup->error->noWritable, $this->backupPath));
return print(js::reload('parent'));
return print(sprintf($this->lang->backup->error->noWritable, $this->backupPath));
}
else
{
@@ -112,12 +112,12 @@ class backup extends control
$backFileName = "{$this->backupPath}{$fileName}.file";
$result = $this->backup->backFile($backFileName);
if(!$result->result)
{
if($reload == 'yes')
{
echo js::alert(sprintf($this->lang->backup->error->backupFile, $result->error));
return print(js::reload('parent'));
return print(sprintf($this->lang->backup->error->backupFile, $result->error));
}
else
{
@@ -132,8 +132,7 @@ class backup extends control
{
if($reload == 'yes')
{
echo js::alert(sprintf($this->lang->backup->error->backupCode, $result->error));
return print(js::reload('parent'));
return print(sprintf($this->lang->backup->error->backupCode, $result->error));
}
else
{
@@ -164,7 +163,7 @@ class backup extends control
}
}
if($reload == 'yes') return print(js::reload('parent'));
if($reload == 'yes') return print($this->lang->backup->success->backup);
echo $this->lang->backup->success->backup . "\n";
}
+25 -1
View File
@@ -2,9 +2,32 @@ $(function()
{
$('.backup').click(function()
{
var timeID = null;
$.ajax({
url: $(this).attr('data-link'),
success: function(data)
{
clearInterval(timeID);
$('#waitting .modal-body #message').append(data);
setTimeout(function(){return location.reload();}, 2000);
},
error: function(request, textstatus, error)
{
clearInterval(timeID);
if(textstatus == 'timeout') $('#waitting .modal-body #message').append("<p class='text-danger'>" + backupTimeout + '</p>');
setTimeout(function(){return location.reload();}, 2000);
}
});
$('#waitting .modal-body #backupType').html(backup);
$('#waitting').modal('show');
setInterval(function()
timeID = setInterval(function()
{
$.get(createLink('backup', 'ajaxGetProgress'), function(data)
{
@@ -12,6 +35,7 @@ $(function()
});
}, 1000);
})
$('.rmPHPHeader').click(function()
{
$('#waitting .modal-body #backupType').html(rmPHPHeader);
+1
View File
@@ -48,3 +48,4 @@ $lang->backup->error->restoreSQL = "Datenbankwiederherstellung fehlgeschlagen.
$lang->backup->error->restoreFile = "Dateiwiederherstellung fehlgeschlagen. Error: %s.";
$lang->backup->error->backupFile = "Dateibackup fehlgeschlagen. Error: %s.";
$lang->backup->error->backupCode = "Codebackup fehlgeschlagen. Error: %s.";
$lang->backup->error->timeout = "Backup timeout.";
+1
View File
@@ -48,3 +48,4 @@ $lang->backup->error->restoreSQL = "Failed to restore the database library. Err
$lang->backup->error->restoreFile = "Failed to restore the file. Error %s.";
$lang->backup->error->backupFile = "Failed to back up the file. Error %s.";
$lang->backup->error->backupCode = "Failed to back up the code. Error %s.";
$lang->backup->error->timeout = "Backup timeout.";
+1
View File
@@ -48,3 +48,4 @@ $lang->backup->error->restoreSQL = "Echec pour restaurer la database library. E
$lang->backup->error->restoreFile = "Echec pour restaurer le fichier. Erreur %s.";
$lang->backup->error->backupFile = "Echec pour sauvegarder le fichier. Erreur %s.";
$lang->backup->error->backupCode = "Echec pour sauvegarder le code. Erreur %s.";
$lang->backup->error->timeout = "Backup timeout.";
+1
View File
@@ -48,3 +48,4 @@ $lang->backup->error->restoreSQL = "数据库还原失败,错误:%s";
$lang->backup->error->restoreFile = "附件还原失败,错误:%s";
$lang->backup->error->backupFile = "附件备份失败,错误:%s";
$lang->backup->error->backupCode = "代码备份失败,错误:%s";
$lang->backup->error->timeout = "备份超时";
+8 -1
View File
@@ -27,7 +27,13 @@
</h2>
<div class='pull-right'>
<?php common::printLink('backup', 'setting', '', "<i class='icon icon-cog'></i> " . $lang->backup->setting, '', "data-width='500' class='iframe btn btn-primary'");?>
<?php common::printLink('backup', 'backup', 'reload=yes', "<i class='icon icon-copy'></i> " . $lang->backup->backup, 'hiddenwin', "class='btn btn-primary backup'");?>
<?php
if(common::hasPriv('backup', 'backup'))
{
$backupLink = helper::createLink('backup', 'backup', 'reload=yes');
echo html::commonButton("<i class='icon icon-copy'> </i>" . $lang->backup->backup, "data-link='{$backupLink}'", 'btn btn-primary backup');
}
?>
</div>
</div>
<table class='table table-condensed table-bordered active-disabled table-fixed'>
@@ -114,4 +120,5 @@
<?php js::set('rmPHPHeader', $lang->backup->rmPHPHeader);?>
<?php js::set('confirmRestore', $lang->backup->confirmRestore);?>
<?php js::set('restore', $lang->backup->restore);?>
<?php js::set('backupTimeout', $lang->backup->error->timeout);?>
<?php include '../../common/view/footer.html.php';?>
+1 -1
View File
@@ -541,7 +541,7 @@ class doc extends control
$this->view->doc = $doc;
$this->view->moduleOptionMenu = $this->tree->getOptionMenu($libID, 'doc', $startModuleID = 0);
$this->view->type = $type;
$this->view->libs = $this->doc->getLibs('all', $extra = 'withObject|noBook', $libID, $objectID);
$this->view->libs = $this->doc->getLibs('all', 'withObject', $libID, $objectID, 'book');
$this->view->lib = $lib;
$this->view->groups = $this->loadModel('group')->getPairs();
$this->view->users = $this->user->getPairs('noletter|noclosed|nodeleted', $doc->users);
+1 -1
View File
@@ -296,7 +296,7 @@
$(function()
{
var simplemde = new SimpleMDE({element: $("#markdownContent")[0],toolbar:false, status: false});
//simplemde.value(String(markdownText));
simplemde.value(String(markdownText));
simplemde.togglePreview();
$('#content .CodeMirror .editor-preview a').attr('target', '_blank');
+1 -1
View File
@@ -249,7 +249,7 @@ js::set('docID', $doc->id);
$(function()
{
var simplemde = new SimpleMDE({element: $("#markdownContent")[0],toolbar:false, status: false});
//simplemde.value(String(markdownText));
simplemde.value(String(markdownText));
simplemde.togglePreview();
$('#content .CodeMirror .editor-preview a').attr('target', '_blank');
+1 -1
View File
@@ -213,7 +213,7 @@ class group extends control
if(dao::isError()) return $this->send(array('result' => 'fail', 'message' => dao::getError()));
if($type == 'byGroup') return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'reload'));
if($type == 'byModule') return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'window.parent.location.reload()'));
if($type == 'byModule') return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'parent'));
}
if($type == 'byGroup')
+1 -1
View File
@@ -18,7 +18,7 @@
</h2>
</div>
<form class='table-bymodule pdb-20' method='post' target='hiddenwin'>
<form class='table-bymodule pdb-20 form-ajax' method='post' target='hiddenwin'>
<table class='table table-form'>
<tr class='text-center'>
<td class='strong'><?php echo $lang->group->module;?></td>
+2 -2
View File
@@ -324,14 +324,14 @@ class programplanModel extends model
if($stage['planID'] == $task->execution)
{
$stageIndex[$index]['progress']['totalEstimate'] += $task->estimate;
$stageIndex[$index]['progress']['totalConsumed'] += $task->consumed;
$stageIndex[$index]['progress']['totalConsumed'] += $task->parent == '-1' ? 0 : $task->consumed;
$stageIndex[$index]['progress']['totalReal'] += ($task->left + $task->consumed);
$parent = $stage['parent'];
if(isset($stageIndex[$parent]))
{
$stageIndex[$parent]['progress']['totalEstimate'] += $task->estimate;
$stageIndex[$parent]['progress']['totalConsumed'] += $task->consumed;
$stageIndex[$parent]['progress']['totalConsumed'] += $task->parent == '-1' ? 0 : $task->consumed;
$stageIndex[$parent]['progress']['totalReal'] += ($task->left + $task->consumed);
}
}
+1 -1
View File
@@ -734,7 +734,7 @@ $(function()
gantt.showDate(new Date());
// Show task in modal on click task
var taskModalTrigger = new $.zui.ModalTrigger({type: 'iframe', width: '80%'});
var taskModalTrigger = new $.zui.ModalTrigger({type: 'iframe', width: '95%'});
gantt.attachEvent('onTaskClick', function(id, e)
{
if($(e.srcElement).hasClass('gantt_close') || $(e.srcElement).hasClass('gantt_open')) return false;
+5 -3
View File
@@ -2274,13 +2274,15 @@ class projectModel extends model
}
break;
case 'name':
$prefix = '';
$suffix = '';
$prefix = '';
$suffix = '';
$projectIcon = '';
if(isset($project->delay)) $suffix = "<span class='label label-danger label-badge'>{$this->lang->project->statusList['delay']}</span>";
$projectType = $project->model == 'scrum' ? 'sprint' : $project->model;
if(!empty($suffix) or !empty($prefix)) echo '<div class="project-name' . (empty($prefix) ? '' : ' has-prefix') . (empty($suffix) ? '' : ' has-suffix') . '">';
if(!empty($prefix)) echo $prefix;
echo html::a($projectLink, "<i class='text-muted icon icon-{$projectType}'></i> " . $project->name, '', "class='text-ellipsis text-primary'");
if($this->config->vision == 'rnd') $projectIcon = "<i class='text-muted icon icon-{$projectType}'></i> ";
echo html::a($projectLink, $projectIcon . $project->name, '', "class='text-ellipsis text-primary'");
if(!empty($suffix)) echo $suffix;
if(!empty($suffix) or !empty($prefix)) echo '</div>';
break;
+1 -1
View File
@@ -45,7 +45,7 @@
<?php endif;?>
<tr>
<th><?php echo $lang->release->includedBuild;?></th>
<td id='buildBox'><?php echo html::select('build[]', $builds, '', "class='form-control chosen' multiple data-placeholder='{$lang->build->placeholder->multipleSelect}'");?></td>
<td id='buildBox'><?php echo html::select('build[]', $builds, '', "class='form-control picker-select' multiple data-placeholder='{$lang->build->placeholder->multipleSelect}'");?></td>
<td>
<div class="checkbox-primary">
<input type="checkbox" name="sync" value="1" id="sync" checked>
+1 -1
View File
@@ -33,7 +33,7 @@
</tr>
<tr>
<th><?php echo $lang->release->includedBuild;?></th>
<td><?php echo html::select('build[]', $builds, '', "class='form-control chosen' multiple data-placeholder='{$lang->build->placeholder->multipleSelect}'");?></td>
<td><?php echo html::select('build[]', $builds, '', "class='form-control picker-select' multiple data-placeholder='{$lang->build->placeholder->multipleSelect}'");?></td>
<td>
<div class="checkbox-primary">
<input type="checkbox" name="sync" value="1" id="sync" checked>
+4 -10
View File
@@ -675,13 +675,10 @@ class searchModel extends model
$typeCount = $this->dao->select("objectType, count(*) as objectCount")
->from(TABLE_SEARCHINDEX)
->where('((vision')->eq($this->config->vision)
->beginIF(!empty($allowedObject))->andWhere('objectType')->in($allowedObject)->fi()
->andWhere('objectType')->in($allowedObject)
->markRight(1)
->beginIF(!empty($filterObject))
->orWhere('(objectType')->in($filterObject)
->markRight(1)
->fi()
->markRight(1)
->markRight(2)
->andWhere('addedDate')->le(helper::now())
->groupBy('objectType')
->fetchPairs('objectType', 'objectCount');
@@ -717,13 +714,10 @@ class searchModel extends model
->from(TABLE_SEARCHINDEX)
->where("(MATCH(title,content) AGAINST('{$againstCond}' IN BOOLEAN MODE) >= 1 {$likeCondition})")
->andWhere('((vision')->eq($this->config->vision)
->beginIF(!empty($allowedObject))->andWhere('objectType')->in($allowedObject)->fi()
->andWhere('objectType')->in($allowedObject)
->markRight(1)
->beginIF(!empty($filterObject))
->orWhere('(objectType')->in($filterObject)
->markRight(1)
->fi()
->markRight(1)
->markRight(2)
->andWhere('addedDate')->le(helper::now())
->orderBy('score_desc, editedDate_desc')
->query();
+3 -1
View File
@@ -341,6 +341,7 @@ class story extends control
$verify = htmlSpecialString($story->verify);
$keywords = $story->keywords;
$mailto = $story->mailto;
$category = $story->category;
}
if($bugID > 0)
@@ -475,6 +476,7 @@ class story extends control
$this->view->URS = $storyType == 'story' ? $this->story->getProductStoryPairs($productID, $branch, $moduleIdList, 'changing,active,reviewing', 'id_desc', 0, '', 'requirement') : '';
$this->view->needReview = ($this->app->user->account == $product->PO or $objectID > 0 or $this->config->story->needReview == 0 or !$this->story->checkForceReview()) ? "checked='checked'" : "";
$this->view->type = $storyType;
$this->view->category = $category ? $category : 'feature';
$this->display();
}
@@ -2282,7 +2284,7 @@ class story extends control
}
else
{
return print(js::closeModal('parent.parent', 'this', 'function(){parent.parent.$(\'[data-ride="searchList"]\').searchList();}'));
return print(js::reload('parent.parent'));
}
}
return print(js::locate($this->createLink('story', 'view', "storyID=$storyID&version=0&param=0&storyType=$storyType"), 'parent'));
+1 -1
View File
@@ -265,7 +265,7 @@ foreach(explode(',', $config->story->create->requiredFields) as $field)
<div class="table-col categoryBox">
<div class="input-group">
<span class="input-group-addon fix-border br-0"><?php echo $lang->story->category;?></span>
<?php echo html::select('category', $lang->story->categoryList, 'feature', "class='form-control chosen'");?>
<?php echo html::select('category', $lang->story->categoryList, $category, "class='form-control chosen'");?>
</div>
</div>
<div class="table-col <?php echo $hiddenPri?> priBox">
@@ -24,15 +24,15 @@
</tr>
</thead>
<tbody>
<tr>
<?php foreach($changedStories as $story):?>
<td><?php echo $story->id;?></td>
<td><?php echo $story->title;?></td>
<td style='color: red'><?php echo $lang->story->changed;?></td>
<td><?php echo $story->version;?></td>
<td><?php echo zget($users, $story->openedBy);?></td>
<?php endforeach;?>
</tr>
<?php foreach($changedStories as $story):?>
<tr>
<td><?php echo $story->id;?></td>
<td><?php echo $story->title;?></td>
<td style='color: red'><?php echo $lang->story->changed;?></td>
<td><?php echo $story->version;?></td>
<td><?php echo zget($users, $story->openedBy);?></td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<div class="alert alert-info mg-0">
-3
View File
@@ -1479,9 +1479,6 @@ class taskModel extends model
return false;
}
$project = $this->loadModel('project')->getByID($oldTask->project);
if($project->model == 'waterfall') $this->config->task->edit->requiredFields .= ',estStarted,deadline';
foreach(explode(',', $this->config->task->edit->requiredFields) as $field)
{
$field = trim($field);
+8 -1
View File
@@ -998,7 +998,14 @@ class testcase extends control
if($case->module) $moduleIdList = $this->tree->getAllChildID($case->module);
$moduleIdList = (!in_array($this->app->tab, array('execution', 'project')) and empty($stories)) ? 0 : $moduleIdList;
$stories = $this->story->getProductStoryPairs($productID, $case->branch, $moduleIdList, 'all','id_desc', 0, 'full', 'story', false);
if($this->app->tab == 'execution')
{
$stories = $this->story->getExecutionStoryPairs($case->execution, $productID, $case->branch, $moduleIdList);
}
else
{
$stories = $this->story->getProductStoryPairs($productID, $case->branch, $moduleIdList, 'all','id_desc', 0, 'full', 'story', false);
}
$this->view->productID = $productID;
$this->view->product = $product;
+1 -1
View File
@@ -538,7 +538,7 @@ class testtask extends control
$this->config->testcase->search['module'] = 'testtask';
$this->config->testcase->search['params']['product']['values'] = array($productID => $this->products[$productID], 'all' => $this->lang->testcase->allProduct);
$this->config->testcase->search['params']['module']['values'] = $this->loadModel('tree')->getOptionMenu($productID, $viewType = 'case');
$this->config->testcase->search['params']['status']['values'] = array('' => '') + $this->lang->testtask->statusList;
$this->config->testcase->search['params']['status']['values'] = array('' => '') + $this->lang->testcase->statusList;
$this->config->testcase->search['params']['lib']['values'] = $this->loadModel('caselib')->getLibraries();
$this->config->testcase->search['queryID'] = $queryID;
+1 -1
View File
@@ -1082,7 +1082,7 @@ class testtaskModel extends model
}
$caseQuery = preg_replace('/`(\w+)`/', 't2.`$1`', $caseQuery);
$caseQuery = str_replace(array('t2.`assignedTo`', 't2.`lastRunner`', 't2.`lastRunDate`', 't2.`lastRunResult`', 't2.`status`'), array('t1.`assignedTo`', 't1.`lastRunner`', 't1.`lastRunDate`', 't1.`lastRunResult`', 't1.`status`'), $caseQuery);
$caseQuery = str_replace(array('t2.`assignedTo`', 't2.`lastRunner`', 't2.`lastRunDate`', 't2.`lastRunResult`'), array('t1.`assignedTo`', 't1.`lastRunner`', 't1.`lastRunDate`', 't1.`lastRunResult`'), $caseQuery);
/* Select the table for these special fields. */
$specialFields = ',assignedTo,status,lastRunResult,lastRunner,lastRunDate,';
+7 -4
View File
@@ -58,7 +58,11 @@ if(isset($pageCSS)) css::internal($pageCSS);
<?php if($module->type != 'line'):?>
<tr <?php if($hidden) echo "style='display:none'";?>>
<th class='thWidth'><?php echo ($type == 'doc') ? $lang->tree->parentCate : $lang->tree->parent;?></th>
<td><?php echo html::select('parent', $optionMenu, $module->parent, "class='form-control chosen'");?></td>
<td>
<div class='input-group' id='moduleIdBox'>
<?php echo html::select('parent', $optionMenu, $module->parent, "class='form-control chosen'");?>
</div>
</td>
</tr>
<?php endif;?>
<tr <?php if($hidden) echo "style='display:none'";?>>
@@ -184,13 +188,12 @@ function loadModules(branch)
var productID = $('#root').val();
var branchID = $(branch).val();
var moduleID = $('#parent').val();
var moduleBox = $('#parent').closest('tr').children('td');
if(typeof(branchID) == 'undefined') branchID = 0;
if(typeof(moduleID) == 'undefined') moduleID = 0;
link = createLink('tree', 'ajaxGetOptionMenu', 'productID=' + productID + '&viewtype=' + type + '&branch=' + branchID + '&rootModuleID=0&returnType=html&fieldID=&needManage=true&extra=excludeModuleID=' + <?php echo $module->id;?> + ',noMainBranch,nodeleted&currentModuleID=' + moduleID);
$(moduleBox).load(link, function()
link = createLink('tree', 'ajaxGetOptionMenu', 'productID=' + productID + '&viewtype=' + type + '&branch=' + branchID + '&rootModuleID=0&returnType=html&fieldID=&needManage=false&extra=excludeModuleID=' + <?php echo $module->id;?> + ',noMainBranch,nodeleted&currentModuleID=' + moduleID);
$('#moduleIdBox').load(link, function()
{
$(this).children('select').attr('id', 'parent').attr('name', 'parent');
$(this).find('select').chosen()
+1 -1
View File
@@ -862,7 +862,7 @@ class userModel extends model
$_POST['password1'] = trim($_POST['password1']);
$_POST['password2'] = trim($_POST['password2']);
if(!$canNoPassword and empty($_POST['password1'])) dao::$errors['password1'][] = sprintf($this->lang->error->notempty, $this->lang->user->password) . '<br/>';
if(!$canNoPassword and $this->post->password1 != false)
if(!empty($_POST['password1']))
{
if(isset($this->config->safe->mode) and ($this->post->passwordStrength < $this->config->safe->mode)) dao::$errors['password1'][] = zget($this->lang->user->placeholder->passwordStrengthCheck, $this->config->safe->mode, $this->lang->user->weakPassword) . '<br/>';