Documentation du code de SPIP et de ses plugins

SPIP

dump.php

Fonctions de base pour la sauvegarde

Boîte à outil commune, sans préjuger de la méthode de sauvegarde

Table of Contents

Constants

_VERSION_ARCHIVE  = '1.3'

Functions

base_dump_meta_name()  : string
Retourne un nom de meta pour une rubrique et l'auteur connecté.
base_dump_dir()  : string
Crée un répertoire recevant la sauvegarde de la base de données et retourne son chemin.
base_lister_toutes_tables()  : array<string|int, mixed>
Lister toutes les tables d'un serveur en excluant eventuellement une liste fournie
base_prefixe_tables()  : string
Retrouver le prefixe des tables
base_saisie_tables()  : array<string|int, mixed>
Fabrique la liste a cocher des tables a traiter (copie, delete, sauvegarde)
lister_tables_noexport()  : array<string|int, mixed>
Lister les tables non exportables par defaut (liste completable par le pipeline lister_tables_noexport
lister_tables_noimport()  : array<string|int, mixed>
Lister les tables non importables par defaut (liste completable par le pipeline lister_tables_noimport
lister_tables_noerase()  : array<string|int, mixed>
Lister les tables a ne pas effacer (liste completable par le pipeline lister_tables_noerase
base_liste_table_for_dump()  : array<string|int, mixed>
construction de la liste des tables pour le dump : toutes les tables principales + toutes les tables auxiliaires hors relations + les tables relations dont les deux tables liees sont dans la liste
base_vider_tables_destination_copie()  : mixed
Vider les tables de la base de destination pour la copie dans une base
base_conserver_copieur()  : void
Conserver le copieur si besoin
base_detruire_copieur_si_besoin()  : mixed
Effacement de la bidouille ci-dessus Toutefois si la table des auteurs ne contient plus qu'elle c'est que la copie etait incomplete et on restaure le compte pour garder la connection au site
base_preparer_table_dest()  : array<string|int, mixed>
Preparer la table dans la base de destination : la droper si elle existe (sauf si auteurs ou meta sur le serveur principal) la creer si necessaire, ou ajouter simplement les champs manquants
base_copier_tables()  : bool
Copier de base a base
base_inserer_copie()  : int
fonction d'insertion en base lors de la copie de base a base

Constants

_VERSION_ARCHIVE

public mixed _VERSION_ARCHIVE = '1.3'

Functions

base_dump_meta_name()

Retourne un nom de meta pour une rubrique et l'auteur connecté.

base_dump_meta_name(int $rub) : string

Ce nom servira pour le stockage dans un fichier temporaire des informations sérialisées sur le statut de l'export.

Parameters
$rub : int
Return values
string

base_dump_dir()

Crée un répertoire recevant la sauvegarde de la base de données et retourne son chemin.

base_dump_dir(string $meta) : string
Parameters
$meta : string
Tags
note

Utilisé uniquement dans l'ancienne sauvegarde XML (plugin dump_xml) À supprimer ?

Return values
string

base_lister_toutes_tables()

Lister toutes les tables d'un serveur en excluant eventuellement une liste fournie

base_lister_toutes_tables([string $serveur = '' ][, array<string|int, mixed> $tables = [] ][, array<string|int, mixed> $exclude = [] ][, bool $affiche_vrai_prefixe = false ]) : array<string|int, mixed>
Parameters
$serveur : string = ''
$tables : array<string|int, mixed> = []
$exclude : array<string|int, mixed> = []
$affiche_vrai_prefixe : bool = false
Return values
array<string|int, mixed>

base_prefixe_tables()

Retrouver le prefixe des tables

base_prefixe_tables([string $serveur = '' ]) : string
Parameters
$serveur : string = ''
Return values
string

base_saisie_tables()

Fabrique la liste a cocher des tables a traiter (copie, delete, sauvegarde)

base_saisie_tables(string $name, array<string|int, mixed> $tables[, array<string|int, mixed> $exclude = [] ][, array<string|int, mixed>|null $post = null ][, string $serveur = '' ]) : array<string|int, mixed>
Parameters
$name : string
$tables : array<string|int, mixed>
$exclude : array<string|int, mixed> = []
$post : array<string|int, mixed>|null = null
$serveur : string = ''
Return values
array<string|int, mixed>

lister_tables_noexport()

Lister les tables non exportables par defaut (liste completable par le pipeline lister_tables_noexport

lister_tables_noexport() : array<string|int, mixed>
Tags
staticvar

array $EXPORT_tables_noexport

Return values
array<string|int, mixed>

lister_tables_noimport()

Lister les tables non importables par defaut (liste completable par le pipeline lister_tables_noimport

lister_tables_noimport() : array<string|int, mixed>
Tags
staticvar

array $IMPORT_tables_noimport

Return values
array<string|int, mixed>

lister_tables_noerase()

Lister les tables a ne pas effacer (liste completable par le pipeline lister_tables_noerase

lister_tables_noerase() : array<string|int, mixed>
Tags
staticvar

array $IMPORT_tables_noerase

Return values
array<string|int, mixed>

base_liste_table_for_dump()

construction de la liste des tables pour le dump : toutes les tables principales + toutes les tables auxiliaires hors relations + les tables relations dont les deux tables liees sont dans la liste

base_liste_table_for_dump([array<string|int, mixed> $exclude_tables = [] ]) : array<string|int, mixed>
Parameters
$exclude_tables : array<string|int, mixed> = []
Return values
array<string|int, mixed>

base_vider_tables_destination_copie()

Vider les tables de la base de destination pour la copie dans une base

base_vider_tables_destination_copie(array<string|int, mixed> $tables[, array<string|int, mixed> $exclure_tables = [] ][, string $serveur = '' ]) : mixed

peut etre utilise pour l'import depuis xml, ou la copie de base a base (mysql<->sqlite par exemple)

Parameters
$tables : array<string|int, mixed>
$exclure_tables : array<string|int, mixed> = []
$serveur : string = ''

base_conserver_copieur()

Conserver le copieur si besoin

base_conserver_copieur([bool $move = true ][, string $serveur = '' ]) : void
Parameters
$move : bool = true
$serveur : string = ''

base_detruire_copieur_si_besoin()

Effacement de la bidouille ci-dessus Toutefois si la table des auteurs ne contient plus qu'elle c'est que la copie etait incomplete et on restaure le compte pour garder la connection au site

base_detruire_copieur_si_besoin([string $serveur = '' ]) : mixed

(mais il doit pas etre bien beau et ca ne marche que si l'id_auteur est sur moins de 3 chiffres)

Parameters
$serveur : string = ''

base_preparer_table_dest()

Preparer la table dans la base de destination : la droper si elle existe (sauf si auteurs ou meta sur le serveur principal) la creer si necessaire, ou ajouter simplement les champs manquants

base_preparer_table_dest(string $table, array<string|int, mixed> $desc, string $serveur_dest[, bool $init = false ]) : array<string|int, mixed>
Parameters
$table : string
$desc : array<string|int, mixed>
$serveur_dest : string
$init : bool = false
Return values
array<string|int, mixed>

base_copier_tables()

Copier de base a base

base_copier_tables(string $status_file, array<string|int, mixed> $tables, string $serveur_source, string $serveur_dest[, array<string|int, mixed> $options = [] ]) : bool
Parameters
$status_file : string

nom avec chemin complet du fichier ou est stocke le status courant

$tables : array<string|int, mixed>

liste des tables a copier

$serveur_source : string
$serveur_dest : string
$options : array<string|int, mixed> = []

parametres optionnels sous forme de tableau : param string $callback_progression fonction a appeler pour afficher la progression, avec les arguments (compteur,total,table) param int $max_time limite de temps au dela de laquelle sortir de la fonction proprement (de la forme time()+15) param bool $drop_source vider les tables sources apres copie param array $no_erase_dest liste des tables a ne pas vider systematiquement (ne seront videes que si existent dans la base source) param array $where liste optionnelle de condition where de selection des donnees pour chaque table param string $racine_fonctions_dest racine utilisee pour charger_fonction() des operations elementaires sur la base de destination. Permet de deleguer vers une autre voie de communication. Par defaut on utilise 'base', ce qui route vers les fonctions de ce fichier. Concerne :

  • vider_tables_destination_copie
  • preparer_table_dest
  • detruire_copieur_si_besoin
  • inserer_copie param array $fonction_base_inserer fonction d'insertion en base. Par defaut "inserer_copie" qui fait un insertq a l'identique. Attention, la fonction appelee est prefixee par $racine_fonctions_dest via un charger_fonction() Peut etre personalisee pour filtrer, renumeroter.... param array $desc_tables_dest description des tables de destination a utiliser de preference a la description de la table source param int data_pool nombre de ko de donnees a envoyer d'un coup en insertion dans la table cible (par defaut 1) permet des envois groupes pour plus de rapidite, notamment si l'insertion est distante
Return values
bool

base_inserer_copie()

fonction d'insertion en base lors de la copie de base a base

base_inserer_copie(string $table, array<string|int, mixed> $rows, array<string|int, mixed> $desc_dest, string $serveur_dest) : int
Parameters
$table : string
$rows : array<string|int, mixed>
$desc_dest : array<string|int, mixed>
$serveur_dest : string
Return values
int

        
On this page

Search results