| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | 
							- <?php
 
- /**
 
-  * All helper functions are bundled here
 
-  */
 
- /**
 
-  * Only site announcement editors can access this part
 
-  *
 
-  * @return void
 
-  */
 
- function site_announcements_editor_gatekeeper() {
 
- 	
 
- 	elgg_gatekeeper();
 
- 	
 
- 	if (!site_announcements_is_editor()) {
 
- 		register_error(elgg_echo('limited_access'));
 
- 		forward(REFERER);
 
- 	}
 
- }
 
- /**
 
-  * Check if a user is an editor
 
-  *
 
-  * @param ElggUser $user (optional) the user to check, defaults to loggedin user
 
-  *
 
-  * @return bool
 
-  */
 
- function site_announcements_is_editor(ElggUser $user = null) {
 
- 	
 
- 	if (empty($user) || !($user instanceof ElggUser)) {
 
- 		$user = elgg_get_logged_in_user_entity();
 
- 	}
 
- 	
 
- 	if (empty($user)) {
 
- 		return false;
 
- 	}
 
- 	
 
- 	// admins are always editors
 
- 	if ($user->isAdmin()) {
 
- 		return true;
 
- 	}
 
- 	
 
- 	// check normal users
 
- 	$setting = elgg_get_plugin_user_setting('editor', $user->getGUID(), 'site_announcements');
 
- 	if (!empty($setting)) {
 
- 		return true;
 
- 	}
 
- 	
 
- 	return false;
 
- }
 
 
  |