Ejemplo n.º 1
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));
 }
Ejemplo n.º 2
0
/**
 * Get a template that will set up the chat sound effects as for what this member needs.
 *
 * @return tempcode		Template to set up chat sound effects.
*/
function get_chat_sound_tpl()
{
    return do_template('CHAT_SOUND', array('SOUND_EFFECTS' => get_effect_settings(true, NULL, true)));
}