!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\dmz\php\pear\phing\   drwxrwxrwx
Free 4.11 GB of 39.52 GB (10.39%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     Target.php (10.34 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*
 * $Id: Target.php 915 2010-10-12 02:30:52Z victor $
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * This software consists of voluntary contributions made by many individuals
 * and is licensed under the LGPL. For more information please see
 * <http://phing.info>.
 */

include_once 'phing/TaskContainer.php';

/**
 *  The Target component. Carries all required target data. Implements the
 *  abstract class {@link TaskContainer}
 *
 *  @author    Andreas Aderhold <andi@binarycloud.com>
 *  @copyright 2001,2002 THYRELL. All rights reserved
 *  @version   $Revision: 915 $ $Date: 2010-10-12 04:30:52 +0200 (Tue, 12 Oct 2010) $
 *  @access    public
 *  @see       TaskContainer
 *  @package   phing
 */

class Target implements TaskContainer {
    
    
/** name of target */
    
private $name;
    
    
/** dependencies */
    
private $dependencies = array();
    
    
/** holds objects of children of this target */
    
private $children = array();
    
    
/** the if cond. from xml */
    
private $ifCondition "";
    
    
/** the unless cond. from xml */
    
private $unlessCondition "";
    
    
/** description of this target */
    
private $description;

    
/**
     * Whether to hide target in targets list (-list -p switches)
     * @var boolean
     */
    
private $hidden false;
    
    
/** reference to project */
    
private $project;

    
/**
     *  References the project to the current component.
     *
     *  @param Project The reference to the current project
     */
    
public function setProject(Project $project) {
        
$this->project $project;
    }

    
/**
     *  Returns reference to current project
     *
     *  @return Project Reference to current porject object
     */
    
public function getProject() {
        return 
$this->project;
    }

    
/**
     *  Sets the target dependencies from xml
     *
     *  @param string $depends Comma separated list of targetnames that depend on
     *                  this target
     *  @throws BuildException
     */
    
public function setDepends($depends) {
        
// explode should be faster than strtok
        
$deps explode(','$depends);
        for (
$i=0$size=count($deps); $i $size$i++) {
            
$trimmed trim($deps[$i]);
            if (
$trimmed === "") {
                throw new 
BuildException("Syntax Error: Depend attribute for target ".$this->getName()." is malformed.");
            } 
            
$this->addDependency($trimmed);
        }
    }

    
/**
     *  Adds a singular dependent target name to the list
     *
     *  @param   string   The dependency target to add
     *  @access  public
     */
    
public function addDependency($dependency) {
        
$this->dependencies[] = (string) $dependency;
    }

    
/**
     *  Returns reference to indexed array of the dependencies this target has.
     *
     *  @return  array  Referece to target dependencoes
     */
    
public function getDependencies() {
        return 
$this->dependencies;
    }

    
/**
     *  Sets the name of the target
     *
     *  @param  string   Name of this target
     */
    
public function setName($name) {
        
$this->name = (string) $name;
    }

    
/**
     *  Returns name of this target.
     *
     *  @return  string     The name of the target
     *  @access   public
     */
    
function getName() {
        return (string) 
$this->name;
    }

    
/**
     * Set target status. If true, target does not come in phing -list
     *
     * @return Target
     */
    
public function setHidden($flag)
    {
        
$this->hidden = (boolean) $flag;
        return 
$this;
    }

    
/**
     * Get target status. If true, target does not come in phing -list
     *
     * @return boolean
     */
    
public function getHidden()
    {
        return 
$this->hidden;
    }

    
/**
     * Alias for getHidden()
     *
     * @return boolean
     */
    
public function isHidden()
    {
        return 
$this->getHidden();
    }

    
/**
     *  Adds a task element to the list of this targets child elements
     *
     *  @param   object  The task object to add
     *  @access  public
     */
    
function addTask(Task $task) {
        
$this->children[] = $task;
    }

    
/**
     *  Adds a runtime configurable element to the list of this targets child
     *  elements.
     *
     *  @param   object  The RuntimeConfigurabel object
     *  @access  public
     */
    
function addDataType($rtc) {
        
$this->children[] = $rtc;
    }

    
/**
     *  Returns an array of all tasks this target has as childrens.
     *
     *  The task objects are copied here. Don't use this method to modify
     *  task objects.
     *
     *  @return  array  Task[]
     */
    
public function getTasks() {
        
$tasks = array();
        for (
$i=0,$size=count($this->children); $i $size$i++) {
            
$tsk $this->children[$i];
            if (
$tsk instanceof Task) {
                
// note: we're copying objects here!
                
$tasks[] = clone $tsk;
            }
        }
        return 
$tasks;
    }

    
/**
     *  Set the if-condition from the XML tag, if any. The property name given
     *  as parameter must be present so the if condition evaluates to true
     *
     *  @param   string  The property name that has to be present
     *  @access  public
     */
    
public function setIf($property) {
        
$this->ifCondition = ($property === null) ? "" $property;
    }

    
/**
     *  Set the unless-condition from the XML tag, if any. The property name
     *  given as parameter must be present so the unless condition evaluates
     *  to true
     *
     *  @param   string  The property name that has to be present
     *  @access  public
     */
    
public function setUnless($property) {
        
$this->unlessCondition = ($property === null) ? "" $property;
    }

    
/**
     *  Sets a textual description of this target.
     *
     *  @param string The description text
     */
    
public function setDescription($description) {
        if (
$description !== null && strcmp($description"") !== 0) {
            
$this->description = (string) $description;
        } else {
            
$this->description null;
        }
    }

    
/**
     *  Returns the description of this target.
     *
     *  @return string The description text of this target
     */
    
public function getDescription() {
        return 
$this->description;
    }

    
/**
     *  Returns a string representation of this target. In our case it
     *  simply returns the target name field
     *
     *  @return string The string representation of this target
     */
    
function toString() {
        return (string) 
$this->name;
    }

    
/**
     *  The entry point for this class. Does some checking, then processes and
     *  performs the tasks for this target.
     *
     */
    
public function main() {
        if (
$this->testIfCondition() && $this->testUnlessCondition()) {
            foreach(
$this->children as $o) {
                if (
$o instanceof Task) {
                    
// child is a task
                    
$o->perform();
                } else {
                    
// child is a RuntimeConfigurable
                    
$o->maybeConfigure($this->project);
                }
            }
        } elseif (!
$this->testIfCondition()) {
            
$this->project->log("Skipped target '".$this->name."' because property '".$this->ifCondition."' not set."Project::MSG_VERBOSE);
        } else {
            
$this->project->log("Skipped target '".$this->name."' because property '".$this->unlessCondition."' set."Project::MSG_VERBOSE);
        }
    }

    
/**
     *  Performs the tasks by calling the main method of this target that
     *  actually executes the tasks.
     *
     *  This method is for ZE2 and used for proper exception handling of
     *  task exceptions.
     */
    
public function performTasks() {
        try {
// try to execute this target
            
$this->project->fireTargetStarted($this);
            
$this->main();
            
$this->project->fireTargetFinished($this$null=null);
        } catch (
BuildException $exc) {
            
// log here and rethrow
            
$this->project->fireTargetFinished($this$exc);
            throw 
$exc;
        }
    }    

    
/**
     *  Tests if the property set in ifConfiditon exists.
     *
     *  @return  boolean  <code>true</code> if the property specified
     *                    in <code>$this->ifCondition</code> exists;
     *                    <code>false</code> otherwise
     */
    
private function testIfCondition() {
        if (
$this->ifCondition === "") {
            return 
true;
        }

        
$properties explode(","$this->ifCondition);

        
$result true;
        foreach (
$properties as $property) {
            
$test ProjectConfigurator::replaceProperties($this->getProject(), $property$this->project->getProperties());
            
$result $result && ($this->project->getProperty($test) !== null);
        }

        return 
$result;
    }

    
/**
     *  Tests if the property set in unlessCondition exists.
     *
     *  @return  boolean  <code>true</code> if the property specified
     *                    in <code>$this->unlessCondition</code> exists;
     *                    <code>false</code> otherwise
     */
    
private function testUnlessCondition() {
        if (
$this->unlessCondition === "") {
            return 
true;
        }
        
        
$properties explode(","$this->unlessCondition);

        
$result true;
        foreach (
$properties as $property) {
            
$test ProjectConfigurator::replaceProperties($this->getProject(), $property$this->project->getProperties());
            
$result $result && ($this->project->getProperty($test) === null);
        }
        return 
$result;
    }

}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0468 ]--