Example #1
0
 /**
  * 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;
 }
Example #2
0
 /**
  * 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));
 }
Example #3
0
 /**
  * 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));
 }