/** * Method to build a link to the specified page/action with the provided * data and params. * * @see XenForo_Route_BuilderInterface */ public function buildLink($originalPrefix, $outputPrefix, $action, $extension, $data, array &$extraParams) { if ($data) { XenForo_Link::prepareExtensionAndAction($extension, $action); $actionParts = explode('/', $action, 2); $url = $outputPrefix . '/' . $actionParts[0]; switch (strtolower($actionParts[0])) { case 'permission': if (!empty($data['permission_group_id']) && !empty($data['permission_id'])) { $url .= '/' . $data['permission_group_id'] . '/' . $data['permission_id']; } break; case 'permission-group': if (!empty($data['permission_group_id'])) { $url .= '/' . $data['permission_group_id']; } break; case 'interface-group': if (!empty($data['interface_group_id'])) { $url .= '/' . $data['interface_group_id']; } break; } if (isset($actionParts[1])) { $url .= '/' . $actionParts[1]; } return $url . $extension; } return false; }
/** * Method to build a link to the specified page/action with the provided * data and params. * * @see XenForo_Route_BuilderInterface */ public function buildLink($originalPrefix, $outputPrefix, $action, $extension, $data, array &$extraParams) { if (is_array($data) && isset($data['original_prefix'], $data['route_type'])) { XenForo_Link::prepareExtensionAndAction($extension, $action); return "{$outputPrefix}/{$data['route_type']}/{$data['original_prefix']}/{$action}{$extension}"; } else { return false; } }
/** * Method to build a link to the specified page/action with the provided * data and params. * * @see XenForo_Route_BuilderInterface */ public function buildLink($originalPrefix, $outputPrefix, $action, $extension, $data, array &$extraParams) { if (is_array($data)) { XenForo_Link::prepareExtensionAndAction($extension, $action); if (strpos($action, '-option') !== false) { if (isset($data['option_id'])) { return "{$outputPrefix}/{$action}/{$data['option_id']}{$extension}"; } } else { if (isset($data['group_id'])) { return "{$outputPrefix}/{$action}/{$data['group_id']}{$extension}"; } } } return false; }