Enhance Add Tones (#1857)

Add tone support
This commit is contained in:
Mafoo
2016-09-04 03:32:19 +01:00
committed by FusionPBX
parent 8ea17bdaf3
commit 097a09536e
6 changed files with 162 additions and 0 deletions

View File

@@ -31,6 +31,7 @@ if (!class_exists('ringbacks')) {
//define variables
public $db;
private $ringbacks;
private $tones_list;
private $music_list;
private $recordings_list;
private $default_ringback_label;
@@ -86,6 +87,11 @@ if (!class_exists('ringbacks')) {
unset($results, $default_ringback, $label);
*/
//get the tones
require_once "resources/classes/tones.php";
$tones = new tones;
$this->tones_list = $tones->tones_list();
//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";
@@ -148,6 +154,19 @@ if (!class_exists('ringbacks')) {
unset($selected_ringback);
}
//tones
if (sizeof($this->tones_list) > 0) {
$selected_tone = $selected;
$selected_tone = preg_replace('/\A\${/',"",$selected_tone);
$selected_tone = preg_replace('/}\z/',"",$selected_tone);
$select .= " <optgroup label='".$text['label-tone']."'>";
foreach($this->tones_list as $tone_value => $tone_name) {
$select .= " <option value='\${".$tone_value."}'".(($selected_tone == $tone_value) ? ' selected="selected"' : '').">".$tone_name."</option>\n";
}
$select .= " </optgroup>\n";
unset($selected_tone);
}
//end the select and return it
$select .= "</select>\n";
return $select;

View File

@@ -0,0 +1,79 @@
<?php
/*
FusionPBX
Version: MPL 1.1
The contents of this file are subject to the Mozilla Public License Version
1.1 (the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
The Original Code is FusionPBX
The Initial Developer of the Original Code is
Mark J Crane <markjcrane@fusionpbx.com>
Portions created by the Initial Developer are Copyright (C) 2016
the Initial Developer. All Rights Reserved.
Contributor(s):
Mark J Crane <markjcrane@fusionpbx.com>
Matthew Vale <github@mafoo.org>
*/
if (!class_exists('tones')) {
class tones {
//define variables
public $db;
private $tones;
private $music_list;
private $recordings_list;
private $default_tone_label;
//class constructor
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 tones
$sql = "select * from v_vars ";
$sql .= "where var_cat = 'Tones' ";
$sql .= "order by var_name asc ";
$prep_statement = $this->db->prepare(check_sql($sql));
$prep_statement->execute();
$tones = $prep_statement->fetchAll(PDO::FETCH_NAMED);
unset ($prep_statement, $sql);
foreach($tones as $tone) {
$tone = $tone['var_name'];
$label = $text['label-'.$tone];
if ($label == "") {
$label = $tone;
}
$tone_list[$tone] = $label;
}
$this->tones = $tone_list;
unset($tone_list);
}
public function tones_list() {
return $this->tones;
}
}
}
?>