FILENAME: ',$file,'

SOURCLEFILE: ', $source,'

DELETE DIR: ', $cleanup,'

OVERWRITE: ', $destination; switch ($stage) { case '1': return 'stage1'; writeLog('success', 'Update Function - Started Upgrade Process', $GLOBALS['organizrUser']['username']); if(downloadFile($url, $file)){ writeLog('success', 'Update Function - Downloaded Update File for Branch: '.$branch, $GLOBALS['organizrUser']['username']); return true; }else{ writeLog('error', 'Update Function - Downloaded Update File Failed for Branch: '.$branch, $GLOBALS['organizrUser']['username']); return false; } break; case '2': return 'stage2'; if(unzipFile($file)){ writeLog('success', 'Update Function - Unzipped Update File for Branch: '.$branch, $GLOBALS['organizrUser']['username']); return true; }else{ writeLog('error', 'Update Function - Unzip Failed for Branch: '.$branch, $GLOBALS['organizrUser']['username']); return false; } break; case '3': return 'stage3'; if(rcopy($source, $destination)){ writeLog('success', 'Update Function - Overwrited Files using Updated Files from Branch: '.$branch, $GLOBALS['organizrUser']['username']); return true; }else{ writeLog('error', 'Update Function - Overwrite Failed for Branch: '.$branch, $GLOBALS['organizrUser']['username']); return false; } break; case '4': return 'stage4'; if(rrmdir($cleanup)){ writeLog('success', 'Update Function - Deleted Update Files from Branch: '.$branch, $GLOBALS['organizrUser']['username']); writeLog('success', 'Update Function - Update Completed', $GLOBALS['organizrUser']['username']); return true; }else{ writeLog('error', 'Update Function - Removal of Update Files Failed for Branch: '.$branch, $GLOBALS['organizrUser']['username']); return false; } break; default: # code... break; } return false; } function downloadFile($url, $path){ ini_set('max_execution_time',0); $folderPath = "upgrade".DIRECTORY_SEPARATOR; if(!mkdir($folderPath)){ //writeLog("error", "organizr could not create upgrade folder"); } $newfname = $folderPath . $path; $file = fopen ($url, 'rb'); if ($file) { $newf = fopen ($newfname, 'wb'); if ($newf) { while(!feof($file)) { fwrite($newf, fread($file, 1024 * 8), 1024 * 8); } } }else{ //writeLog("error", "organizr could not download $url"); } if ($file) { fclose($file); //writeLog("success", "organizr finished downloading the github zip file"); }else{ //writeLog("error", "organizr could not download the github zip file"); } if ($newf) { fclose($newf); //writeLog("success", "organizr created upgrade zip file from github zip file"); }else{ //writeLog("error", "organizr could not create upgrade zip file from github zip file"); } return true; } function unzipFile($zipFile){ $zip = new ZipArchive; $extractPath = "upgrade/"; if($zip->open($extractPath . $zipFile) != "true"){ //writeLog("error", "organizr could not unzip upgrade.zip"); }else{ //writeLog("success", "organizr unzipped upgrade.zip"); } /* Extract Zip File */ $zip->extractTo($extractPath); $zip->close(); return true; } // Function to remove folders and files function rrmdir($dir) { if (is_dir($dir)) { $files = scandir($dir); foreach ($files as $file) if ($file != "." && $file != "..") rrmdir("$dir/$file"); rmdir($dir); } else if (file_exists($dir)) unlink($dir); return true; } // Function to Copy folders and files function rcopy($src, $dst) { if (is_dir ( $src )) { if (!file_exists($dst)) : mkdir ( $dst ); endif; $files = scandir ( $src ); foreach ( $files as $file ) if ($file != "." && $file != "..") rcopy ( "$src/$file", "$dst/$file" ); } else if (file_exists ( $src )) copy ( $src, $dst ); return true; }