Ejemplo n.º 1
0
Archivo: login.php Proyecto: rkania/GS3
    }
    # 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']);
Ejemplo n.º 2
0
        _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) {
Ejemplo n.º 3
0
 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();
Ejemplo n.º 4
0
        }
    }
    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>