Exemplo n.º 1
0
 /**
  * Checks if the current page matches the passed `$url`.
  *
  * @param string $url Regular expression or internal URL (full or partial) to check against.
  * @param boolean $exact Optional. Set to false if using regular expression or partial URL.
  * @return boolean True on success.
  */
 private static function __isPageCurrent($url, $exact = true)
 {
     if (!$exact) {
         return preg_match('/' . preg_quote($url) . '/', Router::url());
     }
     $params = Router::getParams();
     $defaultRoute = Hash::normalize(array('plugin', 'controller', 'action', 'prefix', 'named', 'pass', 'lang'));
     if (!empty($params['prefix'])) {
         $defaultRoute[$params['prefix']] = null;
     }
     return Router::normalize(array_intersect_recursive($params, $defaultRoute)) == $url;
 }
Exemplo n.º 2
0
 function array_intersect_recursive($array1, $array2)
 {
     $array1 = array_intersect_key($array1, $array2);
     foreach (array_keys($array1) as $k) {
         if (!is_array($array1[$k]) || !is_array($array2[$k])) {
             continue;
         }
         $array1[$k] = array_intersect_recursive($array1[$k], $array2[$k]);
     }
     return $array1;
 }