コード例 #1
0
ファイル: htmllib.php プロジェクト: hypervm-ng/hypervm-ng
 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);
 }
コード例 #2
0
ファイル: lxlib.php プロジェクト: zseand/kloxo
 function getClass()
 {
     return lget_class($this);
 }
コード例 #3
0
function do_desc_update($object, $subaction, $param)
{
    global $gbl, $sgbl, $login, $ghtml;
    $class = lget_class($object);
    $parent = $object->getParentO();
    $qparent = $parent;
    $update_func = "update{$subaction}";
    do_actionlog($login, $object, "update", $subaction);
    //Calling the generic update first... If any class wide security checks to be made (as in the case of templates, u can do it there...
    $param = $object->update($subaction, $param);
    if (method_exists($object, $update_func)) {
        $param = $object->{$update_func}($param);
    }
    //dprintr($param['__m_group']);
    if (!$param) {
        return false;
    }
    if (array_search_bool('__Select One__', $param, true)) {
        // OA Left this here so you see why Ive added 'strict' to array_search
        // Basically 1 = '__Select One__' without strict search
        //
        // Anyone knows where else could 'strict' be needed?
        //
        //$ret = array_search('__Select One__', $param, true);
        //if($param[$ret] == '__Select One__') $str_ = $param[$ret] ."  equals __Select One__ according to php...";
        throw new lxException("Select One is not an acceptable Value", '');
    }
    $nparam[$class]['nname'] = $object->nname;
    // This code is very much suspect. Looks like I copied this from the addform and dumped it here. Should tkae a more detailed look in this. The issue is, the nnamevar is not needed, since this is inside a fully formed object, and nname need not be constructed.
    foreach ($param as $k => $v) {
        $object->resolve_class_heirarchy($class, $k, $dclass, $dk);
        $object->resolve_class_differences($class, $k, $ddclass, $ddk);
        if ($ddclass !== $class) {
            $nnamevar = get_real_class_variable($ddclass, "__rewrite_nname_const");
            if ($nnamevar) {
                $nnamelist = null;
                foreach ($nnamevar as $n) {
                    $nnamelist[] = $param[$n];
                }
                $nparam[$dclass]['nname'] = implode($sgbl->__var_nname_impstr, $nnamelist);
            }
        }
        $nparam[$dclass][$dk] = $v;
    }
    foreach ($nparam as $k => $v) {
        if ($k === $class) {
            continue;
        }
        if ($k === 'priv') {
            $pvar = $object->priv;
            $oldpvar = clone $pvar;
            check_priv($qparent, $class, $pvar, $v);
            $object->distributeChildQuota($oldpvar);
            continue;
        }
        if ($k === 'listpriv') {
            $pvar = $object->listpriv;
            check_listpriv($qparent, $class, $pvar, $v);
            continue;
        }
        // Checking for used too. Special case.... Copy the current used to __old_used. This is done so that the changes are trackable. For instance, in frontpage, you need to know if the previous state of frontpage. You cannot simply run the frontpage enabled command evertime any change is made. It should be run only if the previous state was disabled and the current state is enabled. Or vice versa. This has to be done distributechildquota too, where the 'used' is forcibly turned off to synchronize with the priv variable.
        if ($k === 'used') {
            $object->__old_used = clone $object->used;
        }
        if (cse($k, "_b") || $k === 'used') {
            $bvar = $object->{$k};
            $bvar->modify($v);
            continue;
        }
    }
    $object->modify($nparam[$class], $subaction);
    $object->postUpdate();
    if (cse($object->get__table(), "_a")) {
        $object->getParentO()->setUpdateSubaction('update_a_child');
    }
    return $param;
}
コード例 #4
0
ファイル: lxclass.php プロジェクト: hypervm-ng/hypervm-ng
 function changeUsedFromParent($qp, $flag)
 {
     $class = $this->getResourceIdentity();
     $cnum = "{$class}_num";
     $pclass = lget_class($qp);
     $doupdate = false;
     if (!isset($qp->used)) {
         return;
     }
     $val = 1 * $flag;
     if ($qp->isQuotaVariable($cnum)) {
         $qp->used->{$cnum} += $val;
         $doupdate = true;
         dprint("<b> IN change used ... quota variable specific {$qp->getClname()} {$class} {$this->nname} <br> </b><br>\n ");
         //dprintr($qp->used);
     }
     /*
     	$list = $qp->getQuotaVariableList();
     
     	foreach($list as $l => $v) {
     		if (csb($l, "{$class}_m_")) {
     			$license = strtil(strfrom($l, "_n_"), "_num");
     			$licvar = strtil(strfrom($l, "_m_"), "_n_");
     			if ($this->$licvar === $license) {
     				$qp->used->$l += $val;
     				$doupdate = true;
     			}
     		}
     	}
     */
     // This is not needed. When you add or delete something, just remove its number from the parent. Reducing the usages seem to cause lots of problem.
     /*
     	$qv = $this->getQuotaVariableList();
     	foreach((array) $qv as $k => $v) {
     		if (cse($k, "_time") || cse($k, "_flag") || cse($k, "_num")) {
     			continue;
     		}
     		if (isset($this->used)) {
     			$rv = $flag * $this->used->$k;
     			$qp->used->$k += $rv;
     			$doupdate = true;
     		}
     	}
     */
     if ($doupdate) {
         dprint("<b> Warning Change Used From Parent... {$qp->getClname()} {$class} {$this->nname} <br> </b><br>\n ");
         $qp->setUpdateSubaction();
     }
     // Improtant. This function is called in the 'was' of a child. And thus the was of this object is already over. So we need to do a write ourselves. Be careful, WHen adding sometimes a child is 'wased' before the parent, leading to a lot unexpected quandaries. Only if the parent is in updatemode should it be written to. Else it means it was when adding, and then it should be left to the normal 'was';
     if ($qp->dbaction === 'update') {
         $qp->write();
     }
 }
コード例 #5
0
function create_navmenu($n, $action, $stuff)
{
    global $gbl, $sgbl, $login, $ghtml;
    if (is_object($stuff)) {
        $class = lget_class($stuff);
    } else {
        $class = $stuff;
    }
    if (is_object($stuff)) {
        $stuff->createShowAlist($alist);
        $type = 'slist';
    } else {
        $type = 'llist';
        $alist = exec_class_method($stuff, "createListAlist", $login, $stuff);
    }
    $f = null;
    if (isset($gbl->__navig[$n]['frm_o_o'])) {
        $f = $gbl->__navig[$n]['frm_o_o'];
    }
    $ghtml->print_menulist("navig{$n}", $alist, $f, $type);
    //	print("navig$n.writeMenus();\n");
}