Moved redundant code into single function, refs #814
Signed-off-by: Florian Aders (EleRas) <eleras@froxlor.org>
This commit is contained in:
53
lib/functions/froxlor/function.getFilesystemQuota.php
Normal file
53
lib/functions/froxlor/function.getFilesystemQuota.php
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This file is part of the Froxlor project.
|
||||||
|
* Copyright (c) 2011 the Froxlor Team (see authors).
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the COPYING
|
||||||
|
* file that was distributed with this source code. You can also view the
|
||||||
|
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
*
|
||||||
|
* @copyright (c) the authors
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2011-)
|
||||||
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
* @package Functions
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
function getFilesystemQuota()
|
||||||
|
{
|
||||||
|
global $settings;
|
||||||
|
if ($settings['system']['diskquota_enabled'])
|
||||||
|
{
|
||||||
|
# Fetch all quota in the desired partition
|
||||||
|
exec($settings['system']['diskquota_repquota_path'] . " -np " . escapeshellarg($settings['system']['diskquota_customer_partition']), $repquota);
|
||||||
|
|
||||||
|
$usedquota = array();
|
||||||
|
foreach ($repquota as $tmpquota)
|
||||||
|
{
|
||||||
|
# Let's see if the line matches a quota - line
|
||||||
|
if (preg_match('/^#([0-9]+)\s*[+-]{2}\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)/i', $tmpquota, $matches))
|
||||||
|
{
|
||||||
|
# It matches - put it into an array with userid as key (for easy lookup later)
|
||||||
|
$usedquota[$matches[1]] = array(
|
||||||
|
'block' => array(
|
||||||
|
'used' => $matches[2],
|
||||||
|
'soft' => $matches[3],
|
||||||
|
'hard' => $matches[4],
|
||||||
|
'grace' => $matches[5]
|
||||||
|
),
|
||||||
|
'file' => array(
|
||||||
|
'used' => $matches[6],
|
||||||
|
'soft' => $matches[7],
|
||||||
|
'hard' => $matches[8],
|
||||||
|
'grace' => $matches[9]
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $usedquota;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
@@ -471,32 +471,7 @@ while($row = $db->fetch_array($result_tasks))
|
|||||||
fwrite($debugHandler, ' cron_tasks: Task10 started - setting filesystem quota' . "\n");
|
fwrite($debugHandler, ' cron_tasks: Task10 started - setting filesystem quota' . "\n");
|
||||||
$cronlog->logAction(CRON_ACTION, LOG_INFO, 'Task10 started - setting filesystem quota');
|
$cronlog->logAction(CRON_ACTION, LOG_INFO, 'Task10 started - setting filesystem quota');
|
||||||
|
|
||||||
# Fetch all quota in the desired partition
|
$usedquota = getFilesystemQuota();
|
||||||
exec($settings['system']['diskquota_repquota_path'] . " -np " . escapeshellarg($settings['system']['diskquota_customer_partition']), $repquota);
|
|
||||||
|
|
||||||
$usedquota = array();
|
|
||||||
foreach ($repquota as $tmpquota)
|
|
||||||
{
|
|
||||||
# Let's see if the line matches a quota - line
|
|
||||||
if (preg_match('/^#([0-9]+)\s*[+-]{2}\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)/i', $tmpquota, $matches))
|
|
||||||
{
|
|
||||||
# It matches - put it into an array with userid as key (for easy lookup later)
|
|
||||||
$usedquota[$matches[1]] = array(
|
|
||||||
'block' => array(
|
|
||||||
'used' => $matches[2],
|
|
||||||
'soft' => $matches[3],
|
|
||||||
'hard' => $matches[4],
|
|
||||||
'grace' => $matches[5]
|
|
||||||
),
|
|
||||||
'file' => array(
|
|
||||||
'used' => $matches[6],
|
|
||||||
'soft' => $matches[7],
|
|
||||||
'hard' => $matches[8],
|
|
||||||
'grace' => $matches[9]
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Select all customers Froxlor knows about
|
# Select all customers Froxlor knows about
|
||||||
$result = $db->query("SELECT `guid`, `loginname`, `diskspace` FROM `" . TABLE_PANEL_CUSTOMERS . "`;");
|
$result = $db->query("SELECT `guid`, `loginname`, `diskspace` FROM `" . TABLE_PANEL_CUSTOMERS . "`;");
|
||||||
|
|||||||
@@ -105,33 +105,9 @@ $db_root->close();
|
|||||||
# We are using the file-system quota, this will speed up the diskusage - collection
|
# We are using the file-system quota, this will speed up the diskusage - collection
|
||||||
if ($settings['system']['diskquota_enabled'])
|
if ($settings['system']['diskquota_enabled'])
|
||||||
{
|
{
|
||||||
# Fetch all quota in the desired partition
|
$usedquota = getFilesystemQuota();
|
||||||
exec($settings['system']['diskquota_repquota_path'] . " -np " . $settings['system']['diskquota_customer_partition'], $repquota);
|
|
||||||
|
|
||||||
$usedquota = array();
|
|
||||||
foreach ($repquota as $tmpquota)
|
|
||||||
{
|
|
||||||
# Let's see if the line matches a quota - line
|
|
||||||
if (preg_match('/^#([0-9]+)\s*[+-]{2}\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)/i', $tmpquota, $matches))
|
|
||||||
{
|
|
||||||
# It matches - put it into an array with userid as key (for easy lookup later)
|
|
||||||
$usedquota[$matches[1]] = array(
|
|
||||||
'block' => array(
|
|
||||||
'used' => $matches[2],
|
|
||||||
'soft' => $matches[3],
|
|
||||||
'hard' => $matches[4],
|
|
||||||
'grace' => $matches[5]
|
|
||||||
),
|
|
||||||
'file' => array(
|
|
||||||
'used' => $matches[6],
|
|
||||||
'soft' => $matches[7],
|
|
||||||
'hard' => $matches[8],
|
|
||||||
'grace' => $matches[9]
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = $db->query("SELECT * FROM `" . TABLE_PANEL_CUSTOMERS . "` ORDER BY `customerid` ASC");
|
$result = $db->query("SELECT * FROM `" . TABLE_PANEL_CUSTOMERS . "` ORDER BY `customerid` ASC");
|
||||||
|
|
||||||
while($row = $db->fetch_array($result))
|
while($row = $db->fetch_array($result))
|
||||||
|
|||||||
Reference in New Issue
Block a user