diff options
author | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-08-21 22:37:45 +0000 |
---|---|---|
committer | cash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-08-21 22:37:45 +0000 |
commit | b81f168b0bfc298c6eb1c0a2a857311f076c40bd (patch) | |
tree | 51d2a92ed92a97fa5a6b37e969b4d415a60889f9 /engine | |
parent | 64aafb5ca73d329663a93f80ac9cf3e68a082866 (diff) | |
download | elgg-b81f168b0bfc298c6eb1c0a2a857311f076c40bd.tar.gz elgg-b81f168b0bfc298c6eb1c0a2a857311f076c40bd.tar.bz2 |
Merged [6573],[6574],[6582] from 1.7 branch into trunk
git-svn-id: http://code.elgg.org/elgg/trunk@6841 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'engine')
-rw-r--r-- | engine/lib/actions.php | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/engine/lib/actions.php b/engine/lib/actions.php index b715577a9..47c0bf7af 100644 --- a/engine/lib/actions.php +++ b/engine/lib/actions.php @@ -17,13 +17,14 @@ * @param string $action The requested action * @param string $forwarder Optionally, the location to forward to */ - function action($action, $forwarder = "") { global $CONFIG; + $action = rtrim($action, '/'); + // @todo REMOVE THESE ONCE #1509 IS IN PLACE. // Allow users to disable plugins without a token in order to - // remove plugins that are imcompatible. + // remove plugins that are incompatible. // Installation cannot use tokens because it requires site secret to be // working. (#1462) // Login and logout are for convenience. @@ -45,8 +46,8 @@ function action($action, $forwarder = "") { $forwarder = str_replace("http://", "", $forwarder); $forwarder = str_replace("@", "", $forwarder); - if (substr($forwarder,0,1) == "/") { - $forwarder = substr($forwarder,1); + if (substr($forwarder, 0, 1) == "/") { + $forwarder = substr($forwarder, 1); } if (isset($CONFIG->actions[$action])) { @@ -90,6 +91,10 @@ function action($action, $forwarder = "") { function register_action($action, $public = false, $filename = "", $admin_only = false) { global $CONFIG; + // plugins are encouraged to call actions with a trailing / to prevent 301 + // redirects but we store the actions without it + $action = rtrim($action, '/'); + if (!isset($CONFIG->actions)) { $CONFIG->actions = array(); } @@ -251,5 +256,5 @@ function elgg_action_exist($action) { return (isset($CONFIG->actions[$action]) && file_exists($CONFIG->actions[$action]['file'])); } -// Register some actions *************************************************** + register_elgg_event_handler("init","system","actions_init"); |