コード例 #1
0
if (! $is_user_profile) {
	$profile_id = (int)@$_REQUEST['profile_id'];
} else {
	$user_id = (int)@$_SESSION['sudo_user']['info']['id'];
	$profile_id = (int)$DB->executeGetOne(
		'SELECT `softkey_profile_id` FROM `users` WHERE `id`='. $user_id );
	$show_ext_modules = (int)$DB->executeGetOne( 'SELECT `g`.`show_ext_modules` FROM `users` `u` JOIN `user_groups` `g` ON (`g`.`id`=`u`.`group_id`) WHERE `u`.`id`='.$user_id );
}
if ($profile_id < 1) $profile_id = 0;

$phone_type = preg_replace('/[^a-z0-9\-]/', '', @$_REQUEST['phone_type']);
if (! $is_user_profile) {
	if ($profile_id < 1) $phone_type = '';
}
if( $is_user_profile && $phone_type == '' ) {
	$phone_type = gs_user_phonemodel_get( @$_SESSION['sudo_user']['name'] );
}
if ($phone_type != '' && ! array_key_exists($phone_type, $phone_types)) {
	$phone_type = '';
}
if ($phone_type == '') {
	if (gs_get_conf('GS_SNOM_PROV_ENABLED')) {
		if     (array_key_exists('snom-300', $phone_types)) $phone_type = 'snom-300';
		elseif (array_key_exists('snom-320', $phone_types)) $phone_type = 'snom-320';
		elseif (array_key_exists('snom-360', $phone_types)) $phone_type = 'snom-360';
		elseif (array_key_exists('snom-370', $phone_types)) $phone_type = 'snom-370';
		elseif (array_key_exists('snom-821', $phone_types)) $phone_type = 'snom-821';
	} else
	if (gs_get_conf('GS_SIEMENS_PROV_ENABLED')) {
		if     (array_key_exists('siemens-os20', $phone_types)) $phone_type = 'siemens-os20';
		elseif (array_key_exists('siemens-os40', $phone_types)) $phone_type = 'siemens-os40';
コード例 #2
0
ファイル: dnd.php プロジェクト: hehol/GemeinschaftPBX
    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) {
    _err("Not authorized");
}
$remote_addr = @$_SERVER["REMOTE_ADDR"];
$remote_addr_check = $db->executeGetOne("SELECT `current_ip` FROM `users` WHERE `id`='" . $user_id . "'");
if ($remote_addr != $remote_addr_check) {