[ Mini Kiebo ]
Server: Windows NT AKFAR_SERVER 10.0 build 26200 (Windows 10) AMD64
Path:
D:
/
Jurnal PSCP
/
lib
/
pkp
/
lib
/
vendor
/
wikimedia
/
less.php
/
lib
/
Less
/
[
Home
]
File: VisitorReplacing.php
<?php /** * Replacing Visitor * * @package Less * @subpackage visitor */ class Less_VisitorReplacing extends Less_Visitor { public function visitObj( $node ) { $funcName = 'visit'.$node->type; if ( isset( $this->_visitFnCache[$funcName] ) ) { $visitDeeper = true; $node = $this->$funcName( $node, $visitDeeper ); if ( $node ) { if ( $visitDeeper && is_object( $node ) ) { $node->accept( $this ); } $funcName = $funcName . "Out"; if ( isset( $this->_visitFnCache[$funcName] ) ) { $this->$funcName( $node ); } } } else { $node->accept( $this ); } return $node; } public function visitArray( $nodes ) { $newNodes = array(); foreach ( $nodes as $node ) { $evald = $this->visitObj( $node ); if ( $evald ) { if ( is_array( $evald ) ) { self::flatten( $evald, $newNodes ); } else { $newNodes[] = $evald; } } } return $newNodes; } public function flatten( $arr, &$out ) { foreach ( $arr as $item ) { if ( !is_array( $item ) ) { $out[] = $item; continue; } foreach ( $item as $nestedItem ) { if ( is_array( $nestedItem ) ) { self::flatten( $nestedItem, $out ); } else { $out[] = $nestedItem; } } } return $out; } }