/** * Prints content of single backupdir * * @param \BackupDir $dir * @author : Rafał Trójniak rafal@trojniak.net */ public function listBackup(\BackupDir $dir) { foreach($dir->getBackups() as $backup){ echo $backup->getCreation()->format(\DateTime::ISO8601)."\n"; } }
/** * Runs pickup command * * @param \BackupDir $to * @param \BackupDir $from * @return array Array of backups to pickup * @author : Rafał Trójniak rafal@trojniak.net */ public function pickup(\BackupDir $to, \BackupDir $from) { $current=array(); $pickup=array(); // Generationg current state foreach($to->getBackups() as $backup) { $token = $this->genToken($backup); if(!array_key_exists($token, $current) or $backup->getCreation()->getTimestamp()< $current[$token]->getCreation()->getTimestamp()){ $current[$token]=$backup; } } // Generationg current state foreach($from->getBackups() as $backup) { $token = $this->genToken($backup); $toCompare=null; if(array_key_exists($token, $current)){ $toCompare=$current[$token]; } if(array_key_exists($token, $pickup)){ $toCompare=$pickup[$token]; } if(is_null($toCompare) or $backup->getCreation()->getTimestamp()< $toCompare->getCreation()->getTimestamp()){ if($backup->verify(true)===true){ $pickup[$token]=$backup; } } } return $pickup; }