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

View File

@ -793,8 +793,9 @@ include "root.php";
if ($file != "." AND $file != ".."){ if ($file != "." AND $file != ".."){
$new_path = $dir.'/'.$file; $new_path = $dir.'/'.$file;
$level = explode('/',$new_path); $level = explode('/',$new_path);
if (substr($new_path, -4) == ".svn") { if (substr($new_path, -4) == ".svn" ||
//ignore .svn dir and subdir substr($new_path, -4) == ".git") {
//ignore .svn and .git dir and subdir
} }
elseif (substr($new_path, -3) == ".db") { elseif (substr($new_path, -3) == ".db") {
//ignore .db files //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'; $theme_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes';
if ($handle = opendir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes')) { if ($handle = opendir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes')) {
while (false !== ($dir_name = readdir($handle))) { 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_name);
$dir_label = str_replace('-', ' ', $dir_label); $dir_label = str_replace('-', ' ', $dir_label);
if ($dir_name == $default_setting_value) { 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'; $theme_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes';
if ($handle = opendir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes')) { if ($handle = opendir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes')) {
while (false !== ($dir_name = readdir($handle))) { 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_name);
$dir_label = str_replace('-', ' ', $dir_label); $dir_label = str_replace('-', ' ', $dir_label);
if ($dir_name == $row['domain_setting_value']) { if ($dir_name == $row['domain_setting_value']) {

View File

@ -20,7 +20,7 @@
//permission details //permission details
$y = 0; $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]['menu']['uuid'] = "71051909-81ff-4301-9997-52b11206b3a6";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin"; $apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++; $y++;

View File

@ -40,35 +40,35 @@ $text['option-false']['sv-se'] = "Falsk";
$text['option-false']['uk'] = "Ні"; $text['option-false']['uk'] = "Ні";
$text['option-false']['de-at'] = "Aus"; $text['option-false']['de-at'] = "Aus";
$text['message-upgrade_svn_scripts']['en-us'] = "Source Files and Scripts Updated"; $text['message-upgrade_source_scripts']['en-us'] = "Source Files and Scripts Updated";
$text['message-upgrade_svn_scripts']['es-cl'] = "Fuente archivos actualizados"; $text['message-upgrade_source_scripts']['es-cl'] = "Fuente archivos actualizados";
$text['message-upgrade_svn_scripts']['pt-pt'] = "Fonte arquivos atualizados"; $text['message-upgrade_source_scripts']['pt-pt'] = "Fonte arquivos atualizados";
$text['message-upgrade_svn_scripts']['fr-fr'] = "Code source et scripts mis à jour"; $text['message-upgrade_source_scripts']['fr-fr'] = "Code source et scripts mis à jour";
$text['message-upgrade_svn_scripts']['pt-br'] = "Fonte de arquivos atualizados"; $text['message-upgrade_source_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_source_scripts']['pl'] = "Aktualizacja plików źródłowych powiodła się";
$text['message-upgrade_svn_scripts']['sv-se'] = "Källfiler Uppdaterade"; $text['message-upgrade_source_scripts']['sv-se'] = "Källfiler Uppdaterade";
$text['message-upgrade_svn_scripts']['uk'] = "Вихідні файли і сценарії оновлено"; $text['message-upgrade_source_scripts']['uk'] = "Вихідні файли і сценарії оновлено";
$text['message-upgrade_svn_scripts']['de-at'] = "Quellcode und Scripte aktualisieren"; $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_source_failed']['en-us'] = "Source Files Update Failed";
$text['message-upgrade_svn_failed']['es-cl'] = "Fuente actualización de archivos Error - Por favor, ejecuta svn update Vía Consola"; $text['message-upgrade_source_failed']['es-cl'] = "Fuente actualización de archivos Error";
$text['message-upgrade_svn_failed']['pt-pt'] = "Fonte Arquivos Update Failed - execute o SVN Atualização Via Console"; $text['message-upgrade_source_failed']['pt-pt'] = "Fonte Arquivos Update Failed";
$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_source_failed']['fr-fr'] = "La mise à jour du code source à échoué";
$text['message-upgrade_svn_failed']['pt-br'] = "Fonte arquivos atualialização falhou - execute o SVN Atualização Via Console "; $text['message-upgrade_source_failed']['pt-br'] = "Fonte arquivos atualialização falhou";
$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_source_failed']['pl'] = "Aktualizacja plików źródłowych nie powiodła się.";
$text['message-upgrade_svn_failed']['sv-se'] = "Källfiler Uppdatering misslyckades - Vänligen Kör SVN Update Via Console"; $text['message-upgrade_source_failed']['sv-se'] = "Källfiler Uppdatering misslyckades";
$text['message-upgrade_svn_failed']['uk'] = "Помилка оновлення вихідних файлів - Запустіть оновлення з SVN в консолі"; $text['message-upgrade_source_failed']['uk'] = "Помилка оновлення вихідних файлів";
$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']['de-at'] = "Quellcode Aktualisierung fehlgeschlagen";
$text['message-upgrade_svn']['en-us'] = "Source Files Updated"; $text['message-upgrade_source']['en-us'] = "Source Files Updated";
$text['message-upgrade_svn']['es-cl'] = "Fuente archivos actualizados"; $text['message-upgrade_source']['es-cl'] = "Fuente archivos actualizados";
$text['message-upgrade_svn']['pt-pt'] = "Fonte arquivos atualizados"; $text['message-upgrade_source']['pt-pt'] = "Fonte arquivos atualizados";
$text['message-upgrade_svn']['fr-fr'] = "Code source mis à jour"; $text['message-upgrade_source']['fr-fr'] = "Code source mis à jour";
$text['message-upgrade_svn']['pt-br'] = "Fonte de arquivos atualizados"; $text['message-upgrade_source']['pt-br'] = "Fonte de arquivos atualizados";
$text['message-upgrade_svn']['pl'] = "Aktualizacja plików źródłowych powiodła się"; $text['message-upgrade_source']['pl'] = "Aktualizacja plików źródłowych powiodła się";
$text['message-upgrade_svn']['sv-se'] = "Källfiler Uppdaterade"; $text['message-upgrade_source']['sv-se'] = "Källfiler Uppdaterade";
$text['message-upgrade_svn']['uk'] = "Вихідні файли оновлено"; $text['message-upgrade_source']['uk'] = "Вихідні файли оновлено";
$text['message-upgrade_svn']['de-at'] = "Quellcode aktualisiert"; $text['message-upgrade_source']['de-at'] = "Quellcode aktualisiert";
$text['message-upgrade_schema']['en-us'] = "Schema Verified"; $text['message-upgrade_schema']['en-us'] = "Schema Verified";
$text['message-upgrade_schema']['es-cl'] = "Esquema 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']['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['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_source']['en-us'] = "Source Code";
$text['label-upgrade_svn']['es-cl'] = "Código Fuente"; $text['label-upgrade_source']['es-cl'] = "Código Fuente";
$text['label-upgrade_svn']['pt-pt'] = "Source Code"; $text['label-upgrade_source']['pt-pt'] = "Source Code";
$text['label-upgrade_svn']['fr-fr'] = "Code Source"; $text['label-upgrade_source']['fr-fr'] = "Code Source";
$text['label-upgrade_svn']['pt-br'] = "Source Code"; $text['label-upgrade_source']['pt-br'] = "Source Code";
$text['label-upgrade_svn']['pl'] = "Kod źródłowy"; $text['label-upgrade_source']['pl'] = "Kod źródłowy";
$text['label-upgrade_svn']['sv-se'] = "Källkod"; $text['label-upgrade_source']['sv-se'] = "Källkod";
$text['label-upgrade_svn']['uk'] = "Вихідний код"; $text['label-upgrade_source']['uk'] = "Вихідний код";
$text['label-upgrade_svn']['de-at'] = "Quellcode"; $text['label-upgrade_source']['de-at'] = "Quellcode";
$text['label-upgrade_schema']['en-us'] = "Schema"; $text['label-upgrade_schema']['en-us'] = "Schema";
$text['label-upgrade_schema']['es-cl'] = "Esquema"; $text['label-upgrade_schema']['es-cl'] = "Esquema";
@ -300,15 +300,15 @@ $text['header-upgrade']['sv-se'] = "Uppgradera";
$text['header-upgrade']['uk'] = "Оновлення"; $text['header-upgrade']['uk'] = "Оновлення";
$text['header-upgrade']['de-at'] = "Aktualisieren"; $text['header-upgrade']['de-at'] = "Aktualisieren";
$text['header-svn_update_results']['en-us'] = "SVN Results"; $text['header-source_update_results']['en-us'] = "Results";
$text['header-svn_update_results']['es-cl'] = "SVN Respuesta"; $text['header-source_update_results']['es-cl'] = "Respuesta";
$text['header-svn_update_results']['pt-pt'] = "SVN Response"; $text['header-source_update_results']['pt-pt'] = "Response";
$text['header-svn_update_results']['fr-fr'] = "Résultats SVN"; $text['header-source_update_results']['fr-fr'] = "Résultats";
$text['header-svn_update_results']['pt-br'] = "Resposta do SVN "; $text['header-source_update_results']['pt-br'] = "Resposta";
$text['header-svn_update_results']['pl'] = "Rezultat SVN"; $text['header-source_update_results']['pl'] = "Rezultat";
$text['header-svn_update_results']['sv-se'] = "SVN Resultat"; $text['header-source_update_results']['sv-se'] = "Resultat";
$text['header-svn_update_results']['uk'] = "Результати з SVN"; $text['header-source_update_results']['uk'] = "Результати";
$text['header-svn_update_results']['de-at'] = "SVN Ergebnisse"; $text['header-source_update_results']['de-at'] = "Ergebnisse";
$text['header-message']['en-us'] = "Message"; $text['header-message']['en-us'] = "Message";
$text['header-message']['es-cl'] = "Mensaje"; $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']['uk'] = "Тип бази даних";
$text['header-database_type']['de-at'] = "Datenbank Typ"; $text['header-database_type']['de-at'] = "Datenbank Typ";
$text['description-upgrade_svn']['en-us'] = "Updates FusionPBX source files from the respository."; $text['description-upgrade_source']['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_source']['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_source']['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_source']['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_source']['pt-br'] = "Arquivos de atualização";
$text['description-upgrade_svn']['pl'] = "Uaktualnia pliki źródłowe FusionPBX z przechowalni."; $text['description-upgrade_source']['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_source']['sv-se'] = "Uppdaterar FusionPBX källfiler från respository.";
$text['description-upgrade_svn']['uk'] = "Оновлення вихідних файлів FusionPBX з репозиторію Subversion ."; $text['description-upgrade_source']['uk'] = "Оновлення вихідних файлів FusionPBX з репозиторію Subversion .";
$text['description-upgrade_svn']['de-at'] = "Aktualisiert den FusionPBX Quellcode aus dem Repository"; $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']['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."; $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 //check the permission
if ( if (
!permission_exists('upgrade_svn') && !permission_exists('upgrade_source') &&
!permission_exists('upgrade_schema') && !permission_exists('upgrade_schema') &&
!permission_exists('upgrade_apps') && !permission_exists('upgrade_apps') &&
!permission_exists('menu_restore') && !permission_exists('menu_restore') &&
@ -50,14 +50,14 @@ if (sizeof($_POST) > 0) {
$do = $_POST['do']; $do = $_POST['do'];
// run svn update // run source update
if ($do["svn"] && permission_exists("upgrade_svn") && !is_dir("/usr/share/examples/fusionpbx")) { if ($do["source"] && permission_exists("upgrade_source") && !is_dir("/usr/share/examples/fusionpbx")) {
$cmd = "svn up /var/www/fusionpbx"; chdir("/var/www/fusionpbx/");
exec($cmd, $response_svn_update); exec("git pull", $response_source_update);
$update_failed = true; $update_failed = true;
if (sizeof($response_svn_update) > 0) { if (sizeof($response_source_update) > 0) {
$_SESSION["response_svn_update"] = $response_svn_update; $_SESSION["response_source_update"] = $response_source_update;
foreach ($response_svn_update as $response_line) { foreach ($response_source_update as $response_line) {
if (substr_count($response_line, "Updated to revision") > 0 || substr_count($response_line, "At revision") > 0) { if (substr_count($response_line, "Updated to revision") > 0 || substr_count($response_line, "At revision") > 0) {
$update_failed = false; $update_failed = false;
} }
@ -66,7 +66,7 @@ if (sizeof($_POST) > 0) {
if ($update_failed) { if ($update_failed) {
$_SESSION["message_delay"] = 3500; $_SESSION["message_delay"] = 3500;
$_SESSION["message_mood"] = 'negative'; $_SESSION["message_mood"] = 'negative';
$response_message = $text['message-upgrade_svn_failed']; $response_message = $text['message-upgrade_source_failed'];
} }
else { else {
//update scripts folder, if allowed (default) //update scripts folder, if allowed (default)
@ -77,7 +77,8 @@ if (sizeof($_POST) > 0) {
if ( if (
substr_count($file_path_source, '/..') == 0 && substr_count($file_path_source, '/..') == 0 &&
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); $file_path_target = str_replace($scripts_dir_source, $scripts_dir_target, $file_path_source);
if ($file_path_target != $scripts_dir_target.'/resources/config.lua') { 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 { 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"; 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 "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
echo "<tr>\n"; echo "<tr>\n";
echo " <td width='30%' class='vncell'>\n"; echo " <td width='30%' class='vncell'>\n";
echo " ".$text['label-upgrade_svn']; echo " ".$text['label-upgrade_source'];
echo " </td>\n"; echo " </td>\n";
echo " <td width='70%' class='vtable' style='height: 50px;'>\n"; echo " <td width='70%' class='vtable' style='height: 50px;'>\n";
echo " <label for='do_svn'>"; echo " <label for='do_source'>";
echo " <input type='checkbox' class='formfld' name='do[svn]' id='do_svn' value='1'>"; echo " <input type='checkbox' class='formfld' name='do[source]' id='do_source' value='1'>";
echo " ".$text['description-upgrade_svn']; echo " ".$text['description-upgrade_source'];
echo " </label>\n"; echo " </label>\n";
echo " </td>\n"; echo " </td>\n";
echo "</tr>\n"; echo "</tr>\n";
@ -267,16 +268,16 @@ echo "<br><br>";
echo "</form>\n"; echo "</form>\n";
// output result of svn update // output result of source update
if (sizeof($_SESSION["response_svn_update"]) > 0) { if (sizeof($_SESSION["response_source_update"]) > 0) {
echo "<br />"; echo "<br />";
echo "<b>".$text['header-svn_update_results']."</b>"; echo "<b>".$text['header-source_update_results']."</b>";
echo "<br /><br />"; echo "<br /><br />";
echo "<pre>"; echo "<pre>";
echo implode("\n", $_SESSION["response_svn_update"]); echo implode("\n", $_SESSION["response_source_update"]);
echo "</pre>"; echo "</pre>";
echo "<br /><br />"; echo "<br /><br />";
unset($_SESSION["response_svn_update"]); unset($_SESSION["response_source_update"]);
} }

View File

@ -38,7 +38,7 @@
include "root.php"; include "root.php";
require_once "resources/require.php"; require_once "resources/require.php";
require_once "resources/check_auth.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"; //echo "access granted";
} }
else { else {

View File

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

View File

@ -1745,7 +1745,7 @@ EOL;
$theme_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes'; $theme_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes';
if ($handle = opendir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes')) { if ($handle = opendir($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/themes')) {
while (false !== ($dir_name = readdir($handle))) { 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_name);
$dir_label = str_replace('-', ' ', $dir_label); $dir_label = str_replace('-', ' ', $dir_label);
if ($dir_name == $install_template_name) { if ($dir_name == $install_template_name) {

View File

@ -180,7 +180,7 @@
$_cacheDirs = new RecursiveDirectoryIterator($_dir); $_cacheDirs = new RecursiveDirectoryIterator($_dir);
$_cache = new RecursiveIteratorIterator($_cacheDirs, RecursiveIteratorIterator::CHILD_FIRST); $_cache = new RecursiveIteratorIterator($_cacheDirs, RecursiveIteratorIterator::CHILD_FIRST);
foreach ($_cache as $_file) { 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 ? // directory ?
if ($_file->isDir()) { if ($_file->isDir()) {
if (!$_cache->isDot()) { if (!$_cache->isDot()) {

View File

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

View File

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