0
0
mirror of https://github.com/postfixadmin/postfixadmin.git synced 2024-09-19 19:22:14 +02:00
postfixadmin/model/AdminpasswordHandler.php
Christian Boltz 9c0004a431 *.lang:
- rename various $PALANG texts:
  - pMenu_create_alias => add-alias
  - pMenu_create_alias_domain => add-alias-domain
  - pMenu_create_mailbox => add-mailbox
  - pOverview_get_mailboxes => mailboxes
  - pPassword_button => change-password
  - pAdminList_domain_description => description
  - pAdminList_domain_aliases => aliases
  - pAdminEdit_domain_transport => transport
  - pAdminEdit_admin_password2 => password-again
- remove duplicate or unused $PALANG texts:
  - pOverview_alias_alias_count
  - pOverview_alias_mailbox_count
  - pOverview_get_aliases
  - pCreate_alias_domain_button
  - pCreate_alias_welcome
  - pCreate_alias_button
  - pCreate_mailbox_password2
  - pCreate_mailbox_quota_text_error
  - pCreate_mailbox_button
  - pAdminMenu_viewlog
  - pAdminMenu_create_alias
  - pAdminMenu_create_mailbox
  - pAdminList_domain_mailboxes
  - pAdminList_domain_transport
  - pAdminList_virtual_welcome
  - pAdminList_virtual_alias_alias_count
  - pAdminList_virtual_alias_mailbox_count
  - pAdminList_virtual_mailbox_username
  - pAdminList_virtual_mailbox_quota
  - pAdminEdit_domain_description
  - pAdminEdit_domain_aliases
  - pAdminEdit_domain_mailboxes
  - pAdminEdit_domain_mailboxes_text
  - pUsersMenu_password

model/*, seetup.php, templates/*
- use changed $PALANG texts


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1510 a1433add-5e2c-0410-b055-b7f2511e0802
2013-07-28 22:33:35 +00:00

109 lines
3.7 KiB
PHP

<?php
# $Id$
class AdminpasswordHandler extends PFAHandler {
protected $db_table = 'admin';
protected $id_field = 'username';
# do not skip empty password fields
protected $skip_empty_pass = false;
protected function no_domain_field() {
# PFAHandler die()s if domain field is not set. Disable this behaviour for AdminHandler.
}
protected function validate_new_id() {
# unused in AdminpasswordHandler, but must be defined
}
# init $this->struct, $this->db_table and $this->id_field
protected function initStruct() {
# TODO: shorter PALANG labels ;-)
$this->struct=array(
# field name allow display in... type $PALANG label $PALANG description default / options / ...
# editing? form list
'username' => pacol( 0, 1, 1, 'text', 'pAdminEdit_admin_username' , '' ),
'oldpass' => pacol( 1, 1, 0, 'pass', 'pPassword_password_current' , 'pPassword_password_current_text', '', '',
/*not_in_db*/ 1 ),
'password' => pacol( 1, 1, 0, 'pass', 'pPassword_password' , '' ),
'password2' => pacol( 1, 1, 0, 'pass', 'pPassword_password2' , '' , '', '',
/*not_in_db*/ 0,
/*dont_write_to_db*/ 1,
/*select*/ 'password as password2'
),
);
}
public function init($id) {
# hardcode to logged in admin
if ($this->admin_username == '') die("No admin logged in");
$this->id = $this->admin_username;
$this->values['username'] = $this->id;
$this->struct['username']['default'] = $this->id;
# hardcode to edit mode
$this->new = 0;
return parent::init($this->id);
}
public function initMsg() {
$this->msg['error_already_exists'] = 'pAdminCreate_admin_username_text_error2'; # probably unused
$this->msg['error_does_not_exist'] = 'pAdminEdit_admin_result_error'; # probably unused
$this->msg['logname'] = 'edit_password';
$this->msg['store_error'] = 'pPassword_result_error';
$this->msg['successmessage'] = 'pPassword_result_success';
}
public function webformConfig() {
return array(
# $PALANG labels
'formtitle_create' => 'pPassword_welcome',
'formtitle_edit' => 'pPassword_welcome',
'create_button' => 'change-password',
# various settings
'required_role' => 'admin',
'listview' => 'main.php',
'early_init' => 1,
'hardcoded_edit' => true,
);
}
/**
* check if old password is correct
*/
protected function _field_oldpass($field, $val) {
if ( $this->login($this->id, $val) ) {
return true;
}
$this->errormsg[$field] = Lang::read('pPassword_password_current_text_error');
return false;
}
/**
* skip default validation (check if password is good enough) for old password
*/
protected function _inp_pass($field, $val) {
if ($field == 'oldpass') return true;
return parent::_inp_pass($field, $val);
}
/**
* compare password / password2 field
* error message will be displayed at the password2 field
*/
protected function _field_password2($field, $val) {
return $this->compare_password_fields('password', 'password2');
}
}
/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */