From e265cca3789ddbcc75a81d863d01f426fa455514 Mon Sep 17 00:00:00 2001 From: Nate Jones Date: Tue, 12 May 2015 22:42:20 +0000 Subject: [PATCH] Upgrade: Using Advanced > Upgrade > Source Code now automatically updates switch /scripts/ folder contents (on by default), keeping switch scripts up to date with each system upgrade. Option to opt out of auto script updates is available via a Default Setting (switch > scripts_update > boolean > false). --- core/upgrade/app_languages.php | 20 ++++++++++++++------ core/upgrade/index.php | 24 +++++++++++++++++++++++- 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/core/upgrade/app_languages.php b/core/upgrade/app_languages.php index d28b420f1b..6f96884a69 100644 --- a/core/upgrade/app_languages.php +++ b/core/upgrade/app_languages.php @@ -48,6 +48,14 @@ $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_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'] = "Source Fichiers 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_schema']['en-us'] = "Schema Verified"; $text['message-upgrade_schema']['es-cl'] = "Esquema Verified"; $text['message-upgrade_schema']['pt-pt'] = "Esquema Verificado"; @@ -256,13 +264,13 @@ $text['header-database_type']['pt-br'] = "Tipo de base de dados"; $text['header-database_type']['pl'] = "Rodzaj bazy danych"; $text['header-database_type']['sv-se'] = "Databas Typ"; -$text['description-upgrade_svn']['en-us'] = "Updates FusionPBX source files from the Subversion respository."; -$text['description-upgrade_svn']['es-cl'] = "Archivos de origen Actualizaciones FusionPBX del repositorio Subversion."; -$text['description-upgrade_svn']['pt-pt'] = "Arquivos de origem Atualizações FusionPBX do repositório Subversion."; -$text['description-upgrade_svn']['fr-fr'] = "Fichiers sources des mises à jour FusionPBX du respository Subversion."; +$text['description-upgrade_svn']['en-us'] = "Updates FusionPBX source files and scripts 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'] = "Fichiers sources des mises à jour FusionPBX du respository."; $text['description-upgrade_svn']['pt-br'] = "Arquivos de atualização"; -$text['description-upgrade_svn']['pl'] = "Uaktualnia pliki źródłowe FusionPBX z przechowalni Subversion."; -$text['description-upgrade_svn']['sv-se'] = "Uppdaterar FusionPBX källfiler från Subversion respository ."; +$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_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."; diff --git a/core/upgrade/index.php b/core/upgrade/index.php index d918140196..2e29760fdc 100644 --- a/core/upgrade/index.php +++ b/core/upgrade/index.php @@ -69,7 +69,29 @@ if (sizeof($_POST) > 0) { $response_message = $text['message-upgrade_svn_failed']; } else { - $response_message = $text['message-upgrade_svn']; + //update scripts folder, if allowed (default) + if ($_SESSION['switch']['scripts_update']['boolean'] != 'false' && $_SESSION['switch']['scripts']['dir'] != '') { + $scripts_dir_target = $_SESSION['switch']['scripts']['dir']; + $scripts_dir_source = realpath($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/scripts'); + foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($scripts_dir_source)) as $file_path_source) { + if ( + substr_count($file_path_source, '/..') == 0 && + substr_count($file_path_source, '/.') == 0 && + substr_count($file_path_source, '/.svn') == 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') { + //echo $file_path_source.' ---> '.$file_path_target.'
'; + copy($file_path_source, $file_path_target); + chmod($file_path_target, 0755); + } + } + } + $response_message = $text['message-upgrade_svn_scripts']; + } + else { + $response_message = $text['message-upgrade_svn']; + } } }