PHP Classes

File: engine/modules/core/grid/grid.hook.inc

Recommend this page to a friend!
  Classes of Aldo Tripiciano   Quanta CMS   engine/modules/core/grid/grid.hook.inc   Download  
File: engine/modules/core/grid/grid.hook.inc
Role: Example script
Content type: text/plain
Description: Example script
Class: Quanta CMS
Manage content that works without a database
Author: By
Last change:
Date: 6 years ago
Size: 2,903 bytes
 

Contents

Class file image Download
<?php

/**
 * Implements hook_load_includes().
 *
 * @param Environment $env
 * The Environment.
 * @param $vars
 * An array of variables.
 */
function grid_load_includes($env, $vars) {
 
$module_path = $env->getModulePath('grid');
 
$env->addInclude($module_path . '/css/reset.css');
 
$env->addInclude($module_path . '/css/utilities.css');
 
$env->addInclude($module_path . '/css/grid_all.css');
}


/**
 * Implements hook_page_init().
 *
 * @param Environment $env
 * The Environment.
 * @param array $vars
 * An array of variables.
 */
function grid_page_init($env, $vars) {
 
/** @var Page $page */
 
$page = $vars['page'];

 
$module_path = $env->getModulePath('grid');

  if (
supportsGrid()) {
   
$page->addCSS($module_path . '/css/grid.css');
  } else {
   
$page->addCSS($module_path . '/css/no_grid.css');
  }
}


/**
 * Renders a Quanta grid.
 *
 *
 * @param Environment $env
 * The Environment.
 * @param $vars
 * An array of variables.
 */
function grid_qtag($env, $vars) {
  if (!empty(
$vars['attributes']['grid'])) {
   
$grid_html_tag = !empty($vars['attributes']['grid_html_tag']) ? $vars['attributes']['grid_html_tag'] : 'div';
   
$grid_id = !empty($vars['attributes']['grid_id']) ? $vars['attributes']['grid_id'] : '';
   
$classes = (!empty($vars['attributes']['grid']) && $vars['attributes']['grid'] != 1) ? $vars['attributes']['grid'] : '';

   
$vars['qtag'] = '<' . $grid_html_tag . (!empty($grid_id) ? ' id="' . $grid_id . '"' : '') . ' class="grid ' . $classes . '">' . $vars['qtag'] . '</' . $grid_html_tag . '>';
  }
}



function
grid_list_item($env, $vars) {
 
$is_grouped = !empty($vars['list']->getAttribute('grid_list_item_group'));

  if (
$is_grouped) {
   
$group_counter = $vars['list_item_counter'] % $vars['list']->getAttribute('grid_list_item_group');
  }

  if (!empty(
$vars['list']->getAttribute('grid_list_item_' . $vars['list_item_counter']))) {
   
// Specific item.
   
$vars['list_item_classes'][] = $vars['list']->getAttribute('grid_list_item_' . $vars['list_item_counter']);
  } elseif(
$is_grouped && !empty($vars['list']->getAttribute('grid_list_item_group_' . $group_counter))) {
   
// Specific item in the interval.
   
$vars['list_item_classes'][] = $vars['list']->getAttribute('grid_list_item_group_' . $group_counter);
  } elseif(!empty(
$vars['list']->getAttribute('grid_list_item_odd') && ($vars['list_item_counter'] % 2 == 1))) {
   
// Odd items.
   
$vars['list_item_classes'][] = $vars['list']->getAttribute('grid_list_item_odd');
  } elseif(!empty(
$vars['list']->getAttribute('grid_list_item_even') && ($vars['list_item_counter'] % 2 == 0))) {
   
// Even items.
   
$vars['list_item_classes'][] = $vars['list']->getAttribute('grid_list_item_even');
  } elseif(!empty(
$vars['list']->getAttribute('grid_list_item'))) {
   
// Default items.
   
$vars['list_item_classes'][] = $vars['list']->getAttribute('grid_list_item');
  }
}