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; }
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(); } }