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';
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) {