Server : Apache System : Linux indy02.toastserver.com 3.10.0-962.3.2.lve1.5.85.el7.x86_64 #1 SMP Thu Apr 18 15:18:36 UTC 2024 x86_64 User : palandch ( 1163) PHP Version : 7.1.33 Disable Function : NONE Directory : /home/palandch/public_html/core/cache/includes/elements/modsnippet/ |
<?php function elements_modsnippet_8($scriptProperties= array()) { global $modx; if (is_array($scriptProperties)) { extract($scriptProperties, EXTR_SKIP); } /** * Wayfinder Snippet to build site navigation menus * * Totally refactored from original DropMenu nav builder to make it easier to * create custom navigation by using chunks as output templates. By using * templates, many of the paramaters are no longer needed for flexible output * including tables, unordered- or ordered-lists (ULs or OLs), definition lists * (DLs) or in any other format you desire. * * @version 2.1.1-beta5 * @author Garry Nutting (collabpad.com) * @author Kyle Jaebker (muddydogpaws.com) * @author Ryan Thrash (modx.com) * @author Shaun McCormick (modx.com) * @author Jason Coward (modx.com) * * @example [[Wayfinder? &startId=`0`]] * * @var modX $modx * @var array $scriptProperties * * @package wayfinder */ $wayfinder_base = $modx->getOption('wayfinder.core_path',$scriptProperties,$modx->getOption('core_path').'components/wayfinder/'); /* include a custom config file if specified */ if (isset($scriptProperties['config'])) { $scriptProperties['config'] = str_replace('../','',$scriptProperties['config']); $scriptProperties['config'] = $wayfinder_base.'configs/'.$scriptProperties['config'].'.config.php'; } else { $scriptProperties['config'] = $wayfinder_base.'configs/default.config.php'; } if (file_exists($scriptProperties['config'])) { include $scriptProperties['config']; } /* include wayfinder class */ include_once $wayfinder_base.'wayfinder.class.php'; if (!$modx->loadClass('Wayfinder',$wayfinder_base,true,true)) { return 'error: Wayfinder class not found'; } $wf = new Wayfinder($modx,$scriptProperties); /* get user class definitions * TODO: eventually move these into config parameters */ $wf->_css = array( 'first' => isset($firstClass) ? $firstClass : '', 'last' => isset($lastClass) ? $lastClass : 'last', 'here' => isset($hereClass) ? $hereClass : 'active', 'parent' => isset($parentClass) ? $parentClass : '', 'row' => isset($rowClass) ? $rowClass : '', 'outer' => isset($outerClass) ? $outerClass : '', 'inner' => isset($innerClass) ? $innerClass : '', 'level' => isset($levelClass) ? $levelClass: '', 'self' => isset($selfClass) ? $selfClass : '', 'weblink' => isset($webLinkClass) ? $webLinkClass : '' ); /* get user templates * TODO: eventually move these into config parameters */ $wf->_templates = array( 'outerTpl' => isset($outerTpl) ? $outerTpl : '', 'rowTpl' => isset($rowTpl) ? $rowTpl : '', 'parentRowTpl' => isset($parentRowTpl) ? $parentRowTpl : '', 'parentRowHereTpl' => isset($parentRowHereTpl) ? $parentRowHereTpl : '', 'hereTpl' => isset($hereTpl) ? $hereTpl : '', 'innerTpl' => isset($innerTpl) ? $innerTpl : '', 'innerRowTpl' => isset($innerRowTpl) ? $innerRowTpl : '', 'innerHereTpl' => isset($innerHereTpl) ? $innerHereTpl : '', 'activeParentRowTpl' => isset($activeParentRowTpl) ? $activeParentRowTpl : '', 'categoryFoldersTpl' => isset($categoryFoldersTpl) ? $categoryFoldersTpl : '', 'startItemTpl' => isset($startItemTpl) ? $startItemTpl : '' ); /* process Wayfinder */ $output = $wf->run(); if ($wf->_config['debug']) { $output .= $wf->renderDebugOutput(); } /* output results */ if ($wf->_config['ph']) { $modx->setPlaceholder($wf->_config['ph'],$output); } else { return $output; } }