domain_uuid = $setting_array['domain_uuid'] ?? $_SESSION['domain_uuid'] ?? ''; //set objects $this->database = $setting_array['database'] ?? database::new(); } /** * Retrieves a list of sound files based on the specified types. * * @return array A multidimensional array containing the sound files, where each sub-array has two keys: 'name' and * 'value'. */ public function get() { //miscellaneous if (empty($this->sound_types) || (is_array($this->sound_types) && in_array('miscellaneous', $this->sound_types))) { $x = 0; if (if_group("superadmin")) { $array['miscellaneous'][$x]['name'] = "say"; $array['miscellaneous'][$x]['value'] = "say:"; $x++; $array['miscellaneous'][$x]['name'] = "tone_stream"; $array['miscellaneous'][$x]['value'] = "tone_stream:"; } } //recordings if ((empty($this->sound_types) || (is_array($this->sound_types) && in_array('recordings', $this->sound_types))) && file_exists(dirname(__DIR__, 2) . "/app/recordings/app_config.php")) { $sql = "select recording_name, recording_filename from v_recordings "; $sql .= "where domain_uuid = :domain_uuid "; $sql .= "order by recording_name asc "; $parameters['domain_uuid'] = $_SESSION["domain_uuid"]; $recordings = $this->database->select($sql, $parameters, 'all'); if (is_array($recordings) && @sizeof($recordings) != 0) { foreach ($recordings as $x => $row) { $recording_name = $row["recording_name"]; $recording_filename = $row["recording_filename"]; $recording_path = !empty($this->full_path) && is_array($this->full_path) && in_array('recordings', $this->full_path) ? $_SESSION['switch']['recordings']['dir'] . '/' . $_SESSION['domain_name'] . '/' : null; $array['recordings'][$x]['name'] = $recording_name; $array['recordings'][$x]['value'] = $recording_path . $recording_filename; } } unset($sql, $parameters, $recordings, $row); } //phrases if ((empty($this->sound_types) || (is_array($this->sound_types) && in_array('phrases', $this->sound_types))) && file_exists(dirname(__DIR__, 2) . "/app/phrases/app_config.php")) { $sql = "select * from v_phrases "; $sql .= "where domain_uuid = :domain_uuid "; $parameters['domain_uuid'] = $_SESSION["domain_uuid"]; $phrases = $this->database->select($sql, $parameters, 'all'); if (is_array($phrases) && @sizeof($phrases) != 0) { foreach ($phrases as $row) { $array['phrases'][$x]['name'] = "phrase:" . $row["phrase_name"]; $array['phrases'][$x]['value'] = "phrase:" . $row["phrase_uuid"]; $x++; } } unset($sql, $parameters, $phrases, $row); } //sounds if ((empty($this->sound_types) || (is_array($this->sound_types) && in_array('sounds', $this->sound_types))) && file_exists(dirname(__DIR__, 2) . "/app/phrases/app_config.php")) { $file = new file; $sound_files = $file->sounds(); if (is_array($sound_files) && @sizeof($sound_files) != 0) { foreach ($sound_files as $value) { if (substr($value, 0, 71) == "\$\${sounds_dir}/\${default_language}/\${default_dialect}/\${default_voice}/") { $value = substr($value, 71); } $array['sounds'][$x]['name'] = $value; $array['sounds'][$x]['value'] = $value; $x++; } } } //send the results return $array; } }