} # get new phone's IP addr. # $new_ip_addr = $db->executeGetOne('SELECT `current_ip` FROM `users` WHERE `id`=' . $new_uid); gs_log(GS_LOG_DEBUG, "Mobility: IP address found for new phone: {$new_ip_addr}"); # reboot old phone # gs_prov_phone_checkcfg_by_ip($remote_addr, true); # reboot new phone # if ($new_ip_addr) { gs_prov_phone_checkcfg_by_ip($new_ip_addr, true); } return true; } $u = _get_user(); if (!$u) { aastra_textscreen('Error', __('Fehler bei der Zuordnung der IP:') . ' ' . @$_SERVER['REMOTE_ADDR']); //FIXME die; } $action = trim(@$_REQUEST['a']); if (!in_array($action, array('login', 'logout', 'restart'), true)) { $action = false; } $type = trim(@$_REQUEST['t']); if (!in_array($action, array('user', 'queue'), true)) { $type = 'user'; } $user = trim(@$_REQUEST['u']); $password = trim(@$_REQUEST['p']);
_err('Unknown sip user.'); } return $user; } if (!gs_get_conf('GS_AASTRA_PROV_ENABLED')) { gs_log(GS_LOG_NOTICE, 'Aastra provisioning not enabled'); _err('Not enabled.'); } $db = gs_db_master_connect(); $prov_url_aastra = GS_PROV_SCHEME . '://' . GS_PROV_HOST . (GS_PROV_PORT ? ':' . GS_PROV_PORT : '') . GS_PROV_PATH . 'aastra/'; $ua = trim(@$_SERVER['HTTP_USER_AGENT']); if (preg_match('/\\sMAC:(00-08-5D-\\w{2}-\\w{2}-\\w{2})\\s/', $ua, $m)) { $mac = preg_replace('/[^0-9A-F]/', '', strToUpper($m[1])); } $user_id = _get_userid(); $user = _get_user($user_id); // Check permissions $user_groups = gs_group_members_groups_get(array($user_id), "user"); $members = gs_group_permissions_get($user_groups, "dnd_set"); //get phone-model $phone = gs_user_phonemodel_get($user); $dnd_softkey = 4; if ($phone == 'aastra-6739i') { $dnd_softkey = 2; } // exit if access is not granted if (count($members) <= 0) { _err('Not permitted'); } $user_id_check = $db->executeGetOne("SELECT `user_id` FROM `phones` WHERE `mac_addr`='" . $db->escape($mac) . "'"); if ($user_id != $user_id_check) {
ctx_log_endok(); ctx_log_start("Connecting to DB"); // connect to the database $database = new Database(); $config = new DatabaseConfig($database); ctx_log_endok(); // load the theme parts ctx_log_start("Loading themelets"); foreach (_get_themelet_files(get_theme()) as $themelet) { require_once $themelet; } ctx_log_endok(); _load_extensions(); // start the page generation waterfall $page = class_exists("CustomPage") ? new CustomPage() : new Page(); $user = _get_user(); send_event(new InitExtEvent()); if (!is_cli()) { // web request send_event(new PageRequestEvent(@$_GET["q"])); $page->display(); } else { // command line request send_event(new CommandEvent($argv)); } // saving cache data and profiling data to disk can happen later if (function_exists("fastcgi_finish_request")) { fastcgi_finish_request(); } $database->commit(); ctx_log_endok();
} } ctx_log_endok(); // initialise the extensions foreach (get_declared_classes() as $class) { if (is_subclass_of($class, "SimpleExtension")) { $c = new $class(); $c->i_am($c); add_event_listener($c, $c->get_priority()); } } ctx_log_endok("Initialisation"); ctx_log_start("Page generation"); // start the page generation waterfall $page = class_exists("CustomPage") ? new CustomPage() : new Page(); $user = _get_user($config, $database); send_event(new InitExtEvent()); send_event(_get_page_request()); $page->display(); ctx_log_endok("Page generation"); $database->db->commit(); _end_cache(); ctx_log_endok(); } catch (Exception $e) { $version = VERSION; $message = $e->getMessage(); //$trace = var_dump($e->getTrace()); header("HTTP/1.0 500 Internal Error"); print <<<EOD <html> \t<head>