mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-03-16 22:18:56 -04:00
- Added missing PHPdocs - Corrected Syntax - Added noinspection parameters to PHPdoc for AJAX called functions - Added missing function return types - Added missing parameter types - Added public keyword to functions without visibility modifier - Corrected incorrectly formatted PHPdocs - Added public to constants and functions missing a visibility keyword
57 lines
1.1 KiB
PHP
57 lines
1.1 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @param string $report_name
|
|
* @param string $report_prefix
|
|
* @param string $lang_key
|
|
* @return array
|
|
*/
|
|
function get_report_link(string $report_name, string $report_prefix = '', string $lang_key = ''): array
|
|
{
|
|
$path = 'reports/';
|
|
if ($report_prefix !== '')
|
|
{
|
|
$path .= $report_prefix . '_';
|
|
}
|
|
|
|
/**
|
|
* Sanitize the report name in case it has come from the permissions table.
|
|
*/
|
|
$report_name = str_replace('reports_', '', $report_name);
|
|
$path .= $report_name;
|
|
|
|
if ($lang_key === '')
|
|
{
|
|
$lang_key = 'Reports.' . $report_name;
|
|
}
|
|
|
|
return [
|
|
'path' => site_url($path),
|
|
'label' => lang($lang_key),
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @param string $permission_id
|
|
* @param string[] $restrict_views
|
|
*
|
|
* @return bool
|
|
*/
|
|
function can_show_report($permission_id, array $restrict_views = []): bool
|
|
{
|
|
if (!strpos($permission_id, 'reports_'))
|
|
{
|
|
return false;
|
|
}
|
|
|
|
foreach ($restrict_views as $restrict_view)
|
|
{
|
|
if (strpos($permission_id, $restrict_view) !== false)
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|