* @return boolean is_public.
*/
function isPublic() {
- return $this->data_array['is_public'];
+ $ra = RoleAnonymous::getInstance() ;
+ return $ra->hasPermission('project_read', $this->getID());
}
/**
$res = db_query_params ('DELETE FROM user_group WHERE group_id=$1',
array ($this->getID())) ;
- // unlink roles to this project
- if ($this->isPublic()) {
- $ra = RoleAnonymous::getInstance();
- $rl = RoleLoggedIn::getInstance();
- $ra->unlinkProject($this);
- $rl->unlinkProject($this);
- }
+ // unlink roles from this project
+ $ra = RoleAnonymous::getInstance();
+ $rl = RoleLoggedIn::getInstance();
+ $ra->unlinkProject($this);
+ $rl->unlinkProject($this);
// @todo : unlink all the other roles created in the project...
//
function printAdminPage ($params) {
$group = group_get_object($params['group_id']);
- if ( $group->usesPlugin ( $this->name ) && $group->isPublic()) {
+ $ra = RoleAnonymous::getInstance() ;
+
+ if ( $group->usesPlugin ( $this->name ) && $ra->hasPermission('project_read', $group->getID())) {
print '<p><input type="checkbox" name="scm_enable_anonymous" value="1" '.$this->c($group->enableAnonSCM()).' /><strong>'._('Enable Anonymous Read Access').'</strong></p>';
}
}
} else {
$html_my_projects .= '<table style="width:100%">';
$i = 0 ;
+ $ra = RoleAnonymous::getInstance() ;
foreach ($groups as $g) {
$i++ ;
if ($i % 2 == 0) {
$html_my_projects .= ' <small><A HREF="/project/admin/?group_id='.$g->getID().'">['._("Admin").']</A></small>';
}
$html_my_projects .= ' <small>('.htmlspecialchars (implode (', ', $role_names)).')</small>';
- if (!$g->isPublic()) {
+ if (!$ra->hasPermission('project_read', $group->getID())) {
$html_my_projects .= ' (*)';
$private_shown = true;
}
if(!$group || !is_object ($group)) {
exit_no_group () ;
}
- if (!$group->isPublic()) {
- $perm =& $group->getPermission ();
-
- if (!$perm || !is_object($perm) || !$perm->isMember()) {
- exit_no_group () ;
- }
- }
+ session_require_perm ('project_read', $group_id);
$contrib_id = getIntFromRequest ('contrib_id') ;
if ($contrib_id) { // List only one particular contribution
$submenu = Template('navbar');
- //group is private
- if (!$project->isPublic()) {
- //if it's a private group, you must be a member of that group
- session_require_perm ('project_read', $group_id);
- }
+ session_require_perm ('project_read', $group_id);
//for dead projects must be member of admin project
if (!$project->isActive()) {
//
// Add checks to see if they have perms to view this
//
-if (!$group->isPublic()) {
- if (!session_loggedin()) {
- exit_permission_denied();
- } elseif (!user_ismember($group_id)) {
- exit_permission_denied();
- }
-}
+session_require_perm ('project_read', $group_id);
echo project_summary($group_id,$mode,$no_table);
//
// Add checks to see if they have perms to view this
//
-if (!$group->isPublic()) {
- if (!session_loggedin()) {
- exit_permission_denied();
- } elseif (!user_ismember($group_id)) {
- exit_permission_denied();
- }
-}
+session_require_perm ('project_read', $group_id);
if ($limit>20 || $limit < 1) {
$limit=20;
//
// Add checks to see if they have perms to view this
//
-if (!$group->isPublic()) {
- if (!session_loggedin()) {
- exit_permission_denied();
- } elseif (!user_ismember($group_id)) {
- exit_permission_denied();
- }
-}
+session_require_perm ('project_read', $group_id);
echo '<h1>Welcome to '.$group->getPublicName().' project!</h1>
<p>';
beginFeed();
endOnError($group->getErrorMessage());
}
- elseif (!$group->isPublic()){
+ elseif (!session_check_perm ('project_read', $group_id)){
beginFeed();
endOnError('No RSS feed available as group status is set to private.');
}
//
// Add checks to see if they have perms to view this
//
- if (!$group->isPublic()) {
- if (!session_loggedin()) {
- endOnError('Permission Denied');
- $errors = true;
- } elseif (!user_ismember($group_id)) {
- endOnError('Permission Denied');
- }
+ ;
+ if (!session_check_perm ('tracker', $atid)) {
+ endOnError('Permission Denied');
+ $errors = true;
}
//
// Create the ArtifactType object
displayError('Project ID or Artifact ID Not Set');
endDocument();
}
+
+// Local Variables:
+// mode: php
+// c-file-style: "bsd"
+// End:
+
?>
exit_error(sprintf(_('Project Problem: %s'),$project->getErrorMessage()),'home');
}
- //group is private
- if (!$project->isPublic()) {
- session_require_perm ('project_read', $group_id);
- }
+ // Check permissions in case of restricted access
+ session_require_perm ('project_read', $group_id);
//for dead projects must be member of admin project
if (!$project->isActive()) {