function datereminder_allowed_access_node in Date Reminder 7
Same name and namespace in other branches
- 6.2 datereminder.module \datereminder_allowed_access_node()
- 6 datereminder.module \datereminder_allowed_access_node()
Check if this user can access reminders for this node.
Parameters
node $node: The node
string $acc: What kind of access is requested? 'own' means set/view own reminder 'all' means view others' reminder
string loc: Where is the reminder to be displayed?
1 call to datereminder_allowed_access_node()
- _datereminder_current_reminder_or_link in ./
datereminder.module - Returns either a reminder form or, for anonymous user and if so enabled, an invitation to log in or register. @global type $user
1 string reference to 'datereminder_allowed_access_node'
- _datereminder_menu in ./
datereminder.admin.inc - Implements hook_menu().
File
- ./
datereminder.module, line 755 - Support for reminders for nodes with dates.
Code
function datereminder_allowed_access_node($node = NULL, $acc = 'own', $loc = DATEREMINDER_IN_NODE) {
global $user;
if (!isset($user) || $user->uid == 0) {
return FALSE;
}
module_load_include('inc', 'datereminder', 'includes/defines');
// First, be sure reminders are on for this.
if (!isset($node) || $node->datereminder_enabled != DATEREMINDER_TYPE_ON) {
return FALSE;
}
$accloc = variable_get('datereminder_display_loc', DATEREMINDER_IN_NODE);
if ($loc != $accloc) {
return FALSE;
}
if (!node_access('view', $node)) {
// User shouldn't be able to view this node at all.
return FALSE;
}
if (user_access(DATEREMINDER_VIEW_OTHER_USER_REMINDERS) || user_access(DATEREMINDER_ADMINISTER_REMINDERS)) {
return TRUE;
}
if ($acc != 'own' || !user_access(DATEREMINDER_REQUEST_REMINDER)) {
return FALSE;
}
module_load_include('inc', 'datereminder', 'includes/datereminder_form');
return _datereminder_has_future_dates($node);
}