phpDocumentor

bo

Table of Contents

Classes

IpAddressSqlDef
Définition du schéma de la table ipaddress et de son contenu
Request2GBox
classe traduisant un URI correspondant à une requête WMS ou tile dans le GBox de la loc. de la requête
HeatData
construit un enregistrement pour carte de chaleur à partir de l'URI de la requête
GBoxAsPolygon
Analyse un GBox fourni par gdalinfo comme polygone GeoJSON pour déterminer s'il intersecte ou non l'antiméridien
GBoxBo
Ajout de fonctionnalités à \gegeom\GBox
EBoxBo
extension de EBox avec possibilité de création à partir du champ cornerCoordinates de gdalinfo
GdalInfoBo
contenu du gdalinfo d'un fichier .tif ou .pdf.
Login
Gestion du login
GeoRefImage
Image principale ou cartouche de la carte
MapArchive
analyse les fichiers d'une archive d'une carte pour évaluer sa validité et afficher le contenu
MapArchiveStore
Répertoire contenant 2 sous-répertoires archives et current
MapMetadata
construit les MD synthétiques d'une carte à partir des MD ISO dans le 7z
My7zArchive
étend la classe SevenZipArchive par l'ajout de 2 méthodes simplifiant l'extraction temporaire d'un fichier.
Portfolio
Portefeuille des cartes exposées sur ShomGt issu des fichiers .md.json

Constants

FORCE_VALIDATION  = false
vrai ssi possibilité de forcer la validation d'une carte invalide
USER_TABLE_SCHEMA  = ['description' => "Ce dictionnaire définit le schéma d'une table SQL avec:\n" . " - le champ 'comment' précisant la table concernée,\n" . " - le champ obligatoire 'columns' définissant le dictionnaire des colonnes avec pour chaque entrée:\n" . " - la clé définissant le nom SQL de la colonne,\n" . " - le champ 'type' obligatoire définissant le type SQL de la colonne,\n" . " - le champ 'keyOrNull' définissant si la colonne est ou non une clé et si elle peut ou non être nulle\n" . " - le champ 'comment' précisant un commentaire sur la colonne.\n" . " - pour les colonnes de type 'enum' correspondant à une énumération le champ 'enum'\n" . " définit les valeurs possibles dans un dictionnaire où chaque entrée a:\n" . " - pour clé la valeur de l'énumération et\n" . " - pour valeur une définition et/ou un commentaire sur cette valeur.", 'comment' => "table des utilisateurs", 'columns' => ['email' => ['type' => 'varchar(256)', 'keyOrNull' => 'primary key', 'comment' => "adresse email"], 'epasswd' => ['type' => 'longtext', 'comment' => "mot de passe encrypté, null à la créatin d'un compte temporaire non valide"], 'newepasswd' => ['type' => 'longtext', 'comment' => "nouveau mot de passe encrypté, utilisé en cas de chgt de mot de passe"], 'role' => ['type' => 'enum', 'enum' => ['normal' => "utilisateur normal ayant le droit de consulter les cartes, d'en ajouter et d'en supprimer", 'admin' => "administrateur ayant en plus de l'utilisateur normal des droits supplémentaires,\n" . "notamment le droit de changer le rôle des utilisateurs", 'restricted' => "utilisateur ayant le droit de consulter les cartes mais pas d'en ajouter, ni d'en supprimer", 'banned' => "utilisateur banni n'ayant aucun droit, et n'ayant pas le droit de réactiver son compte", 'suspended' => "utilisateur suspendu en l'absence de confirmation pendant un délai d'un an,\n" . "il n'a plus aucun droit jusqu'à ce qu'il réactive son compte.\n" . "Il peut réactiver son compte soit en cliquant sur le lien qui lui a été envoyé par mail,\n" . "soit en exécutant le processus de création de compte", 'closed' => "utilisateur ayant demandé à fermer son compte et pouvant le réactiver\n" . "en exécutant à nouveau le processus de création de compte", 'temp' => "utilisateur en cours de création dont la validité n'a pas été vérifiée,\n" . "et n'ayant aucun droit en attendant sa validation par mail", 'system' => "utilisateur utilisé en interne à ShomGT"], 'comment' => "rôle de l'utilisateur"], 'secret' => ['type' => 'varchar(256)', 'comment' => "secret envoyé par email et attendu en retour, null ssi le secret a été utilisé"], 'createdt' => ['type' => 'datetime', 'keyOrNull' => 'not null', 'comment' => "date et heure de création initiale du compte"], 'sent' => ['type' => 'datetime', 'comment' => "date et heure d'envoi du dernier mail de validation, null ssi le lien du mail a été activé"], 'valid' => ['type' => 'datetime', 'comment' => "date et heure de dernière validation, null ssi compte non validé"], 'extra' => ['type' => 'JSON', 'comment' => "données complémentaires stockées en JSON, notamment la liste des codes des zones dans le champ zones"], 'comment' => ['type' => 'longtext', 'comment' => "commentaire en texte libre"]]]
Définition du schéma de la table user selon la structuration définie dans son champ description.
ZONES_ZEE  = [ //'FR'=> "France entière", 'FX-MMN' => "Métropole - Zone Manche et Mer du Nord", 'FX-Atl' => "Métropole - Zone Maritime Atlantique", 'FX-Med' => "Métropole - Zone Méditerranée", 'GP' => "Guadeloupe", 'MQ' => "Martinique", 'GF' => "Guyane", 'BL' => "Saint-Barthelémy", 'MF' => "Saint-Martin", 'PM' => "Saint-Pierre-et-Miquelon", 'RE' => "La Réunion", 'YT' => "Mayotte", 'TF' => "TAAF", 'CP' => "Clipperton", 'PF' => "Polynésie Française", 'WF' => "Wallis-et-Futuna", 'NC' => "Nouvelle-Calédonie", ]
Liste des zones de la ZEE sous la forme [{nom} => {label}].

Functions

durationInHours()  : int
prend en compte l'unité pour traduire la durée en heures
queryForRecentAccess()  : string
retourne le texte de la requête SQL adhoc
existingVersion()  : string
cmpVersion()  : int
cloneDir()  : string|null
fonction récursive de clonage.
directoryEntries()  : array<int, string>
YamlDump()  : string
supprime les - suivis d'un retour à la ligne dans Yaml::dump()
callingThisFile()  : null|"web"|"cli"
Permet de distinguer si un script est inclus dans un autre ou est directement appelé en mode CLI ou Web retourne null si ce script n'a pas été directement appelé, cad qu'il est inclus dans un autre, 'web' s'il est appelé en mode web, 'cli' s'il est appelé en mode CLI Doit être appelé avec en paramètre la constante __FILE__
dumpString()  : void
rmdirRecursive()  : void
supprime un répertoire récursivement
entryInArchive()  : bool
notFound()  : void
latLngBounds()  : TLPos
transforme un GBox en une structure latLngBounds@Leaflet
createUserTable()  : void
création de la table des utilisateurs
userRole()  : string|null
renvoit le role de l'utilisateur $user
migrationAddExtraToUserTable()  : void
Fonction de migration d'ajout d'un champ extra dans la table user s'il n'existe pas
badEmail()  : string|null
validation de l'email, renvoit null si valid, sinon l'erreur
badPasswd()  : string|null
validation du mot de passe, renvoit null si ok, sinon l'erreur
sendMail()  : void
Envoie un email avec le lien contenant le secret

Constants

FORCE_VALIDATION

vrai ssi possibilité de forcer la validation d'une carte invalide

public mixed FORCE_VALIDATION = false

USER_TABLE_SCHEMA

Définition du schéma de la table user selon la structuration définie dans son champ description.

public array{description: string, comment: string, columns: array} USER_TABLE_SCHEMA = ['description' => "Ce dictionnaire définit le schéma d'une table SQL avec:\n" . " - le champ 'comment' précisant la table concernée,\n" . " - le champ obligatoire 'columns' définissant le dictionnaire des colonnes avec pour chaque entrée:\n" . " - la clé définissant le nom SQL de la colonne,\n" . " - le champ 'type' obligatoire définissant le type SQL de la colonne,\n" . " - le champ 'keyOrNull' définissant si la colonne est ou non une clé et si elle peut ou non être nulle\n" . " - le champ 'comment' précisant un commentaire sur la colonne.\n" . " - pour les colonnes de type 'enum' correspondant à une énumération le champ 'enum'\n" . " définit les valeurs possibles dans un dictionnaire où chaque entrée a:\n" . " - pour clé la valeur de l'énumération et\n" . " - pour valeur une définition et/ou un commentaire sur cette valeur.", 'comment' => "table des utilisateurs", 'columns' => ['email' => ['type' => 'varchar(256)', 'keyOrNull' => 'primary key', 'comment' => "adresse email"], 'epasswd' => ['type' => 'longtext', 'comment' => "mot de passe encrypté, null à la créatin d'un compte temporaire non valide"], 'newepasswd' => ['type' => 'longtext', 'comment' => "nouveau mot de passe encrypté, utilisé en cas de chgt de mot de passe"], 'role' => ['type' => 'enum', 'enum' => ['normal' => "utilisateur normal ayant le droit de consulter les cartes, d'en ajouter et d'en supprimer", 'admin' => "administrateur ayant en plus de l'utilisateur normal des droits supplémentaires,\n" . "notamment le droit de changer le rôle des utilisateurs", 'restricted' => "utilisateur ayant le droit de consulter les cartes mais pas d'en ajouter, ni d'en supprimer", 'banned' => "utilisateur banni n'ayant aucun droit, et n'ayant pas le droit de réactiver son compte", 'suspended' => "utilisateur suspendu en l'absence de confirmation pendant un délai d'un an,\n" . "il n'a plus aucun droit jusqu'à ce qu'il réactive son compte.\n" . "Il peut réactiver son compte soit en cliquant sur le lien qui lui a été envoyé par mail,\n" . "soit en exécutant le processus de création de compte", 'closed' => "utilisateur ayant demandé à fermer son compte et pouvant le réactiver\n" . "en exécutant à nouveau le processus de création de compte", 'temp' => "utilisateur en cours de création dont la validité n'a pas été vérifiée,\n" . "et n'ayant aucun droit en attendant sa validation par mail", 'system' => "utilisateur utilisé en interne à ShomGT"], 'comment' => "rôle de l'utilisateur"], 'secret' => ['type' => 'varchar(256)', 'comment' => "secret envoyé par email et attendu en retour, null ssi le secret a été utilisé"], 'createdt' => ['type' => 'datetime', 'keyOrNull' => 'not null', 'comment' => "date et heure de création initiale du compte"], 'sent' => ['type' => 'datetime', 'comment' => "date et heure d'envoi du dernier mail de validation, null ssi le lien du mail a été activé"], 'valid' => ['type' => 'datetime', 'comment' => "date et heure de dernière validation, null ssi compte non validé"], 'extra' => ['type' => 'JSON', 'comment' => "données complémentaires stockées en JSON, notamment la liste des codes des zones dans le champ zones"], 'comment' => ['type' => 'longtext', 'comment' => "commentaire en texte libre"]]]

USER_TABLE_SCHEMA

ZONES_ZEE

Liste des zones de la ZEE sous la forme [{nom} => {label}].

public array<string, string> ZONES_ZEE = [ //'FR'=> "France entière", 'FX-MMN' => "Métropole - Zone Manche et Mer du Nord", 'FX-Atl' => "Métropole - Zone Maritime Atlantique", 'FX-Med' => "Métropole - Zone Méditerranée", 'GP' => "Guadeloupe", 'MQ' => "Martinique", 'GF' => "Guyane", 'BL' => "Saint-Barthelémy", 'MF' => "Saint-Martin", 'PM' => "Saint-Pierre-et-Miquelon", 'RE' => "La Réunion", 'YT' => "Mayotte", 'TF' => "TAAF", 'CP' => "Clipperton", 'PF' => "Polynésie Française", 'WF' => "Wallis-et-Futuna", 'NC' => "Nouvelle-Calédonie", ]

Pour la définition de la zone d'intérêt, la valeur 'FR' est inutile car elle correspond à quasiment toutes les cartes.

Functions

durationInHours()

prend en compte l'unité pour traduire la durée en heures

durationInHours(string $duration) : int
Parameters
$duration : string
Return values
int

queryForRecentAccess()

retourne le texte de la requête SQL adhoc

queryForRecentAccess(string $access, int $durationInHours[, string|null $param = null ]) : string
Parameters
$access : string
$durationInHours : int
$param : string|null = null
Return values
string

existingVersion()

existingVersion(string $PF_PATH, string $mapNum) : string
Parameters
$PF_PATH : string
$mapNum : string
Return values
string

cmpVersion()

cmpVersion(string $v1, string $v2) : int
Parameters
$v1 : string
$v2 : string
Return values
int

cloneDir()

fonction récursive de clonage.

cloneDir(string $src, string $dest[, string $tab = '' ]) : string|null
Parameters
$src : string
$dest : string
$tab : string = ''
Return values
string|null

directoryEntries()

directoryEntries(string $path) : array<int, string>
Parameters
$path : string
Return values
array<int, string>

YamlDump()

supprime les - suivis d'un retour à la ligne dans Yaml::dump()

YamlDump(mixed $data[, int $level = 3 ][, int $indentation = 2 ][, int $options = 0 ]) : string
Parameters
$data : mixed
$level : int = 3
$indentation : int = 2
$options : int = 0
Return values
string

callingThisFile()

Permet de distinguer si un script est inclus dans un autre ou est directement appelé en mode CLI ou Web retourne null si ce script n'a pas été directement appelé, cad qu'il est inclus dans un autre, 'web' s'il est appelé en mode web, 'cli' s'il est appelé en mode CLI Doit être appelé avec en paramètre la constante __FILE__

callingThisFile(string $file) : null|"web"|"cli"
Parameters
$file : string
Return values
null|"web"|"cli"

dumpString()

dumpString(string $s) : void
Parameters
$s : string

rmdirRecursive()

supprime un répertoire récursivement

rmdirRecursive(string $path) : void
Parameters
$path : string

notFound()

notFound(string $fileName) : void
Parameters
$fileName : string

latLngBounds()

transforme un GBox en une structure latLngBounds@Leaflet

latLngBounds(GBox $gbox) : TLPos
Parameters
$gbox : GBox
Return values
TLPos

createUserTable()

création de la table des utilisateurs

createUserTable() : void

userRole()

renvoit le role de l'utilisateur $user

userRole(string|null $user) : string|null
Parameters
$user : string|null
Return values
string|null

migrationAddExtraToUserTable()

Fonction de migration d'ajout d'un champ extra dans la table user s'il n'existe pas

migrationAddExtraToUserTable() : void

badEmail()

validation de l'email, renvoit null si valid, sinon l'erreur

badEmail(string $email) : string|null
Parameters
$email : string
Return values
string|null

badPasswd()

validation du mot de passe, renvoit null si ok, sinon l'erreur

badPasswd(string $passwd, string $passwd2) : string|null
Parameters
$passwd : string
$passwd2 : string
Return values
string|null

sendMail()

Envoie un email avec le lien contenant le secret

sendMail(string $action, string $email, int $secret[, string|null $passwd = null ]) : void
Parameters
$action : string
$email : string
$secret : int
$passwd : string|null = null

        
On this page

Search results