X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=themes%2Fcool%2Frenderer.php;h=8ce153f2a128f17eeaba66703001574f85953d91;hb=d5ec96e90a4bdcecc7423ca407724415817cb372;hp=925631403dcf966575cde1e9bb67bff9dbba0c3e;hpb=aa2ff78063656a7843d763859e3b9b4c15a3f920;p=fa-stable.git diff --git a/themes/cool/renderer.php b/themes/cool/renderer.php index 92563140..8ce153f2 100644 --- a/themes/cool/renderer.php +++ b/themes/cool/renderer.php @@ -56,10 +56,13 @@ echo "
"; foreach($applications as $app) { - $acc = access_string($app->name); - echo "" .$acc[0] . ""; + if ($this->check_application_access($app)) + { + $acc = access_string($app->name); + echo "" .$acc[0] . ""; + } } echo "
"; @@ -140,9 +143,13 @@ { global $path_to_root; $selected_app = $waapp->get_selected_application(); + if (!$this->check_application_access($selected_app)) + return; foreach ($selected_app->modules as $module) { + if (!$this->check_module_access($module)) + continue; // image echo ""; // values @@ -162,7 +169,7 @@ { echo $img.menu_link($appfunction->link, $appfunction->label)."
\n"; } - else + elseif (!$this->hide_inaccessible_menu_items()) { echo $img.'' .access_string($appfunction->label, true) @@ -182,7 +189,7 @@ { echo $img.menu_link($appfunction->link, $appfunction->label)."
\n"; } - else + elseif (!$this->hide_inaccessible_menu_items()) { echo $img.'' .access_string($appfunction->label, true) @@ -197,6 +204,74 @@ echo ""; } + + function check_application_access($waapp) + { + if (!$this->hide_inaccessible_menu_items()) + { + return true; + } + + foreach ($waapp->modules as $module) + { + if ($this->check_module_access($module)) + { + return true; + } + } + + return false; + + } + + function check_module_access($module) + { + + if (!$this->hide_inaccessible_menu_items()) + { + return true; + } + + if (sizeof($module->lappfunctions) > 0) + { + foreach ($module->lappfunctions as $appfunction) + { + if ($appfunction->label != "" && $_SESSION["wa_current_user"]->can_access_page($appfunction->access)) + { + return true; + } + } + } + + if (sizeof($module->rappfunctions) > 0) + { + foreach ($module->rappfunctions as $appfunction) + { + if ($appfunction->label != "" && $_SESSION["wa_current_user"]->can_access_page($appfunction->access)) + { + return true; + } + } + } + + return false; + + } + + function hide_inaccessible_menu_items() + { + global $hide_inaccessible_menu_items; + + if (!isset($hide_inaccessible_menu_items) || $hide_inaccessible_menu_items == 0) + { + return false; + } + + else + { + return true; + } + } } ?> \ No newline at end of file