You are here

function equalheights_init in Equal Heights jQuery 7

Same name and namespace in other branches
  1. 6 equalheights.module \equalheights_init()

Implements hook_init().

File

./equalheights.module, line 31
Adds a jQuery plugin that sets the elements you specify to the same height.

Code

function equalheights_init() {
  $equalheightsclasses = variable_get('equalheights_css_classes', '');
  if (!empty($equalheightsclasses)) {

    // We use preg_split in case there're more spaces than one between classes
    $classes = preg_split("/\\R\\s*/", $equalheightsclasses);

    // Add the plugin file
    $jqueryequalheightsjs = drupal_get_path('module', 'equalheights') . '/jquery.equalheights.js';
    drupal_add_js($jqueryequalheightsjs);
    $js = '(function($){';
    $js .= '$(document).ready(function() {';
    foreach ($classes as $class) {
      if (!empty($class)) {

        // Check if there's a ":" inside the setting string to avoid notices
        if (strpos($class, ':') !== false) {
          list($class, $height) = explode(":", $class);
        }
        $js .= "\$('{$class}').equalHeights(";
        if (!empty($height)) {
          $js .= "{$height}";
        }

        // Set the overflow value
        $overflow_value = variable_get('equalheights_overflow', 'visible');
        $js .= ").css('overflow', '{$overflow_value}');";
      }
    }
    $js .= '});})(jQuery);';
    drupal_add_js($js, 'inline');
  }
}