Browse Source

Only install class copy methods only add if the directory exists.

Mark Crane 11 years ago
parent
commit
e241fb438c
1 changed files with 76 additions and 66 deletions
  1. 76 66
      resources/classes/install.php

+ 76 - 66
resources/classes/install.php

@@ -113,75 +113,81 @@ include "root.php";
 
 		function copy_conf() {
 			clearstatcache();
-			$src_dir = $this->switch_conf_dir;
-			$dst_dir = $this->switch_conf_dir.'.orig';
-			if ($src_dir != "/conf") {
-				mkdir($src_dir, 0755, true);
-			}
-			if (is_readable($src_dir)) {
-				//make a backup copy of the conf directory
-					if (substr(strtoupper(PHP_OS), 0, 3) == "WIN") {
-						$this->recursive_copy($src_dir, $dst_dir);
-						$this->recursive_delete($this->switch_conf_dir);
-					}
-					else {
-						exec ('mv '.$src_dir.' '.$dst_dir);
-						//exec ('cp -RLp '.$src_dir.' '.$dst_dir);
-					}
-				//make sure the conf directory exists
-					if (!mkdir($this->switch_conf_dir, 0755, true)) {
-						//throw new Exception("Failed to create the switch conf directory '".$this->switch_conf_dir."'. ");
-					}
+			if (file_exists($this->switch_conf_dir)) {
+				$src_dir = $this->switch_conf_dir;
+				$dst_dir = $this->switch_conf_dir.'.orig';
+				if ($src_dir != "/conf") {
+					mkdir($src_dir, 0755, true);
+				}
+				if (is_readable($src_dir)) {
+					//make a backup copy of the conf directory
+						if (substr(strtoupper(PHP_OS), 0, 3) == "WIN") {
+							$this->recursive_copy($src_dir, $dst_dir);
+							$this->recursive_delete($this->switch_conf_dir);
+						}
+						else {
+							exec ('mv '.$src_dir.' '.$dst_dir);
+							//exec ('cp -RLp '.$src_dir.' '.$dst_dir);
+						}
+					//make sure the conf directory exists
+						if (!mkdir($this->switch_conf_dir, 0755, true)) {
+							//throw new Exception("Failed to create the switch conf directory '".$this->switch_conf_dir."'. ");
+						}
+				}
 			}
 		}
 
 		function copy_scripts() {
 			clearstatcache();
-			$src_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/scripts';
-			$dst_dir = $this->switch_scripts_dir;
-			if (is_readable($this->switch_scripts_dir)) {
-				$this->recursive_copy($src_dir, $dst_dir);
-				unset($src_dir, $dst_dir);
+			if (file_exists($this->switch_scripts_dir)) {
+				$src_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/scripts';
+				$dst_dir = $this->switch_scripts_dir;
+				if (is_readable($this->switch_scripts_dir)) {
+					$this->recursive_copy($src_dir, $dst_dir);
+					unset($src_dir, $dst_dir);
+				}
 			}
 		}
 
 		function copy_sounds() {
 			clearstatcache();
-			$src_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/sounds/en/us/callie/custom/8000';
-			$dst_dir = $this->switch_sounds_dir.'/en/us/callie/custom/8000';
-			if (is_readable($this->switch_sounds_dir)) {
-				if ($handle = opendir($src_dir)) {
-					$i = 0;
-					$files = array();
-					while (false !== ($file = readdir($handle))) {
-						if ($file != "." && $file != ".." && is_file($src_dir.'/'.$file)) {
-							if (!file_exists($dst_dir.'/'.$file) ) {
-								//copy the file if it does not exist in the destination directory
-								if (copy($src_dir.'/'.$file, $dst_dir.'/'.$file)) {
-									$this->result['copy']['sounds']['8000'][] = "copied from ".$src_dir."/".$file." to ".$dst_dir."/".$file."<br />\n";
-								}
-								else {
-									$this->result['copy']['sounds']['8000'][] = "copy failed from ".$src_dir."/".$file." to ".$dst_dir."/".$file."<br />\n";
+			if (file_exists($this->switch_sounds_dir)) {
+				$src_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/sounds/en/us/callie/custom/8000';
+				$dst_dir = $this->switch_sounds_dir.'/en/us/callie/custom/8000';
+				if (is_readable($this->switch_sounds_dir)) {
+					if ($handle = opendir($src_dir)) {
+						$i = 0;
+						$files = array();
+						while (false !== ($file = readdir($handle))) {
+							if ($file != "." && $file != ".." && is_file($src_dir.'/'.$file)) {
+								if (!file_exists($dst_dir.'/'.$file) ) {
+									//copy the file if it does not exist in the destination directory
+									if (copy($src_dir.'/'.$file, $dst_dir.'/'.$file)) {
+										$this->result['copy']['sounds']['8000'][] = "copied from ".$src_dir."/".$file." to ".$dst_dir."/".$file."<br />\n";
+									}
+									else {
+										$this->result['copy']['sounds']['8000'][] = "copy failed from ".$src_dir."/".$file." to ".$dst_dir."/".$file."<br />\n";
+									}
 								}
 							}
 						}
 					}
-				}
 
-				$src_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/sounds/en/us/callie/custom/16000';
-				$dst_dir = $this->switch_sounds_dir.'/en/us/callie/custom/16000';
-				if ($handle = opendir($src_dir)) {
-					$i = 0;
-					$files = array();
-					while (false !== ($file = readdir($handle))) {
-						if ($file != "." && $file != ".." && is_file($src_dir.'/'.$file)) {
-							if (!file_exists($dst_dir.'/'.$file) ) {
-								//copy the file if it does not exist in the destination directory
-								if (copy($src_dir.'/'.$file, $dst_dir.'/'.$file)) {
-									$this->result['copy']['sounds']['16000'][] = "copied from ".$src_dir."/".$file." to ".$dst_dir."/".$file."<br />\n";
-								}
-								else {
-									$this->result['copy']['sounds']['16000'][] = "copy failed from ".$src_dir."/".$file." to ".$dst_dir."/".$file."<br />\n";
+					$src_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/sounds/en/us/callie/custom/16000';
+					$dst_dir = $this->switch_sounds_dir.'/en/us/callie/custom/16000';
+					if ($handle = opendir($src_dir)) {
+						$i = 0;
+						$files = array();
+						while (false !== ($file = readdir($handle))) {
+							if ($file != "." && $file != ".." && is_file($src_dir.'/'.$file)) {
+								if (!file_exists($dst_dir.'/'.$file) ) {
+									//copy the file if it does not exist in the destination directory
+									if (copy($src_dir.'/'.$file, $dst_dir.'/'.$file)) {
+										$this->result['copy']['sounds']['16000'][] = "copied from ".$src_dir."/".$file." to ".$dst_dir."/".$file."<br />\n";
+									}
+									else {
+										$this->result['copy']['sounds']['16000'][] = "copy failed from ".$src_dir."/".$file." to ".$dst_dir."/".$file."<br />\n";
+									}
 								}
 							}
 						}
@@ -192,23 +198,27 @@ include "root.php";
 
 		function copy_swf() {
 			clearstatcache();
-			$file = "slim.swf";
-			$src_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/htdocs';
-			$dst_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/recordings';
-			if (copy($src_dir.'/'.$file, $dst_dir.'/'.$file)) {
-				$this->result['copy']['swf'][] = "copied from ".$src_dir."/".$file." to ".$dst_dir."/".$file."<br />\n";
-			}
-			else {
-				$this->result['copy']['swf'][] = "copy failed from ".$src_dir."/".$file." to ".$dst_dir."/".$file."<br />\n";
+			if (file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/recordings')) {
+				$file = "slim.swf";
+				$src_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/htdocs';
+				$dst_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/app/recordings';
+				if (copy($src_dir.'/'.$file, $dst_dir.'/'.$file)) {
+					$this->result['copy']['swf'][] = "copied from ".$src_dir."/".$file." to ".$dst_dir."/".$file."<br />\n";
+				}
+				else {
+					$this->result['copy']['swf'][] = "copy failed from ".$src_dir."/".$file." to ".$dst_dir."/".$file."<br />\n";
+				}
 			}
 		}
 
 		function copy_phrases() {
 			clearstatcache();
-			$src_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/resources/templates/conf/lang";
-			$dst_dir = $this->switch_conf_dir."/lang";
-			if (is_readable($this->switch_conf_dir)) {
-				$this->recursive_copy($src_dir, $dst_dir);
+			if (file_exists($this->switch_conf_dir."/lang")) {
+				$src_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/resources/templates/conf/lang";
+				$dst_dir = $this->switch_conf_dir."/lang";
+				if (is_readable($this->switch_conf_dir)) {
+					$this->recursive_copy($src_dir, $dst_dir);
+				}
 			}
 		}