Deutsch| English
  #1  
Alt 20.03.2010, 22:04
Neuer Benutzer
 
Registriert seit: 01.02.2010
Beiträge: 17
Standard Remote - groupid von client auslesen

Hallo!

Erstmal muss ich nochmal ein Lob aussprechen...die neue ISPConfig3-Version ist echt fein, grad das mit dem Remoting.
Aber dazu direkt mal eine Frage:
Ich möchte nur Datensätze eines bestimmten clients ausgeben lassen. Da aber in den Tabellen immer nur die sys_groupid und nie die client_id steht frage ich mich, wie ich an die sys_groupid des jeweiligen clients rankomme!?
Bei der Funktion client_get bekomme ich ja "nur" das was in der DB steht, aber keine dazugehörige sys_groupid.
Also hier die Fragen:
1. wie komme ich per remoting an die sys_groupid des clients ran
2. oder wisst ihr einen anderen weg um immer nur die Daten (Domains, Email-Doamins, E-Mail-Alias etc) eines jeweiligen Cients über Remoting zu gelangen?!

Bin für jeden Tipp dankbar.

Grüße, Axel
Mit Zitat antworten
  #2  
Alt 22.03.2010, 08:54
Administrator
 
Registriert seit: 08.08.2007
Beiträge: 8.817
Standard

Im Moment kannst Du ja nur einzelne Datensätze abfragen, da das API ursprünglich dafür gedacht ware um von außen Datensätze in ISPConfig einzufügen. Suchfunktionen müssen in das remoting API noch integriert werden. Es werden übrigens noch Maintainer für das API gesucht, also Freiwillige vor
Mit Zitat antworten
  #3  
Alt 22.03.2010, 09:09
Neuer Benutzer
 
Registriert seit: 01.02.2010
Beiträge: 17
Standard

Verstehe!
Hatte es schon zB mit mail_user_get und als Parameter ein Array, was ein Subselect beinhaltet...ging natürlich nicht, weil die Values ja gequotet werden.
Also ich würde jetzt die remoting.inc.php um die Funktionen erweitern, die ich benötige, wie zB Listen von Emails in Abhängigkeit vom Client bekommen etc.
Bei Fragen würde ich hier ins Forum reinschreiben.
An wen soll/kann/darf ich denn dann meine erweiterten Funktionen senden, damit Sie ggf. im nächsten Release enthalten sind?!

Grüße, Axel
Mit Zitat antworten
  #4  
Alt 22.03.2010, 09:45
Administrator
 
Registriert seit: 08.08.2007
Beiträge: 8.817
Standard

Sende die geänderten datein bitte an dev [at] ispconfig [dot] org

Es wäre gut wenn Du die neuen Funktionen und Parameter hier vorab kurz erläuterst und zur Diskussion stellst bevor Du sie implementierts. Dann können da noch die Anregungen von anderen usern mit einfließen und es gibt nicht nachher das problem, dass die Funktionen unter Umständen nicht so in das release übernommen werden.
Mit Zitat antworten
  #5  
Alt 22.03.2010, 09:52
Administrator
 
Registriert seit: 08.08.2007
Beiträge: 8.817
Standard

Ich fange hier gleich mal mit einem Vorschlag an. Ich denke wir könnten die bestehenden Funktionen:

*_get
*_add
*_update
*_delete

um eine Funktion wie *_getall oder so ergänzen, bei derwie als Parameter zum einen die obligatorische session_id haben und dann als 2. Parameter ein Array bestehend aus angefragtem Parameter und dem Wert, also z.B.

sites_web_domain_getall($session_id, array('domain => 'test.tld'));

oder

sites_shell_user_getall($session_id, array('domain_id' => 1, 'active' => 'y'));

wobei die Parameter mit und verknüpft werden.
Mit Zitat antworten
  #6  
Alt 22.03.2010, 09:59
Neuer Benutzer
 
Registriert seit: 01.02.2010
Beiträge: 17
Standard

Ok, werde ich machen!

Ich habe übrigens auch mal folgendes probiert, klappte aber nicht und frage mich warum...kannst Du mir ggf. verraten warum nicht:

PHP-Code:
class remoting {
    
    
//* remote session timeout in seconds
    
private $session_timeout 600;
    
    private 
$server;
    public 
$oldDataRecord;
    public 
$dataRecord;
    public 
$id;
    public 
$app;
    
    
/*
    These variables shall stay global. 
    Please do not make them private variables.
    
    private $conf;
    */

    
public function __construct()
    {
        global 
$server;
        
$this->server $server;

        
$this->app $app;
        
/*
        $this->conf = $conf;
        */
    

Also eigentlich nix anderes als die Variable $app verfügbar zu machen.

Wenn ich über
PHP-Code:
$this->soapClient->app->remoting_lib->loadUserProfile(1); 
die Client-Daten des Clients mit ID=1 auslesen möchte bekomm ich immer den Fehler
Zitat:
Call to a member function loadUserProfile() on a non-object
Aber warum?!
Mit Zitat antworten
  #7  
Alt 22.03.2010, 10:02
Neuer Benutzer
 
Registriert seit: 01.02.2010
Beiträge: 17
Standard

Man doch über die *_get Funktion en schon ein array mitgeben, welches dann zu einem Query zusammengebaut werden und die jeweilige DB-Tabelle filtert. Nur tabellenübergreifende Queries sind zur Zeit nicht möglich....oder?!
Mit Zitat antworten
  #8  
Alt 22.03.2010, 10:08
Administrator
 
Registriert seit: 08.08.2007
Beiträge: 8.817
Standard

Müsstes es nicht lauten:

$this->app->remoting_lib->loadUserProfile(1);

Zitat:
Man doch über die *_get Funktion en schon ein array mitgeben, welches dann zu einem Query zusammengebaut werden und die jeweilige DB-Tabelle filtert. Nur tabellenübergreifende Queries sind zur Zeit nicht möglich....oder?!
Das macht meines Erachtens nach nicht viel Sinn, da die get Funktion nur ein eindimensionales Array zurück gibt (Du erhälts also immer exakt einen Datensatz) während die getall Funktion ein mehrdimensionales Array zurück geben würde, da es ja mahr als einen record geben kann, der auf die Abfrage passt.

Zitat:
Nur tabellenübergreifende Queries sind zur Zeit nicht möglich....oder?!
das würde ich über das API im Moment auch nicht realisieren, da Du dies ja auch über eine Kombination von get bzw getall Abfragen realisieren kannst.
Mit Zitat antworten
  #9  
Alt 22.03.2010, 10:30
Neuer Benutzer
 
Registriert seit: 01.02.2010
Beiträge: 17
Standard

Zitat:
$this->soapClient->app->remoting_lib->loadUserProfile(1);
ist aufruf von meiner lokalen PHP-Klasse.
Mit
Zitat:
$this->soapClient->mail_user_get(..);
rufe ich zB die Remote-Methode "mail_user_get" auf.
Kann es sein, dass das deswegen die Methode "loadUserProfile" nicht funktioniert, weil keine Sessin an die Methode übergeben wird?!

Zitat:
sites_shell_user_getall($session_id, array('domain_id' => 1, 'active' => 'y'));
Verstehe was Du meinst. Das ist ein Ansatz. Werde da mal was für meine Bedürfnisse zusammenbauen und das dann hier zur Diskussion veröffentlichen.
Mit Zitat antworten
  #10  
Alt 22.03.2010, 10:34
Administrator
 
Registriert seit: 08.08.2007
Beiträge: 8.817
Standard

Zitat:
ann es sein, dass das deswegen die Methode "loadUserProfile" nicht funktioniert, weil keine Sessin an die Methode übergeben wird?!
Bei mir funktioniert die einwandfrei in 3.0.2
Mit Zitat antworten
Antwort


Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an



Alle Zeitangaben in WEZ +2. Es ist jetzt 14:18 Uhr.


Powered by vBulletin® Version 3.8.1 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.6.0