* @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.
$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])) {
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();
}
return (isset($CONFIG->actions[$action]) && file_exists($CONFIG->actions[$action]['file']));
}
-// Register some actions ***************************************************
+
register_elgg_event_handler("init","system","actions_init");
<?php
$this_owner = $vars['entity']->owner_guid;
- if (!$this_owner) $this_owner = get_loggedin_userid();
+ if (!$this_owner) {
+ $this_owner = get_loggedin_userid();
+ }
- $access = array(ACCESS_FRIENDS => elgg_echo("access:friends:label"), 1 => elgg_echo("LOGGED_IN"), 2 => elgg_echo("PUBLIC"));
- $collections = get_user_access_collections($this_owner);
- if (is_array($collections))
- {
+ $access = array(ACCESS_FRIENDS => elgg_echo("access:friends:label"), ACCESS_LOGGED_IN => elgg_echo("LOGGED_IN"), ACCESS_PUBLIC => elgg_echo("PUBLIC"));
+ $collections = get_user_access_collections($vars['entity']->guid);
+ if (is_array($collections)) {
foreach ($collections as $c)
$access[$c->id] = $c->name;
}
-
- echo elgg_view('input/access', array('internalname' => 'vis', 'value' => ($vars['entity']->access_id ? $vars['entity']->access_id : ACCESS_PUBLIC), 'options' => $access));
+
+ $current_access = ($vars['entity']->access_id ? $vars['entity']->access_id : ACCESS_PUBLIC);
+ echo elgg_view('input/access', array('internalname' => 'vis',
+ 'value' => $current_access,
+ 'options' => $access));
?>
* @subpackage Core
* @author Curverider Ltd
* @link http://elgg.org/
+ *
+ * @uses $vars['entity'] The entity the icon represents - uses getIcon() method
+ * @uses $vars['js'] Any JavaScript to add to img tag
+ * @uses $vars['size'] topbar, tiny, small, medium (default), large, master
+ * @uses $vars['link'] Optional link for the image
+ * @uses $vars['align'] Align attribute of the img tag
*/
$entity = $vars['entity'];