1
Changeset c7d197d – MultiMag

Changeset c7d197d


Ignore:
Timestamp:
Mar 13, 2015, 1:14:20 AM (8 years ago)
Author:
Blacklight <blacklight@…>
Branches:
master
Children:
5c9f0c9
Parents:
0ebef4e
Message:
  • Добавлено уведомление о скором устаревании пароля
Location:
web
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • web/include/authenticator.php

    r0ebef4e rc7d197d  
    427427    }
    428428   
     429    // Определение кол-ва дней до окончания срока действия пароля
     430    public function getDaysExpiredAfter() {
     431        global $CONFIG;
     432        if($this->user_info['pass_expired']) {
     433            return 0;
     434        }
     435        if(isset($CONFIG['site']['user_pass_period'])) {
     436            if($CONFIG['site']['user_pass_period']) {
     437                $pc_time = strtotime($this->user_info['pass_date_change']);
     438                $exp_time = floor($CONFIG['site']['user_pass_period'] - (time() - $pc_time)/60/60/24);
     439                if($exp_time < 0) {
     440                    $exp_time = 0;
     441                }
     442                return $exp_time;
     443            }
     444        }
     445        if($this->user_info['worker']) {
     446            if(isset($CONFIG['site']['worker_pass_period'])) {
     447                if($CONFIG['site']['worker_pass_period']) {
     448                    $pc_time = strtotime($this->user_info['pass_date_change']);
     449                    $exp_time = floor($CONFIG['site']['worker_pass_period'] - (time() - $pc_time)/60/60/24);
     450                    if($exp_time < 0) {
     451                        $exp_time = 0;
     452                    }
     453                    return $exp_time;
     454                }
     455            } else {
     456                $pc_time = strtotime($this->user_info['pass_date_change']);
     457                $exp_time = floor(90 - (time() - $pc_time)/60/60/24);
     458                if($exp_time < 0) {
     459                    $exp_time = 0;
     460                }
     461                return $exp_time;
     462            }
     463        }
     464        return 999999;
     465    }
     466   
    429467    public function getDisabledReason() {
    430468        return $this->user_info['disabled_reason'];
     
    479517        }
    480518        if (@$CONFIG['site']['pass_type'] == 'MD5') {
    481             $sql_pass_hash = MD5($password);
     519            $pass_hash = MD5($password);
    482520            $sql_pass_type = 'MD5';
    483521        } else if (@$CONFIG['site']['pass_type'] == 'SHA1') {
    484             $sql_pass_hash = SHA1($password);
     522            $pass_hash = SHA1($password);
    485523            $sql_pass_type = 'SHA1';
    486524        } else {
     
    490528                    $salt .= chr(rand(32, 127));
    491529                }
    492                 $sql_pass_hash = crypt($password, '$5$' . $salt . '$');
    493             } else {
    494                 $sql_pass_hash = crypt($password);
     530                $pass_hash = crypt($password, '$5$' . $salt . '$');
     531            } else {
     532                $pass_hash = crypt($password);
    495533            }
    496534            $sql_pass_type = 'CRYPT';
    497535        }
     536        $sql_pass_hash = $db->real_escape_string($pass_hash);
    498537        $db->query("UPDATE `users` SET `pass`='$sql_pass_hash', `pass_type`='$sql_pass_type', `pass_change`='', `pass_date_change`=NOW(), `pass_expired`=0
    499538            WHERE `id`='{$this->user_info['id']}'");
  • web/user.php

    r0ebef4e rc7d197d  
    3636            $login_page = new \Modules\Site\login();
    3737            $tmpl->addContent( $login_page->getConfirmForm($_SESSION['name']) ."<br><br>" );
     38        }
     39        $exp_days = $auth->getDaysExpiredAfter();
     40        if($exp_days<=7) {
     41            $tmpl->msg("Ваш пароль устареет через $exp_days дней. Вам необходимо <a href='/user.php?mode=chpwd'>сменить</a> его.");
    3842        }
    3943       
Note: See TracChangeset for help on using the changeset viewer.