* Invision Power Services * IP.Board v3.3.4 * ACP members skin file * Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $ * * * @author $Author: bfarber $ * @copyright (c) 2001 - 2009 Invision Power Services, Inc. * @license http://www.invisionpower.com/company/standards.php#license * @package IP.Board * @subpackage Members * @link http://www.invisionpower.com * @since 20th February 2002 * @version $Rev: 10914 $ * */ class cp_skin_member { /** * Registry Object Shortcuts * * @var $registry * @var $DB * @var $settings * @var $request * @var $lang * @var $member * @var $memberData * @var $cache * @var $caches */ protected $registry; protected $DB; protected $settings; protected $request; protected $lang; protected $member; protected $memberData; protected $cache; protected $caches; /** * Constructor * * @param object $registry Registry object * @return @e void */ public function __construct( ipsRegistry $registry ) { $this->registry = $registry; $this->DB = $this->registry->DB(); $this->settings =& $this->registry->fetchSettings(); $this->request =& $this->registry->fetchRequest(); $this->member = $this->registry->member(); $this->memberData =& $this->registry->member()->fetchMemberData(); $this->cache = $this->registry->cache(); $this->caches =& $this->registry->cache()->fetchCaches(); $this->lang = $this->registry->class_localization; } /** * Member editing screen * * @param array Member data * @param array Content * @param string Menu * @param array Notification data * @return string HTML */ public function member_view( $member, $content, $menu, $notifications ) { // Let's get to work..... :/ $_m_groups = array(); $_m_groups_others = array(); $member['_cache'] = @unserialize( $member['members_cache'] ); foreach( ipsRegistry::cache()->getCache('group_cache') as $id => $data ) { // If we are viewing our own profile, don't show non admin groups as a primary group option to prevent the user from // accidentally removing their own ACP access. Groups without ACP access can still be selected as secondary groups. if ( $member['member_id'] == $this->memberData['member_id'] ) { //----------------------------------------- // If we can't access cp via primary group //----------------------------------------- if( !$this->caches['group_cache'][ $member['member_group_id'] ]['g_access_cp'] ) { //----------------------------------------- // Can this group access cp? //----------------------------------------- if ( ! $data['g_access_cp'] ) { $_m_groups[] = array( $data['g_id'], $data['g_title'] ); $_m_groups_others[] = array( $data['g_id'], $data['g_title'] ); } //----------------------------------------- // It can? //----------------------------------------- else { $_m_groups_others[] = array( $data['g_id'], $data['g_title'] ); } } //----------------------------------------- // We can access acp, so whatever //----------------------------------------- else { if ( ! $data['g_access_cp'] ) { $_m_groups_others[] = array( $data['g_id'], $data['g_title'] ); } else { $_m_groups[] = array( $data['g_id'], $data['g_title'] ); $_m_groups_others[] = array( $data['g_id'], $data['g_title'] ); } } } else { $_m_groups[] = array( $data['g_id'], $data['g_title'] ); $_m_groups_others[] = array( $data['g_id'], $data['g_title'] ); } } $years = array( array( 0, '----' ) ); $months = array( array( 0, '--------' ) ); $days = array( array( 0, '--' ) ); foreach( range( 1, 31 ) as $_day ) { $days[] = array( $_day, $_day ); } foreach( array_reverse( range( date( 'Y' ) - 100, date('Y') ) ) as $_year ) { $years[] = array( $_year, $_year ); } foreach( range( 1, 12 ) as $_month ) { $months[] = array( $_month, $this->lang->words['M_' . $_month ] ); } $time_zones = array(); foreach( $this->lang->words as $k => $v ) { if( strpos( $k, 'time_' ) === 0 ) { if( preg_match( "/[\-0-9]/", substr( $k, 5 ) ) ) { $offset = floatval( substr( $k, 5 ) ); $time_zones[] = array( $offset, $v ); } } } $languages = array(); foreach( ipsRegistry::cache()->getCache( 'lang_data' ) as $language ) { $languages[] = array( $language['lang_id'], $language['lang_title'] ); } $pm_options = array( 0 => array( 0, $this->lang->words['mem_edit_pm_no'] ), 1 => array( 1, $this->lang->words['mem_edit_pm_yes'] ), 2 => array( 2, $this->lang->words['mem_edit_pm_yes_really'] ), ); $_skin_list = $this->registry->output->generateSkinDropdown(); array_unshift( $_skin_list, array( 0, $this->lang->words['sm_skinnone'] ) ); $skinList = ipsRegistry::getClass('output')->formDropdown( "skin", $_skin_list, $member['skin'] ); $form_member_group_id = ipsRegistry::getClass('output')->formDropdown( "member_group_id", $_m_groups, $member['member_group_id'] ); $form_mgroup_others = ipsRegistry::getClass('output')->formMultiDropdown( "mgroup_others[]", $_m_groups_others, explode( ",", $member['mgroup_others'] ), 8, 'mgroup_others' ); $form_title = ipsRegistry::getClass('output')->formInput( "title", $member['title'] ); $form_warn = ipsRegistry::getClass('output')->formInput( "warn_level", $member['warn_level'] ); $_form_year = ipsRegistry::getClass('output')->formDropdown( "bday_year", $years, $member['bday_year'] ); $_form_month = ipsRegistry::getClass('output')->formDropdown( "bday_month", $months, $member['bday_month'] ); $_form_day = ipsRegistry::getClass('output')->formDropdown( "bday_day", $days, $member['bday_day'] ); $form_time_offset = ipsRegistry::getClass('output')->formDropdown( "time_offset", $time_zones, $member['time_offset'] ? floatval( $member['time_offset'] ) : 0 ); $form_auto_dst = ipsRegistry::getClass('output')->formCheckbox( "dstCheck", $member['members_auto_dst'], 1, "dst", "onclick='toggle_dst()'" ); $form_dst_now = ipsRegistry::getClass('output')->formCheckbox( "dstOption", $member['dst_in_use'], 1, "dstManual" ); $form_language = ipsRegistry::getClass('output')->formDropdown( "language", $languages, $member['language'] ); $form_allow_admin_mails = ipsRegistry::getClass('output')->formYesNo( "allow_admin_mails", $member['allow_admin_mails'] ); $form_members_disable_pm = ipsRegistry::getClass('output')->formDropdown( "members_disable_pm", $pm_options, $member['members_disable_pm'] ); $form_view_sig = ipsRegistry::getClass('output')->formYesNo( "view_sigs", $member['view_sigs'] ); $form_reputation_points = ipsRegistry::getClass('output')->formInput( 'pp_reputation_points', $member['pp_reputation_points'] ); $bw_no_status_update = ipsRegistry::getClass('output')->formYesNo( "bw_no_status_update", $member['bw_no_status_update'] ); $bw_disable_customization = ipsRegistry::getClass('output')->formYesNo( "bw_disable_customization", $member['bw_disable_customization'] ); $form_uploader = ipsRegistry::getClass('output')->formDropdown( "member_uploader", array( array( 'flash', $this->lang->words['mem__flashuploader'] ), array( 'default', $this->lang->words['mem__defuploader'] ) ), $member['member_uploader'] ); $form_popup = ipsRegistry::getClass('output')->formYesNo( "show_notification_popup", $member['_cache']['show_notification_popup'] ); $form_autotrack = ipsRegistry::getClass('output')->formYesNo( "auto_track", $member['auto_track'] ? 1 : 0 ); $form_autotrackmthd = ipsRegistry::getClass('output')->formDropdown( "auto_track_method", array( array( 'none', $this->lang->words['mem__auto_none'] ), array( 'immediate', $this->lang->words['mem__auto_immediate'] ), array( 'offline', $this->lang->words['mem__auto_delayed'] ), array( 'daily', $this->lang->words['mem__auto_daily'] ), array( 'weekly', $this->lang->words['mem__auto_weekly'] ), ), $member['auto_track'] ); $secure_key = ipsRegistry::getClass('adminFunctions')->getSecurityKey(); $ban_member_text = $member['member_banned'] ? $this->lang->words['sm_unban'] : $this->lang->words['sm_ban']; $spam_member_text = $member['bw_is_spammer'] ? $this->lang->words['sm_unspam'] : $this->lang->words['sm_spam']; $bw_disable_tagging = ipsRegistry::getClass('output')->formYesNo( "bw_disable_tagging", $member['bw_disable_tagging'] ); $bw_disable_prefixes = ipsRegistry::getClass('output')->formYesNo( "bw_disable_prefixes", $member['bw_disable_prefixes'] ); //----------------------------------------- // Comments and friends.. //----------------------------------------- $pp_visitors = ipsRegistry::getClass('output')->formYesNo( "pp_setting_count_visitors", $member['pp_setting_count_visitors'] ); $pp_enable_comments = ipsRegistry::getClass('output')->formYesNo( "pp_setting_count_comments", $member['pp_setting_count_comments'] ); $pp_enable_friends = ipsRegistry::getClass('output')->formYesNo( "pp_setting_count_friends", $member['pp_setting_count_friends'] ); $_commentsApprove = array( array( '0', $this->lang->words['sm_comments_app_none'] ), array( '1', $this->lang->words['sm_comments_app_on'] ), ); $_friendsApprove = array( array( '0', $this->lang->words['sm_friends_app_none'] ), array( '1', $this->lang->words['sm_friends_app_on'] ), ); $pp_comments_approve= ipsRegistry::getClass('output')->formDropdown( "pp_setting_moderate_comments", $_commentsApprove, $member['pp_setting_moderate_comments'] ); $pp_friends_approve = ipsRegistry::getClass('output')->formDropdown( "pp_setting_moderate_friends", $_friendsApprove, $member['pp_setting_moderate_friends'] ); $suspend_date = ''; if( $member['temp_ban'] ) { $s_ban = IPSMember::processBanEntry( $member['temp_ban'] ); $suspend_date = "
" . $this->lang->words['member_supsended_til'] . ' ' . ipsRegistry::getClass('class_localization')->getDate( $s_ban['date_end'], 'LONG', 1 ) . "
"; } $IPBHTML = ""; $IPBHTML .= <<

{$this->lang->words['editing_member']} {$member['members_display_name']}