Exemplo n.º 1
0
 /**
  * 新增或编辑后执行
  * @param string $context
  * @param array $row
  * @param mixed $params
  * @return void
  */
 public function onAfterSave($context, array &$row, $params = null)
 {
     $isCreate = $context === 'users\\services\\Users::create' ? true : false;
     $isModify = $context === 'users\\services\\Users::modifyByPk' ? true : false;
     if (!$isCreate && !$isModify) {
         return;
     }
     if (($userId = (int) $params) <= 0) {
         return;
     }
     $sexEnum = DataUsers::getSexEnum();
     $sex = isset($row['sex']) ? trim($row['sex']) : '';
     $birthday = isset($row['birthday']) ? trim($row['birthday']) : '';
     $address = isset($row['address']) ? trim($row['address']) : '';
     $qq = isset($row['qq']) ? (int) $row['qq'] : 0;
     $headPortrait = isset($row['head_portrait']) ? trim($row['head_portrait']) : '';
     $remarks = isset($row['remarks']) ? trim($row['remarks']) : '';
     $sex = isset($sexEnum[$sex]) ? $sex : DataUsers::SEX_UNKNOW;
     $birthday = date('Y-m-d', strtotime($birthday)) === $birthday ? $birthday : '';
     $qq = $qq > 0 ? $qq : '';
     $attributes = array();
     if ($isCreate) {
         $attributes = array('sex' => $sex, 'birthday' => $birthday, 'address' => $address, 'qq' => $qq, 'head_portrait' => $headPortrait, 'remarks' => $remarks);
     } else {
         if (isset($row['sex'])) {
             $attributes['sex'] = $sex;
         }
         if (isset($row['birthday'])) {
             $attributes['birthday'] = $birthday;
         }
         if (isset($row['address'])) {
             $attributes['address'] = $address;
         }
         if (isset($row['qq'])) {
             $attributes['qq'] = $qq;
         }
         if (isset($row['head_portrait'])) {
             $attributes['head_portrait'] = $headPortrait;
         }
         if (isset($row['remarks'])) {
             $attributes['remarks'] = $remarks;
         }
         if ($attributes === array()) {
             return;
         }
     }
     $db = Service::getInstance('Users', 'users')->getDb();
     $dbProxy = $db->getDbProxy();
     $tableName = $db->getTblprefix() . TableNames::getUserProfile();
     $profile = Profile::getInstance($tableName, $userId, $dbProxy);
     $profile->save($attributes);
 }
Exemplo n.º 2
0
 /**
  * (non-PHPdoc)
  * @see \library\BaseModel::getElementsRender()
  */
 public function getElementsRender()
 {
     $output = array('user_id' => array('__tid__' => 'main', 'type' => 'hidden', 'label' => Text::_('MOD_USERS_USERS_USER_ID_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_USER_ID_HINT')), 'login_name' => array('__tid__' => 'main', 'type' => 'text', 'label' => Text::_('MOD_USERS_USERS_LOGIN_NAME_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_LOGIN_NAME_HINT'), 'required' => true), 'login_type' => array('__tid__' => 'main', 'type' => 'radio', 'label' => Text::_('MOD_USERS_USERS_LOGIN_TYPE_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_LOGIN_TYPE_HINT'), 'options' => DataUsers::getLoginTypeEnum(), 'value' => DataUsers::LOGIN_TYPE_MAIL), 'password' => array('__tid__' => 'main', 'type' => 'password', 'label' => Text::_('MOD_USERS_USERS_PASSWORD_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_PASSWORD_HINT'), 'required' => true), 'repassword' => array('__tid__' => 'main', 'type' => 'password', 'label' => Text::_('MOD_USERS_USERS_REPASSWORD_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_REPASSWORD_HINT'), 'required' => true), 'user_name' => array('__tid__' => 'main', 'type' => 'text', 'label' => Text::_('MOD_USERS_USERS_USER_NAME_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_USER_NAME_HINT')), 'user_mail' => array('__tid__' => 'main', 'type' => 'text', 'label' => Text::_('MOD_USERS_USERS_USER_MAIL_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_USER_MAIL_HINT')), 'user_phone' => array('__tid__' => 'main', 'type' => 'text', 'label' => Text::_('MOD_USERS_USERS_USER_PHONE_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_USER_PHONE_HINT')), 'dt_registered' => array('__tid__' => 'system', 'type' => 'text', 'label' => Text::_('MOD_USERS_USERS_DT_REGISTERED_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_DT_REGISTERED_HINT'), 'disabled' => true), 'dt_last_login' => array('__tid__' => 'system', 'type' => 'text', 'label' => Text::_('MOD_USERS_USERS_DT_LAST_LOGIN_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_DT_LAST_LOGIN_HINT'), 'disabled' => true), 'dt_last_repwd' => array('__tid__' => 'system', 'type' => 'text', 'label' => Text::_('MOD_USERS_USERS_DT_LAST_REPWD_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_DT_LAST_REPWD_HINT'), 'disabled' => true), 'ip_registered' => array('__tid__' => 'system', 'type' => 'text', 'label' => Text::_('MOD_USERS_USERS_IP_REGISTERED_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_IP_REGISTERED_HINT'), 'disabled' => true), 'ip_last_login' => array('__tid__' => 'system', 'type' => 'text', 'label' => Text::_('MOD_USERS_USERS_IP_LAST_LOGIN_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_IP_LAST_LOGIN_HINT'), 'disabled' => true), 'ip_last_repwd' => array('__tid__' => 'system', 'type' => 'text', 'label' => Text::_('MOD_USERS_USERS_IP_LAST_REPWD_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_IP_LAST_REPWD_HINT'), 'disabled' => true), 'login_count' => array('__tid__' => 'system', 'type' => 'text', 'label' => Text::_('MOD_USERS_USERS_LOGIN_COUNT_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_LOGIN_COUNT_HINT'), 'disabled' => true), 'repwd_count' => array('__tid__' => 'system', 'type' => 'text', 'label' => Text::_('MOD_USERS_USERS_REPWD_COUNT_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_REPWD_COUNT_HINT'), 'disabled' => true), 'valid_mail' => array('__tid__' => 'main', 'type' => 'switch', 'label' => Text::_('MOD_USERS_USERS_VALID_MAIL_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_VALID_MAIL_HINT'), 'options' => DataUsers::getValidMailEnum(), 'value' => DataUsers::VALID_MAIL_N), 'valid_phone' => array('__tid__' => 'main', 'type' => 'switch', 'label' => Text::_('MOD_USERS_USERS_VALID_PHONE_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_VALID_PHONE_HINT'), 'options' => DataUsers::getValidPhoneEnum(), 'value' => DataUsers::VALID_PHONE_N), 'forbidden' => array('__tid__' => 'main', 'type' => 'switch', 'label' => Text::_('MOD_USERS_USERS_FORBIDDEN_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_FORBIDDEN_HINT'), 'options' => DataUsers::getForbiddenEnum(), 'value' => DataUsers::FORBIDDEN_N), 'trash' => array('__tid__' => 'main', 'type' => 'switch', 'label' => Text::_('MOD_USERS_USERS_TRASH_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_TRASH_HINT'), 'options' => DataUsers::getTrashEnum(), 'value' => DataUsers::TRASH_N), 'group_ids' => array('__tid__' => 'groups', '__object__' => 'views\\bootstrap\\users\\UserGroupsCheckboxElement', 'type' => 'checkbox', 'label' => '', 'hint' => ''), 'group_id' => array('__tid__' => 'main', 'type' => 'select', 'label' => Text::_('MOD_USERS_USERS_GROUP_ID_LABEL')), 'order' => array('type' => 'select', 'label' => Text::_('CFG_SYSTEM_GLOBAL_ORDER'), 'options' => array('dt_registered DESC' => Text::_('MOD_USERS_USERS_DT_REGISTERED_LABEL'), 'dt_last_login DESC' => Text::_('MOD_USERS_USERS_DT_LAST_LOGIN_LABEL'), 'login_count DESC' => Text::_('MOD_USERS_USERS_LOGIN_COUNT_LABEL'))), 'dt_registered_ge' => array('type' => 'text', 'label' => Text::_('MOD_USERS_USERS_DT_REGISTERED_GE_LABEL')), 'dt_registered_le' => array('type' => 'text', 'label' => Text::_('MOD_USERS_USERS_DT_REGISTERED_LE_LABEL')), 'dt_last_login_ge' => array('type' => 'text', 'label' => Text::_('MOD_USERS_USERS_DT_LAST_LOGIN_GE_LABEL')), 'dt_last_login_le' => array('type' => 'text', 'label' => Text::_('MOD_USERS_USERS_DT_LAST_LOGIN_LE_LABEL')), 'login_count_ge' => array('type' => 'text', 'label' => Text::_('MOD_USERS_USERS_LOGIN_COUNT_GE_LABEL')), 'login_count_le' => array('type' => 'text', 'label' => Text::_('MOD_USERS_USERS_LOGIN_COUNT_LE_LABEL')), 'sex' => array('__tid__' => 'profile', 'type' => 'radio', 'label' => Text::_('MOD_USERS_USERS_SEX_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_SEX_HINT'), 'options' => DataUsers::getSexEnum(), 'value' => DataUsers::SEX_UNKNOW), 'birthday' => array('__tid__' => 'profile', 'type' => 'datetimepicker', 'label' => Text::_('MOD_USERS_USERS_BIRTHDAY_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_BIRTHDAY_HINT'), 'format' => 'date'), 'address' => array('__tid__' => 'profile', 'type' => 'textarea', 'label' => Text::_('MOD_USERS_USERS_ADDRESS_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_ADDRESS_HINT')), 'qq' => array('__tid__' => 'profile', 'type' => 'text', 'label' => Text::_('MOD_USERS_USERS_QQ_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_QQ_HINT')), 'head_portrait' => array('__tid__' => 'profile', 'type' => 'text', 'label' => Text::_('MOD_USERS_USERS_HEAD_PORTRAIT_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_HEAD_PORTRAIT_HINT')), 'remarks' => array('__tid__' => 'profile', 'type' => 'textarea', 'label' => Text::_('MOD_USERS_USERS_REMARKS_LABEL'), 'hint' => Text::_('MOD_USERS_USERS_REMARKS_HINT')));
     return $output;
 }
Exemplo n.º 3
0
 /**
  * 获取“是否禁用”
  * @param string $forbidden
  * @return string
  */
 public function getForbiddenLangByForbidden($forbidden)
 {
     $enum = DataUsers::getForbiddenEnum();
     return isset($enum[$forbidden]) ? $enum[$forbidden] : '';
 }
Exemplo n.º 4
0
 /**
  * 获取“用户分组ID”验证规则
  * @param mixed $value
  * @return array
  */
 public function getGroupIdsRule($value)
 {
     $enum = DataUsers::getGroupIdsEnum();
     return array('InArray' => new validator\InArrayValidator($value, $enum, Lang::_('SRV_FILTER_USERS_GROUP_IDS_INARRAY')));
 }