This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "FusionForge".

The branch, master has been updated
       via  65590558184ad8b027c1dfc881860114787a7308 (commit)
       via  557dc76a2090deeabbaf9d626ea839b1f9af58ec (commit)
      from  42292a3ed53f4c58e3958c4b55ddde3cc5c32e13 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=65590558184ad8b027c1dfc881860114787a7308

commit 65590558184ad8b027c1dfc881860114787a7308
Author: Franck Villaume <[email protected]>
Date:   Sun Jun 2 17:18:35 2019 +0200

    quota_management plugin: be able to update the quotas

diff --git a/src/plugins/quota_management/action/update.php 
b/src/plugins/quota_management/action/update.php
new file mode 100644
index 0000000..91a6ecd
--- /dev/null
+++ b/src/plugins/quota_management/action/update.php
@@ -0,0 +1,48 @@
+<?php
+/**
+ * Project Admin page to manage quotas disk and database
+ *
+ * Copyright 2005, Fabio Bertagnin
+ * Copyright 2011,2016, Franck Villaume - Capgemini
+ * Copyright 2019, Franck Villaume - TrivialDev
+ * http://fusionforge.org
+ *
+ * This file is part of FusionForge.
+ *
+ * FusionForge is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * FusionForge is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+global $quota_management;
+global $group_id;
+
+$_quota_block_size = trim(shell_exec('echo $BLOCK_SIZE')) + 0;
+if ($_quota_block_size == 0) $_quota_block_size = 1024;
+
+$type = getStringFromRequest('type');
+
+$qs = $_POST["qs"] * $_quota_block_size;
+$qh = $_POST["qh"] * $_quota_block_size;
+if ($qs > $qh) {
+       $error_msg = _('Input error: Hard quota must be greater than soft 
quota');
+} else {
+       db_query_params('UPDATE groups SET quota_soft = $1, quota_hard = $2 
WHERE group_id = $3',
+                       array($qs,
+                               $qh,
+                               getIntFromRequest('group_id')));
+       $feedback = _('Quota updated successfully');
+}
+
+$redirect_url = '/plugins/'.$quota_management->name.'/?type='.$type;
+session_redirect($redirect_url, false);
diff --git a/src/plugins/quota_management/view/quota.php 
b/src/plugins/quota_management/view/quota.php
index fa79a1b..6d56efa 100644
--- a/src/plugins/quota_management/view/quota.php
+++ b/src/plugins/quota_management/view/quota.php
@@ -41,10 +41,10 @@ $subMenuTitle = array();
 $subMenuUrl = array();
 $subMenuAttr = array();
 $subMenuTitle[] = _('Ressources usage and quota');
-$subMenuUrl[] = '/plugins/'.$quota_management->name.'/quota.php';
-$subMenuAttr[] = array('title' => _('View quota and usage per project.'));
+$subMenuUrl[] = '/plugins/'.$quota_management->name.'/?type=globaladmin';
+$subMenuAttr[] = array('title' => _('View quota and usage per project and 
user.'));
 $subMenuTitle[] = _('Admin');
-$subMenuUrl[] = '/plugins/'.$quota_management->name.'/quota_admin.php';
+$subMenuUrl[] = 
'/plugins/'.$quota_management->name.'/?type=globaladmin&view=admin';
 $subMenuAttr[] = array('title' => _('Administrate quotas per project.'));
 echo $HTML->subMenu($subMenuTitle, $subMenuUrl, $subMenuAttr);
 
diff --git a/src/plugins/quota_management/www/quota_admin.php 
b/src/plugins/quota_management/view/quota_admin.php
similarity index 79%
rename from src/plugins/quota_management/www/quota_admin.php
rename to src/plugins/quota_management/view/quota_admin.php
index da0beaf..5451d62 100644
--- a/src/plugins/quota_management/www/quota_admin.php
+++ b/src/plugins/quota_management/view/quota_admin.php
@@ -4,6 +4,7 @@
  *
  * Copyright 2005, Fabio Bertagnin
  * Copyright 2011,2016, Franck Villaume - Capgemini
+ * Copyright 2019, Franck Villaume - TrivialDev
  * http://fusionforge.org
  *
  * This file is part of FusionForge.
@@ -31,37 +32,19 @@ $cmd = getStringFromRequest('cmd');
 
 $quota_management = plugin_get_object('quota_management');
 
-$_quota_block_size = 1024;
-$_quota_block_size = trim(shell_exec("echo $BLOCK_SIZE")) + 0;
+$_quota_block_size = trim(shell_exec('echo $BLOCK_SIZE')) + 0;
 if ($_quota_block_size == 0) $_quota_block_size = 1024;
 
-site_admin_header(array('title'=>_('Site Admin')));
-
-?>
-<h4>
-       <?php echo 
util_make_link('/plugins/'.$quota_management->name.'/quota.php', _('Ressources 
usage and quota')); ?>
-       &nbsp;&nbsp;
-       <?php echo _('Quota Manager Admin'); ?>
-</h4>
-<?php
-
-// quota update
-if ($cmd == "maj")
-{
-       $qs = $_POST["qs"] * $_quota_block_size;
-       $qh = $_POST["qh"] * $_quota_block_size;
-       if ($qs > $qh) {
-               $message = utf8_encode(_('Input error: Hard quota must be 
greater than soft quota'));
-               echo "<h3 style=\"color:red\">$message</h3>";
-       } else {
-               db_query_params('UPDATE groups SET quota_soft = $1, quota_hard 
= $2 WHERE group_id = $3',
-                               array($qs,
-                                       $qh,
-                                       getIntFromRequest('group_id')));
-               $message = utf8_encode(_('Successfully updated quota'));
-               echo "<h3 style=\"color:red\">$message</h3>";
-       }
-}
+$subMenuTitle = array();
+$subMenuUrl = array();
+$subMenuAttr = array();
+$subMenuTitle[] = _('Ressources usage and quota');
+$subMenuUrl[] = '/plugins/'.$quota_management->name.'/?type=globaladmin';
+$subMenuAttr[] = array('title' => _('View quota and usage per project and 
user.'));
+$subMenuTitle[] = _('Admin');
+$subMenuUrl[] = 
'/plugins/'.$quota_management->name.'/?type=globaladmin&view=admin';
+$subMenuAttr[] = array('title' => _('Administrate quotas per project.'));
+echo $HTML->subMenu($subMenuTitle, $subMenuUrl, $subMenuAttr);
 
 // stock projects infos in array
 $quotas = array();
@@ -102,14 +85,13 @@ if (db_numrows($res_db) > 0) {
        {
                $total_database += $q["database_size"];
                $total_disk += $q["disk_size"];
-               echo $HTML->openForm(array('action' => 
'/plugins/'.$quota_management->name.'/quota_admin.php', 'method' => 'post'));
+               echo $HTML->openForm(array('action' => 
'/plugins/'.$quota_management->name.'/?type=globaladmin&action=update', 
'method' => 'post'));
                ?>
-               <input type="hidden" name="cmd" value="maj" />
                <input type="hidden" name="group_id" value="<?php echo 
$q["group_id"]; ?>" />
                <tr>
                        <td style="border-top:thin solid #808080"><?php echo 
$q["group_id"]; ?></td>
                        <td style="border-top:thin solid #808080">
-                       <?php echo 
util_make_link('/plugins/quota_management/index.php?id='.$q['group_id'].'&type=admin&pluginname='.$quota_management->name,
 $q['unix_name']) ?>
+                       <?php echo 
util_make_link('/plugins/quota_management/?group_id='.$q['group_id'].'&type=projectadmin',
 $q['unix_name']) ?>
                        </td>
                        <td style="border-top:thin solid #808080"><?php echo 
$q["name"]; ?></td>
                        <td style="border-top:thin solid #808080" align="right">
diff --git a/src/plugins/quota_management/www/index.php 
b/src/plugins/quota_management/www/index.php
index 2642b78..a2e3d07 100644
--- a/src/plugins/quota_management/www/index.php
+++ b/src/plugins/quota_management/www/index.php
@@ -26,7 +26,7 @@
 require_once dirname(__FILE__)."/../../env.inc.php";
 require_once $gfcommon.'include/pre.php';
 
-// the header that displays for the project portion of the plugin
+global $gfplugins;
 
 $user = session_get_user(); // get the session user
 
@@ -55,13 +55,17 @@ switch ($type) {
                $action = getStringFromRequest('action');
                $view = getStringFromRequest('view');
                switch ($action) {
-                       default:
+                       case 'update':
+                               
include($gfplugins.$quota_management->name.'/action/'.$action.'.php');
                                break;
                }
                $quota_management->getHeader($type);
                switch ($view) {
+                       case 'admin':
+                               include 
$gfplugins.$quota_management->name.'/view/quota_admin.php';
+                               break;
                        default:
-                               include 
$quota_management->name.'/view/quota.php';
+                               include 
$gfplugins.$quota_management->name.'/view/quota.php';
                                break;
                }
                break;
@@ -81,7 +85,7 @@ switch ($type) {
                switch ($view) {
                        default:
                                $quota_management->getHeader($type, $group_id);
-                               include 
$quota_management->name.'/view/quota_project.php';
+                               include 
$gfplugins.$quota_management->name.'/view/quota_project.php';
                                break;
                }
        }

https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=557dc76a2090deeabbaf9d626ea839b1f9af58ec

commit 557dc76a2090deeabbaf9d626ea839b1f9af58ec
Author: Franck Villaume <[email protected]>
Date:   Sun Jun 2 16:58:47 2019 +0200

    quota_management plugin: make basic report work. only some elements from 
the database are retrieved

diff --git 
a/src/plugins/quota_management/common/quota_managementPlugin.class.php 
b/src/plugins/quota_management/common/quota_managementPlugin.class.php
index ad3fc06..95bad08 100644
--- a/src/plugins/quota_management/common/quota_managementPlugin.class.php
+++ b/src/plugins/quota_management/common/quota_managementPlugin.class.php
@@ -29,11 +29,8 @@ class quota_managementPlugin extends Plugin {
                $this->name = "quota_management";
                $this->text = _("Quota Management"); // To show in the tabs, 
use...
                $this->pkg_desc =
-_("This is a quota_management plugin within FusionForge.");
-               $this->_addHook('groupisactivecheckbox'); // The "use ..." 
checkbox in editgroupinfo
-               $this->_addHook('groupisactivecheckboxpost'); //
-               $this->_addHook('userisactivecheckbox'); // The "use ..." 
checkbox in user account
-               $this->_addHook('userisactivecheckboxpost'); //
+_("This is a Quota Management plugin within FusionForge. Provide an easy way
+to monitor disk and database usage per user, project.");
                $this->_addHook('project_admin_plugins'); // to show up in the 
admin page fro group
                $this->_addHook('site_admin_option_hook'); // to show in admin
                $this->_addHook('groupadminmenu');
@@ -45,14 +42,9 @@ _("This is a quota_management plugin within FusionForge.");
                switch ($hookname) {
                        case "project_admin_plugins": {
                                // this displays the link in the project admin 
options page to it's  quota_management administration
-                               $group_id = $params['group_id'];
-                               $group = group_get_object($group_id);
-                               if ( $group->usesPlugin($this->name)) {
-                                       echo 
util_make_link('/plugins/quota_management/index.php?id='.$group->getID().'&type=admin&pluginname='.$this->name,
-                                                       _('View the 
quota_management Administration')
-                                               ) ;
-                                       echo '<br />';
-                               }
+                               echo 
util_make_link('/plugins/quota_management/index.php?group_id='.$params['group_id'].'&type=projectadmin',
+                                               _('View the Quota Management 
Administration'));
+                               echo '<br />';
                                $returned = true;
                                break;
                        }
@@ -62,13 +54,9 @@ _("This is a quota_management plugin within FusionForge.");
                                break;
                        }
                        case "groupadminmenu": {
-                               $group_id = $params['group'];
-                               $group = group_get_object($group_id);
-                               if ( $group->usesPlugin($this->name)) {
-                                       $params['labels'][] = _ ('Quota');
-                                       $params['links'][] = 
'/plugins/quota_management/index.php?id='.$group_id.'&type=admin&pluginname='.$this->name;
-                                       $params['attr_r'][] = array('title' => 
_('View the quota_management Administration'));
-                               }
+                               $params['labels'][] = _ ('Quota');
+                               $params['links'][] = 
'/plugins/quota_management/index.php?group_id='.$params['group'].'&type=projectadmin';
+                               $params['attr_r'][] = array('title' => _('View 
the Quota Management Administration'));
                                $returned = true;
                                break;
                        }
@@ -77,20 +65,7 @@ _("This is a quota_management plugin within FusionForge.");
        }
 
        function getAdminOptionLink() {
-               return util_make_link('/plugins/'.$this->name.'/quota.php', 
_('Ressources usage and quota'));
-       }
-
-       function convert_bytes_to_mega($mega) {
-               $b = round($mega / (1024*1024), 2);
-               return $b;
-       }
-
-       function add_numbers_separator($val, $sep=' ') {
-               $size = "$val";
-               $size = strrev($size);
-               $size = wordwrap($size, 3, $sep, 1);
-               $size = strrev($size);
-               return $size;
+               return 
util_make_link('/plugins/'.$this->name.'/index.php?type=globaladmin', 
_('Ressources usage and quota'));
        }
 
        function get_dir_size($dir) {
@@ -102,14 +77,33 @@ _("This is a quota_management plugin within FusionForge.");
                return "$size";
        }
 
-       function quota_management_Project_Header($params) {
-               global $id;
-               $params['toptab'] = 'quota_management';
-               $params['group'] = $id;
-               /*
-               Show horizontal links
-               */
-               site_project_header($params);
+       function getHeader($type, $group_id = 0) {
+               switch ($type) {
+                       case 'globaladmin': {
+                               global $gfwww;
+                               require_once $gfwww.'admin/admin_utils.php';
+                               site_admin_header(array('title'=>_('Quota and 
Usage Admin')));
+                               break;
+                       }
+                       case 'projectadmin': {
+                               global $gfwww;
+                               require_once 
$gfwww.'project/admin/project_admin_utils.php';
+                               project_admin_header(array('title' => 
sprintf(_('Quota Management for %s'), group_getname($group_id)), 'group' => 
$group_id));
+                               break;
+                       }
+               }
+       }
+
+       function getDocumentsSizeQuery() {
+               return db_query_params('SELECT doc_data.group_id, 
SUM(doc_data_version.filesize) as size, 
SUM(octet_length(doc_data_version.data_words)) as size1
+                                       FROM doc_data, doc_data_version WHERE 
doc_data.docid = doc_data_version.docid GROUP BY doc_data.group_id',
+                       array());
+       }
+
+       function getDocumentsSizeForProject($group_id) {
+               return db_query_params('SELECT doc_data.group_id, 
SUM(doc_data_version.filesize) as size, 
SUM(octet_length(doc_data_version.data_words)) as size1, 
count(doc_data_version.serial_id) as nb
+                                       FROM doc_data, doc_data_version WHERE 
doc_data.docid = doc_data_version.docid AND doc_data.group_id = $1 GROUP BY 
doc_data.group_id',
+                       array($group_id));
        }
 }
 
diff --git a/src/plugins/quota_management/www/quota.php 
b/src/plugins/quota_management/view/quota.php
similarity index 74%
rename from src/plugins/quota_management/www/quota.php
rename to src/plugins/quota_management/view/quota.php
index b1bfd79..fa79a1b 100644
--- a/src/plugins/quota_management/www/quota.php
+++ b/src/plugins/quota_management/view/quota.php
@@ -4,6 +4,7 @@
  *
  * Copyright 2005, Fabio Bertagnin
  * Copyright 2011,2016, Franck Villaume - Capgemini
+ * Copyright 2019, Franck Villaume - TrivialDev
  * http://fusionforge.org
  *
  * This file is part of FusionForge.
@@ -27,20 +28,26 @@ require_once dirname(__FILE__)."/../../env.inc.php";
 require_once $gfcommon.'include/pre.php';
 require_once $gfwww.'admin/admin_utils.php';
 
+session_require_global_perm('forge_admin');
+
+global $HTML;
+
 $quota_management = plugin_get_object('quota_management');
 
-$_quota_block_size = 1024;
-$_quota_block_size = trim(shell_exec("echo $BLOCK_SIZE")) + 0;
+$_quota_block_size = trim(shell_exec('echo $BLOCK_SIZE')) + 0;
 if ($_quota_block_size == 0) $_quota_block_size = 1024;
 
-site_admin_header(array('title'=>_('Site Admin')));
-?>
-<h4>
-       <?php echo _('Ressources usage and quota'); ?>
-       &nbsp;&nbsp;&nbsp;&nbsp;
-       <?php echo 
util_make_link('/plugins/'.$quota_management->name.'/quota_admin.php', 
_('Admin')) ?>
-</h4>
-<?php
+$subMenuTitle = array();
+$subMenuUrl = array();
+$subMenuAttr = array();
+$subMenuTitle[] = _('Ressources usage and quota');
+$subMenuUrl[] = '/plugins/'.$quota_management->name.'/quota.php';
+$subMenuAttr[] = array('title' => _('View quota and usage per project.'));
+$subMenuTitle[] = _('Admin');
+$subMenuUrl[] = '/plugins/'.$quota_management->name.'/quota_admin.php';
+$subMenuAttr[] = array('title' => _('Administrate quotas per project.'));
+echo $HTML->subMenu($subMenuTitle, $subMenuUrl, $subMenuAttr);
+
 // stock projects infos in array
 $quotas = array();
 
@@ -62,31 +69,36 @@ if (db_numrows($res_db) > 0) {
 }
 
 // documents database size
-$res_db = db_query_params('SELECT group_id, SUM(octet_length(data)) as size, 
SUM(octet_length(data_words)) as size1 FROM doc_data GROUP BY group_id ',
-                       array());
-if (db_numrows($res_db) > 0) {
-       while($e = db_fetch_array($res_db)) {
-               $q = array();
-               $quotas["$e[group_id]"]["database_size"] += $e["size"];
-               $quotas["$e[group_id]"]["database_size"] += $e["size1"];
+if (forge_get_config('use_docman')) {
+       $res_db = $quota_management->getDocumentsSizeQuery();
+       if (db_numrows($res_db) > 0) {
+               while($e = db_fetch_array($res_db)) {
+                       $q = array();
+                       $quotas["$e[group_id]"]["database_size"] += $e["size"];
+                       $quotas["$e[group_id]"]["database_size"] += $e["size1"];
+               }
        }
 }
 
 // news database size
-$res_db = db_query_params('SELECT group_id, SUM(octet_length(summary) + 
octet_length(details)) as size FROM news_bytes GROUP BY group_id',
-                       array());
-if (db_numrows($res_db) > 0) {
-       while($e = db_fetch_array($res_db)) {
-               $quotas["$e[group_id]"]["database_size"] += $e["size"];
+       if (forge_get_config('use_news')) {
+       $res_db = db_query_params('SELECT group_id, SUM(octet_length(summary) + 
octet_length(details)) as size FROM news_bytes GROUP BY group_id',
+                               array());
+       if (db_numrows($res_db) > 0) {
+               while($e = db_fetch_array($res_db)) {
+                       $quotas["$e[group_id]"]["database_size"] += $e["size"];
+               }
        }
 }
 
 // forums database size
-$res_db = db_query_params('SELECT forum_group_list.group_id as group_id, 
SUM(octet_length(subject)+octet_length(body)) as size FROM forum INNER JOIN 
forum_group_list ON forum.group_forum_id = forum_group_list.group_forum_id 
GROUP BY group_id',
-                       array ());
-if (db_numrows($res_db) > 0) {
-       while($e = db_fetch_array($res_db)) {
-               $quotas["$e[group_id]"]["database_size"] += 
$quota_management->convert_bytes_to_mega($e["size"]);
+if (forge_get_config('use_forums')) {
+       $res_db = db_query_params('SELECT forum_group_list.group_id as 
group_id, SUM(octet_length(subject)+octet_length(body)) as size FROM forum 
INNER JOIN forum_group_list ON forum.group_forum_id = 
forum_group_list.group_forum_id GROUP BY group_id',
+                               array ());
+       if (db_numrows($res_db) > 0) {
+               while($e = db_fetch_array($res_db)) {
+                       $quotas["$e[group_id]"]["database_size"] += $e["size"];
+               }
        }
 }
 
@@ -96,7 +108,6 @@ $ftp_dir = forge_get_config('ftp_upload_dir')."/pub/";
 $upload_dir = forge_get_config('upload_dir');
 $group_dir = $chroot_dir.forge_get_config('groupdir_prefix')."/";
 $cvs_dir = $chroot_dir.$cvsdir_prefix."/";
-$svn_dir = $chroot_dir.$svndir_prefix."/";
 
 foreach ($quotas as $p) {
        $group_id = $p["group_id"];
@@ -117,7 +128,7 @@ foreach ($quotas as $p) {
        $size = $quota_management->get_dir_size($dir);
        $quotas["$group_id"]["disk_size_scm"] += $size;
        // svn dir disk space
-       $dir = $svn_dir.$p["unix_name"];
+       $dir = forge_get_config('repos_path', 'scmsvn').'/'.$p["unix_name"];
        $size = $quota_management->get_dir_size($dir);
        $quotas["$group_id"]["disk_size_scm"] += $size;
 }
@@ -146,7 +157,7 @@ foreach ($users as $u)
        $user_id = $u["user_id"];
        $dir = $ftp_dir .  $u["user_name"];
        $size = $quota_management->get_dir_size($dir);
-       $users["$user_id"]["disk_size"] += 
$quota_management->convert_bytes_to_mega($size);
+       $users["$user_id"]["disk_size"] += human_readable_bytes($size);
 }
 
 ?>
@@ -235,38 +246,31 @@ foreach ($users as $u)
                <tr>
                        <td style="border-top:thin solid 
#808080;background:<?php echo $color2; ?>"><?php echo $q["group_id"]; ?></td>
                        <td style="border-top:thin solid 
#808080;background:<?php echo $color2; ?>">
-                               <?php echo 
util_make_link('/plugins/'.$quota_management->name.'/quota_project.php?group_id='.$q['group_id'],
 $q['unix_name']); ?>
+                               <?php echo 
util_make_link('/plugins/'.$quota_management->name.'/?type=projectadmin&group_id='.$q['group_id'],
 $q['unix_name']); ?>
                        </td>
                        <td style="border-top:thin solid 
#808080;background:<?php echo $color2; ?>">
                                <?php echo $q["name"]; ?>
                        </td>
                        <td style="border-top:thin solid 
#808080;background:<?php echo $color1; ?>" align="right">
-                               <?php echo 
$quota_management->add_numbers_separator($quota_management->convert_bytes_to_mega($q["database_size"]));
 ?>
-                               <?php echo _('MB'); ?>
+                               <?php echo 
human_readable_bytes($q["database_size"]); ?>
                        </td>
                        <td style="border-top:thin solid 
#808080;background:<?php echo $color0; ?>" align="right">
-                               <?php echo 
$quota_management->add_numbers_separator($quota_management->convert_bytes_to_mega($q["disk_size_1"]));
 ?>
-                               <?php echo _('MB'); ?>
+                               <?php echo 
human_readable_bytes($q["disk_size_1"]); ?>
                        </td>
                        <td style="border-top:thin solid 
#808080;background:<?php echo $color0; ?>" align="right">
-                               <?php echo 
$quota_management->add_numbers_separator($quota_management->convert_bytes_to_mega($q["disk_size_scm"]));
 ?>
-                               <?php echo _('MB'); ?>
+                               <?php echo 
human_readable_bytes($q["disk_size_scm"]); ?>
                        </td>
                        <td style="border-top:thin solid 
#808080;background:<?php echo $color1; ?>" align="right">
-                               <?php echo 
$quota_management->add_numbers_separator($quota_management->convert_bytes_to_mega($q["disk_size_other"]));
 ?>
-                               <?php echo _('MB'); ?>
+                               <?php echo 
human_readable_bytes($q["disk_size_other"]); ?>
                        </td>
                        <td style="border-top:thin solid 
#808080;background:<?php echo $color1; ?>;font-weight:bold" align="right">
-                               <?php echo 
$quota_management->add_numbers_separator($quota_management->convert_bytes_to_mega($local_disk_size));
 ?>
-                               <?php echo _('MB'); ?>
+                               <?php echo 
human_readable_bytes($local_disk_size); ?>
                        </td>
                        <td style="border-top:thin solid 
#808080;background:<?php echo $colorq; ?>" align="right">
                                <?php
                                        if ($q["quota_soft"] > 0)
                                        {
-                                               echo 
$quota_management->add_numbers_separator($quota_management->convert_bytes_to_mega($q["quota_soft"]));
-                                               echo " ";
-                                               echo _('MB');
+                                               echo 
human_readable_bytes($q["quota_soft"]);
                                        }
                                        else
                                        {
@@ -278,9 +282,7 @@ foreach ($users as $u)
                                <?php
                                        if ($q["quota_hard"] > 0)
                                        {
-                                               echo 
$quota_management->add_numbers_separator($quota_management->convert_bytes_to_mega($q["quota_hard"]));
-                                               echo " ";
-                                               echo _('MB');
+                                               echo 
human_readable_bytes($q["quota_hard"]);
                                        }
                                        else
                                        {
@@ -299,24 +301,19 @@ foreach ($users as $u)
                </td>
                <td style="border-top:thick solid #808080;border-bottom:thick 
solid #808080"><br /></td>
                <td style="border-top:thick solid #808080;border-bottom:thick 
solid #808080;background:#e0e0e0" align="right">
-                       <?php echo 
$quota_management->add_numbers_separator($quota_management->convert_bytes_to_mega($total_database));
 ?>
-                       <?php echo _('MB'); ?>
+                       <?php echo human_readable_bytes($total_database); ?>
                </td>
                <td style="border-top:thick solid #808080;border-bottom:thick 
solid #808080;background:#e0e0e0" align="right">
-                       <?php echo 
$quota_management->add_numbers_separator($quota_management->convert_bytes_to_mega($total_disk_1));
 ?>
-                       <?php echo _('MB'); ?>
+                       <?php echo human_readable_bytes($total_disk_1); ?>
                </td>
                <td style="border-top:thick solid #808080;border-bottom:thick 
solid #808080;background:#e0e0e0" align="right">
-                       <?php echo 
$quota_management->add_numbers_separator($quota_management->convert_bytes_to_mega($total_disk_scm));
 ?>
-                       <?php echo _('MB'); ?>
+                       <?php echo human_readable_bytes($total_disk_scm); ?>
                </td>
                <td style="border-top:thick solid #808080;border-bottom:thick 
solid #808080;background:#e0e0e0" align="right">
-                       <?php echo 
$quota_management->add_numbers_separator($quota_management->convert_bytes_to_mega($total_disk_other));
 ?>
-                       <?php echo _('MB'); ?>
+                       <?php echo human_readable_bytes($total_disk_other); ?>
                </td>
                <td style="border-top:thick solid #808080;border-bottom:thick 
solid #808080;background:#e0e0e0" align="right">
-                       <?php echo 
$quota_management->add_numbers_separator($quota_management->convert_bytes_to_mega($total_database+$total_disk_1+$total_disk_scm+$total_disk_other));
 ?>
-                       <?php echo _('MB'); ?>
+                       <?php echo 
human_readable_bytes($total_database+$total_disk_1+$total_disk_scm+$total_disk_other);
 ?>
                </td>
                <td style="border-top:thick solid #808080;border-bottom:thick 
solid #808080"><br /></td>
                <td style="border-top:thick solid #808080;border-bottom:thick 
solid #808080"><br /></td>
@@ -353,8 +350,7 @@ foreach ($users as $u)
                        <td style="border-top:thin solid #808080"><br /></td>
                        <td style="border-top:thin solid #808080"><br /></td>
                        <td style="border-top:thin solid #808080" align="right">
-                               <?php echo 
$quota_management->add_numbers_separator($u["disk_size"]); ?>
-                               <?php echo _('MB'); ?>
+                               <?php echo $u["disk_size"]; ?>
                        </td>
                </tr>
                <?php
@@ -369,8 +365,7 @@ foreach ($users as $u)
                <td style="border-top:thick solid #808080;border-bottom:thick 
solid #808080"><br /></td>
                <td style="border-top:thick solid #808080;border-bottom:thick 
solid #808080"><br /></td>
                <td style="border-top:thick solid #808080;border-bottom:thick 
solid #808080" align="right">
-                       <?php echo 
$quota_management->add_numbers_separator($total); ?>
-                       <?php echo _('MB'); ?>
+                       <?php echo $total; ?>
                </td>
        </tr>
 </table>
diff --git a/src/plugins/quota_management/www/quota_project.php 
b/src/plugins/quota_management/view/quota_project.php
similarity index 76%
rename from src/plugins/quota_management/www/quota_project.php
rename to src/plugins/quota_management/view/quota_project.php
index ea5d157..a8529ca 100644
--- a/src/plugins/quota_management/www/quota_project.php
+++ b/src/plugins/quota_management/view/quota_project.php
@@ -7,6 +7,7 @@
  * Copyright 2005, Fabio Bertagnin
  * Copyright 2010 (c) FusionForge Team
  * Copyright 2011, Franck Villaume - Capgemini
+ * Copyright 2019, Franck Villaume - TrivialDev
  * http://fusionforge.org/
  *
  * This file is part of FusionForge.
@@ -30,12 +31,12 @@ require_once dirname(__FILE__)."/../../env.inc.php";
 require_once $gfcommon.'include/pre.php';
 require_once $gfwww.'project/admin/project_admin_utils.php';
 
-$id = getIntFromRequest('group_id');
-$quota_management = plugin_get_object('quota_management');
+global $group_id;
+global $quota_management;
 
-session_require_perm('project_admin', $id);
+session_require_perm('project_admin', $group_id);
 
-$group = group_get_object($id);
+$group = group_get_object($group_id);
 
 if (!$group || !is_object($group)) {
        exit_no_group();
@@ -43,67 +44,65 @@ if (!$group || !is_object($group)) {
        exit_error($group->getErrorMessage(), 'home');
 }
 
-project_admin_header(array('title'=>_('Project quota 
manager'),'group'=>$group->getID(),'pagename'=>'project_admin_quotas','sectionvals'=>array(group_getname($id))));
-?>
-
-<h4><?php echo _('Project quota manager'); ?></h4>
-
-<?php
 $quotas = array();
-$res_db = db_query_params('SELECT SUM(octet_length(data)) as size, 
SUM(octet_length(data_words)) as size1, count(*) as nb FROM doc_data WHERE 
group_id = $1 ',
-                       array ($id));
-$q = array();
-$q["name"] = _('Documents');
-$q["nb"] = 0; $q["size"] = 0;
-$q1 = array();
-$q1["name"] = _('Documents search engine');
-$q1["size"] = 0;
-if (db_numrows($res_db) > 0) {
-       $e = db_fetch_array($res_db);
-       $q["nb"] = $e["nb"];
-       $q["size"] = $e["size"];
-       // $q1["nb"] = $e["nb"];
-       $q1["size"] = $e["size1"];
+if ($group->usesDocman()) {
+       $res_db = $quota_management->getDocumentsSizeForProject($group_id);
+       $q = array();
+       $q["name"] = _('Documents');
+       $q["nb"] = 0; $q["size"] = 0;
+       $q1 = array();
+       $q1["name"] = _('Documents search engine');
+       $q1["size"] = 0;
+       if (db_numrows($res_db) > 0) {
+               $e = db_fetch_array($res_db);
+               $q["nb"] = $e["nb"];
+               $q["size"] = $e["size"];
+               $q1["nb"] = $e["nb"];
+               $q1["size"] = $e["size1"];
+       }
+       $quotas[0] = $q;
+       $quotas[1] = $q1;
 }
-$quotas[0] = $q;
-$quotas[1] = $q1;
 
-$res_db = db_query_params('SELECT SUM(octet_length(summary) + 
octet_length(details)) as size, count(*) as nb FROM news_bytes WHERE group_id = 
$1 ',
-                       array ($id));
-$q = array();
-$q["name"] = _('News');
-$q["nb"] = 0; $q["size"] = 0;
-if (db_numrows($res_db) > 0)
-{
-       $e = db_fetch_array($res_db);
-       $q["nb"] = $e["nb"];
-       $q["size"] = $e["size"];
+if ($group->usesNews()) {
+       $res_db = db_query_params('SELECT SUM(octet_length(summary) + 
octet_length(details)) as size, count(*) as nb FROM news_bytes WHERE group_id = 
$1 ',
+                               array ($group_id));
+       $q = array();
+       $q["name"] = _('News');
+       $q["nb"] = 0; $q["size"] = 0;
+       if (db_numrows($res_db) > 0)
+       {
+               $e = db_fetch_array($res_db);
+               $q["nb"] = $e["nb"];
+               $q["size"] = $e["size"];
+       }
+       $quotas[2] = $q;
 }
-$quotas[2] = $q;
 
-$res_db = db_query_params('SELECT 
SUM(octet_length(subject)+octet_length(body)) as size, count(*) as nb FROM 
forum INNER JOIN forum_group_list ON forum.group_forum_id = 
forum_group_list.group_forum_id WHERE group_id = $1 ',
-                       array ($id));
-$q = array();
-$q["name"] = _('Forums');
-$q["nb"] = 0; $q["size"] = 0;
-if (db_numrows($res_db) > 0) {
-       $e = db_fetch_array($res_db);
-       $q["nb"] = $e["nb"];
-       $q["size"] = $e["size"];
+if ($group->usesForum()) {
+       $res_db = db_query_params('SELECT 
SUM(octet_length(subject)+octet_length(body)) as size, count(*) as nb FROM 
forum INNER JOIN forum_group_list ON forum.group_forum_id = 
forum_group_list.group_forum_id WHERE group_id = $1 ',
+                               array ($group_id));
+       $q = array();
+       $q["name"] = _('Forums');
+       $q["nb"] = 0; $q["size"] = 0;
+       if (db_numrows($res_db) > 0) {
+               $e = db_fetch_array($res_db);
+               $q["nb"] = $e["nb"];
+               $q["size"] = $e["size"];
+       }
+       $quotas[3] = $q;
 }
-$quotas[3] = $q;
 
 $quotas_disk = array();
 
 // espace disque
 // disk_total_space
-$_quota_block_size = 1024;
-$_quota_block_size = trim(shell_exec("echo $BLOCK_SIZE")) + 0;
+$_quota_block_size = trim(shell_exec('echo $BLOCK_SIZE')) + 0;
 if ($_quota_block_size == 0) $_quota_block_size = 1024;
 $quota_soft = "";
 $quota_hard = "";
 $res_db = db_query_params('SELECT quota_soft, quota_hard FROM groups WHERE 
group_id = $1',
-                       array($id));
+                       array($group_id));
 if (db_numrows($res_db) > 0) {
        $e = db_fetch_array($res_db);
        $quota_hard = $e["quota_hard"];
@@ -117,11 +116,10 @@ $quota_tot_1 = 0;
 $quota_tot_scm = 0;
 
 $upload_dir = forge_get_config('upload_dir') . $group->getUnixName();
-$chroot_dir = forge_get_config('chroot');
 $ftp_dir = forge_get_config('ftp_upload_dir')."/pub/".$group->getUnixName();
-$group_dir = $chroot_dir.forge_get_config('groupdir_prefix') . "/" . 
$group->getUnixName();
-$cvs_dir = $chroot_dir.$cvsdir_prefix . "/" . $group->getUnixName();
-$svn_dir = $chroot_dir.$svndir_prefix . "/" . $group->getUnixName();
+$group_dir = forge_get_config('groupdir_prefix') . "/" . $group->getUnixName();
+$cvs_dir = forge_get_config('repos_path', 'scmcvs') . "/" . 
$group->getUnixName();
+$svn_dir = forge_get_config('repos_path', 'scmsvn') . "/" . 
$group->getUnixName();
 
 $q["name"] = _('Download project directory');
 $q["path"] = "$upload_dir";
@@ -174,7 +172,7 @@ foreach ($quotas as $q) {
                        <tr>
                                <td style="border-top:thin solid #808080"><?php 
echo $q["name"]; ?></td>
                                <td style="border-top:thin solid #808080" 
align="right"><?php echo $q["nb"]; ?></td>
-                               <td style="border-top:thin solid #808080" 
align="right"><?php echo 
$quota_management->add_numbers_separator($quota_management->convert_bytes_to_mega($q["size"]))."
 "._('MB'); ?></td>
+                               <td style="border-top:thin solid #808080" 
align="right"><?php echo human_readable_bytes($q["size"]); ?></td>
                        </tr>
 <?php
        }
@@ -186,7 +184,7 @@ foreach ($quotas as $q) {
                </td>
                <td style="border-top:thick solid #808080;border-bottom:thick 
solid #808080">&nbsp;</td>
                <td style="border-top:thick solid #808080;border-bottom:thick 
solid #808080" align="right">
-                       <?php echo 
$quota_management->add_numbers_separator($quota_management->convert_bytes_to_mega($sizetot))."
 "._('MB'); ?>
+                       <?php echo human_readable_bytes($sizetot); ?>
                </td>
        </tr>
 </table>
@@ -219,7 +217,7 @@ foreach ($quotas_disk as $q) {
                        <?php echo $q["quota_label"]; ?>&nbsp;
                </td>
                <td style="border-top:thin solid #808080" align="right">
-                       <?php echo 
$quota_management->add_numbers_separator($quota_management->convert_bytes_to_mega($q["size"]))."
 "._('MB'); ?>
+                       <?php echo human_readable_bytes($q["size"]); ?>
                </td>
        </tr>
 <?php
@@ -230,7 +228,7 @@ foreach ($quotas_disk as $q) {
                <td style="border-top:thick solid #808080;border-bottom:thick 
solid #808080"><?php echo _('Total'); ?></td>
                <td style="border-top:thick solid #808080;border-bottom:thick 
solid #808080">&nbsp;</td>
                <td style="border-top:thick solid #808080;border-bottom:thick 
solid #808080" align="right">
-                       <?php echo 
$quota_management->add_numbers_separator($quota_management->convert_bytes_to_mega($sizetot))."
 "._('MB'); ?>
+                       <?php echo human_readable_bytes($sizetot); ?>
                </td>
        </tr>
 </table>
diff --git a/src/plugins/quota_management/www/index.php 
b/src/plugins/quota_management/www/index.php
index 34ab6fc..2642b78 100644
--- a/src/plugins/quota_management/www/index.php
+++ b/src/plugins/quota_management/www/index.php
@@ -3,6 +3,7 @@
  * Copyright 2005, Fabio Bertagnin
  * Copyright 2011, Franck Villaume - Capgemini
  * Copyright (C) 2012 Alain Peyrat - Alcatel-Lucent
+ * Copyright 2019, Franck Villaume - TrivialDev
  * http://fusionforge.org
  *
  * This file is part of FusionForge.
@@ -38,53 +39,54 @@ if (!$user || !is_object($user)) {
 }
 
 $type = getStringFromRequest('type');
-$id = getStringFromRequest('id');
-$pluginname = getStringFromRequest('pluginname');
-$quota_management = plugin_get_object($pluginname);
 
 if (!$type) {
-       exit_missing_param($_SERVER['HTTP_REFERER'],array(_('No TYPE 
specified')),'home');
-} elseif (!$id) {
-       exit_missing_param($_SERVER['HTTP_REFERER'],array(_('No ID 
specified')),'home');
-} else {
-       if ($type == 'group') {
-               $group = group_get_object($id);
-               if ( !$group) {
-                       exit_no_group();
-               }
-               if (!$group->usesPlugin($pluginname)) {//check if the group has 
the quota_management plugin active
-                       exit_error(sprintf(_('First activate the %s plugin 
through the Project\'s Admin Interface'),$pluginnname),'home');
+       exit_missing_param($_SERVER['HTTP_REFERER'], array('No TYPE 
specified'), 'quota_management');
+}
+
+$quota_management = plugin_get_object('quota_management');
+
+switch ($type) {
+       case 'globaladmin': {
+               if (!session_loggedin()) {
+                       exit_not_logged_in();
                }
-               $userperm = $group->getPermission();//we'll check if the user 
belongs to the group (optional)
-               if (!$userperm->IsMember()) {
-                       exit_permission_denied(_('You are not a member of this 
project'),'home');
+               session_require_global_perm('forge_admin');
+               $action = getStringFromRequest('action');
+               $view = getStringFromRequest('view');
+               switch ($action) {
+                       default:
+                               break;
                }
-               
$quota_management->quota_management_Project_Header(array('title'=>$pluginname . 
' Project 
Plugin!','pagename'=>"$pluginname",'sectionvals'=>array(group_getname($id))));
-               include 'quota_management/www/quota_project.php';
-       } elseif ($type == 'admin') {
-               $group = group_get_object($id);
-               if ( !$group) {
-                       exit_no_group();
+               $quota_management->getHeader($type);
+               switch ($view) {
+                       default:
+                               include 
$quota_management->name.'/view/quota.php';
+                               break;
                }
-               if ( ! ($group->usesPlugin ( $pluginname )) ) {//check if the 
group has the quota_management plugin active
-                       exit_error(sprintf(_('First activate the %s plugin 
through the Project\'s Admin Interface'),$pluginnname),'home');
+               break;
+       }
+       case 'projectadmin': {
+               if (!session_loggedin()) {
+                       exit_not_logged_in();
                }
-               $userperm = $group->getPermission();//we'll check if the user 
belongs to the group
-               if ( !$userperm->IsMember()) {
-                       exit_permission_denied(_('You are not a member of this 
project'),'home');
+               $group_id = getIntFromRequest('group_id');
+               session_require_perm('project_admin', $group_id);
+               $action = getStringFromRequest('action');
+               $view = getStringFromRequest('view');
+               switch ($action) {
+                       default:
+                               break;
                }
-               //only project admin can access here
-               if ( $userperm->isAdmin() ) {
-                       
$quota_management->quota_management_Project_Header(array('title'=>$pluginname . 
' Project 
Plugin!','pagename'=>"$pluginname",'sectionvals'=>array(group_getname($id))));
-                       include 'quota_management/www/quota_project.php';
-               } else {
-                       exit_permission_denied(_('You are not Admin of this 
project'), 'home');
+               switch ($view) {
+                       default:
+                               $quota_management->getHeader($type, $group_id);
+                               include 
$quota_management->name.'/view/quota_project.php';
+                               break;
                }
        }
 }
 
-site_project_footer();
-
 // Local Variables:
 // mode: php
 // c-file-style: "bsd"

-----------------------------------------------------------------------

Summary of changes:
 src/plugins/quota_management/action/update.php     |  48 +++++++++
 .../common/quota_managementPlugin.class.php        |  78 +++++++-------
 .../quota_management/{www => view}/quota.php       | 117 ++++++++++-----------
 .../quota_management/{www => view}/quota_admin.php |  46 +++-----
 .../{www => view}/quota_project.php                | 114 ++++++++++----------
 src/plugins/quota_management/www/index.php         |  80 +++++++-------
 6 files changed, 253 insertions(+), 230 deletions(-)
 create mode 100644 src/plugins/quota_management/action/update.php
 rename src/plugins/quota_management/{www => view}/quota.php (74%)
 rename src/plugins/quota_management/{www => view}/quota_admin.php (79%)
 rename src/plugins/quota_management/{www => view}/quota_project.php (76%)


hooks/post-receive
-- 
FusionForge

_______________________________________________
Fusionforge-commits mailing list
[email protected]
http://lists.fusionforge.org/cgi-bin/mailman/listinfo/fusionforge-commits

Reply via email to