/** * Wright Flex Grid * (i.e. <w:module type="{row/row-fluid}" name="position" chrome="wrightflexgrid" extradivs="{optional}" extraclass="{optional}" /> */ function modChrome_wrightflexgrid($module, &$params, &$attribs) { $app = JFactory::getApplication(); $templatename = $app->getTemplate(); $document = JFactory::getDocument(); static $modulenumbera = array(); if (!isset($modulenumbera[$attribs['name']])) { $modulenumbera[$attribs['name']] = 1; } $spanWidth = getPositionAutospanWidth($attribs['name']); $robModules = JModuleHelper::getModules($attribs['name']); $extradivs = explode(',', $attribs['extradivs']); $extraclass = $attribs['extraclass'] != '' ? ' ' . $attribs['extraclass'] : ''; $class = $params->get('moduleclass_sfx'); static $modulenumber = 1; $matches = array(); if (preg_match('/span([0-9]{1,2})/', $class, $matches)) { // user assigned span width in module parameters $params->set('moduleclass_sfx', preg_replace('/span([0-9]{1,2})/', '', $class)); $class = $params->get('moduleclass_sfx'); $spanWidth = (int) $matches[1]; $module->content = preg_replace('/<([^>]+)class="([^""]*)span' . $spanWidth . '([^""]*)"([^>]*)>/sU', '<$1class="$2 $3"$4>', $module->content); } $featured = false; $featuredLinkImg = preg_match("/featured-link-img/", $class) ? true : false; $featuredImg = ''; $featuredSubtitle = ''; $moduleTitle = ''; if (preg_match("/featured/", $class)) { $featured = true; $linkTitle = ''; $classold = $class; $class = preg_replace("/featured/", "", $class); $params->set('moduleclass_sfx', $class); if (preg_match('/<a([^>]*)href=\\"([^\\"]*)\\"([^>]*)>Title<\\/a>/i', $module->content, $matches)) { $module->content = preg_replace('/<a([^>]*)href=\\"([^\\"]*)\\"([^>]*)>Title<\\/a>/i', '', $module->content, 1); $linkTitle = $matches[2]; $moduleTitle = '<h3><a href="' . $linkTitle . '">' . $module->title . '</a></h3>'; } if (preg_match('/<img([^>]*)>/i', $module->content, $matches)) { $module->content = preg_replace('/<img([^>]*)>/i', '', $module->content, 1); if ($featuredLinkImg && $linkTitle != '') { $featuredImg = '<div class="wrightmodule-imgfeatured">' . '<a href="' . $linkTitle . '">' . '<img' . $matches[1] . '>' . '</a>' . '</div>'; } else { $featuredImg = '<div class="wrightmodule-imgfeatured">' . '<img' . $matches[1] . '>' . '</div>'; } } if (preg_match('/<h4([^>]*)>(.+?)<\\/h4>/ims', $module->content, $matches)) { $module->content = preg_replace('/<h4([^>]*)>(.+?)<\\/h4>/ims', '', $module->content, 1); $featuredSubtitle = '<h4' . $matches[1] . ' class="wrightmodule-subtitle">' . $matches[2] . '</h4>'; } } if ($moduleTitle == '') { $moduleTitle = '<h3>' . $module->title . '</h3>'; } $class .= ' mod_' . $modulenumbera[$attribs['name']]; $modulenumber++; if ($modulenumbera[$attribs['name']] == 1) { $class .= ' first'; // for 5 modules with span2 first and last modules will have 3 columns width if (count($robModules) == 5 && $spanWidth == 2) { $spanWidth = 3; } } if ($modulenumbera[$attribs['name']] == $document->countModules($attribs['name'])) { $class .= ' last'; $modulenumbera[$attribs['name']] = 0; // for 5 modules with span2 first and last modules will have 3 columns width if (count($robModules) == 5 && $spanWidth == 2) { $spanWidth = 3; } } $modulenumbera[$attribs['name']]++; ?> <div class="module<?php echo $class; if (!$module->showtitle) { ?> no_title<?php } ?> span<?php echo $spanWidth . $extraclass; ?> "> <?php if (in_array('module', $extradivs)) { ?> <div class="module-inner"> <?php } if ($featured) { echo $featuredImg . '<div class="wrightmodule-content">' . $featuredSubtitle; } if ($module->showtitle) { ?> <?php if (in_array('title', $extradivs)) { ?> <div class="module_title"> <?php } ?> <?php echo $moduleTitle; ?> <?php if (in_array('in-title', $extradivs)) { ?> <div class="module_title_in"></div> <?php } ?> <?php if (in_array('title', $extradivs)) { ?> </div> <?php } } echo $module->content; if ($featured) { echo '</div>'; } if (in_array('module', $extradivs)) { ?> </div> <?php } ?> </div> <?php }
/** * WRIGHT FLEX GRID * (i.e. <jdoc:include type="modules" name="user1" grid="<?php echo $user2gridcount;?>" style="wrightflexgrid" />) */ function modChrome_wrightflexgrid($module, &$params, &$attribs) { $app = JFactory::getApplication(); $templatename = $app->getTemplate(); $document = JFactory::getDocument(); static $modulenumbera = array(); if (!isset($modulenumbera[$attribs['name']])) { $modulenumbera[$attribs['name']] = 1; } $spanWidth = getPositionAutospanWidth($attribs['name']); $robModules = JModuleHelper::getModules($attribs['name']); $extradivs = explode(',', $attribs['extradivs']); $class = $params->get('moduleclass_sfx'); static $modulenumber = 1; if (stripos($params->get('moduleclass_sfx'), 'span') === false) { $grid = ''; if (isset($attribs['grid'])) { $grid = $attribs['grid']; } // user assigned span width in module parameters } else { $grid = preg_replace('/\\D/', '', $params->get('moduleclass_sfx')); $spanWidth = $grid; } $class .= ' mod_' . $modulenumbera[$attribs['name']]; $modulenumber++; if ($modulenumbera[$attribs['name']] == 1) { $class .= ' first'; // for 5 modules with span2 first and last modules will have 3 columns width if (count($robModules) == 5 && $spanWidth == 2) { $spanWidth = 3; } } if ($modulenumbera[$attribs['name']] == $document->countModules($attribs['name'])) { $class .= ' last'; $modulenumbera[$attribs['name']] = 0; // for 5 modules with span2 first and last modules will have 3 columns width if (count($robModules) == 5 && $spanWidth == 2) { $spanWidth = 3; } } $modulenumbera[$attribs['name']]++; ?> <div class="module<?php echo $class; ?> <?php if (!$module->showtitle) { ?> no_title <?php } ?> span<?php echo $spanWidth; ?> "> <?php if ($module->showtitle) { ?> <?php if (in_array('title', $extradivs)) { ?> <div class="module_title"> <?php } ?> <h3><?php echo $module->title; ?> </h3> <?php if (in_array('title', $extradivs)) { ?> </div> <?php } } echo $module->content; ?> </div> <?php }