function globalTemplate($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items = array(), $items = array(), $footer_items = array(), $stats = array())
 {
     $IPBHTML = "";
     $this->memberData['members_editor_choice'] = 'std';
     $this->templateVars['forumActive'] = "";
     $this->__default__templateVars['forumActive'] = "";
     if (IPS_APP_COMPONENT == 'forums') {
         $this->templateVars['forumActive'] = "active";
     } else {
         $this->templateVars['forumActive'] = $this->__default__templateVars['forumActive'];
     }
     $this->templateVars['membersActive'] = "";
     $this->__default__templateVars['membersActive'] = "";
     if (IPS_APP_COMPONENT == 'members') {
         $this->templateVars['membersActive'] = "active";
     } else {
         $this->templateVars['membersActive'] = $this->__default__templateVars['membersActive'];
     }
     $this->templateVars['helpActive'] = "";
     $this->__default__templateVars['helpActive'] = "";
     if (IPS_APP_COMPONENT == 'core' and $this->request['module'] == 'help') {
         $this->templateVars['helpActive'] = "active";
     } else {
         $this->templateVars['helpActive'] = $this->__default__templateVars['helpActive'];
     }
     $this->did_first = 0;
     $IPBHTML .= "\t<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n\t<html xml:lang=\"en\" lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\"" . (IPSLib::fbc_enabled() === TRUE ? " xmlns:fb=\"http://www.facebook.com/2008/fbml\"" : "") . ">\n\t<head>\n\t\t<meta http-equiv=\"content-type\" content=\"text/html; charset={$this->settings['gb_char_set']}\" />\n\t\t<title>{$header_items['title']}" . ($header_items['page'] ? " {$this->lang->words['page_title_page']} {$header_items['page']}" : "") . "</title>\n\t\t<link rel=\"shortcut icon\" href='" . ($this->registry->output->isHTTPS ? "{$this->settings['board_url_https']}" : "{$this->settings['board_url']}") . "/favicon.ico' />\n\t\t" . $this->registry->getClass('output')->getTemplate('global')->includeCSS($css) . "\n\t\t<!--<meta http-equiv=\"X-UA-Compatible\" content=\"IE=7\" />-->\n\t\t" . $this->registry->getClass('output')->getTemplate('global')->includeMeta($metaTags) . "" . $this->registry->getClass('output')->getTemplate('global')->includeFeeds($documentHeadItems) . "" . $this->registry->getClass('output')->getTemplate('global')->includeRTL() . "\t\t\n\t</head>\n\t<body id='ipboard_body'>\n\t\t<div id='ipbwrapper'>\n\t\t\t<p id='content_jump'><a id='top'></a><a href='#j_content' title='{$this->lang->words['jump_to_content']}' accesskey='m'>{$this->lang->words['jump_to_content']}</a></p>\n\t\t\t<div id='header'>\n\t\t\t\t<div id='branding'>\n\t\t\t\t\t<h1><a href='{$this->settings['board_url']}' title='{$this->settings['board_name']}'>{$this->settings['board_name']}</a>: {$header_items['title']}</h1>\n\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t" . ($this->memberData['member_id'] ? "<div id='user_navigation' class='logged_in'>\n\t\t\t\t\t\t<div id='user_info'>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t<span class='hide'>{$this->lang->words['logged_in_as']} </span>\n\t\t\t\t\t\t\t\t<a id='user_link' class='ipbmenu' href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("showuser={$this->memberData['member_id']}", 'public', ''), "{$this->memberData['members_seo_name']}", "showuser") . "\"  title='{$this->lang->words['your_profile']}'>{$this->memberData['members_display_name']}</a>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<ul id='user_link_menucontent'>\n\t\t\t\t\t\t\t\t<li id='user_profile'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("showuser={$this->memberData['member_id']}", 'public', ''), "{$this->memberData['members_seo_name']}", "showuser") . "' title='{$this->lang->words['your_profile']}'>{$this->lang->words['my_profile']}</a></li>\n\t\t\t\t\t\t\t\t<li id='user_ucp'><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=usercp", 'public', ''), "", "") . "\" title=\"{$this->lang->words['cp_tool_tip']}\">{$this->lang->words['your_cp']}</a></li>\n\t\t\t\t\t\t\t\t" . (($this->memberData['has_blog'] and IPSLib::appIsInstalled('blog')) ? "\n\t\t\t\t\t\t\t\t\t<li id='user_blog'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=blog&amp;module=display&amp;section=blog&amp;mid={$this->memberData['member_id']}", 'public', ''), "", "") . "' title=\"{$this->lang->words['go_to_my_blog']}\">{$this->lang->words['my_blog']}</a></li>\n\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t" . (($this->memberData['has_gallery'] and IPSLib::appIsInstalled('gallery')) ? "\n\t\t\t\t\t\t\t\t\t<li id='user_gallery'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=gallery&amp;module=user&amp;section=user&amp;user={$this->memberData['member_id']}", 'public', ''), "", "") . "' title=\"{$this->lang->words['go_to_my_gallery']}\">{$this->lang->words['my_gallery']}</a></li>\n\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t<ul id='user_other'>\n\t\t\t\t\t\t\t\t<li><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login&amp;do=logout&amp;k={$this->member->form_hash}", 'public', ''), "", "") . "\">{$this->lang->words['log_out']}</a></li>\n\t\t\t\t\t\t\t\t" . ($this->memberData['member_group_id'] == $this->settings['auth_group'] ? "\n\t\t\t\t\t\t\t\t\t<li><strong><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=register&amp;do=reval", 'public', ''), "", "") . "\" title='{$this->lang->words['resend_val']}'>{$this->lang->words['resend_val']}</a></strong></li>\n\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>" : "\n\t\t\t\t\t<div id='user_navigation' class='not_logged_in'>\n\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login", 'public', ''), "", "") . "' title='{$this->lang->words['sign_in']}'>" . $this->registry->getClass('output')->getReplacement("signin_icon") . " {$this->lang->words['sign_in']}</a>\n\t\t\t\t\t\t<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=register", 'public', ''), "", "") . "\" title='{$this->lang->words['register']}'>" . $this->registry->getClass('output')->getReplacement("register_icon") . " {$this->lang->words['register']}</a>\n\t\t\t\t\t</div>\n\t\t\t\t\n\t\t\t\t") . "\n\t\t\t\t\n\t\t\t\t<div id='primary_nav'>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t" . ($this->settings['home_url'] ? "\n\t\t\t\t\t\t\t<li id='nav_home' class='left'><a href='{$this->settings['home_url']}' title='{$this->lang->words['homepage_title']}' rel=\"home\">{$this->settings['home_name']}</a></li>\n\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li id='nav_discussion' class='left " . $this->templateVars["forumActive"] . "'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("act=idx", 'public', ''), "false", "") . "' title='{$this->lang->words['go_to_discussion']}'>{$this->lang->words['discussion']}</a></li>\n\t\t\t\t\t\t<li id='nav_members' class='left " . $this->templateVars["membersActive"] . "'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&amp;section=view&amp;module=list", 'public', ''), "", "") . "' title='{$this->lang->words['go_to_memberlist']}'>{$this->lang->words['tb_mlist']}</a></li>\n\t\t\t\t\t\t" . ((is_array($header_items['applications']) and count($header_items['applications'])) ? "\n\t\t\t\t\t\t\t" . $this->__f__d0004aa108d971bd0446e860e5970bb4($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t\n\t\t\t\t<div id='secondary_nav'>\n\t\t\t\t\t<ul id='breadcrumb' class='left'>\n\t\t\t\t\t\t\t\t\t\t\t\t" . ((!$this->settings['remove_forums_nav'] or ipsRegistry::$current_application == 'forums') ? "<li class='first'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("act=idx", 'public', ''), "false", "") . "'>{$this->settings['board_name']}</a></li>\n\t\t\t\t\t\t\t" . (($this->did_first = 1) ? "" : "") . "" : "") . "\n\t\t\t\t\t\t" . $this->__f__6539d3f75039d4ef4002e1c7ad34f59c($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div id='content'>\n\t\t\t\t<a id='j_content'></a>\n\t\t\t\t" . ($html ? "{$html}" : "") . "\n\t\t\t\t<br class='clear' />\n\t\t\t</div>\n\t\t\t<div id='footer_utilities' class='clearfix clear rounded'>\n\t\t\t\t<h2 class='hide'>{$this->lang->words['skin_and_lang']}</h2>\n\t\t\t\t" . ($this->settings['allow_skins'] ? "" . (($this->memberData['userAgentLocked'] and !$this->memberData['userAgentBypass']) ? "\n\t\t\t\t\t\t<p id='useragent_msg'>\n\t\t\t\t\t\t\t{$this->lang->words['skin_browser_set']} <a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$this->settings['query_string_formatted']}&amp;unlockUserAgent=1", 'public', ''), "", "") . "'>{$this->lang->words['override_browser_theme']}</a>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t" : "" . ($footer_items['skin_chooser'] ? "\n\t\t\t\t\t\t\t<form action=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$this->settings['query_string_formatted']}", 'public', ''), "", "") . "\" method=\"post\" class='left'>\n\t\t\t\t\t\t\t\t<fieldset>\n\t\t\t\t\t\t\t\t\t<input type='hidden' name='k' value='{$this->member->form_hash}' />\n\t\t\t\t\t\t\t\t\t<label for='newSkin' class='hide'>{$this->lang->words['theme_prefix']}</label>\n\t\t\t\t\t\t\t\t\t<select name=\"settingNewSkin\" id='newSkin'>\n\t\t\t\t\t\t\t\t\t\t{$footer_items['skin_chooser']}\n\t\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t\t<input type='submit' value='{$this->lang->words['jmp_go']}' class='input_submit alt' id='newSkinSubmit' />\n\t\t\t\t\t\t\t\t</fieldset>\n\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t" : "") . "") . "" : "") . "\n\t\t\t\t<form action=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$this->settings['query_string_formatted']}", 'public', ''), "", "") . "\" method=\"post\" class='left'>\n\t\t\t\t\t<fieldset>\n\t\t\t\t\t\t<input type='hidden' name='k' value='{$this->member->form_hash}' />\n\t\t\t\t\t\t<input type='hidden' name='setlanguage' value='1' />\n\t\t\t\t\t\t<input type=\"hidden\" name=\"langurlbits\" value=\"{$this->settings['query_string_safe']}&amp;cal_id={$this->request['cal_id']}\" />\n\t\t\t\t\t\t<label for='newLang' class='hide'>{$this->lang->words['language_prefix']}</label>\n\t\t\t\t\t\t<select name=\"langid\" id='newLang'>\n\t\t\t\t\t\t\t\t{$footer_items['lang_chooser']}\n\t\t\t\t\t\t</select>\n\t\t\t\t\t\t<input type='submit' class='input_submit alt' value='{$this->lang->words['jmp_go']}' id='newLangSubmit' />\n\t\t\t\t\t</fieldset>\n\t\t\t\t</form>\n\t\t\t</div>\n\t\t\t<!-- __FOOTER__ -->\n\t\t\t<!-- /__FOOTER__ -->\n\t\t\t<!--DEBUG_STATS-->\n\t\t\t<div id='board_footer'>\n\t\t\t\t<ul id='utility_links' class='left'>\n\t\t\t\t\t<li><a href='#top' title='{$this->lang->words['go_to_top']}'>{$this->lang->words['back_to_top']}</a></li>\n\t\t\t\t\t<li><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("", 'public', ''), "", "") . "' title='{$this->lang->words['sj_home']}'>{$this->lang->words['sj_home']}</a></li>\n\t\t\t\t\t<li><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login&amp;do=deleteCookies&amp;k={$this->member->form_hash}", 'public', ''), "", "") . "\" title='{$this->lang->words['delete_all_cookies_title']}'>{$this->lang->words['delete_my_cookies']}</a></li>\n\t\t\t\t\t<li><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=forums&amp;module=forums&amp;section=markasread&amp;marktype=all&amp;k={$this->member->form_hash}", 'public', ''), "", "") . "\" title='{$this->lang->words['mark_all_as_read']}'>{$this->lang->words['mark_board_as_read']}</a></li>\n\t\t\t\t</ul>\n\t\t\t\t{$footer_items['copyright']}\n\t\t\t</div>\n\t\t\t{$stats['task']}\n\t\t</div>\n\t</body>\n</html>";
     return $IPBHTML;
 }
 function globalTemplate($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items = array(), $items = array(), $footer_items = array(), $stats = array())
 {
     $IPBHTML = "";
     $this->templateVars['forumActive'] = "";
     $this->__default__templateVars['forumActive'] = "";
     if (IPS_APP_COMPONENT == 'forums') {
         $this->templateVars['forumActive'] = "active";
     } else {
         $this->templateVars['forumActive'] = $this->__default__templateVars['forumActive'];
     }
     $this->templateVars['membersActive'] = "";
     $this->__default__templateVars['membersActive'] = "";
     if (IPS_APP_COMPONENT == 'members') {
         $this->templateVars['membersActive'] = "active";
     } else {
         $this->templateVars['membersActive'] = $this->__default__templateVars['membersActive'];
     }
     $this->templateVars['helpActive'] = "";
     $this->__default__templateVars['helpActive'] = "";
     if (IPS_APP_COMPONENT == 'core' and $this->request['module'] == 'help') {
         $this->templateVars['helpActive'] = "active";
     } else {
         $this->templateVars['helpActive'] = $this->__default__templateVars['helpActive'];
     }
     $this->did_first = 0;
     $IPBHTML .= "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n\t<html xml:lang=\"en\" lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\"" . (IPSLib::fbc_enabled() === TRUE ? " xmlns:fb=\"http://www.facebook.com/2008/fbml\"" : "") . ">\n\t<head>\n\t\t<meta http-equiv=\"content-type\" content=\"text/html; charset={$this->settings['gb_char_set']}\" />\n\t\t<title>{$header_items['title']}" . ($header_items['page'] ? " {$this->lang->words['page_title_page']} {$header_items['page']}" : "") . "</title>\n\t\t<link rel=\"shortcut icon\" href='" . ($this->registry->output->isHTTPS ? "{$this->settings['board_url_https']}" : "{$this->settings['board_url']}") . "/favicon.ico' />\n\t\t<script type='text/javascript'>\n\t\t\tjsDebug = " . intval($this->settings['_jsDebug']) . "; /* Must come before JS includes */\n\t\t\tUSE_RTE = " . ($this->memberData['members_editor_choice'] == 'rte' && $this->memberData['_canUseRTE'] === TRUE ? "1" : "0") . ";\n\t\t\tinACP   = false;\n\t\t</script>\n\t\t" . $this->registry->getClass('output')->getTemplate('global')->includeCSS($css) . "\n\t\t<!--<meta http-equiv=\"X-UA-Compatible\" content=\"IE=7\" />-->\n\t\t" . $this->registry->getClass('output')->getTemplate('global')->includeMeta($metaTags) . "" . $this->registry->getClass('output')->getTemplate('global')->includeJS($jsModules) . "" . $this->registry->getClass('output')->getTemplate('global')->includeFeeds($documentHeadItems) . "" . $this->registry->getClass('output')->getTemplate('global')->includeRTL() . "\t\t\n\t\t" . $this->registry->getClass('output')->getTemplate('global')->includeVars() . "\n\t\t<script type='text/javascript'>\n\t\t\tLoader.boot();\n\t\t</script>\n\t</head>\n\t<body id='ipboard_body'>\n\t\t<div id='ipbwrapper'>\n\t\t\t<h1>{$this->settings['board_name']}: {$header_items['title']}</h1>\n\t\t\t<p id='content_jump'><a id='top'></a><a href='#j_content' title='{$this->lang->words['jump_to_content']}' accesskey='m'>{$this->lang->words['jump_to_content']}</a></p>\n\t\t\n\t\t\t" . (($this->memberData['g_is_supmod'] == 1 or isset($this->memberData['access_report_center']) and $this->memberData['access_report_center']) ? "<div id='admin_bar'>\n\t\t\t\t\t" . (($this->memberData['g_access_cp'] == 1 and $this->settings['security_remove_acp_link'] == 0) ? "\n\t\t\t\t\t<p class='right'>\n\t\t\t\t\t\t<a href=\"{$this->settings['_admin_link']}\" title='{$this->lang->words['admin_cp']}'>{$this->lang->words['login_to_acp']} &gt;</a>\n\t\t\t\t\t</p>\n\t\t\t\t\t" : "") . "\n\t\t\t\t\t<strong>{$this->lang->words['mod_tools']}</strong> \n\t\t\t\t\t<ul id='mod_tools'>\n\t\t\t\t\t\t" . ($this->memberData['g_is_supmod'] == 1 ? "\n\t\t\t\t\t\t\t<li><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=usercp&amp;tab=members&amp;area=mod_ipaddress", 'public', ''), "", "") . "' title='{$this->lang->words['ip_lookup']}'>{$this->lang->words['ip_lookup']}</a></li>\n\t\t\t\t\t\t\t<li><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=usercp&amp;tab=forums&amp;area=modAddAnnouncement&amp;do=add", 'public', ''), "", "") . "' title='{$this->lang->words['post_announcement']}'>{$this->lang->words['post_announcement']}</a></li>\n\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t" . ($this->memberData['access_report_center'] ? "<li " . ($this->memberData['_cache']['report_num'] > 0 ? "class='active'" : "") . "><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=reports&amp;do=index", 'public', ''), "", "") . "\" title='{$this->lang->words['view_reports']}'>{$this->memberData['_cache']['report_num']} {$this->lang->words['report_member_bar']}</a></li>" : "") . "\n\t\t\t\t\t</ul>\n\t\t\t\t</div>" : "") . "\n\t\t\t<div id='header'>\n\t\t\t\t<div id='branding'>\n\t\t\t\t\t" . (method_exists($this->registry->output->getTemplate($this->registry->getCurrentApplication() . '_global'), 'overwriteHeader') ? "\n\t\t\t\t\t\t" . $this->registry->getClass('output')->getTemplate('' . $this->registry->getCurrentApplication() . '_global')->overwriteHeader() . "\n\t\t\t\t\t" : "\n\t\t\t\t\t\t" . $this->registry->getClass('output')->getTemplate('global')->defaultHeader() . "\n\t\t\t\t\t") . "\n\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t" . ($this->memberData['member_id'] ? "<div id='user_navigation' class='logged_in'>\n\t\t\t\t\t\t<img src='{$this->memberData['pp_thumb_photo']}' alt=\"{$this->memberData['members_display_name']}{$this->lang->words['users_photo']}\" width='{$this->memberData['pp_thumb_width']}' height='{$this->memberData['pp_thumb_height']}' class='photo' />\n\t\t\t\t\t\t<div id='user_info'>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t<span class='hide'>{$this->lang->words['logged_in_as']} </span>\nLogged in as\n\t\t\t\t\t\t\t\t<a id='user_link' class='ipbmenu' href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("showuser={$this->memberData['member_id']}", 'public', ''), "{$this->memberData['members_seo_name']}", "showuser") . "\"  title='{$this->lang->words['your_profile']}'>{$this->memberData['members_display_name']} <img src='{$this->settings['img_url']}/opts_arrow.png' alt='&gt;' /></a>" . ($this->memberData['msg_count_new'] != 0 ? "<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&amp;module=messaging", 'public', ''), "", "") . "' id='new_msg_count' title='{$this->memberData['msg_count_new']} {$this->lang->words['msg_new']}'>{$this->memberData['msg_count_new']}<span class='hide'> {$this->lang->words['msg_new']}</span></a>" : "") . "\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<ul id='user_link_menucontent'>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<ul id='user_other'>\n\t\t\t\t\t\t\t\t<li><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login&amp;do=logout&amp;k={$this->member->form_hash}", 'public', ''), "", "") . "\">{$this->lang->words['log_out']}</a></li>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t" . ($this->memberData['member_group_id'] == $this->settings['auth_group'] ? "\n\t\t\t\t\t\t\t\t\t<li><strong><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=register&amp;do=reval", 'public', ''), "", "") . "\" title='{$this->lang->words['resend_val']}'>{$this->lang->words['resend_val']}</a></strong></li>\n\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t<script type='text/javascript'>\n\t\t\t\t\t\t\t\tif( \$('user_link_menucontent') ){\n\t\t\t\t\t\t\t\t\t\$('user_link_menucontent').hide();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</script>\n\t\t\t\t\t\t\t" . $this->registry->getClass('output')->addJSModule("friends", "0") . "\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>" : "\n\t\t\t\t\t<div id='user_navigation' class='not_logged_in'>\n\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login", 'public', ''), "", "") . "' title='{$this->lang->words['sign_in']}'>" . $this->registry->getClass('output')->getReplacement("signin_icon") . " {$this->lang->words['sign_in']}</a>\n\t\t\t\t\t\t<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=register", 'public', ''), "", "") . "\" title='{$this->lang->words['register']}'>" . $this->registry->getClass('output')->getReplacement("register_icon") . " {$this->lang->words['register']}</a>\n\t\t\t\t\t\t<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=help", 'public', ''), "", "") . "\" title='{$this->lang->words['view_help']}' rel=\"help\" accesskey='6'>" . $this->registry->getClass('output')->getReplacement("help_icon") . " {$this->lang->words['sj_help']}</a>\n\t\t\t\t\t</div>\n\t\t\t\t\n\t\t\t\t") . "\n\t\t\t\n\t\t\t\t<div id='primary_nav'>\n\t\t\t\t\t<div id='search'>\n\t\t\t\t\t\t" . (!in_array($this->settings['search_method'], array('traditional', 'sphinx')) ? "\n\t\t\t\t\t\t<form action=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=search&amp;do=quick_search&amp;search_filter_app[all]=1", 'public', ''), "", "") . "\" method=\"post\" id='search-box' >\n\t\t\t\t\t\t" : "<form action=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=search&amp;do=quick_search&amp;search_filter_app[" . (!empty($this->request['search_app']) ? "{$this->request['search_app']}" : "" . (IPSSearchIndex::appIsSearchable($this->registry->getCurrentApplication()) ? "{$this->registry->getCurrentApplication()}" : "forums") . "") . "]=1", 'public', ''), "", "") . "\" method=\"post\" id='search-box' >") . "\n\t\t\t\t\t\t\t<fieldset>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<label for='main_search' class='hide'>{$this->lang->words['sj_search']}</label>\n\t\t\t\t\t\t\t\t<input type='text' id='main_search' name='search_term' class='text_input' size='17' tabindex='6' />\n\t\t\t\t\t\t\t\t<input type='submit' class='submit_input' value='{$this->lang->words['sj_search']}' />\n\t\t\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=search", 'public', ''), "", "") . "' title='{$this->lang->words['advanced_search']}' accesskey='4' rel=\"search\" id='adv_search'>{$this->lang->words['advanced']}</a>\n\t\t\t\t\t\t\t</fieldset>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t</div>\n\t\t\t\t\t<ul>\n\t\t\t\t\t" . ($this->settings['home_url'] ? "\n\t\t\t\t\t\t\t<li id='nav_home' class='left'><a href='{$this->settings['home_url']}' title='{$this->lang->words['homepage_title']}' rel=\"home\">{$this->settings['home_name']}</a></li>\n\t\t\t\t\t\t" : "") . " \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t" . ((is_array($header_items['applications']) and count($header_items['applications'])) ? "\n\t\t\t\t\t\t\t" . $this->__f__f3ef81aefc61e1ddbb3a00ce02d56217($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t\t" . (is_array($items['pmData']) ? "<div id='pm_notification'>\n\t\t\t\t\t\t<div id='pm_wrap'>\n\t\t\t\t\t\t\t<img src='{$items['pmData']['authorData']['pp_thumb_photo']}' alt=\"{$items['pmData']['authorData']['members_display_name']}{$this->lang->words['users_photo']}\" width='{$items['pmData']['authorData']['pp_thumb_width']}' height='{$items['pmData']['authorData']['pp_thumb_height']}' class='photo' />\n\t\t\t\t\t\t\t<h2>{$items['pmData']['authorData']['members_display_name']} " . ($items['pmData']['_type'] == 'new' ? "{$this->lang->words['sent_new_convo']}" : "{$this->lang->words['replied_convo']}") . "</h2>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t<strong>{$this->lang->words['pc_subject']}</strong> {$items['pmData']['mt_title']}<br />\n\t\t\t\t\t\t\t\t<strong>{$this->lang->words['pc_replies']}</strong> " . intval($items['pmData']['mt_replies']) . "<br />\n\t\t\t\t\t\t\t\t<strong>{$this->lang->words['pc_sent']}</strong> " . $this->registry->getClass('class_localization')->getDate($items['pmData']['msg_date'], "short", 0) . "\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<p class='excerpt'>\n\t\t\t\t\t\t\t\t" . IPSText::truncate($items['pmData']['msg_post'], 500) . "\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<ul class='topic_buttons ok_thanks'>\n\t\t\t\t\t\t\t\t<li><a href='#j_content' id='close_pm_notification'><img src='{$this->settings['img_url']}/cross.png' alt='{$this->lang->words['icon']}' /> {$this->lang->words['ignore_conversation']}</a></li>\n\t\t\t\t\t\t\t\t<li><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&amp;module=messaging&amp;section=view&amp;do=findMessage&amp;topicID={$items['pmData']['mt_id']}&amp;msgID=__firstUnread__", 'public', ''), "", "") . "'><img src='{$this->settings['img_url']}/email.png' alt='{$this->lang->words['icon']}' /> {$this->lang->words['global_pm_read']}</a></li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<script type='text/javascript'>\n\t\t\t\t\t\t\$('pm_notification').hide();\n\t\t\t\t\t</script>" : "") . "\n\t\t\t\n\t\t\t<!-- NAVIGATION TOP LEFT\t<div id='secondary_nav'>\n\t\t\t\t\t<ul id='breadcrumb' class='left'>\n\t\t\t\t\t\t\t\t\t\t\t\t" . ((!$this->settings['remove_forums_nav'] or ipsRegistry::$current_application == 'forums') ? "<li class='first'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("act=idx", 'public', ''), "false", "") . "'>{$this->settings['board_name']}</a></li>\n\t\t\t\t\t\t\t" . (($this->did_first = 1) ? "" : "") . "" : "") . " \n\t\t\t\t\t\t" . $this->__f__ce9338f8ac36f63d75adce3df1cb47a3($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "\t\t\t\t\t</ul>\n\t\t\t\t\t<ul id='section_links' class='right'>\n\t\t\t\t\t\t" . (($this->settings['gl_show'] and $this->settings['gl_title']) ? "<li><a href='" . ($this->settings['gl_link'] ? "{$this->settings['gl_link']}" : "" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=forums&amp;module=extras&amp;section=boardrules", 'public', ''), "", "") . "") . "'>" . ($this->settings['gl_title'] ? "{$this->settings['gl_title']}" : "{$this->lang->words['board_rules']}") . "</a></li>" : "") . "\n\t\t\t\t\t\t<li><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=search&amp;do=new_posts&amp;search_filter_app[" . (($this->registry->getCurrentApplication() != 'core' and IPSSearchIndex::appIsSearchable($this->registry->getCurrentApplication())) ? "{$this->registry->getCurrentApplication()}" : "forums") . "]=1", 'public', ''), "", "") . "' accesskey='2'>{$this->lang->words['view_new_posts']}</a></li>\n\t\t\t\t\t\t<li><img src='{$this->settings['img_url']}/feed.png' alt='{$this->lang->words['rss_feed']}' id='rss_feed' class='clickable' /></li> \n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>  -->\n\t\t\t<div id='content' class='clear'>\n\t\t\t\t<a id='j_content'></a>\n\t\t\t\t" . ($html ? "{$html}" : "") . "\n\t\t\t\t<br class='clear' />\n\t\t\t</div>\n\t\t\t<div id='footer_utilities' class='clearfix clear rounded'>\n\t\t\t\t<h2 class='hide'>{$this->lang->words['skin_and_lang']}</h2>\n\t\t\t\t" . (($this->settings['allow_skins'] and $footer_items['skin_chooser']) ? "" . (($this->memberData['userAgentLocked'] and !$this->memberData['userAgentBypass']) ? "\n\t\t\t\t\t\t<p id='useragent_msg'>\n\t\t\t\t\t\t\t{$this->lang->words['skin_browser_set']} <a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$this->settings['query_string_formatted']}&amp;unlockUserAgent=1", 'public', ''), "", "") . "'>{$this->lang->words['override_browser_theme']}</a>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t" : "\n\t\t\t\t\t\t<form action=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$this->settings['query_string_formatted']}", 'public', ''), "", "") . "\" method=\"post\" class='left'>\n\t\t\t\t\t\t\t<fieldset>\n\t\t\t\t\t\t\t\t<input type='hidden' name='k' value='{$this->member->form_hash}' />\n\t\t\t\t\t\t\t\t<label for='newSkin' class='hide'>{$this->lang->words['theme_prefix']}</label>\n\t\t\t\t\t\t\t\t<select name=\"settingNewSkin\" id='newSkin'>\n\t\t\t\t\t\t\t\t\t{$footer_items['skin_chooser']}\n\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t<input type='submit' value='{$this->lang->words['jmp_go']}' class='input_submit alt' id='newSkinSubmit' />\n\t\t\t\t\t\t\t</fieldset>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t") . "" : "") . "\n\t\t\t\t<form action=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$this->settings['query_string_formatted']}", 'public', ''), "", "") . "\" method=\"post\" class='left'>\n\t\t\t\t\t<fieldset>\n\t\t\t\t\t\t<input type='hidden' name='k' value='{$this->member->form_hash}' />\n\t\t\t\t\t\t<input type='hidden' name='setlanguage' value='1' />\n\t\t\t\t\t\t<input type=\"hidden\" name=\"langurlbits\" value=\"{$this->settings['query_string_safe']}&amp;cal_id={$this->request['cal_id']}\" />\n\t\t\t\t\t\t<label for='newLang' class='hide'>{$this->lang->words['language_prefix']}</label>\n\t\t\t\t\t\t<select name=\"langid\" id='newLang'>\n\t\t\t\t\t\t\t\t{$footer_items['lang_chooser']}\n\t\t\t\t\t\t</select>\n\t\t\t\t\t\t<input type='submit' class='input_submit alt' value='{$this->lang->words['jmp_go']}' id='newLangSubmit' />\n\t\t\t\t\t</fieldset>\n\t\t\t\t</form>\n\t\t\t\t<h2 class='hide'>{$this->lang->words['exec_stats']}</h2>\n\t\t\t\t<ul class='right'>\n\t\t\t\t\t<li>{$this->lang->words['time_now']} {$footer_items['time']}\n\t\t\t\t\t\t" . (($this->memberData['member_id'] and $this->memberData['last_visit']) ? "<p>{$this->lang->words['you_last_visit']} " . $this->registry->getClass('class_localization')->getDate($this->memberData['last_visit'], "short", 0) . "</p>" : "") . "\n\t\t\t\t\t</li>\n\t\t\t\t\t" . (($this->memberData['member_id'] and $this->settings['debug_level']) ? "<li><img src='{$this->settings['img_url']}/stats_time.png' alt='{$this->lang->words['icon']}' /> {$stats['ex_time']} {$this->lang->words['stats_sec']}</li>\n\t\t\t\t\t\t<li><img src='{$this->settings['img_url']}/stats_server.png' alt='{$this->lang->words['icon']}' /> {$stats['server_load']}</li>\n\t\t\t\t\t\t<li><img src='{$this->settings['img_url']}/stats_database.png' alt='{$this->lang->words['icon']}' /> {$stats['queries']} " . (IPS_SQL_DEBUG_MODE ? "<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$this->settings['query_string_safe']}&amp;debug=1", 'public', ''), "", "") . "'>" : "") . "{$this->lang->words['stats_queries']}" . (IPS_SQL_DEBUG_MODE ? "</a>" : "") . "</li>\n\t\t\t\t\t\t<li><img src='{$this->settings['img_url']}/stats_compression.png' alt='{$this->lang->words['icon']}' /> {$stats['gzip_status']}</li>" : "") . "\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<!-- __FOOTER__ -->\n\t\t\t<!-- /__FOOTER__ -->\n\t\t\t<!--DEBUG_STATS-->\n\t\t\t<div id='board_footer'>\n\t\t\t\t<ul id='utility_links' class='left'>\n\t\t\t\t\t<li><a href='#top' title='{$this->lang->words['go_to_top']}'>{$this->lang->words['back_to_top']}</a></li>\n\t\t\t\t\t<li><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("", 'public', ''), "", "") . "' title='{$this->lang->words['sj_home']}'>Home</a></li>\n\t\t\t\t\t<li><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login&amp;do=deleteCookies&amp;k={$this->member->form_hash}", 'public', ''), "", "") . "\" title='{$this->lang->words['delete_all_cookies_title']}'>{$this->lang->words['delete_my_cookies']}</a></li>\n\t\t\t\t</ul>\n\t\t\t\t{$footer_items['copyright']}\n\t\t\t</div>\n\t\t\t{$stats['task']}\n\t\t\t" . ($this->settings['do_include_lightbox_real'] ? "" . $this->registry->getClass('output')->getTemplate('global')->include_lightbox_real() . "" : "") . "\n\t\t</div>\n\t</body>\n</html>";
     return $IPBHTML;
 }
Пример #3
0
 function globalTemplate($html, $documentHeadItems, $css, $jsModules, $metaTags, array $header_items, $items = array(), $footer_items = array(), $stats = array())
 {
     $IPBHTML = "";
     if (IPSLib::locationHasHooks('skin_global', $this->_funcHooks['globalTemplate'])) {
         $count_7faa034675d780584160b16b4682b835 = is_array($this->functionData['globalTemplate']) ? count($this->functionData['globalTemplate']) : 0;
         $this->functionData['globalTemplate'][$count_7faa034675d780584160b16b4682b835]['html'] = $html;
         $this->functionData['globalTemplate'][$count_7faa034675d780584160b16b4682b835]['documentHeadItems'] = $documentHeadItems;
         $this->functionData['globalTemplate'][$count_7faa034675d780584160b16b4682b835]['css'] = $css;
         $this->functionData['globalTemplate'][$count_7faa034675d780584160b16b4682b835]['jsModules'] = $jsModules;
         $this->functionData['globalTemplate'][$count_7faa034675d780584160b16b4682b835]['metaTags'] = $metaTags;
         $this->functionData['globalTemplate'][$count_7faa034675d780584160b16b4682b835]['header_items'] = $header_items;
         $this->functionData['globalTemplate'][$count_7faa034675d780584160b16b4682b835]['items'] = $items;
         $this->functionData['globalTemplate'][$count_7faa034675d780584160b16b4682b835]['footer_items'] = $footer_items;
         $this->functionData['globalTemplate'][$count_7faa034675d780584160b16b4682b835]['stats'] = $stats;
     }
     $IPBHTML .= "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\r\n\t<html xml:lang=\"en\" lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\"" . (IPSLib::fbc_enabled() === TRUE || $this->settings['fbc_appid'] ? " xmlns:fb=\"http://www.facebook.com/2008/fbml\"" : "") . ">\r\n\t<head>\r\n\t\t<meta http-equiv=\"content-type\" content=\"text/html; charset={$this->settings['gb_char_set']}\" />\r\n\t\t<title>{$header_items['title']}" . ($header_items['page'] ? " {$this->lang->words['page_title_page']} {$header_items['page']}" : "") . "</title>\r\n\t\t<!--<meta http-equiv=\"X-UA-Compatible\" content=\"IE=7\" />-->\r\n\t\t<link rel=\"shortcut icon\" href='" . ($this->registry->output->isHTTPS ? "{$this->settings['board_url_https']}" : "{$this->settings['board_url']}") . "/favicon.ico' />\r\n\t\t<meta property=\"og:title\" content=\"{$this->registry->output->encodeMetaTagContent(str_replace(' - ' . $this->settings['board_name'], '', $header_items['title']))}\"/>\r\n\t\t<meta property=\"og:site_name\" content=\"{$this->registry->output->encodeMetaTagContent($this->settings['board_name'])}\"/>\r\n\t\t<meta property=\"og:image\" content=\"{$this->settings['meta_imagesrc']}\"/>\r\n\t\t<meta property=\"og:type\" content=\"article\" />\r\n\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeMeta') ? $this->registry->getClass('output')->getTemplate('global')->includeMeta($metaTags) : '') . "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeVars') ? $this->registry->getClass('output')->getTemplate('global')->includeVars() : '') . "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeJS') ? $this->registry->getClass('output')->getTemplate('global')->includeJS($jsModules) : '') . "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeCSS') ? $this->registry->getClass('output')->getTemplate('global')->includeCSS($css) : '') . "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeFeeds') ? $this->registry->getClass('output')->getTemplate('global')->includeFeeds($documentHeadItems) : '') . "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeRTL') ? $this->registry->getClass('output')->getTemplate('global')->includeRTL() : '') . "\r\n\t\t\r\n\t\t<!--<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">-->\r\n\t\t<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\r\n\t\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1, user-scalable=no\">\r\n\t</head>\r\n\t<body id='ipboard_body'>\r\n\t\t<div id='ipbwrapper'>\r\n\t\t\t" . (count($items['navigation']) > 1 && !$this->settings['_mobile_nav_home'] ? "" . (($this->nav_count = count($items['navigation'])) ? "" : "") . "" . (($this->nav_back = isset($this->settings['_mobile_back_nav']) ? $this->settings['_mobile_back_nav'] : 2) ? "" : "") . "\r\n\t\t\t\t<div id='secondary_navigation'>\r\n\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$items['navigation'][$this->nav_count - $this->nav_back][1]}", "{$items['navigation'][$this->nav_count - $this->nav_back][4]}", ''), "{$items['navigation'][$this->nav_count - $this->nav_back][2]}", "{$items['navigation'][$this->nav_count - $this->nav_back][3]}") . "'>{$this->lang->words['_larr']} &nbsp;{$items['navigation'][$this->nav_count - $this->nav_back][0]}</a>\r\n\t\t\t\t</div>" : "" . ((count($items['navigation']) == 1 || $this->settings['_mobile_nav_home']) && !$this->settings['_mobile_hide_nav'] ? "\r\n\t\t\t\t\t<div id='secondary_navigation'>\r\n\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("act=idx", "public", ''), "false", "") . "' class='back'>{$this->lang->words['_larr']} {$this->lang->words['home']}</a>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t" : "") . "") . "\r\n\t\t\t" . (method_exists($this->registry->output->getTemplate($this->registry->getCurrentApplication() . '_global'), 'overwriteHeader') ? "\r\n\t\t\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('' . $this->registry->getCurrentApplication() . '_global'), 'overwriteHeader') ? $this->registry->getClass('output')->getTemplate('' . $this->registry->getCurrentApplication() . '_global')->overwriteHeader() : '') . "\r\n\t\t\t" : "\r\n\t\t\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'defaultHeader') ? $this->registry->getClass('output')->getTemplate('global')->defaultHeader() : '') . "\r\n\t\t\t") . "\r\n\t\t\t<div id=\"options-button\">&raquo;</div>\r\n\t\t\t<div id='user_navigation' class='clearfix'>\r\n\t\t\t\t<ul class='clearfix' id='user_bar'>\r\n\t\t\t\t\t" . (!$this->memberData['member_id'] ? "\r\n\t\t\t\t\t\t<a class='button secondary' href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login", "public", ''), "", "") . "' title='{$this->lang->words['sign_in']}'>{$this->lang->words['sign_in']}</a>&nbsp;&nbsp;&nbsp;\r\n\t\t\t\t\t\t<a class='button secondary' href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=register", "public", ''), "", "") . "\" title='{$this->lang->words['register']}'>{$this->lang->words['register']}</a>\r\n\t\t\t\t\t" : "\r\n\t\t\t\t\t\t<a class='button secondary' style='width:auto' href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login&amp;do=logout&amp;k={$this->member->form_hash}", "public", ''), "", "") . "\">{$this->lang->words['log_out']} {$this->memberData['members_display_name']}</a>\r\n\t\t\t\t\t") . "\r\n\t\t\t\t</ul>\r\n\t\t\t\t<ul class='clearfix launcher'>\r\n\t\t\t\t\t" . (($this->memberData['member_id'] and $this->memberData['g_use_pm'] and $this->memberData['members_disable_pm'] == 0) ? "<li id='nav_messages'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&amp;module=messaging", "public", ''), "", "") . "' title='{$this->lang->words['your_messenger']}'><span class='icon'></span>" . ($this->memberData['msg_count_new'] ? "<span class='ipsHasNotifications'>{$this->memberData['msg_count_new']}</span>" : "") . "{$this->lang->words['your_messenger']}</a></li>" : "") . "\r\n\t\t\t\t\t" . ($this->memberData['member_id'] ? "<li id='nav_notifications'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=usercp&amp;tab=core&amp;area=notificationlog&amp;clear=true", "public", ''), "", "") . "'><span class='icon'></span>" . ($this->memberData['notification_cnt'] ? "<span class='ipsHasNotifications'>{$this->memberData['notification_cnt']}</span>" : "") . "{$this->lang->words['notifications_at_the_top']}</a></li>" : "") . "\r\n\t\t\t\t\t" . ($header_items['applications']['members']['app_show'] ? "\r\n\t\t\t\t\t\t<li id='nav_members'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$header_items['applications']['members']['app_link']}", "{$header_items['applications']['members']['app_base']}", ''), "{$header_items['applications']['members']['app_seotitle']}", "{$header_items['applications']['members']['app_template']}") . "' title='" . sprintf($this->lang->words['go_to_prefix'], IPSLib::getAppTitle('members')) . "'><span class='icon'></span>" . IPSLib::getAppTitle('members') . "</a></li>\r\n\t\t\t\t\t" : "") . "\r\n\t\t\t\t\t" . ($header_items['applications']['forums']['app_show'] ? "\r\n\t\t\t\t\t\t<li id='nav_forums'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$header_items['applications']['forums']['app_link']}", "{$header_items['applications']['forums']['app_base']}", ''), "{$header_items['applications']['forums']['app_seotitle']}", "{$header_items['applications']['forums']['app_template']}") . "' title='" . sprintf($this->lang->words['go_to_prefix'], IPSLib::getAppTitle('forums')) . "'><span class='icon'></span>" . IPSLib::getAppTitle('forums') . "</a></li>\r\n\t\t\t\t\t" : "") . "\r\n\t\t\t\t\t" . ($header_items['applications']['blog']['app_show'] ? "\r\n\t\t\t\t\t\t<li id='nav_blog'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$header_items['applications']['blog']['app_link']}", "{$header_items['applications']['blog']['app_base']}", ''), "{$header_items['applications']['blog']['app_seotitle']}", "{$header_items['applications']['blog']['app_template']}") . "' title='" . sprintf($this->lang->words['go_to_prefix'], IPSLib::getAppTitle('blog')) . "'><span class='icon'></span>" . IPSLib::getAppTitle('blog') . "</a></li>\r\n\t\t\t\t\t" : "") . "\r\n\t\t\t\t\t" . ($header_items['applications']['gallery']['app_show'] ? "\r\n\t\t\t\t\t\t<li id='nav_gallery'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$header_items['applications']['gallery']['app_link']}", "{$header_items['applications']['gallery']['app_base']}", ''), "{$header_items['applications']['gallery']['app_seotitle']}", "{$header_items['applications']['gallery']['app_template']}") . "' title='" . sprintf($this->lang->words['go_to_prefix'], IPSLib::getAppTitle('gallery')) . "'><span class='icon'></span>" . IPSLib::getAppTitle('gallery') . "</a></li>\r\n\t\t\t\t\t" : "") . "\r\n\t\t\t\t\t" . ($header_items['applications']['nexus']['app_show'] ? "\r\n\t\t\t\t\t\t<li id='nav_nexus_store'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=nexus&amp;module=payments&amp;section=store", "public", ''), "store", "") . "'><span class='icon'></span>{$this->lang->words['mobile_nexus_store']}</a></li>\r\n\t\t\t\t\t\t<li id='nav_nexus_ca'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=nexus&amp;module=clients", "public", ''), "", "") . "'><span class='icon'></span>{$this->lang->words['mobile_nexus_clients']}</a></li>\r\n\t\t\t\t\t" : "") . "\r\n\t\t\t\t\t<li id='nav_vnc'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=search&amp;do=viewNewContent&amp;search_app=" . (($this->registry->getCurrentApplication() != 'core' and IPSLib::appIsSearchable($this->registry->getCurrentApplication())) ? "{$this->registry->getCurrentApplication()}" : "forums") . "", "public", ''), "", "") . "' accesskey='2'><span class='icon'></span>{$this->lang->words['mobile_view_new_posts']}</a></li>\r\n\t\t\t\t\t<li id='nav_statuses'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&amp;module=profile&amp;section=status&amp;type=all", "public", ''), "true", "members_status_all") . "'><span class='icon'></span>{$this->lang->words['mob_status_updates']}</a></li>\r\n\t\t\t\t\t<li id='nav_search'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=search", "public", ''), "", "") . "' accesskey='2'><span class='icon'></span>{$this->lang->words['sj_search']}</a></li>\r\n\t\t\t\t\t<li id='nav_markread'><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=forums&amp;module=forums&amp;section=markasread&amp;marktype=all&amp;k={$this->member->form_hash}", "public", ''), "", "") . "\" title='{$this->lang->words['mark_all_as_read']}'><span class='icon'></span>{$this->lang->words['mobile_mark_board_as_read']}</a></li>\r\n\t\t\t\t</ul>\r\n\t\t\t</div>\r\n\t\t\t<script type=\"text/javascript\">\r\n\t\t\t\t/* Prevent flash of header */\r\n\t\t\t\tdocument.getElementById('user_navigation').style.display = 'none';\r\n\t\t\t</script>\r\n\t\t\t\r\n\t\t\t<div id='content' class='clear'>\r\n\t\t\t\t" . ($html ? "{$html}" : "") . "\r\n\t\t\t</div>\r\n\t\t\t<div id='footer' class='clear'>\r\n\t\t\t\t" . ($this->memberData['userAgentType'] != 'mobileAppLegacy' || $this->registry->output->isLargeTouchDevice() ? "\r\n\t\t\t\t\t<a id='full_version' href='#'>{$this->lang->words['full_version']}</a>\r\n\t\t\t\t" : "") . "\r\n\t\t\t\t" . (count($footer_items['lang_chooser']['options']) > 1 ? "\r\n\t\t\t\t\t<a href='#' id='show_langs'>{$footer_items['lang_chooser']['default']}</a>\r\n\t\t\t\t\t<div id='show_langs_box' style='display: none'>\r\n\t\t\t\t\t\t<form action=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$this->settings['query_string_formatted']}", "public", ''), "", "") . "\" method=\"post\">\r\n\t\t\t\t\t\t\t<fieldset>\r\n\t\t\t\t\t\t\t\t<input type='hidden' name='k' value='{$this->member->form_hash}' />\r\n\t\t\t\t\t\t\t\t<input type='hidden' name='setlanguage' value='1' />\r\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"langurlbits\" value=\"&amp;cal_id={$this->request['cal_id']}\" />\r\n\t\t\t\t\t\t\t\t<label for='newLang' class='hide'>{$this->lang->words['language_prefix']}</label>\r\n\t\t\t\t\t\t\t\t<select name=\"langid\" id='newLang'>\r\n\t\t\t\t\t\t\t\t\t" . $this->__f__067cf3cbf4d56bffdcc0b9a010502a99($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "\t\t\t\t\t\t\t\t</select>\r\n\t\t\t\t\t\t\t\t<input type='submit' class='input_submit alt' value='{$this->lang->words['jmp_go']}' id='newLangSubmit' />\r\n\t\t\t\t\t\t\t</fieldset>\r\n\t\t\t\t\t\t</form>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t" : "") . "\r\n\t\t\t</div>\r\n\t\t\t<div id='task'>{$stats['task']}</div>\r\n\t\t</div>\r\n\t\t<div id='shade' style='display:none'></div>\r\n\t\t<!-- pre-load -->\r\n\t\t<div style='display:none'><img src='{style_images_url}/wait.gif' /></div>\r\n\t\t\r\n\t\t" . (($this->settings['viglink_enabled'] and (!$this->settings['viglink_groups'] or IPSMember::isInGroup($this->memberData, explode(',', $this->settings['viglink_groups'])))) ? "<script type=\"text/javascript\">\r\n\t\t\t  var vglnk = { api_url: '//api.viglink.com/api',\r\n\t\t\t                key: '{$this->settings['viglink_api_key']}'" . ($this->settings['viglink_subid'] ? ",\r\n\t\t\t                sub_id: '{$this->settings['sub_id']}'\r\n\t\t\t                " : "") . "\r\n\t\t\t              };\r\n\t\t\t\r\n\t\t\t  (function(d, t) {\r\n\t\t\t    var s = d.createElement(t); s.type = 'text/javascript'; s.async = true;\r\n\t\t\t    s.src = ('https:' == document.location.protocol ? vglnk.api_url :\r\n\t\t\t             '//cdn.viglink.com/api') + '/vglnk.js';\r\n\t\t\t    var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r);\r\n\t\t\t  }(document, 'script'));\r\n\t\t\t</script>" : "") . "\r\n\t\t\r\n\t</body>\r\n</html>";
     return $IPBHTML;
 }
 /**
  * Initiate this module
  *
  * @access	public
  * @return	void
  */
 public function init()
 {
     $this->tab_name = ipsRegistry::getClass('class_localization')->words['tab__core'];
     /* Facebook? */
     if (IPSLib::fbc_enabled() === TRUE and $this->memberData['fb_uid']) {
         require_once IPS_ROOT_PATH . 'sources/classes/facebook/connect.php';
         $facebook = new facebook_connect($this->registry);
         /* Test connection */
         $facebook->testConnectSession();
         try {
             $fbuid = $facebook->FB()->get_loggedin_user();
         } catch (Exception $e) {
         }
         if ($fbuid) {
             $this->_isFBUser = true;
         }
     }
 }
Пример #5
0
 function globalTemplate($html, $documentHeadItems, $css, $jsModules, $metaTags, array $header_items, $items = array(), $footer_items = array(), $stats = array())
 {
     $IPBHTML = "";
     if (IPSLib::locationHasHooks('skin_global', $this->_funcHooks['globalTemplate'])) {
         $count_6d58bb86eb76915f3220063aef01c91c = is_array($this->functionData['globalTemplate']) ? count($this->functionData['globalTemplate']) : 0;
         $this->functionData['globalTemplate'][$count_6d58bb86eb76915f3220063aef01c91c]['html'] = $html;
         $this->functionData['globalTemplate'][$count_6d58bb86eb76915f3220063aef01c91c]['documentHeadItems'] = $documentHeadItems;
         $this->functionData['globalTemplate'][$count_6d58bb86eb76915f3220063aef01c91c]['css'] = $css;
         $this->functionData['globalTemplate'][$count_6d58bb86eb76915f3220063aef01c91c]['jsModules'] = $jsModules;
         $this->functionData['globalTemplate'][$count_6d58bb86eb76915f3220063aef01c91c]['metaTags'] = $metaTags;
         $this->functionData['globalTemplate'][$count_6d58bb86eb76915f3220063aef01c91c]['header_items'] = $header_items;
         $this->functionData['globalTemplate'][$count_6d58bb86eb76915f3220063aef01c91c]['items'] = $items;
         $this->functionData['globalTemplate'][$count_6d58bb86eb76915f3220063aef01c91c]['footer_items'] = $footer_items;
         $this->functionData['globalTemplate'][$count_6d58bb86eb76915f3220063aef01c91c]['stats'] = $stats;
     }
     $this->did_first = 0;
     $this->did_first_bottom = 0;
     $IPBHTML .= "<!DOCTYPE html>\n\t<html lang=\"en\" " . (IPSLib::fbc_enabled() === TRUE || $this->settings['fbc_appid'] ? " xmlns:fb=\"http://www.facebook.com/2008/fbml\"" : "") . ">\n\t<head>\n\t\t<meta charset=\"{$this->settings['gb_char_set']}\" />\n\t\t<title>{$header_items['title']}</title>\n\t\t<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n\t\t<link rel=\"shortcut icon\" href='" . ($this->registry->output->isHTTPS ? "{$this->settings['board_url_https']}" : "{$this->settings['board_url']}") . "/favicon.ico' />\n\t\t<link rel=\"image_src\" href='{$this->settings['meta_imagesrc']}' />\n\t\t<script type='text/javascript'>\n\t\t//<![CDATA[\n\t\t\tjsDebug\t\t\t= " . intval($this->settings['_jsDebug']) . "; /* Must come before JS includes */\n\t\t\tDISABLE_AJAX\t= parseInt({$this->settings['disable_text_ajax']}); /* Disables ajax requests where text is sent to the DB; helpful for charset issues */\n\t\t\tinACP\t\t\t= false;\n\t\t\tvar isRTL\t\t= false;\n\t\t\tvar rtlIe\t\t= '';\n\t\t\tvar rtlFull\t\t= '';\n\t\t//]]>\n\t\t</script>\n\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeCSS') ? $this->registry->getClass('output')->getTemplate('global')->includeCSS($css) : '') . "\n\t\t<meta property=\"og:title\" content=\"{$this->registry->output->encodeMetaTagContent(str_replace(' - ' . $this->settings['board_name'], '', $header_items['title']))}\"/>\n\t\t<meta property=\"og:site_name\" content=\"{$this->registry->output->encodeMetaTagContent($this->settings['board_name'])}\"/>\n\t\t<meta property=\"og:type\" content=\"article\" />\n\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeMeta') ? $this->registry->getClass('output')->getTemplate('global')->includeMeta($metaTags) : '') . "\n\t\t" . ($this->registry->output->isLargeTouchDevice() ? "\n\t\t<!--<meta name=\"viewport\" content=\"width=device-width;\">-->\n\t\t" : "") . "\n\t\t" . ($this->registry->output->isSmallTouchDevice() ? "\n\t\t<meta name=\"viewport\" content=\"width=1024px\">\n\t\t" : "") . "\n\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeJS') ? $this->registry->getClass('output')->getTemplate('global')->includeJS($jsModules) : '') . "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeFeeds') ? $this->registry->getClass('output')->getTemplate('global')->includeFeeds($documentHeadItems) : '') . "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeRTL') ? $this->registry->getClass('output')->getTemplate('global')->includeRTL() : '') . "\t\t\n\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeVars') ? $this->registry->getClass('output')->getTemplate('global')->includeVars($header_items) : '') . "\n\t</head>\n\t<body id='ipboard_body'>\n\t\t<p id='content_jump' class='hide'><a id='top'></a><a href='#j_content' title='{$this->lang->words['jump_to_content']}' accesskey='m'>{$this->lang->words['jump_to_content']}</a></p>\n\t\t<div id='ipbwrapper'>\n\t\t\t<!-- ::: TOP BAR: Sign in / register or user drop down and notification alerts ::: -->\n\t\t\t<div id='header_bar' class='clearfix'>\n\t\t\t\t<div class='main_width'>\n\t\t\t\t\t" . (($this->memberData['is_mod'] or !empty($this->memberData['access_report_center']) || ($this->memberData['g_access_cp'] and !$this->settings['security_remove_acp_link'])) ? "<ul id='admin_bar' class='ipsList_inline left'>\n\t\t\t\t\t\t\t" . (($this->memberData['g_access_cp'] and !$this->settings['security_remove_acp_link']) ? "\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t<a href=\"{$this->settings['_admin_link']}\" title='{$this->lang->words['admin_cp']}' target=\"_blank\">{$this->lang->words['login_to_acp']}</a>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t<li><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=modcp", "public", ''), "", "") . "\" title='{$this->lang->words['gbl_modcp_link_title']}'>{$this->lang->words['gbl_modcp_link']}</a></li>\n\t\t\t\t\t\t\t" . ($this->memberData['access_report_center'] && $this->memberData['_cache']['report_num'] > 0 ? "\n\t\t\t\t\t\t\t\t<li class='active'>\n\t\t\t\t\t\t\t\t\t<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=reports&amp;do=index", "public", ''), "", "") . "\" title='{$this->lang->words['view_reports']}'>{$this->memberData['_cache']['report_num']} {$this->lang->words['report_member_bar']}</a>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t</ul>" : "") . "\n\t\t\t\t\t" . ($this->memberData['member_id'] ? "<div id='user_navigation' class='logged_in'>\n\t\t\t\t\t\t\t<ul class='ipsList_inline right'>\n\t\t\t\t\t\t\t\t" . (!(!$this->memberData['member_id'] && $this->settings['force_login']) && !($this->settings['board_offline'] && !$this->memberData['g_access_offline']) ? "" . (($this->memberData['g_use_pm'] and $this->memberData['members_disable_pm'] == 0) ? "<li><a data-clicklaunch=\"getInboxList\" id='inbox_link' href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&amp;module=messaging", "public", ''), "", "") . "' title='{$this->lang->words['your_messenger']}'>" . ($this->memberData['msg_count_new'] ? "<span class='ipsHasNotifications'>{$this->memberData['msg_count_new']}</span>" : "") . "&nbsp;</a></li>" : "") . "\n\t\t\t\t\t\t\t\t\t<li><a data-clicklaunch=\"getNotificationsList\" id='notify_link' href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=usercp&amp;area=notificationlog", "public", ''), "", "") . "\" title=\"{$this->lang->words['notifications_at_the_top']}\">" . ($this->memberData['notification_cnt'] ? "<span class='ipsHasNotifications'>{$this->memberData['notification_cnt']}</span>" : "") . "&nbsp;</a></li>" : "") . "\n\t\t\t\t\t\t\t\t<li><a id='user_link' href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("showuser={$this->memberData['member_id']}", "public", ''), "{$this->memberData['members_seo_name']}", "showuser") . "\"  title='{$this->lang->words['your_profile']}'>{$this->memberData['members_display_name']} &nbsp;<span id='user_link_dd'></span></a></li>\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<li><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login&amp;do=logout&amp;k={$this->member->form_hash}", "public", ''), "", "") . "\" title='{$this->lang->words['log_out']}'>{$this->lang->words['log_out']}</a></li>\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t" . ($this->memberData['member_group_id'] == $this->settings['auth_group'] ? "" . ($this->memberData['ipsconnect_revalidate_url'] ? "\n\t\t\t\t\t\t\t\t\t\t<li>&nbsp;&nbsp;&nbsp;<a href=\"{$this->memberData['ipsconnect_revalidate_url']}\" target='_blank' title='{$this->lang->words['resend_val']}'>{$this->lang->words['resend_val']}</a></li>\n\t\t\t\t\t\t\t\t\t" : "\n\t\t\t\t\t\t\t\t\t\t<li>&nbsp;&nbsp;&nbsp;<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=register&amp;do=reval", "public", ''), "", "") . "\" title='{$this->lang->words['resend_val']}'>{$this->lang->words['resend_val']}</a></li>\n\t\t\t\t\t\t\t\t\t") . "" : "") . "\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<!-- ::: USER DROP DOWN MENU ::: -->\n\t\t\t\t\t\t<div id='user_link_menucontent' class='ipsHeaderMenu clearfix boxShadow' style='display: none'>\n\t\t\t\t\t\t\t<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("showuser={$this->memberData['member_id']}", "public", ''), "{$this->memberData['members_seo_name']}", "showuser") . "\" title='{$this->lang->words['your_profile']}' class='ipsUserPhotoLink left'>\n\t\t\t\t\t\t\t\t<img src='{$this->memberData['pp_small_photo']}' alt=\"" . sprintf($this->lang->words['users_photo'], $this->memberData['members_display_name']) . "\" class='ipsUserPhoto ipsUserPhoto_medium photo' />\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<div class='left'>\n\t\t\t\t\t\t\t\t" . ($this->registry->getClass('memberStatus')->canCreate($this->memberData) && !($this->settings['board_offline'] && !$this->memberData['g_access_offline']) ? "<form id='statusForm' action='{$this->settings['base_url']}app=members&amp;module=profile&amp;section=status&amp;do=new&amp;k={$this->member->form_hash}&amp;id={$this->memberData['member_id']}' method='post'>\n\t\t\t\t\t\t\t\t\t\t<input type='text' id='statusUpdateGlobal' name='content' class='input_text' style='width: 97%' /><br />\n\t\t\t\t\t\t\t\t\t\t<input type='submit' id='statusSubmitGlobal' class='ipsButton_secondary' value='{$this->lang->words['global_update_status']}' />\n\t\t\t\t\t\t\t\t\t\t" . (((IPSLib::twitter_enabled() or IPSLib::fbc_enabled()) and ($this->memberData['fb_uid'] or $this->memberData['twitter_id'])) ? "&nbsp;&nbsp;\n\t\t\t\t\t\t\t\t\t\t\t" . ((IPSLib::twitter_enabled() and $this->memberData['twitter_id']) ? "<input type='checkbox' id='su_TwitterGlobal' value='1' name='su_Twitter' /> <label for='su_TwitterGlobal' class='desc ipsType_smaller'>{$this->lang->words['su_cb_twitter']}</label>" : "") . " &nbsp; \n\t\t\t\t\t\t\t\t\t\t\t" . ((IPSLib::fbc_enabled() and $this->memberData['fb_uid']) ? "&nbsp;<input type='checkbox' id='su_FacebookGlobal' value='1' name='su_Facebook' /> <label for='su_FacebookGlobal' class='desc ipsType_smaller'>{$this->lang->words['su_cb_facebook']}</label>" : "") . "" : "") . "\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t\t</form>" : "") . "\n\t\t\t\t\t\t\t\t\t<ul id='links'>\n\t\t\t\t\t\t\t\t\t\t<li id='user_profile'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("showuser={$this->memberData['member_id']}", "public", ''), "{$this->memberData['members_seo_name']}", "showuser") . "' title='{$this->lang->words['your_profile']}'>{$this->lang->words['my_profile']}</a></li>\n\t\t\t\t\t\t\t\t\t\t<li id='user_ucp'><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=usercp", "public", ''), "", "") . "\" title=\"{$this->lang->words['cp_tool_tip']}\">{$this->lang->words['your_cp']}</a></li>\n\t\t\t\t\t\t\t\t\t\t<li id='user_content'><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=search&amp;do=user_activity&amp;mid={$this->memberData['member_id']}", "public", ''), "", "") . "\" title=\"{$this->lang->words['my_content_link']}\">{$this->lang->words['my_content_link']}</a></li>\n\t\t\t\t\t\t\t\t\t\t" . (count(IPSLib::getEnabledApplications('like')) ? "\n\t\t\t\t\t\t\t\t\t\t\t<li id='user_likes'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=search&amp;do=followed", "public", ''), "", "") . "' title='{$this->lang->words['your_likes']}'>{$this->lang->words['your_likes']}</a></li>\n\t\t\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t\t\t" . ($this->settings['friends_enabled'] && $this->memberData['g_can_add_friends'] ? "\n\t\t\t\t\t\t\t\t\t\t\t<li id='user_friends'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&amp;module=profile&amp;section=friends&amp;do=list", "public", ''), "", "") . "' title=\"{$this->lang->words['manage_friends']}\" class='manage_friends'>{$this->lang->words['manage_friends']}</a></li>\n\t\t\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t\t\t<li id='user_enemies'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=usercp&amp;tab=core&amp;area=ignoredusers", "public", ''), "", "") . "' title=\"{$this->lang->words['manage_ignored_users']}\" class='manage_enemies'>{$this->lang->words['manage_ignored_users']}</a></li>\n\t\t\t\t\t\t\t\t\t\t" . (($this->memberData['has_blog'] and IPSLib::appIsInstalled('blog')) ? "\n\t\t\t\t\t\t\t\t\t\t\t<li id='user_blog'><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=blog&amp;module=manage", "public", ''), "false", "manageblog") . "\">{$this->lang->words['manage_blogs']}</a></li>\n\t\t\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t\t\t" . ($this->memberData['members_disable_pm'] != 2 && $this->memberData['g_use_pm'] ? "\n\t\t\t\t\t\t\t\t\t\t\t<li id='user_pm'><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&module=messaging", "public", ''), "", "") . "\">{$this->lang->words['user_dd_go_pm']}</a></li>\n\t\t\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t\t\t" . (($this->memberData['has_gallery'] and IPSLib::appIsInstalled('gallery')) ? "\n\t\t\t\t\t\t\t\t\t\t\t<li id='user_gallery'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=gallery&amp;user={$this->memberData['member_id']}", "public", ''), "{$this->memberData['members_seo_name']}", "useralbum") . "' title=\"{$this->lang->words['go_to_my_gallery']}\">{$this->lang->words['my_gallery']}</a></li>\n\t\t\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t\t\t" . (IPSLib::appIsInstalled('nexus') ? "\n\t\t\t\t\t\t\t\t\t\t\t<li id='user_nexus'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=nexus&amp;module=clients", "public", ''), "", "") . "' title=\"{$this->lang->words['client_area']}\">{$this->lang->words['client_area']}</a></li>\n\t\t\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>" : "<div id='user_navigation' class='not_logged_in'>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<ul class='ipsList_inline right'>\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t<span class='services'>\n\t\t\t\t\t\t\t\t\t\t" . (IPSLib::loginMethod_enabled('facebook') ? "\n\t\t\t\t\t\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login&amp;serviceClick=facebook", "public", ''), "", "") . "'>" . $this->registry->getClass('output')->getReplacement("lim_facebook") . "</a>\n\t\t\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t\t\t" . (IPSLib::loginMethod_enabled('twitter') ? "\n\t\t\t\t\t\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login&amp;serviceClick=twitter", "public", ''), "", "") . "'>" . $this->registry->getClass('output')->getReplacement("lim_twitter") . "</a>\n\t\t\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t\t\t" . (IPSLib::loginMethod_enabled('live') ? "\n\t\t\t\t\t\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login&amp;do=process&amp;use_live=1&amp;auth_key={$this->member->form_hash}", "public", ''), "", "") . "'>" . $this->registry->getClass('output')->getReplacement("lim_windows") . "</a>\n\t\t\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t&nbsp;&nbsp;&nbsp;&nbsp;\n\t\t\t\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login", "public", ''), "", "") . "' title='{$this->lang->words['sign_in']}' id='sign_in'>{$this->lang->words['sign_in']}</a>&nbsp;&nbsp;&nbsp;\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=register", "public", ''), "", "") . "\" title='{$this->lang->words['register']}' id='register_link'>{$this->lang->words['register']}</a>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>") . "\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<!-- ::: BRANDING STRIP: Logo and search box ::: -->\n\t\t\t<div id='branding'>\n\t\t\t\t<div class='main_width'>\n\t\t\t\t\t<div id='logo'>\n\t\t\t\t\t\t" . (ipsRegistry::$applications[$this->registry->getCurrentApplication()]['hasCustomHeader'] ? "\n\t\t\t\t\t\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('' . $this->registry->getCurrentApplication() . '_global'), 'overwriteHeader') ? $this->registry->getClass('output')->getTemplate('' . $this->registry->getCurrentApplication() . '_global')->overwriteHeader() : '') . "\n\t\t\t\t\t\t" : "\n\t\t\t\t\t\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'defaultHeader') ? $this->registry->getClass('output')->getTemplate('global')->defaultHeader() : '') . "\n\t\t\t\t\t\t") . "\n\t\t\t\t\t</div>\n\t\t\t\t\t" . ($this->memberData['g_use_search'] && $this->settings['allow_search'] ? "\n\t\t\t\t\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'quickSearch') ? $this->registry->getClass('output')->getTemplate('global')->quickSearch() : '') . "\n\t\t\t\t\t" : "") . "\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<!-- ::: APPLICATION TABS ::: -->\n\t\t\t<div id='primary_nav' class='clearfix'>\n\t\t\t\t<div class='main_width'>\n\t\t\t\t\t<ul class='ipsList_inline' id='community_app_menu'>\n\t\t\t\t\t\t" . (!(!$this->memberData['member_id'] && $this->settings['force_login']) && !($this->settings['board_offline'] && !$this->memberData['g_access_offline']) && $this->memberData['g_view_board'] ? "\n\t\t\t\t\t\t\t<li class='right'>\n\t\t\t\t\t\t\t\t<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=navigation&amp;inapp=" . IPS_APP_COMPONENT . "", "public", ''), "", "") . "\" rel=\"quickNavigation\" accesskey='9' id='quickNavLaunch' title='{$this->lang->words['launch_quicknav']}'><span>&nbsp;</span></a>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t<li id='nav_explore' class='right'>\n\t\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=search&amp;do=viewNewContent&amp;search_app=" . (($this->registry->getCurrentApplication() != 'core' and IPSLib::appIsSearchable($this->registry->getCurrentApplication())) ? "{$this->registry->getCurrentApplication()}" : "forums") . "", "public", ''), "", "") . "' accesskey='2' title='{$this->lang->words['view_new_posts']}'>{$this->lang->words['view_new_posts']}</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t" . (($this->settings['home_url'] and $this->settings['home_name']) ? "\n\t\t\t\t\t\t\t<li id='nav_home' class='left'><a href='{$this->settings['home_url']}' title='{$this->lang->words['homepage_title']}' rel=\"home\">{$this->settings['home_name']}</a></li>\n\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t" . (!empty($header_items['primary_navigation_menu']) ? "\n\t\t\t\t\t\t\t{$header_items['primary_navigation_menu']}\n\t\t\t\t\t\t" : "" . ((is_array($header_items['applications']) and count($header_items['applications'])) ? "\n\t\t\t\t\t\t\t\t" . $this->__f__a62585487074a52c6628d82c3876e110($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "\t\t\t\t\t\t\t" : "") . "") . "\n\t\t\t\t\t\t<li id='nav_other_apps' style='display: none'>\n\t\t\t\t\t\t\t<a href='#' class='ipbmenu' id='more_apps'>{$this->lang->words['more_apps']} <img src='{$this->settings['img_url']}/useropts_arrow.png' /></a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>\t\n\t\t\t\n\t\t\t<!-- ::: MAIN CONTENT AREA ::: -->\n\t\t\t<div id='content' class='clearfix'>\n\t\t\t\t<!-- ::: NAVIGATION BREADCRUMBS ::: -->\n\t\t\t\t" . (count($items['navigation']) ? "<div id='secondary_navigation' class='clearfix'>\n\t\t\t\t\t\t<ol class='breadcrumb top ipsList_inline left'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t" . ((!$this->settings['remove_forums_nav'] or ipsRegistry::$current_application == 'forums') ? "<li itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\">\n\t\t\t\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("act=idx", "public", ''), "false", "") . "' itemprop=\"url\">\n\t\t\t\t\t\t\t\t\t\t<span itemprop=\"title\">{$this->settings['board_name']}</span>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t" . (($this->did_first = 1) ? "" : "") . "" : "") . "\n\t\t\t\t\t\t\t" . $this->__f__0d4c6f6af396c9b3b3363a4c475d9a7f($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "\t\t\t\t\t\t</ol>\n\t\t\t\t\t</div>\n\t\t\t\t\t<br />" : "") . "\n\t\t\t\t<noscript>\n\t\t\t\t\t<div class='message error'>\n\t\t\t\t\t\t<strong>{$this->lang->words['gbl_no_js_title']}</strong>\n\t\t\t\t\t\t<p>{$this->lang->words['gbl_no_js']}</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t<br />\n\t\t\t\t</noscript>\n\t\t\t\t<!-- ::: CONTENT ::: -->\n\t\t\t\t" . ($items['adHeaderCode'] ? "\n\t\t\t\t\t<div class='ipsAd'>{$items['adHeaderCode']}</div>\n\t\t\t\t" : "") . "\n\t\t\t\t" . ($html ? "{$html}" : "") . "\n\t\t\t\t" . ($items['adFooterCode'] ? "\n\t\t\t\t\t<div class='ipsAd'>{$items['adFooterCode']}</div>\n\t\t\t\t" : "") . "\n\t\t\t\t<ol class='breadcrumb bottom ipsList_inline left clearfix clear'>\n\t\t\t\t\t" . (count($items['navigation']) ? "\t\t\t\t\t\t" . ((!$this->settings['remove_forums_nav'] or ipsRegistry::$current_application == 'forums') ? "<li><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("act=idx", "public", ''), "false", "") . "'>{$this->settings['board_name']}</a></li>\n\t\t\t\t\t\t\t" . (($this->did_first_bottom = 1) ? "" : "") . "" : "") . "\n\t\t\t\t\t\t" . $this->__f__fca2d91bf1367c001172b67788f657a7($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "" : "\n\t\t\t\t\t\t<li>&nbsp;</li>\n\t\t\t\t\t") . "\n\t\t\t\t\t" . ($this->settings['priv_title'] ? "\n\t\t\t\t\t<li class='right ipsType_smaller'>\n\t\t\t\t\t\t<a rel=\"nofollow\" href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=privacy", "public", ''), "false", "privacy") . "'>{$this->settings['priv_title']}</a>\n\t\t\t\t\t</li>\n\t\t\t\t\t" : "") . "\n\t\t\t\t\t" . (($this->settings['gl_show'] and $this->settings['gl_title']) ? "<li class='right ipsType_smaller'>\n\t\t\t\t\t\t\t<a href='" . ($this->settings['gl_link'] ? "{$this->settings['gl_link']}" : "" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=forums&amp;module=extras&amp;section=boardrules", "public", ''), "", "") . "") . "' title='" . ($this->settings['gl_title'] ? "{$this->settings['gl_title']}" : "{$this->lang->words['board_rules']}") . "'>" . ($this->settings['gl_title'] ? "{$this->settings['gl_title']}" : "{$this->lang->words['board_rules']}") . "</a>" . ($this->settings['priv_title'] ? " &middot; " : "") . "\n\t\t\t\t\t\t</li>" : "") . "\t\n\t\t\t\t</ol>\n\t\t\t</div>\n\t\t\t<!-- ::: FOOTER (Change skin, language, mark as read, etc) ::: -->\n\t\t\t<div id='footer_utilities' class='main_width clearfix clear'>\n\t\t\t\t<a rel=\"nofollow\" href='#top' id='backtotop' title='{$this->lang->words['go_to_top']}'><img src='{$this->settings['img_url']}/top.png' alt='' /></a>\n\t\t\t\t<ul class='ipsList_inline left'>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<img src='{$this->settings['img_url']}/feed.png' alt='{$this->lang->words['rss_feed']}' id='rss_feed' class='clickable' />\n\t\t\t\t\t</li>\n\t\t\t\t\t" . (!$this->member->is_not_human ? "" . (($this->memberData['userAgentLocked'] and !$this->memberData['userAgentBypass']) ? "\n\t\t\t\t\t\t\t<li id='useragent_msg'>\n\t\t\t\t\t\t\t\t{$this->lang->words['skin_browser_set']} <a href='#' data-clicklaunch='changeSkin' data-skinid='unlockUserAgent'>{$this->lang->words['override_browser_theme']}</a>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t" : "" . ($this->registry->output->isTouchDevice() ? "\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<a href='#' data-clicklaunch='changeSkin' data-skinid='setAsMobile'>{$this->lang->words['set_mobile_theme']}</a>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t" . (count($footer_items['skin_chooser']) > 1 ? "\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t<a rel=\"nofollow\" id='new_skin' href='#' title='{$this->lang->words['change_theme']}'>{$this->lang->words['change_theme']}</a>\t\t\t\n\t\t\t\t\t\t\t\t\t<ul id='new_skin_menucontent' class='ipbmenu_content with_checks' style='display: none'>\n\t\t\t\t\t\t\t\t\t\t" . $this->__f__1156e151a7185db1131bc7d8e3f6b51b($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t" : "") . "") . "" : "") . "\n\t\t\t\t\t" . (!$this->member->is_not_human && count($footer_items['lang_chooser']['options']) > 1 ? "\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<a rel=\"nofollow\" href='#' id='new_language'>{$footer_items['lang_chooser']['default']}</a>\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<ul id='new_language_menucontent' class='ipbmenu_content with_checks' style='display: none'>\n\t\t\t\t\t\t\t\t" . $this->__f__e05dd4b97e748ba89c1cd676e08a9337($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t" : "") . "\n\t\t\t\t\t" . (!$this->member->is_not_human && ($this->memberData['member_id'] || $this->settings['topic_marking_guests']) ? "\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<a rel=\"nofollow\" id='mark_all_read' href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=forums&amp;module=forums&amp;section=markasread&amp;marktype=all&amp;k={$this->member->form_hash}", "public", ''), "", "") . "\" title='{$this->lang->words['mark_all_as_read']}'>{$this->lang->words['mark_board_as_read']}</a>\n\t\t\t\t\t\t\t<ul id='mark_all_read_menucontent' class='ipbmenu_content' style='display: none'>\n\t\t\t\t\t\t\t\t" . $this->__f__7f370447b0b396d1c2920623a517e34c($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=forums&amp;module=forums&amp;section=markasread&amp;marktype=all&amp;k={$this->member->form_hash}", "public", ''), "", "") . "\"><strong>{$this->lang->words['mark_all_as_read']}</strong></a>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t" : "") . "\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=help", "public", ''), "", "") . "\" title='{$this->lang->words['view_help']}' rel=\"help\" accesskey='6'>{$this->lang->words['sj_help']}</a>\n\t\t\t\t\t</li>\t\t\t\t\n\t\t\t\t</ul>\n\t\t\t\t{$footer_items['copyright']}\n\t\t\t</div>\n\t\t\t" . (($this->memberData['member_id'] and $this->settings['debug_level']) ? "<div id='ipsDebug_footer'>\n\t\t\t\t\t<strong>{$this->lang->words['time_now']}</strong> {$footer_items['time']}\n\t\t\t\t\t" . (($this->memberData['member_id'] and $this->memberData['last_visit']) ? "<strong>{$this->lang->words['you_last_visit']}</strong> " . IPSText::htmlspecialchars($this->registry->getClass('class_localization')->getDate($this->memberData['last_visit'], "short", 0)) . "" : "") . "\n\t\t\t\t\t<strong>{$this->lang->words['stat_exec']}</strong> {$stats['ex_time']} " . (is_float($stats['ex_time']) ? "{$this->lang->words['stats_sec']}" : "") . "\n\t\t\t\t\t<strong>{$this->lang->words['stat_load']}</strong> {$stats['server_load']}\n\t\t\t\t\t<strong>{$this->lang->words['stat_queries']}</strong> {$stats['queries']} " . (IPS_SQL_DEBUG_MODE ? "<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$this->settings['query_string_safe']}&amp;debug=1", "public", ''), "", "") . "'>" : "") . "{$this->lang->words['stats_queries']}" . (IPS_SQL_DEBUG_MODE ? "</a>" : "") . "\n\t\t\t\t\t<strong>{$this->lang->words['stat_gzip']}</strong> {$stats['gzip_status']}\n\t\t\t\t</div>" : "") . "\n\t\t\t{$stats['task']}\n\t\t\t" . ($this->settings['do_include_lightbox_real'] ? "\n\t\t\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'include_lightbox_real') ? $this->registry->getClass('output')->getTemplate('global')->include_lightbox_real() : '') . "\n\t\t\t" : "\n\t\t\t\t<script type=\"text/javascript\">\n\t\t\t\t\tipb.global.lightBoxIsOff();\n\t\t\t\t</script>\n\t\t\t") . "\n\t\t\t" . (!$this->memberData['member_id'] ? "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'inlineLogin') ? $this->registry->getClass('output')->getTemplate('global')->inlineLogin() : '') . "" : "") . "\n\t\t</div>\n\t\t\n\t\t<!--DEBUG_STATS-->\n\t\t<script type='text/javascript'>\n\t\t\tif( \$('primary_nav') ){\tipb.global.activateMainMenu(); }\n\t\t</script>\n\t\t" . (($this->settings['viglink_enabled'] and (!$this->settings['viglink_groups'] or IPSMember::isInGroup($this->memberData, explode(',', $this->settings['viglink_groups'])))) ? "<script type=\"text/javascript\">\n\t\t\t  var vglnk = { api_url: '//api.viglink.com/api',\n\t\t\t                key: '{$this->settings['viglink_api_key']}'" . ($this->settings['viglink_subid'] ? ",\n\t\t\t                sub_id: '{$this->settings['sub_id']}'\n\t\t\t                " : "") . "\n\t\t\t              };\n\t\t\t\n\t\t\t  (function(d, t) {\n\t\t\t    var s = d.createElement(t); s.type = 'text/javascript'; s.async = true;\n\t\t\t    s.src = ('https:' == document.location.protocol ? vglnk.api_url :\n\t\t\t             '//cdn.viglink.com/api') + '/vglnk.js';\n\t\t\t    var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r);\n\t\t\t  }(document, 'script'));\n\t\t\t</script>" : "") . "\t</body>\n</html>";
     return $IPBHTML;
 }
Пример #6
0
 function globalTemplate($html, $documentHeadItems, $css, $jsModules, $metaTags, array $header_items, $items = array(), $footer_items = array(), $stats = array())
 {
     $IPBHTML = "";
     if (IPSLib::locationHasHooks('skin_global', $this->_funcHooks['globalTemplate'])) {
         $count_ec5bd3b8452490896a7de4155d855cd6 = is_array($this->functionData['globalTemplate']) ? count($this->functionData['globalTemplate']) : 0;
         $this->functionData['globalTemplate'][$count_ec5bd3b8452490896a7de4155d855cd6]['html'] = $html;
         $this->functionData['globalTemplate'][$count_ec5bd3b8452490896a7de4155d855cd6]['documentHeadItems'] = $documentHeadItems;
         $this->functionData['globalTemplate'][$count_ec5bd3b8452490896a7de4155d855cd6]['css'] = $css;
         $this->functionData['globalTemplate'][$count_ec5bd3b8452490896a7de4155d855cd6]['jsModules'] = $jsModules;
         $this->functionData['globalTemplate'][$count_ec5bd3b8452490896a7de4155d855cd6]['metaTags'] = $metaTags;
         $this->functionData['globalTemplate'][$count_ec5bd3b8452490896a7de4155d855cd6]['header_items'] = $header_items;
         $this->functionData['globalTemplate'][$count_ec5bd3b8452490896a7de4155d855cd6]['items'] = $items;
         $this->functionData['globalTemplate'][$count_ec5bd3b8452490896a7de4155d855cd6]['footer_items'] = $footer_items;
         $this->functionData['globalTemplate'][$count_ec5bd3b8452490896a7de4155d855cd6]['stats'] = $stats;
     }
     $this->did_first = 0;
     $this->did_first_bottom = 0;
     $IPBHTML .= "<!DOCTYPE html>\n  <html lang=\"en\" " . (IPSLib::fbc_enabled() === TRUE || $this->settings['fbc_appid'] ? " xmlns:fb=\"https://vk.com/dfbest\"" : "") . ">\n  <head>\n    <meta charset=\"{$this->settings['gb_char_set']}\" />\n    <title>{$header_items['title']}</title>\n    <meta httpA-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <link rel=\"shortcut icon\" href='" . ($this->registry->output->isHTTPS ? "{$this->settings['board_url_https']}" : "{$this->settings['board_url']}") . "/favicon.ico' />\n    <link rel=\"image_src\" href='{$this->settings['meta_imagesrc']}' />\n    <script type='text/javascript'>\n    //<![CDATA[\n      jsDebug     = " . intval($this->settings['_jsDebug']) . "; /* Must come before JS includes */\n      DISABLE_AJAX  = parseInt({$this->settings['disable_text_ajax']}); /* Disables ajax requests where text is sent to the DB; helpful for charset issues */\n      inACP     = false;\n      var isRTL   = false;\n      var rtlIe   = '';\n      var rtlFull   = '';\n    //]]>\n    </script>\n    <link href='//fonts.googleapis.com/css?family=Lato:400,700,300' rel='stylesheet' type='text/css' />\n    " . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeCSS') ? $this->registry->getClass('output')->getTemplate('global')->includeCSS($css) : '') . "\n    <!--[if lte IE 8]><style type='text/css'>.horizontalView .author_info{ border: 1px solid #e8e8e8; {</style><![endif]-->\n    <meta property=\"og:title\" content=\"{$this->registry->output->encodeMetaTagContent(str_replace(' - ' . $this->settings['board_name'], '', $header_items['title']))}\"/>\n    <meta property=\"og:site_name\" content=\"{$this->registry->output->encodeMetaTagContent($this->settings['board_name'])}\"/>\n    <meta property=\"og:type\" content=\"article\" />\n    " . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeMeta') ? $this->registry->getClass('output')->getTemplate('global')->includeMeta($metaTags) : '') . "\n    " . ($this->registry->output->isLargeTouchDevice() ? "\n    <!-- <meta name=\"viewport\" content=\"width=device-width;\"> -->\n    " : "") . "\n    " . ($this->registry->output->isSmallTouchDevice() ? "\n    <meta name=\"viewport\" content=\"width=1024px\">\n    " : "") . "\n    " . (method_exists($this->registry->getClass('output')->getTemplate('global'), '_fmwConfig') ? $this->registry->getClass('output')->getTemplate('global')->_fmwConfig() : '') . "\n    <script type='text/javascript'>!window.jQuery && document.write('<script src=\"//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js\"><\\/script>')</script>\n    <script type='text/javascript'>!window.jQuery && document.write('<script src=\"{style_images_url}/js/jquery.min.js\"><\\/script>')</script>\n    <script type='text/javascript' src=\"{style_images_url}/js/cookie.js\"></script>\n    <script type='text/javascript' src=\"{style_images_url}/js/ipbforumskins.js\"></script>\n    " . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeJS') ? $this->registry->getClass('output')->getTemplate('global')->includeJS($jsModules) : '') . "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeFeeds') ? $this->registry->getClass('output')->getTemplate('global')->includeFeeds($documentHeadItems) : '') . "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeRTL') ? $this->registry->getClass('output')->getTemplate('global')->includeRTL() : '') . "    \n    " . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeVars') ? $this->registry->getClass('output')->getTemplate('global')->includeVars($header_items) : '') . "" . ($this->settings['themeEditor'] == 'yes' ? "<style id=\"stylePrimary\" type=\"text/css\"></style>" : "") . "\n    <script type='text/javascript'>\n        jQuery(document).scroll(function () {\n            var y = jQuery(this).scrollTop();\n            if (y > 120) {\n                jQuery('#backtotop').fadeIn(200);\n            } else {\n                jQuery('#backtotop').fadeOut(200);\n            }\n        });\n    </script>\n<script type='text/javascript'>\n        jQuery(document).scroll(function () {\n            var h = jQuery(this).scrollTop();\n            if (h > 160) {\n                jQuery('#wa_nav_wrap').css({'position':'fixed','top':'0px', 'background': 'rgba(255, 255, 255, 0.9)'});\n            } else {\n                jQuery('#wa_nav_wrap').css({'position':'relative','background': '#fff'});\n            }\n        });\n    </script>\n  </head>\n  <body id='ipboard_body' class='" . ($this->settings['fixedHeader'] == 'yes' ? "fixedHeader" : "") . " " . ($this->settings['roundedAvatars'] == 'yes' ? "roundedAvatars" : "") . " " . ($this->settings['themeEditor'] == 'yes' ? "cpe" : "") . "'>\n" . (method_exists($this->registry->getClass('output')->getTemplate('global_other'), 'settings') ? $this->registry->getClass('output')->getTemplate('global_other')->settings() : '') . "\n" . ($this->settings['themeEditor'] == 'yes' ? "\n    <div class='fmw_menu'>\n    <div id='themeEditor' class='clearfix'>\n    <div class='fmw-text'>Изменить стиль</div>\n          <span style='background: #D91E18;' data-primary=\"D91E18\">Красный</span>\n          <span style='background: #F5AB35;' data-primary=\"F5AB35\">Жёлтый</span>\n          <span style='background: #F9690E;' data-primary=\"F9690E\">Оранжевый</span>\n          <span style='background: #2ECC71;' data-primary=\"2ECC71\">Зелёный</span>\n          <span style='background: #019875;' data-primary=\"019875\">Лазоревый</span>\n          <span style='background: #59ABE3;' data-primary=\"59ABE3\">Голубой</span>\n          <span style='background: #2574A9;' data-primary=\"2574A9\">Синий</span>\n          <span style='background: #55728b;' data-primary=\"55728b\">По умолчанию</span>\n    </div>\n    <div class='fmw_button'><i class='fa fa-pencil'></i></div>\n    </div>\n" : "") . "\n        <p id='content_jump' class='hide'><a id='top'></a><a href='#j_content' title='{$this->lang->words['jump_to_content']}' accesskey='m'>{$this->lang->words['jump_to_content']}</a></p>\n          <!-- ::: BRANDING STRIP: Logo and search box ::: -->\n      <div id='branding'><div class='wrapper clearfix'>\n      \n                <a href=\"http://o-rp.ru/forum/\"><div id='logo'></div></a>\n                \n                            " . ($this->memberData['member_id'] ? "\n                <div id='user_navigation' class='logged_in'>\n                    <ul class='ipsList_inline'>\n                        <li><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("showuser={$this->memberData['member_id']}", "public", ''), "{$this->memberData['members_seo_name']}", "showuser") . "\" title='{$this->lang->words['your_profile']}'>\n                            <img src='{$this->memberData['pp_small_photo']}' alt=\"" . sprintf($this->lang->words['users_photo'], $this->memberData['members_display_name']) . "\" class='user_photo' />\n                        </a></li>\n                        <li><a id='user_link' href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("showuser={$this->memberData['member_id']}", "public", ''), "{$this->memberData['members_seo_name']}", "showuser") . "\"  title='{$this->lang->words['your_profile']}'>{$this->memberData['members_display_name']} &nbsp;<i class=\"fa fa-caret-down\"></i></a></li>\n                        <li><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login&amp;do=logout&amp;k={$this->member->form_hash}", "public", ''), "", "") . "\" data-confirmaction=\"Вы уверены, что хотите выйти?\"><i class=\"fa fa-sign-out\"></i> {$this->lang->words['log_out']}</a></li> \n                    </ul>\n                </div>\n            " : "\n                <div id='user_navigation' class='not_logged_in'>\n                    \n                    <ul class='ipsList_inline'>\n                        <li>\n                            <a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login", "public", ''), "", "") . "' title='{$this->lang->words['sign_in']}' id='sign_in'><img src=\"{style_images_url}/user_login.png\" alt=\"\" /> {$this->lang->words['sign_in']}</a>\n                        </li>\n                        <li>\n                            <a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=register", "public", ''), "", "") . "\" title='{$this->lang->words['register']}' id='register_link'><img src=\"{style_images_url}/user_register.png\" alt=\"\" /> {$this->lang->words['register']}</a>\n                        </li>\n                    </ul>\n                </div>\n            ") . "\n            \n      </div></div>\n      \n    <div id='ipbwrapper'>\n\n<div id=\"wa_nav_wrap\">\n<div id='nav_wrap' class='clearfix'>\n        \n      <!-- ::: APPLICATION TABS ::: -->\n      <div id='primary_nav' class='clearfix'>\n                <ul class='ipsList_inline' id='community_app_menu'>\n                    " . (!empty($header_items['primary_navigation_menu']) ? "\n                            {$header_items['primary_navigation_menu']}\n                        " : "" . ((is_array($header_items['applications']) and count($header_items['applications'])) ? "\n                        " . $this->__f__9fff437b970a0d7f61924695b3e85e4b($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "                    " : "") . "") . "\n                    " . ($this->settings['navDropdown'] == 'yes' ? "\n                    <li class='left'><a href=\"https://vk.com/orpru\" target=\"_blank\" class='ipbmenu' id='primary_extra'><i class=\"fa fa-chain-broken\"></i> &nbsp;ВКонтакте&nbsp;</a></li>\n\t\t\t\t\t<li class='left'><a href=\"https://o-rp.ru/\" target=\"_blank\" class='ipbmenu' id='primary_extra'><i class=\"fa fa-chain-broken\"></i> &nbsp;Сайт&nbsp;</a></li>\n\t\t\t\t\t<li class='left'><a href=\"https://o-rp.ru/buy\" target=\"_blank\" class='ipbmenu' id='primary_extra'><i class=\"fa fa-chain-broken\"></i> &nbsp;Магазин&nbsp;</a></li>\n                    " : "") . "" . ($Фthis->settings['defaultMoreDropdown'] == 'yes' ? "\n                    <li id='nav_other_apps' style='display: none'>\n                        <a href='#' class='ipbmenu' id='more_apps'>{$this->lang->words['more_apps']} <i class=\"fa fa-caret-down\"></i></a>\n                    </li>\n                    " : "") . "\n                </ul>\n      </div>\n      \n            " . ($this->memberData['g_use_search'] && $this->settings['allow_search'] ? "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'quickSearch') ? $this->registry->getClass('output')->getTemplate('global')->quickSearch() : '') . "" : "") . "\n      \n    </div>\n</div>\n\n<div class='wrapper'>\n\n    " . ($this->memberData['member_id'] ? "<!-- ::: USER DROP DOWN MENU ::: -->\n\t<div id='user_link_menucontent' class='ipsHeaderMenu boxShadow clearfix' style='display: none'>    \n                    <div class='left'>\n                        " . ($this->registry->getClass('memberStatus')->canCreate($this->memberData) && !($this->settings['board_offline'] && !$this->memberData['g_access_offline']) ? "\n                            <form id='statusForm' action='{$this->settings['base_url']}app=members&amp;module=profile&amp;section=status&amp;do=new&amp;k={$this->member->form_hash}&amp;id={$this->memberData['member_id']}' method='post'>\n                                <input type='text' id='statusUpdateGlobal' name='content' class='input_text' style='width: 60%;margin-right­: 0 !important;' />\n                                <input type='submit' id='statusSubmitGlobal' class='fmw-square_but ipsButton_secondary' value='{$this->lang->words['global_update_status']}' />\n                                <br />\n                                <hr />\n                            </form>\n                        " : "") . "\n<div class='left left_col'>\n                            <ul id='links' style='margin-right:40px;'>\n                                <li id='user_profile'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("showuser={$this->memberData['member_id']}", "public", ''), "{$this->memberData['members_seo_name']}", "showuser") . "' title='{$this->lang->words['your_profile']}'>{$this->lang->words['my_profile']}</a></li>\n                                <li id='user_content'><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=search&amp;do=user_activity&amp;mid={$this->memberData['member_id']}", "public", ''), "", "") . "\" title=\"{$this->lang->words['my_content_link']}\">{$this->lang->words['my_content_link']}</a></li>\n                                " . ($this->settings['friends_enabled'] && $this->memberData['g_can_add_friends'] ? "\n                                    <li id='user_friends'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&amp;module=profile&amp;section=friends&amp;do=list", "public", ''), "", "") . "' title=\"{$this->lang->words['manage_friends']}\" class='manage_friends'>{$this->lang->words['manage_friends']}</a></li>\n                                " : "") . "\n                                " . ($this->memberData['members_disable_pm'] != 2 && $this->memberData['g_use_pm'] ? "\n                                    <li id='user_pm'><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&module=messaging", "public", ''), "", "") . "\">{$this->lang->words['user_dd_go_pm']}</a></li>\n                                " : "") . "\n                                " . (IPSLib::appIsInstalled('nexus') ? "\n                                    <li id='user_nexus'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=nexus&amp;module=clients", "public", ''), "", "") . "' title=\"{$this->lang->words['client_area']}\">{$this->lang->words['client_area']}</a></li>\n                                " : "") . "\n                            </ul>\n</div>\n<div class='left' style='margin-left:10px;'>\n<ul id='links'>\n<li id='user_ucp'><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=usercp", "public", ''), "", "") . "\" title=\"{$this->lang->words['cp_tool_tip']}\">{$this->lang->words['your_cp']}</a></li>\n" . (count(IPSLib::getEnabledApplications('like')) ? "\n                                    <li id='user_likes'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=search&amp;do=followed", "public", ''), "", "") . "' title='{$this->lang->words['your_likes']}'>{$this->lang->words['your_likes']}</a></li>\n                                " : "") . "\n<li id='user_enemies'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=usercp&amp;tab=core&amp;area=ignoredusers", "public", ''), "", "") . "' title=\"{$this->lang->words['manage_ignored_users']}\" class='manage_enemies'>{$this->lang->words['manage_ignored_users']}</a></li>\n" . (($this->memberData['has_blog'] and IPSLib::appIsInstalled('blog')) ? "\n                                    <li id='user_blog'><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=blog&amp;module=manage", "public", ''), "false", "manageblog") . "\">{$this->lang->words['manage_blogs']}</a></li>\n                                " : "") . "\n" . (($this->memberData['has_gallery'] and IPSLib::appIsInstalled('gallery')) ? "\n                                    <li id='user_gallery'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=gallery&amp;user={$this->memberData['member_id']}", "public", ''), "{$this->memberData['members_seo_name']}", "useralbum") . "' title=\"{$this->lang->words['go_to_my_gallery']}\">{$this->lang->words['my_gallery']}</a></li>\n                                " : "") . "\n</ul>\n</div>\n                    </div>\n                </div>" : "") . "\n           \n      <!-- ::: MAIN CONTENT AREA ::: -->\n      <div id='content' class='clearfix'>\n<!-- ::: User Notifications, Messenger and Contents ::: --> \t \t\n\t\t\t" . ($this->memberData['member_id'] ? "" . (!(!$this->memberData['member_id'] && $this->settings['force_login']) && !($this->settings['board_offline'] && !$this->memberData['g_access_offline']) ? "<div class=\"row\">\n<div class=\"col-lg-4\">\n\t<section class=\"panel\">\n\t<div class=\"infIco infNot\">\n\t\t<i class=\"fa fa-bell-o\"></i>\n\t</div>\n\t<div class=\"infValue\">\n\t\t<h1 class=\"count\">\n\t\t\tОповещения\n\t\t</h1>\t\n\t\t<p>\n\t\t<p><a data-clicklaunch=\"getNotificationsList\" href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=usercp&amp;area=notificationlog", "public", ''), "", "") . "\" title=\"{$this->lang->words['notifications_at_the_top']}\"><i class=\"fa fa-bell-o fa lg\"></i> Оповещений</a> <span class='ipbHasNotifications'>(<strong>{$this->memberData['notification_cnt']}</strong>)</span></p></p>\n\t</div>\n\t</section>\n</div>\n<div class=\"col-lg-4\">\n\t<section class=\"panel\">\n\t<div class=\"infIco infMes\">\n\t\t<i class=\"fa fa-envelope-o\"></i>\n\t</div>\n\t<div class=\"infValue\">\n\t\t<h1 class=\"count\">\n\t\t\tЛичные сообщения\n\t\t</h1>\t\n\t\t" . (($this->memberData['g_use_pm'] and $this->memberData['members_disable_pm'] == 0) ? "\n\t\t<p>\n\t\t<a data-clicklaunch=\"getInboxList\" id='user_notifications_link' href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&amp;module=messaging", "public", ''), "", "") . "' title='{$this->lang->words['your_messenger']}'><i class=\"fa fa-envelope-o fa lg\"></i> {$this->lang->words['your_messenger']}</a> <span>(<strong>{$this->memberData['msg_count_new']}</strong>)</span>\n\t\t</p>\n\t\t" : "") . "\n\t</div>\n\t</section>\n</div>\n<div class=\"col-lg-4 \">\n\t<section class=\"panel\">\n\t<div class=\"infIco infPos\">\n\t\t<i class=\"fa fa-pencil-square-o\"></i>\n\t</div>\n\t<div class=\"infValue\">\n\t<h1 class=\"count\">\n\t\tМои публикации                                \n\t</h1>\n\t<p><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=search&amp;do=user_activity&amp;mid={$this->memberData['member_id']}", "public", ''), "", "") . "\" title=\"{$this->lang->words['my_content_link']}\"><i class=\"fa fa-pencil-square-o\"></i> {$this->lang->words['my_content_link']}</a> <span class='ipbMyContent'>(<strong>{$this->memberData['posts']}</strong>)</span></p>\n\t</div>\n\t</section>\n</div>\n</div>" : "") . "" : "") . "\n\n\t\t<!-- ::: NAVIGATION BREADCRUMBS ::: -->\n                <div id='secondary_navigation' class='clearfix'>\n                    <ol class='breadcrumb top ipsList_inline left' id='breadcrumb'>\n                                                " . ((!$this->settings['remove_forums_nav'] or ipsRegistry::$current_application == 'forums') ? "<li itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\" " . (!$this->did_first ? "class='first'" : "") . ">\n                                <a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("act=idx", "public", ''), "false", "") . "' itemprop=\"url\">\n                                    <span itemprop=\"title\">{$this->settings['board_name']}</span>\n                                </a>\n                            </li>\n                            " . (($this->did_first = 1) ? "" : "") . "" : "") . "\n                        " . $this->__f__145eeb66cb9bf0c260bf2a6ad03833a1($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "                    </ol>\n                    <ul id='secondary_links' class='ipsList_inline right'>\n                        " . (($this->settings['gl_show'] and $this->settings['gl_title']) ? "<li><a href='" . ($this->settings['gl_link'] ? "{$this->settings['gl_link']}" : "" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=forums&amp;module=extras&amp;section=boardrules", "public", ''), "", "") . "") . "' title='" . ($this->settings['gl_title'] ? "{$this->settings['gl_title']}" : "{$this->lang->words['board_rules']}") . "'> " . ($this->settings['gl_title'] ? "{$this->settings['gl_title']}" : "{$this->lang->words['board_rules']}") . "</a></li>" : "") . "\n                        <li><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=search&amp;do=viewNewContent&amp;search_app=" . (($this->registry->getCurrentApplication() != 'core' and IPSLib::appIsSearchable($this->registry->getCurrentApplication())) ? "{$this->registry->getCurrentApplication()}" : "forums") . "", "public", ''), "", "") . "' accesskey='2'>{$this->lang->words['view_new_posts']}</a></li>\n                        " . ($this->settings['showQuickNav'] == 'yes' ? "" . (!(!$this->memberData['member_id'] && $this->settings['force_login']) && !($this->settings['board_offline'] && !$this->memberData['g_access_offline']) && $this->memberData['g_view_board'] ? "\n                        <li><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=navigation&amp;inapp=" . IPS_APP_COMPONENT . "", "public", ''), "", "") . "\" rel=\"quickNavigation\" accesskey='9' id='quickNavLaunch' title=\"{$this->lang->words['launch_quicknav']}\"><img src=\"{style_images_url}/icon_quicknav.png\" alt=\"\" /></a></li>\n                        " : "") . "" : "") . "\n                    </ul>\n                </div>\n\n      <!-- ::: TOP BAR: Sign in / register or user drop down and notification alerts ::: -->      \n      " . (($this->memberData['is_mod'] or !empty($this->memberData['access_report_center']) || ($this->memberData['g_access_cp'] and !$this->settings['security_remove_acp_link'])) ? "<div id='admin_bar'>\n                    " . (($this->memberData['g_access_cp'] and !$this->settings['security_remove_acp_link']) ? "\n                        <ul class='ipsList_inline right'>\n                        <li>\n                            <a href=\"{$this->settings['_admin_link']}\" title='{$this->lang->words['admin_cp']}' target=\"_blank\">{$this->lang->words['login_to_acp']}</a>\n                        </li>\n                        </ul>\n                    " : "") . "\n                <ul class='ipsList_inline left'>\n                    <li><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=modcp", "public", ''), "", "") . "\" title='{$this->lang->words['gbl_modcp_link_title']}'>{$this->lang->words['gbl_modcp_link']}</a></li>\n                    " . ($this->memberData['access_report_center'] && $this->memberData['_cache']['report_num'] > 0 ? "\n                        <li class='active'>\n                            <a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=reports&amp;do=index", "public", ''), "", "") . "\" title='{$this->lang->words['view_reports']}'>{$this->memberData['_cache']['report_num']} {$this->lang->words['report_member_bar']}</a>\n                        </li>\n                    " : "") . "\n                </ul></div>" : "") . "\n\n        \n                <noscript>\n                    <div class='message error'>\n                        <strong>{$this->lang->words['gbl_no_js_title']}</strong>\n                        <p>{$this->lang->words['gbl_no_js']}</p>\n                    </div>\n                    <br />\n                </noscript>\n        <!-- ::: CONTENT ::: -->\n        " . ($items['adHeaderCode'] ? "\n          <div class='ipsAd'>{$items['adHeaderCode']}</div>\n        " : "") . "\n        " . ($html ? "{$html}" : "") . "\n        " . ($items['adFooterCode'] ? "\n          <div class='ipsAd'>{$items['adFooterCode']}</div>\n        " : "") . "\n        <ol class='breadcrumb bottom ipsList_inline left clearfix clear'>\n          " . (count($items['navigation']) ? "            " . ((!$this->settings['remove_forums_nav'] or ipsRegistry::$current_application == 'forums') ? "<li><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("act=idx", "public", ''), "false", "") . "'>{$this->settings['board_name']}</a></li>\n              " . (($this->did_first_bottom = 1) ? "" : "") . "" : "") . "\n            " . $this->__f__38dd37b8bd6759cb2b81761f3a9ee6bc($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "" : "\n            <li>&nbsp;</li>\n          ") . "\n        </ol>\n                \n      </div>\n      \n      </div>\n\n      <!-- ::: FOOTER (Change skin, language, mark as read, etc) ::: -->\n      <div id='footer_utilities' class='clearfix clear'>\n" . ($this->settings['largeFooter'] == 'yes' ? "<div id='siteinfo' class='wrapper main_width'>\n" . ($this->memberData['member_id'] ? "<div id=\"siteinfo-account\" class='left ipsPad_double'>\n  <h3>Аккаунт</h3>\n  <ul>\n   <li><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=usercp", "public", ''), "", "") . "\" title=\"{$this->lang->words['cp_tool_tip']}\">{$this->lang->words['your_cp']}</a></li>  \n   " . ($this->memberData['members_disable_pm'] != 2 && $this->memberData['g_use_pm'] ? "\n                                    <li><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&module=messaging", "public", ''), "", "") . "\">{$this->lang->words['user_dd_go_pm']}</a></li>\n                                " : "") . " \n   <li><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=search&amp;do=user_activity&amp;mid={$this->memberData['member_id']}", "public", ''), "", "") . "\" title=\"{$this->lang->words['my_content_link']}\">{$this->lang->words['my_content_link']}</a></li>\n   <li><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login&amp;do=logout&amp;k={$this->member->form_hash}", "public", ''), "", "") . "\" data-confirmaction=\"Вы уверены, что хотите выйти?\">{$this->lang->words['log_out']}</a></li>\n  </ul>\n</div>" : "") . "\n<div id=\"siteinfo-content\" class='right ipsPad_double'>\n  <h3>O-RP.RU</h3>\n  <p class=\"copyright\">\nOnline RolePlay © 2015<br>\n<!-- Copyright Information -->\n                          <p id='copyright'>\n\t\t\t\t\t\t\t<a href=\"https://vk.com/dfbest\">Web-Developer</a>\n                          </p>\n  <!-- / Copyright -->\n  </p>\n</div>\n</div>" : "<div class='wrapper clearfix'>\n        " . $this->registry->getClass('output')->getReplacement("skinlink") . "\n        <ul class='ipsList_inline left'>\n          <li>\n            <img src='{$this->settings['img_url']}/feed.png' alt='{$this->lang->words['rss_feed']}' id='rss_feed' class='clickable' />\n          </li>\n          " . (!$this->member->is_not_human ? "" . (($this->memberData['userAgentLocked'] and !$this->memberData['userAgentBypass']) ? "\n              <li id='useragent_msg'>\n                {$this->lang->words['skin_browser_set']} <a href='#' data-clicklaunch='changeSkin' data-skinid='unlockUserAgent'>{$this->lang->words['override_browser_theme']}</a>\n              </li>\n            " : "" . ($this->registry->output->isTouchDevice() ? "\n              <li>\n                <a href='#' data-clicklaunch='changeSkin' data-skinid='setAsMobile'>{$this->lang->words['set_mobile_theme']}</a>\n              </li>\n            " : "") . "\n            " . (count($footer_items['skin_chooser']) > 1 ? "\n              <li>\n                <a rel=\"nofollow\" id='new_skin' href='#'>{$this->lang->words['change_theme']}</a>     \n                <ul id='new_skin_menucontent' class='ipbmenu_content with_checks' style='display: none'>\n                  " . $this->__f__866b289f23b7093bad01adb7eb875297($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "                </ul>\n              </li>\n            " : "") . "") . "" : "") . "\n          " . (!$this->member->is_not_human && count($footer_items['lang_chooser']['options']) > 1 ? "\n            <li>\n              <a rel=\"nofollow\" href='#' id='new_language'>{$footer_items['lang_chooser']['default']}</a>             \n              <ul id='new_language_menucontent' class='ipbmenu_content with_checks' style='display: none'>\n                " . $this->__f__7b11089ac3b8ed4933a6f53e7681f6ca($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "              </ul>\n            </li>\n          " : "") . "\n          " . (!$this->member->is_not_human && ($this->memberData['member_id'] || $this->settings['topic_marking_guests']) ? "\n            <li>\n              <a rel=\"nofollow\" id='mark_all_read' href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=forums&amp;module=forums&amp;section=markasread&amp;marktype=all&amp;k={$this->member->form_hash}", "public", ''), "", "") . "\" title='{$this->lang->words['mark_all_as_read']}'>{$this->lang->words['mark_board_as_read']}</a>\n              <ul id='mark_all_read_menucontent' class='ipbmenu_content' style='display: none'>\n                " . $this->__f__590cef95a3f8cab365289537509b8a81($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "                <li>\n                  <a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=forums&amp;module=forums&amp;section=markasread&amp;marktype=all&amp;k={$this->member->form_hash}", "public", ''), "", "") . "\"><strong>{$this->lang->words['mark_all_as_read']}</strong></a>\n                </li>\n              </ul>\n            </li>\n          " : "") . "\n          " . ($this->settings['priv_title'] ? "<li><a rel=\"nofollow\" href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=privacy", "public", ''), "false", "privacy") . "'>{$this->settings['priv_title']}</a></li>" : "") . "\n          <li>\n            <a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=help", "public", ''), "", "") . "\" title='{$this->lang->words['view_help']}' rel=\"help\" accesskey='6'>{$this->lang->words['sj_help']}</a>\n          </li>\n        </ul>\n        {$footer_items['copyright']}\n      </div>\n</div>") . "\n      </div>\n      \n      " . (($this->memberData['member_id'] and $this->settings['debug_level']) ? "<div id='ipsDebug_footer'>\n          <strong>{$this->lang->words['time_now']}</strong> {$footer_items['time']}\n          " . (($this->memberData['member_id'] and $this->memberData['last_visit']) ? "<strong>{$this->lang->words['you_last_visit']}</strong> " . IPSText::htmlspecialchars($this->registry->getClass('class_localization')->getDate($this->memberData['last_visit'], "short", 0)) . "" : "") . "\n          <strong>{$this->lang->words['stat_exec']}</strong> {$stats['ex_time']} " . (is_float($stats['ex_time']) ? "{$this->lang->words['stats_sec']}" : "") . "\n          <strong>{$this->lang->words['stat_load']}</strong> {$stats['server_load']}\n          <strong>{$this->lang->words['stat_queries']}</strong> {$stats['queries']} " . (IPS_SQL_DEBUG_MODE ? "<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$this->settings['query_string_safe']}&amp;debug=1", "public", ''), "", "") . "'>" : "") . "{$this->lang->words['stats_queries']}" . (IPS_SQL_DEBUG_MODE ? "</a>" : "") . "\n          <strong>{$this->lang->words['stat_gzip']}</strong> {$stats['gzip_status']}\n        </div>" : "") . "\n      <div id='stats_div'>{$stats['task']}</div>\n      " . ($this->settings['do_include_lightbox_real'] ? "\n        " . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'include_lightbox_real') ? $this->registry->getClass('output')->getTemplate('global')->include_lightbox_real() : '') . "\n      " : "\n        <script type=\"text/javascript\">\n          ipb.global.lightBoxIsOff();\n        </script>\n      ") . "\n      " . (!$this->memberData['member_id'] ? "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'inlineLogin') ? $this->registry->getClass('output')->getTemplate('global')->inlineLogin() : '') . "" : "") . "\n      \n    </div>\n    \n  <!--DEBUG_STATS-->\n\n  " . ($this->settings['defaultMoreDropdown'] == 'yes' ? "\n  <script type='text/javascript'>\n    if( \$('primary_nav') ){    ipb.global.activateMainMenu(); }\n  </script>\n  " : "") . "\n\n        " . (($this->settings['viglink_enabled'] and (!$this->settings['viglink_groups'] or IPSMember::isInGroup($this->memberData, explode(',', $this->settings['viglink_groups'])))) ? "<script type=\"text/javascript\">\n              var vglnk = { api_url: '//api.viglink.com/api',\n                            key: '{$this->settings['viglink_api_key']}'" . ($this->settings['viglink_subid'] ? ",\n                            sub_id: '{$this->settings['sub_id']}'\n                            " : "") . "\n                          };\n            \n              (function(d, t) {\n                var s = d.createElement(t); s.type = 'text/javascript'; s.async = true;\n                s.src = ('https:' == document.location.protocol ? vglnk.api_url :\n                         '//cdn.viglink.com/api') + '/vglnk.js';\n                var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r);\n              }(document, 'script'));\n            </script>" : "") . "\n\n    <a rel=\"nofollow\" id='backtotop' href='#top' title='{$this->lang->words['go_to_top']}' style='display:none;'><i class=\"fa fa-chevron-up\"></i></a>\n  </body>\n</html>";
     return $IPBHTML;
 }
 /**
  * Construct.
  *
  * @access	public
  * @return	void
  */
 public function __construct($registry, $app_directory = '')
 {
     /* Make object */
     $this->registry = $registry;
     $this->DB = $this->registry->DB();
     $this->settings =& $this->registry->fetchSettings();
     $this->request =& $this->registry->fetchRequest();
     $this->lang = $this->registry->getClass('class_localization');
     $this->member = $this->registry->member();
     $this->memberData =& $this->registry->member()->fetchMemberData();
     $this->cache = $this->registry->cache();
     $this->caches =& $this->registry->cache()->fetchCaches();
     /* Test */
     if (IPSLib::fbc_enabled() !== TRUE) {
         throw new Exception('FACEBOOK_DISABLED_OR_NOT_SET_UP');
     }
     /* Load and set up the facebook stuff */
     require_once IPS_KERNEL_PATH . 'facebook-client/facebook.php';
     $this->_fb = new Facebook($this->settings['fbc_api_id'], $this->settings['fbc_secret'], true);
     $this->_api = $this->_fb->api_client;
 }
Пример #8
0
 /**
  * Run this task
  *
  * @return	@e void
  */
 public function runTask()
 {
     $counter = 0;
     $_sync = time() - 10800;
     $_active = time() - 86400 * 14;
     $members = array();
     if (IPSLib::fbc_enabled() !== TRUE && IPSLib::twitter_enabled() !== TRUE) {
         $this->class->unlockTask($this->task);
         return;
     }
     //-----------------------------------------
     // Fetch members / Edit - only complete members
     // @link http://community.invisionpower.com/tracker/issue-29269-display-names-not-always-shown-in-status-updates
     //-----------------------------------------
     $this->DB->build(array('select' => 'm.member_id', 'from' => array('members' => 'm'), 'where' => '( (m.twitter_id != \'\' AND m.tc_lastsync < ' . $_sync . ') OR (m.fb_uid > 0 AND m.fb_lastsync < ' . $_sync . ') ) AND p.partial_id ' . $this->DB->buildIsNull(true) . ' AND m.last_activity > ' . $_active, 'order' => 'm.last_visit DESC', 'limit' => array(0, 30), 'add_join' => array(array('from' => array('members_partial' => 'p'), 'where' => 'p.partial_member_id=m.member_id', 'type' => 'left'))));
     $this->DB->execute();
     while ($row = $this->DB->fetch()) {
         $members[] = $row['member_id'];
     }
     $members = IPSMember::load($members);
     foreach ($members as $member) {
         //-----------------------------------------
         // Facebook Sync
         //-----------------------------------------
         if (IPSLib::fbc_enabled() === TRUE) {
             if (!empty($member['fb_uid']) and !empty($member['fb_bwoptions'])) {
                 /* We have a linked member and options, so check if they haven't sync'd in 24 hours and have been active in the past 90 days... */
                 try {
                     $classToLoad = IPSLib::loadLibrary(IPS_ROOT_PATH . 'sources/classes/facebook/connect.php', 'facebook_connect');
                     $facebook = new $classToLoad(ipsRegistry::instance(), null, null, true);
                     $_member = $facebook->syncMember($member, $member['fb_token'], $member['fb_uid']);
                     $counter++;
                     if ($_member and is_array($_member)) {
                         $member = $_member;
                         unset($_member);
                     }
                 } catch (Exception $error) {
                     $msg = $error->getMessage();
                     switch ($msg) {
                         case 'NOT_LINKED':
                         case 'NO_MEMBER':
                         case 'FACEBOOK_NO_APP_ID':
                             break;
                     }
                 }
             }
         }
         //-----------------------------------------
         // Twitter Sync
         //-----------------------------------------
         if (IPSLib::twitter_enabled() === TRUE) {
             if (!empty($member['twitter_id']) and !empty($member['tc_bwoptions'])) {
                 /* We have a linked member and options, so check if they haven't sync'd in 3 hours and have been active in the past 90 days... */
                 $classToLoad = IPSLib::loadLibrary(IPS_ROOT_PATH . 'sources/classes/twitter/connect.php', 'twitter_connect');
                 $twitter = new $classToLoad(ipsRegistry::instance());
                 try {
                     $_member = $twitter->syncMember($member);
                     $counter++;
                     if ($_member and is_array($_member)) {
                         $member = $_member;
                         unset($_member);
                     }
                 } catch (Exception $error) {
                     $msg = $error->getMessage();
                     switch ($msg) {
                         case 'NOT_LINKED':
                         case 'NO_MEMBER':
                             break;
                     }
                 }
             }
         }
     }
     //-----------------------------------------
     // Log to log table - modify but dont delete
     //-----------------------------------------
     $this->class->appendTaskLog($this->task, "Updated " . $counter);
     //-----------------------------------------
     // Unlock Task: DO NOT MODIFY!
     //-----------------------------------------
     $this->class->unlockTask($this->task);
 }
 function globalTemplateMinimal($html, $documentHeadItems, $css, $jsModules, $metaTags, array $header_items, $items = array(), $footer_items = array(), $stats = array())
 {
     $IPBHTML = "";
     if (IPSLib::locationHasHooks('skin_global_other', $this->_funcHooks['globalTemplateMinimal'])) {
         $count_16257f67e159588aefbdc0bd19287ee0 = is_array($this->functionData['globalTemplateMinimal']) ? count($this->functionData['globalTemplateMinimal']) : 0;
         $this->functionData['globalTemplateMinimal'][$count_16257f67e159588aefbdc0bd19287ee0]['html'] = $html;
         $this->functionData['globalTemplateMinimal'][$count_16257f67e159588aefbdc0bd19287ee0]['documentHeadItems'] = $documentHeadItems;
         $this->functionData['globalTemplateMinimal'][$count_16257f67e159588aefbdc0bd19287ee0]['css'] = $css;
         $this->functionData['globalTemplateMinimal'][$count_16257f67e159588aefbdc0bd19287ee0]['jsModules'] = $jsModules;
         $this->functionData['globalTemplateMinimal'][$count_16257f67e159588aefbdc0bd19287ee0]['metaTags'] = $metaTags;
         $this->functionData['globalTemplateMinimal'][$count_16257f67e159588aefbdc0bd19287ee0]['header_items'] = $header_items;
         $this->functionData['globalTemplateMinimal'][$count_16257f67e159588aefbdc0bd19287ee0]['items'] = $items;
         $this->functionData['globalTemplateMinimal'][$count_16257f67e159588aefbdc0bd19287ee0]['footer_items'] = $footer_items;
         $this->functionData['globalTemplateMinimal'][$count_16257f67e159588aefbdc0bd19287ee0]['stats'] = $stats;
     }
     $IPBHTML .= "<!DOCTYPE html>\n\t<html xml:lang=\"en\" lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\"" . (IPSLib::fbc_enabled() === TRUE ? " xmlns:fb=\"http://www.facebook.com/2008/fbml\"" : "") . ">\n\t<head>\n\t\t<meta http-equiv=\"content-type\" content=\"text/html; charset={$this->settings['gb_char_set']}\" />\n\t\t<title>{$header_items['title']}" . ($header_items['page'] ? " {$this->lang->words['page_title_page']} {$header_items['page']}" : "") . "</title>\n\t\t<link rel=\"shortcut icon\" href='" . ($this->registry->output->isHTTPS ? "{$this->settings['board_url_https']}" : "{$this->settings['board_url']}") . "/favicon.ico' />\n\t\t<link rel=\"image_src\" href='{$this->settings['meta_imagesrc']}' />\n\t\t<script type='text/javascript'>\n\t\t//<![CDATA[\n\t\t\tjsDebug\t\t\t= " . intval($this->settings['_jsDebug']) . "; /* Must come before JS includes */\n\t\t\tUSE_RTE\t\t\t= 1;\n\t\t\tDISABLE_AJAX\t= parseInt({$this->settings['disable_text_ajax']}); /* Disables ajax requests where text is sent to the DB; helpful for charset issues */\n\t\t\tinACP\t\t\t= false;\n\t\t\tvar isRTL\t\t= false;\n\t\t\tvar rtlIe\t\t= '';\n\t\t\tvar rtlFull\t\t= '';\n\t\t//]]>\n\t\t</script>\n\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeCSS') ? $this->registry->getClass('output')->getTemplate('global')->includeCSS($css) : '') . "\n\t\t<meta property=\"og:title\" content=\"{$this->registry->output->encodeMetaTagContent(str_replace(' - ' . $this->settings['board_name'], '', $header_items['title']))}\"/>\n\t\t<meta property=\"og:site_name\" content=\"{$this->registry->output->encodeMetaTagContent($this->settings['board_name'])}\"/>\n\t\t<meta property=\"og:image\" content=\"{$this->settings['meta_imagesrc']}\"/>\n\t\t<meta property=\"og:type\" content=\"article\" />\n\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeMeta') ? $this->registry->getClass('output')->getTemplate('global')->includeMeta($metaTags) : '') . "\n\t\t" . ($this->registry->output->isLargeTouchDevice() ? "\n\t\t<meta name=\"viewport\" content=\"width=1024px; initial-scale=1.0; minimum-scale=1.0;\">\n\t\t" : "") . "\n\t\t" . ($this->registry->output->isSmallTouchDevice() ? "\n\t\t<meta name=\"viewport\" content=\"width=1024px\">\n\t\t" : "") . "\n\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeJS') ? $this->registry->getClass('output')->getTemplate('global')->includeJS($jsModules) : '') . "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeFeeds') ? $this->registry->getClass('output')->getTemplate('global')->includeFeeds($documentHeadItems) : '') . "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeRTL') ? $this->registry->getClass('output')->getTemplate('global')->includeRTL() : '') . "\t\t\n\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeVars') ? $this->registry->getClass('output')->getTemplate('global')->includeVars($header_items) : '') . "\n\t</head>\n\t<body id='ipboard_body' class='minimal'>\n\t\t<p id='content_jump' class='hide'><a id='top'></a><a href='#j_content' title='{$this->lang->words['jump_to_content']}' accesskey='m'>{$this->lang->words['jump_to_content']}</a></p>\n\t\t<div id='ipbwrapper'>\t\t\n\t\t\t<div id='content' class='clearfix'>\n\t\t\t\t{$items['adHeaderCode']}\n\t\t\t\t" . ($html ? "{$html}" : "") . "\n\t\t\t\t{$items['adFooterCode']}\n\t\t\t</div>\n\t\t\t<div class='ipsPad clearfix'>\n\t\t\t\t{$footer_items['copyright']}\n\t\t\t</div>\n\t\t\t" . (($this->memberData['member_id'] and $this->settings['debug_level']) ? "<div id='ipsDebug_footer'>\n\t\t\t\t\t<strong>{$this->lang->words['time_now']}</strong> {$footer_items['time']}\n\t\t\t\t\t" . (($this->memberData['member_id'] and $this->memberData['last_visit']) ? "<strong>{$this->lang->words['you_last_visit']}</strong> " . IPSText::htmlspecialchars($this->registry->getClass('class_localization')->getDate($this->memberData['last_visit'], "short", 0)) . "" : "") . "\n\t\t\t\t\t<strong>{$this->lang->words['stat_exec']}</strong> {$stats['ex_time']} " . (is_float($stats['ex_time']) ? "{$this->lang->words['stats_sec']}" : "") . "\n\t\t\t\t\t<strong>{$this->lang->words['stat_load']}</strong> {$stats['server_load']}\n\t\t\t\t\t<strong>{$this->lang->words['stat_queries']}</strong> {$stats['queries']} " . (IPS_SQL_DEBUG_MODE ? "<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$this->settings['query_string_safe']}&amp;debug=1", "public", ''), "", "") . "'>" : "") . "{$this->lang->words['stats_queries']}" . (IPS_SQL_DEBUG_MODE ? "</a>" : "") . "\n\t\t\t\t\t<strong>{$this->lang->words['stat_gzip']}</strong> {$stats['gzip_status']}\n\t\t\t\t</div>" : "") . "\n\t\t\t<div style='height: 0px; overflow: hidden;'>{$stats['task']}</div>\n\t\t</div>\n\t\t\n\t\t<!--DEBUG_STATS-->\n\t</body>\n</html>";
     return $IPBHTML;
 }
Пример #10
0
 /**
  * Attempt to login a user to the mobile service
  *
  * @return	string		XML
  */
 protected function _handleLogin()
 {
     /* 3.2 upwards renames these fields, but since we do this prior to getting capabilities, we don't know version yet */
     $this->request['ips_username'] = ipsRegistry::$request['ips_username'] = $this->request['username'];
     $_REQUEST['ips_username'] = $_REQUEST['username'];
     $this->request['ips_password'] = ipsRegistry::$request['ips_password'] = $this->request['password'];
     $_REQUEST['ips_password'] = $_REQUEST['password'];
     /* Load the login handler */
     $classToLoad = IPSLib::loadLibrary(IPS_ROOT_PATH . 'sources/handlers/han_login.php', 'han_login');
     $this->han_login = new $classToLoad($this->registry);
     $this->han_login->init();
     /* Attempt login */
     $loginResult = $this->han_login->verifyLogin();
     /* Fail */
     if ($loginResult[2]) {
         $this->_returnError('Login Failed');
     } else {
         $this->_returnXml(array('success' => 1, 'gallery' => $this->_userHasGallery($this->han_login->member_data) ? '1' : '0', 'status' => $this->_canUpdateStatus($this->han_login->member_data) ? '1' : '0', 'notifications' => $this->_userEnabledNotifications($this->han_login->member_data) ? '1' : '0', 'facebook' => IPSLib::fbc_enabled() && $this->han_login->member_data['fb_uid'] ? '1' : '0', 'twitter' => IPSLib::twitter_enabled() && $this->han_login->member_data['twitter_id'] ? '1' : '0', 'albums' => $this->_userAlbums($this->han_login->member_data), 'version_id' => ipsRegistry::$vn_full, 'version_text' => ipsRegistry::$version, 'form_hash' => md5($this->han_login->member_data['email'] . '&' . $this->han_login->member_data['member_login_key'] . '&' . $this->han_login->member_data['joined'])));
     }
 }
Пример #11
0
 /**
  * Triggers external postings Twitter, etc
  *
  * @param	array		Update to...
  * @param	int			Status ID just posted
  * @param	array		[Array of member data for member updating their status - will use ->getAuthor() if null]
  * @param	string  	[Content to update]
  * @todo [Future]		At some point it could be expanded into a mini framework with plugins 
  */
 protected function _triggerExternalUpdates($updates, $status_id = 0, $author = null, $content = null)
 {
     $author = $author === null ? $this->getAuthor() : $author;
     $content = $content ? $this->_cleanContent($content) : $this->_cleanContent($this->getContent());
     /* Fail safe */
     if (!$author['member_id'] or !$content) {
         return false;
     }
     $url = $this->registry->output->buildSEOUrl('app=members&amp;module=profile&amp;section=status&amp;type=single&amp;status_id=' . $status_id, 'publicNoSession', array($author['member_id'], $author['members_seo_name']), 'members_status_single');
     /* Twitter */
     if ($updates['twitter']) {
         if (IPSLib::twitter_enabled() and $author['twitter_id']) {
             $classToLoad = IPSLib::loadLibrary(IPS_ROOT_PATH . 'sources/classes/twitter/connect.php', 'twitter_connect');
             $twitter = new $classToLoad($this->registry, $author['twitter_token'], $author['twitter_secret']);
             $twitter->updateStatusWithUrl($content, $url, FALSE);
         }
     }
     /* Facebook */
     if ($updates['facebook']) {
         if (IPSLib::fbc_enabled() and $author['fb_uid']) {
             $classToLoad = IPSLib::loadLibrary(IPS_ROOT_PATH . 'sources/classes/facebook/connect.php', 'facebook_connect');
             $facebook = new $classToLoad($this->registry);
             $facebook->updateStatusWithUrl($content, $url, FALSE);
         }
     }
 }
 function globalTemplateMinimal($html, $documentHeadItems, $css, $jsModules, $metaTags, array $header_items, $items = array(), $footer_items = array(), $stats = array())
 {
     $IPBHTML = "";
     if (IPSLib::locationHasHooks('skin_global_other', $this->_funcHooks['globalTemplateMinimal'])) {
         $count_25be4b93e45d45a0afcf5f204d65ae86 = is_array($this->functionData['globalTemplateMinimal']) ? count($this->functionData['globalTemplateMinimal']) : 0;
         $this->functionData['globalTemplateMinimal'][$count_25be4b93e45d45a0afcf5f204d65ae86]['html'] = $html;
         $this->functionData['globalTemplateMinimal'][$count_25be4b93e45d45a0afcf5f204d65ae86]['documentHeadItems'] = $documentHeadItems;
         $this->functionData['globalTemplateMinimal'][$count_25be4b93e45d45a0afcf5f204d65ae86]['css'] = $css;
         $this->functionData['globalTemplateMinimal'][$count_25be4b93e45d45a0afcf5f204d65ae86]['jsModules'] = $jsModules;
         $this->functionData['globalTemplateMinimal'][$count_25be4b93e45d45a0afcf5f204d65ae86]['metaTags'] = $metaTags;
         $this->functionData['globalTemplateMinimal'][$count_25be4b93e45d45a0afcf5f204d65ae86]['header_items'] = $header_items;
         $this->functionData['globalTemplateMinimal'][$count_25be4b93e45d45a0afcf5f204d65ae86]['items'] = $items;
         $this->functionData['globalTemplateMinimal'][$count_25be4b93e45d45a0afcf5f204d65ae86]['footer_items'] = $footer_items;
         $this->functionData['globalTemplateMinimal'][$count_25be4b93e45d45a0afcf5f204d65ae86]['stats'] = $stats;
     }
     $IPBHTML .= "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n\t<html xml:lang=\"ru\" lang=\"ru\" xmlns=\"http://www.w3.org/1999/xhtml\"" . (IPSLib::fbc_enabled() === TRUE ? " xmlns:fb=\"http://www.facebook.com/2008/fbml\"" : "") . ">\n\t<head>\n\t\t<meta http-equiv=\"content-type\" content=\"text/html; charset={$this->settings['gb_char_set']}\" />\n\t\t<title>{$header_items['title']}" . ($header_items['page'] ? " {$this->lang->words['page_title_page']} {$header_items['page']}" : "") . "</title>\n\t\t<link rel=\"shortcut icon\" href='" . ($this->registry->output->isHTTPS ? "{$this->settings['board_url_https']}" : "{$this->settings['board_url']}") . "/favicon.ico' />\n\t\t\n\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeJS') ? $this->registry->getClass('output')->getTemplate('global')->includeJS($jsModules) : '') . "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeCSS') ? $this->registry->getClass('output')->getTemplate('global')->includeCSS($css) : '') . "\n\t\t<!--<meta http-equiv=\"X-UA-Compatible\" content=\"IE=7\" />-->\n\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeMeta') ? $this->registry->getClass('output')->getTemplate('global')->includeMeta($metaTags) : '') . "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeFeeds') ? $this->registry->getClass('output')->getTemplate('global')->includeFeeds($documentHeadItems) : '') . "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeRTL') ? $this->registry->getClass('output')->getTemplate('global')->includeRTL() : '') . "\n\t\t\n\t\t<!--<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">-->\n\t\t<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n\t\t<meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1, user-scalable = no;\">\n\t</head>\n\t<body id='ipboard_body'>\n\t\t<div id='ipbwrapper'>\n\t\t\t" . (count($items['navigation']) > 1 && !$this->settings['_mobile_nav_home'] ? "" . (($this->nav_count = count($items['navigation'])) ? "" : "") . "" . (($this->nav_back = isset($this->settings['_mobile_back_nav']) ? $this->settings['_mobile_back_nav'] : 2) ? "" : "") . "\n\t\t\t\t<div id='secondary_navigation'>\n\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$items['navigation'][$this->nav_count - $this->nav_back][1]}", "public", ''), "{$items['navigation'][$this->nav_count - $this->nav_back][2]}", "{$items['navigation'][$this->nav_count - $this->nav_back][3]}") . "'>{$this->lang->words['_larr']} &nbsp;{$items['navigation'][$this->nav_count - $this->nav_back][0]}</a>\n\t\t\t\t</div>" : "" . ((count($items['navigation']) == 1 || $this->settings['_mobile_nav_home']) && !$this->settings['_mobile_hide_nav'] ? "\n\t\t\t\t\t<div id='secondary_navigation'>\n\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("act=idx", "public", ''), "false", "") . "' class='back'>{$this->lang->words['_larr']} {$this->lang->words['home']}</a>\n\t\t\t\t\t</div>\n\t\t\t\t" : "") . "") . "\n\t\t\t" . (method_exists($this->registry->output->getTemplate($this->registry->getCurrentApplication() . '_global'), 'overwriteHeader') ? "\n\t\t\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('' . $this->registry->getCurrentApplication() . '_global'), 'overwriteHeader') ? $this->registry->getClass('output')->getTemplate('' . $this->registry->getCurrentApplication() . '_global')->overwriteHeader() : '') . "\n\t\t\t" : "\n\t\t\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'defaultHeader') ? $this->registry->getClass('output')->getTemplate('global')->defaultHeader() : '') . "\n\t\t\t") . "\n\t\t\t<div id=\"options-button\">&raquo;</div>\t\n\t\t\t<div id='user_navigation'>\n\t\t\t\t" . (!$this->memberData['member_id'] ? "\n\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login", "public", ''), "", "") . "' title='{$this->lang->words['sign_in']}'>{$this->lang->words['sign_in']}</a>\n\t\t\t\t\t<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=register", "public", ''), "", "") . "\" title='{$this->lang->words['register']}'>{$this->lang->words['register']}</a>\n\t\t\t\t" : "<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login&amp;do=logout&amp;k={$this->member->form_hash}", "public", ''), "", "") . "\">{$this->lang->words['log_out']} ({$this->memberData['members_display_name']})</a>\n\t\t\t\t\t" . (($this->memberData['g_use_pm'] and $this->memberData['members_disable_pm'] == 0) ? "\n\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&amp;module=messaging", "public", ''), "", "") . "' title='{$this->lang->words['your_messenger']}'>{$this->lang->words['your_messenger']}</a>\n\t\t\t\t\t" : "") . "") . "\n\t\t\t\t" . (!ipsRegistry::$applications['members']['app_hide_tab'] && !count(ipsRegistry::$applications['members']['app_tab_groups']) && !IPSMember::isInGroup($this->memberData, ipsRegistry::$applications['members']['app_tab_groups']) ? "<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members", "public", ''), "false", "") . "' title='{$this->lang->words['go_to_memberlist']}'>{$this->lang->words['tb_mlist']}</a>" : "") . "\n\t\t\t\t" . (ipsRegistry::$applications['blog']['app_enabled'] ? "\n\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=blog", "public", ''), "false", "") . "' title='{$this->lang->words['go_to_prefix']}" . IPSLib::getAppTitle('blog') . "'>" . IPSLib::getAppTitle('blog') . "</a>\n\t\t\t\t" : "") . "\n\t\t\t\t" . (ipsRegistry::$applications['gallery']['app_enabled'] ? "\n\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=gallery", "public", ''), "false", "") . "' title='{$this->lang->words['go_to_prefix']}" . IPSLib::getAppTitle('gallery') . "'>" . IPSLib::getAppTitle('gallery') . "</a>\n\t\t\t\t" : "") . "\n\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=search&amp;do=viewNewContent&amp;search_app=" . (($this->registry->getCurrentApplication() != 'core' and IPSLib::appIsSearchable($this->registry->getCurrentApplication())) ? "{$this->registry->getCurrentApplication()}" : "forums") . "", "public", ''), "", "") . "' accesskey='2'>{$this->lang->words['view_new_posts']}</a>\n\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&amp;module=profile&amp;section=status&amp;type=all", "public", ''), "true", "members_status_all") . "'>{$this->lang->words['mob_status_updates']}</a>\n\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=search", "public", ''), "", "") . "' accesskey='2'>{$this->lang->words['sj_search']}</a>\n\t\t\t</div>\n\t\t\t<script type=\"text/javascript\">\n\t\t\t\t/* Prevent flash of header */\n\t\t\t\tdocument.getElementById('user_navigation').style.display = 'none';\n\t\t\t</script>\n\t\t\t\n\t\t\t<div id='content' class='clear'>\n\t\t\t\t" . ($html ? "{$html}" : "") . "\n\t\t\t</div>\n\t\t\t\n\t\t\t<div id='footer' class='clear'>\n\t\t\t\t" . ($this->memberData['userAgentType'] != 'mobileAppLegacy' || $this->registry->output->isLargeTouchDevice() ? "\n\t\t\t\t\t<a id='full_version' href='#'>{$this->lang->words['full_version']}</a>\n\t\t\t\t" : "") . "\n\t\t\t\t" . (count($footer_items['lang_chooser']['options']) ? "\n\t\t\t\t\t<a href='#' id='show_langs'>{$footer_items['lang_chooser']['default']}</a>\n\t\t\t\t\t<div id='show_langs_box' style='display: none'>\n\t\t\t\t\t\t<form action=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$this->settings['query_string_formatted']}", "public", ''), "", "") . "\" method=\"post\">\n\t\t\t\t\t\t\t<fieldset>\n\t\t\t\t\t\t\t\t<input type='hidden' name='k' value='{$this->member->form_hash}' />\n\t\t\t\t\t\t\t\t<input type='hidden' name='setlanguage' value='1' />\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"langurlbits\" value=\"cal_id={$this->request['cal_id']}\" />\n\t\t\t\t\t\t\t\t<label for='newLang' class='hide'>{$this->lang->words['language_prefix']}</label>\n\t\t\t\t\t\t\t\t<select name=\"langid\" id='newLang'>\n\t\t\t\t\t\t\t\t\t" . $this->__f__42eeecc43bfed00ea413c2df51bfa966($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t<input type='submit' class='input_submit alt' value='{$this->lang->words['jmp_go']}' id='newLangSubmit' />\n\t\t\t\t\t\t\t</fieldset>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t</div>\n\t\t\t\t" : "") . "\n\t\t\t\t" . (($this->memberData['userAgentKey'] == 'iphone' || $this->memberData['userAgentKey'] == 'ipodtouch' and !$this->member->isMobileApp) ? "\n\t\t\t\t\t<div><a href=\"http://www.invisionpower.com/download/goiphone.php\">{$this->lang->words['freeiphoneapp']}</a></div>\n\t\t\t\t" : "") . "\n\t\t\t</div>\n\t\t\t<div id='task'>{$stats['task']}</div>\n\t\t</div>\n\t\t<div id='shade' style='display:none'></div>\n\t\t<!-- pre-load -->\n\t\t<div style='display:none'><img src='{style_images_url}/wait.gif' /></div>\n\t</body>\n</html>";
     return $IPBHTML;
 }
 /**
  * Parse a member's profile photo
  *
  * @access	public
  * @param	mixed	Either array of member data, or member ID to self load
  * @return	array 	Member's photo details
  */
 public static function buildProfilePhoto($member)
 {
     //-----------------------------------------
     // Load the member?
     //-----------------------------------------
     if (!is_array($member) and $member == intval($member) and $member > 0) {
         $member = self::load($member, 'extendedProfile');
     } else {
         if ($member == 0) {
             $member = array();
         }
     }
     //-----------------------------------------
     // Facebook Sync
     //-----------------------------------------
     if (IPSLib::fbc_enabled() === TRUE) {
         if ($member['fb_uid'] and $member['fb_bwoptions']) {
             $_sync = time() - 86400;
             $_active = time() - 86400 * 90;
             /* We have a linked member and options, so check if they haven't sync'd in 24 hours and have been active in the past 90 days... */
             if ($member['fb_lastsync'] < $_sync and $member['last_visit'] > $_active) {
                 require_once IPS_ROOT_PATH . 'sources/classes/facebook/connect.php';
                 $facebook = new facebook_connect(ipsRegistry::instance());
                 try {
                     $member = $facebook->syncMember($member);
                 } catch (Exception $error) {
                     $msg = $error->getMessage();
                     switch ($msg) {
                         case 'NOT_LINKED':
                         case 'NO_MEMBER':
                             break;
                     }
                 }
             }
         }
     }
     //-----------------------------------------
     // Facebook?
     //-----------------------------------------
     if ($member['fb_photo'] and ipsRegistry::member()->getProperty('g_mem_info')) {
         $member['_has_photo'] = 1;
         /* Main... */
         $member['pp_main_photo'] = $member['fb_photo'];
         $member['pp_main_width'] = '*';
         $member['pp_main_height'] = '*';
         /* Thumb */
         $member['pp_thumb_photo'] = $member['fb_photo_thumb'];
         $member['pp_thumb_width'] = 50;
         $member['pp_thumb_height'] = 50;
         /* Mini */
         $member['pp_mini_photo'] = $member['fb_photo_thumb'];
         $member['pp_mini_width'] = 25;
         $member['pp_mini_height'] = 25;
     } else {
         //-----------------------------------------
         // Main photo
         //-----------------------------------------
         if (!$member['pp_main_photo'] or !ipsRegistry::member()->getProperty('g_mem_info')) {
             $member['pp_main_photo'] = ipsRegistry::$settings['img_url'] . '/profile/default_large.png';
             $member['pp_main_width'] = 150;
             $member['pp_main_height'] = 150;
             $member['_has_photo'] = 0;
         } else {
             $member['pp_main_photo'] = ipsRegistry::$settings['upload_url'] . '/' . $member['pp_main_photo'];
             $member['_has_photo'] = 1;
         }
         //-----------------------------------------
         // Thumbie
         //-----------------------------------------
         if (!$member['pp_thumb_photo'] or $member['pp_thumb_photo'] == 'profile/') {
             if ($member['_has_photo']) {
                 $member['pp_thumb_photo'] = $member['pp_main_photo'];
             } else {
                 $member['pp_thumb_photo'] = ipsRegistry::$settings['img_url'] . '/profile/default_thumb.png';
             }
             $member['pp_thumb_width'] = 50;
             $member['pp_thumb_height'] = 50;
         } else {
             if ($member['_has_photo']) {
                 $member['pp_thumb_photo'] = ipsRegistry::$settings['upload_url'] . '/' . $member['pp_thumb_photo'];
             } else {
                 $member['pp_thumb_photo'] = ipsRegistry::$settings['img_url'] . '/profile/default_thumb.png';
             }
         }
         //-----------------------------------------
         // Mini
         //-----------------------------------------
         $_data = IPSLib::scaleImage(array('max_height' => 25, 'max_width' => 25, 'cur_width' => $member['pp_thumb_width'], 'cur_height' => $member['pp_thumb_height']));
         $member['pp_mini_photo'] = $member['pp_thumb_photo'];
         $member['pp_mini_width'] = $_data['img_width'];
         $member['pp_mini_height'] = $_data['img_height'];
     }
     return $member;
 }
Пример #14
0
 /**
  * UserCP Save Form: Facebook
  *
  * @return	array	Errors
  */
 public function saveFacebook()
 {
     if (!IPSLib::fbc_enabled()) {
         $this->registry->getClass('output')->showError('fbc_disabled', 1005);
     }
     //-----------------------------------------
     // Data
     //-----------------------------------------
     $toSave = IPSBWOptions::thaw($this->memberData['members_bitoptions'], 'members');
     //-----------------------------------------
     // Loop and save... simple
     //-----------------------------------------
     foreach (array('fbc_s_pic', 'fbc_s_status', 'fbc_s_aboutme', 'fbc_si_status') as $field) {
         $toSave[$field] = intval($this->request[$field]);
     }
     $this->memberData['fb_bwoptions'] = IPSBWOptions::freeze($toSave, 'facebook');
     IPSMember::save($this->memberData['member_id'], array('extendedProfile' => array('fb_bwoptions' => $this->memberData['fb_bwoptions'])));
     //-----------------------------------------
     // Now sync
     //-----------------------------------------
     $classToLoad = IPSLib::loadLibrary(IPS_ROOT_PATH . 'sources/classes/facebook/connect.php', 'facebook_connect');
     $facebook = new $classToLoad($this->registry);
     try {
         $facebook->syncMember($this->memberData);
     } catch (Exception $error) {
         $msg = $error->getMessage();
         switch ($msg) {
             case 'NOT_LINKED':
             case 'NO_MEMBER':
                 break;
         }
     }
     return TRUE;
 }
Пример #15
0
 function globalTemplate($html, $documentHeadItems, $css, $jsModules, $metaTags, array $header_items, $items = array(), $footer_items = array(), $stats = array())
 {
     $IPBHTML = "";
     if (IPSLib::locationHasHooks('skin_global', $this->_funcHooks['globalTemplate'])) {
         $count_68e2005a22cac3c53b26528c84a70bfd = is_array($this->functionData['globalTemplate']) ? count($this->functionData['globalTemplate']) : 0;
         $this->functionData['globalTemplate'][$count_68e2005a22cac3c53b26528c84a70bfd]['html'] = $html;
         $this->functionData['globalTemplate'][$count_68e2005a22cac3c53b26528c84a70bfd]['documentHeadItems'] = $documentHeadItems;
         $this->functionData['globalTemplate'][$count_68e2005a22cac3c53b26528c84a70bfd]['css'] = $css;
         $this->functionData['globalTemplate'][$count_68e2005a22cac3c53b26528c84a70bfd]['jsModules'] = $jsModules;
         $this->functionData['globalTemplate'][$count_68e2005a22cac3c53b26528c84a70bfd]['metaTags'] = $metaTags;
         $this->functionData['globalTemplate'][$count_68e2005a22cac3c53b26528c84a70bfd]['header_items'] = $header_items;
         $this->functionData['globalTemplate'][$count_68e2005a22cac3c53b26528c84a70bfd]['items'] = $items;
         $this->functionData['globalTemplate'][$count_68e2005a22cac3c53b26528c84a70bfd]['footer_items'] = $footer_items;
         $this->functionData['globalTemplate'][$count_68e2005a22cac3c53b26528c84a70bfd]['stats'] = $stats;
     }
     $this->did_first = 0;
     $IPBHTML .= "<!DOCTYPE html>\n\t<html lang=\"en\" " . (IPSLib::fbc_enabled() === TRUE || $this->settings['fbc_appid'] ? " xmlns:fb=\"http://www.facebook.com/2008/fbml\"" : "") . ">\n\t<head>\n\t\t<meta charset=\"{$this->settings['gb_char_set']}\" />\n\t\t<title>{$header_items['title']}</title>\n\t\t<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n\t\t<link rel=\"shortcut icon\" href='" . ($this->registry->output->isHTTPS ? "{$this->settings['board_url_https']}" : "{$this->settings['board_url']}") . "/favicon.ico' />\n                <link href=\"http://fonts.googleapis.com/css?family=Oswald|Droid+Sans:400,700\" rel=\"stylesheet\">\n\t\t<link rel=\"image_src\" href='{$this->settings['meta_imagesrc']}' />\n\t\t<script type='text/javascript'>\n\t\t//<![CDATA[\n\t\t\tjsDebug\t\t\t= " . intval($this->settings['_jsDebug']) . "; /* Must come before JS includes */\n\t\t\tDISABLE_AJAX\t= parseInt({$this->settings['disable_text_ajax']}); /* Disables ajax requests where text is sent to the DB; helpful for charset issues */\n\t\t\tinACP\t\t\t= false;\n\t\t\tvar isRTL\t\t= false;\n\t\t\tvar rtlIe\t\t= '';\n\t\t\tvar rtlFull\t\t= '';\n\t\t//]]>\n\t\t</script>\n\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeCSS') ? $this->registry->getClass('output')->getTemplate('global')->includeCSS($css) : '') . "\n\t\t<meta property=\"og:title\" content=\"{$this->registry->output->encodeMetaTagContent(str_replace(' - ' . $this->settings['board_name'], '', $header_items['title']))}\"/>\n\t\t<meta property=\"og:site_name\" content=\"{$this->registry->output->encodeMetaTagContent($this->settings['board_name'])}\"/>\n\t\t<meta property=\"og:type\" content=\"article\" />\n\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeMeta') ? $this->registry->getClass('output')->getTemplate('global')->includeMeta($metaTags) : '') . "\n\t\t" . ($this->registry->output->isLargeTouchDevice() ? "\n\t\t<!--<meta name=\"viewport\" content=\"width=device-width;\">-->\n\t\t" : "") . "\n\t\t" . ($this->registry->output->isSmallTouchDevice() ? "\n\t\t<meta name=\"viewport\" content=\"width=1024px\">\n\t\t" : "") . "\n\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeJS') ? $this->registry->getClass('output')->getTemplate('global')->includeJS($jsModules) : '') . "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeFeeds') ? $this->registry->getClass('output')->getTemplate('global')->includeFeeds($documentHeadItems) : '') . "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeRTL') ? $this->registry->getClass('output')->getTemplate('global')->includeRTL() : '') . "\t\t\n\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'includeVars') ? $this->registry->getClass('output')->getTemplate('global')->includeVars($header_items) : '') . "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'audentio_config') ? $this->registry->getClass('output')->getTemplate('global')->audentio_config() : '') . "\n\t\t\n\n\t</head>\n\t<body id='ipboard_body'>\n\t\t\n<p id='content_jump' class='hide'><a id='top'></a><a href='#j_content' title='{$this->lang->words['jump_to_content']}' accesskey='m'>{$this->lang->words['jump_to_content']}</a></p>\n\t\t<div id='ipbwrapper'>\n<!-- ::: USER BAR: Sign in / register or user drop down and notification alerts ::: -->\n<div class=\"top_panel\">\n    <div class=\"wrapper\">\n\n<ul class=\"aud_list right\" style=\"float: left;\">\n\t\t\t\t\t" . ($this->memberData['g_use_search'] ? "\n\t\t\t\t\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'quickSearch') ? $this->registry->getClass('output')->getTemplate('global')->quickSearch() : '') . "\n\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t" . (!(!$this->memberData['member_id'] && $this->settings['force_login']) && !($this->settings['board_offline'] && !$this->memberData['g_access_offline']) && $this->memberData['g_view_board'] ? "\n\t\t\t\t\t\t\t<li class='right'>\n\t\t\t\t\t\t\t\t<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=global&section=navigation&inapp=" . IPS_APP_COMPONENT . "", "public", ''), "", "") . "\" rel=\"quickNavigation\" accesskey='9' id='quickNavLaunch' data-tooltip=\"{$this->lang->words['launch_quicknav']}\"><span> </span></a>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t<li id='nav_explore' class='right'>\n\t\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=search&do=viewNewContent&search_app=" . (($this->registry->getCurrentApplication() != 'core' and IPSLib::appIsSearchable($this->registry->getCurrentApplication())) ? "{$this->registry->getCurrentApplication()}" : "forums") . "", "public", ''), "", "") . "' accesskey='2'>{$this->lang->words['view_new_posts']}</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t" . (($this->memberData['is_mod'] or !empty($this->memberData['access_report_center']) || ($this->memberData['g_access_cp'] and !$this->settings['security_remove_acp_link'])) ? "" . ($this->memberData['access_report_center'] && $this->memberData['_cache']['report_num'] > 0 ? "\n\t\t\t\t\t\t\t\t<li class='right active'>\n\t\t\t\t\t\t\t\t\t<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=reports&do=index", "public", ''), "", "") . "\" title='{$this->lang->words['view_reports']}'>{$this->memberData['_cache']['report_num']} {$this->lang->words['report_member_bar']}</a>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t<li class='right'><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=modcp", "public", ''), "", "") . "\" title='{$this->lang->words['gbl_modcp_link']}'>{$this->lang->words['gbl_modcp_link']}</a></li>\n\t\t\t\t\t\t\t" . (($this->memberData['g_access_cp'] and !$this->settings['security_remove_acp_link']) ? "\n\t\t\t\t\t\t\t\t<li class='right'>\n\t\t\t\t\t\t\t\t\t<a href=\"{$this->settings['_admin_link']}\" title='{$this->lang->words['admin_cp']}' target=\"_blank\">{$this->lang->words['login_to_acp']}</a>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t" : "") . "" : "") . "\n</ul>\n<div style=\"float: right;\">\n            " . ($this->memberData['member_id'] ? "<div id='user_navigation' class='logged_in'>\n\t\t\t\t\t\t\t<ul class='ipsList_inline left'>\n\n\t\t\t\t\t\t\t\t<li class=\"right_border\"><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("showuser={$this->memberData['member_id']}", "public", ''), "{$this->memberData['members_seo_name']}", "showuser") . "\" data-tooltip='{$this->lang->words['your_profile']}' class='aud_userPhotoLink'>\n\t\t\t\t\t\t\t\t<img class=\"aud_userPhoto ipsUserPhoto\" src='{$this->memberData['pp_small_photo']}' alt=\"{$this->memberData['members_display_name']}{$this->lang->words['users_photo']}\" />\n                                </a></li>\n\n\t\t\t\t\t\t\t\t<li><a id='user_link' href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("showuser={$this->memberData['member_id']}", "public", ''), "{$this->memberData['members_seo_name']}", "showuser") . "\">{$this->memberData['members_display_name']}  <span id='user_link_dd'></span></a></li>\t\n\t\t\t\t\t\t\t\t" . (!(!$this->memberData['member_id'] && $this->settings['force_login']) && !($this->settings['board_offline'] && !$this->memberData['g_access_offline']) ? "" . (($this->memberData['g_use_pm'] and $this->memberData['members_disable_pm'] == 0) ? "<li><a data-clicklaunch=\"getInboxList\" id='inbox_link' href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&module=messaging", "public", ''), "", "") . "' data-tooltip='{$this->lang->words['your_messenger']}'>" . ($this->memberData['msg_count_new'] ? "<span class='ipsHasNotifications'>{$this->memberData['msg_count_new']}</span>" : "") . " </a></li>" : "") . "\n\t\t\t\t\t\t\t\t\t<li><a data-clicklaunch=\"getNotificationsList\" id='notify_link' href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=usercp&area=notificationlog", "public", ''), "", "") . "\" data-tooltip=\"{$this->lang->words['notifications_at_the_top']}\">" . ($this->memberData['notification_cnt'] ? "<span class='ipsHasNotifications'>{$this->memberData['notification_cnt']}</span>" : "") . " </a></li>" : "") . "\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<li><a id=\"logout_link\" href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=global&section=login&do=logout&k={$this->member->form_hash}", "public", ''), "", "") . "\" data-tooltip=\"{$this->lang->words['log_out']}\"></a></li>\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t" . ($this->memberData['member_group_id'] == $this->settings['auth_group'] ? "\n\t\t\t\t\t\t\t\t\t<li><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=global&section=register&do=reval", "public", ''), "", "") . "\" title='{$this->lang->words['resend_val']}'>{$this->lang->words['resend_val']}</a></li>\n\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<!-- ::: USER DROP DOWN MENU ::: -->\n\t\t\t\t\t\t<div id='user_link_menucontent' class='ipsHeaderMenu clearfix boxShadow' style='display: none'>\n\t\t\t\t\t\t\t<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("showuser={$this->memberData['member_id']}", "public", ''), "{$this->memberData['members_seo_name']}", "showuser") . "\" title='{$this->lang->words['your_profile']}' class='ipsUserPhotoLink left'>\n\t\t\t\t\t\t\t\t<img src='{$this->memberData['pp_small_photo']}' alt=\"" . sprintf($this->lang->words['users_photo'], $this->memberData['members_display_name']) . "\" class='ipsUserPhoto ipsUserPhoto_medium photo' />\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<div class='left'>\n\t\t\t\t\t\t\t\t" . ($this->registry->getClass('memberStatus')->canCreate($this->memberData) && !($this->settings['board_offline'] && !$this->memberData['g_access_offline']) ? "<form id='statusForm' action='{$this->settings['base_url']}app=members&module=profile&section=status&do=new&k={$this->member->form_hash}&id={$this->memberData['member_id']}' method='post'>\n\t\t\t\t\t\t\t\t\t\t<input type='text' id='statusUpdateGlobal' name='content' class='input_text' style='width: 97%' /><br />\n\t\t\t\t\t\t\t\t\t\t<input type='submit' id='statusSubmitGlobal' class='ipsButton_secondary' value='{$this->lang->words['global_update_status']}' />\n\t\t\t\t\t\t\t\t\t\t" . (((IPSLib::twitter_enabled() or IPSLib::fbc_enabled()) and ($this->memberData['fb_uid'] or $this->memberData['twitter_id'])) ? "  \n\t\t\t\t\t\t\t\t\t\t\t" . ((IPSLib::twitter_enabled() and $this->memberData['twitter_id']) ? "<input type='checkbox' id='su_TwitterGlobal' value='1' name='su_Twitter' /> <label for='su_TwitterGlobal' class='desc ipsType_smaller'>Twitter</label>" : "") . "   \n\t\t\t\t\t\t\t\t\t\t\t" . ((IPSLib::fbc_enabled() and $this->memberData['fb_uid']) ? " <input type='checkbox' id='su_FacebookGlobal' value='1' name='su_Facebook' /> <label for='su_FacebookGlobal' class='desc ipsType_smaller'>Facebook</label>" : "") . "" : "") . "\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t\t</form>" : "") . "\n\t\t\t\t\t\t\t\t\t<ul id='links'>\n\t\t\t\t\t\t\t\t\t\t<li id='user_profile'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("showuser={$this->memberData['member_id']}", "public", ''), "{$this->memberData['members_seo_name']}", "showuser") . "' title='{$this->lang->words['your_profile']}'>{$this->lang->words['my_profile']}</a></li>\n\t\t\t\t\t\t\t\t\t\t<li id='user_ucp'><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=usercp", "public", ''), "", "") . "\" title=\"{$this->lang->words['cp_tool_tip']}\">{$this->lang->words['your_cp']}</a></li>\n\t\t\t\t\t\t\t\t\t\t<li id='user_content'><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=search&do=user_activity&mid={$this->memberData['member_id']}", "public", ''), "", "") . "\" title=\"{$this->lang->words['my_content_link']}\">{$this->lang->words['my_content_link']}</a></li>\n\t\t\t\t\t\t\t\t\t\t" . (count(IPSLib::getEnabledApplications('like')) ? "\n\t\t\t\t\t\t\t\t\t\t\t<li id='user_likes'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=search&do=followed", "public", ''), "", "") . "' title='{$this->lang->words['your_likes']}'>{$this->lang->words['your_likes']}</a></li>\n\t\t\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t\t\t" . ($this->settings['friends_enabled'] && $this->memberData['g_can_add_friends'] ? "\n\t\t\t\t\t\t\t\t\t\t\t<li id='user_friends'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&module=profile&section=friends&do=list", "public", ''), "", "") . "' title=\"{$this->lang->words['manage_friends']}\" class='manage_friends'>{$this->lang->words['manage_friends']}</a></li>\n\t\t\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t\t\t<li id='user_enemies'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=usercp&tab=core&area=ignoredusers", "public", ''), "", "") . "' title=\"{$this->lang->words['manage_ignored_users']}\" class='manage_enemies'>{$this->lang->words['manage_ignored_users']}</a></li>\n\t\t\t\t\t\t\t\t\t\t" . (($this->memberData['has_blog'] and IPSLib::appIsInstalled('blog')) ? "\n\t\t\t\t\t\t\t\t\t\t\t<li id='user_blog'><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=blog&module=manage", "public", ''), "false", "manageblog") . "\">{$this->lang->words['manage_blogs']}</a></li>\n\t\t\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t\t\t" . ($this->memberData['members_disable_pm'] != 2 ? "\n\t\t\t\t\t\t\t\t\t\t\t<li id='user_pm'><a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&module=messaging", "public", ''), "", "") . "\">{$this->lang->words['user_dd_go_pm']}</a></li>\n\t\t\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t\t\t" . (($this->memberData['has_gallery'] and IPSLib::appIsInstalled('gallery')) ? "\n\t\t\t\t\t\t\t\t\t\t\t<li id='user_gallery'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=gallery&user={$this->memberData['member_id']}", "public", ''), "{$this->memberData['members_seo_name']}", "useralbum") . "' title=\"{$this->lang->words['go_to_my_gallery']}\">{$this->lang->words['my_gallery']}</a></li>\n\t\t\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t\t\t" . (IPSLib::appIsInstalled('nexus') ? "\n\t\t\t\t\t\t\t\t\t\t\t<li id='user_nexus'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=nexus&module=clients", "public", ''), "", "") . "' title=\"{$this->lang->words['client_area']}\">{$this->lang->words['client_area']}</a></li>\n\t\t\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>" : "<div id='user_navigation' class='not_logged_in'>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<ul class='ipsList_inline cubic_list left'>\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t<span class='services'>\n\t\t\t\t\t\t\t\t\t" . (IPSLib::loginMethod_enabled('facebook') ? "\n\t\t\t\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=global&section=login&serviceClick=facebook", "public", ''), "", "") . "'>" . $this->registry->getClass('output')->getReplacement("lim_facebook") . "</a>\n\t\t\t\t\t\t\t\t\t" : "") . "\n\n\t\t\t\t\t\t\t\t\t" . (IPSLib::loginMethod_enabled('twitter') ? "\n\t\t\t\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=global&section=login&serviceClick=twitter", "public", ''), "", "") . "'>" . $this->registry->getClass('output')->getReplacement("lim_twitter") . "</a>\n\t\t\t\t\t\t\t\t\t" : "") . "\n\n\t\t\t\t\t\t\t\t\t" . (IPSLib::loginMethod_enabled('live') ? "\n\t\t\t\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=global&section=login&do=process&use_live=1&auth_key={$this->member->form_hash}", "public", ''), "", "") . "'>" . $this->registry->getClass('output')->getReplacement("lim_windows") . "</a>\n\t\t\t\t\t\t\t\t\t" : "") . "\t\t\t\t\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a class=\"border_bord\" href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=global&section=login", "public", ''), "", "") . "' title='{$this->lang->words['sign_in']}' id='sign_in'>\n\t\t\t\t\t\t\t\t\t<i class=\"aud_icon icon-login\"></i> {$this->lang->words['sign_in']}</a>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=global&section=register", "public", ''), "", "") . "\" title='{$this->lang->words['register']}' id='register_link'><i class=\"aud_icon icon-register\"></i> {$this->lang->words['register']}</a>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>") . "\n        </div>\n    </div>\n</div>\n<div class=\"wrapper\">\n                                        <div id='logo'>\n\t\t\t\t\t\t" . (ipsRegistry::$applications[$this->registry->getCurrentApplication()]['hasCustomHeader'] ? "\n\t\t\t\t\t\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('' . $this->registry->getCurrentApplication() . '_global'), 'overwriteHeader') ? $this->registry->getClass('output')->getTemplate('' . $this->registry->getCurrentApplication() . '_global')->overwriteHeader() : '') . "\n\t\t\t\t\t\t" : "\n\t\t\t\t\t\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'defaultHeader') ? $this->registry->getClass('output')->getTemplate('global')->defaultHeader() : '') . "\n\t\t\t\t\t\t") . "\n\t\t\t\t\t</div>\n                                        <div style=\"float: right; clear: both; margin-top: 66px;\">\n                                        " . ($this->facebook_url ? "\n\t\t\t\t\t\t\t<a href=\"{$this->facebook_url}\" data-tooltip=\"{$this->facebook_title}\" target=\"_blank\"><img src=\"{style_images_url}/facebook.png\" alt=\"Facebook\" height=\"40\" width=\"40\"></a>\n\t\t\t\t\t" : "") . "" . ($this->twitter_name ? "\n\t\t\t\t\t\t\t<a href=\"http://twitter.com/{$this->twitter_name}\" data-tooltip=\"{$this->twitter_title}\" target=\"_blank\"><img src=\"{style_images_url}/twitter.png\" alt=\"Facebook\" height=\"40\" width=\"40\"></a>\n\t\t\t\t\t" : "") . "\n                </div>\n</div>\n\t\t\t<div id=\"aud_wrapper\" class='main_width'>\n\t\t\t\t<!-- ::: BRANDING/NAV BAR: Logo and navigation menu ::: -->\n\t\t\t\t<div id='branding'>\n\t\t\t\t\t\n\t\t\t\t\t<!-- ::: APPLICATION TABS ::: -->\n\t\t\t\t\t\t<div id='primary_nav' class='clearfix right'>\n\t\t\t\t\t\t\t<ul class='ipsList_inline' id='community_app_menu'>\n\t\t\t\t\t\t\t\t" . (($this->settings['home_url'] and $this->settings['home_name']) ? "\n\t\t\t\t\t\t\t\t\t<li id='nav_home'><a href='{$this->settings['home_url']}' title='{$this->lang->words['homepage_title']}' rel=\"home\">{$this->settings['home_name']}</a></li>\n\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t" . (!empty($header_items['primary_navigation_menu']) ? "\n\t\t\t\t\t\t\t\t\t{$header_items['primary_navigation_menu']}\n\t\t\t\t\t\t\t\t" : "" . ((is_array($header_items['applications']) and count($header_items['applications'])) ? "\n\t\t\t\t\t\t\t\t\t\t" . $this->__f__758c3640fe48bb04e47e743dc6faffdd($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "\t\t\t\t\t\t\t\t\t" : "") . "") . "\n\t\t\t\t\t\t\t\t<li id='nav_other_apps' style='display: none'>\n\t\t\t\t\t\t\t\t\t<a href='#' class='ipbmenu' id='more_apps'>{$this->lang->words['more_apps']} <img src='{$this->settings['img_url']}/dropdown.png' /></a>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t</ul>\n<div class=\"g_12 separator\" style=\"margin-left: 22px;\"><span></span></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<script type='text/javascript'>\n\t\t\t\t\t\t\tif( \$('primary_nav') ){\tipb.global.activateMainMenu(); }\n\t\t\t\t\t\t</script>\n\t\t\t\t</div>\n\t\t\t\t<!-- ::: MAIN CONTENT AREA ::: -->\n\n\t\t\t\t<div id='content' class='clearfix'>\n\t\t\t\t\t<!-- ::: NAVIGATION BREADCRUMBS ::: -->\n\t\t\t\t\t" . (count($items['navigation']) ? "<div id='secondary_navigation' class='clearfix'>\n\t\t\t\t\t\t\t<ol class='breadcrumb top ipsList_inline left'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t" . ((!$this->settings['remove_forums_nav'] or ipsRegistry::$current_application == 'forums') ? "<li itemscope itemtype=\"http://data-vocabulary.org/Breadcrumb\">\n\t\t\t\t\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("act=idx", "public", ''), "false", "") . "' itemprop=\"url\">\n\t\t\t\t\t\t\t\t\t\t\t<span itemprop=\"title\">{$this->settings['board_name']}</span>\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t" . (($this->did_first = 1) ? "" : "") . "" : "") . "\n\t\t\t\t\t\t\t\t" . $this->__f__171a69a5fc28f509840cf15566243945($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "\t\t\t\t\t\t\t</ol>\n\t\t\t\t\t\t</div>" : "") . "" . ($this->show_global_messages == yes ? "<span style=\"margin-top: 5px; display: block;\"></span>" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'aud_announcements') ? $this->registry->getClass('output')->getTemplate('global')->aud_announcements() : '') . "" : "") . "\n\n\t\t\t\t\t<noscript>\n\t\t\t\t\t\t<div class='message error'>\n\t\t\t\t\t\t\t<strong>{$this->lang->words['gbl_no_js_title']}</strong>\n\t\t\t\t\t\t\t<p>{$this->lang->words['gbl_no_js']}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<br />\n\t\t\t\t\t</noscript>\n\t\t\t\t\t<!-- ::: CONTENT ::: -->\n\t\t\t\t\t" . ($items['adHeaderCode'] ? "\n\t\t\t\t\t\t<div class='ipsAd'>{$items['adHeaderCode']}</div>\n\t\t\t\t\t" : "") . "\n\t\t\t\t\t" . ($html ? "{$html}" : "") . "\n\t\t\t\t\t" . ($items['adFooterCode'] ? "\n\t\t\t\t\t\t<div class='ipsAd'>{$items['adFooterCode']}</div>\n\t\t\t\t\t" : "") . "\n\t\t\t\t</div>\n\t\t\t\n\t\t\t\t<!-- ::: FOOTER (Change skin, social links etc) ::: -->\n\t\t\t\t<div id='footer_utilities' class='clearfix clear'>\n\t\t\t\t\t<ul class='aud_list left'>\n\t\t\t\t\t\t" . ($this->enable_adstyler == yes ? "<li>\n\t\t\t\t\t\t\t<a id=\"sbOpen\" href=\"#\" data-tooltip=\"Theme Styler\"><img src=\"{style_images_url}/brush_icon.png\" alt=\"Theme styler\"></a>\n\t\t\t\t\t\t</li>" : "") . "\n\t\t\t\t\t\t" . (!$this->member->is_not_human ? "" . (($this->memberData['userAgentLocked'] and !$this->memberData['userAgentBypass']) ? "\n\t\t\t\t\t\t\t\t<li id='useragent_msg'>\n\t\t\t\t\t\t\t\t\t{$this->lang->words['skin_browser_set']} <a href='#' data-clicklaunch='changeSkin' data-skinid='unlockUserAgent'>{$this->lang->words['override_browser_theme']}</a>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t" : "" . ($this->registry->output->isTouchDevice() ? "\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t<a href='#' data-clicklaunch='changeSkin' data-skinid='setAsMobile'>{$this->lang->words['set_mobile_theme']}</a>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\t" . (count($footer_items['skin_chooser']) > 1 ? "\n\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t<a rel=\"nofollow\" id='new_skin' href='#'>{$this->lang->words['change_theme']}</a>\t\t\t\n\t\t\t\t\t\t\t\t\t\t<ul id='new_skin_menucontent' class='ipbmenu_content with_checks' style='display: none'>\n\t\t\t\t\t\t\t\t\t\t\t" . $this->__f__ec09aa5f6024ece0cc832e649f62820e($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t" : "") . "") . "" : "") . "\n\t\t\t\t\t\t\n\t\t\t\t\t\t" . (!$this->member->is_not_human && count($footer_items['lang_chooser']['options']) > 1 ? "\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<a rel=\"nofollow\" href='#' id='new_language'>{$footer_items['lang_chooser']['default']}</a>\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t<ul id='new_language_menucontent' class='ipbmenu_content with_checks' style='display: none'>\n\t\t\t\t\t\t\t\t\t" . $this->__f__3c867bcfb1300de730709b3b53153eb4($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\n\t\t\t\t\t\t" . (!$this->member->is_not_human ? "\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<a rel=\"nofollow\" id='mark_all_read' href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=forums&module=forums&section=markasread&marktype=all&k={$this->member->form_hash}", "public", ''), "", "") . "\" title='{$this->lang->words['mark_all_as_read']}'>{$this->lang->words['mark_board_as_read']}</a>\n\t\t\t\t\t\t\t\t<ul id='mark_all_read_menucontent' class='ipbmenu_content' style='display: none'>\n\t\t\t\t\t\t\t\t\t" . $this->__f__fb5f156f8d7b2071393c16fed14ebfdd($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items, $items, $footer_items, $stats) . "\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=forums&module=forums&section=markasread&marktype=all&k={$this->member->form_hash}", "public", ''), "", "") . "\"><strong>{$this->lang->words['mark_all_as_read']}</strong></a>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t" . (($this->settings['gl_show'] and $this->settings['gl_title']) ? "<li class='ipsType_smaller'>\n\t\t\t\t\t\t\t<a href='" . ($this->settings['gl_link'] ? "{$this->settings['gl_link']}" : "" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=forums&amp;module=extras&amp;section=boardrules", "public", ''), "", "") . "") . "'>" . ($this->settings['gl_title'] ? "{$this->settings['gl_title']}" : "{$this->lang->words['board_rules']}") . "</a>" . ($this->settings['priv_title'] ? " &middot; " : "") . "\n\t\t\t\t\t\t</li>" : "") . "\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=help", "public", ''), "", "") . "\" title='{$this->lang->words['view_help']}' rel=\"help\" accesskey='6'>{$this->lang->words['sj_help']}</a>\n\t\t\t\t\t\t</li>\t\n\t\t\t\n\t\t\t\t\t</ul>\n\t\t\t\t<ul class=\"aud_list right\">\n\t\t\t\t\t<li>\n\t\t\t\t\t<a rel=\"nofollow\" href='#top' id='backtotop' data-tooltip='{$this->lang->words['go_to_top']}'></a>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t\t\t<div class=\"footer_copyright\">\n<span class=\"copyright_row\">\n<span id=\"footer_links\" class=\"label\">\n                    <a href=\"/?page=Faq\">FAQ</a>\n                    | <a href=\"/?page=Terms\">Terms and Conditions</a>\n                    | <a href=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=privacy", "public", ''), "false", "privacy") . "\">Privacy Policy</a>\n                    | <a href=\"/?page=Contact+Us\">Contact Us</a>\n                </span>\n</span>\n\t<p id=\"copyright\">All Rights Reserved <a href=\"http://www.grabviews.com\">GrabViews.com</a> © 2013</p>\n</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t" . (($this->memberData['member_id'] and $this->settings['debug_level']) ? "<div id='ipsDebug_footer'>\n\t\t\t\t\t\t<strong>{$this->lang->words['time_now']}</strong> {$footer_items['time']}\n\t\t\t\t\t\t" . (($this->memberData['member_id'] and $this->memberData['last_visit']) ? "<strong>{$this->lang->words['you_last_visit']}</strong> " . IPSText::htmlspecialchars($this->registry->getClass('class_localization')->getDate($this->memberData['last_visit'], "short", 0)) . "" : "") . "\n\t\t\t\t\t\t<strong>{$this->lang->words['stat_exec']}</strong> {$stats['ex_time']} " . (is_float($stats['ex_time']) ? "{$this->lang->words['stats_sec']}" : "") . "\n\t\t\t\t\t\t<strong>{$this->lang->words['stat_load']}</strong> {$stats['server_load']}\n\t\t\t\t\t\t<strong>{$this->lang->words['stat_queries']}</strong> {$stats['queries']} " . (IPS_SQL_DEBUG_MODE ? "<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$this->settings['query_string_safe']}&debug=1", "public", ''), "", "") . "'>" : "") . "{$this->lang->words['stats_queries']}" . (IPS_SQL_DEBUG_MODE ? "</a>" : "") . "\n\t\t\t\t\t\t<strong>{$this->lang->words['stat_gzip']}</strong> {$stats['gzip_status']}\n\t\t\t\t\t</div>" : "") . "\n\t\t\t\t<div style=\"display:none;\">\n\t\t\t\t\t{$stats['task']}\n\t\t\t\t</div>\n\t\t\t\t" . ($this->settings['do_include_lightbox_real'] ? "\n\t\t\t\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'include_lightbox_real') ? $this->registry->getClass('output')->getTemplate('global')->include_lightbox_real() : '') . "\n\t\t\t\t" : "\n\t\t\t\t\t<script type=\"text/javascript\">\n\t\t\t\t\t\tipb.global.lightBoxIsOff();\n\t\t\t\t\t</script>\n\t\t\t\t") . "\n\t\t\t\t" . (!$this->memberData['member_id'] ? "" . (method_exists($this->registry->getClass('output')->getTemplate('global'), 'inlineLogin') ? $this->registry->getClass('output')->getTemplate('global')->inlineLogin() : '') . "" : "") . "\n\t\t\t</div>\n\t\t</div>\n\t\t\n\t\t<!--DEBUG_STATS-->\n\t\t<script type='text/javascript'>\n\t\t\tif( \$('primary_nav') ){\tipb.global.activateMainMenu(); }\n\t\t</script>\n\t\t" . (($this->settings['viglink_enabled'] and (!$this->settings['viglink_groups'] or IPSMember::isInGroup($this->memberData, explode(',', $this->settings['viglink_groups'])))) ? "<script type=\"text/javascript\">\n\t\t\t  var vglnk = { api_url: '//api.viglink.com/api',\n\t\t\t                key: '{$this->settings['viglink_api_key']}'" . ($this->settings['viglink_subid'] ? ",\n\t\t\t                sub_id: '{$this->settings['sub_id']}'\n\t\t\t                " : "") . "\n\t\t\t              };\n\t\t\t\n\t\t\t  (function(d, t) {\n\t\t\t    var s = d.createElement(t); s.type = 'text/javascript'; s.async = true;\n\t\t\t    s.src = ('https:' == document.location.protocol ? vglnk.api_url :\n\t\t\t             '//cdn.viglink.com/api') + '/vglnk.js';\n\t\t\t    var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r);\n\t\t\t  }(document, 'script'));\n\t\t\t</script>" : "") . "" . ($this->enable_adstyler == yes ? "\n\t\t<!-- Start styleBar -->\n\t\t<form id=\"styleBar\"></form>\n\t\t<!-- End styleBar -->\n\n\t\t<!-- Start styleBar js -->\n\t\t<script>\n\t\t\t(function( jQuery ) {\n\t\t\t\tjQuery( '#styleBar' ).styleBar( { overlay: true } );;\n\t\t\t})( jQuery );\n\t\t</script>\n\t\t<!-- end styleBar js -->\n\t\t" : "") . "\n\t\t\n\t\t<span class=\"mcolor\"></span>\n\t</body>\n</html>";
     return $IPBHTML;
 }
 function userCPTemplate($current_tab, $html, $tabs, $current_area, $errors = array(), $hide_form = 0, $maxUpload = 0)
 {
     $IPBHTML = "";
     $IPBHTML .= "" . $this->registry->getClass('output')->addJSModule("ucp", "0") . "\n" . (IPSLib::fbc_enabled() === TRUE ? "<!-- SKINNOTE: This could be added dynamically by JS if this is too obtrusive. FB users need JS on, so no worries there -->\n\t" . ($this->registry->output->isHTTPS ? "\n\t\t<script src=\"https://ssl.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php\" type=\"text/javascript\"></script>\n\t" : "\n\t\t<script src=\"http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php\" type=\"text/javascript\"></script>\n\t") . "\t" . ((!$this->memberData['fb_emailallow'] and strstr($this->memberData['email'], '@proxymail.facebook.com')) ? "\n\t\t<div id='fbc_emailCheck' style='display:none'>\n\t\t\t<fb:prompt-permission perms=\"email\">\n\t\t\t\t<div class='message unspecific'>\n\t\t\t\t\t<strong>{$this->lang->words['cannot_get_email']}</strong>\n\t\t\t\t\t<br />\n\t\t\t\t\t{$this->lang->words['cannot_get_email_2']}\n\t\t\t\t\t<br />\n\t\t\t\t\t<u>{$this->lang->words['click_allow_email']}</u>\n\t\t\t\t</div>\n\t\t\t</fb:prompt-permission>\n\t\t\t<br />\n\t\t</div>\n\t\t<script type=\"text/javascript\">\n\t\t\t/* Init Facebook JS */\n\t\t\tFB_RequireFeatures([\"XFBML\"], function()\n\t\t\t{\n\t\t\t\tFB.init(\"{$this->settings['fbc_api_id']}\", \"{$this->settings['fbc_xdlocation']}\" );\n\t\t\t} );\n\t\t\t/* As the REST can take a short while, the div shows then hides; this delays it until its ready to show or hide */\n\t\t\tEvent.observe( window, 'load', function() { \$('fbc_emailCheck').show(); } );\n\t\t</script>\n\t" : "") . "" : "") . "\n" . ($hide_form == 0 ? "" . ($maxUpload ? "\n\t\t<form method='post' enctype=\"multipart/form-data\" action='{$this->settings['base_url']}app=core&amp;module=usercp&amp;tab={$current_tab}&amp;area={$current_area}' id='userCPForm'>\n\t" : "\n\t\t<form method='post' action='{$this->settings['base_url']}app=core&amp;module=usercp&amp;tab={$current_tab}&amp;area={$current_area}' id='userCPForm'>\n\t") . "" : "") . "\n\t<fieldset>\n\t\t<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"{$maxUpload}\" />\n\t\t<input type='hidden' name='do' value='save' />\n\t\t<input type='hidden' name='secure_hash' value='{$this->member->form_hash}' />\n\t\t<input type='hidden' name='s' value='{$this->request['s']}' />\n\t</fieldset>\n<h2>{$this->lang->words['ucp_title']}</h2>\n<ul class='tab_bar no_title'>\n\t" . $this->__f__d56c673e0548c7a8eeb9357cd58893d1($current_tab, $html, $tabs, $current_area, $errors, $hide_form, $maxUpload) . "</ul>\n<div class='tab_body usercp_body'>\n\t<ul id='usercp_menu'>\n\t\t" . ((is_array($tabs[$current_tab]['_menu']) and count($tabs[$current_tab]['_menu'])) ? "\n\t\t\t" . $this->__f__92e07c01d6df6f93f9677a030cfbd8a8($current_tab, $html, $tabs, $current_area, $errors, $hide_form, $maxUpload) . "\t\t" : "") . "\n\t</ul>\n\t<div id='usercp_content'>\n\t\t" . ((is_array($errors) and count($errors)) ? "\n\t\t\t<p class='message error'>\n\t\t\t\t" . $this->__f__7d6ff6cf778678bd847f6e4de3209156($current_tab, $html, $tabs, $current_area, $errors, $hide_form, $maxUpload) . "\t\t\t</p>\n\t\t" : "") . "\n\t\t" . ($this->request['saved'] == 1 ? "\n\t\t\t<p class='message'>{$this->lang->words['ucp__settings_saved']}</p>\n\t\t" : "") . "\n\t\t{$html}\n\t\t\n\t\t" . ($hide_form == 0 ? "\n\t\t<fieldset class='submit'>\n\t\t\t<input type='submit' class='input_submit' name='submit' value='{$this->lang->words['ucp__save_changes']}' /> {$this->lang->words['or']} <a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=usercp&amp;tab={$current_tab}&amp;area={$current_area}", 'public', ''), "", "") . "' title='{$this->lang->words['cancel_edit']}' class='cancel'>{$this->lang->words['cancel']}</a>\n\t\t</fieldset>\n\t\t" : "") . "\n\t</div>\n</div>\n" . ($hide_form == 0 ? "\n</form>\n" : "") . "";
     return $IPBHTML;
 }
 function registerForm($general_errors = array(), $data = array(), $inline_errors = array(), $time_select = array(), $custom_fields = array())
 {
     $IPBHTML = "";
     $this->registry->templateStriping['register'] = array(FALSE, "row1", "row2");
     $IPBHTML .= "" . $this->registry->getClass('output')->addJSModule("register", "0") . "\n" . $this->registry->getClass('output')->addJSModule("facebook", "0") . "\n<script type='text/javascript'>\n//<![CDATA[\n\tipb.register.inSection = \"mainform\";\n\tipb.register.nameMaxLength = \"{$this->settings['max_user_name_length']}\";\n\tipb.register.allowedChars = \"{$this->settings['username_characters']}\";\n\tipb.templates['accept'] = \"&nbsp;<span id='[id]_msg' class='reg_msg reg_accept' style='display: none'><img src='{$this->settings['img_url']}/accept.png' alt='{$this->lang->words['icon']}' /> [msg]</span>\";\n\tipb.templates['error'] = \"&nbsp;<span id='[id]_msg' class='reg_msg reg_error' style='display: none'><img src='{$this->settings['img_url']}/exclamation.png' alt='{$this->lang->words['icon']}' /> [msg]</span>\";\n//]]>\n</script>\n<!-- SKINNOTE TEMPORARY ERROR OUTPUT UNTIL RIKKI FIXES :) -->\n" . (is_array($general_errors) && count($general_errors) ? "\n<div class='message error'>\n\t{$this->lang->words['following_errors']}\n\t<ul>\n\t\t" . $this->__f__5b17498ae294375f6e2888bb373995eb($general_errors, $data, $inline_errors, $time_select, $custom_fields) . "\t</ul>\n</div>\n" : "") . "<form action=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=register", 'public', ''), "", "") . "\" method=\"post\" name=\"REG\" id='register'>\n\t<input type=\"hidden\" name=\"termsread\" value=\"1\" />\n\t<input type=\"hidden\" name=\"agree_to_terms\" value=\"1\" />\n\t<input type=\"hidden\" name=\"do\" value=\"process_form\" />\n\t<input type=\"hidden\" name=\"coppa_user\" value=\"{$data['coppa_user']}\" />\n\t\n\t<div id='register_info' class='right general_box'>\n\t\t" . ($this->settings['fbc_api_id'] ? "\n\t\t\t<h3 class='bar'>{$this->lang->words['reg_with_facebook']}</h3>\n\t\t\t<p>\n\t\t\t\t<div id='fbUserBox'>\n\t\t\t\t\t{$this->lang->words['log_with_facebook']}\n\t\t\t\t\t<br />\n\t\t\t\t\t<fb:login-button size=\"medium\" background=\"light\" length=\"long\" onlogin=\"ipb.facebook.register_loadUser();\"></fb:login-button>\n\t\t\t\t</div>\n\t\t\t\t<br clear='both' />\n\t\t\t</p>\n\t\t\t<br />\n\t\t" : "") . "\n\t\n\t\t<h3>{$this->lang->words['why_register']}</h3>\n\t\t{$this->settings['register_page_info']}\n\t</div>\n\t<div id='register_form' class='block_wrap left'>\n\t\t<h2>{$this->lang->words['ready_register']}</h2>\n\t\t\n\t\t<p class='extra'>\n\t\t\t{$this->lang->words['reg_free']}\n\t\t\t<br />\n\t\t\t{$this->lang->words['already_account']} <a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login", 'public', ''), "", "") . "' title='{$this->lang->words['goto_signin']}'>{$this->lang->words['sign_in_page']}</a>\n\t\t\t<br />\n\t\t</p>\n\t\t" . (is_array($inline_errors) && ($inline_errors['username'] || $inline_errors['dname'] || $inline_errors['email'] || $inline_errors['password']) ? "\n\t\t\t<p class='message error'>{$this->lang->words['reg_errors_found']}</p>\t\n\t\t" : "") . "\n\t\t\n\t\t<div class='generic_bar'></div>\n\t\t<fieldset class='" . IPSLib::next($this->registry->templateStriping["register"]) . "'>\n\t\t\t<h3 class='bar'>{$this->lang->words['reg_step1']}</h3>\n\t\t\t\n\t\t\t<ul>\n\t\t\t\t" . ($data['requireName'] ? "<li class='field required " . ($inline_errors['username'] ? "error" : "") . "'>\n\t\t\t\t\t\t<label for='login_name'>{$this->lang->words['reg_choose_user']}</label>\n\t\t\t\t\t\t<input type='text' class='input_text' id='login_name' size='25' maxlength='{$this->settings['max_user_name_length']}' value='{$this->request['UserName']}' name='UserName' /><br />\n\t\t\t\t\t\t<span class='desc'>" . ($inline_errors['username'] ? "<span class='error'>{$inline_errors['username']}<br /></span>" : "") . "{$this->lang->words['char_cant_use']}</em></span>\n\t\t\t\t\t</li>" : "") . "\n\t\t\t\t" . (($this->settings['auth_allow_dnames'] == 1 or !$data['requireName']) ? "<li class='field required " . ($inline_errors['dname'] ? "error" : "") . "'>\n\t\t\t\t\t\t<label for='display_name'>{$this->lang->words['reg_choose_dname']}</label>\n\t\t\t\t\t\t<input type='text' class='input_text' id='display_name' size='25' maxlength='{$this->settings['max_user_name_length']}' value='{$this->request['members_display_name']}' name='members_display_name' /><br />\n\t\t\t\t\t\t<span class='desc'>" . ($inline_errors['dname'] ? "<span class='error'>{$inline_errors['dname']}<br /></span>" : "") . "{$this->lang->words['dname_desc_one']} {$this->settings['max_user_name_length']} {$this->lang->words['dname_desc_two']}</span>\n\t\t\t\t\t</li>" : "") . "\n\t\t\t</ul>\n\t\t\t<hr />\n\t\t\t<ul>\n\t\t\t\t<li class='field required " . ($inline_errors['email'] ? "error" : "") . "'>\n\t\t\t\t\t<label for='email_1'>{$this->lang->words['reg_enter_email']}</label>\n\t\t\t\t\t<input type='text' id='email_1' class='input_text email' size='25' maxlength='150' name='EmailAddress' value='{$this->request['EmailAddress']}' /><br />\n\t\t\t\t\t<span class='desc'>" . ($inline_errors['email'] ? "<span class='error'>{$inline_errors['email']}<br /></span>" : "") . "{$this->lang->words['reg_enter_email_desc']}</span>\n\t\t\t\t</li>\n\t\t\t\t<li class='field nodesc required'>\n\t\t\t\t\t<label for='email_2'>{$this->lang->words['reg_reenter_email']}</label>\n\t\t\t\t\t<input type='text' id='email_2' class='input_text email' size='25' maxlength='150' name='EmailAddress_two' value='{$this->request['EmailAddress_two']}' />\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t\t<hr />\n\t\t\t<ul>\n\t\t\t\t<li class='field required " . ($inline_errors['password'] ? "error" : "") . "'>\n\t\t\t\t\t<label for='password_1'>{$this->lang->words['reg_choose_password']}</label>\n\t\t\t\t\t<input type='password' id='password_1' class='input_text password' size='25' maxlength='32' value='{$this->request['PassWord']}' name='PassWord' /><br />\n\t\t\t\t\t<span class='desc'>" . ($inline_errors['password'] ? "<span class='error'>{$inline_errors['password']}<br /></span>" : "") . "{$this->lang->words['reg_choose_password_desc']}</span>\n\t\t\t\t</li>\n\t\t\t\t<li class='field nodesc required'>\n\t\t\t\t\t<label for='password_2'>{$this->lang->words['reg_reenter_password']}</label>\n\t\t\t\t\t<input type='password' id='password_2' class='input_text password' size='25' maxlength='32' value='{$this->request['PassWord_Check']}' name='PassWord_Check' /><br />\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</fieldset>\n\t\t<fieldset class='" . IPSLib::next($this->registry->templateStriping["register"]) . "'>\n\t\t\t<h3 class='bar'>{$this->lang->words['reg_step2']}</h3>\n\t\t\t\n\t\t\t<ul>\n\t\t\t\t<li class='field checkbox'>\n\t\t\t\t\t<input type=\"checkbox\" name=\"allow_admin_mail\" id=\"allow_admin_mail\" value=\"1\" class=\"input_check\" " . ($this->request['allow_admin_mail'] || !isset($this->request['allow_admin_mail']) ? "checked='checked'" : "") . " />\n\t\t\t\t\t<label for='allow_admin_mail'>{$this->lang->words['receive_admin_emails']}</label>\n\t\t\t\t</li>\n\t\t\t\t<li class='field checkbox nodesc'>\n\t\t\t\t\t<input type=\"checkbox\" name=\"allow_member_mail\" id=\"allow_member_mail\" value=\"1\" class=\"input_check\" " . ($this->request['allow_member_mail'] ? "checked='checked'" : "") . " />\n\t\t\t\t\t<label for=\"allow_member_mail\">{$this->lang->words['receive_member_emails']}</label>\n\t\t\t\t</li>\n\t\t\t\t<li class='field'>\n\t\t\t\t\t<label for='timezone'>{$this->lang->words['time_zone']}</label>\n\t\t\t\t\t<select id='timezone' class='input_select' name='time_offset'>\n\t\t\t\t\t\t" . $this->__f__a3b8ffba08c0945e925e2f0127b9fdc2($general_errors, $data, $inline_errors, $time_select, $custom_fields) . "\t\t\t\t\t</select>\n\t\t\t\t</li>\n\t\t\t\t<li class='field checkbox'>\n\t\t\t\t\t<input type='checkbox' id='dst' name='dst' value='1' class='input_check' " . ($this->request['dst'] ? "checked='checked'" : "") . " /> <label for='dst' id='dst_label'>{$this->lang->words['auto_dst_detection']}</label>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</fieldset>\n\t\t" . (is_array($custom_fields['required']) && count($custom_fields['required']) || is_array($custom_fields['optional']) && count($custom_fields['optional']) ? "<fieldset class='" . IPSLib::next($this->registry->templateStriping["register"]) . "'>\n\t\t\t<h3 class='bar'>{$this->lang->words['reg_step3']}</h3>\n\t\t\t\n\t\t\t<ul>\n\t\t\t" . (is_array($custom_fields['required']) && count($custom_fields['required']) ? "\n\t\t\t\t" . $this->__f__36fcc0affb964a688761e1ed92abc6c7($general_errors, $data, $inline_errors, $time_select, $custom_fields) . "\t\t\t" : "") . "\n\t\t\t\n\t\t\t" . (is_array($custom_fields['optional']) && count($custom_fields['optional']) ? "\n\t\t\t\t" . $this->__f__c21d6e745dbee23939704485f1721779($general_errors, $data, $inline_errors, $time_select, $custom_fields) . "\t\t\t" : "") . "\n\t\t\t<!--{SUBS.MANAGER}-->\n\t\t\t<!--IBF.MODULES.EXTRA-->\n\t\t</fieldset>" : "") . "\n\t\t{$data['captchaHTML']}\n\t\t{$data['qandaHTML']}\n\t\t<fieldset class='submit'>\n\t\t\t<input type='submit' class='input_submit' value='{$this->lang->words['register']}' /> {$this->lang->words['or']} <a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("", 'public', ''), "", "") . "' title='{$this->lang->words['cancel_link']}' class='cancel'>{$this->lang->words['cancel']}</a>\n\t\t</fieldset>\t\n\t</div>\n</form>\n<!--FB Template-->\n<div id='fb-template-main' style='display:none'>\n\t<div style='float:left; margin-right:4px;margin-bottom:3px'>\n\t\t<fb:profile-pic uid=loggedinuser facebook-logo=true></fb:profile-pic>\n\t</div>\n\t{$this->lang->words['fb_welcome']} <strong><fb:name uid=loggedinuser useyou=false></fb:name></strong>\n\t<div class='desc'>\n\t\t{$this->lang->words['fb_logged_in']}.\n\t\t<br clear='both'/>\n\t\t<br />\n\t\t{$this->lang->words['fb_reg_with']}\n\t\t<form action='{$this->settings['base_url']}app=core&amp;module=global&amp;section=login&amp;do=fbc_loginWithNew' method='post' name='linkNewAccForm' id='fbc_linkNewAccForm'>\n\t\t\t<input type='button' class='input_submit' id='fbc_completeNewAcc'  value='{$this->lang->words['fb_complete_reg']}' />\n\t\t</form>\n\t</div>\n</div>\n" . (IPSLib::fbc_enabled() === TRUE ? "\n<script src=\"http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php\" type=\"text/javascript\"></script>\n<script type=\"text/javascript\">\n\t/* Init Facebook JS */\n\ttry\n\t{\n\t\tFB_RequireFeatures([\"XFBML\"], function()\n\t\t{\n\t\t\tFB.init(\"{$this->settings['fbc_api_id']}\", \"{$this->settings['fbc_xdlocation']}\" );\n\t\t\tFB.Facebook.get_sessionState().waitUntilReady(function()\n\t\t\t{\n\t\t\t\tFB.Connect.ifUserConnected( ipb.facebook.register_loadUser );\n\t\t\t} );\n\t\t} );\n\t}\n\tcatch( error )\n\t{\n\t\t//alert( error );\n\t}\n</script>\n" : "") . "";
     return $IPBHTML;
 }
 function showLogInForm($message = "", $referer = "", $extra_form = "", $login_methods = array(), $facebookOpts = array())
 {
     $IPBHTML = "";
     $IPBHTML .= "" . $this->registry->getClass('output')->addJSModule("signin", "0") . "\n" . $this->registry->getClass('output')->addJSModule("facebook", "0") . "\n<div id='login_form' class='clear'>\n\t\n\t<div id='member_login' class='left'>\n\t\t<h2 class='maintitle'>{$this->lang->words['log_in']}</h2>\n\t\t<div class='generic_bar'></div>\n\t\t<form action=\"" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login&amp;do=process", 'public', ''), "", "") . "\" method=\"post\" id='login'>\n\t\t\t" . ($referer ? "\n\t\t\t<input type=\"hidden\" name=\"referer\" value=\"{$referer}\" />\n\t\t\t" : "") . "\n\t\t\t<div id='regular_signin'>\n\t\t\t\t<a id='_regularsignin'></a>\n\t\t\t\t<h3 class='bar'>{$this->lang->words['enter_name_and_pass']}</h3>\n\t\t\t\t<ul>\n\t\t\t\t\t<li class='field'>\n\t\t\t\t\t\t<label for='username'>{$this->lang->words['enter_name']}</label>\n\t\t\t\t\t\t<input id='username' type='text' class='input_text' name='username' size='25' />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li class='field'>\n\t\t\t\t\t\t<label for='password'>{$this->lang->words['enter_pass']}</label>\n\t\t\t\t\t\t<input id='password' type='password' class='input_text' name='password' size='25' /><br />\n\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=lostpass", 'public', ''), "", "") . "' class='desc' title='{$this->lang->words['retrieve_pw']}'>{$this->lang->words['login_forgotten_pass']}</a>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t\t" . (in_array('openid', $login_methods) ? "\n\t\t\t\t<p class='extra'>" . $this->registry->getClass('output')->getReplacement("openid_small") . " {$this->lang->words['have_openid']} <a href='#_openid' title='{$this->lang->words['use_openid']}' id='openid_open'>{$this->lang->words['sign_in_here']}</a></p>\n\t\t\t\t" : "") . "\n\t\t\t\t" . (in_array('live', $login_methods) ? "\n\t\t\t\t<p class='extra'>" . $this->registry->getClass('output')->getReplacement("live_small") . " {$this->lang->words['have_msnlive']} <a href='#_live' title='{$this->lang->words['use_live']}' id='live_open'>{$this->lang->words['sign_in_here']}</a></p>\n\t\t\t\t" : "") . "\n\t\t\t\t" . ((is_array($extra_form) and count($extra_form)) ? "\n\t\t\t\t\t" . $this->__f__a3616e8d38944a1bbf49ffe53e71834a($message, $referer, $extra_form, $login_methods, $facebookOpts) . "\t\t\t\t" : "") . "\n\t\t\t</div>\n\t\t\t" . (in_array('openid', $login_methods) ? "\n\t\t\t<div id='openid_signin'>\n\t\t\t\t<a id='_openid'></a>\n\t\t\t\t<h3 class='bar'>{$this->lang->words['sign_in_openid']}</h3>\n\t\t\t\t" . $this->registry->getClass('output')->getReplacement("openid_large") . "\n\t\t\t\t<ul>\n\t\t\t\t\t<li class='field'>\n\t\t\t\t\t\t<label for='openid'>{$this->lang->words['openid']}</label>\n\t\t\t\t\t\t<input id='openid' type='text' class='input_text' name='openid_url' value='http://' size='30' /><br />\n\t\t\t\t\t\t<span class='desc'>{$this->lang->words['openid_example']}</span>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t\t<p class='extra'>" . $this->registry->getClass('output')->getReplacement("signin_icon") . " <a href='#_regularsignin' title='{$this->lang->words['regular_signin']}' id='openid_close'>{$this->lang->words['use_regular']}</a></p>\n\t\t\t</div>\n\t\t\t" : "") . "\n\t\t\t" . (in_array('live', $login_methods) ? "\n\t\t\t<div id='live_signin'>\n\t\t\t\t<a id='_live'></a>\n\t\t\t\t<h3 class='bar'>{$this->lang->words['sign_in_winlive']}</h3>\n\t\t\t\t<ul>\n\t\t\t\t\t<li class='field'>\n\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login&amp;do=process&amp;use_live=1", 'public', ''), "", "") . "'>" . $this->registry->getClass('output')->getReplacement("live_large") . "</a> <a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=login&amp;do=process&amp;use_live=1", 'public', ''), "", "") . "'>{$this->lang->words['signin_with_live']}</a>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t\t<p class='extra'>" . $this->registry->getClass('output')->getReplacement("signin_icon") . " <a href='#_regularsignin' title='{$this->lang->words['regular_signin']}' id='live_close'>{$this->lang->words['use_regular']}</a></p>\n\t\t\t</div>\n\t\t\t" : "") . "\n\t\t\t<hr />\n\t\t\t<fieldset id='signin_options'>\n\t\t\t\t<legend>{$this->lang->words['sign_in_options']}</legend>\n\t\t\t\t<ul>\n\t\t\t\t\t<li class='field checkbox'>\n\t\t\t\t\t\t<input type='checkbox' id='remember' checked='checked' name='rememberMe' value='1' class='input_check' />\n\t\t\t\t\t\t<label for='remember'>\n\t\t\t\t\t\t\t{$this->lang->words['rememberme']}<br />\n\t\t\t\t\t\t\t<span class='desc'>{$this->lang->words['notrecommended']}</span>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</li>\n\t\t\t\t\t" . (!$this->settings['disable_anonymous'] ? "\n\t\t\t\t\t\t\n\t\t\t\t\t" : "") . "\n\t\t\t\t</ul>\n\t\t\t</fieldset>\n\t\t\t<fieldset class='submit'>\n\t\t\t\t<input type='submit' class='input_submit' value='{$this->lang->words['sign_in_button']}' /> {$this->lang->words['or']} <a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("", 'public', ''), "", "") . "' title='{$this->lang->words['cancel']}' class='cancel'>{$this->lang->words['cancel']}</a>\n\t\t\t</fieldset>\n\t\t</form>\n\t</div>\n\t<div id='guest_register' class='right general_box'>\n\t\t" . (($this->settings['fbc_enable'] and $this->settings['fbc_api_id']) ? "\n\t\t\t<h3 class='bar'>{$this->lang->words['fb_login_title']}</h3>\n\t\t\t<p>\n\t\t\t\t<div id='fbUserBox'>\n\t\t\t\t\t{$this->lang->words['login_w_facebook']}\n\t\t\t\t\t<br />\n\t\t\t\t\t<fb:login-button size=\"medium\" background=\"light\" length=\"long\" onlogin=\"ipb.facebook.login_loadUser();\"></fb:login-button>\n\t\t\t\t</div>\n\t\t\t\t<br clear='both' />\n\t\t\t</p>\n\t\t\t<br />\n\t\t" : "") . "\n\t\t<h3 class='bar'>{$this->lang->words['not_a_member']}</h3>\n\t\t<p>\n\t\t\t{$this->settings['login_page_info']}\n\t\t</p>\n\t\t<br />\n\t\t<p style='text-align: center'>\n\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&amp;module=global&amp;section=register", 'public', ''), "", "section=register") . "'>{$this->lang->words['register_now']}</a>\n\t\t</p>\n\t</div>\n</div>\n<!--FB Template-->\n<div id='fb-template-main' style='display:none'>\n\t<div style='float:left; margin-right:4px;margin-bottom:3px'>\n\t\t<fb:profile-pic uid=loggedinuser facebook-logo=true></fb:profile-pic>\n\t</div>\n\t{$this->lang->words['welcome_prefix']} <strong><fb:name uid=loggedinuser useyou=false></fb:name></strong>\n</div>\n<div id='fb-template-notlinked' style='display:none'>\n\t<div class='desc'>\n\t\t{$this->lang->words['fb_logged_in']}\n\t\t<br clear='both'/>\n\t\t<br />{$this->lang->words['fb_no_forum_acct']}\n\t\t<br />\n\t\t<form action='{$this->settings['base_url']}app=core&amp;module=global&amp;section=login&amp;do=fbc_loginWithNew' method='post' name='linkNewAccForm' id='fbc_linkNewAccForm'>\n\t\t\t<input type='button' class='input_submit' id='fbc_completeNewAcc' value='{$this->lang->words['fb_new_account']}' />\n\t\t</form>\n\t\t<br />\n\t\t<br />\n\t\t<strong>{$this->lang->words['or']}</strong> {$this->lang->words['fb_link_account']}\n\t\t<div class='message error' id='fbc_linkError' style='display:none'></div>\n\t\t<br />\n\t\t<form action='{$this->settings['base_url']}app=core&amp;module=global&amp;section=login&amp;do=fbc_login' method='post' name='linkForm' id='fbc_linkForm'>\n\t\t{$this->lang->words['fb_link_email']} <input type='text' name='emailaddress' id='fbc_emailAddress' size='25' />\n\t\t<br />{$this->lang->words['fb_link_pass']} &nbsp;<input type='password' name='password' id='fbc_password' size='25' />\n\t\t<input type='button' class='input_submit' id='fbc_completeWithLink' value='{$this->lang->words['fb_link_complete']}' />\n\t\t</form>\n\t</div>\n</div>\n<div id='fb-template-linked' style='display:none'>\n\t<div class='desc'>\n\t\t{$this->lang->words['fb_logged_in']}\n\t</div>\n\t<br clear='both'/>\n\t<form action='{$this->settings['base_url']}app=core&amp;module=global&amp;section=login&amp;do=fbc_loginFromLinked' method='post' name='linkAlreadyForm' id='fbc_linkAlreadyForm'>\n\t\t<input type='button' class='input_submit' id='fbc_complete' value='{$this->lang->words['fb_complete_login']}' />\n\t</form>\n</div>\n" . (IPSLib::fbc_enabled() === true ? "" . ($this->registry->output->isHTTPS ? "\n\t\t<script src=\"https://ssl.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php\" type=\"text/javascript\"></script>\n\t" : "\n\t\t<script src=\"http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php\" type=\"text/javascript\"></script>\n\t") . "\n<script type=\"text/javascript\">\n\t/* Init Facebook JS */\n\ttry\n\t{\n\t\tFB_RequireFeatures([\"XFBML\"], function()\n\t\t{\n\t\t\tFB.init(\"{$this->settings['fbc_api_id']}\", \"{$this->settings['fbc_xdlocation']}\" );\n\t\t\tFB.Facebook.get_sessionState().waitUntilReady(function()\n\t\t\t{\n\t\t\t\tFB.Connect.ifUserConnected( ipb.facebook.login_loadUser );\n\t\t\t} );\n\t\t} );\n\t}\n\tcatch( error )\n\t{\n\t\t//alert( error );\n\t}\n</script>" : "") . "";
     return $IPBHTML;
 }
Пример #19
0
 function statusUpdatesPage($updates = array(), $pages = '')
 {
     $IPBHTML = "";
     if (IPSLib::locationHasHooks('skin_profile', $this->_funcHooks['statusUpdatesPage'])) {
         $count_b284dae10d4e778362b09ab9b5884953 = is_array($this->functionData['statusUpdatesPage']) ? count($this->functionData['statusUpdatesPage']) : 0;
         $this->functionData['statusUpdatesPage'][$count_b284dae10d4e778362b09ab9b5884953]['updates'] = $updates;
         $this->functionData['statusUpdatesPage'][$count_b284dae10d4e778362b09ab9b5884953]['pages'] = $pages;
     }
     $_first = reset($updates);
     if (!isset($this->registry->templateStriping['recent_status'])) {
         $this->registry->templateStriping['recent_status'] = array(FALSE, "row1", "row2 altrow");
     }
     $IPBHTML .= "" . $this->registry->getClass('output')->addJSModule("status", "0") . "<h1 class='ipsType_pagetitle'>{$this->lang->words['status_updates__overview']}</h1>\n<br />\n<div id='status_standalone_page'>\n\t<div class='maintitle ipsFilterbar'>\n\t\t<ul class='ipsList_inline'>\n\t\t\t<li id='status_all' class='" . ((!$this->request['status_id'] and !$this->request['member_id'] and !$this->request['type'] or $this->request['type'] == 'all') ? "active" : "") . "'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&amp;module=profile&amp;section=status&amp;type=all", "public", ''), "true", "members_status_all") . "'>{$this->lang->words['status__all_updates']}</a></li>\n\t\t\t" . (($this->memberData['member_id'] and $this->settings['friends_enabled']) ? "<li id='status_all' class='tab_toggle " . ($this->request['type'] == 'friends' ? "active" : "") . "'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&amp;module=profile&amp;section=status&amp;type=friends", "public", ''), "true", "members_status_friends") . "'>{$this->lang->words['status__myfriends']}</a></li>" : "") . "" . ($this->request['member_id'] ? "\n\t\t\t\t<li id='status_by_id' class='active'><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&amp;module=profile&amp;section=status&amp;type=memberall&amp;member_id={$this->request['member_id']}", "public", ''), array($this->request['member_id'], $_first['members_seo_name']), "members_status_member_all") . "'>{$this->lang->words['status__membersupdats']}</a></li>\n\t\t\t" : "") . "" . ($this->request['status_id'] ? "\n\t\t\t\t<li id='status_by_sid' class='active'><a href='#'>{$this->lang->words['status__singleupdate']}</a></li>\n\t\t\t" : "") . "\n\t\t</ul>\n\t</div>\n\t" . (($this->memberData['member_id'] and $this->registry->getClass('memberStatus')->canCreate($this->memberData)) ? "<div class='status_update row2'>\n\t\t\t<form id='statusForm' action='{$this->settings['base_url']}app=members&amp;module=profile&amp;section=status&amp;do=new&amp;k={$this->member->form_hash}&amp;id={$this->memberData['member_id']}' method='post'>\n\t\t\t<input type='text' id='statusUpdate_page' name='content' style='width:60%' class='input_text'> <input type='submit' class='ipsButton' id='statusSubmit_page' value='{$this->lang->words['gbl_post']}' />\n\t\t\t" . (((IPSLib::twitter_enabled() or IPSLib::fbc_enabled()) and ($this->memberData['fb_uid'] or $this->memberData['twitter_id'])) ? "<p class='desc' style='padding-top:5px;'>{$this->lang->words['st_update']}\n\t\t\t\t\t" . ((IPSLib::twitter_enabled() and $this->memberData['twitter_id']) ? "<input type='checkbox' id='su_Twitter' value='1' name='su_Twitter' /> <img src=\"{$this->settings['public_dir']}style_status/twitter.png\" style='vertical-align:top' alt='' />" : "") . "\n\t\t\t\t\t" . ((IPSLib::fbc_enabled() and $this->memberData['fb_uid']) ? "<input type='checkbox' id='su_Facebook' value='1' name='su_Facebook' /> <img src=\"{$this->settings['public_dir']}style_status/facebook.png\" style='vertical-align:top' alt='' />" : "") . "\n\t\t\t\t</p>" : "") . "\n\t\t\t</form>\n\t\t</div>" : "") . "\n\t<div id=\"status_wrapper\" class='ipsBox'>\n\t\t" . (count($updates) ? "\n\t\t\t" . (method_exists($this->registry->getClass('output')->getTemplate('profile'), 'statusUpdates') ? $this->registry->getClass('output')->getTemplate('profile')->statusUpdates($updates) : '') . "\n\t\t" : "\n\t\t\t<p class='no-status'>{$this->lang->words['status_updates_none']}</p>\n\t\t") . "\n\t</div>\n\t" . ($pages ? "\n\t\t<div class='topic_controls clearfix'>\n\t\t\t{$pages}\n\t\t</div>\n\t" : "") . "\n</div>";
     return $IPBHTML;
 }
Пример #20
0
 function hookFacebookActivity()
 {
     $IPBHTML = "";
     if (IPSLib::locationHasHooks('skin_boards', $this->_funcHooks['hookFacebookActivity'])) {
         $count_a56e3d36117d91564594c2642b33b42e = is_array($this->functionData['hookFacebookActivity']) ? count($this->functionData['hookFacebookActivity']) : 0;
     }
     $IPBHTML .= "" . (IPSLib::fbc_enabled() ? "\r\n<div class='general_box clearfix'>\r\n\t<h3>{$this->lang->words['hook_facebookactivity']}</h3>\r\n\t<div  class='block_list clearfix _sbcollapsable'>\r\n\t\t<div><fb:activity site=\"\" width=\"270\" height=\"300\" header=\"false\" border_color=\"#FFF\" colorscheme=\"light\" /></div>\r\n\t</div>\r\n</div><div id=\"fb-root\"></div>\r\n<script>\r\n  window.fbAsyncInit = function() {\r\n    FB.init({appId: '{$this->settings['fbc_appid']}', status: true, cookie: true,\r\n             xfbml: true});\r\n  };\r\n  (function() {\r\n    var e = document.createElement('script'); e.async = true;\r\n    e.src = document.location.protocol +\r\n      '//connect.facebook.net/{$this->settings['fb_locale']}/all.js';\r\n    document.getElementById('fb-root').appendChild(e);\r\n  }());\r\n</script>\r\n" : "") . "";
     return $IPBHTML;
 }
Пример #21
0
 /**
  * Determines if we can share socially or not
  * @param string $method (If false, it'll check all services and return true of one or more allow it) facebook/twitter
  * @param array $memberData
  */
 public static function canSocialShare($method = false, $memberData = null)
 {
     $memberData = $memberData === null ? ipsRegistry::member()->fetchMemberData() : $memberData;
     if ($method == false) {
         $method = array('twitter', 'facebook');
     } else {
         if (is_string($method)) {
             $method = array($method);
         }
     }
     $canShare = false;
     if (is_array($method)) {
         foreach ($method as $s) {
             switch ($s) {
                 case 'twitter':
                     $canShare = (IPSLib::twitter_enabled() and $memberData['twitter_token']) ? true : false;
                     break;
                 case 'facebook':
                     $canShare = (IPSLib::fbc_enabled() and $memberData['fb_token']) ? true : false;
                     break;
             }
             if ($canShare === true) {
                 return true;
             }
         }
     }
     return $canShare;
 }
 /**
  * Main class entry point
  *
  * @access	public
  * @param	object		ipsRegistry reference
  * @return	void		[Outputs to screen]
  */
 public function doExecute(ipsRegistry $registry)
 {
     //-----------------------------------------
     // INIT
     //-----------------------------------------
     $_thisNav = array();
     //-----------------------------------------
     // Load language
     //-----------------------------------------
     $this->registry->getClass('class_localization')->loadLanguageFile(array('public_usercp'));
     //-----------------------------------------
     // Logged in?
     //-----------------------------------------
     if (!$this->memberData['member_id']) {
         $this->registry->getClass('output')->silentRedirect($this->settings['base_url'] . '&app=core&module=global&section=login&do=form');
         exit;
     }
     //-----------------------------------------
     // Make sure they're clean
     //-----------------------------------------
     $this->request['tab'] = IPSText::alphanumericalClean($this->request['tab']);
     $this->request['area'] = IPSText::alphanumericalClean($this->request['area']);
     //-----------------------------------------
     // Set up some basics...
     //-----------------------------------------
     $_TAB = $this->request['tab'] ? $this->request['tab'] : 'core';
     $_AREA = $this->request['area'] ? $this->request['area'] : 'settings';
     $_DO = $this->request['do'] ? $this->request['do'] : 'show';
     $_FUNC = $_DO == 'show' ? 'showForm' : ($_DO == 'save' ? 'saveForm' : $_DO);
     $tabs = array();
     $errors = array();
     //-----------------------------------------
     // Got a plug in?
     //-----------------------------------------
     require_once IPS_ROOT_PATH . 'sources/interfaces/interface_usercp.php';
     $_FILE = IPSLib::getAppDir($_TAB) . '/extensions/usercpForms.php';
     $_CLASS = 'usercpForms_' . $_TAB;
     if (!file_exists($_FILE)) {
         $this->registry->getClass('output')->showError('usercp_bad_tab', 10147);
         exit;
     }
     //-----------------------------------------
     // Grab tabs
     //-----------------------------------------
     foreach (ipsRegistry::$applications as $app_dir => $app_data) {
         if (IPSLib::appIsInstalled($app_dir)) {
             $__file = IPSLib::getAppDir($app_dir) . '/extensions/usercpForms.php';
             $__class = 'usercpForms_' . $app_dir;
             if (file_exists($__file)) {
                 require_once $__file;
                 $_usercp_module = new $__class();
                 $_usercp_module->makeRegistryShortcuts($this->registry);
                 if (is_callable(array($_usercp_module, 'init'))) {
                     $_usercp_module->init();
                     /* Set default area? */
                     if ($_TAB == $app_dir and !isset($_REQUEST['area'])) {
                         if (isset($_usercp_module->defaultAreaCode)) {
                             $this->request['area'] = $_AREA = $_usercp_module->defaultAreaCode;
                         }
                     }
                 }
                 if (is_callable(array($_usercp_module, 'getLinks'))) {
                     $tabs[$app_dir]['_name'] = $_usercp_module->tab_name ? $_usercp_module->tab_name : IPSLib::getAppTitle($app_dir);
                     $tabs[$app_dir]['_menu'] = $_usercp_module->getLinks();
                     if (!$tabs[$app_dir]['_menu']) {
                         unset($tabs[$app_dir]);
                     }
                     /* Add in 'last' element */
                     $tabs[$app_dir]['_menu'][count($tabs[$app_dir]['_menu']) - 1]['last'] = 1;
                     /* This nav? */
                     if (!count($_thisNav) and $app_dir == $_TAB) {
                         foreach ($tabs[$app_dir]['_menu'] as $_navData) {
                             if ($_navData['url'] == 'area=' . $_AREA) {
                                 $_thisNav = array('app=core&amp;module=usercp&amp;tab=' . $_TAB . '&amp;area=' . $_AREA, $_navData['title']);
                             }
                         }
                     }
                 }
             }
         }
     }
     //-----------------------------------------
     // Set up basic navigation
     //-----------------------------------------
     $this->_nav[] = array($this->lang->words['t_title'], '&amp;app=core&amp;module=usercp');
     if (isset($_thisNav[0])) {
         $this->_nav[] = array($_thisNav[1], $_thisNav[0]);
     }
     //-----------------------------------------
     // Load it...
     //-----------------------------------------
     require_once $_FILE;
     $usercp_module = new $_CLASS();
     $usercp_module->makeRegistryShortcuts($this->registry);
     $usercp_module->init();
     if ($_DO == 'saveForm' || $_DO == 'showForm' and !is_callable(array($usercp_module, $_FUNC))) {
         $this->registry->getClass('output')->showError('usercp_bad_tab', 10148, true);
         exit;
     }
     //-----------------------------------------
     // Run it...
     //-----------------------------------------
     if ($_FUNC == 'showForm') {
         //-----------------------------------------
         // Facebook email
         //-----------------------------------------
         //@facebook concession
         if (IPSLib::fbc_enabled() === TRUE) {
             if (!$this->memberData['fb_emailallow'] and strstr($this->memberData['email'], '@proxymail.facebook.com')) {
                 require_once IPS_ROOT_PATH . 'sources/classes/facebook/connect.php';
                 $fb = new facebook_connect($this->registry);
                 try {
                     $fb->testConnectSession();
                     $result = $fb->users_hasAppPermission('email');
                     IPSMember::save($this->memberData['member_id'], array('core' => array('fb_emailallow' => intval($result))));
                 } catch (Exception $error) {
                 }
             }
         }
         $html = $usercp_module->showForm($_AREA);
     } else {
         if ($_FUNC == 'saveForm') {
             //-----------------------------------------
             // Check secure key...
             //-----------------------------------------
             if ($this->request['secure_hash'] != $this->member->form_hash) {
                 $html = $usercp_module->showForm($_AREA);
                 $errors[] = $this->lang->words['securehash_not_secure'];
             } else {
                 $errors = $usercp_module->saveForm($_AREA);
                 $do = $usercp_module->do_url ? $usercp_module->do_url : 'show';
                 if (is_array($errors) and count($errors)) {
                     $html = $usercp_module->showForm($_AREA, $errors);
                 } else {
                     if ($usercp_module->ok_message) {
                         $this->registry->getClass('output')->redirectScreen($usercp_module->ok_message, $this->settings['base_url'] . 'app=' . IPS_APP_COMPONENT . '&module=usercp&tab=' . $_TAB . '&area=' . $_AREA . '&do=' . $do . '&saved=1', 1);
                     } else {
                         $this->registry->getClass('output')->silentRedirect($this->settings['base_url_with_app'] . 'module=usercp&tab=' . $_TAB . '&area=' . $_AREA . '&do=' . $do . '&saved=1' . '&_r=' . time());
                     }
                 }
             }
         } else {
             if (!is_callable(array($usercp_module, 'runCustomEvent'))) {
                 $html = $usercp_module->showForm($_AREA);
                 $errors[] = $this->lang->words['called_invalid_function'];
             } else {
                 $html = $usercp_module->runCustomEvent($_AREA);
             }
         }
     }
     //-----------------------------------------
     // If you've run a custom event, may need to
     // reset the "area" to highlight the menu correctly
     //-----------------------------------------
     if (is_callable(array($usercp_module, 'resetArea'))) {
         $_AREA = $usercp_module->resetArea($_AREA);
     }
     //-----------------------------------------
     // Wrap form and show
     //-----------------------------------------
     $template = $this->registry->getClass('output')->getTemplate('ucp')->userCPTemplate($_TAB, $html, $tabs, $_AREA, $errors, $usercp_module->hide_form_and_save_button, $usercp_module->uploadFormMax);
     //-----------------------------------------
     // Pass to CP output hander
     //-----------------------------------------
     $this->registry->getClass('output')->setTitle($this->_pageTitle ? $this->settings['board_name'] . " {$this->lang->words['pagetitle_bit']} : " . $this->_pageTitle : $this->settings['board_name'] . " {$this->lang->words['pagetitle_bit']}");
     $this->registry->getClass('output')->addContent($template);
     if (is_array($this->_nav) and count($this->_nav)) {
         foreach ($this->_nav as $_nav) {
             $this->registry->getClass('output')->addNavigation($_nav[0], $_nav[1]);
         }
     }
     if (is_array($usercp_module->_nav) and count($usercp_module->_nav)) {
         foreach ($usercp_module->_nav as $_nav) {
             $this->registry->getClass('output')->addNavigation($_nav[0], $_nav[1]);
         }
     }
     $this->registry->getClass('output')->sendOutput();
 }
Пример #23
0
 /**
  * Returns the editor for viewing ...
  * @param unknown_type $member
  */
 public function getEditorHtml(array $member)
 {
     /* Fetch member data */
     $member = IPSMember::buildDisplayData(IPSMember::load($member['member_id'], 'all'));
     $p_w = "";
     $p_h = "";
     $cur_photo = "";
     $rand = urlencode(microtime());
     $data = array('currentPhoto' => array('tag' => ''), 'custom' => array('tag' => ''), 'gravatar' => array('tag' => ''), 'twitter' => array('tag' => ''));
     /* Photo type */
     $data['type'] = $member['pp_photo_type'] = $this->getPhotoType($member);
     /* Got gravatar? */
     $member['pp_gravatar'] = $member['pp_gravatar'] ? $member['pp_gravatar'] : $member['email'];
     /* Quick permission check */
     if (!IPSMember::canUploadPhoto($member, TRUE)) {
         return false;
     }
     /* Set the current photo */
     $data['currentPhoto']['tag'] = IPSMember::buildProfilePhoto($member, 'full', IPS_MEMBER_PHOTO_NO_CACHE);
     /* Set up custom */
     $data['custom']['tag'] = $member['pp_photo_type'] != 'custom' ? IPSMember::buildNoPhoto($member, 'thumb', false, true) : "<img src='" . $member['pp_thumb_photo'] . '?__rand=' . $rand . "' width='" . $member['pp_thumb_width'] . "' height='" . $member['pp_thumb_height'] . "' />";
     /* Set up Gravatar */
     $data['gravatar']['tag'] = "<img src='http://www.gravatar.com/avatar/" . md5($member['pp_gravatar']) . "?s=100' alt='' />";
     /* Twitter linked? */
     if (IPSLib::twitter_enabled() && $member['twitter_token'] && $member['twitter_secret']) {
         $classToLoad = IPSLib::loadLibrary(IPS_ROOT_PATH . 'sources/classes/twitter/connect.php', 'twitter_connect');
         $twitter = new $classToLoad($this->registry, $member['twitter_token'], $member['twitter_secret']);
         $userData = $twitter->fetchUserData();
         if ($userData['profile_image_url']) {
             $data['twitter']['tag'] = "<img src='" . str_replace('_normal.', '.', $userData['profile_image_url']) . "' />";
         }
     }
     /* Facebook linked? */
     if (IPSLib::fbc_enabled() && $member['fb_uid']) {
         $classToLoad = IPSLib::loadLibrary(IPS_ROOT_PATH . 'sources/classes/facebook/connect.php', 'facebook_connect');
         $facebook = new $classToLoad($this->registry);
         /* Now get the linked user */
         $linkedMemberData = IPSMember::load(intval($member['fb_uid']), 'all', 'fb_uid');
         $userData = $facebook->fetchUserData();
         if ($userData['pic_big']) {
             $data['facebook']['tag'] = "<img src='" . $userData['pic_big'] . "' />";
         } else {
             if ($userData['pic']) {
                 $data['facebook']['tag'] = "<img src='" . $userData['pic'] . "' />";
             }
         }
     }
     $this->uploadFormMax = 5000 * 1024;
     return $this->registry->getClass('output')->getTemplate('profile')->photoEditor($data, $member);
 }
 /**
  * Show the login form
  *
  * @access	public
  * @param	string		Message to show on login form
  * @return	string		Login form HTML
  */
 public function loginForm($message = "", $replacement = '')
 {
     //-----------------------------------------
     // INIT
     //-----------------------------------------
     $extra_form = "";
     $show_form = 1;
     $template = '';
     //-----------------------------------------
     // Are they banned?
     //-----------------------------------------
     if (IPSMember::isBanned('ip', $this->member->ip_address)) {
         $this->registry->getClass('output')->showError('you_are_banned', 2011);
     }
     if ($message != "") {
         if ($replacement) {
             $message = sprintf($this->lang->words[$message], $replacement);
         } else {
             $message = $this->lang->words[$message];
         }
         $name = $this->request['UserName'] ? $this->request['UserName'] : $this->request['address'];
         $message = str_replace("<#NAME#>", "<b>" . $name . "</b>", $message);
         $template .= $this->registry->getClass('output')->getTemplate('login')->errors($message);
     }
     //-----------------------------------------
     // Using an alternate log in form?
     //-----------------------------------------
     $this->han_login->checkLoginUrlRedirect();
     //-----------------------------------------
     // Extra  HTML?
     //-----------------------------------------
     $additionalForm = $this->han_login->additionalFormHTML();
     if (count($additionalForm[1])) {
         if ($additionalForm[0] == 'add') {
             $extra_form = $additionalForm[1];
             $show_form = 1;
         } else {
             $template .= $additionalForm[1];
             $show_form = 0;
         }
     }
     //-----------------------------------------
     // Continue...
     //-----------------------------------------
     if ($show_form) {
         if ($this->request['referer']) {
             $http_referrer = $this->request['referer'];
         } else {
             if (!my_getenv('HTTP_REFERER') or stripos(my_getenv('HTTP_REFERER'), $this->settings['board_url']) === false) {
                 // HTTP_REFERER isn't set when force_login is enabled
                 // This method will piece together the base url, and the querystring arguments
                 // This is not anymore secure/insecure than IPB, as IPB will have to process
                 // those arguments whether force_login is enabled or not.
                 $argv = is_array(my_getenv('argv')) && count(my_getenv('argv')) > 0 ? my_getenv('argv') : array();
                 $http_referrer = $this->settings['base_url'] . @implode("&amp;", $argv);
             } else {
                 $http_referrer = my_getenv('HTTP_REFERER');
             }
         }
         $facebookOpts = array();
         $login_methods = false;
         $uses_name = false;
         $uses_email = false;
         foreach ($this->cache->getCache('login_methods') as $method) {
             $login_methods[$method['login_folder_name']] = $method['login_folder_name'];
             if ($method['login_user_id'] == 'username') {
                 $uses_name = true;
             }
             if ($method['login_user_id'] == 'email') {
                 $uses_email = true;
             }
         }
         if ($uses_name and $uses_email) {
             $this->lang->words['enter_name'] = $this->lang->words['enter_name_and_email'];
         } else {
             if ($uses_email) {
                 $this->lang->words['enter_name'] = $this->lang->words['enter_useremail'];
             } else {
                 $this->lang->words['enter_name'] = $this->lang->words['enter_username'];
             }
         }
         $template .= $this->registry->getClass('output')->getTemplate('login')->showLogInForm($this->lang->words['please_log_in'], htmlentities(urldecode($http_referrer)), $extra_form, $login_methods, $facebookOpts);
     }
     /* Work around for bug http://bugs.developers.facebook.com/show_bug.cgi?id=3237 */
     if (IPSLib::fbc_enabled()) {
         $this->_facebook->testConnectSession();
     }
     $this->registry->getClass('output')->addNavigation($this->lang->words['log_in'], '');
     $this->registry->getClass('output')->setTitle($this->lang->words['log_in']);
     $this->registry->getClass('output')->addContent($template);
     $this->registry->getClass('output')->sendOutput();
 }