X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FCore%2FInvoke.php;h=bcb6da8a9892b2a76e7be557bd6978f90e309f88;hb=1aaadbcc9ff73774f08ddd7ad65a81929a37ab16;hp=b0262dfda7f7bc9a0f86344dcd769e6f506a8689;hpb=6e32198b6bcc4d93e62b6d033e356104da3e9b0f;p=civicrm-core.git diff --git a/CRM/Core/Invoke.php b/CRM/Core/Invoke.php index b0262dfda7..bcb6da8a98 100644 --- a/CRM/Core/Invoke.php +++ b/CRM/Core/Invoke.php @@ -102,7 +102,7 @@ class CRM_Core_Invoke { return CRM_Utils_System::redirect(); } else { - CRM_Core_Error::fatal('You do not have permission to execute this url'); + CRM_Core_Error::statusBounce('You do not have permission to execute this url'); } } } @@ -224,7 +224,7 @@ class CRM_Core_Invoke { if (!array_key_exists('page_callback', $item)) { CRM_Core_Error::debug('Bad item', $item); - CRM_Core_Error::fatal(ts('Bad menu record in database')); + CRM_Core_Error::statusBounce(ts('Bad menu record in database')); } // check that we are permissioned to access this page @@ -277,11 +277,11 @@ class CRM_Core_Invoke { if (is_array($item['page_callback']) || strpos($item['page_callback'], ':')) { $result = call_user_func(Civi\Core\Resolver::singleton()->get($item['page_callback'])); } - elseif (strstr($item['page_callback'], '_Form')) { + elseif (strpos($item['page_callback'], '_Form') !== FALSE) { $wrapper = new CRM_Utils_Wrapper(); $result = $wrapper->run( - CRM_Utils_Array::value('page_callback', $item), - CRM_Utils_Array::value('title', $item), + $item['page_callback'] ?? NULL, + $item['title'] ?? NULL, $pageArgs ?? NULL ); } @@ -307,7 +307,7 @@ class CRM_Core_Invoke { $object = new $item['page_callback']($title, TRUE, $mode, NULL, $addSequence); } else { - CRM_Core_Error::fatal(); + throw new CRM_Core_Exception('Execute supplied menu action'); } $result = $object->run($newArgs, $pageArgs); }