|
"; flush(); copyFile($_SESSION["id".$_GET["copyid"]]["copy"],$_SESSION["id".$_GET["copyid"]]["to"],$_SESSION["id".$_GET["copyid"]]["date"]); } else{ echo "ERROR"; } } else if($sync){ session_start(); $_SESSION['auth'] = $sessionPassword; $sessionId = 0; $remoteFileList = unserialize(file_get_contents($remoteFileSyncURL."?fileList")); $localFileList = getFileArray($localDir); echo "
KOC SYNC: ".$remoteFileSyncURL."
"; foreach($remoteFileList as $remoteFile){ $temp = searchFile($remoteFile, $localFileList); if($temp >= 0){ if($remoteFile[0] > $localFileList[$temp][0]){ $_SESSION["id".$sessionId]["copy"] = $remoteFile[2]; $_SESSION["id".$sessionId]["to"] = $localDir.$localFileList[$temp][1]; $_SESSION["id".$sessionId]["date"] = $remoteFile[0]; echo ""; $sessionId++; //copyFile($remoteFile[2],$localDir.$localFileList[$temp][1], $remoteFile[0]); } else if($remoteFile[0] < $localFileList[$temp][0]){ echo ""; } else{ echo ""; } } else{ $_SESSION["id".$sessionId]["copy"] = $remoteFile[2]; $_SESSION["id".$sessionId]["to"] = $localDir.$remoteFile[1]; $_SESSION["id".$sessionId]["date"] = $remoteFile[0]; echo ""; $sessionId++; //copyFile($remoteFile[2],$localDir.$remoteFile[1],$remoteFile[0]); } echo ""; } echo "
Local File Old!
Local File Newer!
Synced!
New File!".$remoteFile[2]." => ".$remoteFile[1]."
"; } else { echo"
Sync disabled for this server!
"; } function copyFile($source,$dest, $lastModDate = null){ @$file = fopen ($source, "rb"); if (!$file) { echo"Failed to copy $source -> $dest!
"; return false; }else { if(!file_exists(dirname($dest))) mkdir(dirname($dest),0777,true); $filename = basename($source); $fc = fopen($dest, "wb"); echo "$source => $dest
"; while (!feof ($file)) { $line = fread ($file, 1028); fwrite($fc,$line); echo "#"; } fclose($fc); if($lastModDate != null) touch($dest,$lastModDate); echo "
"; return true; } } $tempFilesArray = array(); function getFileArray($foldername) { GLOBAL $localDir, $skip_filetype, $tempFilesArray; $dirhandle = @opendir($foldername); //öppnar mappen if($dirhandle !== false){ //gick det att öppna mappen? while($filename = readdir($dirhandle)){ //loopar igenom alla filer i mappen $filepath = $foldername ."/". $filename; if($filename != "." && $filename != ".." && is_dir($filepath)){ //är det en mapp? getFileArray($filepath); } else{ // its a file $filetype = ereg_replace("^.+\\.([^.]+)$", "\\1", $filename); if (!in_array($filetype, $skip_filetype)) { $tempFilesArray[] = array(filemtime($filepath),str_replace($localDir, "", $filepath),("http://".$_SERVER['SERVER_NAME'].str_replace("sync.php","",$_SERVER['SCRIPT_NAME']).$filepath),$filename); } } } } return $tempFilesArray; } function searchFile($remoteFile, $localFileList){ if(isset($localFileList)){ foreach($localFileList as $key => $localFile){ if($localFile[1] == $remoteFile[1]){ return $key; } } } return -1; } ?>