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