public function getFieldRow( &$field, &$user, $output, $formatting, $reason, $list_compare_types ) { if ( ( ! in_array( $reason, array( 'register', 'edit' ) ) ) || $user->id ) { return null; } return parent::getFieldRow( $field, $user, $output, $formatting, $reason, $list_compare_types ); }
/** * Returns a USERPARAMS 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_framework, $ueConfig; $results = null; if (class_exists('JFactory')) { // Joomla 1.5 : $lang = JFactory::getLanguage(); $lang->load('com_users'); } $pseudoFields = array(); //Implementing Joomla's new user parameters such as editor $ui = $_CB_framework->getUi(); $userParams = $this->_getUserParams($ui, $user); if (is_array($userParams) && count($userParams) > 0 && ($ui == 2 || (isset($ueConfig['frontend_userparams']) ? $ueConfig['frontend_userparams'] == 1 : in_array($_CB_framework->getCfg('frontend_userparams'), array('1', null))))) { if ($ui == 1) { $excludeParams = explode('|*|', $field->params->get('hide_userparams')); } else { $excludeParams = array(); } //Loop through each parameter and prepare rendering appropriately. foreach ($userParams as $k => $userParam) { if (checkJversion() >= 2) { $nameId = isset($userParam[4]) ? $userParam[4] : null; } else { $nameId = isset($userParam[5]) ? $userParam[5] : null; } if (!$excludeParams || !$nameId || $nameId && !in_array($nameId, $excludeParams)) { $paramField = new FieldTable($field->getDbo()); $paramField->title = $userParam[0]; $paramField->_html = $userParam[1]; $paramField->description = isset($userParam[2]) && class_exists("JText") ? JText::_($userParam[2]) : null; $paramField->name = isset($userParam[3]) && class_exists("JText") ? JText::_($userParam[3]) : null; // very probably wrong! $paramField->fieldid = 'userparam_' . $k; $paramField->type = 'param'; // this is for cb_ftparam class to be correct. if (!preg_match('/<(?:input|select|textarea)[^>]*class[^>]*>/i', $paramField->_html)) { $paramField->_html = preg_replace('/<(input|select|textarea)/i', '<$1 class="form-control"', $paramField->_html); } $pseudoFields[] = $paramField; } } } if ($ui == 2) { $i_am_super_admin = Application::MyUser()->isSuperAdmin(); $canBlockUser = Application::MyUser()->isAuthorizedToPerformActionOnAsset('core.edit.state', 'com_users'); $canEmailEvents = $user->id == 0 && $canBlockUser || Application::User((int) $user->id)->isAuthorizedToPerformActionOnAsset('core.edit.state', 'com_users') || Application::User((int) $user->id)->canViewAccessLevel(Application::Config()->get('moderator_viewaccesslevel', 3, \CBLib\Registry\GetterInterface::INT)); $lists = array(); if ($canBlockUser) { // ensure user can't add group higher than themselves $gtree = $_CB_framework->acl->get_groups_below_me(); if (!$i_am_super_admin && $user->id && Application::User((int) $user->id)->isAuthorizedToPerformActionOnAsset('core.manage', 'com_users') && (Application::User((int) $user->id)->isAuthorizedToPerformActionOnAsset('core.edit', 'com_users') || Application::User((int) $user->id)->isAuthorizedToPerformActionOnAsset('core.edit.state', 'com_users'))) { $disabled = ' disabled="disabled"'; } else { $disabled = ''; } if ($user->id) { $strgids = array_map('strval', Application::User((int) $user->id)->getAuthorisedGroups(false)); } else { $strgids = (string) $_CB_framework->getCfg('new_usertype'); } $lists['gid'] = moscomprofilerHTML::selectList($gtree, 'gid[]', 'class="form-control" size="11" multiple="multiple"' . $disabled, 'value', 'text', $strgids, 2, false, null, false); // build the html select list $lists['block'] = moscomprofilerHTML::yesnoSelectList('block', 'class="form-control"', (string) $user->block); $list_banned = array(); $list_banned[] = moscomprofilerHTML::makeOption('1', CBTxt::T('Banned')); $list_banned[] = moscomprofilerHTML::makeOption('2', CBTxt::T('Pending')); $list_banned[] = moscomprofilerHTML::makeOption('0', CBTxt::T('Active')); $lists['banned'] = moscomprofilerHTML::selectList($list_banned, 'banned', 'class="form-control"', 'value', 'text', (string) $user->banned, 2, false, null, false); $list_approved = array(); $list_approved[] = moscomprofilerHTML::makeOption('2', CBTxt::T('Rejected')); $list_approved[] = moscomprofilerHTML::makeOption('0', CBTxt::T('Pending')); $list_approved[] = moscomprofilerHTML::makeOption('1', CBTxt::T('Approved')); $lists['approved'] = moscomprofilerHTML::selectList($list_approved, 'approved', 'class="form-control"', 'value', 'text', (string) $user->approved, 2, false, null, false); $lists['confirmed'] = moscomprofilerHTML::yesnoSelectList('confirmed', 'class="form-control"', (string) $user->confirmed, CBTxt::T('Confirmed'), CBTxt::T('Pending')); // build the html select list $lists['sendEmail'] = moscomprofilerHTML::yesnoSelectList('sendEmail', 'class="form-control"', (string) $user->sendEmail); $paramField = new FieldTable($field->getDbo()); $paramField->title = 'Group'; // For translation parser: CBTxt::T( 'Group' ); $paramField->_html = $lists['gid']; $paramField->description = ''; $paramField->name = 'gid'; $pseudoFields[] = $paramField; $paramField = new FieldTable($field->getDbo()); $paramField->title = 'Block User'; // For translation parser: CBTxt::T( 'Block User' ); $paramField->_html = $lists['block']; $paramField->description = ''; $paramField->name = 'block'; $pseudoFields[] = $paramField; $paramField = new FieldTable($field->getDbo()); $paramField->title = 'Approve User'; // For translation parser: CBTxt::T( 'Approve User' ); $paramField->_html = $lists['approved']; $paramField->description = ''; $paramField->name = 'approved'; $pseudoFields[] = $paramField; $paramField = new FieldTable($field->getDbo()); $paramField->title = 'Confirm User'; // For translation parser: CBTxt::T( 'Confirm User' ); $paramField->_html = $lists['confirmed']; $paramField->description = ''; $paramField->name = 'confirmed'; $pseudoFields[] = $paramField; $paramField = new FieldTable($field->getDbo()); $paramField->title = 'Ban User'; // For translation parser: CBTxt::T( 'Ban User' ); $paramField->_html = $lists['banned']; $paramField->description = ''; $paramField->name = 'banned'; $pseudoFields[] = $paramField; $paramField = new FieldTable($field->getDbo()); $paramField->title = 'Receive Moderator Emails'; // For translation parser: CBTxt::T( 'Receive Moderator Emails' ); if ($canEmailEvents || $user->sendEmail) { $paramField->_html = $lists['sendEmail']; } else { $paramField->_html = CBTxt::T('No (User\'s group-level doesn\'t allow this)') . '<input type="hidden" name="sendEmail" value="0" />'; } $paramField->description = ''; $paramField->name = 'sendEmail'; $pseudoFields[] = $paramField; } if ($user->id) { $paramField = new FieldTable($field->getDbo()); $paramField->title = 'Register Date'; // For translation parser: CBTxt::T( 'Register Date' ); $paramField->_html = cbFormatDate($user->registerDate); $paramField->description = ''; $paramField->name = 'registerDate'; $pseudoFields[] = $paramField; $paramField = new FieldTable($field->getDbo()); $paramField->title = 'Last Visit Date'; // For translation parser: CBTxt::T( 'Last Visit Date' ); $paramField->_html = cbFormatDate($user->lastvisitDate); $paramField->description = ''; $paramField->name = 'lastvisitDate'; $pseudoFields[] = $paramField; $paramField = new FieldTable($field->getDbo()); $paramField->title = 'Last Reset Time'; // For translation parser: CBTxt::T( 'Last Reset Time' ); $paramField->_html = cbFormatDate($user->lastResetTime); $paramField->description = ''; $paramField->name = 'lastResetTime'; $pseudoFields[] = $paramField; $paramField = new FieldTable($field->getDbo()); $paramField->title = 'Password Reset Count'; // For translation parser: CBTxt::T( 'Password Reset Count' ); $paramField->_html = (int) $user->resetCount; $paramField->description = ''; $paramField->name = 'resetCount'; $pseudoFields[] = $paramField; } } switch ($output) { case 'htmledit': foreach ($pseudoFields as $paramField) { $paramField->required = $this->_isRequired($field, $user, $reason); $paramField->profile = $field->profile; $paramField->params = $field->params; $results .= parent::getFieldRow($paramField, $user, $output, $formatting, $reason, $list_compare_types); } unset($pseudoFields); return $results; break; default: return null; break; } }
/** * Formatter: * Returns a 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 'tr', 'td', 'div', 'span', 'none', 'table'?? * @param string $reason 'profile' for user profile view, 'edit' for profile edit, 'register' for registration, 'search' for searches * @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) { if (!cbforumsClass::getModel()->file) { return null; } else { return parent::getFieldRow($field, $user, $output, $formatting, $reason, $list_compare_types); } }
/** * Returns a USERPARAMS 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 $_CB_framework, $_CB_database, $ueConfig; $results = null; if (class_exists('JFactory')) { // Joomla 1.5 : $lang = JFactory::getLanguage(); $lang->load('com_users'); } $pseudoFields = array(); //Implementing Joomla's new user parameters such as editor $ui = $_CB_framework->getUi(); $userParams = $this->_getUserParams($ui, $user); if (is_array($userParams) && count($userParams) > 0 && ($ui == 2 || (isset($ueConfig['frontend_userparams']) ? $ueConfig['frontend_userparams'] == 1 : in_array($_CB_framework->getCfg("frontend_userparams"), array('1', null))))) { //Loop through each parameter and prepare rendering appropriately. foreach ($userParams as $k => $userParam) { $paramField = new moscomprofilerFields($_CB_database); $paramField->title = $userParam[0]; $paramField->_html = $userParam[1]; $paramField->description = isset($userParam[2]) && class_exists("JText") ? JText::_($userParam[2]) : null; $paramField->name = isset($userParam[3]) && class_exists("JText") ? JText::_($userParam[3]) : null; // very probably wrong! $paramField->fieldid = 'userparam_' . $k; $paramField->displaytitle = substr($userParam[0], 0, 6) == '<label' ? -1 : 1; // don't redisplay <label for> markup if ($paramField->displaytitle == -1) { if (substr($paramField->title, -9, 1) != ':' && substr($paramField->title, -8) == '</label>') { $paramField->title = substr($paramField->title, 0, -8) . ':</label>'; } } $paramField->type = 'param'; // this is for cb_ftparam class to be correct. $pseudoFields[] = $paramField; } } if ($_CB_framework->getUi() == 2) { if (checkJversion() < 2) { $myGids = CBuser::getMyInstance()->getUserData()->gids; $cms_mod = $_CB_framework->acl->mapGroupNamesToValues('Administrator'); $cms_admin = $_CB_framework->acl->mapGroupNamesToValues('Superadministrator'); } $i_am_super_admin = $_CB_framework->acl->amIaSuperAdmin(); //1.6+ only: $user_is_super_admin = $_CB_framework->acl->checkActionForGroups( $this->gids, 'core.admin', null ); if (checkJversion() == 2) { $cms_admin_title = 'Super Users'; } else { $cms_admin_title = 'Super Administrator'; } $canBlockUser = CBuser::getMyInstance()->authoriseAction('core.edit.state', 'com_users'); $canEmailEvents = $user->id == 0 && (checkJversion() >= 2 ? $canBlockUser : count(array_intersect($myGids, array($cms_mod, $cms_admin)))) || CBuser::getInstance($user->id)->authoriseAction('core.edit.state', 'com_users') || array_intersect($user->gids, getParentGIDS($ueConfig['imageApproverGid'])); // allow also CB isModerator $lists = array(); if ($canBlockUser) { // ensure user can't add group higher than themselves $gtree = $_CB_framework->acl->get_groups_below_me(); if (checkJversion() == 2) { if (!$i_am_super_admin && $user->id && CBuser::getInstance($user->id)->authoriseAction('core.manage', 'com_users') && (CBuser::getInstance($user->id)->authoriseAction('core.edit', 'com_users') || CBuser::getInstance($user->id)->authoriseAction('core.edit.state', 'com_users'))) { $disabled = ' disabled="disabled"'; } else { $disabled = ''; } $strgids = array_map('strval', $user->gids); $lists['gid'] = moscomprofilerHTML::selectList($gtree, 'gid[]', 'class="inputbox" size="11" multiple="multiple"' . $disabled, 'value', 'text', $strgids, 2, false); } else { if (!$i_am_super_admin && (in_array($cms_admin, $user->gids) && in_array($cms_admin, $myGids) || $user->id == $_CB_framework->myId() && in_array($cms_admin, $myGids))) { $lists['gid'] = "<input type=\"hidden\" name=\"gid\" value=\"{$user->gid}\" /><strong>{$cms_admin_title}</strong>"; } else { if (!$i_am_super_admin && (in_array($cms_mod, $myGids) && !in_array($cms_admin, $myGids) && in_array($cms_mod, $user->gids))) { $lists['gid'] = "<input type=\"hidden\" name=\"gid\" value=\"{$user->gid}\" /><strong>Administrator</strong>"; } else { $lists['gid'] = moscomprofilerHTML::selectList($gtree, 'gid', 'class="inputbox" size="11"', 'value', 'text', $user->gid, 2, false); } } } // build the html select list $lists['block'] = moscomprofilerHTML::yesnoSelectList('block', 'class="inputbox" size="1"', $user->block); $list_approved = array(); $list_approved[] = moscomprofilerHTML::makeOption('0', CBTxt::T('Unapproved')); $list_approved[] = moscomprofilerHTML::makeOption('1', CBTxt::T('Approved')); $list_approved[] = moscomprofilerHTML::makeOption('2', CBTxt::T('Disapproved')); $lists['approved'] = moscomprofilerHTML::selectList($list_approved, 'approved', 'class="inputbox" size="1"', 'value', 'text', $user->approved, 2, false); $lists['confirmed'] = moscomprofilerHTML::yesnoSelectList('confirmed', 'class="inputbox" size="1"', $user->confirmed); // build the html select list $lists['sendEmail'] = moscomprofilerHTML::yesnoSelectList('sendEmail', 'class="inputbox" size="1"', $user->sendEmail); $paramField = new moscomprofilerFields($_CB_database); $paramField->title = CBTxt::T('Group'); $paramField->_html = $lists['gid']; $paramField->description = ''; $paramField->name = 'gid'; $pseudoFields[] = $paramField; $paramField = new moscomprofilerFields($_CB_database); $paramField->title = CBTxt::T('Block User'); $paramField->_html = $lists['block']; $paramField->description = ''; $paramField->name = 'block'; $pseudoFields[] = $paramField; $paramField = new moscomprofilerFields($_CB_database); $paramField->title = CBTxt::T('Approve User'); $paramField->_html = $lists['approved']; $paramField->description = ''; $paramField->name = 'approved'; $pseudoFields[] = $paramField; $paramField = new moscomprofilerFields($_CB_database); $paramField->title = CBTxt::T('Confirm User'); $paramField->_html = $lists['confirmed']; $paramField->description = ''; $paramField->name = 'confirmed'; $pseudoFields[] = $paramField; $paramField = new moscomprofilerFields($_CB_database); $paramField->title = CBTxt::T('Receive Moderator Emails'); if ($canEmailEvents || $user->sendEmail) { $paramField->_html = $lists['sendEmail']; } else { $paramField->_html = CBTxt::T('No (User\'s group-level doesn\'t allow this)') . '<input type="hidden" name="sendEmail" value="0" />'; } $paramField->description = ''; $paramField->name = 'sendEmail'; $pseudoFields[] = $paramField; } if ($user->id) { $paramField = new moscomprofilerFields($_CB_database); $paramField->title = CBTxt::T('Register Date'); $paramField->_html = cbFormatDate($user->registerDate); $paramField->description = ''; $paramField->name = 'registerDate'; $pseudoFields[] = $paramField; $paramField = new moscomprofilerFields($_CB_database); $paramField->title = CBTxt::T('Last Visit Date'); $paramField->_html = cbFormatDate($user->lastvisitDate); $paramField->description = ''; $paramField->name = 'lastvisitDate'; $pseudoFields[] = $paramField; } } switch ($output) { case 'htmledit': foreach ($pseudoFields as $paramField) { $paramField->required = $this->_isRequired($field, $user, $reason); $paramField->profile = $field->profile; $results .= parent::getFieldRow($paramField, $user, $output, $formatting, $reason, $list_compare_types); } unset($pseudoFields); return $results; break; default: return null; break; } }
/** * Returns a USERPARAMS 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 $_CB_framework, $_CB_database, $ueConfig; $results = null; if ( class_exists( 'JFactory' ) ) { // Joomla 1.5 : $lang =& JFactory::getLanguage(); $lang->load( 'com_users' ); } $pseudoFields = array(); //Implementing Joomla's new user parameters such as editor $ui = $_CB_framework->getUi(); $userParams = $this->_getUserParams( $ui, $user ); if ( is_array( $userParams ) && ( count( $userParams ) > 0 ) && ( ( $ui == 2 ) || ( ( isset( $ueConfig['frontend_userparams'] ) ) ? ( $ueConfig['frontend_userparams'] == 1 ) : in_array( $_CB_framework->getCfg( "frontend_userparams" ), array( '1', null) ) ) ) ) { //Loop through each parameter and prepare rendering appropriately. foreach ( $userParams AS $k => $userParam ) { $paramField = new moscomprofilerFields( $_CB_database ); $paramField->title = $userParam[0]; $paramField->_html = $userParam[1]; $paramField->description = ( isset( $userParam[2] ) && class_exists("JText") ? JText::_( $userParam[2] ) : null ); $paramField->name = ( isset( $userParam[3] ) && class_exists("JText") ? JText::_( $userParam[3] ) : null ); // very probably wrong! $paramField->fieldid = 'userparam_' . $k; $paramField->displaytitle = substr( $userParam[0], 0, 6 ) == '<label' ? -1 : 1; // don't redisplay <label for> markup $paramField->type = 'param'; // this is for cb_ftparam class to be correct. $pseudoFields[] = $paramField; } } if( $_CB_framework->getUi() == 2 ) { $myGid = userGID( $_CB_framework->myId() ); $cms_mod = $_CB_framework->acl->mapGroupNamesToValues( 'Administrator' ); $cms_admin = $_CB_framework->acl->mapGroupNamesToValues( 'Superadministrator' ); if ( checkJversion() == 2 ) { $cms_admin_title = 'Super Users'; } else { $cms_admin_title = 'Super Administrator'; } $canBlockUser = $_CB_framework->check_acl( 'canBlockUsers', $_CB_framework->myUserType() ); $canEmailEvents = ( ( $user->id == 0 ) && ( in_array( $myGid, array( $cms_mod, $cms_admin ) ) ) ) || $_CB_framework->check_acl( 'canReceiveAdminEmails', $_CB_framework->acl->get_group_name( $user->gid, 'ARO' ) ) || in_array( $user->gid, getParentGIDS( $ueConfig['imageApproverGid'] ) ); // allow also CB isModerator $lists = array(); $user_group = strtolower( $_CB_framework->acl->get_group_name( $user->gid, 'ARO' ) ); if (( $user_group == strtolower( $cms_admin_title ) && $myGid != $cms_admin) || ( $user->id == $_CB_framework->myId() && $myGid == $cms_admin)) { $lists['gid'] = "<input type=\"hidden\" name=\"gid\" value=\"$user->gid\" /><strong>$cms_admin_title</strong>"; } else if ( $myGid == $cms_mod && $user->gid == $cms_mod ) { $lists['gid'] = "<input type=\"hidden\" name=\"gid\" value=\"$user->gid\" /><strong>Administrator</strong>"; } else { // ensure user can't add group higher than themselves if ( checkJversion() <= 0 ) { $my_groups = $_CB_framework->acl->get_object_groups( 'users', $_CB_framework->myId(), 'ARO' ); } else { $aro_id = $_CB_framework->acl->get_object_id( 'users', $_CB_framework->myId(), 'ARO' ); $my_groups = $_CB_framework->acl->get_object_groups( $aro_id, 'ARO' ); } if ( is_array( $my_groups ) && ( count( $my_groups ) > 0 ) ) { $ex_groups = $_CB_framework->acl->get_group_children( $my_groups[0], 'ARO', 'RECURSE' ); if ( $ex_groups === null ) { $ex_groups = array(); // mambo fix } } else { $ex_groups = array(); } $gtree = $_CB_framework->acl->get_group_children_tree( null, 'USERS', false ); // remove users 'above' me $i = 0; while ( $i < count( $gtree ) ) { if ( in_array( $gtree[$i]->value, $ex_groups ) ) { array_splice( $gtree, $i, 1 ); } else { $i++; } } if ( checkJversion() == 2 ) { $lists['gid'] = moscomprofilerHTML::selectList( $gtree, 'gid[]', 'class="inputbox" size="11" multiple="multiple"', 'value', 'text', $user->gids, 2, false ); } else { $lists['gid'] = moscomprofilerHTML::selectList( $gtree, 'gid', 'class="inputbox" size="11"', 'value', 'text', $user->gid, 2, false ); } } // build the html select list $lists['block'] = moscomprofilerHTML::yesnoSelectList( 'block', 'class="inputbox" size="1"', $user->block ); $list_approved = array(); $list_approved[] = moscomprofilerHTML::makeOption( '0', CBTxt::T( 'Unapproved' ) ); $list_approved[] = moscomprofilerHTML::makeOption( '1', CBTxt::T( 'Approved' ) ); $list_approved[] = moscomprofilerHTML::makeOption( '2', CBTxt::T( 'Disapproved' ) ); $lists['approved'] = moscomprofilerHTML::selectList( $list_approved, 'approved', 'class="inputbox" size="1"', 'value', 'text', $user->approved, 2, false ); $lists['confirmed'] = moscomprofilerHTML::yesnoSelectList( 'confirmed', 'class="inputbox" size="1"', $user->confirmed ); // build the html select list $lists['sendEmail'] = moscomprofilerHTML::yesnoSelectList( 'sendEmail', 'class="inputbox" size="1"', $user->sendEmail ); $paramField = new moscomprofilerFields( $_CB_database ); $paramField->title = CBTxt::T( 'Group' ); $paramField->_html = $lists['gid']; $paramField->description = ''; $paramField->name = 'gid'; $pseudoFields[] = $paramField; if ( $canBlockUser ) { $paramField = new moscomprofilerFields( $_CB_database ); $paramField->title = CBTxt::T( 'Block User' ); $paramField->_html = $lists['block']; $paramField->description = ''; $paramField->name = 'block'; $pseudoFields[] = $paramField; $paramField = new moscomprofilerFields( $_CB_database ); $paramField->title = CBTxt::T( 'Approve User' ); $paramField->_html = $lists['approved']; $paramField->description = ''; $paramField->name = 'approved'; $pseudoFields[] = $paramField; $paramField = new moscomprofilerFields( $_CB_database ); $paramField->title = CBTxt::T( 'Confirm User' ); $paramField->_html = $lists['confirmed']; $paramField->description = ''; $paramField->name = 'confirmed'; $pseudoFields[] = $paramField; } $paramField = new moscomprofilerFields( $_CB_database ); $paramField->title = CBTxt::T( 'Receive Moderator Emails' ); if ($canEmailEvents || $user->sendEmail) { $paramField->_html = $lists['sendEmail']; } else { $paramField->_html = CBTxt::T('No (User\'s group-level doesn\'t allow this)') . '<input type="hidden" name="sendEmail" value="0" />'; } $paramField->description = ''; $paramField->name = 'sendEmail'; $pseudoFields[] = $paramField; if( $user->id) { $paramField = new moscomprofilerFields( $_CB_database ); $paramField->title = CBTxt::T( 'Register Date' ); $paramField->_html = cbFormatDate( $user->registerDate ); $paramField->description = ''; $paramField->name = 'registerDate'; $pseudoFields[] = $paramField; $paramField = new moscomprofilerFields( $_CB_database ); $paramField->title = CBTxt::T( 'Last Visit Date' ); $paramField->_html = cbFormatDate( $user->lastvisitDate ); $paramField->description = ''; $paramField->name = 'lastvisitDate'; $pseudoFields[] = $paramField; } } switch ( $output ) { case 'htmledit': foreach ( $pseudoFields as $paramField ) { $paramField->required = $this->_isRequired( $field, $user, $reason ); $paramField->profile = $field->profile; $results .= parent::getFieldRow( $paramField, $user, $output, $formatting, $reason, $list_compare_types ); } unset( $pseudoFields ); return $results; break; default: return null; break; } }
/** * Formatter: * Returns a 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 'tr', 'td', 'div', 'span', 'none', 'table'?? * @param string $reason 'profile' for user profile view, 'edit' for profile edit, 'register' for registration, 'search' for searches * @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 ) { $return = null; if ( ( ! Application::Cms()->getClientId() ) && ( ! Application::MyUser()->isGlobalModerator() ) && ( $output == 'htmledit' ) && in_array( $reason, array( 'register', 'edit' ) ) ) { $field->set( 'searchable', 0 ); $field->set( 'profile', 0 ); $field->set( 'readonly', 0 ); $field->set( 'required', 1 ); $return = parent::getFieldRow( $field, $user, $output, $formatting, $reason, $list_compare_types ); } return $return; }
/** * @param FieldTable $field * @param UserTable $user * @param string $output * @param string $formatting * @param string $reason * @param int $list_compare_types * @return mixed|null */ public function getFieldRow( &$field, &$user, $output, $formatting, $reason, $list_compare_types ) { $return = null; if ( ( ! Application::Cms()->getClientId() ) && ( $output == 'htmledit' ) && ( $reason == 'edit' ) && $user->get( 'id' ) && ( ! cbprivacyClass::checkUserModerator( $user->get( 'id' ) ) ) ) { $field->set( 'registration', 0 ); $field->set( 'profile', 0 ); $field->set( 'required', 0 ); $field->set( 'readonly', 0 ); $return = parent::getFieldRow( $field, $user, $output, $formatting, $reason, $list_compare_types ); } return $return; }