=') && version_compare($_SERVER['REMOTE_ADDR'], '64.235.159.255', '<=')) { return true; } return false; } function acym_displayErrors() { error_reporting(E_ALL); @ini_set('display_errors', 1); } function acym_checkRobots() { if (preg_match('#(libwww-perl|python|googlebot)#i', @$_SERVER['HTTP_USER_AGENT'])) { die('Not allowed for robots. Please contact us if you are not a robot'); } } function acym_noCache() { acym_header('Cache-Control: no-store, no-cache, must-revalidate'); acym_header('Cache-Control: post-check=0, pre-check=0', false); acym_header('Pragma: no-cache'); acym_header('Expires: Wed, 17 Sep 1975 21:32:10 GMT'); } function acym_isAllowed($controller, $task = ''): bool { $config = acym_config(); $globalAccess = $config->get('acl_'.$controller, 'all'); if ($globalAccess === 'all') { return true; } $globalAccess = explode(',', $globalAccess); $globalAccess[] = ACYM_ADMIN_GROUP; $userId = acym_currentUserId(); if (empty($userId)) { return false; } $userGroups = acym_getGroupsByUser($userId); if (empty($userGroups)) { return false; } foreach ($userGroups as $oneGroup) { if (in_array($oneGroup, $globalAccess)) { return true; } } return false; } function acym_raiseError($code, $message) { echo ''; echo '
'; acym_display('Error '.$code.': '.$message, 'error', false); echo '
'; http_response_code($code); exit; } function acym_isLicenseValidWeekly(): bool { $config = acym_config(); $expirationDate = $config->get('expirationdate', 0); if (empty($expirationDate) || (time() - 604800) > $config->get('lastlicensecheck', 0)) { acym_checkVersion(); $config = acym_config(true); $expirationDate = $config->get('expirationdate', 0); } return $expirationDate >= time(); }