function printProperty($class, $type) { $r = new ReflectionClass($class); foreach ($r->getProperties() as $s) { if ($type === 'action') { $istr = "__acdesc_"; if (!csb($s->name, "__acdesc_")) { continue; } } if ($type === 'property') { $istr = "__desc_"; if (!csb($s->name, "__desc_")) { continue; } } $descr = get_classvar_description($class, $s->name); $name = strfrom($s->name, $istr); if (csa($descr[0], "q")) { continue; } if (cse($name, "_f")) { continue; } if (cse($name, "_l")) { continue; } if (cse($name, "_o")) { continue; } printf("%30s %s\n", $name, $descr['help']); } }
function checkChildExists($class) { $listvar = $class . "_l"; global $gbl, $sgbl, $login, $ghtml; $desc = get_classvar_description(get_class($this), $listvar); if (!$desc) { if ($login->isAdmin()) { print "<h1> Trying to init and non described list {$class} in " . get_class($this) . "... </h1> <br> \n"; //$trace = debug_backtrace(); //dprint(DBG_GetBacktrace($trace)); //exit; } else { dprint("<h1> Trying to init and non described list {$class} in " . get_class($this) . "... </h1> <br> \n"); print "Attempt to Hack.... <br> "; //exit; } } }
function createVlistDriver(&$vlist, $driver) { foreach ($driver as $k => $v) { $descr = get_classvar_description($k); if (!$descr) { continue; } if (!is_array($v) && csb($v, "__v")) { continue; } if (is_array($driver[$k])) { $v = "pg_{$k}"; $ar = implode(", ", $driver[$k]); $vlist["driver_b_s_pg_{$k}"] = array('M', create_simpleObject(array('descr' => $descr, 'value' => "{$this->driver_b->{$v}} ({$ar})"))); } else { $v = "pg_{$k}"; $vlist["driver_b_s_pg_{$k}"] = array('M', create_simpleObject(array('descr' => $descr, 'value' => "{$this->driver_b->{$v}} ({$driver[$k]})"))); } } $vlist['__v_button'] = array(); }
function getVpsRam() { global $gbl, $sgbl, $login, $ghtml; $sq = new Sqlite(null, "vps"); $driverapp = $gbl->getSyncClass('localhost', $this->nname, 'vps'); if ($driverapp === 'xen') { $list = array("priv_q_realmem_usage"); } else { $list = array("priv_q_guarmem_usage", "priv_q_memory_usage"); } $res = $sq->getRowsWhere('syncserver = :nname', array(':nname' => $this->nname), $list); if (!$res) { return; } foreach ($res as $r) { foreach ($r as $k => $v) { if (!isset($total[$k])) { $total[$k] = 0; } $total[$k] += $v; } } foreach ($total as $k => $v) { $var = strfrom($k, "priv_q_"); $descr = get_classvar_description('vps', $var); $ret[] = array('memory', $descr[2], $total[$k], "-"); } return $ret; }
function printSelectObjectTable($name_list, $parent, $class, $blist = array(), $display = null) { global $gbl, $sgbl, $login, $ghtml; print_time("{$class}.objecttable"); if ($this->frm_accountselect !== null) { $sellist = explode(',', $this->frm_accountselect); } else { $sellist = null; } $classdesc = $this->get_class_description($class, $display); $unique_name = trim($parent->nname) . trim($class) . trim($display) . trim($classdesc[2]); $unique_name = fix_nname_to_be_variable($unique_name); $filtername = $parent->getFilterVariableForThis($class); $fil = $this->frm_hpfilter; $sortdir = null; $sortby = null; if (isset($fil[$filtername]['sortby'])) { $sortby = $fil[$filtername]['sortby']; } if (isset($fil[$filtername]['sortdir'])) { $sortdir = $fil[$filtername]['sortdir']; } $pagesize = '99999'; $iconpath = get_image_path() . "/button"; $nlcount = count($name_list) + 1; $imgheadleft = $login->getSkinDir() . "/top_lt.gif"; $imgheadleft2 = $login->getSkinDir() . "/top_lt.gif"; $imgheadright = $login->getSkinDir() . "/top_rt.gif"; $imgheadbg = $login->getSkinDir() . "/top_bg.gif"; $imgbtnbg = $login->getSkinDir() . "/btn_bg.gif"; $imgtablerowhead = $login->getSkinDir() . "/tablerow_head.gif"; $imgtablerowheadselect = $login->getSkinDir() . "/top_line_medium.gif"; $imgbtncrv = $login->getSkinDir() . "/btn_crv.gif"; $imgtopline = $login->getSkinDir() . "/top_line.gif"; $classdesc = $this->get_class_description($class); $unique_name = trim($parent->nname) . trim($class) . trim($classdesc[2]); $unique_name = fix_nname_to_be_variable($unique_name); //dprint("-- ".$unique_name. " --", 2); ?> <br /> <script> var ckcount<?php echo $unique_name; ?> ; </script> <?php $tsortby = $sortby; if (!$sortby) { $tsortby = exec_class_method($class, "defaultSort"); } if (!$sortdir) { $sortdir = exec_class_method($class, "defaultSortDir"); } //print_time("objecttable"); $obj_list = $parent->getVirtualList($class, $total_num, $tsortby, $sortdir); //print_time("objecttable", 'objecttable'); if (!$sellist) { //$total_num = $this->display_count($obj_list, $display) ; } ?> <table width=100%> <tr> <td align=center> <table cellspacing=2 cellpadding=2 width=97% align=center> <tr><td class=rowpoint></td><td colspan= <?php echo $nlcount; ?> > <table cellpadding=0 cellspacing=0 border=0 width=100%> <tr><td valign=bottom ></td> <td> <?php if (isset($ghtml->__http_vars['frm_hpfilter'][$filtername]['pagenum'])) { $cgi_pagenum = $ghtml->__http_vars['frm_hpfilter'][$filtername]['pagenum']; } else { $cgi_pagenum = 1; } if (!$sellist) { $this->print_next_previous($parent, $class, "top", $cgi_pagenum, $total_num, $pagesize); } ?> </td> <td align=right valign=bottom > <?php if (!$sellist) { ?> <table cellpadding="0" cellspacing="0" border="0" height="27" > <tr><td><img src="<?php echo $imgheadleft; ?> "></td><td nowrap valign=middle background="<?php echo $imgheadbg; ?> "><b><font color="#ffffff"><?php echo get_plural($classdesc[2]); ?> under <?php echo $parent->display("nname"); ?> </b> <?php echo $this->print_machine($parent); ?> <b> (<?php echo $total_num; ?> )</b></font></td><td><img src="<?php echo $imgheadright; ?> "></td></tr> </table> </td> </tr> <tr><td colspan=3><table cellpadding=0 cellspacing=0 border=0 width=100% height=35 background="<?php echo $imgbtnbg; ?> "> <tr><td><img src="<?php echo $imgbtncrv; ?> "></td><td width=80% align=left > <table width=100% cellpadding=0 cellspacing=0 border=0><tr><td valign=bottom><?php $this->print_list_submit($class, $blist, $unique_name); ?> </td></tr></table></td><td width=15% align=right><b><font color="#ffffff"><?php $this->print_search($parent, $class); ?> </font></b></td></tr> </table> </td></tr> </td></tr><tr><td height=2 colspan=2></td></tr></table> <?php } else { $descr = $this->getActionDescr($_SERVER['PHP_SELF'], $this->__http_vars, $class, $var, $identity); ?> <table cellpadding=0 cellspacing=0 border=0 width=100%><tr><td width=70% valign=bottom><table cellpadding=0 cellspacing=0 border=0 width=100%><tr><td width=100% height=2 background="<?php echo $imgtopline; ?> "></td></tr></table></td><td align=right><table cellpadding=0 cellspacing=0 border=0 width=100% ><tr><td><img src="<?php echo $imgheadleft; ?> "></td><td nowrap width=100% background="<?php echo $imgheadbg; ?> " ><b><font color="#ffffff"> Confirm <?php echo $descr[1]; ?> : </b><?php echo get_plural($classdesc[2]); ?> from <?php echo $parent->display("nname"); ?> </font></td><td><img src="<?php echo $imgheadright; ?> "></td></tr></table></td></tr></table> </td></tr><tr><td height=0 colspan=2></td></tr></table> <?php } ?> <!-- </td></tr><tr><td height=2 colspan=2></td></tr></table> --> <tr><td bgcolor="#ffffff"></td> <?php $imguparrow = get_general_image_path() . "/button/uparrow.gif"; $imgdownarrow = get_general_image_path() . "/button/downarrow.gif"; foreach ($name_list as $name => $width) { $desc = "__desc_{$name}"; $descr[$name] = get_classvar_description($class, $desc); if (!$descr[$name]) { print "Cannot access static variable {$class}::{$desc}"; exit(0); } if (csa($descr[$name][2], ':')) { $_tlist = explode(':', $descr[$name][2]); $descr[$name][2] = $_tlist[0]; } foreach ($descr[$name] as &$d) { if ($this->is_special_url($d)) { continue; } if (strstr($d, "%v") !== false) { $d = str_replace("[%v]", $classdesc[2], $d); } } if ($width === "100%") { $wrapstr = "wrap"; } else { $wrapstr = "nowrap"; } if ($sortby && $sortby === $name) { $wrapstr .= " background={$imgtablerowheadselect}"; print "<td width={$width} {$wrapstr} ><table cellpadding=0 cellspacing=0 border=0> <tr> <td rowspan=2 {$wrapstr}>"; } else { $wrapstr .= " background={$imgtablerowhead}"; print "<td width={$width} {$wrapstr} class=col>"; } ?> <b><?php $this->print_sortby($parent, $class, $unique_name, $name, $descr[$name]); ?> </b></font> <?php $imgarrow = $sortdir === "desc" ? $imgdownarrow : $imguparrow; if ($sortby && $sortby === $name) { print "</td> <td width=15><img src=" . $imgarrow . " ></td><td ></td></tr></table>"; } ?> </td> <?php } $count = 0; $rowcount = 0; ?> <td width=10 background=<?php echo $imgtablerowhead; ?> > <form name="formselectall<?php echo $unique_name; ?> " value=hello> <input type=checkbox name="selectall<?php echo $unique_name; ?> " value=on <?php if ($sellist) { echo "checked disabled"; } ?> onclick="javascript:calljselectall<?php echo $unique_name; ?> ()"></form> </td> <?php print "</tr> "; print_time('loop'); $n = 1; foreach ((array) $obj_list as $okey => $obj) { $checked = ''; // Fix This. if ($sellist) { $checked = "checked disabled"; if (!array_search_bool($obj->nname, $sellist)) { continue; } } $imgpointer = get_general_image_path() . "/button/pointer.gif"; $imgblank = get_general_image_path() . "/button/blank.gif"; ?> <script> loadImage('<?php echo $imgpointer; ?> ') </script> <script> loadImage('<?php echo $imgblank; ?> ') </script> <tr id=tr<?php echo $unique_name . $rowcount; ?> class=tablerow<?php echo $count; ?> onmouseover=" swapImage('imgpoint<?php echo $rowcount; ?> ','','<?php echo $imgpointer; ?> ',1);" onmouseout="swapImgRestore();"> <td id=td<?php echo $unique_name . $rowcount; ?> width=5 class=rowpoint><img name=imgpoint<?php echo $rowcount; ?> src="<?php echo $imgblank; ?> "></td> <?php $colcount = 1; foreach ($name_list as $name => $width) { $this->printObjectElement($parent, $class, $classdesc, $obj, $name, $width, $descr, $colcount . "_" . $rowcount); $colcount++; } $basename = basename($obj->nname); $selectshowbase = $this->frm_selectshowbase; // issue #609 // $ret = strfrom($parent->nname, $selectshowbase); $ret = str_replace('//', '/', strfrom($parent->nname, $selectshowbase)); print " <td width=10 >"; print "<a class=button href=\"javascript:callSetSelectFolder('/{$ret}/{$basename}')\">"; print " Select </a>"; print "</tr> "; if ($count === 0) { $count = 1; } else { $count = 0; } $rowcount++; if (!$sellist) { if ($n === $pagesize * $cgi_pagenum) { break; } } $n++; } print_time('loop', "loop{$n}"); print "<tr><td></td><td colspan={$nlcount}>"; if (!$rowcount) { if ($ghtml->frm_searchstring) { ?> <table width=95%> <tr align=center> <td width=100%> <b> No Matches Found </b> </td> </tr> </table> <?php } else { ?> <table width=95%> <tr align=center> <td width=100%> <b> No <?php echo get_plural($classdesc[2]); ?> under <?php echo $parent->nname; ?> </b> </td> </tr> </table> <?php } } print "</td></tr>"; print "<tr><td class=rowpoint></td><td colspan=" . $nlcount . " >\n <table cellpadding=0 cellspacing=0 border=0 width=100%>\n <tr height=1 style='background:url({$imgtopline})'><td></td></tr>\n <tr><td>"; ?> <script>ckcount<?php echo $unique_name; ?> = <?php echo $rowcount . "; "; ?> function calljselectall<?php echo $unique_name; ?> (){ jselectall(document.formselectall<?php echo $unique_name; ?> .selectall<?php echo $unique_name; ?> ,ckcount<?php echo $unique_name; ?> ,'<?php echo $unique_name; ?> ') } </script> <?php print "<table> <tr> <td >"; print "<a class=button href=\"javascript:window.close()\"> Cancel </a> "; print "</td> <td width=30> </td> <td >"; print "</td> </tr> </table> "; print "</td></tr></table></tr></table></td> </tr> </table>"; //else { // // $this->print_list_submit($blist); // } //print_time("$class.objecttable", "$class.objecttable"); /// Important. This is to make sure that the session saving etc doesn't take place. We just need a plain and clean window without any saving. If this happens the current url gets added to the sessiona and redirection will screw up. exit; }
function getActionDescr($path, $post, &$class, &$var, &$nname) { global $gbl, $sgbl, $login, $ghtml; $laclass = $suclass = null; if (isset($post['frm_o_cname'])) { $laclass = $post['frm_o_cname']; } if (isset($post['frm_o_o']) && $post['frm_o_o']) { $p = $post['frm_o_o']; $suclass = $p[count($p) - 1]['class']; $p = $post['frm_o_o']; for ($i = count($p) - 1; $i >= 0; $i--) { if (isset($p[$i]['nname'])) { $nname = exec_class_method($suclass, 'getClassId', $p[$i]['nname']); break; } } } else { $nname = $login->nname; } $name = "<font color=blue> {$nname}</font>"; if (!$laclass && !$suclass) { $laclass = lget_class($login); $suclass = lget_class($login); } $var = null; if (isset($post['frm_action'])) { $var = strtolower($post["frm_action"]); } if ($var === "delete") { $class = $laclass; return array("", "", "Delete", "", 'desc' => "Delete", 'help' => $login->getKeywordUc('delete'), "{$login->getKeywordUc('delete')} {$laclass}"); } if ($var === "list") { $class = $laclass; $desc = get_classvar_description($class, "__acdesc_list"); if (!$desc) { $desc = get_classvar_description($laclass); $descr = $desc[2]; $descri = get_plural($desc[2]); $help = "{$login->getKeywordUc('list')} {$descri}"; } else { $descri = $desc[2]; $help = $desc[2]; } if (isset($post['frm_filter']['show'])) { $dvar = 'filter_show_' . $post['frm_filter']['show']; $desc = get_classvar_description($laclass, $dvar); $descri = $desc[2]; $var = "list_" . '_filter_show_' . $post['frm_filter']['show']; } if (isset($post['frm_filter']['view'])) { $dvar = 'filter_view_' . $post['frm_filter']['view']; $desc = get_classvar_description($laclass, $dvar); $descri = $desc[2]; $var = "list_" . '_filter_view_' . $post['frm_filter']['view']; } return array("", "", $descri, 'desc' => $descri, $help, 'help' => $desc['help']); } if ($var === "searchform") { $class = $laclass; $desc = get_classvar_description($laclass); $descr = $desc[2]; $descri = get_plural($desc[2]); if (isset($post['frm_hpfilter'])) { $dvar = 'filter_show_' . $post['frm_hpfilter']['show']; $desc = get_classvar_description($laclass, $dvar); $descri = $desc[2]; $var = "list_" . '_filter_show_' . $post['frm_hpfilter']['show']; } return array("", "", "{$descr} Search", 'desc' => "{$descr} Search", 'help' => "{$descr} Search", "Search {$descr}"); } if ($var === "addform") { $class = $laclass; if (isset($post['frm_dttype'])) { $subvar = $post['frm_dttype']['var']; $sub = $post['frm_dttype']['val']; } else { $sub = null; } if ($sub) { $desc = get_classvar_description($laclass, "{$subvar}_v_{$sub}"); } else { $desc = get_classvar_description($laclass); } if ($sub) { $var = $sub . "_" . $var; } $descr = $desc[2]; return array("", "", "Add {$descr}", 'desc' => "Add {$descr}", 'help' => "{$login->getKeywordUc('add')} {$descr}", "{$login->getKeywordUc('add')} {$descr}"); } if ($var === "updateform" || $var === "update") { if (isset($laclass)) { $class = $laclass; } else { $class = $suclass; } if (isset($post['frm_subaction'])) { $sub = "_" . $post['frm_subaction']; } else { $sub = null; } $var = $var . $sub; $desc = get_classvar_description($class, "__acdesc_update" . $sub); if ($desc) { if (csa($desc[2], "[%s]")) { $desc[2] = str_replace("[%s]", $name, $desc[3]); } else { $desc[2] .= ""; } $desc['desc'] = $desc[2]; return $desc; } else { $descr = "Update {$sub}"; } return array("", '', $descr, 'desc' => $descr, 'help' => $desc['help']); } if ($var === "show" || $var === 'graph') { $realvar = $var; $class = $suclass; if (isset($post['frm_subaction'])) { $sub = "_" . $post['frm_subaction']; } else { $sub = null; } $var = $var . $sub; $desc = get_classvar_description($suclass, "__acdesc_{$realvar}" . $sub); if (!$desc) { $desc = get_classvar_description($suclass); if (csa($desc[0], "N")) { $count = count($post['frm_o_o']) - 1; $var .= "_nn_" . fix_nname_to_be_variable($post['frm_o_o'][$count]['nname']); } $descr = "{$desc[2]} {$login->getKeywordUc('home')} "; $help = "{$login->getKeywordUc('show')} {$desc[2]} details"; } else { $descr = $desc[2]; $help = $desc[2]; } $desc = get_classvar_description($suclass); if (csa($desc[0], "N")) { $count = count($post['frm_o_o']) - 1; } return array("", '', $descr, 'desc' => $descr, 'help' => $help); } $descvar = "__ac_desc_" . $class . "_" . $var; $dvar = ucfirst($var); return array("", '', $dvar, 'desc' => $dvar, 'help' => $dvar); }
function get_description($stuff) { if (is_object($stuff)) { $class = lget_class($stuff); } else { $class = $stuff; } $descr = get_classvar_description($class); return $descr[2]; }
function isQuotaVariable($k) { $descr = get_classvar_description(get_class($this), $k); if (csa($descr[0], 'q')) { return $this->isQuotaVariableSpecific($k); } return false; }
function getId() { if (isset($this->__var_extraid)) { return strfrom($this->__var_extraid, "__lx_"); } else { if (csa($this->nname, "_s_vv_p_")) { return strfrom($this->nname, "_s_vv_p_"); } else { $pdesc = get_classvar_description($this->getParentO()->getClass()); return "{$pdesc['2']}: {$this->getParentO()->getId()} {$this->nname}"; } } }
function get_v_descr($stuff, $v = null) { if (is_object($stuff)) { $class = lget_class($stuff); } else { $class = $stuff; } if ($v) { $desc = get_classvar_description($class, $v); } else { $desc = get_classvar_description($class); } return $desc[2]; }
function do_updateform($object, $subaction) { global $gbl, $sgbl, $login, $ghtml; $class = lget_class($object); $parent = $object->getParentO(); $qparent = $parent; $_tsubaction = null; if ($subaction) { $_tsubaction = "_" . $subaction; } $udesc = get_classvar_description($class, "__acdesc_update" . $_tsubaction); $title = null; if ($udesc) { $title = $udesc[2]; } $gbl->setSessionV("lx_update_return_url", "/display.php?" . $ghtml->get_get_from_current_post(null)); $param = $ghtml->createCurrentParam($class); if ($ghtml->frm_accountselect) { $list = explode(",", $ghtml->frm_accountselect); $param['_accountselect'] = $list; } $vlist = $object->updateform($subaction, $param); $tparam = null; if (isset($vlist['__v_param'])) { $tparam = $vlist['__v_param']; } if (isset($vlist['__v_childheir'])) { if ($vlist['__v_childheir']) { $var = $vlist['__v_childheir']; $o = $object->{$var}; } else { $o = $object; } /// Hack mega hack.. Adding tparam to the http_vars variable so that do_resource will get them. if ($tparam) { foreach ($tparam as $k => $v) { $param["frm_" . $class . "_c_" . $k] = $v; $ghtml->__http_vars["frm_{$class}_c_{$k}"] = $v; } } $ghtml->do_resource($gbl->__var_restore_tree, $o, 0, false, $vlist['__v_resourcefunc'], true, false); if ($vlist['__v_showcheckboxflag']) { print_time('full', "Page Generation Took"); return; } } // Hack Hack Hack... Cannot handle file permissions neatly now... Just calling the whole thing.. if (isset($vlist['file_permission_f'])) { $ghtml->print_file_permissions($object); return; } $string[] = $ghtml->object_variable_startblock($object, null, $title); $string[] = $ghtml->object_inherit_classpath(); $ret['variable'] = $vlist; if (isset($vlist['__v_next'])) { $ret['action'] = 'updateform'; $ret['subaction'] = $vlist['__v_next']; } else { $ret['action'] = "update"; $ret['subaction'] = $subaction; } $param = null; if ($tparam) { foreach ($tparam as $k => $v) { $param["frm_{$class}_c_{$k}"] = $v; } $string[] = $ghtml->object_variable_hiddenlist($param); } $string[] = create_xml($qparent, $object, $ret); $pre = $post = null; if (isset($vlist['__m_message_pre'])) { $pre = $vlist['__m_message_pre']; } if (isset($vlist['__m_message_post'])) { $post = $vlist['__m_message_post']; } $ghtml->print_information('pre', 'updateform', $class, $subaction, $pre); $ghtml->xml_print_page($string); $ghtml->print_information('post', 'updateform', $class, $subaction, $post); }
static function baseinitThisList($parent, $class, $type) { global $gbl, $sgbl, $login, $ghtml; $rlist = $parent->createShowRlist(""); $class = $parent->get__table(); $resourceout = null; if ($rlist) { $j = 0; foreach ($rlist as $k => $v) { if ($k === 'priv') { $vlist = $parent->getQuotaVariableList(); $vlist = lx_array_merge(array($vlist, $parent->getDeadQuotaVariableList())); foreach ($vlist as $nk => $nv) { // Why am I skipping hardquota?. OK it screws up vps graph if ($parent->isHardQuota($nk)) { continue; } if ($type === 'permission') { if (!cse($nk, "_flag")) { continue; } if ($login->getSpecialObject('sp_specialplay')->isOn('dont_show_disabled_permission')) { if (!$parent->priv->isOn($nk)) { continue; } } } else { if (cse($nk, "_flag")) { continue; } } $desc = get_classvar_description($class, $nk); if (is_array($parent->priv->{$nk})) { foreach ($parent->priv->{$nk} as $nnk => $nnv) { $resourceout[$j]['vv'] = $nk; $resourceout[$j]['nname'] = $j; $resourceout[$j]['shortdescr'] = getNthToken($desc[2], 0); $sh = getNthToken($desc[2], 0); $ln = getNthToken($desc[2], 1); $resourceout[$j]['descr'] = "_lxspan:{$sh}:{$ln}:"; $resourceout[$j]['resourceused'] = $parent->used->{$nk}[$nnk]; $resourceout[$j]['resourcepriv'] = $parent->priv->{$nk}[$nnk]; $j++; } continue; } if (isset($parent->used)) { $vresourceused = $parent->used->{$nk}; } else { $vresourceused = '-'; } if (cse($nk, "_flag")) { $vresourcepriv = $parent->priv->{$nk}; } else { if ($parent->priv->{$nk} === "0") { continue; } if ($parent->showPrivInResource()) { $vresourcepriv = $parent->priv->{$nk}; } else { $vresourcepriv = '-'; } } if (cse($nk, 'last_usage')) { $vresourcepriv = '-'; } if ($parent->isDeadQuotaVariable($nk)) { $vresourcepriv = "-"; } $resourceout[$j]['vv'] = $nk; $resourceout[$j]['nname'] = $j; $resourceout[$j]['shortdescr'] = getNthToken($desc[2], 0); $sh = getNthToken($desc[2], 0); $ln = getNthToken($desc[2], 1); $resourceout[$j]['descr'] = "_lxspan:{$sh}:{$ln}:"; $resourceout[$j]['resourceused'] = $vresourceused; $resourceout[$j]['resourcepriv'] = $vresourcepriv; $j++; } } else { $resourceout[$j]['vv'] = $v[0]; $resourceout[$j]['nname'] = $j; $resourceout[$j]['shortdescr'] = getNthToken($v[1], 0); $sh = getNthToken($v[1], 0); $ln = getNthToken($v[1], 1); $resourceout[$j]['descr'] = "_lxspan:{$sh}:{$ln}:"; $resourceout[$j]['resourceused'] = $v[2]; $resourceout[$j]['resourcepriv'] = $v[3]; $j++; } } } return $resourceout; }