gforge-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gforge-commits] gforge/www/frs download.php, 1.3, 1.4 index.php, 1.3, 1


From: tperdue
Subject: [Gforge-commits] gforge/www/frs download.php, 1.3, 1.4 index.php, 1.3, 1.4 shownotes.php, 1.2, 1.3
Date: Wed, 04 Aug 2004 11:18:55 -0500

Update of /cvsroot/gforge/gforge/www/frs
In directory db.perdue.net:/home/tperdue/share/dev.gforge.org/www/frs

Modified Files:
        download.php index.php shownotes.php 
Log Message:
RBAC, DELETION, AND FORUM EMAIL GATEWAY

Index: download.php
===================================================================
RCS file: /cvsroot/gforge/gforge/www/frs/download.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- download.php        20 Apr 2004 08:33:33 -0000      1.3
+++ download.php        4 Aug 2004 16:18:38 -0000       1.4
@@ -18,7 +18,8 @@
 $arr=explode('/',$REQUEST_URI);
 $file_id=$arr[3];
 
-$res=db_query("SELECT 
frs_file.filename,frs_file.file_id,groups.unix_group_name,groups.group_id
+$res=db_query("SELECT frs_file.filename,frs_package.is_public,
+       frs_file.file_id,groups.unix_group_name,groups.group_id
        FROM frs_package,frs_release,frs_file,groups
        WHERE frs_release.release_id=frs_file.release_id
        AND groups.group_id=frs_package.group_id
@@ -30,8 +31,9 @@
        exit;
 }
 
+$is_public =db_result($res,0,'is_public');
 $group_name=db_result($res,0,'unix_group_name');
-$filename=db_result($res,0,'filename');
+$filename = db_result($res,0,'filename');
 $release_id=db_result($res,0,'release_id');
 $group_id = db_result($res,0,'group_id');
 
@@ -44,6 +46,23 @@
        session_require(array('group' => $group_id));
 }
 
+//
+//  Members of projects can see all packages
+//  Non-members can only see public packages
+//
+if (session_loggedin()) {
+       if (user_ismember($group_id) || user_ismember(1,'A')) {
+       } else {
+               if (!$is_public) {
+                       exit_permission_denied();
+               }
+       }
+} else {
+       if (!$is_public) {
+               exit_permission_denied();
+       }
+}
+
 /*
 echo $group_name.'|'.$filename.'|'.$sys_upload_dir.$group_name.'/'.$filename;
 if (file_exists($sys_upload_dir.$group_name.'/'.$filename)) {

Index: index.php
===================================================================
RCS file: /cvsroot/gforge/gforge/www/frs/index.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- index.php   30 Jun 2004 18:11:51 -0000      1.3
+++ index.php   4 Aug 2004 16:18:38 -0000       1.4
@@ -14,12 +14,6 @@
 require_once('pre.php');       
 require_once('www/frs/include/frs_utils.php');
 
-$sql = "SELECT *
-       FROM frs_package 
-       WHERE group_id='$group_id' AND status_id='1' 
-       ORDER BY name";
-$res_package = db_query( $sql );
-$num_packages = db_numrows( $res_package );
 $cur_group =& group_get_object($group_id);
 
 if (!$cur_group) {
@@ -27,6 +21,29 @@
                $Language->getText('project_showfiles','no_group'));
 }
 
+//
+//     Members of projects can see all packages
+//     Non-members can only see public packages
+//
+if (session_loggedin()) {
+       if (user_ismember($group_id) || user_ismember(1,'A')) {
+               $pub_sql='';
+       } else {
+               $pub_sql=' AND is_public=1 ';
+       }
+} else {
+       $pub_sql=' AND is_public=1 ';
+}
+
+$sql = "SELECT *
+       FROM frs_package 
+       WHERE group_id='$group_id' 
+       AND status_id='1' 
+       $pub_sql
+       ORDER BY name";
+$res_package = db_query( $sql );
+$num_packages = db_numrows( $res_package );
+
 if ( $num_packages < 1) {
        
exit_error($Language->getText('project_showfiles','error_no_packages_defined_title'),$Language->getText('project_showfiles','error_no_packages_defined_text'));
 }

Index: shownotes.php
===================================================================
RCS file: /cvsroot/gforge/gforge/www/frs/shownotes.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- shownotes.php       14 Mar 2004 17:08:18 -0000      1.2
+++ shownotes.php       4 Aug 2004 16:18:38 -0000       1.3
@@ -15,10 +15,25 @@
 require_once('pre.php');
 require_once('www/frs/include/frs_utils.php');
 
+//
+//  Members of projects can see all packages
+//  Non-members can only see public packages
+//
+if (session_loggedin()) {
+       if (user_ismember($group_id) || user_ismember(1,'A')) {
+               $pub_sql='';
+       } else {
+               $pub_sql=' AND frs_package.is_public=1 ';
+       }
+} else {
+       $pub_sql=' AND frs_package.is_public=1 ';
+}
+
 $result=db_query("SELECT frs_release.notes,frs_release.changes,
-               frs_release.preformatted,frs_release.name,frs_package.group_id
+               
frs_release.preformatted,frs_release.name,frs_package.group_id,frs_package.is_public
                FROM frs_release,frs_package 
                WHERE frs_release.package_id=frs_package.package_id 
+               $pub_sql
                AND frs_release.release_id='$release_id'");
 
 if (!$result || db_numrows($result) < 1) {





reply via email to

[Prev in Thread] Current Thread [Next in Thread]