src/helpers.php
<?php
if (!function_exists('active_class')) {
/**
* Get the active class if the condition is not falsy
*
* @param $condition
* @param string $activeClass
* @param string $inactiveClass
*
* @return string
*/
function active_class($condition, $activeClass = 'active', $inactiveClass = '')
{
return app('active')->getClassIf($condition, $activeClass, $inactiveClass);
}
}
if (!function_exists('if_uri')) {
/**
* Check if the URI of the current request matches one of the specific URIs
*
* @param array|string $uris
*
* @return bool
*/
function if_uri($uris)
{
return app('active')->checkUri($uris);
}
}
if (!function_exists('if_uri_pattern')) {
/**
* Check if the current URI matches one of specific patterns (using `Str::is`)
*
* @param array|string $patterns
*
* @return bool
*/
function if_uri_pattern($patterns)
{
return app('active')->checkUriPattern($patterns);
}
}
if (!function_exists('if_query')) {
/**
* Check if one of the following condition is true:
* + the value of $value is `false` and the current querystring contain the key $key
* + the value of $value is not `false` and the current value of the $key key in the querystring equals to $value
* + the value of $value is not `false` and the current value of the $key key in the querystring is an array that
* contains the $value
*
* @param string $key
* @param mixed $value
*
* @return bool
*/
function if_query($key, $value)
{
return app('active')->checkQuery($key, $value);
}
}
if (!function_exists('if_route')) {
/**
* Check if the name of the current route matches one of specific values
*
* @param array|string $routeNames
*
* @return bool
*/
function if_route($routeNames)
{
return app('active')->checkRoute($routeNames);
}
}
if (!function_exists('if_route_pattern')) {
/**
* Check the current route name with one or some patterns
*
* @param array|string $patterns
*
* @return bool
*/
function if_route_pattern($patterns)
{
return app('active')->checkRoutePattern($patterns);
}
}
if (!function_exists('if_route_param')) {
/**
* Check if the parameter of the current route has the correct value
*
* @param $param
* @param $value
*
* @return bool
*/
function if_route_param($param, $value)
{
return app('active')->checkRouteParam($param, $value);
}
}
if (!function_exists('if_action')) {
/**
* Return 'active' class if current route action match one of provided action names
*
* @param array|string $actions
*
* @return bool
*/
function if_action($actions)
{
return app('active')->checkAction($actions);
}
}
if (!function_exists('if_controller')) {
/**
* Check if the current controller class matches one of specific values
*
* @param array|string $controllers
*
* @return bool
*/
function if_controller($controllers)
{
return app('active')->checkController($controllers);
}
}
if (!function_exists('current_controller')) {
/**
* Get the current controller class
*
* @return string
*/
function current_controller()
{
return app('active')->getController();
}
}
if (!function_exists('current_method')) {
/**
* Get the current controller method
*
* @return string
*/
function current_method()
{
return app('active')->getMethod();
}
}
if (!function_exists('current_action')) {
/**
* Get the current action string
*
* @return string
*/
function current_action()
{
return app('active')->getAction();
}
}