/** * Verify current user permissions * * @global resource $SUMO * @param int $level * @param array $group * @param array $user * @author Alberto Basso <*****@*****.**> */ function sumo_verify_permissions($level = false, $group = false, $user = false, $log = true) { global $SUMO; $permit = false; // verify all conditions if ($level && $group && $user) { if (sumo_verify_current_group_level($level, $group) && sumo_verify_current_user($user)) { $permit = true; } } //verify group and level if ($level && $group && !$user) { if (sumo_verify_current_group_level($level, $group)) { $permit = true; } } // verify group and user if (!$level && $group && $user) { if (sumo_verify_current_group($group) && sumo_verify_current_user($user)) { $permit = true; } } // verify only group if (!$level && $group && !$user) { if (sumo_verify_current_group($group)) { $permit = true; } } // verify only user if (!$level && !$group && $user) { if (sumo_verify_current_user($user)) { $permit = true; } } // Access violations log if (!$permit && $SUMO['config']['security']['access_violations'] && $log) { if (is_array($group)) { $group = implode(",", $group); } sumo_write_log('E00122X', array($SUMO['user']['user'], "[MODULE: {$_SESSION['module']} ACTION:{$_SESSION['action']} USER:{$user} GROUP:{$group} LEVEL:{$level}]"), '0,1', 2, 'errors', FALSE); } return $permit; }
* SUMO TEMPLATE LIBRARY * * @version 0.5.0 * @link http://sumoam.sourceforge.net SUMO Access Manager * @author Alberto Basso <*****@*****.**> * @copyright Copyright © 2003-2009, Alberto Basso * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @package SUMO * @category Console */ // Fix PNG images if client browser is Internet Explorer $pngfix = preg_match("/Internet Explorer/i", $SUMO['client']['browser']) ? "PNGFix();" : ""; // Create IP2Country table for first installation (1min available before timeout) $ip2country = !file_exists(SUMO_PATH . '/tmp/iptocountry') && $SUMO['server']['db_type'] != 'sqlite' ? "sumo_ajax_get_bg(\"services.php?service=updater&cmd=UPDATE_IP2C\");" : ""; // If user is "sumo" display access level if (sumo_verify_current_group('sumo')) { if ($SUMO['user']['group_level']['sumo'] >= 1) { $ul_color = 'green'; } if ($SUMO['user']['group_level']['sumo'] >= 4) { $ul_color = 'orange'; } if ($SUMO['user']['group_level']['sumo'] > 5) { $ul_color = 'red'; } $ul_graph = sumo_get_graph($SUMO['user']['group_level']['sumo'], 7, 0, $ul_color, 50, 2); } else { $ul_graph = ""; } // Clock $clock = explode(':', $SUMO['config']['server']['time_format']);