function chatRoom($options = array(), $chatters = array()) { $IPBHTML = ""; if (IPSLib::locationHasHooks('skin_ipchat', $this->_funcHooks['chatRoom'])) { $count_fc473221c0d8519b3b35e078488c45d5 = is_array($this->functionData['chatRoom']) ? count($this->functionData['chatRoom']) : 0; $this->functionData['chatRoom'][$count_fc473221c0d8519b3b35e078488c45d5]['options'] = $options; $this->functionData['chatRoom'][$count_fc473221c0d8519b3b35e078488c45d5]['chatters'] = $chatters; } $IPBHTML .= "" . $this->registry->getClass('output')->addJSModule("chat", "0") . "\n" . $this->registry->getClass('output')->addToDocumentHead('importcss', "{$this->settings['css_base_url']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_editor.css") . "\n<script type='text/javascript'>\n\t// Basic variables\n\tvar roomId\t\t= {$options['roomId']};\n\tvar userId\t\t= {$options['userId']};\n\tvar userName\t= '" . ($this->memberData['member_id'] ? "{$this->memberData['members_display_name']}" : "{$this->memberData['members_display_name']}_{$options['userId']}") . "';\n\tvar accessKey\t= '{$options['accessKey']}';\n\tvar serverHost\t= '{$options['serverHost']}';\n\tvar serverPath\t= '{$options['serverPath']}';\n\tvar ourUrl\t\t= '{$options['ourUrl']}';\n\tUSE_RTE\t\t\t= 0;\n\tvar isMobile\t= 0;\n\t// Chat settings\t\n\tipb.chat.condenseTime\t\t= parseInt({$this->settings['ipchat_limit_time']});\n\tipb.chat.maxMessages\t\t= parseInt({$this->settings['ipchat_max_messages']});\n\tipb.chat.moderator\t\t\t= parseInt({$options['moderator']});\n\tipb.chat.private\t\t\t= parseInt({$options['private']});\n\tipb.chat.hideEnterExit\t\t= parseInt({$this->settings['ipchat_hide_usermessage']});\n\tipb.chat.noBuffer\t\t\t= parseInt('{$this->settings['ipchat_no_buffer']}');\n\tipb.chat.inactiveKick\t\t= parseInt('{$this->settings['ipchat_inactive_minutes']}');\n\tipb.chat.user24hour \t\t= parseInt('{$this->settings['ipchat_24hour']}');\n\t\n\t// Set up templates\n\tipb.chat.templates['msg-1']\t\t\t\t= new Template( \"<li class='post chat-message #{ownclass}'>#{photo} <label>#{username}</label> <div>#{message}</div></li>\" );\n\tipb.chat.templates['msg-1-compound']\t= new Template( \"<li class='post chat-message #{ownclass}'><div class='hider'> </div><div>#{message}</div></li>\" );\n\tipb.chat.templates['msg-2']\t\t\t\t= new Template( \"<li class='post chat-notice'>#{photo} <label>#{username}</label> <div>#{action}</div></li>\" );\n\tipb.chat.templates['msg-3']\t\t\t\t= new Template( \"<li class='post chat-me'>#{photo} <label>#{username}</label> <div>**#{message}**</div></li>\" );\n\tipb.chat.templates['msg-4']\t\t\t\t= new Template( \"<li class='post chat-system'>{$this->lang->words['sys_message_pre']} #{message}</li>\" );\n\tipb.chat.templates['msg-5']\t\t\t\t= new Template( \"<li class='post chat-moderator'><label class='fluid'>#{username}</label> <div>{$this->lang->words['_kicked']} #{extra}</div></li>\" );\n\tipb.chat.templates['msg-K']\t\t\t\t= new Template( \"<li class='post chat-moderator'><div>{$this->lang->words['youve_been_kicked']}</div></li>\" );\n\tipb.chat.templates['send_private']\t\t= new Template( \"<div id='priv_#{id}_wrap'><h3 class='bar'>{$this->lang->words['sendprivatechat']}</h3><div class='chat-private-message'><textarea name='message_content' id='priv_chat_text_#{id}' cols='25' rows='2'></textarea> <input type='submit' value='{$this->lang->words['sendprivatebutton']}' class='input_submit add_folder' id='#{id}_submit' onclick='return ipb.chat.sendPrivateChat( #{id} );' /></div></div>\" );\n\tipb.chat.templates['new-tab']\t\t\t= new Template( \"<a href='#tab-#{id}' rel='#{id}'>#{name} <img src='{$this->settings['img_url']}/cross.png' alt='x' class='right' id='close-chat-tab-#{id}' /></a>\" );\n\tipb.chat.templates['count-title']\t\t= new Template( \"" . str_replace('%s', '#{count}', $this->lang->words['chattab_count']) . "\" );\n\t\n\t// Set some language vars\n\tipb.lang['time_am']\t\t\t\t= \"{$this->lang->words['time_am']}\";\n\tipb.lang['time_pm']\t\t\t\t= \"{$this->lang->words['time_pm']}\";\n\tipb.lang['entered_room']\t\t= \" {$this->lang->words['entered_room']}\";\n\tipb.lang['left_room']\t\t\t= \" {$this->lang->words['left_room']}\";\n\tipb.lang['chat_kick_user']\t\t= \"{$this->lang->words['chat_kick_user']}\";\n\tipb.lang['chat_ban_user']\t\t= \"{$this->lang->words['chat_ban_user']}\";\n\tipb.lang['chat_priv_user']\t\t= \"{$this->lang->words['chat_priv_user']}\";\n\tipb.lang['cant_kick_self']\t\t= \"{$this->lang->words['cant_kick_self']}\";\n\tipb.lang['youve_been_kicked']\t= \"{$this->lang->words['youve_been_kicked']}\";\n\tipb.lang['block_priv_user']\t\t= \"{$this->lang->words['block_priv_user']}\";\n\tipb.lang['unblock_priv_user']\t= \"{$this->lang->words['unblock_priv_user']}\";\n\tipb.lang['cant_block_user']\t\t= \"{$this->lang->words['cant_block_user']}\";\n\tipb.lang['noprivate_withignored'] = \"{$this->lang->words['noprivate_withignored']}\";\n\tipb.lang['ban_user_confirm']\t= \"{$this->lang->words['banconfirmpopup']}\";\n\t\n\t// Emoticons\n\tipb.chat.emoticons\t\t\t= \$H({ " . IPSLib::fetchEmoticonsAsJson($this->registry->output->skin['set_emo_dir'], true) . " });\n\tipb.vars['emoticon_url']\t= \"{$this->settings['emoticons_url']}\";\n\tipb.vars['img_url']\t\t\t= '{$this->settings['img_url']}';\n\t\n\t// Sound\n\tipb.chat.soundEnabled\t\t= " . (IPSCookie::get('chat_sounds') == 'off' ? "0" : "1") . ";\n\tipb.chat.soundOnImg\t\t\t= \"{$this->settings['img_url']}/bell.png\";\n\tipb.chat.soundOffImg\t\t= \"{$this->settings['img_url']}/bell_off.png\";\n\t\n\t// Chatters name formatting\n\t" . $this->__f__776f6e2cf0409238d7f8b06df58633b5($options, $chatters) . "\t// Ignore private chats from..\n\t" . $this->__f__5cb7dc707613b708061e35c39c0315de($options, $chatters) . "\t" . ((isset($this->memberData['_ignoredUsers']) and count($this->memberData['_ignoredUsers'])) ? "\n\t\t" . $this->__f__912a9882eb2468aa711103e006f1db77($options, $chatters) . "\t" : "") . "\n\t\n\t// Badwords\n\t" . ((is_array($this->caches['badwords']) and count($this->caches['badwords'])) ? "\n\t\t" . $this->__f__a322b0264fb42d72e2ed89b6f99a822a($options, $chatters) . "\t" : "") . "\n\t\n\t// Groups\n\t" . $this->__f__2a73ab0bb6c4c786423dde2785d55fd9($options, $chatters) . "</script>\n<script type='text/javascript' src='{$this->settings['public_dir']}js/ips.editor.js'></script>\n" . (!$this->request['_popup'] ? "\n\t<h1 class='ipsType_pagetitle'>" . IPSLib::getAppTitle('ipchat') . "</h1>\n\t<br /><br />\n" : "") . "\n<div class='ipsBox ipsLayout ipsLayout_withright ipsPostForm clearfix'>\n\t<div class='ipsBox_container ipsLayout_right ipsPostForm_sidebar'>\n\t\t<div id='chat-room-list' style='display:none'>\n\t\t\t<h3 class='bar'>{$this->lang->words['chats']}</h3>\n\t\t\t<div class='ipsPad ipsSideMenu'>\n\t\t\t\t<ul id='chat-tab-holder'>\n\t\t\t\t\t<li class='active' id='tab-chatroom'><a href='#tab-chatroom' rel='chatroom'>{$this->lang->words['chat_tab_home']}</a></li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t</div>\t\n\t\t<h3 class='bar'><span id='online-chat-count'>" . (($_count = count($chatters)) ? "{$_count}" : "0") . "</span> {$this->lang->words['whos_chatting_ttl']}</h3>\n\t\t<div class='ipsPad' id='chatters-online-wrap'>\n\t\t\t<ul id='chatters-online'>\n\t\t\t\t" . $this->__f__85f7a2a7de7bd273e202a92898fb0067($options, $chatters) . "\t\t\t</ul>\n\t\t</div>\n\t\t<div class='ipsPad right'>\n\t\t\t<ul class='ipsList_inline'>\n\t\t\t\t<li>\n\t\t\t\t\t<a class='ipsButton_secondary' href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("module=ipschat&section=chat&do=leave&room={$options['roomId']}&user={$options['userId']}&access_key={$options['accessKey']}&secure_key={$this->member->form_hash}" . ($this->request['_popup'] ? "&popup=1" : "") . "", "publicWithApp", ''), "", "") . "' title='{$this->lang->words['leave_room']}' id='leave_room'><img src='{$this->settings['img_url']}/cross.png' alt='{$this->lang->words['leave_room']}' /> {$this->lang->words['leave_room']}</a>\n\t\t\t\t</li>\n\t\t\t\t<li>\n\t\t\t\t\t<a class='ipsButton_secondary' href='#' title='{$this->lang->words['toggle_sound']}' id='sound_toggle'> <img id='sound_toggle_img' src='{$this->settings['img_url']}/" . (IPSCookie::get('chat_sounds') == 'off' ? "bell_off.png" : "bell.png") . "' alt='{$this->lang->words['toggle_sound']}' /> </a>\n\t\t\t\t</li>\n\t\t\t\t" . (!$this->request['_popup'] ? "\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<a class='ipsButton_secondary' href='#' title='{$this->lang->words['chat_new_window']}' id='chat_new_window'><img src='{$this->settings['img_url']}/chat/window_open.png' alt='{$this->lang->words['chat_new_window']}' /></a>\n\t\t\t\t\t</li>\n\t\t\t\t" : "") . "\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n\t<div class='ipsBox_container ipsLayout_content'>\n\t\t<div id='scrollbar_container'>\n\t\t\t<div id='messages-display'><span id='initial_message'>{$this->lang->words['please_wait_chats']}</span></div>\n\t\t</div>\n\t\t<form id='chat-form' action='#' method='post'>\n\t\t\t<input type='hidden' name='1_wysiwyg_used' id='1_wysiwyg_used' value='0' />\n\t\t\t<input type='hidden' name='editor_ids[]' value='1' />\n\t\t\t<div class='ips_editor' id='editor_message'>\n\t\t\t\t<div id='message_controls' class='controls'>\n\t\t\t\t\t<ul id='message_toolbar_2' class='toolbar' style='display: none'>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<span id='message_cmd_bold' class='rte_control rte_button' title='{$this->lang->words['js_tt_bold']}'><img src='{$this->settings['img_url']}/rte_icons/bold.png' alt='{$this->lang->words['js_tt_bold']}' /></span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<span id='message_cmd_italic' class='rte_control rte_button' title='{$this->lang->words['js_tt_italic']}'><img src='{$this->settings['img_url']}/rte_icons/italic.png' alt='{$this->lang->words['js_tt_italic']}' /></span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<span id='message_cmd_underline' class='rte_control rte_button' title='{$this->lang->words['js_tt_underline']}'><img src='{$this->settings['img_url']}/rte_icons/underline.png' alt='{$this->lang->words['js_tt_underline']}' /></span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<span id='emoticons_custom_menu' class='ipbmenu rte_control rte_button' title='{$this->lang->words['js_tt_emoticons']}'><img src='{$this->settings['img_url']}/rte_icons/emoticons.png' alt='{$this->lang->words['js_tt_emoticons']}' /></span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<span id='message_cmd_link' class='rte_control rte_palette' title='{$this->lang->words['js_tt_link']}'><img src='{$this->settings['img_url']}/rte_icons/link.png' alt='{$this->lang->words['js_tt_link']}' /></span>\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\t<div id='message_wrap' class='editor'>\n\t\t\t\t\t<textarea name=\"message\" class=\"input_rte\" id=\"message_textarea\" rows=\"3\" cols=\"50\" tabindex=\"0\" maxlength=\"450\"></textarea>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<input type='submit' id='chat-submit' class='input_submit' value='{$this->lang->words['chat_post_button']}' />\n\t\t</form>\n\t</div>\n</div>\n<div id='mod-menu-container'>\n\t" . $this->__f__b9925e475553743bdec6c74675fb1a60($options, $chatters) . "</div>\n<div id='emoticons_custom_menu_menucontent'></div>\n<script type='text/javascript'>\n\tif( \$( 'message_toolbar_2' ) ){ \$( 'message_toolbar_2' ).show(); }\n\tipb.editor_values.get('templates')['link'] = new Template(\"<label for='#{id}_url'>{$this->lang->words['js_template_url']}</label><input type='text' class='input_text' id='#{id}_url' value='http://' tabindex='10' /><label for='#{id}_urltext'>{$this->lang->words['js_template_link']}</label><input type='text' class='input_text _select' id='#{id}_urltext' value='{$this->lang->words['js_template_default']}' tabindex='11' /><input type='submit' value='{$this->lang->words['js_template_insert_link']}' tabindex='12' />\");\n\tipb.editor_values.get('templates')['emoticons_showall'] = new Template(\"<input class='input_submit emoticons' type='button' id='#{id}_all_emoticons' value='{$this->lang->words['show_all_emoticons']}' />\");\n\tipb.editor_values.get('templates')['emoticon_wrapper'] = new Template(\"<h4><span>{$this->lang->words['emoticons_template_title']}</span></h4><div id='#{id}_emoticon_holder' class='emoticon_holder'></div>\");\n\tipb.editor_values.set( 'show_emoticon_link', false );\n\tipb.editor_values.set( 'emoticons', ipb.chat.emoticons );\n\tipb.editor_values.set( 'bbcodes', \$H(" . IPSLib::fetchBbcodeAsJson() . ") );\n\tipb.editors[ 'message' ] = new ipb.editor( 'message', 0 );\n\t/* Load emoticons on the fly ... */\n\tvar _emoticonsLoaded\t= false;\n\t\$('emoticons_custom_menu').observe( 'click', function( e ){ \n\t\tif( !_emoticonsLoaded )\n\t\t{\n\t\t\tnew Ajax.Request( \n\t\t\t\t\t\t\t\tipb.vars['base_url'] + \"&app=ipchat&module=ajax§ion=getemoticons&md5check=\" + ipb.vars['secure_hash'], \n\t\t\t\t\t\t\t\t{ \n\t\t\t\t\t\t\t\t\tmethod: 'get',\n\t\t\t\t\t\t\t\t\tonSuccess: function(t)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\$('emoticons_custom_menu_menucontent').update( t.responseText );\n\t\t\t\t\t\t\t\t\t\t_emoticonsLoaded\t= true;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t}\n\t});\n\tfunction addEmoImage(elem){\n\t\tvar code = elem.up('tr').down('a').innerHTML;\n\t\tvar title = elem.up('tr').down('img').readAttribute('title');\n\t\tipb.editors[ 'message' ].insert_emoticon('', title, code,'');\n\t}\n</script>\n\t\t\t\n<!--Iframes used for cross-domain \"AJAX\"-->\n<div id='iframeContainer'>\n<div id='storage_container_chatroom' class='storage-container'><ul id='storage_chatroom'></ul></div>\n</div>"; return $IPBHTML; }
function chatRoom($options = array(), $chatters = array()) { $IPBHTML = ""; if (IPSLib::locationHasHooks('skin_ipchat', $this->_funcHooks['chatRoom'])) { $count_47c727f3c1cf8b3aa32a608be34dce68 = is_array($this->functionData['chatRoom']) ? count($this->functionData['chatRoom']) : 0; $this->functionData['chatRoom'][$count_47c727f3c1cf8b3aa32a608be34dce68]['options'] = $options; $this->functionData['chatRoom'][$count_47c727f3c1cf8b3aa32a608be34dce68]['chatters'] = $chatters; } $IPBHTML .= "<script type='text/javascript'>\n//<![CDATA[\n\tjsDebug\t\t\t= " . intval($this->settings['_jsDebug']) . "; /* Must come before JS includes */\n\tUSE_RTE\t\t\t= 1;\n\tDISABLE_AJAX\t= parseInt({$this->settings['disable_text_ajax']}); /* Disables ajax requests where text is sent to the DB; helpful for charset issues */\n\tinACP\t\t\t= false;\n\tvar isRTL\t\t= false;\n\tvar rtlIe\t\t= '';\n\tvar rtlFull\t\t= '';\n//]]>\n</script>\n<script type='text/javascript' src='{$this->settings['js_base_url']}js/3rd_party/scriptaculous/scriptaculous-cache.js'></script>\n<script type='text/javascript' src='{$this->settings['js_base_url']}js/ipb.js'></script>\n<script type='text/javascript' src='{$this->settings['js_base_url']}js/ips.chat.js'></script>\n<script type='text/javascript'>\n\tipb.vars['base_url'] \t\t\t= '" . ($this->registry->output->isHTTPS ? "" . str_replace('http://', 'https://', "{$this->settings['js_base']}") . "" : "{$this->settings['js_base']}") . "';\n\tipb.vars['board_url']\t\t\t= '{$this->settings['board_url']}';\n\tipb.vars['img_url'] \t\t\t= \"{$this->settings['img_url']}\";\n\tipb.vars['member_id']\t\t\t= parseInt( {$this->memberData['member_id']} );\n\tipb.vars['is_supmod']\t\t\t= parseInt( " . intval($this->memberData['g_is_supmod']) . " );\n\tipb.vars['is_admin']\t\t\t= parseInt( {$this->memberData['g_access_cp']} );\n\tipb.vars['secure_hash'] \t\t= '{$this->member->form_hash}';\n\tipb.vars['session_id']\t\t\t= '{$this->member->session_id}';\n\tipb.vars['is_touch']\t\t\t= " . ($this->registry->output->isLargeTouchDevice() ? "'large';" : "" . ($this->registry->output->isSmallTouchDevice() ? "'small';" : "false;") . "") . "\n\tipb.vars['member_group']\t\t= " . json_encode(array('g_mem_info' => $this->memberData['g_mem_info'])) . "\n\tipb.vars['cookie_id'] \t\t\t= '{$this->settings['cookie_id']}';\n\tipb.vars['cookie_domain'] \t\t= '{$this->settings['cookie_domain']}';\n\tipb.vars['cookie_path']\t\t\t= '{$this->settings['cookie_path']}';\n\tipb.vars['charset']\t\t\t\t= \"{$this->settings['gb_char_set']}\";\n\tipb.vars['seo_enabled']\t\t\t= " . intval($this->settings['use_friendly_urls']) . ";\n\t" . ($this->settings['use_friendly_urls'] ? "\n\tipb.vars['seo_params']\t\t\t= " . json_encode($this->registry->getClass('output')->seoTemplates['__data__']) . ";\n\t" : "") . "\n\tLoader.boot();\n\t\t\n\t// Basic variables\n\tvar roomId\t\t= {$options['roomId']};\n\tvar userId\t\t= {$options['userId']};\n\tvar userName\t= '" . ($this->memberData['member_id'] ? "{$this->memberData['members_display_name']}" : "{$this->memberData['members_display_name']}_{$options['userId']}") . "';\n\tvar accessKey\t= '{$options['accessKey']}';\n\tvar serverHost\t= '{$options['serverHost']}';\n\tvar serverPath\t= '{$options['serverPath']}';\n\tvar ourUrl\t\t= '{$options['ourUrl']}';\n\tvar isMobile\t= 1;\n\t// Chat settings\t\n\tipb.chat.condenseTime\t\t= parseInt({$this->settings['ipchat_limit_time']});\n\tipb.chat.maxMessages\t\t= 50; // Force to 50 on mobile as we do not have a scrollable div... parseInt({$this->settings['ipchat_max_messages']});\n\tipb.chat.moderator\t\t\t= parseInt({$options['moderator']});\n\tipb.chat.private\t\t\t= parseInt({$options['private']});\n\tipb.chat.hideEnterExit\t\t= parseInt({$this->settings['ipchat_hide_usermessage']});\n\tipb.chat.noBuffer\t\t\t= parseInt('{$this->settings['ipchat_no_buffer']}');\n\tipb.chat.inactiveKick\t\t= parseInt('{$this->settings['ipchat_inactive_minutes']}');\n\tipb.chat.user24hour \t\t= parseInt('{$this->settings['ipchat_24hour']}');\n\t\n\t// Set up templates\n\tipb.chat.templates['msg-1']\t\t\t\t= new Template( \"<li class='post chat-message #{ownclass}'>#{photo} <label>#{username}</label> <div>#{message}</div></li>\" );\n\tipb.chat.templates['msg-1-compound']\t= new Template( \"<li class='post chat-message #{ownclass}'><div class='hider'> </div><div>#{message}</div></li>\" );\n\tipb.chat.templates['msg-2']\t\t\t\t= new Template( \"<li class='post chat-notice'>#{photo} <label>#{username}</label> <div>#{action}</div></li>\" );\n\tipb.chat.templates['msg-3']\t\t\t\t= new Template( \"<li class='post chat-me'>#{photo} <label>#{username}</label> <div>**#{message}**</div></li>\" );\n\tipb.chat.templates['msg-4']\t\t\t\t= new Template( \"<li class='post chat-system'>{$this->lang->words['sys_message_pre']} #{message}</li>\" );\n\tipb.chat.templates['msg-5']\t\t\t\t= new Template( \"<li class='post chat-moderator'><label class='fluid'>#{username}</label> <div>{$this->lang->words['_kicked']} #{extra}</div></li>\" );\n\tipb.chat.templates['msg-K']\t\t\t\t= new Template( \"<li class='post chat-moderator'><div>{$this->lang->words['youve_been_kicked']}</div></li>\" );\n\tipb.chat.templates['send_private']\t\t= new Template( \"<div id='priv_#{id}_wrap'><h3 class='bar'>{$this->lang->words['sendprivatechat']}</h3><div class='chat-private-message'><textarea name='message_content' id='priv_chat_text_#{id}' cols='15' rows='2'></textarea> <input type='submit' value='{$this->lang->words['sendprivatebutton']}' id='#{id}_submit' onclick='return ipb.chat.sendPrivateChat( #{id} );' /></div></div>\" );\n\tipb.chat.templates['new-tab']\t\t\t= new Template( \"<a href='#tab-#{id}' rel='#{id}'>#{name} <img src='{$this->settings['img_url']}/chat/cross.png' alt='x' class='right' id='close-chat-tab-#{id}' /></a>\" );\n\tipb.chat.templates['count-title']\t\t= new Template( \"" . str_replace('%s', '#{count}', $this->lang->words['chattab_count']) . "\" );\n\t\n\t// Set some language vars\n\tipb.lang['time_am']\t\t\t\t= \"{$this->lang->words['time_am']}\";\n\tipb.lang['time_pm']\t\t\t\t= \"{$this->lang->words['time_pm']}\";\n\tipb.lang['entered_room']\t\t= \" {$this->lang->words['entered_room']}\";\n\tipb.lang['left_room']\t\t\t= \" {$this->lang->words['left_room']}\";\n\tipb.lang['chat_kick_user']\t\t= \"{$this->lang->words['mobile_kick']}\";\n\tipb.lang['chat_ban_user']\t\t= \"{$this->lang->words['mobile_ban']}\";\n\tipb.lang['chat_priv_user']\t\t= \"{$this->lang->words['mobile_start_private']}\";\n\tipb.lang['cant_kick_self']\t\t= \"{$this->lang->words['cant_kick_self']}\";\n\tipb.lang['youve_been_kicked']\t= \"{$this->lang->words['youve_been_kicked']}\";\n\tipb.lang['block_priv_user']\t\t= \"{$this->lang->words['mobile_ignore_private']}\";\n\tipb.lang['unblock_priv_user']\t= \"{$this->lang->words['mobile_unignore_private']}\";\n\tipb.lang['cant_block_user']\t\t= \"{$this->lang->words['cant_block_user']}\";\n\tipb.lang['noprivate_withignored'] = \"{$this->lang->words['noprivate_withignored']}\";\n\tipb.lang['ban_user_confirm']\t= \"{$this->lang->words['banconfirmpopup']}\";\n\tipb.lang['leave_room']\t\t\t= \"{$this->lang->words['leave_room']}\";\n\tipb.chat.emoticons\t\t\t= \$H({ " . IPSLib::fetchEmoticonsAsJson($this->registry->output->skin['set_emo_dir'], true) . " });\n\tipb.vars['emoticon_url']\t= \"{$this->settings['emoticons_url']}\";\n\tipb.vars['img_url']\t\t\t= '{$this->settings['img_url']}';\n\t\n\t// Sound\n\tipb.chat.soundEnabled\t\t= 0;\n\tipb.chat.soundOnImg\t\t\t= \"{$this->settings['img_url']}/bell.png\";\n\tipb.chat.soundOffImg\t\t= \"{$this->settings['img_url']}/bell_off.png\";\n\t\n\t// Chatters name formatting\n\t" . $this->__f__6a2148f8aea32d563dba4cfc2ea26117($options, $chatters) . "\t// Ignore private chats from..\n\t" . $this->__f__c7d9b312d0083505b0381de125b07ff9($options, $chatters) . "\t" . ((isset($this->memberData['_ignoredUsers']) and count($this->memberData['_ignoredUsers'])) ? "\n\t\t" . $this->__f__51c00e34f1dc2fc9c9540e657061101e($options, $chatters) . "\t" : "") . "\n\t\n\t// Badwords\n\t" . ((is_array($this->caches['badwords']) and count($this->caches['badwords'])) ? "\n\t\t" . $this->__f__7fe88bdf9bcba4c09df360ec9b8c97e8($options, $chatters) . "\t" : "") . "\n\t\n\t// Groups\n\t" . $this->__f__bf96e7c865a7e947703577df5c0006b5($options, $chatters) . "\t\n\tdocument.observe(\"dom:loaded\", function() {\n\t\t\$('chatters-online-toggle').observe( 'click', function(e) {\n\t\t\tEvent.stop(e);\n\t\t\t\n\t\t\t\$('chatters-online').toggle();\n\t\t\t\n\t\t\tif( ( navigator.userAgent.match(/iPhone OS 2/i) ) || ( navigator.userAgent.match(/iPhone OS 3/i) ) || ( navigator.userAgent.match(/iPhone OS 4/i) ) )\n\t\t\t{\n\t\t\t\t\$('chat-form').setStyle( { top: (window.pageYOffset + window.innerHeight - 34) + 'px' } );\n\t\t\t}\n\t\t\t\n\t\t\treturn false;\n\t\t});\n\t});\n</script>\n<h2>" . IPSLib::getAppTitle('ipchat') . "</h2>\n<div class='clearfix'>\n\t<div>\n\t\t<div id='chat-room-list' style='display:none' class='master_list'>\n\t\t\t<h3 class='title'>{$this->lang->words['chats']}</h3>\n\t\t\t<div id='chat-tab-wrapper'>\n\t\t\t\t<ul id='chat-tab-holder'>\n\t\t\t\t\t<li class='active' id='tab-chatroom'><a href='#tab-chatroom' rel='chatroom'>{$this->lang->words['chat_tab_home']}</a></li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t</div>\t\n\t</div>\n\t<div class='ipsBox_container ipsLayout_content'>\n\t\t<div id='scrollbar_container'>\n\t\t\t<div id='messages-display'><span id='initial_message'>{$this->lang->words['please_wait_chats']}</span></div>\n\t\t</div>\n\t\t<form id='chat-form' action='#' method='post'>\n\t\t\t<div id='editor_message'>\n\t\t\t\t<div id='message_wrap' class='editor'>\n\t\t\t\t\t<textarea name=\"message\" id=\"message_textarea\" rows=\"1\" cols=\"50\" tabindex=\"0\" maxlength=\"450\"></textarea>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<input type='submit' id='chat-submit' class='input_submit' value='{$this->lang->words['chat_post_button']}' />\n\t\t</form>\n\t</div>\n\t<div class='master_list' id='chatters-online-wrap'>\n\t\t<h3 class='title' id='chatters-online-toggle'><span id='online-chat-count'>" . (($_count = count($chatters)) ? "{$_count}" : "0") . "</span> {$this->lang->words['whos_chatting_ttl']}</h3>\n\t\t<ul id='chatters-online' style='display: none;'>\n\t\t\t" . $this->__f__03348d49387c54d06860e9bca2537c8d($options, $chatters) . "\t\t</ul>\n\t</div>\n</div>\n\t\t\t\n<!--Iframes used for cross-domain \"AJAX\"-->\n<div id='iframeContainer'>\n<div id='storage_container_chatroom' class='storage-container'><ul id='storage_chatroom'></ul></div>\n</div>"; return $IPBHTML; }
/** * Class entry point * * @param object Registry reference * @return @e void [Outputs to screen/redirects] */ public function doExecute(ipsRegistry $registry) { /* Set up */ $inapp = is_string($this->request['inapp']) ? trim($this->request['inapp']) : ""; if (!$inapp) { $this->registry->output->showError('invalid_app', 1040007, null, null, 500); } /* Load navigation stuff */ $classToLoad = IPSLib::loadLibrary(IPS_ROOT_PATH . 'sources/classes/navigation/build.php', 'classes_navigation_build'); $navigation = new $classToLoad($inapp); /* Return */ $html = $this->registry->output->getTemplate('global_other')->quickNavigationWrapper($navigation->loadApplicationTabs(), $navigation->loadNavigationData(), $inapp); $this->registry->getClass('output')->setTitle($this->lang->words['navigation_title'] . ' - ' . IPSLib::getAppTitle($inapp)); $this->registry->getClass('output')->addContent($html); $this->registry->getClass('output')->sendOutput(); }
function __f__f3ef81aefc61e1ddbb3a00ce02d56217($html, $documentHeadItems, $css, $jsModules, $metaTags, $header_items = array(), $items = array(), $footer_items = array(), $stats = array()) { $_ips___x_retval = ''; foreach ($header_items['applications'] as $data) { $this->templateVars['appActive'] = ""; $this->__default__templateVars['appActive'] = ""; if ($data['app_active']) { $this->templateVars['appActive'] = "active"; } else { $this->templateVars['appActive'] = $this->__default__templateVars['appActive']; } $_ips___x_retval .= "\n\t\t\t\t\t\t\t\t" . ($data['app_show'] ? "\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li id='nav_app_{$data['app_dir']}' class=\"left " . $this->templateVars["appActive"] . "\"><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app={$data['app_dir']}", 'public', ''), "false", "") . "' title='{$this->lang->words['go_to_prefix']}" . IPSLib::getAppTitle($data['app_dir']) . "'>" . IPSLib::getAppTitle($data['app_dir']) . "</a></li>\n\t\t\t\t\t\t\t\t" : "") . "\n\t\t\t\t\t\t\t\n"; } $_ips___x_retval .= ''; return $_ips___x_retval; }
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']} {$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\">»</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&module=global&section=login", "public", ''), "", "") . "' title='{$this->lang->words['sign_in']}'>{$this->lang->words['sign_in']}</a> \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&module=global&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&module=global&section=login&do=logout&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&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&module=usercp&tab=core&area=notificationlog&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&module=payments&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&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&module=search&do=viewNewContent&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&module=profile&section=status&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&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&module=forums&section=markasread&marktype=all&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=\"&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; }
/** * Retuns the html for displaying the forum category filter on the advanced search page * * @return string Filter HTML */ public function getHtml() { /* Make sure class_forums is setup */ if (ipsRegistry::isClassLoaded('class_forums') !== TRUE) { $classToLoad = IPSLib::loadLibrary(IPSLib::getAppDir('forums') . "/sources/classes/forums/class_forums.php", 'class_forums', 'forums'); ipsRegistry::setClass('class_forums', new $classToLoad(ipsRegistry::instance())); } ipsRegistry::getClass('class_forums')->strip_invisible = 1; ipsRegistry::getClass('class_forums')->forumsInit(); /* Got any archived content? */ $canSearchArchives = false; if ($this->settings['archive_on']) { $canSearchArchives = true; if (($this->settings['search_method'] == 'traditional' || $this->settings['search_method'] == 'sql') && $this->settings['archive_remote_sql_database']) { $canSearchArchives = false; } } $topic = NULL; if ($this->request['cType'] == 'topic') { $this->request['cId'] = intval($this->request['cId']); $topic = ipsRegistry::DB()->buildAndFetch(array('select' => '*', 'from' => 'topics', 'where' => "tid={$this->request['cId']}")); } return array('title' => IPSLib::getAppTitle('forums'), 'html' => ipsRegistry::getClass('output')->getTemplate('search')->forumAdvancedSearchFilters(ipsRegistry::getClass('class_forums')->buildForumJump(0, 1, 0, (isset($this->request['cId']) and $this->request['cType'] == 'forum') ? array($this->request['cId']) : array()), $canSearchArchives, $topic)); }
/** * Returns boxes for the search form * * @param boolean Grab all apps or just the current one * @return array */ public function getHtml($allApps = TRUE) { /* INIT */ $filtersHtml = ''; /* Loop through apps */ foreach (ipsRegistry::$applications as $app) { /* Not all? */ if (!$allApps and $app['app_directory'] != $this->_app) { continue; } if (IPSLib::appIsSearchable($app['app_directory'])) { /* got custom filter? */ if (is_file(IPSLib::getAppDir($app['app_directory']) . '/extensions/search/form.php')) { $classToLoad = IPSLib::loadLibrary(IPSLib::getAppDir($app['app_directory']) . '/extensions/search/form.php', 'search_form_' . $app['app_directory'], $app['app_directory']); if (class_exists($classToLoad) and method_exists($classToLoad, 'getHtml')) { $_obj = new $classToLoad(); $filtersHtml[$app['app_directory']] = $_obj->getHtml(); } else { $filtersHtml[$app['app_directory']] = array('title' => IPSLib::getAppTitle($app['app_directory']), 'html' => ''); } } else { $filtersHtml[$app['app_directory']] = array('title' => IPSLib::getAppTitle($app['app_directory']), 'html' => ''); } $filtersHtml[$app['app_directory']]['sortDropIn'] = $this->fetchSortIn($app['app_directory']); $filtersHtml[$app['app_directory']]['sortDropDown'] = $this->fetchSortDropDown($app['app_directory']); } } return $filtersHtml; }
function __f__e31017b74a41d4b4cb2b4384d3fd5612($results, $pagination, $total, $member, $limited = 0, $wasLimited = false, $beginTime = 0, $sortIn = null, $sortDropDown = array()) { $_ips___x_retval = ''; $__iteratorCount = 0; foreach ($this->registry->getApplications() as $app) { $__iteratorCount++; $_ips___x_retval .= "\n\t\t\t\t\t\t" . ((IPSLib::appIsSearchable($app['app_directory'], 'usercontent') and !in_array($app['app_directory'], array('core', 'forums', 'members'))) ? "<li " . ($this->request['search_app'] == $app['app_directory'] ? "class='active'" : "") . "><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=search&do=user_activity&search_app={$app['app_directory']}&mid={$this->request['mid']}&userMode={$this->request['userMode']}&sid={$this->request['_sid']}", "public", ''), "", "") . "'>" . IPSLib::getAppTitle($app['app_directory']) . "</a></li>" : "") . "\n\t\t\t\t\t\n"; } $_ips___x_retval .= ''; unset($__iteratorCount); return $_ips___x_retval; }
function __f__c8ca620f84d6ee0ffd036e677a836616() { $_ips___x_retval = ''; $__iteratorCount = 0; foreach ($this->registry->getApplications() as $app => $data) { $__iteratorCount++; $_ips___x_retval .= "\t\t\t\t\n\t\t\t\t\t\t" . ((IPSLib::appIsSearchable($app, 'search') and !in_array($app, array('forums', 'members', 'core'))) ? "<li class='app'>\n\t\t\t\t\t\t\t\t<label for='s_{$app}' title='" . IPSLib::getAppTitle($app) . "'>\n\t\t\t\t\t\t\t\t\t" . (($this->request['app'] == 'core' and $this->request['module'] == 'search') ? "<input type='radio' name='search_app' class='input_radio' id='s_{$app}' value=\"{$app}\" " . (((isset($this->request['search_app']) and $this->request['search_app'] == $app) || (!IPSLib::appIsSearchable($this->registry->getCurrentApplication(), 'search') and $app == 'core') || $this->registry->getCurrentApplication() == $app && (!isset($this->request['search_app']) or !$this->request['search_app'])) && !$this->request['showtopic'] && !$this->request['showforum'] && (!method_exists($this->registry->output->getTemplate($this->request['search_app'] . '_global'), 'contextSearch') or ipsRegistry::$appSearch) ? "checked=\"checked\"" : "") . " />" : "<input type='radio' name='search_app' class='input_radio' id='s_{$app}' value=\"{$app}\" " . (((isset($this->request['search_app']) and $this->request['search_app'] == $app) || (!IPSLib::appIsSearchable($this->registry->getCurrentApplication(), 'search') and $app == 'core') || $this->registry->getCurrentApplication() == $app && (!isset($this->request['search_app']) or !$this->request['search_app'])) && !$this->request['showtopic'] && !$this->request['showforum'] && (!method_exists($this->registry->output->getTemplate($this->registry->getCurrentApplication() . '_global'), 'contextSearch') or ipsRegistry::$appSearch) ? "checked=\"checked\"" : "") . " />") . "" . IPSLib::getAppTitle($app) . "\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</li>" : "") . "\n\t\t\t\t\t\n"; } $_ips___x_retval .= ''; unset($__iteratorCount); return $_ips___x_retval; }
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']} {$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\">»</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&module=global&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&module=global&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&module=global&section=login&do=logout&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&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&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<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=members&module=profile&section=status&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&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; }
function __f__b94c8debdbc2f39ece6942ca98b016b6($config, $emailData) { $_ips___x_retval = ''; $__iteratorCount = 0; foreach ($this->_config as $key => $_config) { $__iteratorCount++; $_ips___x_retval .= "\n\t\t\t" . (!isset($_config['_done']) && $_config['_done'] != 1 ? "" . ($this->_lastApp != $_config['app'] ? "<tr class='row2'>\n\t\t\t\t\t\t<td colspan='{$this->_colCount}'>\n\t\t\t\t\t\t\t<h3>" . ($_config['app'] == 'core' ? "{$this->lang->words['notifytitle_other']}" : "" . IPSLib::getAppTitle($_config['app']) . "") . "</h3>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t" . (($this->_lastApp = $_config['app']) ? "" : "") . "" : "") . "\n\t\t\t\t<tr>\n\t\t\t\t\t<td class='notify_title desc'>{$this->lang->words['notify__' . $_config['key']]}</h3></td>\n\t\t\t\t\t<td class='short'>\n\t\t\t\t\t\t<span class='notify_icon inline' title='{$this->lang->words['notify_type_inline']}'> </span>\n\t\t\t\t\t\t" . (isset($_config['options']['inline']) ? "<input type='checkbox' class='input_check' id='inline_{$key}' name=\"config_{$key}[]\" value=\"inline\"" . ((is_array($_config['defaults']) and in_array('inline', $_config['defaults'])) ? " checked=\"checked\"" : "") . " " . ($_config['disabled'] ? " disabled=\"disabled\"" : "") . " />" : "\n\t\t\t\t\t\t\t<input type='checkbox' class='input_check' name='' disabled='disabled' />\n\t\t\t\t\t\t") . "\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class='short'>\n\t\t\t\t\t\t<span class='notify_icon email' title='{$this->lang->words['notify_type_email']}'> </span>\n\t\t\t\t\t\t" . (isset($_config['options']['email']) ? "<input type='checkbox' class='input_check' id='email_{$key}' name=\"config_{$key}[]\" value=\"email\"" . ((is_array($_config['defaults']) and in_array('email', $_config['defaults'])) ? " checked=\"checked\"" : "") . " " . ($_config['disabled'] ? " disabled=\"disabled\"" : "") . " />" : "\n\t\t\t\t\t\t\t<input type='checkbox' class='input_check' name='' disabled='disabled' />\n\t\t\t\t\t\t") . "\n\t\t\t\t\t</td>\n\t\t\t\t\t" . (IPSMember::canReceiveMobileNotifications() ? "<td class='short'>\n\t\t\t\t\t\t<span class='notify_icon mobile' title='{$this->lang->words['notify_type_mobile']}'> </span>\n\t\t\t\t\t\t" . (isset($_config['options']['mobile']) ? "<input type='checkbox' class='input_check' id='mobile_{$key}' name=\"config_{$key}[]\" value=\"mobile\"" . ((is_array($this->_config[$key]['defaults']) and in_array('mobile', $this->_config[$key]['defaults'])) ? " checked=\"checked\"" : "") . " " . ($this->_config[$key]['disabled'] ? " disabled=\"disabled\"" : "") . " />" : "\n\t\t\t\t\t\t\t<input type='checkbox' class='input_check' name='' disabled='disabled' />\n\t\t\t\t\t\t") . "\n\t\t\t\t\t</td>" : "") . "\n\t\t\t\t</tr>" : "") . "\n\t\t\n"; } $_ips___x_retval .= ''; unset($__iteratorCount); return $_ips___x_retval; }
/** * Class entry point * * @param object Registry reference * @return @e void [Outputs to screen/redirects] */ public function doExecute(ipsRegistry $registry) { /* Load language */ $this->registry->class_localization->loadLanguageFile(array('public_search'), 'core'); $this->registry->class_localization->loadLanguageFile(array('public_forums', 'public_topic'), 'forums'); /* Reset engine type */ $this->settings['search_method'] = $this->settings['search_method'] == 'traditional' ? 'sql' : $this->settings['search_method']; /* Force SQL for view new content? */ if (!empty($this->settings['force_sql_vnc']) && $this->request['do'] == 'viewNewContent') { $this->settings['search_method'] = 'sql'; } $this->request['search_app_filters'] = $this->_cleanInputFilters($this->request['search_app_filters']); /* Special consideration for contextual search */ if (isset($this->request['search_app']) and is_string($this->request['search_app']) and strstr($this->request['search_app'], ':')) { list($app, $type, $id) = explode(':', $this->request['search_app']); $this->request['search_app'] = $app; $this->request['cType'] = $type; $this->request['cId'] = $id; } else { /* Force forums as default search */ $this->request['search_in'] = ($this->request['search_in'] and IPSLib::appIsSearchable($this->request['search_in'], 'search')) ? $this->request['search_in'] : 'forums'; $this->request['search_app'] = $this->request['search_app'] ? $this->request['search_app'] : $this->request['search_in']; } /* Check Access */ $this->_canSearch(); /* Start session - needs to be called before the controller is initiated */ $this->_startSession(); /* Load the controller */ $classToLoad = IPSLib::loadLibrary(IPS_ROOT_PATH . 'sources/classes/search/controller.php', 'IPSSearch'); /* Sanitzie */ if (!is_string($this->request['search_app'])) { $this->request['search_app'] = 'forums'; } try { $this->searchController = new $classToLoad($registry, $this->settings['search_method'], $this->request['search_app']); } catch (Exception $error) { $msg = $error->getMessage(); /* Start session */ $this->_endSession(); switch ($msg) { case 'NO_SUCH_ENGINE': case 'NO_SUCH_APP': case 'NO_SUCH_APP_ENGINE': $this->registry->output->showError(sprintf($this->lang->words['no_search_app'], ipsRegistry::$applications[$this->request['search_app']]['app_title']), 10145.1); break; } } /* Log type */ IPSDebug::addMessage("Search type: " . $this->settings['search_method']); /* Set up some defaults */ IPSSearchRegistry::set('opt.noPostPreview', false); IPSSearchRegistry::set('in.start', intval($this->request['st'])); IPSSearchRegistry::set('opt.search_per_page', intval($this->settings['search_per_page']) ? intval($this->settings['search_per_page']) : 25); $this->settings['search_ucontent_days'] = $this->settings['search_ucontent_days'] ? $this->settings['search_ucontent_days'] : 365; /* Contextuals */ if (isset($this->request['cType'])) { IPSSearchRegistry::set('contextual.type', $this->request['cType']); IPSSearchRegistry::set('contextual.id', $this->request['cId']); } /* What to do */ switch ($this->request['do']) { case 'user_activity': $this->viewUserContent(); break; case 'new_posts': case 'viewNewContent': case 'active': $this->viewNewContent(); break; case 'search': case 'quick_search': $this->searchResults(); break; case 'followed': $this->viewFollowedContent(); break; case 'manageFollowed': $this->updateFollowedContent(); break; default: case 'search_form': $this->searchAdvancedForm(); break; } /* Start session */ $this->_endSession(); /* If we have any HTML to print, do so... */ if ($this->request['do'] == 'search' && !empty($this->request['search_tags'])) { $this->registry->output->setTitle(IPSText::urldecode_furlSafe($this->request['search_tags']) . ' - ' . $this->lang->words['st_tags'] . ' - ' . IPSLib::getAppTitle($this->request['search_app']) . ' - ' . ipsRegistry::$settings['board_name']); /* Add canonical tag */ $extra = $this->request['st'] ? '&st=' . $this->request['st'] : ''; $this->registry->output->addCanonicalTag('app=core&module=search&do=search&search_tags=' . IPSText::urlencode_furlSafe($this->request['search_tags']) . '&search_app=' . $this->request['search_app'] . $extra, $this->request['search_tags'], 'tags'); } else { $this->registry->output->setTitle($this->title . ' - ' . ipsRegistry::$settings['board_name']); } $this->registry->output->addContent($this->output); $this->registry->output->sendOutput(); }
/** * Show a screen requiring users to agree to terms before continuing * * @return @e void */ protected function agreeToTerms() { IPSText::getTextClass('bbcode')->parse_bbcode = 1; IPSText::getTextClass('bbcode')->parse_html = 0; IPSText::getTextClass('bbcode')->parse_nl2br = 0; IPSText::getTextClass('bbcode')->parse_emoticons = 1; IPSText::getTextClass('bbcode')->parsing_section = 'global'; $this->settings['ipschat_rules'] = IPSText::getTextClass('bbcode')->preDbParse($this->settings['ipschat_rules']); $this->settings['ipschat_rules'] = IPSText::getTextClass('bbcode')->preDisplayParse($this->settings['ipschat_rules']); $this->registry->output->addNavigation(IPSLib::getAppTitle('ipchat'), ''); $this->registry->output->setTitle(IPSLib::getAppTitle('ipchat') . ' - ' . $this->settings['board_name']); if ($this->request['_popup']) { $this->registry->output->popUpWindow($this->registry->getClass('output')->getTemplate('ipchat')->chatRules($this->settings['ipschat_rules'])); } else { $this->registry->output->addContent($this->registry->getClass('output')->getTemplate('ipchat')->chatRules($this->settings['ipschat_rules'])); $this->registry->output->sendOutput(); } }
/** * Return the tab title * * @return @e string */ public function getTabName() { return IPSLib::getAppTitle('forums'); }
/** * Class entry point * * @param object Registry reference * @return @e void [Outputs to screen] */ public function doExecute(ipsRegistry $registry) { //----------------------------------------- // Get supported applications //----------------------------------------- $supportedApps = array(); foreach (IPSLib::getEnabledApplications() as $app) { $file = IPSLib::getAppDir($app['app_directory']) . '/extensions/reputation.php'; if (is_file($file)) { require_once $file; /*maybeLibHook*/ if (class_exists('reputation_' . $app['app_directory'])) { $supportedApps[$app['app_directory']] = $app; } } } //----------------------------------------- // Get results //----------------------------------------- /* What is it we're getting? */ $app = (is_string($this->request['app_tab']) && !empty($this->request['app_tab']) and isset($supportedApps[$this->request['app_tab']])) ? $this->request['app_tab'] : 'forums'; /* Load our extension class */ $classToLoad = IPSLib::loadLibrary(IPSLib::getAppDir($app) . '/extensions/reputation.php', 'reputation_' . $app, $app); $reputationClass = new $classToLoad(); /* Get our query */ $_query = $reputationClass->fetch('most'); $PRE = trim(ipsRegistry::dbFunctions()->getPrefix()); /* Got something? */ if ($_query['inner']) { /* Build inner join */ $this->DB->build($_query['inner']); $inner = $this->DB->fetchSqlString(); $this->DB->flushQuery(); $this->DB->allow_sub_select = 1; $this->DB->query('SELECT * FROM ' . $PRE . "reputation_totals WHERE rt_app_type=MD5( CONCAT( '" . $app . "', ';', '" . $_query['type'] . "' ) ) AND rt_type_id IN (" . $inner . ") AND rt_total > 0 GROUP BY rt_key ORDER BY rt_total DESC LIMIT 0," . self::NUMBER_TO_SHOW); $this->DB->execute(); $typeIds = array(); $results = array(); $index = array(); while ($row = $this->DB->fetch()) { $typeIds[$row['rt_total'] . '.' . $row['rt_type_id']] = $row['rt_type_id']; $index[$row['rt_type_id']] = $row['rt_total'] . '.' . $row['rt_type_id']; } if (count($typeIds)) { $this->DB->build(array('select' => 'r.*', 'from' => array('reputation_index' => 'r'), 'where' => "r.app='" . $app . "' AND r.type='" . $_query['type'] . "' AND r.type_id IN (" . implode(',', array_values($typeIds)) . ")", 'group' => 'r.app, r.type, r.type_id', 'add_join' => $_query['joins'])); $e = $this->DB->execute(); while ($row = $this->DB->fetch($e)) { $results[$index[$row['type_id']]] = $reputationClass->process($row); } krsort($results); } } //----------------------------------------- // Output //----------------------------------------- /* Process Results */ $processedResults = count($results) ? $reputationClass->display($results) : ''; $this->lang->loadLanguageFile(array('public_profile'), 'members'); /* Setup page */ $langBit = ipsRegistry::$settings['reputation_point_types'] == 'like' ? 'most_rep_likes' : 'most_rep_rep'; $this->registry->output->setTitle($this->lang->words[$langBit] . ' - ' . IPSLib::getAppTitle($app)); $this->registry->output->addNavigation($this->lang->words[$langBit], NULL); /* Display processed results */ $this->registry->output->addContent($this->registry->getClass('output')->getTemplate('profile')->reputationPage($langBit, $app, $supportedApps, $processedResults)); $this->registry->output->sendOutput(); }
function __f__86eda080e0824e83ff75d3d07428ab4e($member, $currentApp = '', $type = '', $supportedApps = array(), $processedResults = '', $pagination = '') { $_ips___x_retval = ''; $__iteratorCount = 0; foreach ($supportedApps as $_app) { $__iteratorCount++; $_ips___x_retval .= "\n\t\t\t\t\t<li " . ($_app['app_directory'] == $currentApp ? "class='active'" : "") . ">\n\t\t\t\t\t\t<a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("showuser={$member['member_id']}&tab=reputation&app_tab={$_app['app_directory']}&type={$type}", "public", ''), "{$member['members_seo_name']}", "showuser") . "'>\n\t\t\t\t\t\t\t" . IPSLib::getAppTitle($_app['app_directory']) . "\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</li>\n\t\t\t\t\n"; } $_ips___x_retval .= ''; unset($__iteratorCount); return $_ips___x_retval; }
/** * Member editing screen * * @param array Member data * @param array Content * @param string Menu * @param array Notification data * @return string HTML */ public function member_view($member, $content, $menu, $notifications) { // Let's get to work..... :/ $_m_groups = array(); $_m_groups_others = array(); $member['_cache'] = @unserialize($member['members_cache']); foreach (ipsRegistry::cache()->getCache('group_cache') as $id => $data) { // If we are viewing our own profile, don't show non admin groups as a primary group option to prevent the user from // accidentally removing their own ACP access. Groups without ACP access can still be selected as secondary groups. if ($member['member_id'] == $this->memberData['member_id']) { //----------------------------------------- // If we can't access cp via primary group //----------------------------------------- if (!$this->caches['group_cache'][$member['member_group_id']]['g_access_cp']) { //----------------------------------------- // Can this group access cp? //----------------------------------------- if (!$data['g_access_cp']) { $_m_groups[] = array($data['g_id'], $data['g_title']); $_m_groups_others[] = array($data['g_id'], $data['g_title']); } else { $_m_groups_others[] = array($data['g_id'], $data['g_title']); } } else { if (!$data['g_access_cp']) { $_m_groups_others[] = array($data['g_id'], $data['g_title']); } else { $_m_groups[] = array($data['g_id'], $data['g_title']); $_m_groups_others[] = array($data['g_id'], $data['g_title']); } } } else { $_m_groups[] = array($data['g_id'], $data['g_title']); $_m_groups_others[] = array($data['g_id'], $data['g_title']); } } $years = array(array(0, '----')); $months = array(array(0, '--------')); $days = array(array(0, '--')); foreach (range(1, 31) as $_day) { $days[] = array($_day, $_day); } foreach (array_reverse(range(date('Y') - 100, date('Y'))) as $_year) { $years[] = array($_year, $_year); } foreach (range(1, 12) as $_month) { $months[] = array($_month, $this->lang->words['M_' . $_month]); } $time_zones = array(); foreach ($this->lang->words as $k => $v) { if (strpos($k, 'time_') === 0) { if (preg_match("/[\\-0-9]/", substr($k, 5))) { $offset = floatval(substr($k, 5)); $time_zones[] = array($offset, $v); } } } $languages = array(); foreach (ipsRegistry::cache()->getCache('lang_data') as $language) { $languages[] = array($language['lang_id'], $language['lang_title']); } $pm_options = array(0 => array(0, $this->lang->words['mem_edit_pm_no']), 1 => array(1, $this->lang->words['mem_edit_pm_yes']), 2 => array(2, $this->lang->words['mem_edit_pm_yes_really'])); $_skin_list = $this->registry->output->generateSkinDropdown(); array_unshift($_skin_list, array(0, $this->lang->words['sm_skinnone'])); $skinList = ipsRegistry::getClass('output')->formDropdown("skin", $_skin_list, $member['skin']); $sigHtmlChecked = $member['bw_html_sig'] ? 'checked="checked"' : ''; $form_member_group_id = ipsRegistry::getClass('output')->formDropdown("member_group_id", $_m_groups, $member['member_group_id']); $form_mgroup_others = ipsRegistry::getClass('output')->formMultiDropdown("mgroup_others[]", $_m_groups_others, explode(",", $member['mgroup_others']), 8, 'mgroup_others'); $form_title = ipsRegistry::getClass('output')->formInput("title", $member['title']); $form_warn = ipsRegistry::getClass('output')->formInput("warn_level", $member['warn_level']); $_form_year = ipsRegistry::getClass('output')->formDropdown("bday_year", $years, $member['bday_year']); $_form_month = ipsRegistry::getClass('output')->formDropdown("bday_month", $months, $member['bday_month']); $_form_day = ipsRegistry::getClass('output')->formDropdown("bday_day", $days, $member['bday_day']); $form_time_offset = ipsRegistry::getClass('output')->formDropdown("time_offset", $time_zones, $member['time_offset'] ? floatval($member['time_offset']) : 0); $form_auto_dst = ipsRegistry::getClass('output')->formCheckbox("dstCheck", $member['members_auto_dst'], 1, "dst", "onclick='toggle_dst()'"); $form_dst_now = ipsRegistry::getClass('output')->formCheckbox("dstOption", $member['dst_in_use'], 1, "dstManual"); $form_language = ipsRegistry::getClass('output')->formDropdown("language", $languages, $member['language']); $form_allow_admin_mails = ipsRegistry::getClass('output')->formYesNo("allow_admin_mails", $member['allow_admin_mails']); $form_members_disable_pm = ipsRegistry::getClass('output')->formDropdown("members_disable_pm", $pm_options, $member['members_disable_pm']); $form_view_sig = ipsRegistry::getClass('output')->formYesNo("view_sigs", $member['view_sigs']); $form_reputation_points = ipsRegistry::getClass('output')->formInput('pp_reputation_points', $member['pp_reputation_points']); $bw_no_status_update = ipsRegistry::getClass('output')->formYesNo("bw_no_status_update", $member['bw_no_status_update']); $bw_disable_customization = ipsRegistry::getClass('output')->formYesNo("bw_disable_customization", $member['bw_disable_customization']); $form_uploader = ipsRegistry::getClass('output')->formDropdown("member_uploader", array(array('flash', $this->lang->words['mem__flashuploader']), array('default', $this->lang->words['mem__defuploader'])), $member['member_uploader']); $form_popup = ipsRegistry::getClass('output')->formYesNo("show_notification_popup", $member['_cache']['show_notification_popup']); $form_autotrack = ipsRegistry::getClass('output')->formYesNo("auto_track", $member['auto_track'] ? 1 : 0); $form_autotrackmthd = ipsRegistry::getClass('output')->formDropdown("auto_track_method", array(array('none', $this->lang->words['mem__auto_none']), array('immediate', $this->lang->words['mem__auto_immediate']), array('offline', $this->lang->words['mem__auto_delayed']), array('daily', $this->lang->words['mem__auto_daily']), array('weekly', $this->lang->words['mem__auto_weekly'])), $member['auto_track']); $secure_key = ipsRegistry::getClass('adminFunctions')->getSecurityKey(); $ban_member_text = $member['member_banned'] ? $this->lang->words['sm_unban'] : $this->lang->words['sm_ban']; $spam_member_text = $member['bw_is_spammer'] ? $this->lang->words['sm_unspam'] : $this->lang->words['sm_spam']; $bw_disable_tagging = ipsRegistry::getClass('output')->formYesNo("bw_disable_tagging", $member['bw_disable_tagging']); $bw_disable_prefixes = ipsRegistry::getClass('output')->formYesNo("bw_disable_prefixes", $member['bw_disable_prefixes']); //----------------------------------------- // Comments and friends.. //----------------------------------------- $pp_visitors = ipsRegistry::getClass('output')->formYesNo("pp_setting_count_visitors", $member['pp_setting_count_visitors']); $pp_enable_comments = ipsRegistry::getClass('output')->formYesNo("pp_setting_count_comments", $member['pp_setting_count_comments']); $pp_enable_friends = ipsRegistry::getClass('output')->formYesNo("pp_setting_count_friends", $member['pp_setting_count_friends']); $_commentsApprove = array(array('0', $this->lang->words['sm_comments_app_none']), array('1', $this->lang->words['sm_comments_app_on'])); $_friendsApprove = array(array('0', $this->lang->words['sm_friends_app_none']), array('1', $this->lang->words['sm_friends_app_on'])); $pp_comments_approve = ipsRegistry::getClass('output')->formDropdown("pp_setting_moderate_comments", $_commentsApprove, $member['pp_setting_moderate_comments']); $pp_friends_approve = ipsRegistry::getClass('output')->formDropdown("pp_setting_moderate_friends", $_friendsApprove, $member['pp_setting_moderate_friends']); $suspend_date = ''; if ($member['temp_ban']) { $s_ban = IPSMember::processBanEntry($member['temp_ban']); $suspend_date = "<div class='warning'>" . $this->lang->words['member_supsended_til'] . ' ' . ipsRegistry::getClass('class_localization')->getDate($s_ban['date_end'], 'LONG', 1) . "</div>"; } $IPBHTML = ""; $IPBHTML .= <<<HTML <script type="text/javascript" src="{$this->settings['js_main_url']}acp.members.js"></script> <div class='section_title'> \t<h2>{$this->lang->words['editing_member']} {$member['members_display_name']}</h2> \t<ul class='context_menu'> HTML; if (IPSLib::appIsInstalled('nexus')) { $IPBHTML .= <<<HTML \t\t<li> \t\t\t<a href="{$this->settings['base_url']}app=nexus&module=customers&section=view&member_id={$member['member_id']}"> \t\t\t\t<img src='{$this->settings['skin_acp_url']}/images/icon_components/nexus.png' alt='{$this->lang->words['view_customer_data']}' /> \t\t\t\t{$this->lang->words['form_viewcustomer']} \t\t\t</a> \t\t</li> HTML; } if ($this->registry->getClass('class_permissions')->checkPermission('member_login', 'members', 'members')) { if (IPSMember::isInactive($member)) { $IPBHTML .= <<<HTML \t\t<li class='disabled'> \t\t\t<a href="#" onclick='alert("{$this->lang->words['member_login_ban_or_spam']}")'> \t\t\t\t<img src='{$this->settings['skin_acp_url']}/images/icons/key.png' alt='{$this->lang->words['member_login']}' /> \t\t\t\t{$this->lang->words['member_login']} \t\t\t</a> \t\t</li> HTML; } else { $IPBHTML .= <<<HTML \t\t<li> \t\t\t<a href="{$this->settings['base_url']}app=members&module=members&section=members&do=member_login&member_id={$member['member_id']}" target="_blank"> \t\t\t\t<img src='{$this->settings['skin_acp_url']}/images/icons/key.png' alt='{$this->lang->words['member_login']}' /> \t\t\t\t{$this->lang->words['member_login']} \t\t\t</a> \t\t</li> HTML; } } if ($member['member_id'] != $this->memberData['member_id']) { $IPBHTML .= <<<HTML \t\t<li> \t\t\t<a href='#' id='MF__ban2' title='{$this->lang->words['title_ban']}'> \t\t\t\t<img src='{$this->settings['skin_acp_url']}/images/icons/user_warn.png' alt='{$this->lang->words['title_ban']}' /> \t\t\t\t{$ban_member_text} \t\t\t</a> \t\t\t \t\t\t<script type='text/javascript'> \t\t\t\t\$('MF__ban2').observe('click', acp.members.banManager.bindAsEventListener( this, "app=members&module=ajax&section=editform&do=show&name=inline_ban_member&member_id={$member['member_id']}" ) ); \t\t\t</script> \t\t</li> HTML; } $IPBHTML .= <<<HTML \t\t<li> \t\t\t<a href='#' class='ipbmenu' id='member_tasks' title='{$this->lang->words['title_tasks']}'><img src='{$this->settings['skin_acp_url']}/images/icons/cog.png' /> {$this->lang->words['mem_tasks']} <img src='{$this->settings['skin_acp_url']}/images/useropts_arrow.png' /></a> \t\t</li> \t\t<li class='closed'> \t\t\t<a href="#" title='{$this->lang->words['title_delete']}' onclick="return acp.confirmDelete( '{$this->settings['base_url']}app=members&module=members&section=members&do=member_delete&member_id={$member['member_id']}')"> \t\t\t\t<img src='{$this->settings['skin_acp_url']}/images/icons/delete.png' alt='{$this->lang->words['title_delete']}' /> \t\t\t\t{$this->lang->words['form_deletemember']} \t\t\t</a> \t\t</li> \t</ul> </div> <ul class='ipbmenu_content' id='member_tasks_menucontent' style='display: none'> \t<li> \t\t<img src='{$this->settings['skin_acp_url']}/images/icons/flag_red.png' alt='{$spam_member_text}' /> <a style='text-decoration: none' href='{$this->settings['base_url']}&{$this->form_code}&do=toggleSpam&member_id={$member['member_id']}&secure_key={$secure_key}' title='{$this->lang->words['title_spam']}'>{$spam_member_text}</a> \t</li> HTML; if ($member['member_group_id'] == $this->settings['auth_group']) { $IPBHTML .= <<<HTML \t\t<li> \t\t\t<img src='{$this->settings['skin_acp_url']}/images/icons/tick.png' alt='{$this->lang->words['title_validate']}' /> <a style='text-decoration: none' href="{$this->settings['base_url']}app=members&module=members&section=tools&do=do_validating&mid_{$member['member_id']}=1&type=approve&_return={$member['member_id']}" title='{$this->lang->words['title_validate']}'>{$this->lang->words['button_validate']}</a> \t\t</li> HTML; } if (is_array($menu) and count($menu)) { foreach ($menu as $app => $link) { if (is_array($link) and count($link)) { foreach ($link as $alink) { $img = $alink['img'] ? $alink['img'] : $this->settings['skin_acp_url'] . '/images/icons/user.png'; if (stristr($alink['url'], '</a>') && stristr($alink['url'], '<a ')) { $IPBHTML .= <<<HTML \t\t\t\t\t\t<li><img src='{$img}' alt='-' /> {$alink['url']}</li> HTML; } else { $thisLink = $alink['js'] ? 'href="#" onclick="' . $alink['url'] . '"' : "href='{$this->settings['_base_url']}app={$app}&{$alink['url']}&member_id={$member['member_id']}'"; $IPBHTML .= <<<HTML \t\t\t\t\t\t<li><img src='{$img}' alt='-' /> <a {$thisLink} style='text-decoration: none' >{$alink['title']}</a></li> HTML; } } } } } $IPBHTML .= <<<HTML </ul> {$suspend_date} <br style='clear: both' /> HTML; $_public = PUBLIC_DIRECTORY; $IPBHTML .= <<<HTML <div class='acp-box'> <form style='display:block' action='{$this->settings['base_url']}&{$this->form_code}&do=member_edit&member_id={$member['member_id']}&secure_key={$secure_key}' method='post'> <h3>{$this->lang->words['editing_member']}</h3> <div id='tabstrip_members' class='ipsTabBar with_left with_right'> \t<span class='tab_left'>«</span> \t<span class='tab_right'>»</span> \t<ul> \t\t<li id='tab_MEMBERS_1'>{$this->lang->words['mem_tab_basics']}</li> \t\t<li id='tab_MEMBERS_2'>{$this->lang->words['mem_tab_profile']}</li> \t\t<li id='tab_MEMBERS_3'>{$this->lang->words['mem_tab_notifications']}</li> HTML; // Got blocks from other apps? $IPBHTML .= implode("\n", $content['tabs']); if ($this->settings['auth_allow_dnames']) { $display_name = <<<HTML \t\t\t<tr> \t\t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['mem_display_name']}</strong></td> \t\t\t\t<td class='field_field'> \t\t\t\t\t<span class='member_detail' id='MF__member_display_name'>{$member['members_display_name']}</span> \t\t\t\t\t<a class='change_icon' id='MF__member_display_name_popup' href='' style='cursor:pointer' title='{$this->lang->words['title_display_name']}'>{$this->lang->words['mem_change_button']}</a> \t\t\t\t\t \t\t\t\t\t<script type='text/javascript'> \t\t\t\t\t\t\$('MF__member_display_name_popup').observe('click', acp.members.editField.bindAsEventListener( this, 'MF__member_display_name', "{$this->lang->words['sm_display']}", "app=members&module=ajax&section=editform&do=show&name=inline_form_display_name&member_id={$member['member_id']}" ) ); \t\t\t\t\t</script> \t\t\t\t</td> \t\t\t</tr> HTML; } else { $display_name = ''; } /* Facebook doesn't pass a size, so in IPB we get around that by passing * as a width. This confuses the form here, so.. */ $_pp_box_width = ($member['pp_main_width'] == '*' or $member['pp_main_width'] < 100) ? '100' : $member['pp_main_width']; $_pp_max_width = $member['pp_main_width'] == '*' ? ';max-width:100px' : ''; $IPBHTML .= <<<HTML </ul> </div> <div id='tabstrip_members_content' class='ipsTabBar_content'> \t<div id='tab_MEMBERS_1_content' class='row1'> \t\t<div style='float: left; width: 70%'> \t\t\t<table class='ipsTable double_pad'> \t\t\t\t{$display_name} \t\t\t\t<tr> \t\t\t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['mem_login_name']}</strong></td> \t\t\t\t\t<td class='field_field'> \t\t\t\t\t\t<span class='member_detail' id='MF__name'>{$member['name']}</span> \t\t\t\t\t\t<a href='' class='change_icon' style='cursor:pointer' id='MF__name_popup' title='{$this->lang->words['title_login_name']}'>{$this->lang->words['mem_change_button']}</a> \t\t\t\t\t\t<script type='text/javascript'> \t\t\t\t\t\t\t\$('MF__name_popup').observe('click', acp.members.editField.bindAsEventListener( this, 'MF__name', "{$this->lang->words['sm_loginname']}", "app=members&module=ajax&section=editform&do=show&name=inline_form_name&member_id={$member['member_id']}" ) ); \t\t\t\t\t\t</script> \t\t\t\t\t</td> \t\t\t\t</tr> \t\t\t\t<tr> \t\t\t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['mem_password']}</strong></td> \t\t\t\t\t<td class='field_field'> \t\t\t\t\t\t \t\t\t\t\t\t<span class='member_detail' id='MF__password'>************</span> \t\t\t\t\t\t<a href='' class='change_icon' style='cursor:pointer' id='MF__password_popup' title='{$this->lang->words['title_password']}'>{$this->lang->words['mem_change_button']}</a> \t\t\t\t\t\t<script type='text/javascript'> \t\t\t\t\t\t\t\$('MF__password_popup').observe('click', acp.members.editField.bindAsEventListener( this, 'MF__password', "{$this->lang->words['sm_password']}", "app=members&module=ajax&section=editform&do=show&name=inline_password&member_id={$member['member_id']}" ) ); \t\t\t\t\t\t</script> \t\t\t\t\t</td> \t\t\t\t</tr> \t\t\t\t<tr> \t\t\t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['mem_email']}</strong></td> \t\t\t\t\t<td class='field_field'> \t\t\t\t\t\t<span class='member_detail' id='MF__email'>{$member['email']}</span> \t\t\t\t\t\t<a href='' class='change_icon' style='cursor:pointer' id='MF__email_popup' title='{$this->lang->words['title_email']}'>{$this->lang->words['mem_change_button']}</a> \t\t\t\t\t\t<script type='text/javascript'> \t\t\t\t\t\t\t\$('MF__email_popup').observe('click', acp.members.editField.bindAsEventListener( this, 'MF__email', "{$this->lang->words['sm_email']}", "app=members&module=ajax&section=editform&do=show&name=inline_email&member_id={$member['member_id']}" ) ); \t\t\t\t\t\t</script> \t\t\t\t\t</td> \t\t\t\t</tr> \t\t\t\t<tr> \t\t\t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['mem_form_title']}</strong></td> \t\t\t\t\t<td class='field_field'> \t\t\t\t\t\t<span id='MF__title'>{$form_title}</span> \t\t\t\t\t</td> \t\t\t\t</tr> \t\t\t\t<tr> \t\t\t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['mem_p_group']}</strong></td> \t\t\t\t\t<td class='field_field'> \t\t\t\t\t\t<span id='MF__member_group_id'>{$form_member_group_id}</span> \t\t\t\t\t</td> \t\t\t\t</tr> \t\t\t\t<tr> \t\t\t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['mem_s_group']}</strong></td> \t\t\t\t\t<td class='field_field'> \t\t\t\t\t\t<span id='MF__mgroup_others'>{$form_mgroup_others}</span> \t\t\t\t\t</td> \t\t\t\t</tr> \t\t\t\t<tr> \t\t\t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['mem_warn_level']}</strong></td> \t\t\t\t\t<td class='field_field'>\t\t \t\t\t\t\t\t<span id='MF__warn_level'>{$form_warn}</span> <a href='#' onclick="return acp.openWindow('{$this->settings['board_url']}/index.php?app=members&module=profile&section=warnings&member={$member['member_id']}','980','600'); return false;" title='{$this->lang->words['sm_viewnotes']}'><img src='{$this->settings['skin_acp_url']}/images/icons/view.png' alt='{$this->lang->words['sm_viewnotes']}' /></a> \t\t\t\t\t</td> \t\t\t\t </tr> \t\t\t</table> \t\t</div> \t\t<div class='acp-sidebar'> \t\t\t<div style='width:{$_pp_box_width}px; max-width: 125px;' id='MF__pp_photo_container'> \t\t\t\t<img id='MF__pp_photo' src="{$member['pp_main_photo']}" style='{$_pp_max_width};max-width:125px' /> \t\t\t\t<br /> \t\t\t\t<ul class='photo_options'> HTML; if ($member['_has_photo']) { $IPBHTML .= <<<HTML \t\t\t\t<li><a style='float:none;width:auto;text-align:center;cursor:pointer' id='MF__removephoto' title='{$this->lang->words['mem_remove_photo']}'><img src='{$this->settings['skin_acp_url']}/images/picture_delete.png' alt='{$this->lang->words['mem_remove_photo']}' /></a></li> \t\t\t\t<li><a style='float:none;width:auto;text-align:center;cursor:pointer' id='MF__newphoto' title='{$this->lang->words['sm_uploadnew']}'><img src='{$this->settings['skin_acp_url']}/images/picture_add.png' alt='{$this->lang->words['sm_uploadnew']}' /></a></li> HTML; } else { $IPBHTML .= <<<HTML \t\t\t\t<li><a style='float:none;width:auto;text-align:center;cursor:pointer' id='MF__newphoto' title='{$this->lang->words['sm_uploadnew']}'><img src='{$this->settings['skin_acp_url']}/images/picture_add.png' alt='{$this->lang->words['sm_uploadnew']}' /></a></li> HTML; } $IPBHTML .= <<<HTML \t\t\t\t</ul> \t\t\t\t<script type='text/javascript'> \t\t\t\t\t\$('MF__newphoto').observe('click', acp.members.newPhoto.bindAsEventListener( this, "app=members&module=ajax&section=editform&do=show&name=inline_form_new_photo&member_id={$member['member_id']}" ) ); \t\t\t\t</script> \t\t\t</div> \t\t\t \t\t\t<div class='sidebar_box'> \t\t\t\t<ul> \t\t\t\t\t<li><strong>{$this->lang->words['mem_joined']}:</strong> <span>{$member['_joined']}</span></li> \t\t\t\t\t<li><strong>{$this->lang->words['mem_ip_address_f']}:</strong> <span><a href='{$this->settings['base_url']}&module=members&section=tools&do=learn_ip&ip={$member['ip_address']}' title='{$this->lang->words['mem_ip_title']}'>{$member['ip_address']}</a></span></li> \t\t\t\t</ul> \t\t\t</div> \t\t</div> \t\t<div style='clear: both;'></div> \t</div> HTML; $IPBHTML .= <<<HTML \t<!-- PROFILE PANE--> \t<div id='tab_MEMBERS_2_content'> \t<table class='ipsTable double_pad'> \t\t<tr> \t\t\t<th colspan='2'>{$this->lang->words['sm_settings']}</th> \t\t</tr> \t\t<tr> \t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['sm_timeoffset']}</strong></td> \t\t\t<td class='field_field'> \t\t\t\t<span id='MF__time_offset'>{$form_time_offset}</span> \t\t\t\t<div class='ipsPad_top_slimmer'>{$form_auto_dst} <label for='dst'>{$this->lang->words['sm_dst_auto']}</label></div> \t\t\t\t<div class='ipsPad_top_slimmer' id='dst-manual'>{$form_dst_now} <label for='dstManual'>{$this->lang->words['sm_dst_now']}</label></div> \t\t\t</td> \t\t</tr> \t\t<tr> \t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['sm_langchoice']}</strong></td> \t\t\t<td class='field_field'> \t\t\t\t<span id='MF__language'>{$form_language}</span> \t\t\t</td> \t\t</tr> \t\t<tr> \t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['sm_skinchoice']}</strong></td> \t\t\t<td class='field_field'> \t\t\t\t<span id='MF__skin'> \t\t\t\t\t{$skinList} \t\t\t\t</span> \t\t\t</td> \t\t</tr> \t\t<tr> \t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['sm_uploaderchoice']}</strong></td> \t\t\t<td class='field_field'> \t\t\t\t<span id='MF__uploader'> \t\t\t\t\t{$form_uploader} \t\t\t\t</span> \t\t\t</td> \t\t</tr> \t\t<tr> \t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['sm_viewsig']}</strong></td> \t\t\t<td class='field_field'> \t\t\t\t<span id='MF__view_sig'>{$form_view_sig}</span> \t\t\t</td> \t\t</tr> \t\t<tr> \t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['bw_disable_customization']}</strong></td> \t\t\t<td class='field_field'> \t\t\t\t<span>{$bw_disable_customization}</span> \t\t\t\t<div class='ipsPad_top_slimmer'><input type="checkbox" name="removeCustomization" value="1" /> {$this->lang->words['remove_custom_stuff']} \t\t\t</td> \t\t</tr> \t\t<tr> \t\t\t<th colspan='2'>{$this->lang->words['mf_t_tagging']}<!--You're it--></th> \t\t</tr> \t \t<tr> \t \t\t<td class='field_title'><strong class='title'>{$this->lang->words['bw_disable_tagging']}</strong></td> \t \t\t<td class='field_field'> \t \t\t\t{$bw_disable_tagging}<br /> \t\t\t\t<span class='desctext'>{$this->lang->words['bw_disable_tagging_desc']}</span> \t \t\t</td> \t \t</tr> \t \t<tr> \t \t\t<td class='field_title'> \t \t\t\t<strong class='title'>{$this->lang->words['bw_disable_prefixes']}</strong></td> \t \t\t</td> \t \t\t<td class='field_field'> \t \t\t\t{$bw_disable_prefixes}<br /> \t\t\t\t<span class='desctext'>{$this->lang->words['bw_disable_prefixesm_desc']}</span> \t \t\t</td> \t \t</tr> \t\t<tr> \t\t\t<th colspan='2'>{$this->lang->words['sm_profile']}</th> \t\t</tr> \t\t<tr> \t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['sm_bday']}</strong></td> \t\t\t<td class='field_field'> \t\t\t\t<span id='MF__birthday'>{$_form_month} {$_form_day} {$_form_year}</span> \t\t\t</td> \t\t</tr> \t\t<tr> \t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['frm_no_status']}</strong></td> \t\t\t<td class='field_field'> \t\t\t\t<span id='MF__frm_no_status'>{$bw_no_status_update}</span> \t\t\t</td> \t\t</tr> \t\t<tr> \t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['sm_reputation']}</strong></td> \t\t\t<td class='field_field'> \t\t\t\t<span id='MF__pp_reputation_points'> \t\t\t\t\t{$form_reputation_points} \t\t\t\t</span> \t\t\t</td> \t\t</tr> \t\t<tr> \t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['sm_latest_visitors']}</strong></td> \t\t\t<td class='field_field'> \t\t\t\t<span id='MF__visitors'>{$pp_visitors}</span> \t\t\t</td> \t\t</tr> \t\t<tr> \t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['sm_enable_comments']}</strong></td> \t\t\t<td class='field_field'> \t\t\t\t<span id='MF__profile_comments'>{$pp_enable_comments}</span> \t\t\t</td> \t\t</tr> \t\t<tr> \t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['sm_approve_comments']}</strong></td> \t\t\t<td class='field_field'> \t\t\t\t<span id='MF__comments_approve'>{$pp_comments_approve}</span> \t\t\t</td> \t\t</tr> \t\t<tr> \t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['sm_friends_profile']}</strong></td> \t\t\t<td class='field_field'> \t\t\t\t<span id='MF__profile_friends'>{$pp_enable_friends}</span> \t\t\t</td>\t\t\t\t\t\t \t\t</tr> \t\t<tr> \t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['sm_approve_friends']}</strong></td> \t\t\t<td class='field_field'> \t\t\t\t<span id='MF__friends_approve'>{$pp_friends_approve}</span> \t\t\t</td>\t\t\t\t\t\t \t\t</tr> \t</table> HTML; if (is_array($member['custom_fields']) and count($member['custom_fields'])) { $IPBHTML .= <<<HTML \t<table class='ipsTable double_pad'> \t\t<tr> \t\t\t<th colspan='2'>{$this->lang->words['sm_custom']}</th> \t\t</tr> HTML; foreach ($member['custom_fields'] as $_id => $_data) { $IPBHTML .= <<<HTML \t\t<tr> \t\t\t<td class='field_title'><strong class='title'>{$_data['name']}</strong></td> \t\t\t<td class='field_field'> \t\t\t\t<span id='custom_fields_{$_id}'>{$_data['data']}</span> \t\t\t</td> \t\t</tr> HTML; } $IPBHTML .= <<<HTML \t</table> HTML; } $IPBHTML .= <<<HTML \t<!-- / CUSTOM FIELDS PANE --> \t \t<!-- SIGNATURE--> \t<table class='ipsTable double_pad'> \t\t<tr> \t\t\t<th colspan='2'>{$this->lang->words['sm_sigtab']}</th> \t\t</tr> \t\t<tr> \t\t\t<td> \t\t\t\t<div class='tablerow1 has_editor'> \t\t\t\t\t<div class='editor'> \t\t\t\t\t\t{$member['signature_editor']} \t\t\t\t\t\t<br /> \t\t\t\t\t\t<input type="checkbox" name="bw_html_sig" class="input_check" value="1" id='bw_html_sig' {$sigHtmlChecked} /> {$this->lang->words['sig_is_html']} \t\t\t\t\t\t<script type="text/javascript"> \t\t\t\t\t\t\tipb.textEditor.bindHtmlCheckbox( \$('bw_html_sig') ); \t\t\t\t\t\t</script> \t\t\t\t\t</div> \t\t\t\t</div> \t\t\t</td> \t\t</tr> \t</table> \t<!-- / SIGNATURE--> \t\t \t<!-- ABOUT ME--> \t<table class='ipsTable double_pad'> \t\t<tr> \t\t\t<th>{$this->lang->words['sm_abouttab']}</th> \t\t</tr> \t\t<tr> \t\t\t<td> \t\t\t\t<div class='tablerow1 has_editor'> \t\t\t\t\t<div class='editor'> \t\t\t\t\t\t{$member['aboutme_editor']} \t\t\t\t\t</div> \t\t\t\t</div> \t\t\t</td> \t\t</tr> \t</table> \t<!-- / ABOUT ME--> \t \t</div> \t<div id='tab_MEMBERS_3_content'> \t\t<table class='ipsTable double_pad'> \t\t\t<tr> \t\t\t\t<th colspan='2'>{$this->lang->words['memt_privacysettings']}</th> \t\t\t</tr> \t\t\t<tr> \t\t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['sm_allowadmin']}</strong></td> \t\t\t\t<td class='field_field'> \t\t\t\t\t<span id='MF__allow_admin_mails'>{$form_allow_admin_mails}</span> \t\t\t\t</td> \t\t\t</tr> \t\t\t<tr> \t\t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['sm_disablepm']}</strong></td> \t\t\t\t<td class='field_field'> \t\t\t\t\t<span id='MF__members_disable_pm'>{$form_members_disable_pm}</span> \t\t\t\t</td> \t\t\t</tr> \t\t\t<tr> \t\t\t\t<th colspan='2'>{$this->lang->words['memt_boardprefs']}</th> \t\t\t</tr> \t\t\t<tr> \t\t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['show_notification_popup']}</strong></td> \t\t\t\t<td class='field_field'> \t\t\t\t\t<span id='MF__xxx'>{$form_popup}</span> \t\t\t\t</td> \t\t\t</tr> \t\t\t<tr> \t\t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['auto_track']}</strong></td> \t\t\t\t<td class='field_field'> \t\t\t\t\t<span id='MF__xxx'>{$form_autotrack}</span> \t\t\t\t</td> \t\t\t</tr> \t\t\t<tr> \t\t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['auto_track_type']}</strong></td> \t\t\t\t<td class='field_field'> \t\t\t\t\t<span id='MF__xxx'>{$form_autotrackmthd}</span> \t\t\t\t</td> \t\t\t</tr> \t\t</table> HTML; $notifyGroups = array('topics_posts' => array('new_topic', 'new_reply', 'post_quoted'), 'status_updates' => array('reply_your_status', 'reply_any_status', 'friend_status_update'), 'profiles_friends' => array('profile_comment', 'profile_comment_pending', 'friend_request', 'friend_request_pending', 'friend_request_approve'), 'private_msgs' => array('new_private_message', 'reply_private_message', 'invite_private_message')); $IPBHTML .= <<<HTML \t<table class='ipsTable double_pad'> \t\t<tr> \t\t\t<th width='20%'> </th> \t\t\t<th width='20%' style='text-align: center'>{$this->lang->words['notify_type_email']}</th> \t\t\t<th width='20%' style='text-align: center'>{$this->lang->words['notify_type_inline']}</th> \t\t\t<th width='20%' style='text-align: center'>{$this->lang->words['notify_type_mobile']}</th> \t\t</tr> HTML; foreach ($notifyGroups as $groupKey => $group) { $IPBHTML .= <<<HTML \t\t\t<th colspan='4'> \t\t\t\t{$this->lang->words['notifytitle_' . $groupKey]} \t\t\t</th> HTML; foreach ($group as $key) { if ($notifications[$key]) { $IPBHTML .= <<<HTML \t\t\t\t\t<tr> \t\t\t\t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['notify__' . $key]}</strong></td> \t\t\t\t\t\t<td align='center'> HTML; if (isset($notifications[$key]['options']['email'])) { $_disabled = $notifications[$key]['disabled'] ? " disabled='disabled'" : ''; $_selected = (is_array($notifications[$key]['defaults']) and in_array('email', $notifications[$key]['defaults'])) ? " checked='checked'" : ''; $IPBHTML .= <<<HTML \t\t\t\t\t\t\t\t<input type='checkbox' class='input_check' id='email_{$key}' name="config_{$key}[]" value="email"{$_selected}{$_disabled} /> HTML; } else { $IPBHTML .= <<<HTML \t\t\t\t\t\t\t\t<input type='checkbox' class='input_check' name='' disabled='disabled' /> HTML; } $IPBHTML .= <<<HTML \t\t\t\t\t\t</td> \t\t\t\t\t\t<td align='center'> HTML; if (isset($notifications[$key]['options']['inline'])) { $_disabled = $notifications[$key]['disabled'] ? " disabled='disabled'" : ''; $_selected = (is_array($notifications[$key]['defaults']) and in_array('inline', $notifications[$key]['defaults'])) ? " checked='checked'" : ''; $IPBHTML .= <<<HTML \t\t\t\t\t\t\t\t<input type='checkbox' class='input_check' id='inline_{$key}' name="config_{$key}[]" value="inline"{$_selected}{$_disabled} /> HTML; } else { $IPBHTML .= <<<HTML \t\t\t\t\t\t\t\t<input type='checkbox' class='input_check' name='' disabled='disabled' /> HTML; } $IPBHTML .= <<<HTML \t\t\t\t\t\t</td> \t\t\t\t\t\t<td align='center'> HTML; if (isset($notifications[$key]['options']['mobile'])) { $_disabled = $notifications[$key]['disabled'] ? " disabled='disabled'" : ''; $_selected = (is_array($notifications[$key]['defaults']) and in_array('mobile', $notifications[$key]['defaults'])) ? " checked='checked'" : ''; $IPBHTML .= <<<HTML \t\t\t\t\t\t\t\t<input type='checkbox' class='input_check' id='mobile_{$key}' name="config_{$key}[]" value="mobile"{$_selected}{$_disabled} /> HTML; } else { $IPBHTML .= <<<HTML \t\t\t\t\t\t\t\t<input type='checkbox' class='input_check' name='' disabled='disabled' /> HTML; } $IPBHTML .= <<<HTML \t\t\t\t\t\t</td> \t\t\t\t\t</tr> HTML; $notifications[$key]['_done'] = 1; } } } $_lastApp = ''; foreach ($notifications as $key => $_config) { if (!isset($_config['_done']) && $_config['_done'] != 1) { if ($_lastApp != $_config['app']) { $_title = $_config['app'] == 'core' ? $this->lang->words['notifytitle_other'] : IPSLib::getAppTitle($_config['app']); $_lastApp = $_config['app']; $IPBHTML .= <<<HTML \t\t\t<th colspan='4'> \t\t\t\t{$_title} \t\t\t</th> HTML; } $IPBHTML .= <<<HTML \t\t\t\t<tr> \t\t\t\t\t<td class='field_title'><strong class='title'>{$this->lang->words['notify__' . $_config['key']]}</strong></td> \t\t\t\t\t<td align='center'> HTML; if (isset($_config['options']['email'])) { $_disabled = $_config['disabled'] ? " disabled='disabled'" : ''; $_selected = (is_array($_config['defaults']) and in_array('email', $_config['defaults'])) ? " checked='checked'" : ''; $IPBHTML .= <<<HTML \t\t\t\t\t\t\t\t<input type='checkbox' class='input_check' id='email_{$key}' name="config_{$key}[]" value="email"{$_selected}{$_disabled} /> HTML; } else { $IPBHTML .= <<<HTML \t\t\t\t\t\t\t\t<input type='checkbox' class='input_check' name='' disabled='disabled' /> HTML; } $IPBHTML .= <<<HTML \t\t\t\t\t</td> \t\t\t\t\t<td align='center'> HTML; if (isset($_config['options']['inline'])) { $_disabled = $_config['disabled'] ? " disabled='disabled'" : ''; $_selected = (is_array($_config['defaults']) and in_array('inline', $_config['defaults'])) ? " checked='checked'" : ''; $IPBHTML .= <<<HTML \t\t\t\t\t\t\t<input type='checkbox' class='input_check' id='inline_{$key}' name="config_{$key}[]" value="inline"{$_selected}{$_disabled} /> HTML; } else { $IPBHTML .= <<<HTML \t\t\t\t\t\t\t<input type='checkbox' class='input_check' name='' disabled='disabled' /> HTML; } $IPBHTML .= <<<HTML \t\t\t\t\t</td> \t\t\t\t\t<td align='center'> HTML; if (isset($_config['options']['mobile'])) { $_disabled = $_config['disabled'] ? " disabled='disabled'" : ''; $_selected = (is_array($_config['defaults']) and in_array('mobile', $_config['defaults'])) ? " checked='checked'" : ''; $IPBHTML .= <<<HTML \t\t\t\t\t\t\t<input type='checkbox' class='input_check' id='mobile_{$key}' name="config_{$key}[]" value="mobile"{$_selected}{$_disabled} /> HTML; } else { $IPBHTML .= <<<HTML \t\t\t\t\t\t\t<input type='checkbox' class='input_check' name='' disabled='disabled' /> HTML; } $IPBHTML .= <<<HTML \t\t\t\t\t</td> \t\t\t\t</tr> HTML; } } $IPBHTML .= <<<HTML \t</table> </div> HTML; // Got blocks from other apps? $IPBHTML .= implode("\n", $content['area']); $IPBHTML .= <<<HTML </div> \t<div class='acp-actionbar'> \t\t<input class='button primary' type='submit' value='{$this->lang->words['sm_savebutton']}' /> \t</div> </div> <script type='text/javascript'> \tjQ("#tabstrip_members").ipsTabBar({tabWrap: "#tabstrip_members_content"}); </script> </form> </div> <script type='text/javascript'>\t \tif( \$('MF__removephoto') ) \t{ \t\t\$('MF__removephoto').observe( 'click', acp.members.removePhoto.bindAsEventListener( this, '{$member['member_id']}' ) ); \t} </script> <script type="text/javascript"> function toggle_dst() { \tif ( \$( 'dst' ) ) \t{ \t\tif ( \$( 'dst' ).checked ){ \t\t\t\$( 'dst-manual' ).hide(); \t\t} else { \t\t\t\$( 'dst-manual' ).show(); \t\t} \t} } toggle_dst(); </script> HTML; return $IPBHTML; }
/** * Main class entry point * * @param object ipsRegistry reference * @return @e 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§ion=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? //----------------------------------------- IPSLib::loadInterface('interface_usercp.php'); $EXT_DIR = IPSLib::getAppDir($_TAB) . '/extensions'; if (!is_file($EXT_DIR . '/usercpForms.php')) { $this->registry->getClass('output')->showError('usercp_bad_tab', 10147); exit; } //----------------------------------------- // Cycle through applications and load // usercpForm extensions //----------------------------------------- foreach (IPSLib::getEnabledApplications() as $app_dir => $app_data) { $ext_dir = IPSLib::getAppDir($app_dir) . '/extensions'; // Make sure the extension exists if (!is_file($ext_dir . '/usercpForms.php')) { continue; } $__class = IPSLib::loadLibrary($ext_dir . '/usercpForms.php', 'usercpForms_' . $app_dir, $app_dir); if (!class_exists($__class)) { continue; } $_usercp_module = new $__class(); /* Block based on version to prevent old files showing up/causing an error */ if (!$_usercp_module->version or $_usercp_module->version < 32) { continue; } $_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]['_menu'] = $_usercp_module->getLinks(); /* Got any links? */ if (!is_array($tabs[$app_dir]['_menu']) || !count($tabs[$app_dir]['_menu'])) { unset($tabs[$app_dir]); continue; } /* Get title */ $tabs[$app_dir]['_name'] = $_usercp_module->tab_name ? $_usercp_module->tab_name : IPSLib::getAppTitle($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&module=usercp&tab=' . $_TAB . '&area=' . $_AREA, $_navData['title']); } } } } } //----------------------------------------- // Set up basic navigation //----------------------------------------- $this->_nav[] = array($this->lang->words['t_title'], '&app=core&module=usercp'); $this->_nav[] = array($this->lang->words['tab__' . $_TAB] ? $this->lang->words['tab__' . $_TAB] : IPSLib::getAppTitle($_TAB), '&app=core&module=usercp&tab=' . $_TAB); if (isset($_thisNav[0])) { $this->_nav[] = array($_thisNav[1], $_thisNav[0]); } //----------------------------------------- // Begin initilization routine for extension //----------------------------------------- $classToLoad = IPSLib::loadLibrary($EXT_DIR . '/usercpForms.php', 'usercpForms_' . $_TAB, $_TAB); $usercp_module = new $classToLoad(); $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 //----------------------------------------- $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->lang->words['pagetitle_bit']} : " . $this->_pageTitle . ' - ' . $this->settings['board_name'] : "{$this->lang->words['pagetitle_bit']} - " . $this->settings['board_name']); $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(); }
/** * Work out page title */ protected function makeLinkText($qs) { $matches = array(); if ($qs == '') { return 'Board index'; } elseif (preg_match('/showtopic\\=([0-9]+)/', $qs, $matches)) { return 'Topic: ' . $this->getContentTitle('title', 'topics', 'tid = ' . intval($matches[1])); } elseif (preg_match('/showforum\\=([0-9]+)/', $qs, $matches)) { return 'Forum: ' . $this->getContentTitle('name', 'forums', 'id = ' . intval($matches[1])); } elseif (preg_match('/showuser\\=([0-9]+)/', $qs, $matches)) { return 'User: '******'members_display_name', 'members', 'member_id = ' . intval($matches[1])); } elseif (preg_match('/entry\\=([0-9]+)/', $qs, $matches)) { return 'Blog Entry: ' . $this->getContentTitle('entry_name', 'blog_entries', 'entry_id = ' . intval($matches[1])); } elseif (preg_match('/blogid\\=([0-9]+)/', $qs, $matches)) { return 'Blog: ' . $this->getContentTitle('blog_name', 'blog_blogs', 'blog_id = ' . intval($matches[1])); } elseif (preg_match('/showfile\\=([0-9]+)/', $qs, $matches)) { return 'Download: ' . $this->getContentTitle('file_name', 'downloads_files', 'file_id = ' . intval($matches[1])); } elseif (preg_match('/app=downloads(.*)showcat\\=([0-9]+)/', $qs, $matches)) { return 'Download: ' . $this->getContentTitle('cname', 'downloads_categories', 'cid = ' . intval($matches[2])); } elseif (preg_match('/app=sitemap(.*)sitemap\\=(.*)$/', $qs, $matches)) { return 'Sitemap: ' . IPSText::parseCleanValue($matches[2]); } elseif (preg_match('/app=seo(.*)sitemap\\=(.*)$/', $qs, $matches)) { return 'Sitemap: ' . IPSText::parseCleanValue($matches[2]); } elseif (preg_match('/app=ipseo(.*)sitemap\\=(.*)$/', $qs, $matches)) { return 'Sitemap: ' . IPSText::parseCleanValue($matches[2]); } else { foreach (ipsRegistry::$applications as $appDir => $appData) { if (preg_match("/app\\={$appDir}/", $qs)) { return IPSLib::getAppTitle($appDir, true) ? IPSLib::getAppTitle($appDir, true) : IPSLib::getAppTitle($appDir); } } } return 'Unknown'; }
/** * 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§ion=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&module=usercp&tab=' . $_TAB . '&area=' . $_AREA, $_navData['title']); } } } } } } } //----------------------------------------- // Set up basic navigation //----------------------------------------- $this->_nav[] = array($this->lang->words['t_title'], '&app=core&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(); }
function searchResultsWrapper($results, $sortDropDown, $sortIn, $pagination, $total, $showing, $search_term, $url_string, $current_key, $removed_search_terms = array(), $limited = 0, $wasLimited = false, $search_tags) { $IPBHTML = ""; if (IPSLib::locationHasHooks('skin_search', $this->_funcHooks['searchResultsWrapper'])) { $count_7b018359a3195e8a366642bc7a0440b2 = is_array($this->functionData['searchResultsWrapper']) ? count($this->functionData['searchResultsWrapper']) : 0; $this->functionData['searchResultsWrapper'][$count_7b018359a3195e8a366642bc7a0440b2]['results'] = $results; $this->functionData['searchResultsWrapper'][$count_7b018359a3195e8a366642bc7a0440b2]['sortDropDown'] = $sortDropDown; $this->functionData['searchResultsWrapper'][$count_7b018359a3195e8a366642bc7a0440b2]['sortIn'] = $sortIn; $this->functionData['searchResultsWrapper'][$count_7b018359a3195e8a366642bc7a0440b2]['pagination'] = $pagination; $this->functionData['searchResultsWrapper'][$count_7b018359a3195e8a366642bc7a0440b2]['total'] = $total; $this->functionData['searchResultsWrapper'][$count_7b018359a3195e8a366642bc7a0440b2]['showing'] = $showing; $this->functionData['searchResultsWrapper'][$count_7b018359a3195e8a366642bc7a0440b2]['search_term'] = $search_term; $this->functionData['searchResultsWrapper'][$count_7b018359a3195e8a366642bc7a0440b2]['url_string'] = $url_string; $this->functionData['searchResultsWrapper'][$count_7b018359a3195e8a366642bc7a0440b2]['current_key'] = $current_key; $this->functionData['searchResultsWrapper'][$count_7b018359a3195e8a366642bc7a0440b2]['removed_search_terms'] = $removed_search_terms; $this->functionData['searchResultsWrapper'][$count_7b018359a3195e8a366642bc7a0440b2]['limited'] = $limited; $this->functionData['searchResultsWrapper'][$count_7b018359a3195e8a366642bc7a0440b2]['wasLimited'] = $wasLimited; $this->functionData['searchResultsWrapper'][$count_7b018359a3195e8a366642bc7a0440b2]['search_tags'] = $search_tags; } $i = 0; if (IPSLib::appIsSearchable('forums', 'search')) { $i++; } if (IPSLib::appIsSearchable('members', 'search')) { $i++; } if (IPSLib::appIsInstalled('blog') && IPSLib::appIsSearchable('blog', 'search')) { $i++; } if (IPSLib::appIsInstalled('gallery') && IPSLib::appIsSearchable('gallery', 'search')) { $i++; } switch ($i) { case 3: $classname = 'three_'; break; case 4: $classname = 'four_'; break; case 2: $classname = 'two_'; break; default: $classname = 'one_'; break; } $IPBHTML .= "<div class='master_list'>\n\t<h2>" . (($total > 0 and $search_term != '') ? "{$total} " : "") . "{$this->lang->words['search_results']}</h2>\n\t\n\t<div class='ipsFilterBar {$classname}filters clearfix' id='vnc_filters'>\n\t\t<ul>\n\t\t\t" . (!$search_tags && IPSLib::appIsSearchable('forums', 'search') || $search_tags && IPSLib::appIsSearchable('forums', 'tags') ? "<li " . ($this->request['search_app'] == 'forums' ? "class='selected'" : "") . "><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$url_string}&search_app=forums", "public", ''), "", "") . "'>" . IPSLib::getAppTitle('forums') . "</a></li>" : "") . "" . (!$search_tags && IPSLib::appIsSearchable('members', 'search') || $search_tags && IPSLib::appIsSearchable('members', 'tags') ? "<li " . ($this->request['search_app'] == 'members' ? "class='selected'" : "") . "><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$url_string}&search_app=members", "public", ''), "", "") . "'>" . IPSLib::getAppTitle('members') . "</a></li>" : "") . "" . (IPSLib::appIsInstalled('blog') && IPSLib::appIsSearchable('blog', 'search') ? "<li " . ($this->request['search_app'] == 'blog' ? "class='selected'" : "") . "><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$url_string}&search_app=blog", "public", ''), "", "") . "'>" . IPSLib::getAppTitle('blog') . "</a></li>" : "") . "" . (IPSLib::appIsInstalled('gallery') && IPSLib::appIsSearchable('gallery', 'search') ? "<li " . ($this->request['search_app'] == 'gallery' ? "class='selected'" : "") . "><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("{$url_string}&search_app=gallery", "public", ''), "", "") . "'>" . IPSLib::getAppTitle('gallery') . "</a></li>" : "") . "\n\t\t</ul>\n\t</div>\n\t" . (($total > 0 and $search_term != '') ? "\n\t\t<!--<div class='message'>\n\t\t\t{$this->lang->words['your_search']} <em><strong>{$search_term}</strong></em> {$this->lang->words['your_search_returned']} \n\t\t</div>-->\n\t" : "") . "\n\t" . ($pagination ? "\n\t\t<div class='controls'>\n\t\t\t<div class='buttons'>\n\t\t\t\t{$pagination}\n\t\t\t</div>\n\t\t</div>\n\t" : "") . "\n\t\n\t" . ($total ? "\n\t\t{$results}\n\t" : "<div class='row no_messages'>{$this->lang->words['no_results_found']}" . ($search_term ? " {$this->lang->words['no_results_found_for']} '{$search_term}'" : "") . ".</div>") . "\n\t\n\t" . ($pagination ? "\n\t\t<div class='controls'>\n\t\t\t<div class='buttons'>\n\t\t\t\t{$pagination}\n\t\t\t</div>\n\t\t</div>\n\t" : "") . "\n</div>"; return $IPBHTML; }
function __f__5a7ebe6bc5183db0c5626ed395e2e65d($results, $pagination, $total, $member, $asForum) { $_ips___x_retval = ''; foreach ($this->registry->getApplications() as $app) { $_ips___x_retval .= "\n\t\t" . (IPSSearchIndex::appIsSearchable($app['app_directory']) && !in_array($app['app_directory'], array('core', 'members')) ? "" . ($this->request['search_app'] == $app['app_directory'] ? "\n\t\t\t\t<li class='active'><strong>" . IPSLib::getAppTitle($app['app_directory']) . "</strong></li>\n\t\t\t" : "\t\t\t\t\n\t\t\t\t<li><a href='" . $this->registry->getClass('output')->formatUrl($this->registry->getClass('output')->buildUrl("app=core&module=search&do=user_posts&mid={$this->request['mid']}&search_filter_app[{$app['app_directory']}]=1&view_by_title={$this->request['view_by_title']}", 'public', ''), "", "") . "'>" . IPSLib::getAppTitle($app['app_directory']) . "</a></li>\n\t\t\t") . "" : "") . "\n\t\n"; } $_ips___x_retval .= ''; return $_ips___x_retval; }