Add a backup feature
This commit is contained in:
parent
9de4d96298
commit
abc1106ee0
|
|
@ -0,0 +1,50 @@
|
|||
<?php
|
||||
//application details
|
||||
$apps[$x]['name'] = "Backup";
|
||||
$apps[$x]['uuid'] = "1df70270-8274-44e9-a43e-5074684649ad";
|
||||
$apps[$x]['category'] = "App";
|
||||
$apps[$x]['subcategory'] = "";
|
||||
$apps[$x]['version'] = "";
|
||||
$apps[$x]['license'] = "Mozilla Public License 1.1";
|
||||
$apps[$x]['url'] = "http://www.fusionpbx.com";
|
||||
$apps[$x]['description']['en-us'] = "";
|
||||
$apps[$x]['description']['es-cl'] = "";
|
||||
$apps[$x]['description']['es-mx'] = "";
|
||||
$apps[$x]['description']['de-de'] = "";
|
||||
$apps[$x]['description']['de-ch'] = "";
|
||||
$apps[$x]['description']['de-at'] = "";
|
||||
$apps[$x]['description']['fr-fr'] = "";
|
||||
$apps[$x]['description']['fr-ca'] = "";
|
||||
$apps[$x]['description']['fr-ch'] = "";
|
||||
$apps[$x]['description']['pt-pt'] = "";
|
||||
$apps[$x]['description']['pt-br'] = "";
|
||||
|
||||
//menu details
|
||||
$apps[$x]['menu'][0]['title']['en-us'] = "Backup";
|
||||
$apps[$x]['menu'][0]['title']['es-cl'] = "";
|
||||
$apps[$x]['menu'][0]['title']['es-mx'] = "";
|
||||
$apps[$x]['menu'][0]['title']['de-de'] = "";
|
||||
$apps[$x]['menu'][0]['title']['de-ch'] = "";
|
||||
$apps[$x]['menu'][0]['title']['de-at'] = "";
|
||||
$apps[$x]['menu'][0]['title']['fr-fr'] = "";
|
||||
$apps[$x]['menu'][0]['title']['fr-ca'] = "";
|
||||
$apps[$x]['menu'][0]['title']['fr-ch'] = "";
|
||||
$apps[$x]['menu'][0]['title']['pt-pt'] = "";
|
||||
$apps[$x]['menu'][0]['title']['pt-br'] = "";
|
||||
$apps[$x]['menu'][0]['uuid'] = "7e174c3c-e494-4bb0-a52a-4ea55209ffeb";
|
||||
$apps[$x]['menu'][0]['parent_uuid'] = "fd29e39c-c936-f5fc-8e2b-611681b266b5";
|
||||
$apps[$x]['menu'][0]['category'] = "internal";
|
||||
$apps[$x]['menu'][0]['path'] = "/app/backup/index.php";
|
||||
$apps[$x]['menu'][0]['groups'][] = "superadmin";
|
||||
|
||||
//permission details
|
||||
$y = 0;
|
||||
$apps[$x]['permissions'][$y]['name'] = "backup_download";
|
||||
$apps[$x]['permissions'][$y]['menu']['uuid'] = "7e174c3c-e494-4bb0-a52a-4ea55209ffeb";
|
||||
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
|
||||
$y++;
|
||||
$apps[$x]['permissions'][$y]['name'] = "backup_upload";
|
||||
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
|
||||
$y++;
|
||||
|
||||
?>
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
<?php
|
||||
|
||||
$text['title-zzz']['en-us'] = "zzz";
|
||||
$text['title-zzz']['es-cl'] = "zzz";
|
||||
$text['title-zzz']['pt-pt'] = "zzz";
|
||||
$text['title-zzz']['fr-fr'] = "zzz";
|
||||
|
||||
$text['description-zzz']['en-us'] = "zzz";
|
||||
$text['description-zzz']['es-cl'] = "zzz";
|
||||
$text['description-zzz']['pt-pt'] = "zzz";
|
||||
$text['description-zzz']['fr-fr'] = "zzz";
|
||||
|
||||
$text['button-add']['en-us'] = "Add";
|
||||
$text['button-add']['es-cl'] = "Agregar";
|
||||
$text['button-add']['pt-pt'] = "Adicionar";
|
||||
$text['button-add']['fr-fr'] = "Ajouter";
|
||||
|
||||
$text['button-edit']['en-us'] = "Edit";
|
||||
$text['button-edit']['es-cl'] = "Editar";
|
||||
$text['button-edit']['pt-pt'] = "Editar";
|
||||
$text['button-edit']['fr-fr'] = "Editer";
|
||||
|
||||
$text['button-delete']['en-us'] = "Delete";
|
||||
$text['button-delete']['es-cl'] = "Eliminar";
|
||||
$text['button-delete']['pt-pt'] = "Remoção";
|
||||
$text['button-delete']['fr-fr'] = "Supprimer";
|
||||
|
||||
$text['button-save']['en-us'] = "Save";
|
||||
$text['button-save']['es-cl'] = "Guardar";
|
||||
$text['button-save']['pt-pt'] = "Guardar";
|
||||
$text['button-save']['fr-fr'] = "Sauvegarder";
|
||||
|
||||
$text['button-back']['en-us'] = "Back";
|
||||
$text['button-back']['es-cl'] = "Volver";
|
||||
$text['button-back']['pt-pt'] = "Voltar";
|
||||
$text['button-back']['fr-fr'] = "Retour";
|
||||
|
||||
$text['button-search']['en-us'] = "Search";
|
||||
$text['button-search']['es-cl'] = "Buscar";
|
||||
$text['button-search']['pt-pt'] = "Pesquisar";
|
||||
$text['button-search']['fr-fr'] = "Chercher";
|
||||
|
||||
$text['confirm-delete']['en-us'] = "Do you really want to delete this?";
|
||||
$text['confirm-delete']['es-cl'] = "¿Realmente desea eliminar esto?";
|
||||
$text['confirm-delete']['pt-pt'] = "Deseja realmente remover isto?";
|
||||
$text['confirm-delete']['fr-fr'] = "Voulez-vous vraiment supprimer cela?";
|
||||
|
||||
$text['message-add']['en-us'] = "Add Completed";
|
||||
$text['message-add']['es-cl'] = "Agregar Completo";
|
||||
$text['message-add']['pt-pt'] = "Adição Realizada";
|
||||
$text['message-add']['fr-fr'] = "Ajouté";
|
||||
|
||||
$text['message-update']['en-us'] = "Update Completed";
|
||||
$text['message-update']['es-cl'] = "Actualización Completa";
|
||||
$text['message-update']['pt-pt'] = "Actualização Realizada";
|
||||
$text['message-update']['fr-fr'] = "Mis à jour";
|
||||
|
||||
$text['message-delete']['en-us'] = "Delete Completed";
|
||||
$text['message-delete']['es-cl'] = "Eliminación Completa";
|
||||
$text['message-delete']['pt-pt'] = "Remoção Realizada";
|
||||
$text['message-delete']['fr-fr'] = "Supprimé";
|
||||
|
||||
$text['message-required']['en-us'] = "Please provide: ";
|
||||
$text['message-required']['es-cl'] = "Por favor ingrese: ";
|
||||
$text['message-required']['pt-pt'] = "Por favor forneça: ";
|
||||
$text['message-required']['fr-fr'] = "Merci d'indiquer: ";
|
||||
|
||||
$text['message-duplicate']['en-us'] = "Duplicate detected";
|
||||
$text['message-duplicate']['es-cl'] = "Duplicar detectado";
|
||||
$text['message-duplicate']['pt-pt'] = "Duplicar detectado";
|
||||
$text['message-duplicate']['fr-fr'] = "Dupliquer détecté";
|
||||
|
||||
?>
|
||||
|
|
@ -0,0 +1,132 @@
|
|||
<?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>
|
||||
*/
|
||||
include "root.php";
|
||||
require_once "resources/require.php";
|
||||
require_once "resources/check_auth.php";
|
||||
if (if_group("backup_download")) {
|
||||
//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']];
|
||||
}
|
||||
|
||||
//download the backup
|
||||
if ($_GET['a'] == "download" && permission_exists('backup_download')) {
|
||||
session_cache_limiter('public');
|
||||
if ($_GET['type'] = "rec") {
|
||||
if (file_exists($_SESSION['switch']['recordings']['dir'].'/'.base64_decode($_GET['filename']))) {
|
||||
$fd = fopen($_SESSION['switch']['recordings']['dir'].'/'.base64_decode($_GET['filename']), "rb");
|
||||
header("Content-Type: application/force-download");
|
||||
header("Content-Type: application/octet-stream");
|
||||
//header("Content-Transfer-Encoding: binary");
|
||||
header("Content-Type: application/download");
|
||||
header("Content-Description: File Transfer");
|
||||
header('Content-Disposition: attachment; filename=backup.tgz');
|
||||
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($_SESSION['switch']['recordings']['dir'].'/'.base64_decode($_GET['filename'])));
|
||||
header("Pragma: no-cache");
|
||||
header("Expires: 0");
|
||||
ob_clean();
|
||||
fpassthru($fd);
|
||||
}
|
||||
}
|
||||
exit;
|
||||
}
|
||||
|
||||
//upload the backup
|
||||
if (permission_exists('backup_upload')) {
|
||||
if (($_POST['submit'] == "Upload") && is_uploaded_file($_FILES['ulfile']['tmp_name']) && permission_exists('recording_upload')) {
|
||||
if ($_POST['type'] == 'rec') {
|
||||
move_uploaded_file($_FILES['ulfile']['tmp_name'], $_SESSION['switch']['recordings']['dir'].'/'.$_FILES['ulfile']['name']);
|
||||
$savemsg = $text['message-uploaded']." ".$_SESSION['switch']['recordings']['dir']."/". htmlentities($_FILES['ulfile']['name']);
|
||||
//system('chmod -R 744 '.$_SESSION['switch']['recordings']['dir'].'*');
|
||||
unset($_POST['txtCommand']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//add the header
|
||||
require_once "resources/header.php";
|
||||
|
||||
//show the content
|
||||
echo "<table width=\"100%\" border=\"0\" cellpadding=\"7\" cellspacing=\"0\">\n";
|
||||
echo "<tr>\n";
|
||||
echo " <th colspan='2' align='left'>Backup</th>\n";
|
||||
echo "</tr>\n";
|
||||
echo "<tr>\n";
|
||||
echo " <td width='20%' class=\"vncell\" style='text-align: left;'>\n";
|
||||
echo " <a href='".PROJECT_PATH."/app/backup/index.php?a=download'>download</a> \n";
|
||||
echo " </td>\n";
|
||||
echo " <td class=\"row_style1\">\n";
|
||||
echo " <br />\n";
|
||||
echo "To backup your application click on the download link and then choose \n";
|
||||
echo "a safe location on your computer to save the file. You may want to \n";
|
||||
echo "save the backup to more than one computer to prevent the backup from being lost. \n";
|
||||
echo " <br />\n";
|
||||
echo " <br />\n";
|
||||
echo " </td>\n";
|
||||
echo "</tr>\n";
|
||||
echo "</table>\n";
|
||||
|
||||
echo "<span class=\"\" >Restore Application</span><br>\n";
|
||||
echo "<div class='borderlight' style='padding:10px;'>\n";
|
||||
//Browse to Backup File
|
||||
echo "Click on 'Browse' then locate and select the application backup file named '.bak'. \n";
|
||||
echo "Then click on 'Restore.' \n";
|
||||
echo "<br><br>";
|
||||
|
||||
echo "<div align='center'>";
|
||||
echo "<form name='frmrestore' method='post' action='restore2.php'>";
|
||||
echo " <table border='0' cellpadding='0' cellspacing='0'>";
|
||||
echo " <tr>\n";
|
||||
echo " <td class='' colspan='2' nowrap='nowrap' align='left'>\n";
|
||||
echo " <table width='200'><tr>";
|
||||
echo " <td><input type='file' class='frm' onChange='frmrestore.fileandpath.value = frmrestore.filename.value;' style='font-family: verdana; font-size: 11px;' name='filename'></td>";
|
||||
echo " <td>";
|
||||
echo " <input type='hidden' name='fileandpath' value=''>\n";
|
||||
echo " <input type='submit' class='btn' value='Restore'>\n";
|
||||
echo " </td>";
|
||||
echo " </tr></table>";
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
echo " </table>\n";
|
||||
echo "</form>\n";
|
||||
echo "</div>";
|
||||
|
||||
echo "</div>";
|
||||
|
||||
//show the footer
|
||||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
<?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>
|
||||
*/
|
||||
|
||||
// make sure the PATH_SEPARATOR is defined
|
||||
if (!defined("PATH_SEPARATOR")) {
|
||||
if ( strpos( $_ENV[ "OS" ], "Win" ) !== false ) { define("PATH_SEPARATOR", ";"); } else { define("PATH_SEPARATOR", ":"); }
|
||||
}
|
||||
|
||||
// make sure the document_root is set
|
||||
$_SERVER["SCRIPT_FILENAME"] = str_replace("\\", "/", $_SERVER["SCRIPT_FILENAME"]);
|
||||
$_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]);
|
||||
$_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]);
|
||||
//echo "DOCUMENT_ROOT: ".$_SERVER["DOCUMENT_ROOT"]."<br />\n";
|
||||
//echo "PHP_SELF: ".$_SERVER["PHP_SELF"]."<br />\n";
|
||||
//echo "SCRIPT_FILENAME: ".$_SERVER["SCRIPT_FILENAME"]."<br />\n";
|
||||
|
||||
// if the project directory exists then add it to the include path otherwise add the document root to the include path
|
||||
if (is_dir($_SERVER["DOCUMENT_ROOT"].'/fusionpbx')){
|
||||
if(!defined('PROJECT_PATH')) { define('PROJECT_PATH', '/fusionpbx'); }
|
||||
set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER["DOCUMENT_ROOT"].'/fusionpbx' );
|
||||
}
|
||||
else {
|
||||
if(!defined('PROJECT_PATH')) { define('PROJECT_PATH', ''); }
|
||||
set_include_path( get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT'] );
|
||||
}
|
||||
|
||||
?>
|
||||
Loading…
Reference in New Issue