Ejemplo n.º 1
0
	/**
	 * 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";

		}
	}
Ejemplo n.º 2
0
	/**
	 * 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;
	}