bf_ugp_forumpermissions['canview']) OR !($permissions['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canviewmembers'])) { print_no_permission(); } // bootstrap framework require_once(DIR . '/includes/class_bootstrap_framework.php'); vB_Bootstrap_Framework::init(); $vbulletin->input->clean_array_gpc('r', array( 'find' => TYPE_STR, 'moderatorid' => TYPE_UINT, 'userid' => TYPE_UINT, 'username' => TYPE_NOHTML, 'token' => TYPE_STR, )); ($hook = vBulletinHook::fetch_hook('member_start')) ? eval($hook) : false; if ($vbulletin->GPC['find'] == 'firstposter' AND $threadinfo['threadid']) { if ((!$threadinfo['visible'] AND !can_moderate($threadinfo['forumid'], 'canmoderateposts')) OR ($threadinfo['isdeleted'] AND !can_moderate($threadinfo['forumid']))) { eval(standard_error(fetch_error('invalidid', $vbphrase['thread'], $vbulletin->options['contactuslink']))); } if (in_coventry($threadinfo['postuserid']) AND !can_moderate($threadinfo['forumid'])) { eval(standard_error(fetch_error('invalidid', $vbphrase['thread'], $vbulletin->options['contactuslink']))); } $forumperms = fetch_permissions($threadinfo['forumid']); if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview'])) { print_no_permission(); } if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canviewothers']) AND ($threadinfo['postuserid'] != $vbulletin->userinfo['userid'] OR $vbulletin->userinfo['userid'] == 0)) { print_no_permission(); } exec_header_redirect(fetch_seo_url('member|js', $threadinfo, null, 'postuserid', 'postusername')); } else if ($vbulletin->GPC['find'] == 'lastposter' AND $threadinfo['threadid']) { if ((!$threadinfo['visible'] AND !can_moderate($threadinfo['forumid'], 'canmoderateposts')) OR ($threadinfo['isdeleted'] AND !can_moderate($threadinfo['forumid']))) { eval(standard_error(fetch_error('invalidid', $vbphrase['thread'], $vbulletin->options['contactuslink']))); } if (in_coventry($threadinfo['postuserid']) AND !can_moderate($threadinfo['forumid'])) { eval(standard_error(fetch_error('invalidid', $vbphrase['thread'], $vbulletin->options['contactuslink']))); } $forumperms = fetch_permissions($threadinfo['forumid']); if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview'])) { print_no_permission(); } if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canviewothers']) AND ($threadinfo['postuserid'] != $vbulletin->userinfo['userid'] OR $vbulletin->userinfo['userid'] == 0)) { print_no_permission(); } require_once(DIR . '/includes/functions_bigthree.php'); $coventry = fetch_coventry('string'); $getuserid = $db->query_first_slave(" SELECT post.userid, post.username FROM " . TABLE_PREFIX . "post AS post WHERE post.threadid = $threadinfo[threadid] AND post.visible = 1 ". ($coventry ? "AND post.userid NOT IN ($coventry)" : '') . " ORDER BY dateline DESC LIMIT 1 "); exec_header_redirect(fetch_seo_url('member|js', $getuserid)); } else if ($vbulletin->GPC['find'] == 'lastposter' AND $foruminfo['forumid']) { $_permsgetter_ = 'lastposter fperms'; $forumperms = fetch_permissions($foruminfo['forumid']); if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview'])) { print_no_permission(); } if ($vbulletin->userinfo['userid'] AND in_coventry($vbulletin->userinfo['userid'], true)) { $tachyjoin = "LEFT JOIN " . TABLE_PREFIX . "tachythreadpost AS tachythreadpost ON " . "(tachythreadpost.threadid = thread.threadid AND tachythreadpost.userid = " . $vbulletin->userinfo['userid'] . ')'; } else { $tachyjoin = ''; } // check if there is a forum password and if so, ensure the user has it set verify_forum_password($foruminfo['forumid'], $foruminfo['password']); $forumslist = $forumid; require_once(DIR . '/includes/functions_bigthree.php'); // this isn't including moderator checks, because the last post checks don't either if ($coventry = fetch_coventry('string')) // takes self into account { $globalignore_post = "AND post.userid NOT IN ($coventry)"; $globalignore_thread = "AND thread.postuserid NOT IN ($coventry)"; } else { $globalignore_post = ''; $globalignore_thread = ''; } cache_ordered_forums(1); $datecutoff = $vbulletin->forumcache["$foruminfo[forumid]"]['lastpost'] - 30; $thread = $db->query_first_slave(" SELECT thread.threadid " . ($tachyjoin ? ', IF(tachythreadpost.lastpost > thread.lastpost, tachythreadpost.lastpost, thread.lastpost) AS lastpost' : '') . " FROM " . TABLE_PREFIX . "thread AS thread $tachyjoin WHERE thread.forumid = $forumid AND thread.visible = 1 AND thread.sticky IN (0,1) AND thread.open <> 10 " . (!$tachyjoin ? "AND lastpost > $datecutoff" : '') . " $globalignore_thread ORDER BY lastpost DESC LIMIT 1 "); if (!$thread) { eval(standard_error(fetch_error('invalidid', $vbphrase['user'], $vbulletin->options['contactuslink']))); } $getuserid = $db->query_first_slave(" SELECT post.userid, post.username FROM " . TABLE_PREFIX . "post AS post WHERE threadid = $thread[threadid] AND visible = 1 $globalignore_post ORDER BY dateline DESC LIMIT 1 "); if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canviewothers']) AND ($getuserid['userid'] != $vbulletin->userinfo['userid'] OR $vbulletin->userinfo['userid'] == 0)) { print_no_permission(); } exec_header_redirect(fetch_seo_url('member|js', $getuserid)); } else if ($vbulletin->GPC['username'] != '' AND !$vbulletin->GPC['userid']) { $user = $db->query_first_slave("SELECT userid FROM " . TABLE_PREFIX . "user WHERE username = '" . $db->escape_string($vbulletin->GPC['username']) . "'"); $vbulletin->GPC['userid'] = $user['userid']; } if (!$vbulletin->GPC['userid']) { eval(standard_error(fetch_error('unregistereduser'))); } $fetch_userinfo_options = ( FETCH_USERINFO_AVATAR | FETCH_USERINFO_LOCATION | FETCH_USERINFO_PROFILEPIC | FETCH_USERINFO_SIGPIC | FETCH_USERINFO_USERCSS | FETCH_USERINFO_ISFRIEND ); ($hook = vBulletinHook::fetch_hook('member_start_fetch_user')) ? eval($hook) : false; $userinfo = verify_id('user', $vbulletin->GPC['userid'], true, true, $fetch_userinfo_options); if ($userinfo['usergroupid'] == 4 AND !($permissions['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions['cancontrolpanel'])) { print_no_permission(); } // verify that we are at the canonical SEO url // and redirect to this if not verify_seo_url('member|js', $userinfo); /* Swap the show user css option before loading the profile. */ if ($_REQUEST['do'] == 'swapcss') { if (verify_security_token($vbulletin->GPC['token'], $vbulletin->userinfo['securitytoken_raw'])) { if ($vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_profile_styling']) { $userdata =& datamanager_init('User', $vbulletin, ERRTYPE_STANDARD); $userdata->set_existing($vbulletin->userinfo); $userdata->set_bitfield('options', 'showusercss', ($vbulletin->userinfo['options'] & $vbulletin->bf_misc_useroptions['showusercss'] ? 0 : 1)); $userdata->save(); $vbulletin->url = fetch_seo_url('member', $userinfo); print_standard_redirect('redirect_usercss_toggled'); } } else { // Invalid token. print_no_permission(); } } $show['vcard'] = ($vbulletin->userinfo['userid'] AND $userinfo['showvcard']); if ($_REQUEST['do'] == 'vcard' AND $show['vcard']) { // source: http://www.ietf.org/rfc/rfc2426.txt $text = "BEGIN:VCARD\r\n"; $text .= "VERSION:2.1\r\n"; $text .= "N:;$userinfo[username]\r\n"; $text .= "FN:$userinfo[username]\r\n"; $text .= "EMAIL;PREF;INTERNET:$userinfo[email]\r\n"; if (!empty($userinfo['birthday'][7]) AND $userinfo['showbirthday'] == 2) { $birthday = explode('-', $userinfo['birthday']); $text .= "BDAY:$birthday[2]-$birthday[0]-$birthday[1]\r\n"; } if (!empty($userinfo['homepage'])) { $text .= "URL:$userinfo[homepage]\r\n"; } $text .= 'REV:' . date('Y-m-d') . 'T' . date('H:i:s') . "Z\r\n"; $text .= "END:VCARD\r\n"; $filename = $userinfo['userid'] . '.vcf'; header("Content-Disposition: attachment; filename=$filename"); header('Content-Length: ' . strlen($text)); header('Connection: close'); header("Content-Type: text/x-vCard; name=$filename"); echo $text; exit; } // display user info $userperms = cache_permissions($userinfo, false); $show['edit_profile'] = (($vbulletin->userinfo['permissions']['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions['cancontrolpanel']) OR can_moderate(0, 'canviewprofile')); // Check if blog is installed, and show link if so $show['viewblog'] = $vbulletin->products['vbblog']; // Check if CMS is installed, and show link if so $show['viewarticles'] = $vbulletin->products['vbcms']; ($hook = vBulletinHook::fetch_hook('member_execute_start')) ? eval($hook) : false; require_once(DIR . '/includes/class_userprofile.php'); require_once(DIR . '/includes/class_profileblock.php'); $vbulletin->input->clean_array_gpc('r', array( 'pagenumber' => TYPE_UINT, 'tab' => TYPE_NOHTML, 'perpage' => TYPE_UINT, 'vmid' => TYPE_UINT, 'showignored' => TYPE_BOOL, 'simple' => TYPE_BOOL, )); if ($vbulletin->GPC['vmid'] AND !$vbulletin->GPC['tab']) { $vbulletin->GPC['tab'] = 'visitor_messaging'; } $profileobj = new vB_UserProfile($vbulletin, $userinfo); $profileobj->prepare_blogurl(); $blockfactory = new vB_ProfileBlockFactory($vbulletin, $profileobj); $prepared =& $profileobj->prepared; $blocks = array(); $tabs = array(); $tablinks = array(); $blocklist = array( 'stats_mini' => array( 'class' => 'MiniStats', 'title' => $vbphrase['mini_statistics'], ), 'friends_mini' => array( 'class' => 'Friends', 'title' => $vbphrase['friends'], ), 'albums' => array( 'class' => 'Albums', 'title' => $vbphrase['albums'], ), 'visitors' => array( 'class' => 'RecentVisitors', 'title' => $vbphrase['recent_visitors'], 'options' => array( 'profilemaxvisitors' => $vbulletin->options['profilemaxvisitors'] ) ), 'groups' => array( 'class' => 'Groups', 'title' => $vbphrase['group_memberships'], ), // VMs must come before Stats to save a query 'visitor_messaging' => array( 'class' => 'VisitorMessaging', 'title' => $vbphrase['visitor_messages_tab'], 'options' => array( 'pagenumber' => $vbulletin->GPC['pagenumber'], 'tab' => $vbulletin->GPC['tab'], 'vmid' => $vbulletin->GPC['vmid'], 'showignored' => $vbulletin->GPC['showignored'], ) ), // stats must come before about me to display stats in the about me tab 'stats' => array( 'class' => 'Statistics', 'title' => $vbphrase['statistics'], ), 'aboutme' => array( 'class' => 'AboutMe', 'title' => $vbphrase['about_me'], 'options' => array( 'simple' => $vbulletin->GPC['simple'], ), ), 'contactinfo' => array( 'class' => 'ContactInfo', 'title' => $vbphrase['contact_info'], ), 'friends' => array( 'class' => 'Friends', 'title' => $vbphrase['friends'], 'type' => 'tab', 'options' => array( 'fetchamount' => $vbulletin->options['friends_per_page'], 'membertemplate' => 'memberinfo_small', 'template_override' => 'memberinfo_block_friends', 'pagenumber' => $vbulletin->GPC['pagenumber'], 'tab' => $vbulletin->GPC['tab'], 'fetchorder' => 'asc', ), ), 'infractions' => array( 'class' => 'Infractions', 'title' => $vbphrase['infractions'], 'options' => array( 'pagenumber' => $vbulletin->GPC['pagenumber'], 'tab' => $vbulletin->GPC['tab'], ), ), 'profile_picture' => array( 'class' => 'ProfilePicture' ) ); if (!empty($vbulletin->GPC['tab']) AND !empty($vbulletin->GPC['perpage']) AND isset($blocklist["{$vbulletin->GPC['tab']}"])) { $blocklist["{$vbulletin->GPC['tab']}"]['options']['perpage'] = $vbulletin->GPC['perpage']; } $vbulletin->GPC['simple'] = ($prepared['myprofile'] ? $vbulletin->GPC['simple'] : false); $profileblock =& $blockfactory->fetch('ProfileFields'); $profileblock->build_field_data($vbulletin->GPC['simple']); foreach ($profileblock->locations AS $profilecategoryid => $location) { if ($location) { if (strpos($location, 'profile_tabs') !== false) { $wrap = false; } else { $wrap = true; } $blocklist["profile_cat$profilecategoryid"] = array( 'class' => 'ProfileFields', 'title' => $vbphrase["category{$profilecategoryid}_title"], 'options' => array( 'category' => $profilecategoryid, 'simple' => $vbulletin->GPC['simple'], ), 'hook_location' => $location, 'wrap' => $wrap, ); } } ($hook = vBulletinHook::fetch_hook('member_build_blocks_start')) ? eval($hook) : false; if (!empty($vbulletin->GPC['tab']) AND isset($blocklist["{$vbulletin->GPC['tab']}"])) { $selected_tab = $vbulletin->GPC['tab']; } else { $selected_tab = ''; } foreach ($blocklist AS $blockid => $blockinfo) { $blockobj = $blockfactory->fetch($blockinfo['class']); // added a new param for $blocklist var 'wrap'. if it's set to true, // the block html will be wrapped by memberinfo_block template. // but if this may not be what you want, then set it to false. // if you don't set it, it will be determined by 'nowrap' var of the instance of $blocklist['class'] if (isset($blockinfo['wrap'])) { if ($blockinfo['wrap'] == true) { $blockobj->nowrap = false; } else { $blockobj->nowrap = true; } } $block_html = $blockobj->fetch($blockinfo['title'], $blockid, $blockinfo['options'], $vbulletin->userinfo); if (!empty($blockinfo['hook_location'])) { if (!empty($block_html) && strpos($blockinfo['hook_location'], 'profile_tabs') !== false) { $templater = vB_Template::create('memberinfo_tab'); $templater->register('selected_tab', $selected_tab); $templater->register('blockid', $blockid); $templater->register('blockinfo', $blockinfo); $templater->register('taburl', fetch_seo_url('member', $userinfo, array('tab' => $blockid)) . "#$blockid"); $tab_html = $templater->render(); $template_hook["$blockinfo[hook_location]"] .= $tab_html; $template_hook["profile_tabs"] .= $block_html; } else { $template_hook["$blockinfo[hook_location]"] .= $block_html; } } else { $blocks["$blockid"] = $block_html; } } if ($vbulletin->userinfo['options'] & $vbulletin->bf_misc_useroptions['showusercss']) { $show['showusercss'] = 1; $usercss_switch_phrase = $vbphrase['hide_user_customizations']; } else { $show['showusercss'] = 0; $usercss_switch_phrase = $vbphrase['show_user_customizations']; } // check to see if we can see a 'Members List' link in the breadcrumb if ($vbulletin->options['enablememberlist'] AND $permissions['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canviewmembers']) { $navbits = construct_navbits(array( 'memberlist.php' . $vbulletin->session->vars['sessionurl_q'] => $vbphrase['members_list'], '' => $userinfo['username'] )); } else // no, we can't, so miss off that part of the breadcrumb { $navbits = construct_navbits(array( '' => $userinfo['username'] )); } if ($vbulletin->products['vbcms']) { $segments = array('type' =>'author', 'value' => $userinfo['userid'] . '-' . $userinfo['username']); $author_list_url = vBCms_Route_List::getURL($segments); } else { $author_list_url = ''; } $navbar = render_navbar_template($navbits); $templatename = 'MEMBERINFO'; if (!isset($vbulletin->bf_ugp_usercsspermissions['canusetheme'])) { $canusetheme = false; } else { $canusetheme = $vbulletin->userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['canusetheme'] ? true : false; } $cancustomize = $vbulletin->userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['cancustomize'] ? true : false; //Fairly complex permissions check. Does the admin allow customization? $show_customize_profile = (bool)($vbulletin->options['socnet'] & $vbulletin->bf_misc_socnet['enable_profile_styling']) ; //Even if so, there are a number of reasons not to show the link. if (!intval($vbulletin->userinfo['userid']) OR (($vbulletin->userinfo['userid']) != intval($userinfo['userid'])) OR (! $canusetheme AND !$cancustomize)) { $show_customize_profile = false; } $show['pmlink'] =& $show['pm']; // VBIV-12742 Lets be consistant with the name. ($hook = vBulletinHook::fetch_hook('member_complete')) ? eval($hook) : false; vB_dB_Assertor::init($vbulletin->db, $vbulletin->userinfo); //Now we need to get the css theme information if applicable if ($show_customize_profile) { $themes = vB_ProfileCustomize::getThemes(); if (empty($themes)) { $canusetheme = false; if (!$cancustomize) { $show_customize_profile = false; } } } $themes[-1] = vB_ProfileCustomize::getDefaultTheme(); $themes[-1]['title'] = $vbphrase['site_default_theme']; $themes[-1]['thumbnail'] = 'default_theme.png'; //We need to get the themes in rows of 4, and we also need to generate the //json version of the theme array we'll use for setting the events; $i = 0; $themelist = ''; $themeblock = array(); if ($show_customize_profile) { $themerow = array(); foreach ($themes as $themeid => $theme) { $theme['themeid'] = $themeid; $themerow[] = $theme; $i++; $themeblock[] = "\"$themeid\":\"profiletheme_$themeid\""; if ($i > 3) { $template = vB_Template::create('memberinfo_themerow'); $template->register('themes', $themerow); $themelist .= $template->render(); $i = 0; $themerow = array(); } } if ($i > 0) { $template = vB_Template::create('memberinfo_themerow'); $template->register('themes', $themerow); $themelist .= $template->render(); $i = 0; $themerow = array(); } } $jsblock = "settings_string = '{\\\n" . implode($themeblock, ",\\\n" ) . "}';\n" . "current_theme = '" . $initial_theme . "';\n"; $page_templater = vB_Template::create($templatename); $page_templater->register('styleid', $vbulletin->options['styleid']); $page_templater->register('timenow', TIMENOW); $page_templater->register('textdirection', $vbulletin->options['styleid']); $page_templater->register_page_templates(); $page_templater->register('blocks', $blocks); $page_templater->register('navbar', $navbar); $page_templater->register('prepared', $prepared); $page_templater->register('selected_tab', $selected_tab); $page_templater->register('template_hook', $template_hook); $page_templater->register('author_list_url', $author_list_url); $page_templater->register('usercss_switch_phrase', $usercss_switch_phrase); $page_templater->register('userinfo', $userinfo); $page_templater->register('show_customize_profile', $show_customize_profile); $page_templater->register('author_list_url', $author_list_url); $page_templater->register('show_userid', $vbulletin->GPC['userid']); $usertheme = vB_ProfileCustomize::getUserTheme($vbulletin->GPC['userid']); $show['userhastheme'] = (vB_ProfileCustomize::getUserThemeType($vbulletin->GPC['userid']) == 1) ? 1 : 0; if ($usertheme) { $jsblock .= "var userTheme = new Array();\n" ; foreach ($usertheme as $varname => $value) { if (stripos($varname, 'font') > -1) { continue; } if (preg_match('#<\s*script.*>#i', $value) > 0 ) { unset($usertheme[$varname]); continue; } $value = strtr($value, array('\\' => '\\\\', "'" => "\\'", '"' => '\\"', "\r" => '\\r', "\n" => '\\n', ' '<\/', '<' => '<', '>' => '>')); $jsblock .= "userTheme['$varname'] = '" . $value . "';\n"; } $jsblock .= "var select_color_information = '" . vB_Template_Runtime::escapeJS($vbphrase['select_color_information']) . "';\n"; $jsblock .= "var no_server_response = '" . vB_Template_Runtime::escapeJS($vbphrase['no_server_response']) . "';\n"; $jsblock .= "var not_a_valid_color = '" . vB_Template_Runtime::escapeJS($vbphrase['not_a_valid_color']) . "';\n"; $jsblock .= "var str_OK = '" . vB_Template_Runtime::escapeJS($vbphrase['okay']) . "';\n"; $jsblock .= "var str_exit = '" . vB_Template_Runtime::escapeJS($vbphrase['exit']) . "';\n"; $jsblock .= "var str_dont_exit = '" . vB_Template_Runtime::escapeJS($vbphrase['dont_exit']) . "';\n"; $jsblock .= "var profile_reverted_message = '" . vB_Template_Runtime::escapeJS($vbphrase['profile_reverted_message']) . "';\n"; $jsblock .= "var nothing_to_revert = '" . vB_Template_Runtime::escapeJS($vbphrase['nothing_to_revert']) . "';\n"; $jsblock .= "var confirm_sitedefault_save = '" . vB_Template_Runtime::escapeJS($vbphrase['confirm_sitedefault_msg']) . "';\n"; } //create the user profile customization interface if ($show_customize_profile) { require_once(DIR . '/includes/class_usercss.php'); $usercss = new vB_UserCSS($vbulletin, $vbulletin->userinfo['userid']); $allowedfonts = $usercss->build_select_option($vbulletin->options['usercss_allowed_fonts']); $jsblock .= "var default_font = '" . vB_Template_Runtime::escapeJS(vB::$vbulletin->stylevars['font']['family']) . "';\n"; $fontnames = "\n"; foreach ($allowedfonts AS $key => $font) { $selected = ($font == $usertheme['font_family'] ? 'selected="selected"' : ''); $fontnames .= "\n"; } $fontsizes = ''; $allowedsizes = $usercss->build_select_option($vbulletin->options['usercss_allowed_font_sizes']); $jsblock .= "var fontsizes = new Array();\n"; foreach ($allowedsizes as $key => $fontsize) { $selected = ($fontsize == $usertheme['fontsize'] ? 'selected="selected"' : ''); $phrasekey = str_replace('-', '', $fontsize); $fontsizes .= "\n"; $jsblock .= "fontsizes['$fontsize'] = '" . vB_Template_Runtime::escapeJS($vbphrase[$phrasekey]) . "';\n"; } require_once DIR . '/includes/adminfunctions.php'; $template = vB_Template::create('memberinfo_customize'); $template->register('fontnames', $fontnames); $template->register('fontsizes', $fontsizes); $template->register('themelist', $themelist); $template->register('canusetheme', $canusetheme); $template->register('cancustomize', $cancustomize); $template->register('is_superadmin', can_administer('cansetdefaultprofile') ? 1 : 0); $template->register('caneditfontfamily', $userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['caneditfontfamily']); $template->register('caneditfontsize', $userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['caneditfontsize']); $template->register('caneditbgimage', $userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['caneditbgimage']); $template->register('caneditcolors', $userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['caneditcolors']); $template->register('caneditborders', $userinfo['permissions']['usercsspermissions'] & $vbulletin->bf_ugp_usercsspermissions['caneditborders']); $template->register('contenttypeid', vB_Types::instance()->getContentTypeID('vBForum_Album')); $template->register('poststarttime', TIMENOW); $template->register('posthash', vB_Template_Runtime::escapeJS( md5(TIMENOW . $vbulletin->userinfo['userid'] . $vbulletin->userinfo['salt']))); //see if this user is using the asset manager. $show_albums = 'false'; //see if this user has an album we can use for background images. $albums = vB_dB_Assertor::getInstance()->assertQuery('firstPublicAlbum', array('userid' => $vbulletin->userinfo['userid'])); if ($albums->valid()) { $album = $albums->current(); if (!empty($album)) { //this user has at least one public album $show_albums = 'true'; } } $jsblock .= "var show_albums = $show_albums;\n"; $template->register('show_assetmanager', $show_albums == 'true'); //Now the initial variables. $template->register('title_text_color', $usertheme['title_text_color']); $template->register('module_text_color', $usertheme['module_text_color']); $template->register('module_link_color', $usertheme['module_link_color']); $template->register('module_border', $usertheme['module_border']); $template->register('content_text_color', $usertheme['content_text_color']); $template->register('content_link_color', $usertheme['content_link_color']); $template->register('content_border', $usertheme['content_border']); $template->register('button_text_color', $usertheme['button_text_color']); $template->register('button_border', $usertheme['button_border']); $template->register('moduleinactive_text_color', $usertheme['moduleinactive_text_color']); $template->register('moduleinactive_link_color', $usertheme['moduleinactive_link_color']); $template->register('moduleinactive_border', $usertheme['moduleinactive_border']); $template->register('headers_text_color', $usertheme['headers_text_color']); $template->register('headers_link_color', $usertheme['headers_link_color']); $template->register('headers_border', $usertheme['headers_border']); $template->register('page_link_color', $usertheme['page_link_color']); $template->register('page_background', (empty($usertheme['page_background_image']) OR $usertheme['page_background_image']=='none') ? $usertheme['page_background_color'] : $usertheme['page_background_image'] ); $template->register('module_background', (empty($usertheme['module_background_image']) OR $usertheme['module_background_image']=='none') ? $usertheme['module_background_color'] : $usertheme['module_background_image'] ); $template->register('content_background', (empty($usertheme['content_background_image']) OR $usertheme['content_background_image']=='none') ? $usertheme['content_background_color'] : $usertheme['content_background_image'] ); $template->register('button_background', (empty($usertheme['button_background_image']) OR $usertheme['button_background_image']=='none') ? $usertheme['button_background_color'] : $usertheme['button_background_image'] ); $template->register('moduleinactive_background', (empty($usertheme['moduleinactive_background_image']) OR $usertheme['moduleinactive_background_image']=='none') ? $usertheme['moduleinactive_background_color'] : $usertheme['moduleinactive_background_image'] ); $template->register('headers_background', (empty($usertheme['headers_background_image']) OR $usertheme['headers_background_image']=='none') ? $usertheme['headers_background_color'] : $usertheme['headers_background_image'] ); $memberinfo_customize = $template->render(); $page_templater->register('themes_js', $jsblock); $page_templater->register('memberinfo_customize', $memberinfo_customize); $page_templater->register('timenow', TIMENOW); $page_templater->register('posthash', vB_Template_Runtime::escapeJS( md5(TIMENOW . $vbulletin->userinfo['userid'] . $vbulletin->userinfo['salt']))); } print_output($page_templater->render(false)); /*======================================================================*\ || #################################################################### || # || # CVS: $RCSfile$ - $Revision: 50959 $ || #################################################################### \*======================================================================*/