/** * @since v3.0.3 */ public function runActions() { $action = null; $action_index = 1; if (count($_GET) > 1) { $requested_action = HTML::sanitize(basename(key(array_slice($_GET, 1, 1, true)))); if ($requested_action == OSCOM::getSiteApplication()) { $requested_action = null; if (count($_GET) > 2) { $requested_action = HTML::sanitize(basename(key(array_slice($_GET, 2, 1, true)))); $action_index = 2; } } if (!empty($requested_action) && self::siteApplicationActionExists($requested_action)) { $this->_current_action = $action = $requested_action; } } if (isset($action)) { call_user_func(array('osCommerce\\OM\\Core\\Site\\' . OSCOM::getSite() . '\\Application\\' . OSCOM::getSiteApplication() . '\\Action\\' . $action, 'execute'), $this); $action_index++; if ($action_index < count($_GET)) { $action = array($action); for ($i = $action_index, $n = count($_GET); $i < $n; $i++) { $subaction = HTML::sanitize(basename(key(array_slice($_GET, $i, 1, true)))); if (!in_array($subaction, $this->_ignored_actions) && self::siteApplicationActionExists(implode('\\', $action) . '\\' . $subaction)) { call_user_func(array('osCommerce\\OM\\Core\\Site\\' . OSCOM::getSite() . '\\Application\\' . OSCOM::getSiteApplication() . '\\Action\\' . implode('\\', $action) . '\\' . $subaction, 'execute'), $this); $action[] = $subaction; $this->_current_action = $subaction; } else { break; } } } } }
public static function insert($module, $module_action, $module_id, $action, $log, $transaction_id) { global $osC_Database; if (is_numeric($transaction_id)) { $log_id = $transaction_id; } else { $Qlog = $osC_Database->query('select max(id) as id from :table_administrators_log'); $Qlog->bindTable(':table_administrators_log', TABLE_ADMINISTRATORS_LOG); $Qlog->execute(); $log_id = $Qlog->valueInt('id') + 1; if ($transaction_id === true) { $osC_Database->logging_transaction = $log_id; } } foreach ($log as $entry) { $Qlog = $osC_Database->query('insert into :table_administrators_log (id, module, module_action, module_id, field_key, old_value, new_value, action, administrators_id, datestamp) values (:id, :module, :module_action, :module_id, :field_key, :old_value, :new_value, :action, :administrators_id, now())'); $Qlog->bindTable(':table_administrators_log', TABLE_ADMINISTRATORS_LOG); $Qlog->bindInt(':id', $log_id); $Qlog->bindValue(':module', $module); $Qlog->bindValue(':module_action', $module_action); $Qlog->bindInt(':module_id', $module_id); $Qlog->bindValue(':field_key', $entry['key']); $Qlog->bindValue(':old_value', $entry['old']); $Qlog->bindValue(':new_value', $entry['new']); $Qlog->bindValue(':action', $action); $Qlog->bindInt(':administrators_id', $_SESSION[OSCOM::getSite()]['id']); $Qlog->execute(); } }
echo $osC_Language->get('operation_title_filter_users') . ' ' . osc_draw_pull_down_menu('fu', $admins_array); ?> <input type="submit" value="GO" class="operationButton" /> </form> </div> <?php $Qlog = $osC_Database->query('select SQL_CALC_FOUND_ROWS count(al.id) as total, al.id, al.module, al.module_action, al.module_id, al.action, a.user_name, unix_timestamp(al.datestamp) as datestamp from :table_administrators_log al, :table_administrators a where'); if (!empty($_GET['fm']) && in_array($_GET['fm'], $_SESSION[OSCOM::getSite()]['access'])) { $Qlog->appendQuery('al.module = :module'); $Qlog->bindValue(':module', $_GET['fm']); } else { $Qlog->appendQuery('al.module in (":modules")'); $Qlog->bindRaw(':modules', implode('", "', $_SESSION[OSCOM::getSite()]['access'])); } $Qlog->appendQuery('and'); if (is_numeric($_GET['fu'])) { $Qlog->appendQuery('al.administrators_id = :administrators_id and'); $Qlog->bindInt(':administrators_id', $_GET['fu']); } $Qlog->appendQuery('al.administrators_id = a.id group by al.id order by al.id desc'); $Qlog->bindTable(':table_administrators_log', TABLE_ADMINISTRATORS_LOG); $Qlog->bindTable(':table_administrators', TABLE_ADMINISTRATORS); $Qlog->setBatchLimit($_GET['page'], MAX_DISPLAY_SEARCH_RESULTS); $Qlog->execute(); ?> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr>
public static function isShortcut($application, $site = null) { if (empty($site)) { $site = OSCOM::getSite(); } if (isset($_SESSION[$site]['id'])) { return $_SESSION[$site]['access'][$application]['shortcut']; } return false; }
public static function getLevels($group = null, $site = null) { if ( !isset($site) ) { $site = OSCOM::getSite(); } $access = array(); if ( isset($_SESSION[$site]['id']) && isset($_SESSION[$site]['access']) ) { foreach ( $_SESSION[$site]['access'] as $module => $data ) { if ( ($data['linkable'] === true) && (!isset($group) || ($group == $data['group'])) ) { if ( !isset($access[$data['group']][$data['sort_order']]) ) { $access[$data['group']][$data['sort_order']] = $data; } else { $access[$data['group']][] = $data; } } } ksort($access); foreach ( $access as $group => $modules ) { ksort($access[$group]); } } return $access; }