/**
  * @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();
     }
 }
Example #3
0
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>
Example #4
0
 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;
 }
Example #5
0
    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;
    }