diff --git a/html/includes/functions.inc.php b/html/includes/functions.inc.php
index bcb1abe73..e78be373e 100644
--- a/html/includes/functions.inc.php
+++ b/html/includes/functions.inc.php
@@ -224,7 +224,7 @@ function application_permitted($app_id, $device_id = NULL)
if (is_numeric($app_id))
{
- if (!$device_id) { $device_id = device_by_id_cache ($app_id); }
+ if (!$device_id) { $device_id = get_device_id_by_app_id ($app_id); }
if ($_SESSION['userlevel'] >= "5") {
$allowed = TRUE;
} elseif (device_permitted($device_id)) {
diff --git a/includes/common.php b/includes/common.php
index c3b9df7b6..86461a382 100644
--- a/includes/common.php
+++ b/includes/common.php
@@ -219,6 +219,21 @@ function get_device_id_by_interface_id($interface_id)
}
}
+function get_device_id_by_app_id($app_id)
+{
+ if (is_numeric($app_id))
+ {
+ $device_id = dbFetchCell("SELECT `device_id` FROM `applications` WHERE `app_id` = ?", array($app_id));
+ }
+
+ if (is_numeric($device_id))
+ {
+ return $device_id;
+ } else {
+ return FALSE;
+ }
+}
+
function ifclass($ifOperStatus, $ifAdminStatus)
{
$ifclass = "interface-upup";