$db
$db :null|\database
Instance de connexion à la base de données.
Définition de la classe 'table'.
Cette classe permet de 'tabler' les champs suivant une requete.
$db :null|\database
Instance de connexion à la base de données.
$champRecherche :array
Tableau des champs sur lesquels la recherche est effectuee
None found |
$_etatRechercheAv :boolean
Etat de la recherche avancee : true -> activee, false -> desactivee
Pour activer la recherche avancee sur un objet particulier, rendez-vous dans le fichier sql/[...]/objet.inc.php de l'objet et ajoutez le tableau suivant aux tableaux d'options:
EX: $options[] = (1) array('type' => 'search', (2) 'display' => true, (3) 'advanced' => $champs, (4) 'default_form' => 'advanced', (5) 'absolute_object' => 'om_utilisateur');
(1) 'type' : OBLIGATOIRE Permet de definir le type de l'option. Pour une recherche il faut saisir 'search'.
(2) 'display' : OBLIGATOIRE Permet d'afficher ou non la recherche, tout en conservant sa configuration Supporte les valeurs 'true' et 'false'.
(3) 'advanced' : OBLIGATOIRE Permet de preciser que le formulaire de recherche est un formulaire de recherche avancee. Cette cle doit contenir le tableau des champs configures pour la recherche (voir plus bas pour la configuration).
(4) 'default_form' : optionnel Permet de choisir quel formulaire de recherche est ouvert par defaut. La valeur 'advanced' permet d'afficher le formulaire de recherche multi-criteres. Les autres valeurs ou si 'default_form' n'est pas configure, affichent le formulaire de recherche mono-critere.
(5) 'absolute_object' : OBLIGATOIRE Permet de specifier le nom de la table en base de donnees de l'objet recherche.
None found |
$dbChampRechercheAv :array
Liste des champs configures pour le formulaire de recherche avancee.
Cette liste sera initialisee seulement si la recherche avancee est activee.
None found |
$htmlChampRechercheAv :array
Liste des attributs 'name' des champs HTML composant le formulaire de recherche avancee.
Ces valeurs sont les cles du tableau $_POST contenant les valeurs a rechercher.
Cette liste sera initialisee seulement si la recherche avancee est activee.
None found |
$paramChampRechercheAv :array
Tableau de parametres permettant de construire le formulaire de recherche avancee et d'interroger les bonnes tables et colonnes de la base de donnees.
Les cles de ce tableau sont les noms des champs du formulaire de recherche.
Les valeurs sont des tableaux associatif contenant la configuration du champ a savoir : la colonne et la table dans laquel s'effectuera la recherche de sa valeur, son type, sa taille, etc.
EX: array('dentifiant_utilisateur' (1) =>
(2) array('colonne' => 'om_utilisateur',
(3) 'table' => 'om_utilisateur',
(4) 'type' => 'text',
(5) 'libelle' => _('Identifiant'),
(6) 'taille' => 10,
(7) 'max' => 8));
(1) 'identifiant_utilisateur' : OBLIGATOIRE Nom unique du champ HTML (attribut name du champ).
(2) 'colonne' : OBLIGATOIRE Nom de la colonne de la base de donnees qui sera interrogee si $_POST contient la cle 'identifiant_utilisateur'.
(3) 'table' : OBLIGATOIRE Nom de la table de la base de donnees qui sera interrogee si $_POST contient la cle 'identifiant_utilisateur'.
(4) 'type' : OBLIGATOIRE Type du champ HTML a afficher. Cela peut-etre date, text, select, ou tout autre type supporte par la classe formulaire. Pour les champs de type select, le nom du champ HTML (1) doit etre le meme que le nom de la colonne (2). A corriger.
(5) 'libelle' : OBLIGATOIRE Le label qui sera affiche a cote du champ dans le formulaire de recherche.
(6) 'taille' : optionnel La taille du champ HTML (attribut size).
(7) 'max' : optionnel La longueur maximale de la valeur du champ (attribut maxlength).
EX: Recherche des utilisateurs crees entre telle et telle date
$champs['date_de_creation'] =
array('colonne' => 'creation_date',
'table' => 'user',
'libelle' => _('Date de creation'),
'type' => 'date',
'where' => 'intervaldate');
Cette configuration permet de creer deux champs HTML datepicker:
date_de_creation_max : permet de saisir une date maximale
Ces champs permettent de rechercher les uilisateurs dont la date de de creations est incluse dans l'intervalle saisi, bornes comprises. Il est possible de ne saisir qu'une seule date afin de rechercher les utilisateurs ayant ete crees avant ou apres une date particuliere.
EX: Recherche des utilisateurs administrateurs
L'information se trouve directement dans la table utilisateur.
$champs['administrator'] =
array('colonne' => 'is_admin',
'table' => 'user',
'libelle' => _('Administrateur'),
'type' => 'select',
'subtype' => 'manualselect',
'args' => $args);
$args[0] = array('', 'true', 'false');
$args[1] = array(_('Tous'), _('Oui'), _('Non'));
Cette configuration permet de creer un champ HTML de type select avec trois choix:
Non (valeur 'false')
Le tableau $args[0] contient les valeurs associes aux choix. Elles seront recherchees telles quelles dans la base de donnees.
En selectionnant 'Oui', la requete sera construite comme suit:
WHERE user.is_admin::varchar like 'true'
Il est possible de saisir n'importe quelle chaine de caracteres dans $args[0] et pas seulement des valeurs booleenes.
Attention cette recherche n'est pas sensible a la casse. Plusieurs fonction de formatage sont appelees sur 'user.is_admin' avant de tester l'egalite.
EX: Recherche des utilisateurs administrateurs
L'information se trouve non pas dans la table utilisateur mais dans la table administrateur disposant d'une colonne user_id (cle etrangere). Il faut utiliser une sous-requete pour recuperer l'ensemble des identifiants de le table administrateur afin de tester si un identifiant utilisateur est present dans cette liste.
$champs['administrator'] =
array('colonne' => 'id',
'table' => 'user',
'libelle' => _('Type d'utilisateur'),
'type' => 'select',
'subtype' => 'manualselect',
'where' => 'insubquery',
'args' => $args,
'subquery' => $subquery);
$args[0] = array('', 'true', 'false');
$args[1] = array(_('Tous'),
_('Administrateurs'),
_('Utilisateurs simples'));
$subquery = 'SELECT user_id FROM admin';
Cette configuration permet de creer un champ HTML de type select avec trois choix:
Utilisateurs simples (valeur 'false')
Le tableau $args[0] contient les valeurs associes aux choix. La valeur 'true' indique que les identifiants des utilisateurs doivent se trouver dans la sous-requete, la valeur 'false' indique qu'ils ne doivent pas se trouver dans la sous-requete. Contrairement a l'exemple 2, elles ne seront pas recherchees telles quelles dans la base de donnees et ne doivent surtout pas etre modifiees.
En selectionnant 'Administrateurs', la requete sera construite comme suit:
WHERE user.id IN (SELECT user_id FROM admin)
None found |
$_rechercheAvanceeFaite :boolean
Permet de savoir si une recherche avancee a ete effectuee.
Ce parametre est false:
None found |
$absolute_object :string
Nom de la classe métier pour la recherche avancée.
None found |
$advs_default_form :string
Permet de definir quel formulaire de recherche avancee est ouvert par defaut
'simple' -> mono-critere 'avanced' -> multi-critere
Dans tous les autres cas, la recherche mono-critere est affichee
None found |
None found |
$_om_validite :boolean
Permet de savoir si le tableau actuel est un tableau d'objets a date de validite.
None found |
None found |
$f :null|\application
Instance de la classe 'application'.
None found |
None found |
__construct(string $aff,string $table,integer $serie,array $champAffiche,array $champRecherche,string $tri,string $selection,string $edition = "",array $options = array(),null|string $advs_id = null,boolean $om_validite = false): void
Constructeur.
Cette methode permet d'affecter tous les parametres aux attributs de la classe auxquels ils correspondent
string | $aff | Nom de l'objet metier |
string | $table | Critere from de la requete |
integer | $serie | Nombre d'enregistrement(s) par page |
array | $champAffiche | Tableau des champs a afficher |
array | $champRecherche | Tableau des champs sur lesquels la recherche est effectuee |
string | $tri | Critere de tri de la requete |
string | $selection | Clause de selection dans la requete |
string | $edition | Lien vers edition pdf |
array | $options | |
null|string | $advs_id | |
boolean | $om_validite |
None found |
setParams(array $params = array()): void
Mutateur pour la propriété 'params'.
array | $params |
None found |
getParam(null|string $param = NULL): string
Accesseur pour la propriété 'params'.
null|string | $param |
None found |
setParam(null|string $param = null,null|string $value = null): void
Mutateur pour la propriété 'params'.
null|string | $param | |
null|string | $value |
None found |
getKeyForColumnName(string $columnname = ""): string
Retourne la clé numérique correspondante au nom de colonne ou au label dans la propriété 'champAffiche'.
string | $columnname | Nom de colonne ou label. |
None found |
composeURL(array $params = array()): string
Compose une URL.
Le principe est d'utiliser la propriété 'params' pour tous les paramètres de l'URL sauf si ils ont une valeur dans le paramètre passé.
array | $params | Tableau de valeurs à surcharger. |
None found |
countActions(array $actions): integer
Retourne le nombre d'actions affichables pour une liste donnee.
array | $actions | Tableau d'actions. |
None found |
saveActionsNumber(): void
Compte le nombre d'actions affichables: - en coin - a gauche
Une action affichable est une action ayant un lien non vide et != '#'.
None found |
saveUserActions(mixed $actions)
Initialise le tableau $this->actions avec un tableau donne.
$this->actions est le tableau des actions que l'utilisateur a le droit d'effectuer.
mixed | $actions | liste des actions |
None found |
getColumnsName(resource $resource = null): array
Retourne la liste des colonnes de la ressource de base de données (résultat de requête) passée en paramètre.
resource | $resource | Ressource de base de données (résultat de requête). |
None found |
display(array $params = array(),array $actions = array(),mixed $db = NULL,string $class = "tab",boolean $onglet = false): void
Affichage principal.
array | $params | |
array | $actions | |
mixed | $db | |
string | $class | Prefixe de la classe CSS a utiliser |
boolean | $onglet |
None found |
displayHeader(array $info,string $class = "tab",boolean $onglet = false): void
Calcule et affiche la ligne d'entête du tableau.
array | $info | |
string | $class | Prefixe de la classe CSS a utiliser |
boolean | $onglet |
None found |
displaySearch(string $style = "tab"): void
Methode permettant l'affichage de la recherche
Cette methode permet d'afficher le formulaire de recherche
string | $style | Prefixe de la classe CSS a utiliser |
None found |
displayPagination(integer $nbligne,string $style = "tab",boolean $onglet = false): void
Calcule et affiche le bloc de pagination.
integer | $nbligne | |
string | $style | Prefixe de la classe CSS a utiliser |
boolean | $onglet |
None found |
composeChamp(): string
Méthode de composition de la liste des champs du SELECT
None found |
composeSearchValue(string $value): string
Méthode permettant de retraiter la chaîne recherchée en intégrant les valeurs multiples séparées par une ',' ainsi que l'échappement des caractères interdits
string | $value | Chaîne recherchée. |
None found |
normalizeSearchValue(string $value): string
Méthode permettant de faire les traitements d'échappements et de normalisation sur une chaîne destinée à la recherche
string | $value | Chaîne recherchée à normaliser. |
None found |
normalizeFieldValue(string $searchField): string
Méthode permettant de normaliser les valeurs des champs de recherche en vue de les comparer aux valeurs recherchées
string | $searchField | Champ de recherche à normaliser. |
None found |
composeSimpleSearch(string $champ,string $tri): void
Composition et stockage de la requête dans le cas d'une recherche simple.
string | $champ | Critère SELECT de la requête. |
string | $tri | Critère TRI de la requête. |
None found |
composeAdvancedSearch(\[type] $champ,\[type] $tri): \[type]
Méthode de composition de la recherche avancée.
\[type] | $champ | [description] |
\[type] | $tri | [description] |
[description]
None found |
composeQuery(): void
Methode de construction de la requete
Cette methode permet de construire les deux requetes sql sqlC en concatenant les differents parametres
None found |
createSQLW(string $searchField,string $searchValue,string $opp): string
Création de la requête
string | $searchField | |
string | $searchValue | |
string | $opp |
None found |
isAdvancedSearchEnabled(): boolean
Retourne true si la recherche avancee est activee, false sinon.
Configure la recherche au premier appel si celle ci est activee.
etat de la recherche avancee: activee/desactivee
None found |
composeExportUrl(array $params = array()): string
Compose une URL pour l'export.
Le principe est d'utiliser la propriété 'params' pour tous les paramètres de l'URL sauf si ils ont une valeur dans le paramètre passé.
array | $params | Tableau de valeurs à surcharger. |
None found |
serialize_criterions(array $post): void
Stocke en variable de session les critères de la recherche avancée.
array | $post | Critères de la recherche avancée. |
None found |
unserialize_criterions(): array
Retour les critères de la recherche avancée.
None found |
displayTableHeadLineStart(string $style = "tab"): void
Layout.
string | $style | Classe CSS. |
None found |
displayTableStart(string $class = ""): void
Layout.
string | $class | Classe CSS. |
None found |
init_om_application(): boolean
Initialisation de la classe 'application'.
Cette méthode permet de vérifier que l'attribut f de la classe contient bien la ressource utils du framework et si ce n'est pas le cas de la récupérer.
None found |
addToLog(string $message,integer $type = DEBUG_MODE): void
Ajout d'un message au système de logs.
Cette méthode permet de logger un message.
string | $message | Message à logger. |
integer | $type | Niveau de log du message. |
None found |
add_aggregate_filters(array $filters,string $opp): string
Cree une chaine en ajoutant les criteres de recherche avancee utilisant des fonctions d'aggregation les uns a la suite des autres.
Cela permet de construire l'expression SQL devant se placer apres la clause HAVING.
array | $filters | liste des crietes de recherche |
string | $opp | operateur binaire 'AND' ou 'OR' |
l'expression se placant apres le HAVING
None found |
_del_substr(string $str,string $substr,string $rep = ""): string
Supprime la chaine $substr de $str si $substr existe.
Methode insensible à la casse
string | $str | ... |
string | $substr | ... |
string | $rep | optionnel, $rep peut remplacer $substr |
le parametre $str traite
None found |
getPostedChampRechercheAv(boolean $with_table_prefix = false): array
Retourne la liste des champs de recherche avancee qui ont ete envoyes par POST et dont la valeur n'est pas vide.
Cela permet d'utiliser dans la clause SQL WHERE uniquement les champs sollicites.
De plus, si la requete SQL contient des alias de table comme
utilisateur as u
le parametre $with_table_prefix permet de retourner
la liste des champs. (A condition que le parametre table_prefix
existe).
boolean | $with_table_prefix | ... |
None found |
None found |
initHtmlChampRechercheAv(): array
Permet d'initialiser la liste des champs HTML a afficher par le formulaire de recherche avancee.
liste des attributs "name" des champs
None found |
add_action_to_global_actions(array $action = array()): void
Mutateur pour la propriété '_global_actions'.
array | $action | Tableau de configuration d'une action |
None found |
process_global_action_validity(): void
Gère l'action globale 'om_validite'.
None found |
process_global_action_edition(): void
Gère l'action globale 'edition pdf'.
None found |
process_global_action_export(): void
Ajoute les boutons d'export globaux.
Si l'export est paramétré dans le tableau $options du fichier .inc.php d'un objet, cette méthode va afficher le bouton au dessus du listing.
None found |
None found |