aboutsummaryrefslogtreecommitdiff
path: root/engine/lib
diff options
context:
space:
mode:
Diffstat (limited to 'engine/lib')
-rw-r--r--engine/lib/access.php10
-rw-r--r--engine/lib/entities.php13
-rw-r--r--engine/lib/filestore.php6
3 files changed, 18 insertions, 11 deletions
diff --git a/engine/lib/access.php b/engine/lib/access.php
index ae64f832a..002413baa 100644
--- a/engine/lib/access.php
+++ b/engine/lib/access.php
@@ -981,17 +981,17 @@ function access_init() {
*/
function elgg_override_permissions($hook, $type, $value, $params) {
$user = elgg_extract('user', $params);
- if (!$user) {
- $user = elgg_get_logged_in_user_entity();
+ if ($user) {
+ $user_guid = $user->getGUID();
+ } else {
+ $user_guid = elgg_get_logged_in_user_guid();
}
- // don't do this so ignore access still works.
+ // don't do this so ignore access still works with no one logged in
// if (!$user instanceof ElggUser) {
// return false;
// }
- $user_guid = $user->guid;
-
// check for admin
if ($user_guid && elgg_is_admin_user($user_guid)) {
return true;
diff --git a/engine/lib/entities.php b/engine/lib/entities.php
index f1352ba8d..fcd4544bf 100644
--- a/engine/lib/entities.php
+++ b/engine/lib/entities.php
@@ -530,12 +530,12 @@ $container_guid = 0) {
$container_guid = $owner_guid;
}
- $user = elgg_get_logged_in_user_entity();
- if (!can_write_to_container($user->guid, $owner_guid, $type, $subtype)) {
+ $user_guid = elgg_get_logged_in_user_guid();
+ if (!can_write_to_container($user_guid, $owner_guid, $type, $subtype)) {
return false;
}
if ($owner_guid != $container_guid) {
- if (!can_write_to_container($user->guid, $container_guid, $type, $subtype)) {
+ if (!can_write_to_container($user_guid, $container_guid, $type, $subtype)) {
return false;
}
}
@@ -1837,7 +1837,12 @@ function can_edit_entity_metadata($entity_guid, $user_guid = 0, $metadata = null
$return = can_edit_entity($entity_guid, $user_guid);
}
- $user = get_entity($user_guid);
+ if ($user_guid) {
+ $user = get_entity($user_guid);
+ } else {
+ $user = elgg_get_logged_in_user_entity();
+ }
+
$params = array('entity' => $entity, 'user' => $user, 'metadata' => $metadata);
$return = elgg_trigger_plugin_hook('permissions_check:metadata', $entity->type, $params, $return);
return $return;
diff --git a/engine/lib/filestore.php b/engine/lib/filestore.php
index a7aa1ff8c..a13d8aa27 100644
--- a/engine/lib/filestore.php
+++ b/engine/lib/filestore.php
@@ -483,8 +483,10 @@ function filestore_init() {
global $CONFIG;
// Now register a default filestore
- set_default_filestore(new ElggDiskFilestore($CONFIG->dataroot));
-
+ if (isset($CONFIG->dataroot)) {
+ set_default_filestore(new ElggDiskFilestore($CONFIG->dataroot));
+ }
+
// Now run this stuff, but only once
run_function_once("filestore_run_once");
}