| Server IP : 172.67.159.97 / Your IP : 216.73.217.154 Web Server : nginx/1.24.0 System : Linux wordpress-sites 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/rebeccaone.com/wp-content/plugins/cornerstone/includes/classes/Tss/Statements/ |
Upload File : |
<?php
namespace Themeco\Cornerstone\Tss\Statements;
use Themeco\Cornerstone\Tss\Statements\Statement;
class FlowEach extends Statement {
public function process( $each ) {
list($variables, $input, $block ) = $each;
$iterate = $this->stack->evaluator()->resolve($input);
if ( is_null( $iterate->value() ) ) {
return;
}
$list = $iterate->isIterable() ? $iterate->value() : [$iterate->value()];
$count = count( $list );
$this->stack->define('variable', '_count', $count );
foreach ($list as $i => $item) {
$this->stack->define('variable', '_index', $i + 1);
$this->stack->define('variable', '_remaining', $count - 1 - $i);
$varList = $variables;
$next = $this->stack->evaluator()->resolve($item);
if ( $next->isIterable() ) {
$values = $next->value();
while ( count( $varList ) && count( $values ) ) {
$this->stack->define('variable', array_shift( $varList ), array_shift( $values ) );
}
} else {
$this->stack->define('variable', array_shift( $varList ), $next );
}
if ($this->stack->processStatements($block)) {
break;
};
}
}
}