You are here

opigno_simple_ui.module in Opigno 7.0

Contains all hook definitions and module specific API

File

modules/opigno_simple_ui/opigno_simple_ui.module
View source
<?php

/**
 * @file
 * Contains all hook definitions and module specific API
 */

/**
 *
 */
function opigno_simple_ui_menu() {
  $menu = array();
  $base = array(
    'page callback' => 'system_admin_menu_block_page',
    'access arguments' => array(
      'access administration pages',
    ),
    'file' => 'system.admin.inc',
    'file path' => drupal_get_path('module', 'system'),
  );

  // Root page
  $menu[opigno_simple_ui_get_admin_root()] = array(
    'title' => "Opigno",
    'description' => "Administer the suite of Opigno modules.",
    'weight' => -6,
  ) + $base;

  // User pages
  $menu[opigno_get_admin_root_path('', 'user')] = array(
    'title' => "Users",
    'description' => "Administer users.",
    'weight' => 5,
    'options' => array(
      'attributes' => array(
        'class' => array(
          'icon-members',
          'opigno-admin-user',
        ),
      ),
    ),
  ) + $base;

  // Course pages
  $menu[opigno_get_admin_root_path('', 'course')] = array(
    'title' => "Courses",
    'description' => "Administer settings for courses.",
    'weight' => 15,
    'options' => array(
      'attributes' => array(
        'class' => array(
          'icon-group',
          'opigno-admin-course',
        ),
      ),
    ),
  ) + $base;

  // Commerce pages
  if (module_exists('opigno_commerce')) {
    $menu[opigno_get_admin_root_path('', 'course')] = array(
      'title' => "Commerce",
      'description' => "Administer ecommerce.",
      'weight' => 15,
      'options' => array(
        'attributes' => array(
          'class' => array(
            'icon-cart',
            'opigno-admin-commerce',
          ),
        ),
      ),
    ) + $base;
  }
  return $menu;
}

/**
 * Implements hook_menu_alter()
 */
function opigno_simple_ui_menu_alter(&$items) {
  module_load_include('inc', 'opigno_simple_ui', 'includes/user');
  opigno_simple_ui_user_menu_alter($items);
  if (module_exists('og_ui')) {
    module_load_include('inc', 'opigno_simple_ui', 'includes/og');
    opigno_simple_ui_og_menu_alter($items);
  }
  if (module_exists('quiz')) {
    module_load_include('inc', 'opigno_simple_ui', 'includes/quiz');
    opigno_simple_ui_quiz_menu_alter($items);
  }
}

/**
 * Implements hook_theme_registry_alter()
 */
function opigno_simple_ui_theme_registry_alter(&$registry) {
  $path = drupal_get_path('module', 'opigno_simple_ui');
  $registry['overlay']['template'] = "{$path}/theme/overlay";
  $registry['overlay']['theme path'] = $path;
  $registry['overlay']['preprocess functions'][] = 'opigno_simple_ui_preprocess_overlay';
}

/**
 * Implements hook_form_alter()
 */
function opigno_simple_ui_form_alter(&$form, &$form_state, $form_id) {
  opigno_simple_ui_add_css(array(
    'og',
  ));
  if (module_exists('og_ui')) {
    module_load_include('inc', 'opigno_simple_ui', 'includes/og');
    opigno_simple_ui_og_form_alter($form, $form_state, $form_id);
  }
  if (module_exists('quiz')) {
    module_load_include('inc', 'opigno_simple_ui', 'includes/quiz');
    opigno_simple_ui_quiz_form_alter($form, $form_state, $form_id);
  }
}

/**
 *
 */
function opigno_simple_ui_add_css($modules) {
  $path = drupal_get_path('module', 'opigno_simple_ui');
  foreach ($modules as $module) {
    drupal_add_css("{$path}/css/opigno_simple_ui.{$module}.css");
  }
}

/**
 *
 */
function opigno_simple_ui_get_admin_root() {
  return 'admin/opigno';
}

/**
 *
 */
function opigno_simple_ui_preprocess_overlay(&$vars) {
  if (opigno_simple_ui_on_opigno_admin_page()) {
    opigno_simple_ui_add_css(array(
      'overlay',
    ));
    if (variable_get('theme_default') == 'platon') {
      $path = drupal_get_path('theme', 'platon');
      drupal_add_css("{$path}/css/icons.css");
    }
    $vars['left'] = theme('links__system_user_menu', array(
      'links' => menu_navigation_links('management', 2),
      'attributes' => array(
        'class' => array(
          'links',
          'inline',
        ),
      ),
    ));
  }
}

/**
 *
 */
function opigno_simple_ui_on_opigno_admin_page() {
  $split = explode('/', opigno_simple_ui_get_admin_root());
  foreach ($split as $i => $part) {
    if ($part !== arg($i)) {
      return FALSE;
    }
  }
  return TRUE;
}