function photos_access_node_load in Album Photos 6.0.x
Same name and namespace in other branches
- 8.5 photos_access/photos_access.module \photos_access_node_load()
- 8.4 photos_access/photos_access.module \photos_access_node_load()
- 7.3 photos_access/photos_access.module \photos_access_node_load()
Implements hook_node_load().
File
- photos_access/
photos_access.module, line 742 - Implementation of photos_access.module.
Code
function photos_access_node_load($nodes) {
foreach ($nodes as $nid => $node) {
$db = \Drupal::database();
$result = $db
->query('SELECT * FROM {photos_access_album} WHERE nid = :nid', [
':nid' => $nid,
])
->fetchObject();
$info = [];
// @todo change privacy to photos_access to avoid potential conflict.
if ($result) {
// Node privacy settings.
$info['photos_privacy'] = [];
// @todo replace vid and eid with access_id.
$info['photos_privacy']['access_id'] = $result->id;
$info['photos_privacy']['vid'] = $result->id;
$info['photos_privacy']['eid'] = $result->id;
$info['photos_privacy']['viewid'] = $result->viewid;
if ($result->viewid == 3) {
$info['photos_privacy']['pass'] = $result->pass;
}
elseif ($result->viewid == 4) {
// Get roles.
if (!isset($node->album)) {
$album_data = $db
->query('SELECT data FROM {photos_album} WHERE album_id = :album_id', [
':album_id' => $node
->id(),
])
->fetchField();
$album_data = unserialize($album_data);
}
else {
$album_data = $node->album;
}
if (isset($album_data['photos_access_roles'])) {
$info['photos_privacy']['roles'] = $album_data['photos_access_roles'];
}
}
// Users who can collaborate.
$info['photos_privacy']['updateuser'] = _photos_access_userlist($result->id, TRUE);
// Users who can view.
$info['photos_privacy']['viewuser'] = _photos_access_userlist($result->id, FALSE);
$nodes[$nid]->photos_privacy = $info['photos_privacy'];
}
}
}