Merge branch 'sprint/206_tianshujie_57895' into 'sprint/206'

Sprint/206 tianshujie 57895

See merge request easycorp/zentaopms!4026
This commit is contained in:
王怡栋
2022-06-20 09:11:50 +00:00
9 changed files with 162 additions and 55 deletions
+1
View File
@@ -186,6 +186,7 @@ $config->openMethods[] = 'user.login';
$config->openMethods[] = 'user.logout';
$config->openMethods[] = 'user.deny';
$config->openMethods[] = 'user.reset';
$config->openMethods[] = 'user.forgetpassword';
$config->openMethods[] = 'user.refreshrandom';
$config->openMethods[] = 'api.getsessionid';
$config->openMethods[] = 'misc.checktable';
+18
View File
@@ -355,4 +355,22 @@ class admin extends control
$this->dao->delete()->from(TABLE_LOG)->where('date')->lt($date)->exec();
return !dao::isError();
}
/**
* Reset password setting.
*
* @access public
* @return void
*/
public function resetPWDSetting()
{
if($_POST)
{
$this->loadModel('setting')->setItem('system.common.resetPWDByMail', $this->post->resetPWDByMail);
return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'reload'));
}
$this->view->title = $this->lang->admin->resetPWDSetting;
$this->display();
}
}
+29 -24
View File
@@ -9,23 +9,25 @@
* @version $Id: en.php 4460 2013-02-26 02:28:02Z chencongzhi520@gmail.com $
* @link http://www.zentao.net
*/
$lang->admin->index = 'Admin Home';
$lang->admin->checkDB = 'Check Database';
$lang->admin->sso = 'Zdoo';
$lang->admin->ssoAction = 'Link Zdoo';
$lang->admin->safeIndex = 'Security';
$lang->admin->checkWeak = 'Check Weak Password';
$lang->admin->certifyMobile = 'Verify your cellphone';
$lang->admin->certifyEmail = 'Verify your Email';
$lang->admin->ztCompany = 'Verify your company';
$lang->admin->captcha = 'Verification Code';
$lang->admin->getCaptcha = 'Send Verification Code';
$lang->admin->register = 'Register';
$lang->admin->index = 'Admin Home';
$lang->admin->checkDB = 'Check Database';
$lang->admin->sso = 'Zdoo';
$lang->admin->ssoAction = 'Link Zdoo';
$lang->admin->safeIndex = 'Security';
$lang->admin->checkWeak = 'Check Weak Password';
$lang->admin->certifyMobile = 'Verify your cellphone';
$lang->admin->certifyEmail = 'Verify your Email';
$lang->admin->ztCompany = 'Verify your company';
$lang->admin->captcha = 'Verification Code';
$lang->admin->getCaptcha = 'Send Verification Code';
$lang->admin->register = 'Register';
$lang->admin->resetPWDSetting = 'Reset password Setting';
$lang->admin->api = 'API';
$lang->admin->log = 'Log';
$lang->admin->setting = 'Setting';
$lang->admin->days = 'Valid Day';
$lang->admin->api = 'API';
$lang->admin->log = 'Log';
$lang->admin->setting = 'Setting';
$lang->admin->days = 'Valid Day';
$lang->admin->resetPWDByMail = 'Reset the password through the email';
$lang->admin->info = new stdclass();
$lang->admin->info->version = 'Current Version is %s. ';
@@ -53,14 +55,14 @@ $lang->admin->bind->caption = 'Link Account';
$lang->admin->bind->success = "Account is linked!";
$lang->admin->safe = new stdclass();
$lang->admin->safe->common = 'Security Policy';
$lang->admin->safe->set = 'Password Settings';
$lang->admin->safe->password = 'Password Strength';
$lang->admin->safe->weak = 'Common Weak Passwords';
$lang->admin->safe->reason = 'Type';
$lang->admin->safe->checkWeak = 'Weak Password Scan';
$lang->admin->safe->changeWeak = 'Force to change weak password';
$lang->admin->safe->loginCaptcha = 'Login using CAPTCHA';
$lang->admin->safe->common = 'Security Policy';
$lang->admin->safe->set = 'Password Settings';
$lang->admin->safe->password = 'Password Strength';
$lang->admin->safe->weak = 'Common Weak Passwords';
$lang->admin->safe->reason = 'Type';
$lang->admin->safe->checkWeak = 'Weak Password Scan';
$lang->admin->safe->changeWeak = 'Force to change weak password';
$lang->admin->safe->loginCaptcha = 'Login using CAPTCHA';
$lang->admin->safe->modifyPasswordFirstLogin = 'Force to change password after first login';
$lang->admin->safe->modeList[0] = 'I don\'t care.';
@@ -82,5 +84,8 @@ $lang->admin->safe->modifyPasswordList[0] = 'No';
$lang->admin->safe->loginCaptchaList[1] = 'Yes';
$lang->admin->safe->loginCaptchaList[0] = 'No';
$lang->admin->safe->resetPWDList[1] = 'ON';
$lang->admin->safe->resetPWDList[0] = 'Off';
$lang->admin->safe->noticeMode = 'Password will be checked when a user logs in, or a user is added or edited.';
$lang->admin->safe->noticeStrong = '';
+29 -24
View File
@@ -9,23 +9,25 @@
* @version $Id: zh-cn.php 4767 2013-05-05 06:10:13Z wwccss $
* @link http://www.zentao.net
*/
$lang->admin->index = '后台管理首页';
$lang->admin->checkDB = '检查数据库';
$lang->admin->sso = 'ZDOO集成';
$lang->admin->ssoAction = 'ZDOO集成';
$lang->admin->safeIndex = '安全';
$lang->admin->checkWeak = '弱口令检查';
$lang->admin->certifyMobile = '认证手机';
$lang->admin->certifyEmail = '认证邮箱';
$lang->admin->ztCompany = '认证公司';
$lang->admin->captcha = '验证码';
$lang->admin->getCaptcha = '获取验证码';
$lang->admin->register = '登记';
$lang->admin->index = '后台管理首页';
$lang->admin->checkDB = '检查数据库';
$lang->admin->sso = 'ZDOO集成';
$lang->admin->ssoAction = 'ZDOO集成';
$lang->admin->safeIndex = '安全';
$lang->admin->checkWeak = '弱口令检查';
$lang->admin->certifyMobile = '认证手机';
$lang->admin->certifyEmail = '认证邮箱';
$lang->admin->ztCompany = '认证公司';
$lang->admin->captcha = '验证码';
$lang->admin->getCaptcha = '获取验证码';
$lang->admin->register = '登记';
$lang->admin->resetPWDSetting = '重置密码设置';
$lang->admin->api = '接口';
$lang->admin->log = '日志';
$lang->admin->setting = '设置';
$lang->admin->days = '日志保存天数';
$lang->admin->api = '接口';
$lang->admin->log = '日志';
$lang->admin->setting = '设置';
$lang->admin->days = '日志保存天数';
$lang->admin->resetPWDByMail = '通过邮箱重置密码';
$lang->admin->info = new stdclass();
$lang->admin->info->version = '当前系统的版本是%s,';
@@ -53,14 +55,14 @@ $lang->admin->bind->caption = '关联社区帐号';
$lang->admin->bind->success = "关联账户成功";
$lang->admin->safe = new stdclass();
$lang->admin->safe->common = '安全策略';
$lang->admin->safe->set = '密码安全设置';
$lang->admin->safe->password = '密码安全';
$lang->admin->safe->weak = '常用弱口令';
$lang->admin->safe->reason = '类型';
$lang->admin->safe->checkWeak = '弱口令扫描';
$lang->admin->safe->changeWeak = '修改弱口令密码';
$lang->admin->safe->loginCaptcha = '登录使用验证码';
$lang->admin->safe->common = '安全策略';
$lang->admin->safe->set = '密码安全设置';
$lang->admin->safe->password = '密码安全';
$lang->admin->safe->weak = '常用弱口令';
$lang->admin->safe->reason = '类型';
$lang->admin->safe->checkWeak = '弱口令扫描';
$lang->admin->safe->changeWeak = '修改弱口令密码';
$lang->admin->safe->loginCaptcha = '登录使用验证码';
$lang->admin->safe->modifyPasswordFirstLogin = '首次登录修改密码';
$lang->admin->safe->modeList[0] = '不检查';
@@ -82,5 +84,8 @@ $lang->admin->safe->modifyPasswordList[0] = '不强制';
$lang->admin->safe->loginCaptchaList[1] = '是';
$lang->admin->safe->loginCaptchaList[0] = '否';
$lang->admin->safe->resetPWDList[1] = '开启';
$lang->admin->safe->resetPWDList[0] = '关闭';
$lang->admin->safe->noticeMode = '系统会在登录、创建和修改用户、修改密码的时候检查用户口令。';
$lang->admin->safe->noticeStrong = '密码长度越长,含有大写字母或数字或特殊符号越多,密码字母越不重复,安全度越强!';
+1
View File
@@ -18,6 +18,7 @@
<?php
echo html::a($this->createLink('admin', 'safe'), $lang->admin->safe->set);
echo html::a($this->createLink('admin', 'checkWeak'), $lang->admin->safe->checkWeak, '', "class='active'");
echo html::a($this->createLink('admin', 'resetPWDSetting'), $lang->admin->resetPWDSetting);
?>
</div>
</div>
@@ -0,0 +1,61 @@
<?php
/**
* The resetpwdsetting view file of admin module of ZenTaoPMS.
*
* @copyright Copyright 2009-2022 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license ZPL(http://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
* @author Shujie Tian <tianshujie@easycorp.ltd>
* @package admin
* @version $Id$
* @link https://www.zentao.net
*/
?>
<?php include '../../common/view/header.html.php';?>
<style>
<?php if(!common::checkNotCN()):?>
.mailBox {width: 45px !important;}
<?php else:?>
.mailBox {width: 109px !important;}
<?php endif;?>
.heading {padding-left: 15px;}
</style>
<div class="main-row">
<div class='side-col' id='sidebar'>
<div class='cell'>
<div class='list-group'>
<?php
echo html::a($this->createLink('admin', 'safe'), $lang->admin->safe->set);
echo html::a($this->createLink('admin', 'checkWeak'), $lang->admin->safe->checkWeak);
echo html::a($this->createLink('admin', 'resetPWDSetting'), $lang->admin->resetPWDSetting, '', "class='active'");
?>
</div>
</div>
</div>
<div id='mainContent' class='main-col main-content'>
<div class='center-block'>
<form class="load-indicator main-form form-ajax" method='post'>
<div class='main-header'>
<div class='heading'>
<strong><?php echo $lang->admin->resetPWDSetting;?></strong>
</div>
</div>
<table class='table table-form'>
<tr>
<th class='mailBox'><?php echo $lang->admin->resetPWDByMail;?></th>
<td class='w-300px text-left'>
<?php $checkedKey = isset($config->resetPWDByMail) ? $config->resetPWDByMail : 0;?>
<?php foreach($lang->admin->safe->resetPWDList as $key => $value):?>
<label class="radio-inline"><input type="radio" name="resetPWDByMail" value="<?php echo $key?>"<?php echo $key == $checkedKey ? " checked='checked'" : ''?> id="resetPWDByMail<?php echo $key;?>"><?php echo $value;?></label>
<?php endforeach;?>
</td>
</tr>
<tr>
<th></th>
<td class='form-actions'><?php echo html::submitButton();?></td>
</tr>
</table>
</form>
</div>
</div>
</div>
<?php include '../../common/view/footer.html.php';?>
+1
View File
@@ -24,6 +24,7 @@
<?php
echo html::a($this->createLink('admin', 'safe'), $lang->admin->safe->set, '', "class='active'");
echo html::a($this->createLink('admin', 'checkWeak'), $lang->admin->safe->checkWeak);
echo html::a($this->createLink('admin', 'resetPWDSetting'), $lang->admin->resetPWDSetting);
?>
</div>
</div>
+9 -7
View File
@@ -1588,13 +1588,14 @@ $lang->search->methodOrder[35] = 'buildIndex';
/* Admin. */
$lang->resource->admin = new stdclass();
$lang->resource->admin->index = 'index';
$lang->resource->admin->checkDB = 'checkDB';
$lang->resource->admin->safe = 'safeIndex';
$lang->resource->admin->checkWeak = 'checkWeak';
$lang->resource->admin->sso = 'ssoAction';
$lang->resource->admin->register = 'register';
$lang->resource->admin->ztCompany = 'ztCompany';
$lang->resource->admin->index = 'index';
$lang->resource->admin->checkDB = 'checkDB';
$lang->resource->admin->safe = 'safeIndex';
$lang->resource->admin->checkWeak = 'checkWeak';
$lang->resource->admin->sso = 'ssoAction';
$lang->resource->admin->register = 'register';
$lang->resource->admin->ztCompany = 'ztCompany';
$lang->resource->admin->resetPWDSetting = 'resetPWDSetting';
$lang->admin->methodOrder[0] = 'index';
$lang->admin->methodOrder[5] = 'checkDB';
@@ -1603,6 +1604,7 @@ $lang->admin->methodOrder[15] = 'checkWeak';
$lang->admin->methodOrder[20] = 'sso';
$lang->admin->methodOrder[25] = 'register';
$lang->admin->methodOrder[30] = 'ztCompany';
$lang->admin->methodOrder[35] = 'resetPWDSetting';
/* Extension. */
$lang->resource->extension = new stdclass();
+13
View File
@@ -1042,6 +1042,8 @@ class user extends control
*/
public function reset()
{
if(isset($this->config->resetPWDByMail) and $this->config->resetPWDByMail) $this->locate($this->createLink('user', 'forgetPassword'));
if(!isset($_SESSION['resetFileName']))
{
$resetFileName = $this->app->getBasePath() . 'tmp' . DIRECTORY_SEPARATOR . uniqid('reset_') . '.txt';
@@ -1078,6 +1080,17 @@ class user extends control
$this->display();
}
/**
* Forget password.
*
* @access public
* @return void
*/
public function forgetPassword()
{
$this->display();
}
/**
* User dynamic.
*