2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								< ? php 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-05 17:12:09 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/* 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  This  file  is  part  of  the  Magallanes  package . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  ( c )  Andrés  Montañez  < andres @ andresmontanez . com > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								* 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  For  the  full  copyright  and  license  information ,  please  view  the  LICENSE 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  file  that  was  distributed  with  this  source  code . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								namespace  Mage\Task\BuiltIn\Releases ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								use  Mage\Console ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								use  Mage\Task\Factory ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								use  Mage\Task\AbstractTask ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-07 22:26:32 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								use  Mage\Task\Releases\IsReleaseAware ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								use  Mage\Task\Releases\RollbackAware ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								use  Exception ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								/** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  Task  for  Performing  a  Rollback  Operation 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  @ author  Andrés  Montañez  < andres @ andresmontanez . com > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-07 22:26:32 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								class  RollbackTask  extends  AbstractTask  implements  IsReleaseAware 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									/** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									 *  The  Relase  ID  to  Rollback  To 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									 *  @ var  integer 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  $release  =  null ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  ( non - PHPdoc ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  @ see  \Mage\Task\AbstractTask :: getName () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    public  function  getName () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  'Rollback release [built-in]' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  Sets  the  Release  ID  to  Rollback  To 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  @ param  integer  $releaseId 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  @ return  \Mage\Task\BuiltIn\Releases\RollbackTask 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    public  function  setRelease ( $releaseId ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        $this -> release  =  $releaseId ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        return  $this ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  Gets  the  Release  ID  to  Rollback  To 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  @ return  integer 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    public  function  getRelease () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        return  $this -> release ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2012-09-21 05:23:07 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  Performs  a  Rollback  Operation 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  @ see  \Mage\Task\AbstractTask :: run () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     */ 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    public  function  run () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2012-09-21 05:23:07 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        if  ( $this -> getConfig () -> release ( 'enabled' ,  false )  ==  true )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $releasesDirectory  =  $this -> getConfig () -> release ( 'directory' ,  'releases' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $symlink  =  $this -> getConfig () -> release ( 'symlink' ,  'current' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            $output  =  '' ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            $result  =  $this -> runCommandRemote ( 'ls -1 '  .  $releasesDirectory ,  $output ); 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            $releases  =  ( $output  ==  '' )  ?  array ()  :  explode ( PHP_EOL ,  $output ); 
							 
						 
					
						
							
								
									
										
										
										
											2012-09-21 05:23:07 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            if  ( count ( $releases )  ==  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                Console :: output ( 'Release are not available for <dark_gray>'  .  $this -> getConfig () -> getHost ()  .  '</dark_gray> ... <red>FAIL</red>' ); 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                rsort ( $releases ); 
							 
						 
					
						
							
								
									
										
										
										
											2012-09-21 05:23:07 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								                $releaseIsAvailable  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                if  ( $this -> getRelease ()  ==  '' )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $releaseId  =  $releases [ 0 ]; 
							 
						 
					
						
							
								
									
										
										
										
											2012-09-21 05:23:07 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    $releaseIsAvailable  =  true ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                }  else  if  ( $this -> getRelease ()  <=  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $index  =  $this -> getRelease ()  *  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    if  ( isset ( $releases [ $index ]))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        $releaseId  =  $releases [ $index ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        $releaseIsAvailable  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    if  ( in_array ( $this -> getRelease (),  $releases ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        $releaseId  =  $this -> getRelease (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        $releaseIsAvailable  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
									
										
										
										
											2012-09-21 05:23:07 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								                if  ( ! $releaseIsAvailable )  { 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    Console :: output ( 'Release <dark_gray>'  .  $this -> getRelease ()  .  '</dark_gray> is invalid or unavailable for <dark_gray>'  .  $this -> getConfig () -> getHost ()  .  '</dark_gray> ... <red>FAIL</red>' ); 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                }  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    Console :: output ( 'Rollback release on <dark_gray>'  .  $this -> getConfig () -> getHost ()  .  '</dark_gray>' ); 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								                    $rollbackTo  =  $releasesDirectory  .  '/'  .  $releaseId ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-09-21 05:23:07 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								                    // Tasks
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $tasks  =  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $completedTasks  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2012-09-21 05:23:07 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    $tasksToRun  =  $this -> getConfig () -> getTasks (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $this -> getConfig () -> setReleaseId ( $releaseId ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-11-07 22:26:32 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    foreach  ( $tasksToRun  as  $taskData )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        $task  =  Factory :: get ( $taskData ,  $this -> getConfig (),  true ,  'deploy' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        $task -> init (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        Console :: output ( 'Running <purple>'  .  $task -> getName ()  .  '</purple> ... ' ,  2 ,  false ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        if  ( $task  instanceOf  RollbackAware )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            $tasks ++ ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            $result  =  $task -> run (); 
							 
						 
					
						
							
								
									
										
										
										
											2012-09-21 05:23:07 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-11-07 22:26:32 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                            if  ( $result  ==  true )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                Console :: output ( '<green>OK</green>' ,  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                $completedTasks ++ ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                Console :: output ( '<red>FAIL</red>' ,  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            Console :: output ( '<yellow>SKIPPED</yellow>' ,  0 ); 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								                        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
									
										
										
										
											2012-09-21 05:23:07 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								                    // Changing Release
 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    Console :: output ( 'Running <purple>Rollback Release [id='  .  $releaseId  .  ']</purple> ... ' ,  2 ,  false ); 
							 
						 
					
						
							
								
									
										
										
										
											2012-09-21 05:23:07 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								                    $userGroup  =  '' ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    $resultFetch  =  $this -> runCommandRemote ( 'ls -ld '  .  $rollbackTo  .  ' | awk \'{print \$3":"\$4}\'' ,  $userGroup ); 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								                    $command  =  'rm -f '  .  $symlink 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                             .  ' && ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                             .  'ln -sf '  .  $rollbackTo  .  ' '  .  $symlink 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                             .  ' && ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                             .  'chown -h '  .  $userGroup  .  ' '  .  $symlink ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    $result  =  $this -> runCommandRemote ( $command ); 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    if  ( $result )  { 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        Console :: output ( '<green>OK</green>' ,  0 ); 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								                        $completedTasks ++ ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    }  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                        Console :: output ( '<red>FAIL</red>' ,  0 ); 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
									
										
										
										
											2012-09-21 05:23:07 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								                    if  ( $completedTasks  ==  $tasks )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        $tasksColor  =  'green' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        $tasksColor  =  'red' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    } 
							 
						 
					
						
							
								
									
										
										
										
											2012-09-21 05:23:07 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								                    Console :: output ( 'Release rollback on <dark_gray>'  .  $this -> getConfig () -> getHost ()  .  '</dark_gray> compted: <'  .  $tasksColor  .  '>'  .  $completedTasks  .  '/'  .  $tasks  .  '</'  .  $tasksColor  .  '> tasks done.' ,  1 ,  3 ); 
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  $result ; 
							 
						 
					
						
							
								
									
										
										
										
											2013-11-06 15:44:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-01-01 21:10:25 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}