added quota settings for users
This commit is contained in:
parent
1011546425
commit
469bba9499
|
@ -197,6 +197,21 @@ function loadUserProfile($profile) {
|
||||||
else $acc->smb_domain = chop(substr($line, 12, strlen($line)-12));
|
else $acc->smb_domain = chop(substr($line, 12, strlen($line)-12));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (substr($line, 0, 7) == "quota: ") {
|
||||||
|
$acc->quota = chop(substr($line, 7, strlen($line)-7));
|
||||||
|
// split mountpoints
|
||||||
|
$acc->quota = explode(";", $acc->quota);
|
||||||
|
// split attributes
|
||||||
|
for ($i = 0; $i < sizeof($acc->quota); $i++) {
|
||||||
|
$temp = explode(",", $acc->quota[$i]);
|
||||||
|
$acc->quota[$i] = array();
|
||||||
|
$acc->quota[$i][0] = $temp[0];
|
||||||
|
$acc->quota[$i][2] = $temp[1];
|
||||||
|
$acc->quota[$i][3] = $temp[2];
|
||||||
|
$acc->quota[$i][6] = $temp[3];
|
||||||
|
$acc->quota[$i][7] = $temp[4];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
fclose($file);
|
fclose($file);
|
||||||
}
|
}
|
||||||
|
@ -321,6 +336,14 @@ function saveUserProfile($account, $profile) {
|
||||||
if (isset($account->smb_smbuserworkstations)) fputs($file, "smb_smbuserworkstations: " . $account->smb_smbuserworkstations . "\n");
|
if (isset($account->smb_smbuserworkstations)) fputs($file, "smb_smbuserworkstations: " . $account->smb_smbuserworkstations . "\n");
|
||||||
if (isset($account->smb_smbhome)) fputs($file, "smb_smbhome: " . $smbhome . "\n");
|
if (isset($account->smb_smbhome)) fputs($file, "smb_smbhome: " . $smbhome . "\n");
|
||||||
if (isset($account->smb_domain)) fputs($file, "smb_domain: " . $account->smb_domain . "\n");
|
if (isset($account->smb_domain)) fputs($file, "smb_domain: " . $account->smb_domain . "\n");
|
||||||
|
if (isset($account->quota)) {
|
||||||
|
// convert array to string
|
||||||
|
for ($i = 0; $i < sizeof($account->quota); $i++) {
|
||||||
|
$account->quota[$i] = implode(",", $account->quota[$i]);
|
||||||
|
}
|
||||||
|
$temp = implode(";", $account->quota);
|
||||||
|
fputs($file, "quota: " . $temp . "\n");
|
||||||
|
}
|
||||||
// close file
|
// close file
|
||||||
fclose($file);
|
fclose($file);
|
||||||
}
|
}
|
||||||
|
|
|
@ -225,6 +225,41 @@ if ($_GET['type'] == "user") {
|
||||||
echo ("<br><br><a href=\"javascript:history.back()\">" . _("Back to Profile Editor") . "</a>");
|
echo ("<br><br><a href=\"javascript:history.back()\">" . _("Back to Profile Editor") . "</a>");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// check quota settings if script is given
|
||||||
|
if ($_SESSION['config']->get_scriptPath()) {
|
||||||
|
if ($_POST['quotacount'] && ($_POST['quotacount'] > 0)) {
|
||||||
|
for ($i = 0; $i < $_POST['quotacount']; $i++) {
|
||||||
|
$acct->quota[$i][0] = $_POST['f_quota_'.$i.'_0'];
|
||||||
|
$acct->quota[$i][2] = $_POST['f_quota_'.$i.'_2'];
|
||||||
|
$acct->quota[$i][3] = $_POST['f_quota_'.$i.'_3'];
|
||||||
|
$acct->quota[$i][6] = $_POST['f_quota_'.$i.'_6'];
|
||||||
|
$acct->quota[$i][7] = $_POST['f_quota_'.$i.'_7'];
|
||||||
|
// Check if values are OK
|
||||||
|
if (!ereg('^([0-9])*$', $acct->quota[$i][2])) {
|
||||||
|
StatusMessage('ERROR', _('Block soft quota'), _('Block soft quota contains invalid characters. Only natural numbers are allowed'));
|
||||||
|
echo ("<br><br><a href=\"javascript:history.back()\">" . _("Back to Profile Editor") . "</a>");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
if (!ereg('^([0-9])*$', $acct->quota[$i][3])) {
|
||||||
|
StatusMessage('ERROR', _('Block hard quota'), _('Block hard quota contains invalid characters. Only natural numbers are allowed'));
|
||||||
|
echo ("<br><br><a href=\"javascript:history.back()\">" . _("Back to Profile Editor") . "</a>");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
if (!ereg('^([0-9])*$', $acct->quota[$i][6])) {
|
||||||
|
StatusMessage('ERROR', _('Inode soft quota'), _('Inode soft quota contains invalid characters. Only natural numbers are allowed'));
|
||||||
|
echo ("<br><br><a href=\"javascript:history.back()\">" . _("Back to Profile Editor") . "</a>");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
if (!ereg('^([0-9])*$', $acct->quota[$i][7])) {
|
||||||
|
StatusMessage('ERROR', _('Inode hard quota'), _('Inode hard quota contains invalid characters. Only natural numbers are allowed'));
|
||||||
|
echo ("<br><br><a href=\"javascript:history.back()\">" . _("Back to Profile Editor") . "</a>");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($_POST['profname'] && eregi("^[0-9a-z\\-_]+$", $_POST['profname'])) {
|
if ($_POST['profname'] && eregi("^[0-9a-z\\-_]+$", $_POST['profname'])) {
|
||||||
$profname = $_POST['profname'];
|
$profname = $_POST['profname'];
|
||||||
}
|
}
|
||||||
|
@ -233,13 +268,17 @@ if ($_GET['type'] == "user") {
|
||||||
echo ("<br><br><a href=\"javascript:history.back()\">" . _("Back to Profile Editor") . "</a>");
|
echo ("<br><br><a href=\"javascript:history.back()\">" . _("Back to Profile Editor") . "</a>");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// save profile
|
// save profile
|
||||||
if (saveUserProfile($acct, $profname)) {
|
if (saveUserProfile($acct, $profname)) {
|
||||||
echo StatusMessage("INFO", _("Profile was saved."), $profname);
|
StatusMessage("INFO", _("Profile was saved."), $profname);
|
||||||
}
|
}
|
||||||
|
else StatusMessage("ERROR", _("Unable to save profile!"), $profname);
|
||||||
|
|
||||||
echo ("<br><p><a href=\"profilemain.php\">" . _("Back to Profile Editor") . "</a></p>");
|
echo ("<br><p><a href=\"profilemain.php\">" . _("Back to Profile Editor") . "</a></p>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// save host profile
|
// save host profile
|
||||||
elseif ($_GET['type'] == "host") {
|
elseif ($_GET['type'] == "host") {
|
||||||
$acct = new account();
|
$acct = new account();
|
||||||
|
|
|
@ -40,6 +40,11 @@ if (!$_SESSION['ldap'] || !$_SESSION['ldap']->server()) {
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// load quota list
|
||||||
|
if ($_SESSION['config']->get_scriptPath()) {
|
||||||
|
$acct_q = getquotas("user");
|
||||||
|
}
|
||||||
|
|
||||||
// print header
|
// print header
|
||||||
echo $_SESSION['header'];
|
echo $_SESSION['header'];
|
||||||
echo ("<html><head>\n<title></title>\n<link rel=\"stylesheet\" type=\"text/css\" href=\"../../style/layout.css\">\n</head><body><br>\n");
|
echo ("<html><head>\n<title></title>\n<link rel=\"stylesheet\" type=\"text/css\" href=\"../../style/layout.css\">\n</head><body><br>\n");
|
||||||
|
@ -220,8 +225,6 @@ echo ("</table>\n");
|
||||||
echo ("</fieldset>\n");
|
echo ("</fieldset>\n");
|
||||||
echo ("<br>");
|
echo ("<br>");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Samba part
|
// Samba part
|
||||||
echo ("<fieldset><legend><b>" . _("Samba account") . "</b></legend>\n");
|
echo ("<fieldset><legend><b>" . _("Samba account") . "</b></legend>\n");
|
||||||
echo ("<table border=0>\n");
|
echo ("<table border=0>\n");
|
||||||
|
@ -350,6 +353,52 @@ echo ("</table>\n");
|
||||||
echo ("</fieldset>\n");
|
echo ("</fieldset>\n");
|
||||||
|
|
||||||
|
|
||||||
|
// Quota settings if script is given
|
||||||
|
if ($_SESSION['config']->get_scriptPath()) {
|
||||||
|
echo ("<br>");
|
||||||
|
echo "<fieldset><legend><b>"._('Quota properties')."</b></legend>\n";
|
||||||
|
echo "<table border=0>\n";
|
||||||
|
// description line
|
||||||
|
echo "<tr>\n";
|
||||||
|
echo "<td align=\"center\"><b>" . _('Mountpoint') . "</b> </td>\n";
|
||||||
|
echo "<td align=\"center\"><b>" . _('Soft block limit') . "</b> </td>\n";
|
||||||
|
echo "<td align=\"center\"><b>" . _('Hard block limit') . "</b> </td>\n";
|
||||||
|
echo "<td align=\"center\"><b>" . _('Soft inode limit') . "</b> </td>\n";
|
||||||
|
echo "<td align=\"center\"><b>" . _('Hard inode limit') . "</b> </td>\n";
|
||||||
|
echo "</tr>\n";
|
||||||
|
// help line
|
||||||
|
echo "<tr><td align=\"center\"><a href=\"../help.php?HelpNumber=439\" target=\"lamhelp\">"._('Help').'</a></td>'."\n".
|
||||||
|
"<td align=\"center\"><a href=\"../help.php?HelpNumber=441\" target=\"lamhelp\">"._('Help').'</a></td>'."\n".
|
||||||
|
"<td align=\"center\"><a href=\"../help.php?HelpNumber=442\" target=\"lamhelp\">"._('Help').'</a></td>'."\n".
|
||||||
|
"<td align=\"center\"><a href=\"../help.php?HelpNumber=445\" target=\"lamhelp\">"._('Help').'</a></td>'."\n".
|
||||||
|
"<td align=\"center\"><a href=\"../help.php?HelpNumber=446\" target=\"lamhelp\">"._('Help').'</a></td>'."\n".
|
||||||
|
'</tr>'."\n";
|
||||||
|
// quota settings
|
||||||
|
for ($i = 0; $i < (sizeof($acct_q->quota) - 1); $i++) {
|
||||||
|
// load values from profile
|
||||||
|
for ($k = 0; $k < sizeof($acct->quota); $k++) {
|
||||||
|
// check for equal mountpoints
|
||||||
|
if ($acct->quota[$k][0] == $acct_q->quota[$i][0]) {
|
||||||
|
$acct_q->quota[$i][2] = $acct->quota[$i][2];
|
||||||
|
$acct_q->quota[$i][3] = $acct->quota[$i][3];
|
||||||
|
$acct_q->quota[$i][6] = $acct->quota[$i][6];
|
||||||
|
$acct_q->quota[$i][7] = $acct->quota[$i][7];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo "<tr>\n";
|
||||||
|
echo '<td>' . $acct_q->quota[$i][0] . "<input type=\"hidden\" name=\"f_quota_" . $i . "_0\" value=\"" . $acct_q->quota[$i][0] . "\"></td>\n"; // mountpoint
|
||||||
|
echo '<td align="center"><input name="f_quota_' . $i . '_2" type="text" size="12" maxlength="20" value="' . $acct_q->quota[$i][2] . "\"></td>\n"; // blocks soft limit
|
||||||
|
echo '<td align="center"><input name="f_quota_' . $i . '_3" type="text" size="12" maxlength="20" value="' . $acct_q->quota[$i][3] . "\"></td>\n"; // blocks hard limit
|
||||||
|
echo '<td align="center"><input name="f_quota_' . $i . '_6" type="text" size="12" maxlength="20" value="' . $acct_q->quota[$i][6] . "\"></td>\n"; // inodes soft limit
|
||||||
|
echo '<td align="center"><input name="f_quota_' . $i . '_7" type="text" size="12" maxlength="20" value="' . $acct_q->quota[$i][7] . "\"></td>\n"; // inodes hard limit
|
||||||
|
echo "</tr>\n";
|
||||||
|
}
|
||||||
|
echo "</table>\n";
|
||||||
|
// save number of mountpoints
|
||||||
|
echo "<input type=\"hidden\" name=\"quotacount\" value=\"" . (sizeof($acct_q->quota) - 1) . "\">\n";
|
||||||
|
echo "</fieldset>\n";
|
||||||
|
}
|
||||||
|
|
||||||
echo ("<br><br>\n");
|
echo ("<br><br>\n");
|
||||||
|
|
||||||
// profile name and submit/abort buttons
|
// profile name and submit/abort buttons
|
||||||
|
|
Loading…
Reference in New Issue