You are here

util.module in Util 6.3

Same filename and directory in other branches
  1. 5 util.module
  2. 6 util.module
  3. 6.2 util.module
  4. 7 util.module

Helper Utilities for your Drupal site.

File

util.module
View source
<?php

/**
 * @file
 * Helper Utilities for your Drupal site.
 */
function util_menu() {
  $menu['admin/settings/util'] = array(
    'title' => 'Utilities',
    'description' => "Helper Utilities for your Drupal site.",
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'util_page',
    ),
    'access arguments' => array(
      'administer site configuration',
    ),
    'type' => MENU_NORMAL_ITEM,
  );
  $menu['admin/settings/util/general'] = array(
    'title' => 'Base',
    'description' => "Helper Utilities for your Drupal site.",
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'util_page',
    ),
    'access arguments' => array(
      'administer site configuration',
    ),
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'weight' => -10,
  );
  $menu['admin/reports/error_level'] = array(
    'title' => 'Site Error Levels',
    'description' => "Details the current site error reporting level.",
    'page callback' => 'util_error_levels',
    'page arguments' => array(
      3,
    ),
    'access arguments' => array(
      'access site reports',
    ),
    'type' => MENU_NORMAL_ITEM,
  );
  return $menu;
}
function util_page() {
  $form = array();

  // For now output empty page, this is purely to reserve space for future development
  // and to allow contribs to form_alter onto this page.
  $form['util'] = array(
    '#value' => theme('advanced_help_topic', 'util', 'util') . t('The Utility module is a grouping of commonly-needed utilities that are simple to code, everyone wants, but nobody actually codes them.'),
  );
  $form['clear'] = array(
    '#value' => '<p>Clicking the "Save" button will rebuild the menus.</p>',
    '#prefix' => '<div class="clear-block">',
    '#suffix' => '</div>',
  );
  $form['#submit'][] = array(
    'util_page_submit',
  );
  $form['buttons']['#weight'] = 99;
  return system_settings_form($form);
}
function util_page_submit() {
  menu_rebuild();
}

/**
 * Show the current error reporting level.
 */
function util_error_levels($current = NULL) {
  $e_all = 2047;
  $levels = array(
    'E_ERROR ' => array(
      'value' => 1,
      'desc' => 'Fatal run-time errors. These indicate errors that can not be recovered from, such as a memory allocation problem. Execution of the script is halted. ',
      'note' => ' ',
    ),
    'E_WARNING ' => array(
      'value' => 2,
      'desc' => 'Run-time warnings (non-fatal errors). Execution of the script is not halted. ',
      'note' => ' ',
    ),
    'E_PARSE ' => array(
      'value' => 4,
      'desc' => 'Compile-time parse errors. Parse errors should only be generated by the parser. ',
      'note' => ' ',
    ),
    'E_NOTICE ' => array(
      'value' => 8,
      'desc' => 'Run-time notices. Indicate that the script encountered something that could indicate an error, but could also happen in the normal course of running a script. ',
      'note' => ' ',
    ),
    'E_CORE_ERROR ' => array(
      'value' => 16,
      'desc' => 'Fatal errors that occur during PHPs initial startup. This is like an E_ERROR, except it is generated by the core of PHP. ',
      'note' => 'since PHP 4',
    ),
    'E_CORE_WARNING ' => array(
      'value' => 32,
      'desc' => 'Warnings (non-fatal errors) that occur during PHPs initial startup. This is like an E_WARNING, except it is generated by the core of PHP. ',
      'note' => 'since PHP 4',
    ),
    'E_COMPILE_ERROR ' => array(
      'value' => 64,
      'desc' => 'Fatal compile-time errors. This is like an E_ERROR, except it is generated by the Zend Scripting Engine. ',
      'note' => 'since PHP 4',
    ),
    'E_COMPILE_WARNING ' => array(
      'value' => 128,
      'desc' => 'Compile-time warnings (non-fatal errors). This is like an E_WARNING, except it is generated by the Zend Scripting Engine. ',
      'note' => 'since PHP 4',
    ),
    'E_USER_ERROR ' => array(
      'value' => 256,
      'desc' => 'User-generated error message. This is like an E_ERROR, except it is generated in PHP code by using the PHP function trigger_error(). ',
      'note' => 'since PHP 4',
    ),
    'E_USER_WARNING ' => array(
      'value' => 512,
      'desc' => 'User-generated warning message. This is like an E_WARNING, except it is generated in PHP code by using the PHP function trigger_error(). ',
      'note' => 'since PHP 4',
    ),
    'E_USER_NOTICE ' => array(
      'value' => 1024,
      'desc' => 'User-generated notice message. This is like an E_NOTICE, except it is generated in PHP code by using the PHP function trigger_error(). ',
      'note' => 'since PHP 4',
    ),
  );
  if (version_compare(PHP_VERSION, '5.0.0', '>=')) {
    $levels += array(
      'E_STRICT ' => array(
        'value' => 2048,
        'desc' => 'Enable to have PHP suggest changes to your code which will ensure the best interoperability and forward compatibility of your code. ',
        'note' => 'since PHP 5',
      ),
    );
  }
  if (version_compare(PHP_VERSION, '5.2.0', '>=')) {
    $e_all = 6143;
    $levels += array(
      'E_RECOVERABLE_ERROR ' => array(
        'value' => 4096,
        'desc' => 'Catchable fatal error. It indicates that a probably dangerous error occured, but did not leave the Engine in an unstable state. If the error is not caught by a user defined handle (see also set_error_handler()), the application aborts as it was an E_ERROR. ',
        'note' => 'since PHP 5.2.0',
      ),
    );
  }
  if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
    $e_all = 30719;
    $levels += array(
      'E_DEPRECATED ' => array(
        'value' => 8192,
        'desc' => 'Run-time notices. Enable this to receive warnings about code that will not work in future versions. ',
        'note' => 'since PHP 5.3.0',
      ),
      'E_USER_DEPRECATED ' => array(
        'value' => 16384,
        'desc' => 'User-generated warning message. This is like an E_DEPRECATED, except it is generated in PHP code by using the PHP function trigger_error(). ',
        'note' => 'since PHP 5.3.0',
      ),
    );
  }
  $levels += array(
    'E_ALL ' => array(
      'value' => $e_all,
      'desc' => 'All errors and warnings, as supported, except of level E_STRICT. ',
      'note' => '<em>30719 in PHP 5.3.x, 6143 in PHP 5.2.x, 2047 previously.</em>',
    ),
  );
  if (!$current) {
    $current = error_reporting();
  }
  $output = "<h2>Current Error Reporting Value: {$current}</h2>";
  $nots = "<h2>Not Using</h2>";
  foreach ($levels as $level => $data) {

    // TRUE/FALSE would catch E_ALL; this does not, unless correct.
    if (($current & $data['value']) == $data['value']) {
      $output .= '<p>' . $level . '  <small>' . $data['desc'] . ' ' . $data['note'] . '</small>' . '</p>';
    }
    else {
      $nots .= '<p>' . $level . '  <small>' . $data['desc'] . ' ' . $data['note'] . '</small>' . '</p>';
    }
  }
  return $output . $nots;
}

Functions

Namesort descending Description
util_error_levels Show the current error reporting level.
util_menu @file Helper Utilities for your Drupal site.
util_page
util_page_submit