gforge-commits
[Top][All Lists]
Advanced

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

[Gforge-commits] gforge/www/frs/admin deletepackage.php, NONE, 1.1 delet


From: tperdue
Subject: [Gforge-commits] gforge/www/frs/admin deletepackage.php, NONE, 1.1 deleterelease.php, NONE, 1.1 index.php, 1.1, 1.2 showreleases.php, 1.2, 1.3
Date: Wed, 04 Aug 2004 11:18:57 -0500

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

Modified Files:
        index.php showreleases.php 
Added Files:
        deletepackage.php deleterelease.php 
Log Message:
RBAC, DELETION, AND FORUM EMAIL GATEWAY

--- NEW FILE: deletepackage.php ---
<?php
/**
 *
 * Project Admin: Edit Packages
 *
 * SourceForge: Breaking Down the Barriers to Open Source Development
 * Copyright 1999-2001 (c) VA Linux Systems
 * Copyright 2004 (c) GForge, LLC
 *
 * @version   $Id: deletepackage.php,v 1.1 2004/08/04 16:18:39 tperdue Exp $
 *
 */

require_once('pre.php');        
require_once('www/frs/include/frs_utils.php');
require_once('common/frs/FRSPackage.class');

if (!$group_id) {
        exit_no_group();
}

$project =& group_get_object($group_id);
if (!$project || $project->isError()) {
        exit_error('Error',$project->getErrorMessage());
}
$perm =& $project->getPermission(session_get_user());
if (!$perm->isReleaseTechnician()) {
        exit_permission_denied();
}

$frsp = new FRSPackage($project,$package_id);
if (!$frsp || !is_object($frsp)) {
        exit_error('Error','Could Not Get FRS Package');
} elseif ($frsp->isError()) {
        exit_error('Error',$frsp->getErrorMessage());
}

/*

        Relatively simple form to delete packages of releases

*/

frs_admin_header(array('title'=>$Language->getText('project_admin_editpackages','title'),'group'=>$group_id));

        echo '<strong>'.$frsp->getName().'</strong><p>';
        echo '
        <form action="/frs/admin/?group_id='.$group_id.'" method="post">
        <input type="hidden" name="func" value="delete_package" />
        <input type="hidden" name="package_id" value="'. $package_id .'" />
        '.$Language->getText('frs_admin','delete_package_warning').'
        <p>
        <input type="checkbox" name="sure" 
value="1">'.$Language->getText('frs_admin','sure').'<br />
        <input type="checkbox" name="really_sure" 
value="1">'.$Language->getText('frs_admin','really_sure').'<br />
        <input type="submit" name="submit" 
value="'.$Language->getText('frs_admin','delete').'" />
        </form>';

frs_admin_footer();

?>

--- NEW FILE: deleterelease.php ---
<?php
/**
 *
 * Project Admin: Edit Packages
 *
 * SourceForge: Breaking Down the Barriers to Open Source Development
 * Copyright 1999-2001 (c) VA Linux Systems
 * Copyright 2004 (c) GForge, LLC
 *
 * @version   $Id: deleterelease.php,v 1.1 2004/08/04 16:18:39 tperdue Exp $
 *
 */

require_once('pre.php');        
require_once('www/frs/include/frs_utils.php');
require_once('common/frs/FRSPackage.class');
require_once('common/frs/FRSRelease.class');
require_once('common/frs/FRSFile.class');

if (!$group_id) {
        exit_no_group();
}

$project =& group_get_object($group_id);
if (!$project || $project->isError()) {
        exit_error('Error',$project->getErrorMessage());
}

$perm =& $project->getPermission(session_get_user());
if (!$perm->isReleaseTechnician()) {
        exit_permission_denied();
}

$frsp = new FRSPackage($project,$package_id);
if (!$frsp || !is_object($frsp)) {
        exit_error('Error','Could Not Get FRS Package');
} elseif ($frsp->isError()) {
        exit_error('Error',$frsp->getErrorMessage());
}

$frsr = new FRSRelease($frsp,$release_id);
if (!$frsr || !is_object($frsr)) {
        exit_error('Error','Could Not Get FRS Release');
} elseif ($frsr->isError()) {
        exit_error('Error',$frsr->getErrorMessage());
}


/*

        Relatively simple form to delete packages of releases

*/

frs_admin_header(array('title'=>$Language->getText('project_admin_editpackages','title'),'group'=>$group_id));

        echo '
        <form 
action="/frs/admin/showreleases.php?group_id='.$group_id.'&amp;package_id='.$package_id.'"
 method="post">
        <input type="hidden" name="func" value="delete_release" />
        <input type="hidden" name="release_id" value="'. $release_id .'" />
        '.$Language->getText('frs_admin','delete_release_warning').'
        <p>
        <input type="checkbox" name="sure" 
value="1">'.$Language->getText('frs_admin','sure').'<br />
        <input type="checkbox" name="really_sure" 
value="1">'.$Language->getText('frs_admin','really_sure').'<br />
        <input type="submit" name="submit" 
value="'.$Language->getText('frs_admin','delete').'" />
        </form>';

frs_admin_footer();

?>

Index: index.php
===================================================================
RCS file: /cvsroot/gforge/gforge/www/frs/admin/index.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- index.php   10 Feb 2004 22:14:38 -0000      1.1
+++ index.php   4 Aug 2004 16:18:39 -0000       1.2
@@ -13,6 +13,9 @@
 
 require_once('pre.php');       
 require_once('www/frs/include/frs_utils.php');
+require_once('common/frs/FRSPackage.class');
+require_once('common/frs/FRSRelease.class');
+require_once('common/frs/FRSFile.class');
 
 if (!$group_id) {
        exit_no_group();
@@ -43,23 +46,45 @@
        if ($func=='add_package' && $package_name) {
 
                //create a new package
-               db_query("INSERT INTO frs_package (group_id,name,status_id) ".
-                       "VALUES ('$group_id','". 
htmlspecialchars($package_name)  ."','1')");
-               $feedback 
.=$Language->getText('project_admin_editpackages','added_package');
+               $frsp = new FRSPackage($project);
+               if (!$frsp || !is_object($frsp)) {
+                       exit_error('Error','Could Not Get FRS Package');
+               } elseif ($frsp->isError()) {
+                       exit_error('Error',$frsp->getErrorMessage());
+               }
+               if (!$frsp->create($package_name,$is_public)) {
+                       exit_error('Error',$frsp->getErrorMessage());
+               } else {
+                       $feedback 
.=$Language->getText('project_admin_editpackages','added_package');
+               }
+
+       } elseif ($func=='delete_package' && $package_id) {
+
+               //create a new package
+               $frsp = new FRSPackage($project,$package_id);
+               if (!$frsp || !is_object($frsp)) {
+                       exit_error('Error','Could Not Get FRS Package');
+               } elseif ($frsp->isError()) {
+                       exit_error('Error',$frsp->getErrorMessage());
+               }
+               if (!$frsp->delete($sure,$really_sure)) {
+                       exit_error('Error',$frsp->getErrorMessage());
+               } else {
+                       $feedback .=$Language->getText('frs_admin','deleted');
+               }
 
        } else if ($func=='update_package' && $package_id && $package_name && 
$status_id) {
-               if ($status_id != 1) {
-                       //if hiding a package, refuse if it has releases under 
it
-                       $res=db_query("SELECT * FROM frs_release WHERE 
package_id='$package_id' AND status_id=1");
-                       if (db_numrows($res) > 0) {
-                               $feedback .= ' Sorry - you cannot hide a 
package that contains active releases ';
-                               $status_id=1;
-                       }
+               $frsp = new FRSPackage($project,$package_id);
+               if (!$frsp || !is_object($frsp)) {
+                       exit_error('Error','Could Not Get FRS Package');
+               } elseif ($frsp->isError()) {
+                       exit_error('Error',$frsp->getErrorMessage());
+               }
+               if (!$frsp->update($package_name,$status_id)) {
+                       exit_error('Error',$frsp->getErrorMessage());
+               } else {
+                       $feedback .= 
$Language->getText('project_admin_editpackages','updated_package');
                }
-               //update an existing package
-               db_query("UPDATE frs_package SET name='". 
htmlspecialchars($package_name)  ."', status_id='$status_id' ".
-                       "WHERE package_id='$package_id' AND 
group_id='$group_id'");
-               $feedback .= 
$Language->getText('project_admin_editpackages','updated_package');
 
        }
 
@@ -68,7 +93,8 @@
 
 
frs_admin_header(array('title'=>$Language->getText('project_admin_editpackages','title'),'group'=>$group_id,'pagename'=>'project_admin_editpackages','sectionvals'=>array(group_getname($group_id))));
 
-$res=db_query("SELECT status_id,package_id,name AS package_name FROM 
frs_package WHERE group_id='$group_id' AND status_id=1");
+$res=db_query("SELECT status_id,package_id,name AS package_name 
+       FROM frs_package WHERE group_id='$group_id'");
 $rows=db_numrows($res);
 if ($res && $rows > 0) {
        echo 
'<h3>'.$Language->getText('project_admin_editpackages','qrs').'</h3>';
@@ -86,8 +112,6 @@
 
 */
 
-$res=db_query("SELECT status_id,package_id,name AS package_name FROM 
frs_package WHERE group_id='$group_id'");
-$rows=db_numrows($res);
 if (!$res || $rows < 1) {
        echo 
'<h4>'.$Language->getText('project_admin_editpackages','no_packages_defined').'</h4>';
 } else {
@@ -120,7 +144,13 @@
                        </td>
                        <td><span style="font-size:smaller"><input type="text" 
name="package_name" value="'.db_result($res,$i,'package_name') .'" size="20" 
maxlength="30" /></span></td>
                        <td><span 
style="font-size:smaller">'.frs_show_status_popup ('status_id', 
db_result($res,$i,'status_id')).'</span></td>
-                       <td><input type="submit" name="submit" 
value="'.$Language->getText('general','update').'" /></td>
+                       <td><input type="submit" name="submit" 
value="'.$Language->getText('general','update').'" />
+                               <span style="font-size:smaller">
+                                       <a 
href="deletepackage.php?package_id='. 
+                                               db_result($res,$i,'package_id') 
.'&amp;group_id='. $group_id 
.'"><strong>['.$Language->getText('general','delete').']</strong>
+                                       </a>
+                               </span>
+                       </td>
                        </tr></form>';
        }
 
@@ -142,6 +172,10 @@
 <input type="hidden" name="group_id" value="<?php echo $group_id; ?>" />
 <input type="hidden" name="func" value="add_package" />
 <input type="text" name="package_name" value="" size="20" maxlength="30" />
+<p>
+<strong><?php echo 
$Language->getText('project_admin_editpackages','is_public'); ?>:</strong><br />
+<input type="radio" name="is_public" value="1" checked> <?php echo 
$Language->getText('project_admin_editpackages','public'); ?><br />
+<input type="radio" name="is_public" value="0"> <?php echo 
$Language->getText('project_admin_editpackages','private'); ?><br />
 <p><input type="submit" name="submit" value="<?php echo 
$Language->getText('project_admin_editpackages','create_package') ?>" /></p>
 </form></p>
 

Index: showreleases.php
===================================================================
RCS file: /cvsroot/gforge/gforge/www/frs/admin/showreleases.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- showreleases.php    31 Mar 2004 17:17:18 -0000      1.2
+++ showreleases.php    4 Aug 2004 16:18:39 -0000       1.3
@@ -1,6 +1,5 @@
 <?php
 /**
- *
  * Project Admin: Edit Releases of Packages
  *
  * SourceForge: Breaking Down the Barriers to Open Source Development
@@ -8,7 +7,6 @@
  * Copyright 2004 (c) GForge, LLC
  *
  * @version   $Id$
- *
  */
 
 
@@ -18,6 +16,9 @@
 
 require_once('pre.php');       
 require_once('www/frs/include/frs_utils.php');
+require_once('common/frs/FRSPackage.class');
+require_once('common/frs/FRSRelease.class');
+require_once('common/frs/FRSFile.class');
 
 if (!$group_id) {
        exit_no_group();
@@ -27,6 +28,7 @@
 if (!$project || $project->isError()) {
        exit_error('Error',$project->getErrorMessage());
 }
+
 $perm =& $project->getPermission(session_get_user());
 if (!$perm->isReleaseTechnician()) {
        exit_permission_denied();
@@ -37,16 +39,35 @@
        exit;
 }
 
+$frsp = new FRSPackage($project,$package_id);
+if (!$frsp || !is_object($frsp)) {
+       exit_error('Error','Could Not Get FRS Package');
+} elseif ($frsp->isError()) {
+       exit_error('Error',$frsp->getErrorMessage());
+}
+
+//
+//
+//
+if ($func=='delete_release' && $release_id) {
+       $frsr = new FRSRelease($frsp,$release_id);
+       if (!$frsr || !is_object($frsr)) {
+               exit_error('Error','Could Not Get FRS Release');
+       } elseif ($frsr->isError()) {
+               exit_error('Error',$frsr->getErrorMessage());
+       }
+       if (!$frsr->delete($sure,$really_sure)) {
+               exit_error('Error',$frsr->getErrorMessage());
+       } else {
+               $feedback .= $Language->getText('frs_admin','deleted');
+       }
+}
+
 /*
        Get the releases of this package
 */
-$res=db_query("SELECT p.name AS package_name,r.* 
-       FROM frs_release r, frs_package p 
-       WHERE 
-       p.package_id=r.package_id
-       AND p.group_id='$group_id' 
-       AND p.package_id='$package_id'");
-if (!$res || db_numrows($res) < 1) {
+$rs =& $frsp->getReleases();
+if (count($rs) < 1) {
        
exit_error($Language->getText('general','error'),$Language->getText('project_admin_showreleases','no_release'));
 }
 
@@ -62,14 +83,17 @@
 
 echo $GLOBALS['HTML']->listTableTop ($title_arr);
 
-for ($i=0; $i<db_numrows($res); $i++) {
+for ($i=0; $i<count($rs); $i++) {
        echo '<tr '. $HTML->boxGetAltRowStyle($i) .'>
-                       <td>'.db_result($res,$i,'package_name').'</td>
+                       <td>'.$frsp->getName().'</td>
                        <td><a href="editrelease.php?group_id='.$group_id
                                .'&amp;package_id='.$package_id
-                               
.'&amp;release_id='.db_result($res,$i,'release_id').'">'. 
-                               db_result($res,$i,'name').' 
['.$Language->getText('general','edit').']</a></td><td>'.
-                               date('Y-m-d 
H:i',db_result($res,$i,'release_date')).'</td></tr>';
+                               .'&amp;release_id='.$rs[$i]->getID().'">'. 
+                               $rs[$i]->getName().' 
['.$Language->getText('general','edit').']</a>
+                               <a href="deleterelease.php?group_id='.$group_id
+                               .'&amp;package_id='.$package_id
+                               
.'&amp;release_id='.$rs[$i]->getID().'">['.$Language->getText('general','delete').']</td><td>'.
+                               date('Y-m-d 
H:i',$rs[$i]->getReleaseDate()).'</td></tr>';
 }
 
 echo $GLOBALS['HTML']->listTableBottom();





reply via email to

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