soundList() public static method

Returns a list of available sounds.
public static soundList ( string $app = null, string $theme = null ) : array
$app string The app to search in.
$theme string The theme to search in.
return array An array of Horde_Themes_Sound objects. Keys are the base filenames.
Exemplo n.º 1
0
 /**
  */
 public function display(Horde_Core_Prefs_Ui $ui)
 {
     global $prefs;
     $view = new Horde_View(array('templatePath' => IMP_TEMPLATES . '/prefs'));
     $view->addHelper('FormTag');
     $view->addHelper('Tag');
     $view->addHelper('Text');
     $newmail_audio = $view->newmail_audio = $prefs->getValue('newmail_audio');
     $sounds = array();
     foreach (Horde_Themes::soundList() as $key => $val) {
         $sounds[] = array('c' => $newmail_audio == $key, 'l' => $key, 's' => $val->uri, 'v' => $key);
     }
     $view->sounds = $sounds;
     return $view->render('newmailaudio');
 }
Exemplo n.º 2
0
 function init()
 {
     $this->_sounds = array_keys(Horde_Themes::soundList());
 }
Exemplo n.º 3
0
        $taskAlarmParams .= ' <label for="kronolithTaskAlarmParam' . $name . '">' . $param['desc'] . '</label> ';
        $taskNameAtt = 'name="task[methods][' . $method . '][' . $name . ']"';
        $taskAtt = 'id="kronolithTaskAlarmParam' . $name . '" ' . $taskNameAtt;
        switch ($param['type']) {
            case 'text':
                $eventAlarmParams .= '<input type="text" ' . $eventAtt . ' />';
                $taskAlarmParams .= '<input type="text" ' . $taskAtt . ' />';
                break;
            case 'boolean':
                $eventAlarmParams .= '<input type="checkbox" ' . $eventAtt . ' />';
                $taskAlarmParams .= '<input type="checkbox" ' . $taskAtt . ' />';
                break;
            case 'sound':
                $eventAlarmParams .= '<ul class="sound-list"><li><input type="radio" ' . $eventAtt . ' value="" checked="checked" /> ' . _("No Sound") . '</li>';
                $taskAlarmParams .= '<ul class="sound-list"><li><input type="radio" ' . $taskAtt . ' value="" checked="checked" /> ' . _("No Sound") . '</li>';
                foreach (Horde_Themes::soundList() as $key => $val) {
                    $sound = htmlspecialchars($key);
                    $value = sprintf('<li><input type="radio" id="%s%s" %s value="%s" /> <embed autostart="false" src="%s" /> %s</li>', '%s', $name . str_replace('.wav', '', $sound), '%s', $sound, htmlspecialchars($val->uri), $sound);
                    $eventAlarmParams .= sprintf($value, 'kronolithEventAlarmParam', $eventNameAtt);
                    $taskAlarmParams .= sprintf($value, 'kronolithTaskAlarmParam', $taskNameAtt);
                }
                $eventAlarmParams .= '</ul>';
                $taskAlarmParams .= '</ul>';
                break;
        }
        $eventAlarmParams .= '<br />';
        $taskAlarmParams .= '<br />';
    }
    $eventAlarmParams = substr($eventAlarmParams, 0, -6) . '</div>';
    $taskAlarmParams = substr($taskAlarmParams, 0, -6) . '</div>';
}
Exemplo n.º 4
0
 /**
  * Create code needed for alarm selection.
  *
  * @param array $data  Data items:
  * - 'helplink': (string) [OPTIONAL] Help link.
  * - 'label': (string) Label.
  * - 'pref': (string) Preference name.
  * - 'value': (array) [OPTIONAL] Preference value.
  *
  * @return string  HTML UI code.
  */
 public static function alarm($data)
 {
     $pref = $data['pref'];
     $GLOBALS['injector']->getInstance('Horde_PageOutput')->addInlineJsVars(array('HordeAlarmPrefs.pref' => $pref));
     $alarm_pref = isset($data['value']) ? $data['value'] : unserialize($GLOBALS['prefs']->getValue($pref));
     $selected = array_keys($alarm_pref);
     $t = $GLOBALS['injector']->createInstance('Horde_Template');
     $t->setOption('gettext', true);
     $param_list = $select_list = array();
     foreach ($GLOBALS['injector']->getInstance('Horde_Alarm')->handlers() as $method => $handler) {
         $select_list[] = array('l' => $handler->getDescription(), 's' => in_array($method, $selected), 'v' => $method);
         $tmp = array('method' => $method, 'param' => array());
         foreach ($handler->getParameters() as $name => $param) {
             switch ($param['type']) {
                 case 'text':
                     $tmp['param'][] = array('label' => Horde::label($pref . '_' . $name, $param['desc']), 'name' => $pref . '_' . $name, 'text' => true, 'value' => empty($alarm_pref[$method][$name]) ? '' : htmlspecialchars($alarm_pref[$method][$name]));
                     break;
                 case 'bool':
                     $tmp['param'][] = array('bool' => true, 'checked' => !empty($alarm_pref[$method][$name]), 'label' => Horde::label($pref . '_' . $name, $param['desc']), 'name' => $pref . '_' . $name);
                     break;
                 case 'sound':
                     $current_sound = empty($alarm_pref[$method][$name]) ? '' : $alarm_pref[$method][$name];
                     $sounds = array();
                     foreach (Horde_Themes::soundList() as $key => $val) {
                         $sounds[] = array('c' => $current_sound == $key, 'uri' => htmlspecialchars($val->uri), 'val' => htmlspecialchars($key));
                     }
                     $t->set('sounds', $sounds);
                     $tmp['param'][] = array('sound' => true, 'checked' => !$current_sound, 'name' => $pref . '_' . $name);
                     break;
             }
         }
         $param_list[] = $tmp;
     }
     $t->set('desc', Horde::label($pref, $data['label']));
     if (!empty($data['helplink'])) {
         $t->set('helplink', $data['helplink']);
     }
     $t->set('pref', htmlspecialchars($pref));
     $t->set('param_list', $param_list);
     $t->set('select_list', $select_list);
     return $t->fetch($GLOBALS['registry']->get('templates', 'horde') . '/prefs/alarm.html');
 }