mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2026-01-06 11:43:50 +00:00
449 lines
19 KiB
PHP
449 lines
19 KiB
PHP
<?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) 2008-2012
|
|
the Initial Developer. All Rights Reserved.
|
|
|
|
Contributor(s):
|
|
Mark J Crane <markjcrane@fusionpbx.com>
|
|
James Rose <james.o.rose@gmail.com>
|
|
*/
|
|
|
|
include "root.php";
|
|
require_once "resources/require.php";
|
|
require_once "resources/check_auth.php";
|
|
if (permission_exists('music_on_hold_view') || permission_exists('music_on_hold_default_view')) {
|
|
//access granted
|
|
}
|
|
else {
|
|
echo "access denied";
|
|
exit;
|
|
}
|
|
|
|
//add multi-lingual support
|
|
require_once "app_languages.php";
|
|
foreach($text as $key => $value) {
|
|
$text[$key] = $value[$_SESSION['domain']['language']['code']];
|
|
}
|
|
|
|
require_once "resources/paging.php";
|
|
|
|
$sampling_rate_dirs = Array(8000, 16000, 32000, 48000);
|
|
$music_on_hold_dir = $_SESSION['switch']['sounds']['dir'].'/music';
|
|
ini_set(max_execution_time,7200);
|
|
|
|
$order_by = $_GET["order_by"];
|
|
$order = $_GET["order"];
|
|
|
|
if ($_GET['a'] == "download") {
|
|
$category_dir = $_GET['category'];
|
|
$sampling_rate_dir = $_GET['sampling_rate'];
|
|
|
|
if ($category_dir != '') {
|
|
$path_mod = $category_dir."/";
|
|
if (count($_SESSION['domains']) > 1) {
|
|
$path_mod = $_SESSION["domain_name"]."/".$path_mod;
|
|
}
|
|
}
|
|
|
|
session_cache_limiter('public');
|
|
if ($_GET['type'] = "moh") {
|
|
if (file_exists($music_on_hold_dir."/".$path_mod.$sampling_rate_dir."/".base64_decode($_GET['file_name']))) {
|
|
$fd = fopen($music_on_hold_dir."/".$path_mod.$sampling_rate_dir."/".base64_decode($_GET['file_name']), "rb");
|
|
if ($_GET['t'] == "bin") {
|
|
header("Content-Type: application/force-download");
|
|
header("Content-Type: application/octet-stream");
|
|
header("Content-Type: application/download");
|
|
header("Content-Description: File Transfer");
|
|
header('Content-Disposition: attachment; file_name="'.base64_decode($_GET['file_name']).'"');
|
|
}
|
|
else {
|
|
$file_ext = substr(base64_decode($_GET['file_name']), -3);
|
|
if ($file_ext == "wav") {
|
|
header("Content-Type: audio/x-wav");
|
|
}
|
|
if ($file_ext == "mp3") {
|
|
header("Content-Type: audio/mp3");
|
|
}
|
|
}
|
|
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
|
|
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
|
|
header("Content-Length: " . filesize($music_on_hold_dir."/".$path_mod.$sampling_rate_dir."/".base64_decode($_GET['file_name'])));
|
|
fpassthru($fd);
|
|
}
|
|
}
|
|
exit;
|
|
}
|
|
|
|
if (is_uploaded_file($_FILES['upload_file']['tmp_name'])) {
|
|
$file_ext = strtolower(pathinfo($_FILES['upload_file']['name'], PATHINFO_EXTENSION));
|
|
if ($file_ext == 'wav' || $file_ext == 'mp3') {
|
|
if ($_POST['type'] == 'moh' && permission_exists('music_on_hold_add')) {
|
|
|
|
// replace any spaces in the file_name with dashes
|
|
$new_file_name = str_replace(' ', '-', $_FILES['upload_file']['name']);
|
|
|
|
// convert sampling rate from value passed by form
|
|
$sampling_rate_dir = $_POST['upload_sampling_rate'] * 1000;
|
|
|
|
// if multi-tenant, modify directory paths
|
|
if (count($_SESSION['domains']) > 1) {
|
|
$path_mod = $_SESSION["domain_name"]."/";
|
|
}
|
|
|
|
// create new category, if necessary
|
|
if ($_POST['upload_category'] == '_NEW_CAT_' && $_POST['upload_category_new'] != '') {
|
|
$new_category_name = str_replace(' ', '_', $_POST['upload_category_new']);
|
|
if (!is_dir($music_on_hold_dir."/".$path_mod.$new_category_name."/".$sampling_rate_dir)) {
|
|
@mkdir($music_on_hold_dir."/".$path_mod.$new_category_name."/".$sampling_rate_dir, 0777, true);
|
|
}
|
|
if (is_dir($music_on_hold_dir."/".$path_mod.$new_category_name."/".$sampling_rate_dir)) {
|
|
move_uploaded_file($_FILES['upload_file']['tmp_name'], $music_on_hold_dir."/".$path_mod.$new_category_name."/".$sampling_rate_dir."/".$new_file_name);
|
|
$target_dir = $music_on_hold_dir."/".$path_mod.$new_category_name."/".$sampling_rate_dir;
|
|
}
|
|
}
|
|
// use existing category directory
|
|
else if ($_POST['upload_category'] != '' && $_POST['upload_category'] != '_NEW_CAT_') {
|
|
if (!is_dir($music_on_hold_dir."/".$path_mod.$_POST['upload_category']."/".$sampling_rate_dir)) {
|
|
@mkdir($music_on_hold_dir."/".$path_mod.$_POST['upload_category']."/".$sampling_rate_dir, 0777, true);
|
|
}
|
|
if (is_dir($music_on_hold_dir."/".$path_mod.$_POST['upload_category']."/".$sampling_rate_dir)) {
|
|
move_uploaded_file($_FILES['upload_file']['tmp_name'], $music_on_hold_dir."/".$path_mod.$_POST['upload_category']."/".$sampling_rate_dir."/".$new_file_name);
|
|
$target_dir = $music_on_hold_dir."/".$path_mod.$_POST['upload_category']."/".$sampling_rate_dir;
|
|
}
|
|
}
|
|
// use default directory
|
|
else if ($_POST['upload_category'] == '') {
|
|
if (permission_exists('music_on_hold_default_add')) {
|
|
if (!is_dir($music_on_hold_dir."/".$sampling_rate_dir)) {
|
|
@mkdir($music_on_hold_dir."/".$sampling_rate_dir, 0777, true);
|
|
}
|
|
if (is_dir($music_on_hold_dir."/".$sampling_rate_dir)) {
|
|
move_uploaded_file($_FILES['upload_file']['tmp_name'], $music_on_hold_dir."/".$sampling_rate_dir."/".$new_file_name);
|
|
$target_dir = $music_on_hold_dir."/".$sampling_rate_dir;
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
exit();
|
|
}
|
|
|
|
//build and save the XML
|
|
require_once "app/music_on_hold/resources/classes/switch_music_on_hold.php";
|
|
$moh = new switch_music_on_hold;
|
|
$moh->xml();
|
|
$moh->save();
|
|
|
|
//set an upload message
|
|
$save_msg = "Uploaded file to ".$target_dir."/".htmlentities($_FILES['upload_file']['name']);
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($_GET['act'] == "del" && permission_exists('music_on_hold_delete')) {
|
|
if ($_GET['type'] == 'moh') {
|
|
//set the variables
|
|
$sampling_rate_dir = $_GET['sampling_rate'];
|
|
$category_dir = $_GET['category'];
|
|
//default category
|
|
if ($category_dir == "") {
|
|
if (!permission_exists('music_on_hold_default_delete')) {
|
|
echo "access denied";
|
|
exit;
|
|
}
|
|
}
|
|
//other categories
|
|
if ($category_dir != "") {
|
|
$path_mod = $category_dir."/";
|
|
|
|
if (count($_SESSION['domains']) > 1) {
|
|
$path_mod = $_SESSION["domain_name"]."/".$path_mod;
|
|
}
|
|
}
|
|
//remove the directory
|
|
unlink($music_on_hold_dir."/".$path_mod.$sampling_rate_dir."/".base64_decode($_GET['file_name']));
|
|
|
|
//build and save the XML
|
|
require_once "app/music_on_hold/resources/classes/switch_music_on_hold.php";
|
|
$moh = new switch_music_on_hold;
|
|
$moh->xml();
|
|
$moh->save();
|
|
|
|
//redirect the browser
|
|
header("Location: music_on_hold.php");
|
|
exit;
|
|
}
|
|
|
|
if ($_GET['type'] == 'cat') {
|
|
$category_dir = $_GET['category'];
|
|
if (strlen($category_dir) > 0) {
|
|
// adjus the path for multiple domains
|
|
if (count($_SESSION['domains']) > 1) {
|
|
$path_mod = $_SESSION["domain_name"]."/";
|
|
}
|
|
|
|
// remove sampling rate directories (if any)
|
|
foreach ($sampling_rate_dirs as $sampling_rate_dir) {
|
|
rmdir($music_on_hold_dir."/".$path_mod.(base64_decode($category_dir))."/".$sampling_rate_dir);
|
|
}
|
|
|
|
// remove category directory
|
|
if (rmdir($music_on_hold_dir."/".$path_mod.(base64_decode($category_dir)))) {
|
|
sleep(5); // allow time for the OS to catch up (at least Windows, anyway)
|
|
}
|
|
}
|
|
|
|
//build and save the XML
|
|
require_once "app/music_on_hold/resources/classes/switch_music_on_hold.php";
|
|
$moh = new switch_music_on_hold;
|
|
$moh->xml();
|
|
$moh->save();
|
|
|
|
//redirect the browser
|
|
header("Location: music_on_hold.php");
|
|
exit;
|
|
}
|
|
}
|
|
|
|
//include the header
|
|
require_once "resources/header.php";
|
|
|
|
//show the title and description
|
|
echo "<script language='JavaScript' type='text/javascript' src='".PROJECT_PATH."/resources/javascript/reset_file_input.js'></script>\n";
|
|
echo "<script>\n";
|
|
echo "function EvalSound(soundobj) {\n";
|
|
echo " var thissound= eval(\"document.\"+soundobj);\n";
|
|
echo " thissound.Play();\n";
|
|
echo "}\n";
|
|
echo "</script>";
|
|
|
|
echo "<br />\n";
|
|
echo "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n";
|
|
echo " <tr>\n";
|
|
echo " <td align='left'>\n";
|
|
echo " <span class=\"title\"><strong>".$text['label-moh']."</strong></span><br />\n";
|
|
echo " ".$text['desc-moh']."\n";
|
|
echo " <br /><br />\n";
|
|
echo " </td>\n";
|
|
echo " </tr>\n";
|
|
echo "</table>\n";
|
|
echo "\n";
|
|
echo "<br><br>\n";
|
|
echo "\n";
|
|
|
|
//show the upload form
|
|
if (permission_exists('music_on_hold_add')) {
|
|
echo "<b>".$text['label-upload-moh']."</b>\n";
|
|
echo "<br><br>\n";
|
|
echo "<form action='' method='POST' enctype='multipart/form-data' name='frmUpload' id='frmUpload' onSubmit=''>\n";
|
|
echo "<input name='type' type='hidden' value='moh'>\n";
|
|
echo "<table cellpadding='0' cellspacing='0' border='0'>\n";
|
|
echo " <tr>\n";
|
|
echo " <td style='padding-right: 5px;' nowrap>\n";
|
|
echo " ".$text['label-file-path']."<br>\n";
|
|
echo " <input name='upload_file' type='file' class='button' size='50' id='upload_file'><input type='button' class='button' value='".$text['button-clear']."' onclick=\"reset_file_input('upload_file');\">\n";
|
|
echo " </td>\n";
|
|
echo " <td style='padding-right: 5px;' nowrap>".$text['label-sampling']."<br>\n";
|
|
echo " <select id='upload_sampling_rate' name='upload_sampling_rate' class='formfld' style='width: auto;'>\n";
|
|
echo " <option value='8'>8 kHz</option>\n";
|
|
echo " <option value='16'>16 kHz</option>\n";
|
|
echo " <option value='32'>32 kHz</option>\n";
|
|
echo " <option value='48'>48 kHz</option>\n";
|
|
echo " </select>\n";
|
|
echo " </td>\n";
|
|
echo " <td nowrap>".$text['label-category']."<br>\n";
|
|
echo " <select id='upload_category' name='upload_category' class='formfld' style='width: auto;' onchange=\"if (this.options[this.selectedIndex].value == '_NEW_CAT_') { this.style.display='none'; document.getElementById('upload_category_new').style.display=''; document.getElementById('upload_category_return').style.display=''; document.getElementById('upload_category_new').focus(); }\">\n";
|
|
if (permission_exists('music_on_hold_default_add')) {
|
|
echo " <option value='' style='font-style: italic;'>".$text['opt-default']."</option>\n";
|
|
}
|
|
|
|
if (count($_SESSION['domains']) > 1) {
|
|
$music_on_hold_category_parent_dir = $music_on_hold_dir."/".$_SESSION['domain_name'];
|
|
}
|
|
else {
|
|
$music_on_hold_category_parent_dir = $music_on_hold_dir;
|
|
}
|
|
|
|
if ($handle = opendir($music_on_hold_category_parent_dir)) {
|
|
while (false !== ($directory = readdir($handle))) {
|
|
if (
|
|
$directory != "." &&
|
|
$directory != ".." &&
|
|
$directory != "8000" &&
|
|
$directory != "16000" &&
|
|
$directory != "32000" &&
|
|
$directory != "48000" &&
|
|
is_dir($music_on_hold_category_parent_dir."/".$directory)
|
|
) {
|
|
echo "<option value='".$directory."'>".(str_replace('_', ' ', $directory))."</option>\n";
|
|
$category_dirs[] = $directory; // array used to output category directory contents below
|
|
}
|
|
}
|
|
closedir($handle);
|
|
}
|
|
|
|
echo " <option value='_NEW_CAT_' style='font-style: italic;'>".$text['opt-new']."</option>\n";
|
|
echo " </select>\n";
|
|
echo " <input class='formfld' style='width: 150px; display: none;' type='text' name='upload_category_new' id='upload_category_new' maxlength='255' value=''>";
|
|
echo " </td>\n";
|
|
echo " <td> <br>\n";
|
|
echo " <input id='upload_category_return' type='button' class='button' style='display: none;' value='<' onclick=\"this.style.display='none'; document.getElementById('upload_category_new').style.display='none'; document.getElementById('upload_category_new').value=''; document.getElementById('upload_category').style.display=''; document.getElementById('upload_category').selectedIndex = 0;\" title='".$text['message-click-select']."'>";
|
|
echo " </td>\n";
|
|
echo " <td style='padding-left: 5px;'> <br>\n";
|
|
echo " <input name='submit' type='submit' class='btn' id='upload' value='".$text['button-upload']."'>\n";
|
|
echo " </td>\n";
|
|
echo " </tr>\n";
|
|
echo "</table>\n";
|
|
echo "</form>\n";
|
|
echo "<br><br>\n";
|
|
}
|
|
|
|
//set the row styles
|
|
$c = 0;
|
|
$row_style["0"] = "row_style0";
|
|
$row_style["1"] = "row_style1";
|
|
|
|
//show the default category
|
|
if (permission_exists('music_on_hold_default_view')) {
|
|
echo "<b><i>".$text['label-default']."</i></b>\n";
|
|
if (count($_SESSION['domains']) > 1) {
|
|
echo " - ".$text['message-available-to-all']."\n";
|
|
}
|
|
|
|
echo "<br><br>\n";
|
|
echo "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin-bottom: 3px;\">\n";
|
|
echo " <tr>\n";
|
|
echo " <th width=\"30%\" class=\"listhdrr\">".$text['label-download']."</th>\n";
|
|
echo " <th width=\"30%\" class=\"listhdrr\">".$text['label-play']."</th>\n";
|
|
echo " <th width=\"30%\" class=\"listhdr\">".$text['label-uploaded']."</th>\n";
|
|
echo " <th width=\"10%\" class=\"listhdr\" nowrap=\"nowrap\">".$text['label-file-size']."</th>\n";
|
|
echo " <th width=\"10%\" class=\"listhdr\" nowrap=\"nowrap\">".$text['label-sampling']."</th>\n";
|
|
echo " <td width='22px' align=\"center\"></td>\n";
|
|
echo " </tr>";
|
|
|
|
foreach ($sampling_rate_dirs as $sampling_rate_dir) {
|
|
if ($handle = opendir($music_on_hold_dir."/".$sampling_rate_dir)) {
|
|
while (false !== ($file = readdir($handle))) {
|
|
if ($file != "." && $file != ".." && is_file($music_on_hold_dir."/".$sampling_rate_dir."/".$file)) {
|
|
$file_size = filesize($music_on_hold_dir."/".$sampling_rate_dir."/".$file);
|
|
$file_size = byte_convert($file_size);
|
|
|
|
echo "<tr>\n";
|
|
echo " <td class='".$row_style[$c]."'><a href=\"music_on_hold.php?a=download&sampling_rate=".$sampling_rate_dir."&type=moh&t=bin&file_name=".base64_encode($file)."\">".$file."</a></td>\n";
|
|
echo " <td class='".$row_style[$c]."'>\n";
|
|
echo " <a href=\"javascript:void(0);\" onclick=\"window.open('music_on_hold_play.php?a=download&sampling_rate=".$sampling_rate_dir."&type=moh&file_name=".base64_encode($file)."', 'play',' width=420,height=40,menubar=no,status=no,toolbar=no')\">\n";
|
|
$tmp_file_array = explode("\.",$file);
|
|
echo " ".$tmp_file_array[0];
|
|
echo " </a>";
|
|
echo " </td>\n";
|
|
echo " <td class='".$row_style[$c]."'>".date ("F d Y H:i:s", filemtime($music_on_hold_dir."/".$sampling_rate_dir."/".$file))."</td>\n";
|
|
echo " <td class='".$row_style[$c]."'>".$file_size."</td>\n";
|
|
echo " <td class='".$row_style[$c]."'>".($sampling_rate_dir / 1000)." kHz</td>\n";
|
|
echo " <td align=\"center\" width='22' nowrap=\"nowrap\" class=\"list\">\n";
|
|
if (permission_exists('music_on_hold_default_delete')) {
|
|
echo " <a href=\"music_on_hold.php?type=moh&act=del&sampling_rate=".$sampling_rate_dir."&file_name=".base64_encode($file)."\" onclick=\"return confirm('Do you really want to delete this file?')\">$v_link_label_delete</a>\n";
|
|
}
|
|
echo " </td>\n";
|
|
echo "</tr>\n";
|
|
$c = ($c==0) ? 1 : 0;
|
|
}
|
|
}
|
|
closedir($handle);
|
|
}
|
|
}
|
|
echo "</table>\n";
|
|
}
|
|
|
|
if ($v_path_show) {
|
|
echo "<div style='font-size: 10px; text-align: right; margin-right: 25px;'><strong>".$text['label-location'].":</strong> ".$music_on_hold_dir."</div>\n";
|
|
}
|
|
echo "<br><br>\n";
|
|
|
|
//show additional categories
|
|
foreach ($category_dirs as $category_number => $category_dir) {
|
|
$c = 0;
|
|
|
|
echo "<b>".(str_replace('_', ' ', $category_dir))."</b>\n";
|
|
echo "<br><br>\n";
|
|
echo "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin-bottom: 3px;\">\n";
|
|
echo " <tr>\n";
|
|
echo " <th width=\"30%\" class=\"listhdrr\">".$text['label-download']."</th>\n";
|
|
echo " <th width=\"30%\" class=\"listhdrr\">".$text['label-play']."</th>\n";
|
|
echo " <th width=\"30%\" class=\"listhdr\">".$text['label-uploaded']."</th>\n";
|
|
echo " <th width=\"10%\" class=\"listhdr\" nowrap=\"nowrap\">".$text['label-file-size']."</th>\n";
|
|
echo " <th width=\"10%\" class=\"listhdr\" nowrap=\"nowrap\">".$text['label-sampling']."</th>\n";
|
|
echo " <td width='22px' align=\"center\" style=\"padding: 2px;\"><span id='category_".$category_number."_delete_icon'></span></td>\n";
|
|
echo " </tr>";
|
|
|
|
$moh_found = false;
|
|
|
|
foreach ($sampling_rate_dirs as $sampling_rate_dir) {
|
|
if ($handle = opendir($music_on_hold_category_parent_dir."/".$category_dir."/".$sampling_rate_dir)) {
|
|
while (false !== ($file = readdir($handle))) {
|
|
if ($file != "." && $file != ".." && is_file($music_on_hold_category_parent_dir."/".$category_dir."/".$sampling_rate_dir."/".$file)) {
|
|
|
|
$file_size = filesize($music_on_hold_category_parent_dir."/".$category_dir."/".$sampling_rate_dir."/".$file);
|
|
$file_size = byte_convert($file_size);
|
|
|
|
echo "<tr>\n";
|
|
echo " <td class='".$row_style[$c]."'><a href=\"music_on_hold.php?a=download&category=".$category_dir."&sampling_rate=".$sampling_rate_dir."&type=moh&t=bin&file_name=".base64_encode($file)."\">".$file."</a></td>\n";
|
|
echo " <td class='".$row_style[$c]."'>\n";
|
|
echo " <a href=\"javascript:void(0);\" onclick=\"window.open('music_on_hold_play.php?a=download&category=".$category_dir."&sampling_rate=".$sampling_rate_dir."&type=moh&file_name=".base64_encode($file)."', 'play',' width=420,height=40,menubar=no,status=no,toolbar=no')\">\n";
|
|
$tmp_file_array = explode("\.",$file);
|
|
echo " ".$tmp_file_array[0];
|
|
echo " </a>";
|
|
echo " </td>\n";
|
|
echo " <td class='".$row_style[$c]."'>".date ("F d Y H:i:s", filemtime($music_on_hold_category_parent_dir."/".$category_dir."/".$sampling_rate_dir."/".$file))."</td>\n";
|
|
echo " <td class='".$row_style[$c]."'>".$file_size."</td>\n";
|
|
echo " <td class='".$row_style[$c]."'>".($sampling_rate_dir / 1000)." kHz</td>\n";
|
|
echo " <td align=\"center\" width='22' nowrap=\"nowrap\" class=\"list\">\n";
|
|
if (permission_exists('music_on_hold_delete')) {
|
|
echo " <a href=\"music_on_hold.php?type=moh&act=del&category=".$category_dir."&sampling_rate=".$sampling_rate_dir."&file_name=".base64_encode($file)."\" onclick=\"return confirm('".$text['message-delete']."')\">$v_link_label_delete</a>\n";
|
|
}
|
|
echo " </td>\n";
|
|
echo "</tr>\n";
|
|
$c = ($c==0) ? 1 : 0;
|
|
|
|
$moh_found = true;
|
|
}
|
|
}
|
|
closedir($handle);
|
|
}
|
|
}
|
|
|
|
if (!$moh_found) {
|
|
echo "<tr>\n";
|
|
echo " <td colspan='5' align='left' class='".$row_style[$c]."'>\n";
|
|
echo " ".$text['message-nofiles']."";
|
|
echo " <script>document.getElementById('category_".$category_number."_delete_icon').innerHTML = \"<a href='music_on_hold.php?type=cat&act=del&category=".base64_encode($category_dir)."' title='".$text['label-delete-category']."'>".$v_link_label_delete."</a>\";</script>\n";
|
|
echo " </td>\n";
|
|
echo "</tr>\n";
|
|
}
|
|
|
|
echo "</table>\n";
|
|
if ($v_path_show) {
|
|
echo "<div style='font-size: 10px; text-align: right; margin-right: 25px;'><strong>".$text['label-location'].":</strong> ".$music_on_hold_category_parent_dir."/".$category_dir."</div>\n";
|
|
}
|
|
echo "<br><br>\n";
|
|
}
|
|
|
|
//include the footer
|
|
require_once "resources/footer.php";
|
|
|
|
?>
|