xuserver
[ class tree: xuserver ] [ index: xuserver ] [ all elements ]

Class: xuClass

Source Location: /xuML.php

Class Overview

xuNode
   |
   --xuConnect
      |
      --xuXSLT
         |
         --xuClass

Classe d'encapsulation des classes d'objets


Author(s):

Version:

  • 1.6.1

Copyright:

  • Copyright (c) 2007 Gaël Jaunin, Meryl Simon

Variables

Methods


Child classes:

xuConcept
La classe abstraite xuConcept regroupe les Méthodes Publiques dont disposent les objets sans être instanciés.

Inherited Variables

Inherited Methods

Class: xuXSLT

xuXSLT::xsltApply()
Encapsulation des transformation XSLT
xuXSLT::xsltClean()
Nettoyage des caractères spéciaux du code html
xuXSLT::xsltForm()
Manipule le xuml et ne retient que la partie correspondant au groupe de propriétés (tab) sélectionné.
xuXSLT::xsltTranform()
Transformation de la structure XUML en HTML

Class: xuConnect

xuConnect::dataDelete()
suppression de l'objet dans la base de donnée
xuConnect::dataInsert()
Procède à l'insertion d'un nouvel enregistrement dans la base de données
xuConnect::dataLoad()
effectue la requête permettant de charger les valeurs des propriétés d'un objet
xuConnect::dataUpdate()
Met a jour les propriétés d'un objet dans la base de données reloads object
xuConnect::sqlBuild()
Construit et retourne une requête sql selon différents modes de construction attention

Class: xuNode

xuNode::xuNode()
xuNode::each()
Méthode chainable qui applique une fonction sur chaque objet dans la sélection en cours.
xuNode::first()
xuNode::flush()
imprime la chaine des valeurs de retour des methodes sur la réponse du serveur.
xuNode::mother()
donne accès à l'objet mère.
xuNode::next()
xuNode::parent()
donne accès à l'objet parent.
xuNode::prev()
xuNode::toggle()
xuNode::write()
Imprime la valeur de retour des methodes sur la réponse du serveur.
xuNode::_icon()
xuNode::_value()
retourne la valeur de la propriété désignée en paramètre
xuNode::_xml()
xuNode::__call()
Méthode magique qui permet d'appliquer les méthodes métier à une sélection d'objets de héritant de xuNode.
xuNode::__callMethod()
retourne la fonction closure appliquée en chaine et en boucle sur la sélection en cours lors d'un __call sur l'objet xuNode.
xuNode::__toString()
Méthode magique qui autorise la concatation du résultat d'une instruction phpChain dans une chaine de caractères.

Class Details

[line 1531]
Classe d'encapsulation des classes d'objets

les methodes xuml permettent de compléter la structure des objets (fichiers xuml) avec les valeurs des propriétés, les permissions liées au profil, les sous objets des collections

Les propriétés communes sont :

  • des tags HTML pour les images et les icones du système
  • des libellés standards (multilingue a implémenter)
les méthodes communes mappent le Framework jquery
  • C:\xuServer\web\xuserver.system\class\xuDatabase.php,
  • C:\xuServer\web\xuserver.system\class\xuML.php,
  • C:\xuServer\web\xuserver.system\class\xuWeb.php,
  • C:\xuServer\web\xuserver.system\class\xuUser.php

Tags:
version:  1.6.1
copyright:  Copyright (c) 2007 Gaël Jaunin, Meryl Simon
link:  http://www.xuserver.net/
license:  http://www.gnu.org/licenses/gpl.html


[ Top ]


Class Variables


[line 1642]

$ajaxid =

Tags:
access:  protected
Type:   mixed
[ Top ]


[line 1624]

$concept =

propriété qui porte le nom du concept qui définit un objet dans un module de travail

Dans une base de données, les tables stockent des objets et chaque entrée dans une table donne naissance à une instance.

Cependant, la struture des tables n'est pas suffisante pour décrire les aspects de "métier" d'un objet, comme calculer la somme de deux propriétés, definir des collections ou encore protéger l'accès de certaines informations de l'objet.

Il est donc nécessaire de créer une couche supplémentaire pour étend la notion de "classe" aux tables de la base de données.

Cette couche s'appelle le concept.

ex : la table "xam_user" comporte des user(s). ici, le "concept" prend la valeur "user". La structure de ce concept est décrite dans le fichier "user.xml" du module "xam".

Tags:
access:  public
Type:   string
[ Top ]


[line 1868]

$DataBase =

Tags:
access:  public
Type:   mixed
[ Top ]


[line 1633]

$dbid =

Tags:
access:  public
Type:   mixed
[ Top ]


[line 1553]

$db_resultset =

Recordset en cours d'utilisation Tags:
Type:   ressource
[ Top ]


[line 1853]

$echo =  ""

contient la valeur de retour des methodes.

la syntaxe de l'adresse de ces fichiers (.PNG 42px) : /xuserver.system/modules/{module}/images/{concept}.png

Type:   mixed
[ Top ]


[line 1777]

$icon_protected =  ""

Type:   mixed
[ Top ]


[line 1632]

$id =

propriété qui porte la valeur de l'identifiant unique d'une entrée dans une table la base de donnée.

Sa valeur devient le numéro de l'instance d'un objet.

Tags:
access:  public
Type:   int
[ Top ]


[line 1708]

$id_field =

nom du champs clefs de la table ou sont enregistrés les objects

propriété issue du fichier de structure

Tags:
see:  xuClass::$label_field
see:  xuClass::$table
see:  xuClass::$id
access:  public
Type:   string
[ Top ]


[line 1866]

$is_admin = "0"

Is this object under the use of an administrator user ? Tags:
access:  public
Type:   bool
[ Top ]


[line 1663]

$is_built =  false

La structure du concept décrite par un fichier XUML.

Prend la valeur "true" si la structure n'est pas décrite.

Type:   boolean
[ Top ]


[line 1546]

$is_instantiated = false

L'objet a-t-il déja été instancié ? Si une entrée existe dans la base de données pour créer une instance, la valeur passe a true.

Lors de l'appel à la methode xuClass::instantiate(), si l'objet a déja été instancié, la procédure de chargement est tronquée.

Si l'on souhaite recharger l'intance, préférer la méthode xuClass::reload()

Tags:
Type:   mixed
[ Top ]


[line 1657]

$is_protected =  false

Le concept est-il protégé par un privilège spécifique Tags:
access:  public
Type:   boolean
[ Top ]


[line 1717]

$label_field =

nom du champs comportant la dénomination de l'instance table ou sont enregistrés les objects

propriété issue du fichier de structure

Tags:
see:  xuClass::$table
see:  xuClass::$id_field
access:  public
Type:   string
[ Top ]


[line 1776]

$logo =  ""

URL du logo du concept interprété par xuClass

la syntaxe de l'adresse de ces fichiers (.PNG 42px) : /xuserver.system/modules/{module}/images/{concept}.png

Type:   mixed
[ Top ]


[line 1651]

$method =

propriété qui stocke le nom de la méthode en cours d'exécution sur un objet donné.

Une fois un objet instancié, cette propriété stocke l'action qui lui est demandé d'effectuer.

Tags:
see:  xuChainable
access:  public
Type:   string
[ Top ]


[line 1603]

$module =

propriété qui porte la nom du module de travail

La variable $this->module représente un espace de travail et de fonctionnalités. Un module se définit par l'ensemble des concepts qui le compose, et correspond a un groupe de tables dans la base de données.

ex : la table "xam_user" appartient au module xam. le modèle de données est un fichier dbDesigner nommé "_xam.xml"

Dans la pratique, chaque module possède son modèle de données et peut faire appel à des concepts issues des autres module installés.

Tags:
access:  public
Type:   string
[ Top ]


[line 1757]

$mold_structure =  true

Permet de bloquer l'application des modifications de la structure d'un objet avant l'appel a la fonction instantiate Si sa valeur vaut 'false', les permissions de l'utilisateur sont injectées dans la structure, mais la structure n'est pas modifiée : Les noeuds protégés pour lesquels l'utilisateur ne possede pas de privilèges ne sont pas effacés.
Type:   boolean
[ Top ]


[line 1855]

$mychain =  ""

Type:   mixed
[ Top ]


[line 1683]

$objectId =

contient l'identifiant de l'objet (module_concept_id ) Tags:
see:  xuClass::instantiate()
access:  public
Type:   string
[ Top ]


[line 1639]

$privilegeName = "module_concept.class:table"

Nom du privilege standard pour le concept interprété par xuClass

la syntaxe est : module_concept.class:table

Type:   mixed
[ Top ]


[line 1856]

$queue =  ""

Type:   mixed
[ Top ]


[line 1769]

$setCollections =  false

Doit-on charger les collections lors de l'instanciation de l'objet

Par défaut, le chargement des collections ne s'effectue que dans le cas ou l'on instancie xuObjet en précisant une feuille de style bien particulière

Tags:
see:  xuML::xumlSetCollection()
see:  xuClass::instantiate()
Type:   boolean
[ Top ]


[line 1675]

$sid =

cette propriété stocke ou définit la variable de session ajax.

$this->sid permet d'affecter une numéro unique a toute nouvelle transaction ajax. Tant que ce numero est reconduit dans une url, le serveur sait qu'une instance est en cours sur l'interface de l'utilisateur

Tags:
see:  xuClass::xsm_get()
access:  public
Type:   string
[ Top ]


[line 1585]

$sqlCONCAT = array()

Type:   mixed
[ Top ]


[line 1569]

$sqlFROM =

Composante FROM de la requête SQL générées par sqlBuild Tags:
see:  xuDatabase::sqlBuild()
Type:   string
[ Top ]


[line 1557]

$sqlList =

Type:   mixed
[ Top ]


[line 1583]

$sqlSEARCH =

Composante WHERE de la requête SQL générées par sqlBuild en mode recherche Tags:
see:  xuDatabase::sqlBuild()
Type:   string
[ Top ]


[line 1563]

$sqlSELECT =

Composante SELECT de la requête SQL générées par sqlBuild Tags:
see:  xuDatabase::sqlBuild()
Type:   string
[ Top ]


[line 1575]

$sqlWHERE =

Composante WHERE de la requête SQL générées par sqlBuild Tags:
see:  xuDatabase::sqlBuild()
Type:   string
[ Top ]


[line 1697]

$table =

Nom de la table ou sont enregistrés les objects

Propriété issue du fichier de structure. Pour les tables de vos modèles de donnée, il est recommandé d'utiliser la règle de nommage suivante : $module_$concept.

Par exemple : xam_user.

Tags:
see:  xuClass::$id_field
see:  xuClass::$label_field
access:  public
Type:   string
[ Top ]


[line 1781]

$toggle =

Type:   mixed
[ Top ]


[line 1780]

$upload_path =

Type:   mixed
[ Top ]


[line 1779]

$upload_url =

Type:   mixed
[ Top ]


[line 1739]

$xml =

objet DOMDocument stockant la structure d'un concept décrite par les fichiers xuml Tags:
see:  xuClass::$xpath
Type:   DOMDocument
[ Top ]


[line 1746]

$xpath =

objet DOMXPath permettant de parcourir le fichier de structure Tags:
see:  xuClass::$xml
Type:   DOMXPath
[ Top ]


[line 1733]

$xumlFilePath =

Type:   mixed
[ Top ]


[line 1731]

$_caption =  ""

lorsque l'objet est instancié cette propriété stocke la valeur de $this->label_field Tags:
Type:   string
[ Top ]


[line 1724]

$_caption_utf8 = ""

stocke la valeur Encodée UTF8 de $this->label_field Tags:
Type:   string
[ Top ]


[line 1837]

$_collections = array()

tableau associatif contenant des objets xuCollection

La clef de recherche d'une collection dans ce tableau porte la syntaxe : $clxModule _ $clxConcept

Il est chargé lors de l'appel a la methode xuML::xumlSetCollections()

Tags:
access:  protected
Type:   array
[ Top ]


[line 1665]

$_display =

Tags:
access:  public
Type:   mixed
[ Top ]


[line 1846]

$_methods = array()

tableau non associatif contenant des objets xuMethod

il est chargé lors de l'appel a la methode xuML::xumlSetMethods() Ce tableau de methodes n'est pas utilisé dans la version 1 du framework

Tags:
access:  protected
Type:   array
[ Top ]


[line 1827]

$_properties = array()

tableau contenant les propriétés mises en oeuvre lors d'une requête sql

La clef de recherche d'une propriété dans ce tableau est le nom de la propriété (attribut "id") Les attributs des propriétés correspondent à celles de la DTD des fichiers xuml (à quelques exceptions) :

  • "module", "concept",
  • "table" : table dans laquelle se trouve la propriété
  • "obj_id" : nom de la clefs primaire de la table
  • "id" : nom de la propriété
  • "type" : type de données (voir la table système _propertytype)
  • "label" : libellé de la propriété (affiché dans les formulaires)
  • "description" : petite description de l'information saisie dans cette propriété
  • "value" : valeur de la propriété si l'instance existe (valeur par défaut "dataToLoad")
  • "list" : le champs est-il inclus dans les listes
  • "search" : le champs est-il inclus dans les recherches
  • "insert" : le champs est-il présent à la création d'une nouvelle instance de l'objet
  • deprecated : "longCaption" : la valeur de la propriété doit-elle faire partie de la description de l'objet
Il est chargé lors de l'appel a la methode xuConnect::dataLoad() et comporte également les champs des tables liées par une clause sql de type JOIN

Tags:
see:  xuClass::$_properties
see:  xuClass::property()
see:  xuProperty
see:  xuClass::xumlSet()
see:  xuClass::_property()
see:  xuDatabase::sqlBuildProperty()
access:  protected
Type:   array
[ Top ]


[line 1794]

$_tabs = array()

Tableau contenant les objets de type xuTab (formulaires, groupes de propriétés) définis dans la structure d'un objet Tags:
see:  xuClass::tab()
see:  xuTab
see:  xuClass::$_tab
see:  xuClass::xumlSet()
access:  protected
Type:   array
[ Top ]



Class Methods


constructor xuClass [line 1884]

xuClass xuClass( [ $module = ""], [ $concept = ""], [ $dbid = "0"])



Parameters:

   $module  
   $concept  
   $dbid  

[ Top ]

method codeCompletion [line 2169]

void codeCompletion( [ $node = ""])



Parameters:

   $node  

[ Top ]

method collection [line 2138]

void collection( [string $xname = "__NOTHING__"])

Sélectionne les collections spécifiées

dans le paramètre $xname



Parameters:

string   $xname  

[ Top ]

method duplicate [line 2013]

void duplicate( )



[ Top ]

method each [line 2029]

void each( $pfunc)



Overrides xuNode::each() (Méthode chainable qui applique une fonction sur chaque objet dans la sélection en cours.)

Parameters:

   $pfunc  

[ Top ]

method find [line 2151]

void find( $xquery)



Parameters:

   $xquery  

[ Top ]

method instantiate [line 1966]

void instantiate( string $mode)

Methode d'instanciation d'un concept

Hill xml structure with Database information and creates xuClass

  • properties
  • tabs
  • collections
  • methods



Parameters:

string   $mode  

[ Top ]

method is_protected [line 2261]

boolean is_protected( )

Détermine si le concept de la classe active est protégée par un privilège

Le résultat est dépendant de l'état général du système

Tags:
see:  xuUser::$protected_concept_val
access:  protected


[ Top ]

method method [line 2147]

void method( [string $xname = "__NOTHING__"])

Sélectionne les collections spécifiées

dans le paramètre $xname



Parameters:

string   $xname  

[ Top ]

method pGetArray [line 2180]

void pGetArray( $nodename)

Tags:
access:  protected


Parameters:

   $nodename  

[ Top ]

method populate [line 2080]

array populate( [string $toggle = "table"])

Remplit et retourne le tableau _selection avec les valeurs contenues dans $db_resultset Tags:
return:  xuClass::$_selection


Parameters:

string   $toggle  

[ Top ]

method populate_table [line 2046]

void populate_table( )

Genère et retourne le tableau $this->_selection du concept concerné

Cette methode remplit la propriété $this->dataResultset (recordset) utilisée par la méthode générale populate()

Tags:
see:  xuML::populate()


[ Top ]

method property [line 2129]

void property( [string $xname = "__NOTHING__"])

Sélectionne les propriétés spécifiées

dans le paramètre $xname



Parameters:

string   $xname  

[ Top ]

method reload [line 2007]

void reload( )

recharge uniquement la structure php

[ Top ]

method reset [line 1998]

void reset( )

recharge complètement l'objet : structure xml et structure php

[ Top ]

method sidReset [line 2295]

void sidReset( )

Tags:
access:  protected


[ Top ]

method sys [line 1951]

void sys( [ $toggle = true])

Determine si l'utilisateur de l'objet est le système ou non.

true : le systeme de privileges est désactivé. tous les onglets, collections et méthodes sont disponibles false : le systeme de privileges activé en fonction du login



Parameters:

   $toggle  

[ Top ]

method tab [line 2120]

void tab( [string $xname = "__NOTHING__"])

Sélectionne les onglets de propriétés spécifiés

dans le paramètre $xname



Parameters:

string   $xname  

[ Top ]

method uninstantiate [line 1988]

void uninstantiate( )



[ Top ]

method xumlNodeMove [line 3052]

void xumlNodeMove( node $node, node $toNode)

methode pour déplacer un noeud xml Tags:
access:  protected


Parameters:

node   $node  
node   $toNode  

[ Top ]

method xumlNodeRemove [line 3064]

void xumlNodeRemove( &$node, DOMNode $node)

remove a node within xuml Tags:
see:  xuClass::$mold_structure
access:  protected


Parameters:

DOMNode   $node  
   &$node  

[ Top ]

method xumlSetAttributes [line 2928]

void xumlSetAttributes( $node)

IMPORTANT : SETTING ATTRIBUTES IN XUML NODE

depending on nodeName (class, tab, property, method) attributes are tested and default values are set

Tags:
access:  protected


Parameters:

   $node  

[ Top ]

method xumlSetCollection [line 2810]

void xumlSetCollection( $node, xuCollection $newClx, [ $setCollections = false], [ $setRecursive = false])

Méthode qui remplit la structure xuml instantiée Elle est appellée uniquement si la propriété xuClass::$setCollections est passée à "true" avant de faire appel à xuClass::instantiate()

Elle procède au remplissage du tableau xuML::$_collections par des objets de type xuCollection

Tags:
see:  xuClass::instantiate()
see:  xuCollection::xuCollection()
access:  protected


Parameters:

   $node  
xuCollection   $newClx  
   $setCollections  
   $setRecursive  

[ Top ]

method xumlSetCollections [line 2723]

void xumlSetCollections( [ $setCollections = false], [ $setRecursive = false])

Remplit le tableau xuClass::$_collections

Cette méthode est appelée lors de l'instanciation d'un concept Elle procède au remplissage du tableau xuML::$_collections par des objets de type xuCollection

Tags:
see:  xuClass::instantiate()
see:  xuCollection::xuCollection()
access:  protected


Parameters:

   $setCollections  
   $setRecursive  

[ Top ]

method xumlSetMethods [line 2674]

void xumlSetMethods( )

Remplit le tableau xuClass::$_methods

Cette méthode est appelée lors de l'instanciation d'un concept Elle procède au remplissage du tableau xuML::$_methods par des objets de type xuMethod les methodes protégées pour lesquelles l'utilisateur n'a pas accès sont éffacées de la structure et demeurent donc indisponibles.

Tags:
see:  xuClass::instantiate()
see:  xuMethod::xuMethod()
access:  protected


[ Top ]

method xumlSetProperties [line 2535]

void xumlSetProperties( )

Charge les propriétés d'une instance d'un concept et complète sa structure xuml Cette méthode est appelée lors de l'instanciation d'un concept

  • elle procède au remplissage du tableau $this->_tabs[]
  • elle donne ses valeurs à l'objet $this->P

Tags:
see:  xuClass::$P
see:  xuClass::_properties()
see:  xuClass::instantiate()
access:  protected


[ Top ]

method _sql [line 1936]

void _sql( [ $mode = "load"])

Tags:
access:  public


Parameters:

   $mode  

[ Top ]

method _xml [line 1940]

void _xml( )

Tags:
access:  public


Overrides xuNode::_xml() (parent method not documented)

[ Top ]


Documentation generated on Thu, 22 Dec 2011 11:33:10 +0000 by phpDocumentor 1.4.3