aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine/lib/access.php32
1 files changed, 12 insertions, 20 deletions
diff --git a/engine/lib/access.php b/engine/lib/access.php
index ff7cfe477..b920f9fbe 100644
--- a/engine/lib/access.php
+++ b/engine/lib/access.php
@@ -52,11 +52,11 @@
*/
function get_access_array($user_id = 0, $site_id = 0, $flush = false) {
- global $CONFIG;
+ global $CONFIG, $init_finished;
static $access_array, $acm, $ac; // Caches. $ac* flag whether we have executed a query previously, and stop it being run again if no data is returned.
if (!isset($access_array) || (!isset($init_finished)) || (!$init_finished))
- $access_array = array();
+ $access_array = array();
if ($user_id == 0) $user_id = $_SESSION['guid'];
@@ -73,29 +73,21 @@
$tmp_access_array = array(2);
if (isloggedin())
$tmp_access_array[] = 1;
-
- if (!$ac)
- {
- if ($collections = get_data($query)) {
- foreach($collections as $collection)
- if (!empty($collection->access_collection_id)) $tmp_access_array[] = $collection->access_collection_id;
- }
+
+ if ($collections = get_data($query)) {
+ foreach($collections as $collection)
+ if (!empty($collection->access_collection_id)) $tmp_access_array[] = $collection->access_collection_id;
+
}
- $ac = true; // We don't want to run this query again
-
$query = "select ag.id from {$CONFIG->dbprefix}access_collections ag ";
$query .= " where ag.owner_guid = {$user_id} and (ag.site_guid = {$site_id} or ag.site_guid = 0)";
- if (!$acm)
- {
- if ($collections = get_data($query)) {
- foreach($collections as $collection)
- if (!empty($collection->id)) $tmp_access_array[] = $collection->id;
- }
- }
-
- $acm = true; // We don't want to run this query again
+ if ($collections = get_data($query)) {
+ foreach($collections as $collection)
+ if (!empty($collection->id)) $tmp_access_array[] = $collection->id;
+ }
+
global $is_admin;