simplelogin-8.x-1.0/simplelogin.module

simplelogin.module
<?php

/**
 * @file
 * The Login screens, which controls the customized background image.
 */

/**
 * Implements hook_preprocess_page() for page--simplelogin.tpl.php.
 */
function simplelogin_preprocess_page(&$variables, $hook) {
  $path = drupal_get_path_alias();
  $user_path = array('user', 'user/login', 'user/password', 'user/register');
  if (user_is_anonymous()) {
    if (in_array($path, $user_path)) {
      $array = array('type' => 'file', 'weight' => 999, 'group' => CSS_THEME);
      drupal_add_css(drupal_get_path('module', 'simplelogin') . "/css/simplelogin.css", $array);
      $variables['theme_hook_suggestions'][] = 'page__simplelogin';
      $variable = variable_get('simplelogin_fid', '');
      if ($variable) {
        $file = file_load($variable);
        $bgimg = file_create_url($file->uri);
        $css = "body.simplelogin {background-image: url('$bgimg') }";
        drupal_add_css($css, 'inline');
      }
    }
  }
}

/**
 * Implements hook_preprocess_html().
 */
function simplelogin_preprocess_html(&$variables) {
  $path = drupal_get_path_alias();
  $user_path = array('user', 'user/login', 'user/password', 'user/register');
  if (in_array($path, $user_path)) {
    $variables['classes_array'][] = 'simplelogin';
  }
}

/**
 * Implements hook_theme_registry_alter().
 */
function simplelogin_theme_registry_alter(&$theme_registry) {
  $module_path = drupal_get_path('module', 'simplelogin');
  $theme_registry['page__simplelogin'] = array(
    'template' => $module_path . '/templates/page--simplelogin',
    'type' => 'theme_engine',
    'theme path' => $module_path . '/templates',
    'render element' => 'page',
  );
}

/**
 * Implements hook_form_alter().
 */
function simplelogin_form_alter(&$form, &$form_state, $form_id) {
  $types = array('textfield', 'email', 'textarea', 'password', 'container');
  foreach ($form as $key => $value) {
    switch ($form_id) {
      case 'user_register_form':
        foreach ($form['account'] as $key => $val) {
          if (isset($form['account'][$key]['#type'])) {
            if (in_array($form['account'][$key]['#type'], $types)) {
              $form['account'][$key]['#attributes']["placeholder"] = $form['account'][$key]["#title"];
              $form['account'][$key]['#title_display'] = 'invisible';
              $form['account'][$key]['#description'] = '';
            }
          }
        }
        break;

      case 'user_login':
        $form['actions']['submit']['#value'] = t('Login to Account');
      case 'user_pass':
        if (isset($value['#type']) && in_array($value['#type'], $types)) {
          $form[$key]['#attributes']["placeholder"] = $value["#title"];
          $form[$key]['#title_display'] = 'invisible';
          $form[$key]['#description'] = '';
        }
        break;

    }
  }
  if (module_exists('captcha')) {
    $form['captcha']['#after_build'][] = 'simplelogin_set_captcha';
  }

}

/**
 * Add Placeholders, Title(invisible), Description(hide) to captcha input field.
 */
function simplelogin_set_captcha(&$element) {
  $element['captcha_widgets']['captcha_response']['#attributes']['placeholder'] = t('Verification Code');
  $element['captcha_widgets']['captcha_response']['#title_display'] = 'invisible';
  $element['captcha_widgets']['captcha_response']['#description'] = '';
  return $element;
}

/**
 * Implements hook_menu().
 */
function simplelogin_menu() {
  $items = array();
  $items['admin/config/simplelogin'] = array(
    'title' => 'Simple Login',
    'description' => 'Configuration of simple login image',
    'position' => 'right',
    'weight' => 3,
    'page callback' => 'system_admin_menu_block_page',
    'access arguments' => array('administer site configuration'),
    'file' => 'system.admin.inc',
    'file path' => drupal_get_path('module', 'system'),
  );
  $items['admin/config/simplelogin/loginbg'] = array(
    'title' => 'Login Configuration Settings',
    'description' => 'A form to upload an Image purpose of login background',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('simplelogin_background_form'),
    'access arguments' => array('administer site configuration'),
    'file' => 'simplelogin.inc',
    'file path' => drupal_get_path('module', 'simplelogin') . '/inc',
    'type' => MENU_NORMAL_ITEM,
  );
  return $items;
}

/**
 * Implements hook_theme().
 */
function simplelogin_theme() {
  return array(
    'simplelogin_imageupload' => array(
      'render element' => 'element',
    ),
  );
}

/**
 * Implements theme_sl_imageupload theme callback.
 */
function theme_simplelogin_imageupload($variables) {
  $element = $variables['element'];
  $opt = '';
  if ($element['fid']['#value'] != 0) {
    $uri = file_load($element['fid']['#value'])->uri;
    $array = array(
      'style_name' => 'thumbnail',
      'path' => $uri,
      'getsize' => FALSE,
    );
    $opt .= '<div>' . theme('image_style', $array) . '</div>';
  }
  if ($element['fid']['#value'] != 0) {
    $element['filename']['#markup'] .= ' <span class="file-size">(' . format_size($element['#file']->filesize) . ')</span> ';
  }
  $opt .= drupal_render_children($element);
  return $opt;
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc