Bibliothèque Mgr

De ISPWiki.

Sommaire

Introduction

La bibliothèque a été créée pour le fonctionnement sous nos produits des scripts d'utilisateur.

Utilisation dans Perl

Veuillez commencer à partir des lignes:

BEGIN { push @INC, '/usr/local/ispmgr/lib/perl' }

use Mgr;

Maintenant il peut utiliser les fonctions de la bibliothèque.

Requêtes au panneau d'administration (fonction query)

Pour réaliser une requête au panneau d'administration, veuillez utiliser la fonction query:

($xmldoc, $xmlroot) = Mgr::query (nom_de_fonction, liste_des_paramètres [, type_de_sortie]);

Où:

nom_de_fonction
le nom de fonction du panneau d'administration qui doit être appelée.
liste_des_paramètres
les paramètres qu'il faut transférer au panneau d'administration. C'est la liste des listes. Par exemple: [['elid', 'root'], ['su', 'admin']]
type_de_sortie
le type de XML qu'il faut obtenir. Il y a des variantes possibles: xml (par défaut), devel. Ce paramètre n'est pas obligatoire.

A titre des résultats, vous recevez les deux valeurs:

  1. XML::LibXML::Document (document XML)
  2. XML::LibXML::Node (élément racine XML)

Exemples d'utilisation

($xmldoc, $xmlroot) = Mgr::query ('user', []);

On obtient la liste des utilisateurs.

($xmldoc, $xmlroot) = Mgr::query ('user.edit', [ ['elid', 'someuser'] ]);

On obtient les données d'utilisateur someuser.

($xmldoc, $xmlroot) = Mgr::query ('user.edit', [ ['elid', 'someuser'] ], 'devel');

On obtient les données d'utilisateur someuser au format 'devel'.

Utilisation dans Python

Veuillez commencer à partir des lignes:

from sys import path
path.append('/usr/local/ispmgr/lib/python') 
import mgr

Maintenant il peut utiliser les fonctions de la bibliothèque.

Requêtes au panneau d'administration (fonction query)

Pour réaliser une requête au panneau d'administration, veuillez utiliser la fonction query:

xmldoc, xmlroot = mgr.query(nom_de_fonction, liste_des_paramètres [, type_de_sortie] [, mgrname]);

où:

nom_de_fonction
le nom de fonction du panneau d'administration qui doit être appelée.
liste_des_paramètres
les paramètres qu'il faut transférer au panneau d'administration. C'est la liste des listes. Par exemple: [['elid', 'root'], ['su', 'admin']]
type_de_sortie
le type de XML qu'il faut obtenir. Il y a des variantes possibles: xml (par défaut), devel. Ce paramètre n'est pas obligatoire.
mgrname
quelle panneau de configuration. Il y a des variantes possibles: ispmgr (par défaut), billmgr et etc. Ce paramètre n'est pas obligatoire

A titre des résultats, vous recevez les deux valeurs:

  1. xml.dom.minidom.Document (document XML)
  2. xml.dom.minidom.Element (élément racine XML)

Exemples d'utilisation

xmldoc, xmlroot = mgr.query('user', [])

On obtient la liste des utilisateurs.

xmldoc, xmlroot = mgr.query('user.edit', [ ['elid', 'someuser'] ])

On obtient les données d'utilisateur someuser.

xmldoc, xmlroot = mgr.query('user.edit', [ ['elid', 'someuser'] ], out='devel')

On obtient les données d'utilisateur someuser au format 'devel'.

Comment obtenir les données d'utilisateur courant (fonction session)

Pour obtenir les données d'utilisateur courant (qui a réalisé la requête à votre extension), il faut utiliser la fonction session.

ses = mgr.session(nom_cookie, [, objet_CGI] [, mgrname]);

où:

nom_cookie
le nom de cookie du panneau d'administration. Par exemple, 'ispmgr4'.
objet_CGI
l'objet du module standart Perl CGI: $Q = new CGI.
mgrname
quelle panneau de configuration. Il y a des variantes possibles: ispmgr (par défaut), billmgr et etc. Ce paramètre n'est pas obligatoire

La fonction retourne none (l'utilisateur n'a pas été trouvé) ou le lien vers la hachage avec les clés::

skin
Thème graphique courant.
lang
la langue courante.
sesid
Id de session d'utilisateur.
username
Nom d'utilisateur.
ip
IP d'utilisateur.
level
Niveau d'accès de l'utilisateur.

Si la requête a été effectuée via mgrctl, username ne s'affiche que.

Exemples d'utilisation

ses = mgr.session('ispmgr4')
if ses is None or ses['username'] != 'root':
    print "Authentication failed!\n"

Si l'utilisateur ne s'identifie pas ou si l'utilisateur n'est pas root — tapez la ligne de défaut dans le champ d'identification.

Utilisation dans Python

Veuillez commencer à partir des lignes:

from sys import path
path.append('/usr/local/ispmgr/lib/python') 
import mgr

Maintenant il peut utiliser les fonctions de la bibliothèque.

Requêtes au panneau d'administration (fonction query)

Pour réaliser une requête au panneau d'administration, veuillez utiliser la fonction query:

xmldoc, xmlroot = mgr.query(nom_de_fonction, liste_des_paramètres [, type_de_sortie] [, mgrname]);

où:

nom_de_fonction
le nom de fonction du panneau d'administration qui doit être appelée.
liste_des_paramètres
les paramètres qu'il faut transférer au panneau d'administration. C'est la liste des listes. Par exemple: [['elid', 'root'], ['su', 'admin']]
type_de_sortie
le type de XML qu'il faut obtenir. Il y a des variantes possibles: xml (par défaut), devel. Ce paramètre n'est pas obligatoire.
mgrname
quelle panneau de configuration. Il y a des variantes possibles: ispmgr (par défaut), billmgr et etc. Ce paramètre n'est pas obligatoire

A titre des résultats, vous recevez les deux valeurs:

  1. xml.dom.minidom.Document (document XML)
  2. xml.dom.minidom.Element (élément racine XML)

Exemples d'utilisation

xmldoc, xmlroot = mgr.query('user', [])

On obtient la liste des utilisateurs.

xmldoc, xmlroot = mgr.query('user.edit', [ ['elid', 'someuser'] ])

On obtient les données d'utilisateur someuser.

xmldoc, xmlroot = mgr.query('user.edit', [ ['elid', 'someuser'] ], out='devel')

On obtient les données d'utilisateur someuser au format 'devel'.

Comment obtenir les données d'utilisateur courant (fonction session)

Pour obtenir les données d'utilisateur courant (qui a réalisé la requête à votre extension), il faut utiliser la fonction session.

ses = mgr.session(nom_cookie, [, objet_CGI] [, mgrname]);

où:

nom_cookie
le nom de cookie du panneau d'administration. Par exemple, 'ispmgr4'.
objet_CGI
l'objet qui sera utilisé pour obtenir le cookie. La variable par défaut est HTTP_COOKIE. Ce paramètre n'est pas obligatoire.
mgrname
quelle panneau de configuration. Il y a des variantes possibles: ispmgr (par défaut), billmgr et etc. Ce paramètre n'est pas obligatoire.

La fonction retourne none (l'utilisateur n'a pas été trouvé) ou le lien vers la hachage avec les clés::

skin
Thème graphique courant.
lang
la langue courante.
sesid
Id de session d'utilisateur.
username
Nom d'utilisateur.
ip
IP d'utilisateur.
level
Niveau d'accès de l'utilisateur.

Si la requête a été effectuée via mgrctl, username ne s'affiche que.

Exemples d'utilisation

ses = mgr.session('ispmgr4')
if ses is None or ses['username'] != 'root':
    print "Authentication failed!\n"

Si l'utilisateur ne s'identifie pas ou si l'utilisateur n'est pas root — tapez la ligne de défaut dans le champ d'identification.

Cet article vous a-t-il été utile? Oui | Non
Affichages
Outils personnels