You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

116 lines
4.8 KiB

<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
function jeux_upgrade($nom_meta_base_version,$version_cible){
include_spip('inc/meta');
include_spip('base/upgrade');
include_spip('base/create');
include_spip('base/abstract_sql');
include_spip('base/jeux_tables');
$maj = array();
$maj['create'] = array(array('creer_base'),array('maj_tables',array('spip_jeux')));
$maj['0.11'] = array(array('jeux_upgrade_0_11'));
$maj['0.12'] = array(array('jeux_upgrade_0_12'));
$maj['0.13'] = array(array('jeux_upgrade_0_13'));
$maj['0.14'] = array(array('jeux_upgrade_0_14'));
$maj['0.15'] = array(array('jeux_upgrade_0_15'));
$maj['0.16'] = array(array('jeux_upgrade_0_16'));
$maj['0.17'] = array(array('jeux_upgrade_0_17'));
$maj['0.18'] = array(array('jeux_upgrade_0_18'));
$maj['0.19'] = array(array('jeux_upgrade_0_19'));
$maj['0.20'] = array(array('jeux_upgrade_0_20'));
maj_plugin($nom_meta_base_version,$version_cible,$maj);
}
function jeux_vider_tables($nom_meta_base_version) {
include_spip('base/abstract_sql');
sql_drop_table('spip_jeux');
sql_drop_table("spip_jeux_resultats");
effacer_meta($nom_meta_base_version);
}
function jeux_updgrade_0_11(){
// ajout du champ 'nom' a la table spip_jeux, si pas deja existant
$desc = sql_showtable('spip_jeux', true);
if (!isset($desc['field']['nom'])){
sql_alter("TABLE spip_jeux ADD `nom` text DEFAULT '' NOT NULL AFTER `date`");
// ajout d'un nom par defaut aux jeux existants
$res = sql_select(array('id_jeu'),array('spip_jeux'));
$sans = _T('jeux:sans_type');
while ($row = sql_fetch($res))
sql_updateq('spip_jeux', array('nom'=>'$sans'), "id_jeu=".$row['id_jeu']);
}
// ajout du champ 'titre' a la table spip_jeux, si pas deja existant
if (!isset($desc['field']['titre'])){
sql_alter("TABLE spip_jeux ADD `titre` text DEFAULT '' NOT NULL AFTER `nom`");
// ajout d'un titre par defaut aux jeux existants
$res = sql_select(array('id_jeu'), 'spip_jeux');
$sans = _T('jeux:sans_titre_prive');
while ($row = sql_fetch($res))
sql_update('spip_jeux', array('titre'=>$sans), "id_jeu=".$row['id_jeu']);
}
}
function jeux_upgrade_0_12(){
// changement de noms 'titre' => 'titre_prive' et 'nom' => 'type_jeu'
$desc = sql_showtable('spip_jeux', true);
if (isset($desc['field']['titre']))
sql_alter('TABLE spip_jeux CHANGE `titre` `titre_prive` TEXT');
if (isset($desc['field']['nom']))
sql_alter('TABLE spip_jeux CHANGE `nom` `type_jeu` TEXT');
}
function jeux_upgrade_0_13(){
// suppression de 'titre' et 'nom'
$desc = sql_showtable('spip_jeux', true);
if (isset($desc['field']['titre']))
sql_alter('TABLE spip_jeux DROP `titre`');
if (isset($desc['field']['nom']))
sql_alter('TABLE spip_jeux DROP `nom`');
}
function jeux_upgrade_0_14(){
// ajout de 'total'
$desc = sql_showtable("spip_jeux_resultats", true);
if (!isset($desc['field']['total']))
sql_alter('TABLE spip_jeux_resultats ADD `total` int(12) NOT NULL DEFAULT 0 AFTER `resultat_long`');
}
function jeux_upgrade_0_15(){
// ajout de 'resultat_unique'
$desc = sql_showtable('spip_jeux', true);
if (!isset($desc['field']['resultat_unique']))
sql_alter("TABLE spip_jeux ADD `resultat_unique` NOT NULL DEFAULT 'non'");
}
function jeux_upgrade_0_16(){
// fusion de 'resultat_unique' et 'enregistrer_resultat' vers 'type_resultat'
// types d'enregistrement disponibles : 'defaut', 'aucun', 'premier', 'dernier', 'meilleur', 'tous'
sql_alter('TABLE spip_jeux CHANGE `resultat_unique` `type_resultat` VARCHAR(10)');
sql_updateq('spip_jeux',array('type_resultat'=>'premier'), "`type_resultat`='oui'");
sql_updateq('spip_jeux',array('type_resultat'=>'dernier'), "`type_resultat`='non'");
sql_updateq('spip_jeux',array('type_resultat'=>'aucun'), "`enregistrer_resultat`='non'");
sql_alter('TABLE spip_jeux DROP `enregistrer_resultat`');
}
function jeux_upgrade_0_17(){
// tenir compte du bug sur les prefixes
$desc = sql_showtable('spip_jeux', true);
if (isset($desc['field']['titre']))
sql_alter('TABLE spip_jeux CHANGE `titre` `titre_prive` TEXT');
if (isset($desc['field']['nom']))
sql_alter('TABLE spip_jeux CHANGE `nom` `type_jeu` TEXT');
if (!isset($desc['field']['resultat_unique']))
sql_alter("TABLE spip_jeux ADD `resultat_unique` VARCHAR(10) NOT NULL DEFAULT 'non'");
}
function jeux_upgrade_0_18(){
// changement du champ statut pour suivre le modèle chat
sql_alter("TABLE spip_jeux CHANGE `statut` `statut` varchar(255) DEFAULT '0' NOT NULL");
}
function jeux_upgrade_0_19(){
// renommer contenu en texte
sql_alter("TABLE spip_jeux CHANGE `contenu` `texte` TEXT DEFAULT '' NOT NULL");
}
function jeux_upgrade_0_20(){
// remettre titre_prive pour les quelques versions de la 3.0 bugué
$desc = sql_showtable('spip_jeux', true);
if (isset($desc['field']['titre']))
sql_alter('TABLE spip_jeux CHANGE `titre` `titre_prive` TEXT');
}
?>