ispCP - Board - Support
[TICKET/PATCH]: Mailboxquota im GUI einstellen. - Printable Version

+- ispCP - Board - Support (http://www.isp-control.net/forum)
+-- Forum: ispCP Omega International Area (/forum-22.html)
+--- Forum: German Corner (/forum-26.html)
+---- Forum: Archiv (/forum-54.html)
+---- Thread: [TICKET/PATCH]: Mailboxquota im GUI einstellen. (/thread-6045.html)

Pages: 1 2 3 4


RE: [HowTo]: Mailboxquota im GUI einstellen. - TheCry - 03-13-2009 07:49 PM

Von FISA4 musst Du alles übernehmen bis auf den Punkt:
Quote:nach:
Code:
require '../include/ispcp-lib.php';

einfügen:
Code:
include '../include/ispcp-mailquota.php

Und die Datei ispcp-mailquota.php ist jetzt hinfällig!


RE: [HowTo]: Mailboxquota im GUI einstellen. - BeNe - 03-13-2009 08:25 PM

In der GUI habe ich jetzt das Feld aber keinen Wert dafür:
Code:
Mailbox Quota [MB]      {VL_MAIL_QUOTA}

Hier ein diff der Datei:
PHP Code:
--- /root/trunk2diff/gui/reseller/domain_edit.php       2009-03-13 10:14:03.000000000 +0000
+++ /var/www/ispcp/gui/reseller/domain_edit.php 2009-03-13 10:03:47.000000000 +0000
@@ -65,+65,@@
                                
'TR_SQL_USERS' => tr('SQL users limit <br /><i>(-1 disabled, 0 unlimited)</i>'),
                                
'TR_TRAFFIC' => tr('Traffic limit [MB] <br /><i>(0 unlimited)</i>'),
                                
'TR_DISK' => tr('Disk limit [MB] <br /><i>(0 unlimited)</i>'),
+                               
'TR_MAIL_QUOTA' => tr('Mailbox Quota [MB]'),
                                
'TR_USER_NAME' => tr('Username'),
                                
'TR_UPDATE_DATA' => tr('Submit changes'),
                                
'TR_CANCEL' => tr('Cancel'),
@@ -
118,+119,@@
 function 
load_user_data($user_id$domain_id) {
        
$sql Database::getInstance();

-       global 
$domain_name$domain_ip$php_sup;
+       global 
$domain_name$domain_ip$php_sup$mailquota;
        global 
$cgi_supp $sub$als;
        global 
$mail$ftp$sql_db;
        global 
$sql_user$traff$disk;
@@ -
154,+155,@@
                ) = 
generate_user_props($domain_id);;

        
load_additional_data($user_id$domain_id);
+
 } 
//End of load_user_data()

 // Load additional data
@@ -216,+218,22 @@
        
$data $res->FetchRow();

        
$username $data['admin_name'];
+
+       
//Mailbox Quotas
+        // Get domain data
+        $query = <<<SQL_QUERY
+        SELECT
+            quota
+        FROM
+            mail_users
+        WHERE
+            domain_id = ?
+SQL_QUERY;
+
+        
$res = exec_query($sql$query, array($domain_id));
+        
$data = $res->FetchRow();
+
+        
$mailquota = $data['quota']/1024/1024;
 } //End of load_additional_data()

 // Show user data
@@ -224,7 +242,7 @@
        global 
$cgi_supp , $sub$als;
        global 
$mail$ftp$sql_db;
        global 
$sql_user$traff$disk;
-       global 
$username;
+       global 
$username$mailquota;
        // Fill in the fields
        
$domain_name = decode_idna($domain_name);

@@ -276,6 +294,7 @@
                                'VL_SQL_USERS' => 
$sql_user,
                                'VL_TRAFFIC' => 
$traff,
                                'VL_DOM_DISK' => 
$disk,
+                               'VL_MAIL_QUOTA' => 
$mailquota,
                                'VL_USER_NAME' => 
$username
                        )
                );
@@ -283,7 +302,7 @@

 // Check input data
 function check_user_data(&
$tpl, &$sql$reseller_id$user_id) {
-       global 
$sub$als$mail$ftp$sql_db$sql_user$traff$disk$sql$domain_ip$domain_php$domain_cgi;
+       global 
$sub$als$mail$ftp$sql_db$sql_user$traff$disk$sql$domain_ip$domain_php$domain_cgi$mailquota;

        
$sub = clean_input($_POST['dom_sub']);
        
$als = clean_input($_POST['dom_alias']);
@@ -296,6 +315,7 @@
        // 
$domain_ip = $_POST['domain_ip'];
        
$domain_php = $_POST['domain_php'];
        
$domain_cgi = $_POST['domain_cgi'];
+       
$mailquota = clean_input($_POST['mailboxquota']);

        
$ed_error = '';

@@ -329,6 +349,12 @@
        if (!ispcp_limit_check(
$disk, null)) {
                
$ed_error .= tr('Incorrect disk quota limit!');
        }
+       if (!ispcp_limit_check(
$mailquota, null)) {
+                
$ed_error .= tr('Incorrect mailbox quota limit!');
+               }
+                        else if (
$mailquota < 10) {
+                       
$ed_error .= tr('mailbox quota should be minimum 10MB!');
+               }

        // 
$user_props = generate_user_props($user_id);
        // 
$reseller_props = generate_reseller_props($reseller_id);
@@ -424,6 +450,10 @@

                    return false;
                }
+               // update mailbox quotas
+                
$mailquota = $mailquota*1024*1024;
+                
$query = "UPDATE `mail_users` SET `quota` = '$mailquota' WHERE `domain_id` = ?";
+                
$rs = exec_query($sql$query, array($user_id));

                // update the sql quotas too
                
$query = "SELECT domain_name FROM domain WHERE domain_id=?";
@@ -588,4 +618,4 @@

 unset_messages();

-?>
\ No newline at end of file
+?>

Greez BeNe


RE: [HowTo]: Mailboxquota im GUI einstellen. - TheCry - 03-13-2009 08:34 PM

Ich schätze hier liegt Dein Fehler:
Code:
@@ -118,7 +119,7 @@
function load_user_data($user_id, $domain_id) {
        $sql = Database::getInstance();

-       global $domain_name, $domain_ip, $php_sup;
+       global $domain_name, $domain_ip, $php_sup, $mailquota;
        global $cgi_supp , $sub, $als;
        global $mail, $ftp, $sql_db;
        global $sql_user, $traff, $disk;
Die Änderung sollte in der Funktion "load_additional_data" nicht in der Funktion "load_user_data".
Dort muss die Zeile
Code:
global $domain_name, $domain_ip, $php_sup;
in
Code:
global $domain_name, $domain_ip, $php_sup, $mailquota;
geändert werden!


RE: [HowTo]: Mailboxquota im GUI einstellen. - BeNe - 03-13-2009 08:39 PM

Thats it :-)
Dann mache ich einen Patch fertig und werde mal ein Ticket aufmachen.

Können wir das auch per User übernehmen ?
Macht ja sinn oder ?

Greez BeNe


RE: [HowTo]: Mailboxquota im GUI einstellen. - TheCry - 03-13-2009 08:58 PM

Mhhh... Dann könnte der User sich ja über meine Einstellungen hinwegsetzen!!
Und ich als Reseller sage was abgeht.. Wink


RE: [HowTo]: Mailboxquota im GUI einstellen. - FISA4 - 03-13-2009 09:38 PM

(03-13-2009 04:20 PM)TheCry Wrote:  Warum nutzt Du nicht die Funktionen von ISPCP?
In der domain_edit müsstest Du das doch alles so abwickeln können, oder?.

Weil ich das mal eben in ner halben Stunde programmiert hab und abends um 23 uhr keine lust hatte mich mit den Funktionen von ispCP zu beschäftigen.

Aber schön zu sehen, dass Ihr mein Script so schnell vollendet habt. Smile


RE: [HowTo]: Mailboxquota im GUI einstellen. - TheCry - 03-13-2009 09:52 PM

(03-13-2009 09:38 PM)FISA4 Wrote:  Aber schön zu sehen, dass Ihr mein Script so schnell vollendet habt. Smile
Dafür gibt es doch die Community...SmileSmile
Aber ohne Deinen Anstoss, wäre ich nicht so recht drauf gekommen!


RE: [HowTo]: Mailboxquota im GUI einstellen. - BeNe - 03-13-2009 09:56 PM

Quote:Mhhh... Dann könnte der User sich ja über meine Einstellungen hinwegsetzen!!
Und ich als Reseller sage was abgeht.. Wink
Ja, da hast recht!
Default sind meine max. 50MB aber mein perönliches Postfach ist alleine schon 500MB größ. Aber ich kann es wie vorher auch schon direkt in dem DB ändern. Mein Denkfehler

Quote:Dafür gibt es doch die Community...SmileSmile
Aber ohne Deinen Anstoss, wäre ich nicht so recht drauf gekommen!
Ja, danke an euch beide.

Ein Ticket mit Patch ist offen Smile
--> http://www.isp-control.net/ispcp/ticket/1748

Greez BeNe


RE: [HowTo]: Mailboxquota im GUI einstellen. - FISA4 - 03-13-2009 10:31 PM

(03-13-2009 09:56 PM)BeNe Wrote:  
Quote:Mhhh... Dann könnte der User sich ja über meine Einstellungen hinwegsetzen!!
Und ich als Reseller sage was abgeht.. Wink
Ja, da hast recht!
Default sind meine max. 50MB aber mein perönliches Postfach ist alleine schon 500MB größ. Aber ich kann es wie vorher auch schon direkt in dem DB ändern. Mein Denkfehler

Quote:Dafür gibt es doch die Community...SmileSmile
Aber ohne Deinen Anstoss, wäre ich nicht so recht drauf gekommen!
Ja, danke an euch beide.

Ein Ticket mit Patch ist offen Smile
--> http://www.isp-control.net/ispcp/ticket/1748

Greez BeNe

Das würde gehen, jedoch bräuchten wir dazu noch in der `domain` Datenbank einen zusätzlichen Wert in dem die max. Mailboxquota eingetragen wird. Diesen Wert über den Resellerbereich zu ändern würde einfach eine kleine SQL änderung bedeuten. Dann noch im Userbereich -> Email Accounts-> edit ( ../client/mail_edit.php und ..themes/omega_original/client/mail_edit.tpl ) die Änderung von Gestern und Heute rein , natürlich mit Abfrage was max. erlaubt ist) und schon sollte es laufen.

@TheCry: Soll ich machen und Du machst die Nacharbeiten ?


RE: [HowTo]: Mailboxquota im GUI einstellen. - TheCry - 03-13-2009 11:55 PM

(03-13-2009 10:31 PM)FISA4 Wrote:  @TheCry: Soll ich machen und Du machst die Nacharbeiten ?
Wäre nett wenn Du das machst...
Ich schaue gerne mit drauf, aber viel Zeit habe ich am Wochenende nicht
Gruß
Sascha