예제 #1
0
 /**
  * Returns a PASSWORD field in specified format
  *
  * @param  FieldTable  $field
  * @param  UserTable   $user
  * @param  string      $output      'html', 'xml', 'json', 'php', 'csvheader', 'csv', 'rss', 'fieldslist', 'htmledit'
  * @param  string      $formatting  'table', 'td', 'span', 'div', 'none'
  * @param  string      $reason      'profile' for user profile view, 'edit' for profile edit, 'register' for registration, 'list' for user-lists
  * @param  int         $list_compare_types   IF reason == 'search' : 0 : simple 'is' search, 1 : advanced search with modes, 2 : simple 'any' search
  * @return mixed
  */
 public function getFieldRow(&$field, &$user, $output, $formatting, $reason, $list_compare_types)
 {
     global $_CB_OneTwoRowsStyleToggle;
     $results = null;
     if ($output == 'htmledit') {
         if ($reason != 'search' && $field->params->get('fieldVerifyInput', 0)) {
             $verifyField = new FieldTable($field->getDbo());
             foreach (array_keys(get_object_vars($verifyField)) as $k) {
                 $verifyField->{$k} = $field->{$k};
             }
             $verifyName = $field->name . '__verify';
             $verifyField->name = $verifyName;
             $verifyField->fieldid = $field->fieldid . '__verify';
             // cbReplaceVars to be done only once later:
             $titleOfVerifyField = $field->params->get('verifyEmailTitle');
             if ($titleOfVerifyField) {
                 $verifyField->title = CBTxt::Th($titleOfVerifyField, null, array('%s' => CBTxt::T($field->title)));
             } else {
                 $verifyField->title = CBTxt::Th('_UE_VERIFY_SOMETHING', 'Verify %s', array('%s' => CBTxt::T($field->title)));
             }
             $verifyField->_identicalTo = $field->name;
             $toggleState = $_CB_OneTwoRowsStyleToggle;
             $results = parent::getFieldRow($field, $user, $output, $formatting, $reason, $list_compare_types);
             $_CB_OneTwoRowsStyleToggle = $toggleState;
             $user->set($verifyName, $user->get($field->name));
             $results .= parent::getFieldRow($verifyField, $user, $output, $formatting, $reason, $list_compare_types);
             unset($verifyField);
             unset($user->{$verifyName});
         } else {
             $results = parent::getFieldRow($field, $user, $output, $formatting, $reason, $list_compare_types);
         }
     } else {
         $results = parent::getFieldRow($field, $user, $output, $formatting, $reason, $list_compare_types);
     }
     return $results;
 }
예제 #2
0
 /**
  * Returns a PASSWORD field in specified format
  *
  * @param  moscomprofilerFields  $field
  * @param  moscomprofilerUser    $user
  * @param  string                $output      'html', 'xml', 'json', 'php', 'csvheader', 'csv', 'rss', 'fieldslist', 'htmledit'
  * @param  string                $formatting  'table', 'td', 'span', 'div', 'none'
  * @param  string                $reason      'profile' for user profile view, 'edit' for profile edit, 'register' for registration, 'list' for user-lists
  * @param  int                   $list_compare_types   IF reason == 'search' : 0 : simple 'is' search, 1 : advanced search with modes, 2 : simple 'any' search
  * @return mixed                
  */
 function getFieldRow(&$field, &$user, $output, $formatting, $reason, $list_compare_types)
 {
     global $ueConfig, $_CB_OneTwoRowsStyleToggle;
     $results = null;
     if ($output == 'htmledit') {
         if ($field->name != 'password' || $reason != 'register' || !(isset($ueConfig['emailpass']) && $ueConfig['emailpass'] == "1")) {
             $verifyField = new moscomprofilerFields($field->_db);
             foreach (array_keys(get_object_vars($verifyField)) as $k) {
                 $verifyField->{$k} = $field->{$k};
             }
             $verifyField->name = $field->name . '__verify';
             $verifyField->fieldid = $field->fieldid . '__verify';
             if ($field->name == 'password') {
                 $verifyField->title = _UE_VPASS;
             } else {
                 $verifyField->title = sprintf(getLangDefinition($field->params->get('verifyPassTitle', '_UE_VERIFY_SOMETHING')), getLangDefinition($field->title));
                 // cbReplaceVars to be done only once later
             }
             $verifyField->_identicalTo = $field->name;
             $toggleState = $_CB_OneTwoRowsStyleToggle;
             $results = parent::getFieldRow($field, $user, $output, $formatting, $reason, $list_compare_types);
             $_CB_OneTwoRowsStyleToggle = $toggleState;
             // appear as in same row
             $results .= parent::getFieldRow($verifyField, $user, $output, $formatting, $reason, $list_compare_types);
             unset($verifyField);
         } else {
             // case of "sending password by email" at registration time for main password field:
             $results = parent::getFieldRow($field, $user, $output, $formatting, $reason, $list_compare_types);
         }
     } else {
         $results = parent::getFieldRow($field, $user, $output, $formatting, $reason, $list_compare_types);
     }
     return $results;
 }