File: /var/www/karjerosdiena.lt/wp-content/plugins/wp-all-import/libraries/ast/XmlImportAstIf.php
<?php
/**
* @author Olexandr Zanichkovsky <olexandr.zanichkovsky@zophiatech.com>
* @package AST
*/
require_once dirname(__FILE__) . '/XmlImportAstStatement.php';
require_once dirname(__FILE__) . '/XmlImportAstElseif.php';
/**
* Represents an IF clause
*/
class XmlImportAstIf extends XmlImportAstStatement
{
/**
* Condition
*
* @var XmlImportAstExpression
*/
private $condition;
/**
* If body
*
* @var XmlImportAstSequence
*/
private $ifBody;
/**
* List of elseif subclauses
*
* @var array
*/
private $elseIfs = array();
/**
* Else body
*
* @var XmlImportAstSequence
*/
private $elseBody;
/**
* Creates new instance
*
* @param XmlImportAstExpression $condition
*/
public function __construct(XmlImportAstExpression $condition)
{
$this->condition = $condition;
}
/**
* Gets condition
*
* @return XmlImportAstExpression
*/
public function getCondition()
{
return $this->condition;
}
/**
* Gets if body
*
* @return XmlImportAstSequence
*/
public function getIfBody()
{
return $this->ifBody;
}
/**
* Adds If body
*
* @param XmlImportAstSequence $body
*/
public function addIfBody(XmlImportAstSequence $body)
{
$this->ifBody = $body;
}
/**
* Gets list of elseif subcloses
*
* @return array
*/
public function getElseIfs()
{
return $this->elseIfs;
}
/**
* Gets else body
*
* @return XmlImportAstSequence
*/
public function getElseBody()
{
return $this->elseBody;
}
/**
* Adds else body
*
* @param XmlImportAstSequence $body
*/
public function addElseBody(XmlImportAstSequence $body)
{
$this->elseBody = $body;
}
/**
* Adds elseif subclause
*
* @param XmlImportAstElseif $elseif
*/
public function addElseif(XmlImportAstElseif $elseif)
{
$this->elseIfs[] = $elseif;
}
/**
* String represetation of an IF clause
*
* @return string
*/
public function __toString()
{
$result = "--> begin " . get_class($this) . "\n";
$result .= ' Condition: ' . $this->condition . "\n";
$result .= " Body:\n";
$array = explode("\n", $this->ifBody);
for ($i = 0; $i < count($array); $i++)
{
$array[$i] = ' ' . $array[$i];
}
$result .= implode("\n", $array) . "\n";
foreach($this->elseIfs as $elseIf)
{
$array = explode("\n", $elseIf);
for ($i = 0; $i < count($array); $i++)
{
$array[$i] = '' . $array[$i];
}
$result .= implode("\n", $array) . "\n";
}
if (!is_null($this->elseBody))
{
$result .= " Else:\n";
$array = explode("\n", $this->elseBody);
for ($i = 0; $i < count($array); $i++)
{
$array[$i] = ' ' . $array[$i];
}
$result .= implode("\n", $array) . "\n";
}
$result .= "--> end " . get_class($this) . "\n";
return $result;
}
}