function print_index() { global $gbl, $sgbl, $ghtml, $login; ob_start(); print_time('index'); $cgi_clientname = $ghtml->frm_clientname; Htmllib::checkForScript($cgi_clientname); $cgi_class = $ghtml->frm_class; if (!$cgi_class) { $cgi_class = getClassFromName($cgi_clientname); } $cgi_password = $ghtml->frm_password; $cgi_forgotpwd = $ghtml->frm_forgotpwd; $cgi_email = $ghtml->frm_email; $cgi_key = $ghtml->frm_login_key; if (!$cgi_password || !$cgi_clientname) { $ghtml->print_redirect("/login/?frm_emessage=login_error"); } $cgi_classname = 'client'; if ($cgi_class) { $cgi_classname = $cgi_class; } if ($cgi_clientname == "" || $cgi_password == "" && $cgi_key == "") { $cgi_forgotpwd = $ghtml->frm_forgotpwd; return; } $ip = $_SERVER['REMOTE_ADDR']; if (!check_login_success($cgi_classname, $cgi_clientname, $cgi_password, $cgi_key)) { return; } log_log("login_success", "Successful Login to {$cgi_clientname} from " . $_SERVER['REMOTE_ADDR']); /* try { $att = $gbl->g->getFromList("loginattempt", $ip); $att->delete(); } catch (Exception $e) { } */ if (check_disable_admin($cgi_clientname)) { $ghtml->print_redirect("/login/?frm_emessage=login_error"); exit; } if (get_login($cgi_classname, $cgi_clientname)) { do_login($cgi_classname, $cgi_clientname); $login->was(); check_blocked_ip(); $ghtml->print_redirect("/"); } else { $ghtml->cgiset("frm_emessage", "login_error"); } $cgi_forgotpwd = $ghtml->frm_forgotpwd; }
function webcommandline_main() { global $gbl, $sgbl, $login, $ghtml; global $argv; ob_start(); $opt = $_REQUEST; if ($opt['login-class'] !== 'client' && $opt['login-class'] !== 'auxiliary') { json_print("error", $opt, "__error_only_clients_and_auxiliary_allowed_to_login"); log_log("web_command", "__error_only_clients_and_auxiliary_allowed_to_login"); exit; } log_log("web_command", var_export($opt, true)); //initProgram('admin'); if (!check_raw_password($opt['login-class'], $opt['login-name'], $opt['login-password'])) { json_print("error", $opt, "_error_login_error"); log_log("web_command", "__error_login_error"); exit; } if (check_disable_admin($opt['login-name'])) { json_print("error", $opt, "_error_login_error"); log_log("web_command", "__error_admin_is_disabled"); exit; } $classname = $opt['login-class']; $lobject = new $classname(null, 'localhost', $opt['login-name']); $lobject->get(); if ($lobject->dbaction === 'add') { json_print("error", $opt, "__error_login_error\n"); log_log("web_command", "__error_login_error"); exit; } if ($classname === 'auxiliary') { $login = $lobject->getParentO(); $login->__auxiliary_object = $lobject; } else { $login = $lobject; } if ($opt['action'] === 'simplelist') { $must = array('action', 'resource'); } else { if ($opt['action'] === 'getproperty') { $must = array('action'); } else { $must = array('action', 'class'); } } $pk = array_keys($opt); foreach ($must as $m) { if (!array_search_bool($m, $pk)) { $string = implode("_", $must); json_print("error", $opt, "__error_need_{$string}\n"); log_log("web_command", "__error_need_{$string}"); exit; } } $func = "__cmd_desc_{$opt['action']}"; try { $list = $func($opt); } catch (exception $e) { while (@ob_end_clean()) { } json_print("error", $opt, "__error_{$e->getMessage()}"); log_log("web_command", "__error_{$e->getMessage()}"); exit; } if ($opt['action'] === 'simplelist') { json_print_result($opt, $list); } else { if ($opt['action'] === 'getproperty') { json_print_result($opt, $list); } else { $out = "__success_{$opt['action']}_successful_on_{$opt['class']}_{$opt['name']}"; json_print("success", $opt, $out); } } log_log("web_command", "__success_{$opt['action']}"); exit; }