Upgrade: Converted Advanced > Upgrade to use Git instead of SVN (untested).

Misc: Added provisions elsewhere to account for .git/* files, as currently done with .svn/* files.
This commit is contained in:
reliberate 2015-07-02 17:25:41 -06:00
parent 64a05826bc
commit e24526fb92
13 changed files with 100 additions and 96 deletions

View File

@ -55,12 +55,13 @@ else {
$htmlfilelist = '';
$dirlist = opendir($dir);
$dir_array = array();
while (false !== ($file = readdir($dirlist))) {
while (false !== ($file = readdir($dirlist))) {
if ($file != "." AND $file != ".."){
$newpath = $dir.'/'.$file;
$level = explode('/',$newpath);
if (substr($newpath, -4) == ".svn") {
//ignore .svn dir and subdir
if (substr($newpath, -4) == ".svn" ||
substr($newpath, -4) == ".git") {
//ignore .svn and .git dir and subdir
}
elseif (substr($newpath, -3) == ".db") {
//ignore .db files
@ -243,7 +244,7 @@ if ($_SESSION["app"]["edit"]["dir"] == "grammar") {
echo recur_dir($_SESSION['switch']['grammar']['dir']);
}
if ($_SESSION["app"]["edit"]["dir"] == "provision") {
switch (PHP_OS) {
case "Linux":
if (file_exists('/etc/fusionpbx/resources/templates/provision')) {

View File

@ -793,8 +793,9 @@ include "root.php";
if ($file != "." AND $file != ".."){
$new_path = $dir.'/'.$file;
$level = explode('/',$new_path);
if (substr($new_path, -4) == ".svn") {
//ignore .svn dir and subdir
if (substr($new_path, -4) == ".svn" ||
substr($new_path, -4) == ".git") {
//ignore .svn and .git dir and subdir
}
elseif (substr($new_path, -3) == ".db") {
//ignore .db files

View File

@ -297,7 +297,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
$theme_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes';
if ($handle = opendir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes')) {
while (false !== ($dir_name = readdir($handle))) {
if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && is_dir($theme_dir.'/'.$dir_name)) {
if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && $dir_name != ".git" && is_dir($theme_dir.'/'.$dir_name)) {
$dir_label = str_replace('_', ' ', $dir_name);
$dir_label = str_replace('-', ' ', $dir_label);
if ($dir_name == $default_setting_value) {

View File

@ -362,7 +362,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
$theme_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes';
if ($handle = opendir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes')) {
while (false !== ($dir_name = readdir($handle))) {
if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && is_dir($theme_dir.'/'.$dir_name)) {
if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && $dir_name != ".git" && is_dir($theme_dir.'/'.$dir_name)) {
$dir_label = str_replace('_', ' ', $dir_name);
$dir_label = str_replace('-', ' ', $dir_label);
if ($dir_name == $row['domain_setting_value']) {

View File

@ -20,7 +20,7 @@
//permission details
$y = 0;
$apps[$x]['permissions'][$y]['name'] = "upgrade_svn";
$apps[$x]['permissions'][$y]['name'] = "upgrade_source";
$apps[$x]['permissions'][$y]['menu']['uuid'] = "71051909-81ff-4301-9997-52b11206b3a6";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;

View File

@ -40,35 +40,35 @@ $text['option-false']['sv-se'] = "Falsk";
$text['option-false']['uk'] = "Ні";
$text['option-false']['de-at'] = "Aus";
$text['message-upgrade_svn_scripts']['en-us'] = "Source Files and Scripts Updated";
$text['message-upgrade_svn_scripts']['es-cl'] = "Fuente archivos actualizados";
$text['message-upgrade_svn_scripts']['pt-pt'] = "Fonte arquivos atualizados";
$text['message-upgrade_svn_scripts']['fr-fr'] = "Code source et scripts mis à jour";
$text['message-upgrade_svn_scripts']['pt-br'] = "Fonte de arquivos atualizados";
$text['message-upgrade_svn_scripts']['pl'] = "Aktualizacja plików źródłowych powiodła się";
$text['message-upgrade_svn_scripts']['sv-se'] = "Källfiler Uppdaterade";
$text['message-upgrade_svn_scripts']['uk'] = "Вихідні файли і сценарії оновлено";
$text['message-upgrade_svn_scripts']['de-at'] = "Quellcode und Scripte aktualisieren";
$text['message-upgrade_source_scripts']['en-us'] = "Source Files and Scripts Updated";
$text['message-upgrade_source_scripts']['es-cl'] = "Fuente archivos actualizados";
$text['message-upgrade_source_scripts']['pt-pt'] = "Fonte arquivos atualizados";
$text['message-upgrade_source_scripts']['fr-fr'] = "Code source et scripts mis à jour";
$text['message-upgrade_source_scripts']['pt-br'] = "Fonte de arquivos atualizados";
$text['message-upgrade_source_scripts']['pl'] = "Aktualizacja plików źródłowych powiodła się";
$text['message-upgrade_source_scripts']['sv-se'] = "Källfiler Uppdaterade";
$text['message-upgrade_source_scripts']['uk'] = "Вихідні файли і сценарії оновлено";
$text['message-upgrade_source_scripts']['de-at'] = "Quellcode und Scripte aktualisieren";
$text['message-upgrade_svn_failed']['en-us'] = "Source Files Update Failed - Please Run SVN Update Via Console";
$text['message-upgrade_svn_failed']['es-cl'] = "Fuente actualización de archivos Error - Por favor, ejecuta svn update Vía Consola";
$text['message-upgrade_svn_failed']['pt-pt'] = "Fonte Arquivos Update Failed - execute o SVN Atualização Via Console";
$text['message-upgrade_svn_failed']['fr-fr'] = "La mise à jour du code source à échoué, Veuillez exécuter svn update depuis la console";
$text['message-upgrade_svn_failed']['pt-br'] = "Fonte arquivos atualialização falhou - execute o SVN Atualização Via Console ";
$text['message-upgrade_svn_failed']['pl'] = "Aktualizacja plików źródłowych nie powiodła się - użyj polecenia 'SVN Update' w konsoli.";
$text['message-upgrade_svn_failed']['sv-se'] = "Källfiler Uppdatering misslyckades - Vänligen Kör SVN Update Via Console";
$text['message-upgrade_svn_failed']['uk'] = "Помилка оновлення вихідних файлів - Запустіть оновлення з SVN в консолі";
$text['message-upgrade_svn_failed']['de-at'] = "Quellcode Aktualisierung fehlgeschlagen - Bitte führen Sie SVN Update in der Konsole aus";
$text['message-upgrade_source_failed']['en-us'] = "Source Files Update Failed";
$text['message-upgrade_source_failed']['es-cl'] = "Fuente actualización de archivos Error";
$text['message-upgrade_source_failed']['pt-pt'] = "Fonte Arquivos Update Failed";
$text['message-upgrade_source_failed']['fr-fr'] = "La mise à jour du code source à échoué";
$text['message-upgrade_source_failed']['pt-br'] = "Fonte arquivos atualialização falhou";
$text['message-upgrade_source_failed']['pl'] = "Aktualizacja plików źródłowych nie powiodła się.";
$text['message-upgrade_source_failed']['sv-se'] = "Källfiler Uppdatering misslyckades";
$text['message-upgrade_source_failed']['uk'] = "Помилка оновлення вихідних файлів";
$text['message-upgrade_source_failed']['de-at'] = "Quellcode Aktualisierung fehlgeschlagen";
$text['message-upgrade_svn']['en-us'] = "Source Files Updated";
$text['message-upgrade_svn']['es-cl'] = "Fuente archivos actualizados";
$text['message-upgrade_svn']['pt-pt'] = "Fonte arquivos atualizados";
$text['message-upgrade_svn']['fr-fr'] = "Code source mis à jour";
$text['message-upgrade_svn']['pt-br'] = "Fonte de arquivos atualizados";
$text['message-upgrade_svn']['pl'] = "Aktualizacja plików źródłowych powiodła się";
$text['message-upgrade_svn']['sv-se'] = "Källfiler Uppdaterade";
$text['message-upgrade_svn']['uk'] = "Вихідні файли оновлено";
$text['message-upgrade_svn']['de-at'] = "Quellcode aktualisiert";
$text['message-upgrade_source']['en-us'] = "Source Files Updated";
$text['message-upgrade_source']['es-cl'] = "Fuente archivos actualizados";
$text['message-upgrade_source']['pt-pt'] = "Fonte arquivos atualizados";
$text['message-upgrade_source']['fr-fr'] = "Code source mis à jour";
$text['message-upgrade_source']['pt-br'] = "Fonte de arquivos atualizados";
$text['message-upgrade_source']['pl'] = "Aktualizacja plików źródłowych powiodła się";
$text['message-upgrade_source']['sv-se'] = "Källfiler Uppdaterade";
$text['message-upgrade_source']['uk'] = "Вихідні файли оновлено";
$text['message-upgrade_source']['de-at'] = "Quellcode aktualisiert";
$text['message-upgrade_schema']['en-us'] = "Schema Verified";
$text['message-upgrade_schema']['es-cl'] = "Esquema Verified";
@ -120,15 +120,15 @@ $text['login-message_text']['sv-se'] = "Håll dig uppdaterad med de FusionPBX pr
$text['login-message_text']['uk'] = "Keep up with the FusionPBX project by configuring your preferences in the newly added Notifications section, under the System menu! ";
$text['login-message_text']['de-at'] = "Halten Sie sich auf dem Laufenden über FusionPBX indem Sie die Benachrichtigungseinstellungen im System Menü setzen.";
$text['label-upgrade_svn']['en-us'] = "Source Code";
$text['label-upgrade_svn']['es-cl'] = "Código Fuente";
$text['label-upgrade_svn']['pt-pt'] = "Source Code";
$text['label-upgrade_svn']['fr-fr'] = "Code Source";
$text['label-upgrade_svn']['pt-br'] = "Source Code";
$text['label-upgrade_svn']['pl'] = "Kod źródłowy";
$text['label-upgrade_svn']['sv-se'] = "Källkod";
$text['label-upgrade_svn']['uk'] = "Вихідний код";
$text['label-upgrade_svn']['de-at'] = "Quellcode";
$text['label-upgrade_source']['en-us'] = "Source Code";
$text['label-upgrade_source']['es-cl'] = "Código Fuente";
$text['label-upgrade_source']['pt-pt'] = "Source Code";
$text['label-upgrade_source']['fr-fr'] = "Code Source";
$text['label-upgrade_source']['pt-br'] = "Source Code";
$text['label-upgrade_source']['pl'] = "Kod źródłowy";
$text['label-upgrade_source']['sv-se'] = "Källkod";
$text['label-upgrade_source']['uk'] = "Вихідний код";
$text['label-upgrade_source']['de-at'] = "Quellcode";
$text['label-upgrade_schema']['en-us'] = "Schema";
$text['label-upgrade_schema']['es-cl'] = "Esquema";
@ -300,15 +300,15 @@ $text['header-upgrade']['sv-se'] = "Uppgradera";
$text['header-upgrade']['uk'] = "Оновлення";
$text['header-upgrade']['de-at'] = "Aktualisieren";
$text['header-svn_update_results']['en-us'] = "SVN Results";
$text['header-svn_update_results']['es-cl'] = "SVN Respuesta";
$text['header-svn_update_results']['pt-pt'] = "SVN Response";
$text['header-svn_update_results']['fr-fr'] = "Résultats SVN";
$text['header-svn_update_results']['pt-br'] = "Resposta do SVN ";
$text['header-svn_update_results']['pl'] = "Rezultat SVN";
$text['header-svn_update_results']['sv-se'] = "SVN Resultat";
$text['header-svn_update_results']['uk'] = "Результати з SVN";
$text['header-svn_update_results']['de-at'] = "SVN Ergebnisse";
$text['header-source_update_results']['en-us'] = "Results";
$text['header-source_update_results']['es-cl'] = "Respuesta";
$text['header-source_update_results']['pt-pt'] = "Response";
$text['header-source_update_results']['fr-fr'] = "Résultats";
$text['header-source_update_results']['pt-br'] = "Resposta";
$text['header-source_update_results']['pl'] = "Rezultat";
$text['header-source_update_results']['sv-se'] = "Resultat";
$text['header-source_update_results']['uk'] = "Результати";
$text['header-source_update_results']['de-at'] = "Ergebnisse";
$text['header-message']['en-us'] = "Message";
$text['header-message']['es-cl'] = "Mensaje";
@ -330,15 +330,15 @@ $text['header-database_type']['sv-se'] = "Databas Typ";
$text['header-database_type']['uk'] = "Тип бази даних";
$text['header-database_type']['de-at'] = "Datenbank Typ";
$text['description-upgrade_svn']['en-us'] = "Updates FusionPBX source files from the respository.";
$text['description-upgrade_svn']['es-cl'] = "Archivos de origen Actualizaciones FusionPBX del repositorio.";
$text['description-upgrade_svn']['pt-pt'] = "Arquivos de origem Atualizações FusionPBX do repositório.";
$text['description-upgrade_svn']['fr-fr'] = "Mise à jour du code source de FusionPBX depuis le dépôt.";
$text['description-upgrade_svn']['pt-br'] = "Arquivos de atualização";
$text['description-upgrade_svn']['pl'] = "Uaktualnia pliki źródłowe FusionPBX z przechowalni.";
$text['description-upgrade_svn']['sv-se'] = "Uppdaterar FusionPBX källfiler från respository.";
$text['description-upgrade_svn']['uk'] = "Оновлення вихідних файлів FusionPBX з репозиторію Subversion .";
$text['description-upgrade_svn']['de-at'] = "Aktualisiert den FusionPBX Quellcode aus dem Repository";
$text['description-upgrade_source']['en-us'] = "Updates FusionPBX source files from the respository.";
$text['description-upgrade_source']['es-cl'] = "Archivos de origen Actualizaciones FusionPBX del repositorio.";
$text['description-upgrade_source']['pt-pt'] = "Arquivos de origem Atualizações FusionPBX do repositório.";
$text['description-upgrade_source']['fr-fr'] = "Mise à jour du code source de FusionPBX depuis le dépôt.";
$text['description-upgrade_source']['pt-br'] = "Arquivos de atualização";
$text['description-upgrade_source']['pl'] = "Uaktualnia pliki źródłowe FusionPBX z przechowalni.";
$text['description-upgrade_source']['sv-se'] = "Uppdaterar FusionPBX källfiler från respository.";
$text['description-upgrade_source']['uk'] = "Оновлення вихідних файлів FusionPBX з репозиторію Subversion .";
$text['description-upgrade_source']['de-at'] = "Aktualisiert den FusionPBX Quellcode aus dem Repository";
$text['description-upgrade_schema']['en-us'] = "Checks to ensure table and field integrity in the database.";
$text['description-upgrade_schema']['es-cl'] = "Los cheques para asegurar mesa y campo de integridad en la base de datos.";

View File

@ -32,7 +32,7 @@ require_once "resources/check_auth.php";
//check the permission
if (
!permission_exists('upgrade_svn') &&
!permission_exists('upgrade_source') &&
!permission_exists('upgrade_schema') &&
!permission_exists('upgrade_apps') &&
!permission_exists('menu_restore') &&
@ -50,14 +50,14 @@ if (sizeof($_POST) > 0) {
$do = $_POST['do'];
// run svn update
if ($do["svn"] && permission_exists("upgrade_svn") && !is_dir("/usr/share/examples/fusionpbx")) {
$cmd = "svn up /var/www/fusionpbx";
exec($cmd, $response_svn_update);
// run source update
if ($do["source"] && permission_exists("upgrade_source") && !is_dir("/usr/share/examples/fusionpbx")) {
chdir("/var/www/fusionpbx/");
exec("git pull", $response_source_update);
$update_failed = true;
if (sizeof($response_svn_update) > 0) {
$_SESSION["response_svn_update"] = $response_svn_update;
foreach ($response_svn_update as $response_line) {
if (sizeof($response_source_update) > 0) {
$_SESSION["response_source_update"] = $response_source_update;
foreach ($response_source_update as $response_line) {
if (substr_count($response_line, "Updated to revision") > 0 || substr_count($response_line, "At revision") > 0) {
$update_failed = false;
}
@ -66,7 +66,7 @@ if (sizeof($_POST) > 0) {
if ($update_failed) {
$_SESSION["message_delay"] = 3500;
$_SESSION["message_mood"] = 'negative';
$response_message = $text['message-upgrade_svn_failed'];
$response_message = $text['message-upgrade_source_failed'];
}
else {
//update scripts folder, if allowed (default)
@ -77,7 +77,8 @@ if (sizeof($_POST) > 0) {
if (
substr_count($file_path_source, '/..') == 0 &&
substr_count($file_path_source, '/.') == 0 &&
substr_count($file_path_source, '/.svn') == 0
substr_count($file_path_source, '/.svn') == 0 &&
substr_count($file_path_source, '/.git') == 0 &&
) {
$file_path_target = str_replace($scripts_dir_source, $scripts_dir_target, $file_path_source);
if ($file_path_target != $scripts_dir_target.'/resources/config.lua') {
@ -87,10 +88,10 @@ if (sizeof($_POST) > 0) {
}
}
}
$response_message = $text['message-upgrade_svn_scripts'];
$response_message = $text['message-upgrade_source_scripts'];
}
else {
$response_message = $text['message-upgrade_svn'];
$response_message = $text['message-upgrade_source'];
}
}
}
@ -153,16 +154,16 @@ echo "<br><br>";
echo "<form name='frm' method='post' action=''>\n";
if (permission_exists("upgrade_svn") && !is_dir("/usr/share/examples/fusionpbx")) {
if (permission_exists("upgrade_source") && !is_dir("/usr/share/examples/fusionpbx")) {
echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
echo "<tr>\n";
echo " <td width='30%' class='vncell'>\n";
echo " ".$text['label-upgrade_svn'];
echo " ".$text['label-upgrade_source'];
echo " </td>\n";
echo " <td width='70%' class='vtable' style='height: 50px;'>\n";
echo " <label for='do_svn'>";
echo " <input type='checkbox' class='formfld' name='do[svn]' id='do_svn' value='1'>";
echo " ".$text['description-upgrade_svn'];
echo " <label for='do_source'>";
echo " <input type='checkbox' class='formfld' name='do[source]' id='do_source' value='1'>";
echo " ".$text['description-upgrade_source'];
echo " </label>\n";
echo " </td>\n";
echo "</tr>\n";
@ -267,16 +268,16 @@ echo "<br><br>";
echo "</form>\n";
// output result of svn update
if (sizeof($_SESSION["response_svn_update"]) > 0) {
// output result of source update
if (sizeof($_SESSION["response_source_update"]) > 0) {
echo "<br />";
echo "<b>".$text['header-svn_update_results']."</b>";
echo "<b>".$text['header-source_update_results']."</b>";
echo "<br /><br />";
echo "<pre>";
echo implode("\n", $_SESSION["response_svn_update"]);
echo implode("\n", $_SESSION["response_source_update"]);
echo "</pre>";
echo "<br /><br />";
unset($_SESSION["response_svn_update"]);
unset($_SESSION["response_source_update"]);
}

View File

@ -38,7 +38,7 @@
include "root.php";
require_once "resources/require.php";
require_once "resources/check_auth.php";
if (permission_exists('upgrade_schema') || permission_exists('upgrade_svn') || if_group("superadmin")) {
if (permission_exists('upgrade_schema') || permission_exists('upgrade_source') || if_group("superadmin")) {
//echo "access granted";
}
else {

View File

@ -1038,8 +1038,9 @@ function number_pad($number,$n) {
if ($file != '.' && $file != '..') {
$newpath = $dir.'/'.$file;
$level = explode('/',$newpath);
if (substr($newpath, -4) == ".svn") {
//ignore .svn dir and subdir
if (substr($newpath, -4) == ".svn" ||
substr($newpath, -4) == ".git") {
//ignore .svn and .git dir and subdir
}
else {
if (is_dir($newpath)) { //directories

View File

@ -1745,7 +1745,7 @@ EOL;
$theme_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes';
if ($handle = opendir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes')) {
while (false !== ($dir_name = readdir($handle))) {
if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && is_readable($theme_dir.'/'.$dir_name)) {
if ($dir_name != "." && $dir_name != ".." && $dir_name != ".svn" && $dir_name != ".git" && is_readable($theme_dir.'/'.$dir_name)) {
$dir_label = str_replace('_', ' ', $dir_name);
$dir_label = str_replace('-', ' ', $dir_label);
if ($dir_name == $install_template_name) {

View File

@ -180,7 +180,7 @@
$_cacheDirs = new RecursiveDirectoryIterator($_dir);
$_cache = new RecursiveIteratorIterator($_cacheDirs, RecursiveIteratorIterator::CHILD_FIRST);
foreach ($_cache as $_file) {
if (substr(basename($_file->getPathname()),0,1) == '.' || strpos($_file, '.svn') !== false) continue;
if (substr(basename($_file->getPathname()),0,1) == '.' || strpos($_file, '.svn') !== false || strpos($_file, '.git') !== false) continue;
// directory ?
if ($_file->isDir()) {
if (!$_cache->isDot()) {

View File

@ -72,7 +72,7 @@ class Smarty_Internal_Utility
$_compile = new RecursiveIteratorIterator($_compileDirs);
foreach ($_compile as $_fileinfo) {
$_file = $_fileinfo->getFilename();
if (substr(basename($_fileinfo->getPathname()),0,1) == '.' || strpos($_file, '.svn') !== false) continue;
if (substr(basename($_fileinfo->getPathname()),0,1) == '.' || strpos($_file, '.svn') !== false || strpos($_file, '.git') !== false) continue;
if (!substr_compare($_file, $extension, - strlen($extension)) == 0) continue;
if ($_fileinfo->getPath() == substr($_dir, 0, -1)) {
$_template_file = $_file;
@ -136,7 +136,7 @@ class Smarty_Internal_Utility
$_compile = new RecursiveIteratorIterator($_compileDirs);
foreach ($_compile as $_fileinfo) {
$_file = $_fileinfo->getFilename();
if (substr(basename($_fileinfo->getPathname()),0,1) == '.' || strpos($_file, '.svn') !== false) continue;
if (substr(basename($_fileinfo->getPathname()),0,1) == '.' || strpos($_file, '.svn') !== false || strpos($_file, '.git') !== false) continue;
if (!substr_compare($_file, $extension, - strlen($extension)) == 0) continue;
if ($_fileinfo->getPath() == substr($_dir, 0, -1)) {
$_config_file = $_file;
@ -230,8 +230,7 @@ class Smarty_Internal_Utility
}
$_compile = new RecursiveIteratorIterator($_compileDirs, RecursiveIteratorIterator::CHILD_FIRST);
foreach ($_compile as $_file) {
if (substr(basename($_file->getPathname()), 0, 1) == '.' || strpos($_file, '.svn') !== false)
continue;
if (substr(basename($_file->getPathname()), 0, 1) == '.' || strpos($_file, '.svn') !== false || strpos($_file, '.git') !== false) continue;
$_filepath = (string) $_file;

View File

@ -694,8 +694,9 @@ if (strlen($_SESSION['message']) > 0) {
if ($file != "." AND $file != ".."){
$new_path = $dir.'/'.$file;
$level = explode('/',$new_path);
if (substr($new_path, -4) == ".svn") {
//ignore .svn dir and subdir
if (substr($new_path, -4) == ".svn" ||
substr($new_path, -4) == ".git") {
//ignore .svn and .git dir and subdir
}
elseif (substr($new_path, -3) == ".db") {
//ignore .db files