/** * Returns the URL for an article * * @param Table $row * @param boolean $htmlspecialchars * @param string $type 'article', 'section' or 'category' * @return string URL */ public static function getUrl($row, $htmlspecialchars = true, $type = 'article') { global $_CB_framework; /** @noinspection PhpIncludeInspection */ require_once $_CB_framework->getCfg('absolute_path') . '/components/com_k2/helpers/route.php'; $categorySlug = $row->get('category') . ($row->get('category_alias') ? ':' . $row->get('category_alias') : null); $articleSlug = $row->get('id') . ($row->get('alias') ? ':' . $row->get('alias') : null); switch ($type) { case 'section': /** @noinspection PhpUndefinedClassInspection */ $url = K2HelperRoute::getCategoryRoute($row->get('parent')); break; case 'category': /** @noinspection PhpUndefinedClassInspection */ $url = K2HelperRoute::getCategoryRoute($categorySlug); break; case 'article': default: /** @noinspection PhpUndefinedClassInspection */ $url = K2HelperRoute::getItemRoute($articleSlug, $categorySlug); break; } if (!stristr($url, 'Itemid')) { $url = $_CB_framework->getCfg('live_site') . '/' . $url; } else { $url = JRoute::_($url, false); } if ($url) { if ($htmlspecialchars) { $url = htmlspecialchars($url); } } return $url; }
/** * @param Table $trigger * @param Registry $params */ public static function usergroup( &$trigger, &$params ) { $usergroupCount = substr_count( $trigger->get( 'params' ), 'usergroup_mode' ); if ( $usergroupCount ) { $newParams = array(); $newParams['usergroup'] = array(); $paramsMap = array( 'usergroup_mode' => 'mode', 'usergroup_parent' => 'parent', 'usergroup_title' => 'title', 'usergroup_add' => 'add', 'usergroup_groups' => 'groups' ); for ( $i = 0, $n = $usergroupCount; $i < $n; $i++ ) { if ( $i == 0 ) { $i = null; } $usergroup = array(); foreach ( $paramsMap as $old => $new ) { $usergroup[$new] = $trigger->get( 'params' )->get( $old . $i, null, GetterInterface::RAW ); } $newParams['usergroup'][] = $usergroup; } $params->load( $newParams ); } }