
16th August 2005, 22:09
|
|
Member
|
|
Join Date: Jul 2005
Location: Rives - Isère - FRANCE
Posts: 50
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Support System
Hi all,
I'm working on support system and I have some question.
Why the sys_user table don't have the user email address ? (in my ISPConfig install, it's always @ispconfig.de)
The field 'userid' (on sys_user table) of a resseller contains the 'doc_id' of the admin and for a client, it contains the resseller creator's doc_id (or the admin doc_id). I'm right ?
Can I modify the go_info.inc.php file to add the 'userid' field of sys_user table ?
Thanks.
Tribal-Dolphin
|

17th August 2005, 00:14
|
|
Super Moderator
|
|
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 19,805
Thanks: 285
Thanked 1,805 Times in 1,357 Posts
|
|
Quote:
|
Originally Posted by Tribal-Dolphin
Why the sys_user table don't have the user email address ? (in my ISPConfig install, it's always @ispconfig.de)
|
Thats a good question  The Field was there from another application that used the same framework. It is a good idea to use it in ISPConfig too, so we have to modify the isp_isp_kunde.inc.php and the isp_isp_reseller.inc.php to write the correct email address when creating a new controlpanel user.
Quote:
|
Originally Posted by Tribal-Dolphin
The field 'userid' (on sys_user table) of a resseller contains the 'doc_id' of the admin and for a client, it contains the resseller creator's doc_id (or the admin doc_id). I'm right ?
|
Yes, thats right.
The external relations are:
ID Relations Resellers:
sys_user.doc_id => isp_isp_reseller.reseller_userid
ID Relations Clients:
sys_user.doc_id => isp_isp_kunde.webadmin_userid
Quote:
|
Originally Posted by Tribal-Dolphin
Can I modify the go_info.inc.php file to add the 'userid' field of sys_user table ?
|
Yes, but i think in most cases you need the doc_id of the user. This is needed to check the permissions against the *_nodes tables. The doc_id of the user is alredy part of the $go_info array.
|

17th August 2005, 08:33
|
|
Member
|
|
Join Date: Jul 2005
Location: Rives - Isère - FRANCE
Posts: 50
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Quote:
|
Originally Posted by till
It is a good idea to use it in ISPConfig too, so we have to modify the isp_isp_kunde.inc.php and the isp_isp_reseller.inc.php to write the correct email address when creating a new controlpanel user.
|
Ok, i'll go to modify this files.
Quote:
|
Originally Posted by till
Yes, but i think in most cases you need the doc_id of the user. This is needed to check the permissions against the *_nodes tables. The doc_id of the user is alredy part of the $go_info array.
|
I need the creator's ID for sent the support question to him. I've take a look to the *_nodes tables and i don't find how to retrieve the creator's ID.
Can you help me for that ?
|

17th August 2005, 12:27
|
|
Super Moderator
|
|
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 19,805
Thanks: 285
Thanked 1,805 Times in 1,357 Posts
|
|
Quote:
|
Originally Posted by Tribal-Dolphin
I need the creator's ID for sent the support question to him. I've take a look to the *_nodes tables and i don't find how to retrieve the creator's ID.
Can you help me for that ?
|
Who do you mean with creator? The client that sends a support question to the admin / reseller?
General explanation: If a user saves a form that was build with the form generator, the contents of the form are stored in the form specific table, the user and permission information is stored in the *_nodes table.
Example for isp_nodes and isp_isp_web:
isp_nodes.tree_id = unique index field of the nodes table.
isp_nodes.userid => sys_user.doc_id // Sorry, i know that this is a bit misleading with the userid column in sys_user, but doc_id is always the name of the primary index field of an table.
isp_nodes.groupid => groups.groupid
isp_nodes.parent => this field is for building the tree view, it can contain the tree ID of the parent item (folder) or the string group[GROUPID] when it is not in a folder and belongs to a group with the ID [GROUPID].
isp_nodes.type => contains 'n' if it is a folder, or 'i' if it is form document.
isp_nodes.doctype_id => isp_isp_web.doctype_id => doctype.doctype_id // in the doctype table are the form definitions stored that are made with the foem designer
isp_nodes.doc_id => isp_isp_web.doc_id // The doc_id's are the primary index fields of the content tables
isp_nodes.status // 1 = active, 0 = Deleted / stored in the trash
isp_nodes.icon // may contain the name of the icon file, if it is empty, a default icon is used
isp_nodes.modul // not used in ISPConfig
isp_nodes.title // The title that is displayed in the tree view, if the form is from the type that is displayed in the tree.
|

17th August 2005, 12:38
|
|
Member
|
|
Join Date: Jul 2005
Location: Rives - Isère - FRANCE
Posts: 50
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
The Creator is the person who have created the reseller/client account.
I'll need to know if the question is for admin, Reseller1, Reseller2, ......
I don't find this file : isp_isp_kunde.inc.php and the isp_isp_reseller.inc.php. Where they are ?
|

17th August 2005, 12:49
|
|
Super Moderator
|
|
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 31,853
Thanks: 781
Thanked 1,558 Times in 1,477 Posts
|
|
Quote:
|
Originally Posted by Tribal-Dolphin
I don't find this file : isp_isp_kunde.inc.php and the isp_isp_reseller.inc.php. Where they are ?
|
Actually it's ispconfig_isp_kunde.lib.php and ispconfig_isp_reseller.lib.php. They are in /home/admispconfig/ispconfig/lib/classes.
|

17th August 2005, 13:13
|
|
Super Moderator
|
|
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 19,805
Thanks: 285
Thanked 1,805 Times in 1,357 Posts
|
|
Quote:
|
Originally Posted by Tribal-Dolphin
The Creator is the person who have created the reseller/client account.
I'll need to know if the question is for admin, Reseller1, Reseller2, ......
|
I assume you have the sys_user.doc_id of the reseller/client and want to get the sys_user.doc_id of the creator. First we will find out if it is a reseller or a client. When it is a reseller, the support requests have to be send to the admin:
$groups = $go_api->groups->myGroups();
if(is_array($groups)) {
//This user is a reseller, because clients do not have a group!
} else {
// This must be a client, now get the sys_user.doc_id of the reseller
$reseller = $go_api->db->queryOneRecord("SELECT doc_id FROM sys_user WHERE userid = $client_sys_doc_id");
$reseller_sys_doc_id = $reseller["doc_id"];
}
Quote:
|
Originally Posted by Tribal-Dolphin
I don't find this file : isp_isp_kunde.inc.php and the isp_isp_reseller.inc.php. Where they are ?
|
Sorry, i posted the wrong filenames:
in /home/admispconfig/ispconfig/web/lib/classes/
ispconfig_isp_kunde.lib.php
ispconfig_isp_reseller.lib.php
Every class contains functions that are called when an event like insert update or delete happens for a form. The functions are:
*_insert($doc_id, $doctype_id, $die_on_error = '1')
*_update($doc_id, $doctype_id, $die_on_error = '1')
*_delete($doc_id, $doctype_id, $die_on_error = '1')
|

17th August 2005, 19:41
|
|
Member
|
|
Join Date: Jul 2005
Location: Rives - Isère - FRANCE
Posts: 50
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
I'll try to modify the two class (ispconfig_isp_kunde.lib.php & ispconfig_isp_reseller.lib.php) for insert into sys_user table the field name, vorname, email, domain, ..... but it don't works.
Can anyone can tell me where (the line) I can add my code.
Thanks a lot
Exemple of code I'll try to insert into ispconfig_isp_kunde.lib.php at the line 105 (insert new client) :
Code:
$kunde = $go_api->db->queryOneRecord("SELECT * FROM isp_isp_kunde where webadmin_userid = '$userid'");
$vorname = $kunde["kunde_vorname"];
$name = $kunde["kunde_name"];
$strasse = $kunde["kunde_strasse"];
$plz = $kunde["kunde_plz"];
$ort = $kunde["kunde_ort"];
$telefon = $kunde["kunde_telefon"];
$fax = $kunde["kunde_fax"];
$kunde_email = explode("@", $kunde["kunde_email"]); $email=$kunde_email[0]; $domain=$kunde_email[1];
$land = $kunde["kunde_land"];
$sql = "UPDATE sys_user (vorname,name,strasse,plz,ort,telefon,fax,email,domain,land) VALUES ('$vorname','$name','$strasse','$plz','$ort','$telefon','$fax','$email','$domain','$land') WHERE doc_id = '$userid'";
$go_api->db->query($sql);
--------------------------------------------------------------
EDIT :
Otherwise, I have another idea.
Why do not to modify the file go_info.inc.php to get back the information unavailable in the table sys_user.
What do you think of it?
Last edited by Tribal-Dolphin; 17th August 2005 at 19:59.
|

17th August 2005, 22:08
|
|
Super Moderator
|
|
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 31,853
Thanks: 781
Thanked 1,558 Times in 1,477 Posts
|
|
You have an error here:
Quote:
|
$sql = "UPDATE sys_user (vorname,name,strasse,plz,ort,telefon,fax,email,do main,land) VALUES ('$vorname','$name','$strasse','$plz','$ort','$tel efon','$fax','$email','$domain','$land') WHERE doc_id = '$userid'";
|
|

17th August 2005, 23:47
|
|
Member
|
|
Join Date: Jul 2005
Location: Rives - Isère - FRANCE
Posts: 50
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
This error isn't in my file. it's an error of copy/paste.
Sorry
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT +2. The time now is 22:16.
|
Recent comments
13 hours 44 min ago
18 hours 59 min ago
19 hours 11 min ago
19 hours 18 min ago
20 hours 20 min ago
22 hours 28 min ago
1 day 53 min ago
1 day 1 hour ago
1 day 1 hour ago
1 day 2 hours ago