/** * Standard modular run function for symbol hooks. Searches for tasks to perform. * * @param array Symbol parameters * @return string Result */ function run($param) { $value = ''; if (get_option('sitewide_im', true) === '1' && !is_guest() && (!array_key_exists(get_session_id(), $GLOBALS['SESSION_CACHE']) || $GLOBALS['SESSION_CACHE'][get_session_id()]['session_invisible'] == 0)) { require_code('chat'); require_lang('chat'); $messages_php = find_script('messages'); $im_area_template = do_template('CHAT_LOBBY_IM_AREA', array('_GUID' => '38de4f030d5980790d6d1db1a7e2ff39', 'MESSAGES_PHP' => $messages_php, 'ROOM_ID' => '__room_id__')); $im_area_template = do_template('CHAT_SITEWIDE_IM_POPUP', array('_GUID' => 'e520e557f86d0dd4e32d25a208d8f154', 'CONTENT' => $im_area_template)); $im_area_template = do_template('STYLED_HTML_WRAP', array('_GUID' => '5032bfa802af3fe14e610d09078ef849', 'CSS' => 'sitewide_im_popup_body', 'TITLE' => '__room_name__', 'TARGET' => '_site_opener', 'CONTENT' => $im_area_template)); $make_buddy_url = build_url(array('page' => '_SELF', 'type' => 'buddy_add', 'member_id' => '__id__'), '_SELF'); $block_member_url = build_url(array('page' => '_SELF', 'type' => 'blocking_add', 'member_id' => '__id__'), '_SELF'); $profile_url = $GLOBALS['FORUM_DRIVER']->member_profile_url(-100, false, true); if (is_object($profile_url)) { $profile_url = $profile_url->evaluate(); } $profile_url = str_replace('-100', '__id__', $profile_url); $im_participant_template = do_template('CHAT_LOBBY_IM_PARTICIPANT', array('_GUID' => '0c5e080d0afb29814a6e3059f0204ad1', 'PROFILE_URL' => $profile_url, 'ID' => '__id__', 'ROOM_ID' => '__room_id__', 'USERNAME' => '__username__', 'ONLINE' => '__online__', 'AVATAR_URL' => '__avatar_url__', 'MAKE_BUDDY_URL' => $make_buddy_url, 'BLOCK_MEMBER_URL' => $block_member_url)); $_value = do_template('CHAT_SITEWIDE_IM', array('_GUID' => '5ab0404b3dac4578e8b4be699bd43c95', 'IM_AREA_TEMPLATE' => $im_area_template, 'IM_PARTICIPANT_TEMPLATE' => $im_participant_template, 'CHAT_SOUND' => get_chat_sound_tpl())); $value = $_value->evaluate(); } return $value; }
/** * The UI for a chat room. * * @return tempcode The UI */ function chat_room() { require_javascript('javascript_yahoo_2'); require_javascript('javascript_colour_picker'); require_javascript('javascript_posting'); require_css('colour_picker'); $prefs = @$_COOKIE['ocp_chat_prefs']; $prefs = @explode(';', $prefs); //$mode=get_param('mode',''); $room_id = get_param('id'); $posting_name = do_lang_tempcode('SEND_MESSAGE'); $cs_post_url = build_url(array('page' => '_SELF', 'type' => 'options', 'id' => $room_id), '_SELF'); $yourname = $GLOBALS['FORUM_DRIVER']->get_username(get_member()); $debug = get_param_integer('debug', 0) == 1 ? 'block' : 'none'; $title = get_page_title('ROOM'); $seteffectslink = hyperlink(build_url(array('page' => '_SELF', 'type' => 'set_effects'), '_SELF'), do_lang_tempcode('CHAT_SET_EFFECTS'), true); $logslink = hyperlink(get_base_url() . '/data_custom/jabber-logs/' . strtolower($room_id) . '@conference.' . get_domain(), 'Chat logs', true); $links = array($seteffectslink, $logslink); breadcrumb_set_parents(array(array('_SELF:_SELF:misc', do_lang_tempcode('CHAT_LOBBY_END_CHAT')))); $messages_php = find_script('messages'); $password_hash = $GLOBALS['FORUM_DRIVER']->get_member_row_field(get_member(), 'm_pass_hash_salted'); return do_template('CHAT_SCREEN', array('_GUID' => '867a0b050c050c81d33482d131783eb0', 'MESSAGES_PHP' => $messages_php, 'PASSWORD_HASH' => $password_hash, 'CHAT_SOUND' => get_chat_sound_tpl(), 'ROOM_ID' => $room_id, 'DEBUG' => $debug, 'OPTIONS_URL' => $cs_post_url, 'ROOM_NAME' => '', 'YOUR_NAME' => $yourname, 'SUBMIT_VALUE' => $posting_name, 'INTRODUCTION' => '', 'TITLE' => $title, 'LINKS' => $links)); }
/** * The interface for setting sound effects. * * @return tempcode The UI */ function set_effects() { $title = get_page_title('CHAT_SET_EFFECTS'); breadcrumb_set_parents(array(array('_SELF:_SELF:misc', do_lang_tempcode('CHAT_LOBBY')))); if (is_guest()) { access_denied('NOT_AS_GUEST'); } require_lang('javascript'); require_javascript('javascript_chat'); require_javascript('javascript_sound'); require_javascript('javascript_swfupload'); require_css('swfupload'); // Find all sounds available $library = array(); $dh = @opendir(get_file_base() . '/data/sounds'); if ($dh !== false) { while (($f = readdir($dh)) !== false) { if (substr(strtolower($f), -4) == '.mp3') { $library[$f] = array('EFFECT_SHORT' => $f, 'EFFECT' => 'data/sounds/' . $f); } } } $dh = @opendir(get_file_base() . '/data_custom/sounds'); if ($dh !== false) { while (($f = readdir($dh)) !== false) { if (substr(strtolower($f), -4) == '.mp3') { $library[$f] = array('EFFECT_SHORT' => $f, 'EFFECT' => 'data_custom/sounds/' . $f); } } } $post_url = build_url(array('page' => '_SELF', 'type' => '_set_effects'), '_SELF'); $hidden = new ocp_tempcode(); $redirect = get_param('redirect', NULL); if (!is_null($redirect)) { $hidden->attach(form_input_hidden('redirect', $redirect)); } $setting_blocks = new ocp_tempcode(); // Global settings $effect_settings = get_effect_settings(); // Find what the member has it set to $has_some = false; foreach ($effect_settings as $s) { if ($s['VALUE'] != '-1') { $has_some = true; } } $block = do_template('CHAT_SET_EFFECTS_SETTING_BLOCK', array('_GUID' => '9270ec16622d551c62320ebefba46fad', 'HAS_SOME' => $has_some, 'EFFECTS' => $effect_settings, 'LIBRARY' => $library)); $setting_blocks->attach($block); // Per-friend overrides $buddy_count = $GLOBALS['SITE_DB']->query_value('chat_buddies', 'COUNT(*)', array('member_likes' => get_member())); if ($buddy_count < 200) { $buddies = $GLOBALS['SITE_DB']->query_select('chat_buddies', array('member_liked'), array('member_likes' => get_member())); foreach ($buddies as $buddy) { if (is_null($GLOBALS['FORUM_DRIVER']->get_username($buddy['member_liked']))) { continue; } $effect_settings = get_effect_settings(false, $buddy['member_liked']); // Find what the member has it set to $has_some = false; foreach ($effect_settings as $s) { if ($s['VALUE'] != '-1') { $has_some = true; } } $block = do_template('CHAT_SET_EFFECTS_SETTING_BLOCK', array('_GUID' => '28916255c41e5cad386cbd0a045a3373', 'HAS_SOME' => $has_some, 'MEMBER_ID' => strval($buddy['member_liked']), 'USERNAME' => $GLOBALS['FORUM_DRIVER']->get_username($buddy['member_liked']), 'EFFECTS' => $effect_settings, 'LIBRARY' => $library)); $setting_blocks->attach($block); } } require_code('form_templates'); handle_max_file_size($hidden); return do_template('CHAT_SET_EFFECTS_SCREEN', array('_GUID' => 'f965b4376d603fc14dbcac7fb3c5580d', 'CHAT_SOUND' => get_chat_sound_tpl(), 'TITLE' => $title, 'SUBMIT_NAME' => do_lang_tempcode('SAVE'), 'HIDDEN' => $hidden, 'POST_URL' => $post_url, 'SETTING_BLOCKS' => $setting_blocks)); }