CRM-20776 - Navigation - Fix menu items with mix of #, ?, &
authorTim Otten <totten@civicrm.org>
Wed, 28 Jun 2017 06:47:19 +0000 (23:47 -0700)
committerTim Otten <totten@civicrm.org>
Wed, 28 Jun 2017 07:02:05 +0000 (00:02 -0700)
commit402ee56dc31f321ebae15839ba1561ba40d4281e
tree2f84f0da2ba6f6e63309a2958b7bff6bbdc4fa06
parent8deabd96af981090815d1bce00e65ec4ef5ff778
CRM-20776 - Navigation - Fix menu items with mix of #, ?, &

== Use case

 * Use an extension to implement `hook_civicrm_navigationMenu`.
 * Add or edit the URL of a menu item to use a mix of URL control chars -- eg `civicrm/case/a/#/case?dtab=0&dme=0`
 * Look in the CiviCRM navigation bar and see the final URL of the link.

== Before

 * The URL is munged (eg `http://dcase.l/civicrm/case/a/?dtab=0&dme=0#/case`)

== After

 * The URL appears consistent (eg `http://dcase.l/civicrm/case/a/#/case?dtab=0&dme=0`)

== Testing

 * On Drupal 7, I activated all components (CiviContribute, CiviMail, etal) to build a large pool of menu items.
   Then I grabbed the menu content (eg `http://dcase.l/civicrm/ajax/menujs/202/en_US/1/abcd1234`) -- both with and
   without the patch. The content was the same, except for the intended items.
 * Repeated above on WordPress (which does not use clean URLs).
CRM/Core/BAO/Navigation.php