public function select($name, $selected, $options)
 {
     //add multi-lingual support
     $language = new text();
     $text = $language->get();
     //start the select
     $select = "<select class='formfld' name='" . $name . "' id='" . $name . "' style='width: auto;'>\n";
     //music on hold
     $music_list = $this->get();
     if (count($music_list) > 0) {
         $select .= "\t<optgroup label='" . $text['label-music_on_hold'] . "'>\n";
         $previous_name = '';
         foreach ($music_list as $row) {
             if ($previous_name != $row['music_on_hold_name']) {
                 $name = '';
                 if (strlen($row['domain_uuid']) > 0) {
                     $name = $row['domain_name'] . '/';
                 }
                 $name .= $row['music_on_hold_name'];
                 $select .= "\t\t<option value='local_stream://" . $name . "' " . ($selected == "local_stream://" . $name ? 'selected="selected"' : null) . ">" . $row['music_on_hold_name'] . "</option>\n";
             }
             $previous_name = $row['music_on_hold_name'];
         }
         $select .= "\t</optgroup>\n";
     }
     //recordings
     if (is_dir($_SERVER["PROJECT_ROOT"] . '/app/recordings')) {
         require_once "app/recordings/resources/classes/switch_recordings.php";
         $recordings_c = new switch_recordings();
         $recordings = $recordings_c->list_recordings();
         if (sizeof($recordings) > 0) {
             $select .= "\t<optgroup label='" . $text['label-recordings'] . "'>";
             foreach ($recordings as $recording_value => $recording_name) {
                 $select .= "\t\t<option value='" . $recording_value . "' " . ($selected == $recording_value ? 'selected="selected"' : null) . ">" . $recording_name . "</option>\n";
             }
             $select .= "\t</optgroup>\n";
         }
     }
     //add additional options
     if (sizeof($options) > 0) {
         $select .= "\t<optgroup label='" . $text['label-others'] . "'>";
         $select .= $options;
         $select .= "\t</optgroup>\n";
     }
     //end the select and return it
     $select .= "</select>\n";
     return $select;
 }
Example #2
0
 public function __construct()
 {
     //connect to the database if not connected
     if (!$this->db) {
         require_once "resources/classes/database.php";
         $database = new database();
         $database->connect();
         $this->db = $database->db;
     }
     //add multi-lingual support
     $language = new text();
     $text = $language->get();
     //get the ringback types
     $sql = "select * from v_vars ";
     $sql .= "where var_cat = 'Defaults' ";
     $sql .= "and var_name LIKE '%-ring' ";
     $sql .= "order by var_name asc ";
     $prep_statement = $this->db->prepare(check_sql($sql));
     $prep_statement->execute();
     $ringbacks = $prep_statement->fetchAll(PDO::FETCH_NAMED);
     unset($prep_statement, $sql);
     foreach ($ringbacks as $ringback) {
         $ringback = $ringback['var_name'];
         $label = $text['label-' . $ringback];
         if ($label == "") {
             $label = $ringback;
         }
         $ringback_list[$ringback] = $label;
     }
     $this->ringbacks = $ringback_list;
     unset($ringback_list);
     //get the default_ringback label
     /*
     $sql = "select * from v_vars where var_name = 'ringback' ";
     $prep_statement = $this->db->prepare(check_sql($sql));
     $prep_statement->execute();
     $result = $prep_statement->fetch();
     unset ($prep_statement, $sql);
     $default_ringback = (string) $result['var_value'];
     $default_ringback = preg_replace('/\A\$\${/',"",$default_ringback);
     $default_ringback = preg_replace('/}\z/',"",$default_ringback);
     #$label = $text['label-'.$default_ringback];
     #if($label == "") {
     	$label = $default_ringback;
     #}
     $this->default_ringback_label = $label;
     unset($results, $default_ringback, $label);
     */
     //get music on hold	and recordings
     if (is_dir($_SERVER["PROJECT_ROOT"] . '/app/music_on_hold')) {
         require_once "app/music_on_hold/resources/classes/switch_music_on_hold.php";
         $music = new switch_music_on_hold();
         $this->music_list = $music->get();
     }
     if (is_dir($_SERVER["PROJECT_ROOT"] . '/app/recordings')) {
         require_once "app/recordings/resources/classes/switch_recordings.php";
         $recordings = new switch_recordings();
         $this->recordings_list = $recordings->list_recordings();
     }
 }