function fraap_candidatures_upgrade($nom_meta_base_version, $version_cible)
{
    $current_version = "0.0";
    if (isset($GLOBALS['meta'][$nom_meta_base_version])) {
        $current_version = $GLOBALS['meta'][$nom_meta_base_version];
    }
    if ($current_version == "0.0") {
        creer_base();
        maj_tables('spip_auteurs');
        ecrire_meta($nom_meta_base_version, $current_version = $version_cible);
    }
    // ajout d'un statut publie par defaut
    /*	if (version_compare($current_version, '0.3', '<')) {
    		include_spip('base/abstract_sql');
    		sql_alter("TABLE spip_candidatures CHANGE statut statut VARCHAR(10) DEFAULT 'publie' NOT NULL");
    		ecrire_meta($nom_meta_base_version,$current_version="0.3");
    	}
    	// ajout du statut publié pour les enregistrements déjà présents
    	if (version_compare($current_version, '0.33', '<')) {
    		include_spip('base/abstract_sql');
    		$res = sql_select("statut", "spip_candidatures");
    		while ($row = sql_fetch($res)){
    			if(isset($row['statut'])) {
    				if (!sql_updateq("spip_candidatures",array('statut'=>'publie'))) spip_log('mise à jour colonne statut rencontre un probleme','journal');
    			}
    		}
    		ecrire_meta($nom_meta_base_version,$current_version="0.33");
    	}
    */
}
Example #2
0
/**
 * Programme de mise a jour des tables SQL lors d'un chgt de version.
 * L'entree dans cette fonction est reservee au maj de SPIP coeur
 *
 * Marche aussi pour les plugins en appelant directement la fonction maj_plugin
 * Pour que ceux-ci profitent aussi de la reprise sur interruption,
 * ils doivent simplement indiquer leur numero de version installee dans une meta
 * et fournir le tableau maj a la fonction maj_plugin.
 * La reprise sur timeout se fait alors par la page admin_plugin et jamais par ici
 *
 * http://doc.spip.org/@base_upgrade_dist
 *
 * @param string $titre
 * @param string $reprise
 * @return
 */
function base_upgrade_dist($titre = '', $reprise = '')
{
    if (!$titre) {
        return;
    }
    // anti-testeur automatique
    if ($GLOBALS['spip_version_base'] != $GLOBALS['meta']['version_installee']) {
        if (!is_numeric(_request('reinstall'))) {
            include_spip('base/create');
            spip_log("recree les tables eventuellement disparues", "maj." . _LOG_INFO_IMPORTANTE);
            creer_base();
        }
        // quand on rentre par ici, c'est toujours une mise a jour de SPIP
        // lancement de l'upgrade SPIP
        $res = maj_base();
        if ($res) {
            // on arrete tout ici !
            exit;
        }
    }
    spip_log("Fin de mise a jour SQL. Debut m-a-j acces et config", "maj." . _LOG_INFO_IMPORTANTE);
    // supprimer quelques fichiers temporaires qui peuvent se retrouver invalides
    @spip_unlink(_CACHE_RUBRIQUES);
    @spip_unlink(_CACHE_PIPELINES);
    @spip_unlink(_CACHE_PLUGINS_PATH);
    @spip_unlink(_CACHE_PLUGINS_OPT);
    @spip_unlink(_CACHE_PLUGINS_FCT);
    @spip_unlink(_CACHE_CHEMIN);
    @spip_unlink(_DIR_TMP . "plugin_xml_cache.gz");
    include_spip('inc/auth');
    auth_synchroniser_distant();
    $config = charger_fonction('config', 'inc');
    $config();
}
function galettonuts_upgrade()
{
    $version_installee = isset($GLOBALS['meta']['galettonuts_version']) ? $GLOBALS['meta']['galettonuts_version'] : '0.0';
    // La version installée est la dernière en date
    if ($version_installee == galettonuts_version()) {
        return;
    } else {
        if (version_compare($version_installee, '0.0', 'eq')) {
            include_spip('base/galettonuts_tables');
            include_spip('base/create');
            include_spip('base/abstract_sql');
            creer_base();
            ecrire_meta('galettonuts_version', galettonuts_version());
            ecrire_meta('galettonuts_config', serialize(array('adresse_db' => 'localhost', 'prefix_db' => 'galette_', 'db_ok' => false, 'activer_cron' => true, 'heures' => 0, 'minutes' => 30)));
            ecrire_meta('galettonuts_synchro', serialize(array('frequence' => 600)));
            ecrire_metas();
            echo '<br />', debut_boite_info(true), '<strong>', _T('galettonuts:installation_succes'), '</strong>', '<p>', _T('galettonuts:texte_installation_succes'), '</p>', fin_boite_info(true);
            return;
        }
    }
    $version_comparaison = version_compare(galettonuts_version(), $version_installee);
    // Mise à jour
    if (-1 == $version_comparaison) {
        // TODO: Gérer un Upgrade
        ecrire_meta('galettonuts_version', galettonuts_version());
        return;
    } else {
        if (1 == $version_comparaison) {
            // TODO: Gérer un Downgrade
            return;
        }
    }
}
Example #4
0
function admin_repair_tables()
{
    $repair = sql_repair('repair', NULL, 'continue');
    // recreer les tables manquantes eventuelles
    include_spip('base/create');
    creer_base();
    $connexion = $GLOBALS['connexions'][0];
    $prefixe = $connexion['prefixe'];
    $rows = array();
    if ($res1 = sql_showbase()) {
        while ($r = sql_fetch($res1)) {
            $rows[] = $r;
        }
        sql_free($res1);
    }
    $res = "";
    if (count($rows)) {
        while ($r = array_shift($rows)) {
            $tab = array_shift($r);
            $class = "";
            $m = "<strong>{$tab}</strong> ";
            spip_log("Repare {$tab}", _LOG_INFO_IMPORTANTE);
            // supprimer la meta avant de lancer la reparation
            // car le repair peut etre long ; on ne veut pas boucler
            effacer_meta('admin_repair');
            if ($repair) {
                $result_repair = sql_repair($tab);
                if (!$result_repair) {
                    return false;
                }
            }
            // essayer de maj la table (creation de champs manquants)
            maj_tables($tab);
            $count = sql_countsel($tab);
            if ($count > 1) {
                $m .= "(" . _T('texte_compte_elements', array('count' => $count)) . ")\n";
            } else {
                if ($count == 1) {
                    $m .= "(" . _T('texte_compte_element', array('count' => $count)) . ")\n";
                } else {
                    $m .= "(" . _T('texte_vide') . ")\n";
                }
            }
            if ($result_repair and $msg = join(" ", is_resource($result_repair) ? sql_fetch($result_repair) : $result_repair) . ' ' and strpos($msg, ' OK ') === FALSE) {
                $class = " class='notice'";
                $m .= "<br /><tt>" . htmlentities($msg) . "</tt>\n";
            } else {
                $m .= " " . _T('texte_table_ok');
            }
            $res .= "<div{$class}>{$m}</div>";
        }
    }
    return $res;
}
function vacarme_numeros_upgrade($nom_meta_version_base, $version_cible)
{
    $version_actuelle = '0.0';
    if (!isset($GLOBALS['meta'][$nom_meta_version_base]) || ($version_actuelle = $GLOBALS['meta'][$nom_meta_version_base]) != $version_cible) {
        if (version_compare($version_actuelle, '0.0', '=')) {
            // Création des tables
            creer_base();
        }
        ecrire_meta($nom_meta_version_base, $version_actuelle = $version_cible, 'non');
    }
}
Example #6
0
/**
 * Fonction d'installation, mise a jour de la base
 *
 * @param unknown_type $nom_meta_base_version
 * @param unknown_type $version_cible
 */
function accesrestreint_upgrade($nom_meta_base_version,$version_cible){
	$current_version = 0.0;
	if (   (!isset($GLOBALS['meta'][$nom_meta_base_version]) )
			|| (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){
		include_spip('base/acces_restreint');
		if (version_compare($current_version,'0.0','<=')){
			include_spip('base/create');
			include_spip('base/abstract_sql');
			creer_base();
			// ajout des champs publique/privee si pas existants
			$desc = sql_showtable("spip_zones", true);
			if (!isset($desc['field']['publique']))
				sql_alter("TABLE spip_zones ADD publique ENUM('non', 'oui') DEFAULT 'oui' NOT NULL AFTER descriptif");
			if (!isset($desc['field']['privee']))
				sql_alter("TABLE spip_zones ADD privee ENUM('non', 'oui') DEFAULT 'non' NOT NULL AFTER publique");
			echo "AccesRestreint Install<br/>";
			effacer_meta($nom_meta_base_version); // salade de majuscules
			ecrire_meta($nom_meta_base_version,$current_version=$version_cible,'non');
		}
		if (version_compare($current_version,'0.2','<')){
			include_spip('base/create');
			include_spip('base/abstract_sql');
			// ajout des champs publique/privee si pas existants
			$desc = sql_showtable("spip_zones", true);
			if (!isset($desc['field']['publique']))
				sql_alter("TABLE spip_zones ADD publique ENUM('non', 'oui') DEFAULT 'oui' NOT NULL AFTER descriptif");
			if (!isset($desc['field']['privee']))
				sql_alter("TABLE spip_zones ADD privee ENUM('non', 'oui') DEFAULT 'non' NOT NULL AFTER publique");
			echo "AccesRestreint@0.2<br />";
			ecrire_meta($nom_meta_base_version,$current_version='0.2','non');
		}
		if (version_compare($current_version,'0.3','<')){
			sql_alter("TABLE `zones_auteurs` DROP INDEX `id_zone`");
			sql_alter("TABLE `zones_auteurs` ADD PRIMARY KEY ( `id_zone` , `id_auteur` )");
			sql_alter("TABLE `zones_rubriques` DROP INDEX `id_zone`");
			sql_alter("TABLE `zones_rubriques` ADD PRIMARY KEY ( `id_zone` , `id_rubrique` )");
			echo "AccesRestreint@0.3<br />";
			ecrire_meta($nom_meta_base_version,$current_version='0.3','non');
		}
		if (version_compare($current_version,'0.3.0.1','<')){
			#ecrire_meta('creer_htaccess','oui');
			echo "AccesRestreint@0.3.0.1<br />";
			ecrire_meta($nom_meta_base_version,$current_version='0.3.0.1','non');
		}
		if (version_compare($current_version,'0.3.0.2','<')){
			#ecrire_meta('creer_htaccess','oui');
			sql_alter("TABLE spip_zone ALTER titre SET DEFAULT ''");
			sql_alter("TABLE spip_zone ALTER descriptif SET DEFAULT ''");
			echo "AccesRestreint@0.3.0.2<br />";
			ecrire_meta($nom_meta_base_version,$current_version='0.3.0.2','non');
		}
	}
}
Example #7
0
/**
 * Upgrade de la base
 * 
 * @param string $nom_meta_base_version
 * @param string $version_cible
 */
function bank_upgrade($nom_meta_base_version, $version_cible)
{
    $current_version = 0.0;
    if (!isset($GLOBALS['meta'][$nom_meta_base_version]) || ($current_version = $GLOBALS['meta'][$nom_meta_base_version]) != $version_cible) {
        include_spip('base/abstract_sql');
        if (spip_version_compare($current_version, "0.0.0", "<=")) {
            include_spip('base/create');
            include_spip('base/serial');
            creer_base();
            echo "Paiement Install<br/>";
            ecrire_meta($nom_meta_base_version, $current_version = $version_cible, 'non');
        }
        if (spip_version_compare($current_version, "0.1.3", "<=")) {
            include_spip('base/create');
            include_spip('base/serial');
            maj_tables(array('spip_transactions'));
            ecrire_meta($nom_meta_base_version, $current_version = "0.1.3", 'non');
        }
        if (spip_version_compare($current_version, "0.1.5", "<=")) {
            include_spip('base/create');
            include_spip('base/serial');
            sql_alter("table spip_transactions change url_retour url_retour text DEFAULT '' NOT NULL");
            ecrire_meta($nom_meta_base_version, $current_version = "0.1.5", 'non');
        }
        if (spip_version_compare($current_version, "1.0.0", "<=")) {
            include_spip('base/create');
            include_spip('base/serial');
            sql_alter("table spip_transactions change transaction_hash transaction_hash bigint(21) NOT NULL DEFAULT 0");
            ecrire_meta($nom_meta_base_version, $current_version = "1.0.0", 'non');
        }
        if (spip_version_compare($current_version, "1.0.1", "<=")) {
            include_spip('base/create');
            include_spip('base/serial');
            sql_alter("table spip_transactions change finie finie tinyint(1) NOT NULL DEFAULT 0");
            sql_alter("table spip_transactions change tracking_id tracking_id bigint(21) NOT NULL DEFAULT 0");
            sql_alter("table spip_transactions change id_panier id_panier bigint(21) NOT NULL DEFAULT 0");
            sql_alter("table spip_transactions change id_facture id_facture bigint(21) NOT NULL DEFAULT 0");
            ecrire_meta($nom_meta_base_version, $current_version = "1.0.1", 'non');
        }
        if (spip_version_compare($current_version, "1.1.0", "<=")) {
            include_spip('base/create');
            include_spip('base/serial');
            sql_alter("table spip_transactions ADD contenu TEXT NOT NULL DEFAULT ''");
            ecrire_meta($nom_meta_base_version, $current_version = "1.1.0", 'non');
        }
        bank_presta_install();
    }
}
Example #8
0
function base_upgrade_dist($titre='', $reprise='')
{
	if (!$titre) return; // anti-testeur automatique
	if ($GLOBALS['spip_version']!=$GLOBALS['meta']['version_installee']) {
		if (!is_numeric(_request('reinstall'))) {
			include_spip('base/create');
			spip_log("recree les tables eventuellement disparues");
			creer_base();
		}
		$meta = _request('meta');
		if (!$meta)
			$res = maj_base();
		// reprise sur demande de mise a jour interrompue pour plugin 
		else $res= maj_while($GLOBALS['meta'][$meta],
				  $GLOBALS[$meta]['cible'],
				  $GLOBALS[$meta]['maj'],
				  $meta,
				  _request('table'));
		if ($res) {
			if (!is_array($res))
				spip_log("Pb d'acces SQL a la mise a jour");
			else {
				include_spip('inc/minipres');
				echo minipres(_T('avis_operation_echec') . ' ' . join(' ', $res));
				exit;
			}
		}
	}
	spip_log("Fin de mise a jour SQL. Debut m-a-j acces et config");
	
	// supprimer quelques fichiers temporaires qui peuvent se retrouver invalides
	spip_unlink(_DIR_TMP.'plugin_xml.cache');
	spip_unlink(_DIR_SESSIONS.'ajax_fonctions.txt');
	spip_unlink(_CACHE_PIPELINES);
	spip_unlink(_CACHE_RUBRIQUES);
	spip_unlink(_CACHE_PLUGINS_OPT);
	spip_unlink(_CACHE_PLUGINS_FCT);
	spip_unlink(_CACHE_PLUGINS_VERIF);

	include_spip('inc/acces');
	ecrire_acces();
	$config = charger_fonction('config', 'inc');
	$config();
}
function entites_nommees_upgrade($nom_meta_base_version, $version_cible)
{
    $current_version = "0.0";
    if (isset($GLOBALS['meta'][$nom_meta_base_version])) {
        $current_version = $GLOBALS['meta'][$nom_meta_base_version];
    }
    if ($current_version == "0.0") {
        creer_base();
        ecrire_meta($nom_meta_base_version, $current_version = $version_cible);
        // marche pas ?
    }
    /*
    if (version_compare($current_version,"0.3","<")){
    	// ajout de champs
    	maj_tables('entites_nommees');
    	ecrire_meta($nom_meta_base_version,$current_version="0.3");
    }
    */
}
function vacarme_commande_upgrade($nom_meta_base_version, $version_cible)
{
    $current_version = 0.0;
    if (!isset($GLOBALS['meta'][$nom_meta_base_version]) || ($current_version = $GLOBALS['meta'][$nom_meta_base_version]) != $version_cible) {
        include_spip('base/vacarme_commande');
        if ($current_version == 0.0) {
            creer_base();
            maj_tables(array("spip_contacts", "spip_abonnements", "spip_contacts_abonnements", "spip_paniers_liens", "spip_commandes", "spip_commandes_details"));
            ecrire_meta($nom_meta_base_version, $current_version = $version_cible, 'non');
        }
        if (version_compare($current_version, "0.2", "<")) {
            maj_tables('spip_commandes');
            ecrire_meta($nom_meta_base_version, $current_version = "0.2");
        }
        if (version_compare($current_version, "0.3", "<")) {
            creer_base();
            // ajout de spip_commandes_transactions
            ecrire_meta($nom_meta_base_version, $current_version = "0.3");
        }
    }
}
Example #11
0
function couteau_suisse_upgrade($nom_meta_base_version,$version_cible){
//echo "<br>UPGRADE : $nom_meta_base_version,$version_cible,",$GLOBALS['meta'][$nom_meta_base_version];
if(defined('_LOG_CS')) cs_log("couteau_suisse_upgrade($nom_meta_base_version,$version_cible)");
	$current_version = 0.0;
	if(	(!isset($GLOBALS['meta'][$nom_meta_base_version]))
			|| (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){
		if ($current_version==0.0){
			include_spip('base/create');
			creer_base();
		}
		if (version_compare($current_version,$tmp='1.0','<')){
			echo '<h4>',_T('couteau:titre'),' - Upgrade ',$tmp,'</h4>';
			cs_suppr_metas_var('set_options');
			cs_suppr_metas_var('radio_set_options3');
			cs_suppr_metas_var('radio_set_options', 'radio_set_options4');
			cs_suppr_metas_var('radio_type_urls', 'radio_type_urls3');
			cs_suppr_metas_var('radio_type_urls2', 'radio_type_urls3');
			cs_suppr_metas_var('radio_filtrer_javascript', 'radio_filtrer_javascript3');
			cs_suppr_metas_var('radio_filtrer_javascript2', 'radio_filtrer_javascript3');
			cs_suppr_metas_var('radio_suivi_forums', 'radio_suivi_forums3');
			cs_suppr_metas_var('desactive_cache');
			cs_suppr_metas_var('radio_desactive_cache', 'radio_desactive_cache3');
			cs_suppr_metas_var('target_blank');
			cs_suppr_metas_var('url_glossaire_externe', 'url_glossaire_externe2');
			cs_suppr_metas_var('');
			effacer_meta('cs_decoupe');
			if(defined('_SPIP19300')) {
				if(@$metas_vars['radio_desactive_cache3']==1) $metas_vars['radio_desactive_cache4']=-1;
				cs_suppr_metas_var('radio_desactive_cache3');
			}
			foreach(array('cs_decoration', 'cs_decoration_racc', 'cs_smileys', 'cs_smileys_racc', 'cs_chatons', 'cs_chatons_racc',
					'cs_jcorner', 'cs_couleurs', 'cs_couleurs_racc', 'cs_filets_sep', 'cs_filets_sep_racc', 'cs_insertions') as $meta) 
				effacer_meta($meta);
			ecrire_meta($nom_meta_base_version,$current_version=$tmp);
		}
		ecrire_metas();
	}
}
Example #12
0
function rec_mc_install($action){
	switch ($action) {
	// La base est deja cree ?
		case 'test':
			// Verifier que le champ id_rec_mc est present...
			include_spip('base/abstract_sql');
//			$desc = spip_abstract_showtable("spip_rmc_rubs_groupes", '', true);
			return (isset($desc['field']['id_groupe']));
			break;
	// Installer la base
		case 'install':
			include_spip('base/create');  // definir la fonction
			include_spip('base/rec_mc_tables'); // definir sa structure
			creer_base();
			break;
	// Supprimer la base
		case 'uninstall':
			spip_query("DROP TABLE spip_rmc_rubs_groupes_conf");
			spip_query("DROP TABLE spip_rmc_rubs_groupes");
			spip_query("DROP TABLE spip_rmc_mots_exclus");
		break;
	}
}
Example #13
0
File: v017.php Project: JLuc/SPIP
/**
 * Mises à jour de SPIP n°017
 * 
 * @param float $version_installee Version actuelle
 * @param float $version_cible     Version de destination
**/
function maj_v017_dist($version_installee, $version_cible)
{
    if (upgrade_vers(1.702, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_articles ADD extra longblob NULL");
        spip_query("ALTER TABLE spip_auteurs ADD extra longblob NULL");
        spip_query("ALTER TABLE spip_breves ADD extra longblob NULL");
        spip_query("ALTER TABLE spip_rubriques ADD extra longblob NULL");
        spip_query("ALTER TABLE spip_mots ADD extra longblob NULL");
        // recuperer les eventuels 'supplement' installes en 1.701
        if ($version_installee == 1.701) {
            spip_query("UPDATE spip_articles SET extra = supplement");
            spip_query("ALTER TABLE spip_articles DROP supplement");
            spip_query("UPDATE spip_auteurs SET extra = supplement");
            spip_query("ALTER TABLE spip_auteurs DROP supplement");
            spip_query("UPDATE spip_breves SET extra = supplement");
            spip_query("ALTER TABLE spip_breves DROP supplement");
            spip_query("UPDATE spip_rubriques SET extra = supplement");
            spip_query("ALTER TABLE spip_rubriques DROP supplement");
            spip_query("UPDATE spip_mots SET extra = supplement");
            spip_query("ALTER TABLE spip_mots DROP supplement");
        }
        $u = spip_query("SELECT extra FROM spip_articles");
        $u &= spip_query("SELECT extra FROM spip_auteurs");
        $u &= spip_query("SELECT extra FROM spip_breves");
        $u &= spip_query("SELECT extra FROM spip_rubriques");
        $u &= spip_query("SELECT extra FROM spip_mots");
        maj_version(1.702, $u);
    }
    if (upgrade_vers(1.703, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_articles ADD lang VARCHAR(10) DEFAULT '' NOT NULL");
        spip_query("ALTER TABLE spip_rubriques ADD lang VARCHAR(10) DEFAULT '' NOT NULL");
        maj_version(1.703);
    }
    if (upgrade_vers(1.704, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_articles ADD INDEX lang (lang)");
        spip_query("ALTER TABLE spip_auteurs ADD INDEX lang (lang)");
        spip_query("ALTER TABLE spip_rubriques ADD INDEX lang (lang)");
        maj_version(1.704);
    }
    if (upgrade_vers(1.705, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_articles ADD langue_choisie VARCHAR(3) DEFAULT 'non'");
        spip_query("ALTER TABLE spip_rubriques ADD langue_choisie VARCHAR(3) DEFAULT 'non'");
        maj_version(1.705);
    }
    if (upgrade_vers(1.707, $version_installee, $version_cible)) {
        spip_query("UPDATE spip_articles SET langue_choisie='oui' WHERE MID(lang,1,1) != '.' AND lang != ''");
        spip_query("UPDATE spip_articles SET lang=MID(lang,2,8) WHERE langue_choisie = 'non'");
        spip_query("UPDATE spip_rubriques SET langue_choisie='oui' WHERE MID(lang,1,1) != '.' AND lang != ''");
        spip_query("UPDATE spip_rubriques SET lang=MID(lang,2,8) WHERE langue_choisie = 'non'");
        maj_version(1.707);
    }
    if (upgrade_vers(1.708, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_breves ADD lang VARCHAR(10) DEFAULT '' NOT NULL");
        spip_query("ALTER TABLE spip_breves ADD langue_choisie VARCHAR(3) DEFAULT 'non'");
        maj_version(1.708);
    }
    if (upgrade_vers(1.709, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_articles ADD id_trad bigint(21) DEFAULT '0' NOT NULL");
        spip_query("ALTER TABLE spip_articles ADD INDEX id_trad (id_trad)");
        maj_version(1.709);
    }
    if (upgrade_vers(1.717, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_articles ADD INDEX date_modif (date_modif)");
        maj_version(1.717);
    }
    if (upgrade_vers(1.718, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_referers DROP domaine");
        spip_query("ALTER TABLE spip_referers_articles DROP domaine");
        spip_query("ALTER TABLE spip_referers_temp DROP domaine");
        maj_version(1.718);
    }
    if (upgrade_vers(1.722, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_articles ADD nom_site tinytext NOT NULL");
        spip_query("ALTER TABLE spip_articles ADD url_site VARCHAR(255) NOT NULL");
        spip_query("ALTER TABLE spip_articles ADD INDEX url_site (url_site)");
        if ($version_installee >= 1.72) {
            spip_query("UPDATE spip_articles SET url_site=url_ref");
            spip_query("ALTER TABLE spip_articles DROP INDEX url_ref");
            spip_query("ALTER TABLE spip_articles DROP url_ref");
        }
        maj_version(1.722);
    }
    if (upgrade_vers(1.723, $version_installee, $version_cible)) {
        if ($version_installee == 1.722) {
            spip_query("ALTER TABLE spip_articles MODIFY url_site VARCHAR(255) NOT NULL");
            spip_query("ALTER TABLE spip_articles DROP INDEX url_site;");
            spip_query("ALTER TABLE spip_articles ADD INDEX url_site (url_site);");
        }
        maj_version(1.723);
    }
    if (upgrade_vers(1.724, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_messages ADD date_fin datetime DEFAULT '0000-00-00 00:00:00' NOT NULL");
        maj_version(1.724);
    }
    if (upgrade_vers(1.726, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_auteurs ADD low_sec tinytext NOT NULL");
        maj_version(1.726);
    }
    if (upgrade_vers(1.727, $version_installee, $version_cible)) {
        // occitans : oci_xx -> oc_xx
        spip_query("UPDATE spip_auteurs SET lang=REPLACE(lang,'oci_', 'oc_') WHERE lang LIKE 'oci_%'");
        spip_query("UPDATE spip_rubriques SET lang=REPLACE(lang,'oci_', 'oc_') WHERE lang LIKE 'oci_%'");
        spip_query("UPDATE spip_articles SET lang=REPLACE(lang,'oci_', 'oc_') WHERE lang LIKE 'oci_%'");
        spip_query("UPDATE spip_breves SET lang=REPLACE(lang,'oci_', 'oc_') WHERE lang LIKE 'oci_%'");
        maj_version(1.727);
    }
    // Ici version 1.7 officielle
    if (upgrade_vers(1.728, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_articles ADD id_version int unsigned DEFAULT '0' NOT NULL");
        maj_version(1.728);
    }
    if (upgrade_vers(1.73, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_articles ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
        spip_query("ALTER TABLE spip_articles ADD INDEX idx (idx)");
        spip_query("ALTER TABLE spip_auteurs ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
        spip_query("ALTER TABLE spip_auteurs ADD INDEX idx (idx)");
        spip_query("ALTER TABLE spip_breves ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
        spip_query("ALTER TABLE spip_breves ADD INDEX idx (idx)");
        spip_query("ALTER TABLE spip_mots ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
        spip_query("ALTER TABLE spip_mots ADD INDEX idx (idx)");
        spip_query("ALTER TABLE spip_rubriques ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
        spip_query("ALTER TABLE spip_rubriques ADD INDEX idx (idx)");
        spip_query("ALTER TABLE spip_syndic ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
        spip_query("ALTER TABLE spip_syndic ADD INDEX idx (idx)");
        spip_query("ALTER TABLE spip_forum ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
        spip_query("ALTER TABLE spip_forum ADD INDEX idx (idx)");
        spip_query("ALTER TABLE spip_signatures ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
        spip_query("ALTER TABLE spip_signatures ADD INDEX idx (idx)");
        maj_version(1.73);
    }
    if (upgrade_vers(1.731, $version_installee, $version_cible)) {
        spip_query("UPDATE spip_articles SET idx='1' where lang IN ('de','vi')");
        spip_query("UPDATE spip_rubriques SET idx='1' where lang IN ('de','vi')");
        spip_query("UPDATE spip_breves SET idx='1' where lang IN ('de','vi')");
        spip_query("UPDATE spip_auteurs SET idx='1' where lang IN ('de','vi')");
        maj_version(1.731);
    }
    if (upgrade_vers(1.732, $version_installee, $version_cible)) {
        // en correction d'un vieux truc qui avait fait sauter le champ inclus sur les bases version 1.415
        spip_query("ALTER TABLE spip_documents ADD inclus  VARCHAR(3) DEFAULT 'non'");
        maj_version(1.732);
    }
    if (upgrade_vers(1.733, $version_installee, $version_cible)) {
        // spip_query("ALTER TABLE spip_articles ADD id_version int unsigned DEFAULT '0' NOT NULL");
        spip_query("DROP TABLE spip_versions");
        spip_query("DROP TABLE spip_versions_fragments");
        creer_base();
        maj_version(1.733);
    }
    #if ($version_installee < 1.734) {
    #	// integrer nouvelles tables auxiliaires du compilateur ESJ
    #	creer_base();
    #	maj_version(1.734);
    #}
}
Example #14
0
/**
 * @return string
 */
function spiplistes_base_creer () {

	//spiplistes_debug_log("spiplistes_base_creer()");
	global $tables_principales;
	
	// demande a SPIP de creer les tables (base/create.php)
	include_spip('base/create');
	include_spip('base/abstract_sql');
	include_spip('base/db_mysql');
	include_spip('base/spiplistes_tables');
	creer_base();
	$descauteurs = sql_showtable('spip_auteurs_elargis',true);
	if(!isset($descauteurs['field']['spip_listes_format'])){
		// si la table spip_auteurs_elargis existe déjà
		sql_alter("TABLE spip_auteurs_elargis ADD `spip_listes_format` VARCHAR(8) DEFAULT 'non' NOT NULL");
	}
	spiplistes_log("INSTALL: database creation");

	$spiplistes_base_version = spiplistes_real_version_base_get(_SPIPLISTES_PREFIX);
	ecrire_meta('spiplistes_base_version', $spiplistes_base_version);
	spiplistes_ecrire_metas();
	
	$spiplistes_base_version = $GLOBALS['meta']['spiplistes_base_version'];

	return($spiplistes_base_version);
}
Example #15
0
function install_bases($adresse_db, $login_db, $pass_db,  $server_db, $choix_db, $sel_db, $chmod_db){
	global $spip_version_base;

	// Prefix des tables :
	// contrairement a ce qui est dit dans le message (trop strict mais c'est
	// pour notre bien), on va tolerer les chiffres en plus des minuscules
	// S'il n'est pas defini par mes_options/inc/mutualiser, on va le creer
	// a partir de ce qui est envoye a l'installation
	if (!defined('_INSTALL_TABLE_PREFIX')) {
		$table_prefix = ($GLOBALS['table_prefix'] != 'spip')
		? $GLOBALS['table_prefix']
		: trim(preg_replace(',[^a-z0-9],','',strtolower(_request('tprefix'))));
		// S'il est vide on remet spip
		if (!$table_prefix)
			$table_prefix = 'spip';
	} else {
		$table_prefix = _INSTALL_TABLE_PREFIX;
	}

	$GLOBALS['connexions'][$server_db]
	= spip_connect_db($adresse_db, 0, $login_db, $pass_db, '', $server_db);

	$GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']]
	= $GLOBALS['spip_' . $server_db .'_functions_' . $GLOBALS['spip_sql_version']];

	$fquery = sql_serveur('query', $server_db);
	if ($choix_db == "new_spip") {
		$re = ',^[a-z_][a-z_0-9-]*$,i';
		if (preg_match($re, $sel_db))
			sql_create_base($sel_db, $server_db);
		else {
		  $re = "Le nom de la base doit correspondre a $re";
		  spip_log($re);
		  return "<!--\n$re\n-->";
		}
	}

	// on rejoue la connexion apres avoir teste si il faut lui indiquer
	// un sql_mode
	install_mode_appel($server_db, false);
	$GLOBALS['connexions'][$server_db]
	= spip_connect_db($adresse_db, $sel_db, $login_db, $pass_db, $sel_db, $server_db);

	$GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']]
	= $GLOBALS['spip_' . $server_db .'_functions_' . $GLOBALS['spip_sql_version']];

	// Completer le tableau decrivant la connexion

	$GLOBALS['connexions'][$server_db]['prefixe'] = $table_prefix;
	$GLOBALS['connexions'][$server_db]['db'] = $sel_db;

	$old = sql_showbase($table_prefix  . "_meta", $server_db);
	if ($old) $old = sql_fetch($old, $server_db);
	if (!$old) {

		// Si possible, demander au serveur d'envoyer les textes
		// dans le codage std de SPIP,
		$charset = sql_get_charset(_DEFAULT_CHARSET, $server_db);

		if ($charset) {
			sql_set_charset($charset['charset'], $server_db);
			$GLOBALS['meta']['charset_sql_base'] = 
				$charset['charset'];
			$GLOBALS['meta']['charset_collation_sql_base'] = 
				$charset['collation'];
			$GLOBALS['meta']['charset_sql_connexion'] = 
				$charset['charset'];
			$charsetbase = $charset['charset'];
		} else {
			spip_log(_DEFAULT_CHARSET . " inconnu du serveur SQL");
			$charsetbase = 'standard';
		}
		spip_log("Creation des tables. Codage $charsetbase");
		creer_base($server_db); // AT LAST
		creer_base_types_doc($server_db);
		// memoriser avec quel charset on l'a creee

		if ($charset) {
			$t = array('nom' => 'charset_sql_base',
				   'valeur' => $charset['charset'],
				   'impt' => 'non');
			@sql_insertq('spip_meta', $t, '', $server_db);
			$t['nom'] = 'charset_collation_sql_base';
			$t['valeur'] = $charset['collation'];
			@sql_insertq('spip_meta', $t, '', $server_db);
			$t['nom'] = 'charset_sql_connexion';
			$t['valeur'] = $charset['charset'];
			@sql_insertq('spip_meta', $t, '', $server_db);
		}
		$t = array('nom' => 'version_installee',
			   'valeur' => $spip_version_base,
			   'impt' => 'non');
		@sql_insertq('spip_meta', $t, '', $server_db);
		$t['nom'] = 'nouvelle_install';
		$t['valeur'] = 1;
		@sql_insertq('spip_meta', $t, '', $server_db);
		// positionner la langue par defaut du site si un cookie de lang a ete mis
		if (isset($_COOKIE['spip_lang_ecrire'])){
			@sql_insertq('spip_meta', array('nom'=>'langue_site','valeur'=>$_COOKIE['spip_lang_ecrire']), '', $server_db);
		}
	} else {

	  // pour recreer les tables disparues au besoin
	  spip_log("Table des Meta deja la. Verification des autres.");
	  creer_base($server_db); 
	  $fupdateq = sql_serveur('updateq', $server_db);

	  $r = $fquery("SELECT valeur FROM spip_meta WHERE nom='version_installee'", $server_db);

	  if ($r) $r = sql_fetch($r, $server_db);
	  $version_installee = !$r ? 0 : (double) $r['valeur'];
	  if (!$version_installee OR ($spip_version_base < $version_installee)) {
	    $fupdateq('spip_meta', array('valeur'=>$spip_version_base, 'impt'=>'non'), "nom='version_installee'", $server_db);
	    spip_log("nouvelle version installee: $spip_version_base");
	  }
	  // eliminer la derniere operation d'admin mal terminee
	  // notamment la mise a jour 
	  @$fquery("DELETE FROM spip_meta WHERE nom='import_all' OR  nom='admin'", $server_db);
	}

	$ligne_rappel = install_mode_appel($server_db);

	$result_ok = @$fquery("SELECT COUNT(*) FROM spip_meta", $server_db);
	if (!$result_ok) return "<!--\nvielle = $old rappel= $ligne_rappel\n-->";

	if ($chmod_db) {
		install_fichier_connexion(_FILE_CHMOD_TMP, "if (!defined('_SPIP_CHMOD')) define('_SPIP_CHMOD', ". sprintf('0%3o',$chmod_db).");\n");
	}

	if (preg_match(',(.*):(.*),', $adresse_db, $r))
		list(,$adresse_db, $port) = $r;
	else $port = '';

	// si ce fichier existe a cette etape c'est qu'il provient
	// d'une installation qui ne l'a pas cree correctement.
	// Le supprimer pour que _FILE_CONNECT_TMP prime.

	if (_FILE_CONNECT AND file_exists(_FILE_CONNECT))
		spip_unlink(_FILE_CONNECT);

	install_fichier_connexion(_FILE_CONNECT_TMP, 
				  $ligne_rappel
				  . install_connexion($adresse_db,
						      $port,
						      $login_db,
						      $pass_db,
						      $sel_db,
						      $server_db,
						      $table_prefix));
	return '';
}
function ecatalogue_upgrade($nom_meta_base_version, $version_cible)
{
    $current_version = "0.0";
    // If plugin is already installed, get it's base version
    if (isset($GLOBALS['meta'][$nom_meta_base_version])) {
        $current_version = $GLOBALS['meta'][$nom_meta_base_version];
        //spip_log('12:14 Version actuelle : '.$current_version,'ecatalogue');
    }
    // If plugin's base version is 0.0 (it is not installed) create database
    if ($current_version == "0.0") {
        // check if you already have an old database
        $r = mysql_query("SELECT `type` FROM `spip_ecatalogue_groupes` WHERE 0");
        if ($r) {
            sql_alter("TABLE spip_ecatalogue_groupes RENAME spip_ecatalogue_proprietes");
            sql_alter("TABLE spip_ecatalogue_proprietes CHANGE id_groupe id_propriete bigint(21) NOT NULL");
            sql_alter("TABLE spip_ecatalogue_options CHANGE id_groupe id_propriete bigint(21) NOT NULL");
        }
        creer_base();
        // Write new version to sql cache.
        //$current_version became latest, therefore all next version_compare checks won't be executed
        ecrire_meta($nom_meta_base_version, $current_version = $version_cible);
        //spip_log('Base de donnйes ecatalogue correctement peuplйe','ecatalogue');
    }
    // If plugin's base version is < 0.1, alter some tables
    if (version_compare($current_version, "0.1.0", "<")) {
        // Upgrade via sql_alter
        //sql_alter("TABLE spip_ecatalogue_products ADD COLUMN id_equipment bigint(21) NOT NULL");
        // Upgrade via maj_tables (it tells SPIP to refresh some tables)
        maj_tables('spip_ecatalogue_products');
        // Write new version to sql cache
        ecrire_meta($nom_meta_base_version, $current_version = "0.1");
    }
    if (version_compare($current_version, "0.2.0", "<")) {
        //maj_tables('spip_ecatalogue_articles_similars');
        creer_base();
        maj_tables('spip_ecatalogue_products');
        ecrire_meta($nom_meta_base_version, $current_version = "0.2");
    }
    if (version_compare($current_version, "0.3.0", "<")) {
        // Create tables that wasn't created yet
        creer_base();
        ecrire_meta($nom_meta_base_version, $current_version = "0.3");
    }
    if (version_compare($current_version, "0.4.0", "<")) {
        // Create tables that wasn't created yet
        //creer_base();
        maj_tables('spip_ecatalogue_products');
        ecrire_meta($nom_meta_base_version, $current_version = "0.4");
    }
    if (version_compare($current_version, "0.5.0", "<")) {
        // Create tables that wasn't created yet
        creer_base();
        ecrire_meta($nom_meta_base_version, $current_version = "0.5");
    }
    if (version_compare($current_version, "0.6.0", "<")) {
        maj_tables('spip_ecatalogue_products');
        ecrire_meta($nom_meta_base_version, $current_version = "0.6");
    }
    if (version_compare($current_version, "0.7.0", "<")) {
        maj_tables('spip_ecatalogue_composites_articles');
        ecrire_meta($nom_meta_base_version, $current_version = "0.7");
    }
    if (version_compare($current_version, "0.9.0", "<")) {
        maj_tables('spip_ecatalogue_options');
        ecrire_meta($nom_meta_base_version, $current_version = "0.9");
    }
    if (version_compare($current_version, "0.10.0", "<")) {
        // Create tables that wasn't created yet (spip_ecatalogue_proprietes,  spip_ecatalogue_rubriques_groupes)
        creer_base();
        // Update tables
        maj_tables('spip_ecatalogue_options');
        maj_tables('spip_ecatalogue_groupes');
        ecrire_meta($nom_meta_base_version, $current_version = "0.10");
    }
    if (version_compare($current_version, "0.11.0", "<")) {
        // Create tables that wasn't created yet (spip_ecatalogue_proprietes,  spip_ecatalogue_rubriques_groupes)
        //creer_base();
        $desc = description_table('spip_rubriques');
        // Update tables
        if (!array_key_exists('id_import', $desc['field'])) {
            sql_query('Alter table spip_rubriques add column id_import int null ');
        }
        ecrire_meta($nom_meta_base_version, $current_version = "0.11");
    }
    if (version_compare($current_version, "0.12.0", "<")) {
        creer_base();
        maj_tables('ecatalogue_prices');
        maj_tables('ecatalogue_prices_group');
        // Проверка на существование 1 группы цен
        $id_group = '';
        $r1 = sql_select('id_group', 'spip_ecatalogue_prices_group', array('id_group = 1', 'is_active = 1'));
        while ($res = sql_fetch($r1)) {
            $id_group = $res[1];
        }
        if (!$id_group) {
            sql_insert('spip_ecatalogue_prices_group', '(id_group,titre,is_active)', '(1,"Розница",1)');
        }
        // Запись в таблицу spip_ecatalogue_prices цен из таблицы spip_ecatalogue_products
        $r = sql_select('id_article,price', 'spip_ecatalogue_products', 'price<>""');
        while ($res = sql_fetch($r)) {
            $id_group = 1;
            $id_article = $res['id_article'];
            $price = $res['price'];
            // Проверка что такая цена уже есть в справочнике цен в 1 группе, тогда цену обновляем
            $id_tmp_art = '';
            $r2 = sql_select('id_article', 'spip_ecatalogue_prices', array('id_article = ' . $id_article, 'id_group = 1'));
            while ($res = sql_fetch($r2)) {
                $id_tmp_art = $res['id_article'];
            }
            if ($id_tmp_art) {
                // Обновляем цену
                sql_update('spip_ecatalogue_prices', array('price' => $price), array('id_article = ' . $id_article, 'id_group = 1'));
            } else {
                // Вставляем цену
                sql_insert('spip_ecatalogue_prices', '(id_article,id_group,price)', '(' . $id_article . ',1,' . $price . ')');
            }
        }
        ecrire_meta($nom_meta_base_version, $current_version = "0.12");
    }
    include_spip('base/ecatalogue_db_populate');
}
Example #17
0
File: v014.php Project: nursit/SPIP
function maj_v014_dist($version_installee, $version_cible)
{
    if (upgrade_vers(1.404, $version_installee, $version_cible)) {
        spip_query("UPDATE spip_mots SET type='Mots sans groupe...' WHERE type=''");
        $result = spip_query("SELECT * FROM spip_mots GROUP BY type");
        while ($row = sql_fetch($result)) {
            $type = addslashes($row['type']);
            // Old style, doit echouer
            spip_log('ne pas tenir compte de l erreur spip_groupes_mots ci-dessous:', 'mysql');
            spip_query("INSERT INTO spip_groupes_mots \t\t\t\t\t(titre, unseul, obligatoire, articles, breves, rubriques, syndic, 0minirezo, 1comite, 6forum)\t\t\t\t\tVALUES (\"{$type}\", 'non', 'non', 'oui', 'oui', 'non', 'oui', 'oui', 'oui', 'non')");
            // New style, devrait marcher
            spip_query("INSERT INTO spip_groupes_mots \t\t\t\t\t(titre, unseul, obligatoire, articles, breves, rubriques, syndic, minirezo, comite, forum)\t\t\t\t\tVALUES (\"{$type}\", 'non', 'non', 'oui', 'oui', 'non', 'oui', 'oui', 'oui', 'non')");
        }
        sql_delete("spip_mots", "titre='kawax'");
        maj_version(1.404);
    }
    if (upgrade_vers(1.405, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_mots ADD id_groupe bigint(21) NOT NULL");
        $result = spip_query("SELECT * FROM spip_groupes_mots");
        while ($row = sql_fetch($result)) {
            $id_groupe = addslashes($row['id_groupe']);
            $type = addslashes($row['titre']);
            spip_query("UPDATE spip_mots SET id_groupe = '{$id_groupe}' WHERE type='{$type}'");
        }
        maj_version(1.405);
    }
    if (upgrade_vers(1.408, $version_installee, $version_cible)) {
        // Images articles passent dans spip_documents
        $result = spip_query("SELECT id_article, images FROM spip_articles WHERE LENGTH(images) > 0");
        $types = array('jpg' => 1, 'png' => 2, 'gif' => 3);
        while ($row = @sql_fetch($result)) {
            $id_article = $row['id_article'];
            $images = $row['images'];
            $images = explode(",", $images);
            reset($images);
            $replace = '_orig_';
            foreach ($images as $val) {
                $image = explode("|", $val);
                $fichier = $image[0];
                $largeur = $image[1];
                $hauteur = $image[2];
                preg_match(",-([0-9]+)\\.(gif|jpg|png)\$,i", $fichier, $match);
                $id_type = intval($types[$match[2]]);
                $num_img = $match[1];
                $fichier = _DIR_IMG . $fichier;
                $taille = @filesize($fichier);
                // ici on n'a pas les fonctions absctract !
                $s = spip_query("INSERT INTO spip_documents (titre, id_type, fichier, mode, largeur, hauteur, taille) VALUES ('image {$largeur} x {$hauteur}', {$id_type}, '{$fichier}', 'vignette', '{$largeur}', '{$hauteur}', '{$taille}')");
                $id_document = mysql_insert_id($s);
                if ($id_document > 0) {
                    spip_query("INSERT INTO spip_documents_articles (id_document, id_article) VALUES ({$id_document}, {$id_article})");
                    $replace = "REPLACE({$replace}, '<IMG{$num_img}|', '<IM_{$id_document}|')";
                } else {
                    echo _T('texte_erreur_mise_niveau_base', array('fichier' => $fichier, 'id_article' => $id_article));
                    exit;
                }
            }
            $replace = "REPLACE({$replace}, '<IM_', '<IMG')";
            $replace_chapo = str_replace('_orig_', 'chapo', $replace);
            $replace_descriptif = str_replace('_orig_', 'descriptif', $replace);
            $replace_texte = str_replace('_orig_', 'texte', $replace);
            $replace_ps = str_replace('_orig_', 'ps', $replace);
            spip_query("UPDATE spip_articles SET chapo={$replace_chapo}, descriptif={$replace_descriptif}, texte={$replace_texte}, ps={$replace_ps} WHERE id_article={$id_article}");
        }
        spip_query("ALTER TABLE spip_articles DROP images");
        maj_version(1.408);
    }
    if (upgrade_vers(1.414, $version_installee, $version_cible)) {
        // Forum par defaut "en dur" dans les spip_articles
        // -> non, prio (priori), pos (posteriori), abo (abonnement)
        $accepter_forum = substr($GLOBALS['meta']["forums_publics"], 0, 3);
        $result = spip_query("ALTER TABLE spip_articles CHANGE accepter_forum accepter_forum CHAR(3) NOT NULL");
        $result = spip_query("UPDATE spip_articles SET accepter_forum='{$accepter_forum}' WHERE accepter_forum != 'non'");
        maj_version(1.414);
    }
    /*
    if ($version_installee == 1.415) {
    	spip_query("ALTER TABLE spip_documents DROP inclus");
    	maj_version (1.415);
    }
    */
    if (upgrade_vers(1.417, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_syndic_articles DROP date_index");
        maj_version(1.417);
    }
    if (upgrade_vers(1.418, $version_installee, $version_cible)) {
        $result = spip_query("SELECT * FROM spip_auteurs WHERE statut = '0minirezo' AND email != '' ORDER BY id_auteur LIMIT 1");
        if ($webmaster = sql_fetch($result)) {
            ecrire_meta('email_webmaster', $webmaster['email']);
        }
        maj_version(1.418);
    }
    if (upgrade_vers(1.419, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_auteurs ADD alea_actuel TINYTEXT DEFAULT ''");
        spip_query("ALTER TABLE spip_auteurs ADD alea_futur TINYTEXT DEFAULT ''");
        spip_query("UPDATE spip_auteurs SET alea_futur = FLOOR(32000*RAND())");
        maj_version(1.419);
    }
    if (upgrade_vers(1.42, $version_installee, $version_cible)) {
        spip_query("UPDATE spip_auteurs SET alea_actuel='' WHERE statut='nouveau'");
        maj_version(1.42);
    }
    if (upgrade_vers(1.421, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_articles ADD auteur_modif bigint(21) DEFAULT '0' NOT NULL");
        spip_query("ALTER TABLE spip_articles ADD date_modif datetime DEFAULT '0000-00-00 00:00:00' NOT NULL");
        maj_version(1.421);
    }
    if (upgrade_vers(1.432, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_articles DROP referers");
        spip_query("ALTER TABLE spip_articles ADD referers INTEGER DEFAULT '0' NOT NULL");
        spip_query("ALTER TABLE spip_articles ADD popularite INTEGER DEFAULT '0' NOT NULL");
        maj_version(1.432);
    }
    if (upgrade_vers(1.436, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_documents ADD date datetime DEFAULT '0000-00-00 00:00:00' NOT NULL");
        maj_version(1.436);
    }
    if (upgrade_vers(1.437, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_visites ADD maj TIMESTAMP");
        spip_query("ALTER TABLE spip_visites_referers ADD maj TIMESTAMP");
        maj_version(1.437);
    }
    if (upgrade_vers(1.438, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_articles ADD INDEX id_secteur (id_secteur)");
        spip_query("ALTER TABLE spip_articles ADD INDEX statut (statut, date)");
        maj_version(1.438);
    }
    if (upgrade_vers(1.439, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_syndic ADD INDEX statut (statut, date_syndic)");
        spip_query("ALTER TABLE spip_syndic_articles ADD INDEX statut (statut)");
        spip_query("ALTER TABLE spip_syndic_articles CHANGE url url VARCHAR(255) NOT NULL");
        spip_query("ALTER TABLE spip_syndic_articles ADD INDEX url (url)");
        maj_version(1.439);
    }
    if (upgrade_vers(1.44, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_visites_temp CHANGE ip ip INTEGER UNSIGNED NOT NULL");
        maj_version(1.44);
    }
    if (upgrade_vers(1.441, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_visites_temp CHANGE date date DATE NOT NULL");
        spip_query("ALTER TABLE spip_visites CHANGE date date DATE NOT NULL");
        spip_query("ALTER TABLE spip_visites_referers CHANGE date date DATE NOT NULL");
        maj_version(1.441);
    }
    if (upgrade_vers(1.442, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_auteurs ADD prefs TINYTEXT NOT NULL");
        maj_version(1.442);
    }
    if (upgrade_vers(1.443, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_auteurs CHANGE login login VARCHAR(255) BINARY NOT NULL");
        spip_query("ALTER TABLE spip_auteurs CHANGE statut statut VARCHAR(255) NOT NULL");
        spip_query("ALTER TABLE spip_auteurs ADD INDEX login (login)");
        spip_query("ALTER TABLE spip_auteurs ADD INDEX statut (statut)");
        maj_version(1.443);
    }
    if (upgrade_vers(1.444, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_syndic ADD moderation VARCHAR(3) NOT NULL");
        maj_version(1.444);
    }
    if (upgrade_vers(1.457, $version_installee, $version_cible)) {
        spip_query("DROP TABLE spip_visites");
        spip_query("DROP TABLE spip_visites_temp");
        spip_query("DROP TABLE spip_visites_referers");
        creer_base();
        // crade, a ameliorer :-((
        maj_version(1.457);
    }
    if (upgrade_vers(1.458, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_auteurs ADD cookie_oubli TINYTEXT NOT NULL");
        maj_version(1.458);
    }
    if (upgrade_vers(1.459, $version_installee, $version_cible)) {
        $result = spip_query("SELECT type FROM spip_mots GROUP BY type");
        while ($row = sql_fetch($result)) {
            $type = addslashes($row['type']);
            $res = spip_query("SELECT * FROM spip_groupes_mots WHERE titre='{$type}'");
            if (sql_count($res) == 0) {
                $s = spip_query("INSERT INTO spip_groupes_mots (titre, unseul, obligatoire, articles, breves, rubriques, syndic, minirezo, comite, forum) VALUES ('{$type}', 'non', 'non', 'oui', 'oui', 'non', 'oui', 'oui', 'oui', 'non')");
                if ($id_groupe = mysql_insert_id($s)) {
                    spip_query("UPDATE spip_mots SET id_groupe = '{$id_groupe}' WHERE type='{$type}'");
                }
            }
        }
        spip_query("UPDATE spip_articles SET popularite=0");
        maj_version(1.459);
    }
    if (upgrade_vers(1.46, $version_installee, $version_cible)) {
        // remettre les mots dans les groupes dupliques par erreur
        // dans la precedente version du paragraphe de maj 1.459
        // et supprimer ceux-ci
        $result = spip_query("SELECT * FROM spip_groupes_mots ORDER BY id_groupe");
        while ($row = sql_fetch($result)) {
            $titre = addslashes($row['titre']);
            if (!$vu[$titre]) {
                $vu[$titre] = true;
                $id_groupe = $row['id_groupe'];
                spip_query("UPDATE spip_mots SET id_groupe={$id_groupe} WHERE type='{$titre}'");
                sql_delete("spip_groupes_mots", "titre='{$titre}' AND id_groupe<>{$id_groupe}");
            }
        }
        maj_version(1.46);
    }
    if (upgrade_vers(1.462, $version_installee, $version_cible)) {
        spip_query("UPDATE spip_types_documents SET inclus='embed' WHERE inclus!='non' AND extension IN ('aiff', 'asf', 'avi', 'mid', 'mov', 'mp3', 'mpg', 'ogg', 'qt', 'ra', 'ram', 'rm', 'swf', 'wav', 'wmv')");
        maj_version(1.462);
    }
    if (upgrade_vers(1.463, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_articles CHANGE popularite popularite DOUBLE");
        spip_query("ALTER TABLE spip_visites_temp ADD maj TIMESTAMP");
        spip_query("ALTER TABLE spip_referers_temp ADD maj TIMESTAMP");
        maj_version(1.463);
    }
    // l'upgrade < 1.462 ci-dessus etait fausse, d'ou correctif
    if (upgrade_vers(1.464, $version_installee, $version_cible) and $version_installee >= 1.462) {
        $res = spip_query("SELECT id_type, extension FROM spip_types_documents WHERE id_type NOT IN (1,2,3)");
        while ($row = sql_fetch($res)) {
            $extension = $row['extension'];
            $id_type = $row['id_type'];
            spip_query("UPDATE spip_documents SET id_type={$id_type}\tWHERE fichier like '%.{$extension}'");
        }
        maj_version(1.464);
    }
    if (upgrade_vers(1.465, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_articles CHANGE popularite popularite DOUBLE NOT NULL");
        maj_version(1.465);
    }
    if (upgrade_vers(1.466, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_auteurs ADD source VARCHAR(10) DEFAULT 'spip' NOT NULL");
        maj_version(1.466);
    }
    if (upgrade_vers(1.468, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_auteurs ADD INDEX en_ligne (en_ligne)");
        spip_query("ALTER TABLE spip_forum ADD INDEX statut (statut, date_heure)");
        maj_version(1.468);
    }
    if (upgrade_vers(1.47, $version_installee, $version_cible)) {
        if ($version_installee >= 1.467) {
            // annule les "listes de diff"
            spip_query("DROP TABLE spip_listes");
            spip_query("ALTER TABLE spip_auteurs DROP abonne");
            spip_query("ALTER TABLE spip_auteurs DROP abonne_pass");
        }
        maj_version(1.47);
    }
    if (upgrade_vers(1.471, $version_installee, $version_cible)) {
        if ($version_installee >= 1.47) {
            // annule les "maj"
            spip_query("ALTER TABLE spip_auteurs_articles DROP maj TIMESTAMP");
            spip_query("ALTER TABLE spip_auteurs_rubriques DROP maj TIMESTAMP");
            spip_query("ALTER TABLE spip_auteurs_messages DROP maj TIMESTAMP");
            spip_query("ALTER TABLE spip_documents_articles DROP maj TIMESTAMP");
            spip_query("ALTER TABLE spip_documents_rubriques DROP maj TIMESTAMP");
            spip_query("ALTER TABLE spip_documents_breves DROP maj TIMESTAMP");
            spip_query("ALTER TABLE spip_mots_articles DROP maj TIMESTAMP");
            spip_query("ALTER TABLE spip_mots_breves DROP maj TIMESTAMP");
            spip_query("ALTER TABLE spip_mots_rubriques DROP maj TIMESTAMP");
            spip_query("ALTER TABLE spip_mots_syndic DROP maj TIMESTAMP");
            spip_query("ALTER TABLE spip_mots_forum DROP maj TIMESTAMP");
        }
        maj_version(1.471);
    }
    if (upgrade_vers(1.472, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_referers ADD visites_jour INTEGER UNSIGNED NOT NULL");
        maj_version(1.472);
    }
    if (upgrade_vers(1.473, $version_installee, $version_cible)) {
        spip_query("UPDATE spip_syndic_articles SET url = REPLACE(url, '&amp;', '&')");
        spip_query("UPDATE spip_syndic SET url_site = REPLACE(url_site, '&amp;', '&')");
        maj_version(1.473);
    }
}
Example #18
0
	function agenda_verifier_base(){
		$version_base = $GLOBALS['agenda_base_version'];
		$current_version = 0.0;
		if (   (!isset($GLOBALS['meta']['agenda_base_version']) )
				|| (($current_version = $GLOBALS['meta']['agenda_base_version'])!=$version_base)){
			include_spip('base/agenda_evenements');
			if ($current_version==0.0){
				include_spip('base/create');
				include_spip('base/abstract_sql');
				creer_base();
				maj_tables('spip_rubriques'); 
				ecrire_meta('agenda_base_version',$current_version=$version_base,'non');
			}
			if (version_compare($current_version,"0.11","<")){
				sql_alter("TABLE spip_evenements ADD `horaire` ENUM('oui','non') DEFAULT 'oui' NOT NULL AFTER `lieu`");
				ecrire_meta('agenda_base_version',$current_version=0.11,'non');
			}
			if (version_compare($current_version,"0.12","<")){
				sql_alter("TABLE spip_evenements ADD `id_article` bigint(21) DEFAULT '0' NOT NULL AFTER `id_evenement`");
				sql_alter("TABLE spip_evenements ADD INDEX ( `id_article` )");
				$res = sql_select("*", "spip_evenements_articles");
				while ($row = sql_fetch($res)){
					$id_article = $row['id_article'];
					$id_evenement = $row['id_evenement'];
					sql_update("spip_evenements", "id_article=$id_article", "id_evenement=$id_evenement");
				}
				sql_drop_table("spip_evenements_articles");
				ecrire_meta('agenda_base_version',$current_version=0.12,'non');
			}
			if (version_compare($current_version,"0.13","<")){
				include_spip('base/create');
				include_spip('base/abstract_sql');
				creer_base();
				ecrire_meta('agenda_base_version',$current_version=0.13,'non');
			}
			if (version_compare($current_version,"0.18","<")){
				include_spip('base/create');
				include_spip('base/abstract_sql');
				creer_base();
				sql_update('spip_groupes_mots',array('tables_liees'=>"concat(tables_liees,'evenements,')"),"evenements='oui'");
				sql_alter("TABLE spip_groupes_mots DROP evenements");
				ecrire_meta('agenda_base_version',$current_version=0.18,'non');
			}
			if (version_compare($current_version,"0.20","<")){
				include_spip('base/abstract_sql');
				sql_alter("TABLE spip_rubriques ADD agenda tinyint(1) DEFAULT 0 NOT NULL");
				ecrire_meta('agenda_base_version',$current_version=0.20,'non');
			}
			if (version_compare($current_version,"0.21","<")){
				include_spip('base/abstract_sql');
				sql_alter("TABLE spip_evenements ADD adresse text NOT NULL");
				sql_alter("TABLE spip_evenements ADD inscription text NOT NULL");
				sql_alter("TABLE spip_evenements ADD places text NOT NULL");
				ecrire_meta('agenda_base_version',$current_version=0.21,'non');
			}
			if (version_compare($current_version,"0.22","<")){
				include_spip('base/abstract_sql');
				include_spip('base/create');
				include_spip('base/auxiliaires');
				maj_tables('spip_evenements_participants');
				ecrire_meta('agenda_base_version',$current_version=0.22,'non');
			}
			if (version_compare($current_version,"0.23","<")){
				include_spip('base/abstract_sql');
				sql_alter("TABLE spip_evenements CHANGE titre titre text NOT NULL DEFAULT ''");
				sql_alter("TABLE spip_evenements CHANGE descriptif descriptif text NOT NULL DEFAULT ''");
				sql_alter("TABLE spip_evenements CHANGE lieu lieu text NOT NULL DEFAULT ''");
				sql_alter("TABLE spip_evenements CHANGE adresse adresse text NOT NULL DEFAULT ''");
				ecrire_meta('agenda_base_version',$current_version=0.23,'non');
			}
		}
	}
Example #19
0
/**
 * Mises à jour de SPIP n°018
 *
 * @param float $version_installee Version actuelle
 * @param float $version_cible Version de destination
 **/
function maj_v018_dist($version_installee, $version_cible)
{
    if (upgrade_vers(1.801, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_rubriques\tADD statut_tmp VARCHAR(10) NOT NULL,\tADD date_tmp datetime DEFAULT '0000-00-00 00:00:00' NOT NULL");
        include_spip('inc/rubriques');
        calculer_rubriques();
        maj_version(1.801);
    }
    // Nouvelles tables d'invalidation
    if (upgrade_vers(1.802, $version_installee, $version_cible)) {
        spip_query("DROP TABLE spip_id_article_caches");
        spip_query("DROP TABLE spip_id_auteur_caches");
        spip_query("DROP TABLE spip_id_breve_caches");
        spip_query("DROP TABLE spip_id_document_caches");
        spip_query("DROP TABLE spip_id_forum_caches");
        spip_query("DROP TABLE spip_id_groupe_caches");
        spip_query("DROP TABLE spip_id_message_caches");
        spip_query("DROP TABLE spip_id_mot_caches");
        spip_query("DROP TABLE spip_id_rubrique_caches");
        spip_query("DROP TABLE spip_id_signature_caches");
        spip_query("DROP TABLE spip_id_syndic_article_caches");
        spip_query("DROP TABLE spip_id_syndic_caches");
        spip_query("DROP TABLE spip_id_type_caches");
        spip_query("DROP TABLE spip_inclure_caches");
        maj_version(1.802);
    }
    if (upgrade_vers(1.803, $version_installee, $version_cible)) {
        #	27 AOUT 2004 : conservons cette table pour autoriser les retours
        #	de SPIP 1.8a6 CVS vers 1.7.2
        #	spip_query("DROP TABLE spip_forum_cache");
        spip_query("DROP TABLE spip_inclure_caches");
        maj_version(1.803);
    }
    if (upgrade_vers(1.804, $version_installee, $version_cible)) {
        // recreer la table spip_caches
        spip_query("DROP TABLE spip_caches");
        creer_base();
        maj_version(1.804);
    }
    /**
     * Recalculer tous les threads
     *
     * Fonction du plugin forum recopiee ici pour assurer la montee
     * de version dans tous les cas de figure
     **/
    function maj_v018_calculer_threads()
    {
        // fixer les id_thread des debuts de discussion
        sql_update('spip_forum', array('id_thread' => 'id_forum'), "id_parent=0");
        // reparer les messages qui n'ont pas l'id_secteur de leur parent
        do {
            $discussion = "0";
            $precedent = 0;
            $r = sql_select("fille.id_forum AS id,\tmaman.id_thread AS thread", 'spip_forum AS fille, spip_forum AS maman', "fille.id_parent = maman.id_forum AND fille.id_thread <> maman.id_thread", '', "thread");
            while ($row = sql_fetch($r)) {
                if ($row['thread'] == $precedent) {
                    $discussion .= "," . $row['id'];
                } else {
                    if ($precedent) {
                        sql_updateq("spip_forum", array("id_thread" => $precedent), "id_forum IN ({$discussion})");
                    }
                    $precedent = $row['thread'];
                    $discussion = $row['id'];
                }
            }
            sql_updateq("spip_forum", array("id_thread" => $precedent), "id_forum IN ({$discussion})");
        } while ($discussion != "0");
    }
    if (upgrade_vers(1.805, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_forum ADD id_thread bigint(21) DEFAULT '0' NOT NULL");
        maj_v018_calculer_threads();
        maj_version(1.805);
    }
    // tables d'orthographe
    #if ($version_installee < 1.806)
    #	maj_version(1.806);
    // URLs propres (inc_version = 0.12)
    if (upgrade_vers(1.807, $version_installee, $version_cible)) {
        foreach (array('articles', 'breves', 'rubriques', 'mots') as $objets) {
            spip_query("ALTER TABLE spip_{$objets} ADD url_propre VARCHAR(255) NOT NULL");
            spip_query("ALTER TABLE spip_{$objets} ADD INDEX url_propre (url_propre)");
        }
        maj_version(1.807);
    }
    // referers de la veille
    if (upgrade_vers(1.808, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_referers ADD visites_veille INT UNSIGNED NOT NULL");
        maj_version(1.808);
    }
    // corrections diverses
    if (upgrade_vers(1.809, $version_installee, $version_cible)) {
        // plus de retour possible vers 1.7.2
        spip_query("DROP TABLE spip_forum_cache");
        // les requetes ci-dessous ne s'appliqueront que si on est passe
        // par une certaine version de developpement - oublie de le faire
        // plus tot, car le code d'alors recreait purement et simplement
        // cette table
        spip_query("ALTER TABLE spip_versions DROP chapo");
        spip_query("ALTER TABLE spip_versions DROP texte");
        spip_query("ALTER TABLE spip_versions DROP ps");
        spip_query("ALTER TABLE spip_versions DROP extra");
        spip_query("ALTER TABLE spip_versions ADD champs text NOT NULL");
        maj_version(1.809);
    }
    // Annuler les brouillons de forum jamais valides
    if (upgrade_vers(1.81, $version_installee, $version_cible)) {
        sql_delete("spip_forum", "statut='redac'");
        maj_version(1.81);
    }
    if (upgrade_vers(1.811, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_syndic ADD extra longblob NULL");
        maj_version(1.811);
    }
    if (upgrade_vers(1.812, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_documents ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL");
        maj_version(1.812);
    }
    // Mise a jour des types MIME
    if (upgrade_vers(1.813, $version_installee, $version_cible)) {
        # rien a faire car c'est creer_base() qui s'en charge
        maj_version(1.813);
    }
    // URLs propres auteurs
    if (upgrade_vers(1.814, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_auteurs ADD url_propre VARCHAR(255) NOT NULL");
        spip_query("ALTER TABLE spip_auteurs ADD INDEX url_propre (url_propre)");
        maj_version(1.814);
    }
    // Mots-cles sur les documents
    // + liens documents <-> sites et articles syndiques (podcasting)
    if (upgrade_vers(1.815, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_documents\tADD distant VARCHAR(3) DEFAULT 'non'");
        maj_version(1.815);
    }
    // Indexation des documents (rien a faire sauf reinstaller inc_auxbase)
    if (upgrade_vers(1.816, $version_installee, $version_cible)) {
        maj_version(1.816);
    }
    // Texte et descriptif des groupes de mots-cles
    if (upgrade_vers(1.817, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_groupes_mots ADD descriptif text NOT NULL AFTER titre");
        spip_query("ALTER TABLE spip_groupes_mots ADD COLUMN texte longblob NOT NULL AFTER descriptif");
        maj_version(1.817);
    }
    // Conformite des noms de certains champs (0minirezo => minirezo)
    if (upgrade_vers(1.818, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 0minirezo minirezo char(3) NOT NULL");
        spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 1comite comite char(3) NOT NULL");
        spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 6forum forum char(3) NOT NULL");
        maj_version(1.818);
    }
    // Options de syndication : miroir + oubli
    if (upgrade_vers(1.819, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_syndic ADD miroir VARCHAR(3) DEFAULT 'non'");
        spip_query("ALTER TABLE spip_syndic ADD oubli VARCHAR(3) DEFAULT 'non'");
        maj_version(1.819);
    }
    // Un bug dans les 1.730 (il manquait le "ADD")
    if (upgrade_vers(1.82, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_articles ADD INDEX idx (idx)");
        spip_query("ALTER TABLE spip_auteurs ADD INDEX idx (idx)");
        spip_query("ALTER TABLE spip_breves ADD INDEX idx (idx)");
        spip_query("ALTER TABLE spip_mots ADD INDEX idx (idx)");
        spip_query("ALTER TABLE spip_rubriques ADD INDEX idx (idx)");
        spip_query("ALTER TABLE spip_syndic ADD INDEX idx (idx)");
        spip_query("ALTER TABLE spip_forum ADD INDEX idx (idx)");
        spip_query("ALTER TABLE spip_signatures ADD INDEX idx (idx)");
        maj_version(1.82);
    }
    // reindexer les articles (on avait oublie les auteurs)
    if (upgrade_vers(1.821, $version_installee, $version_cible)) {
        spip_query("UPDATE spip_articles SET idx='1' WHERE idx='oui'");
        maj_version(1.821);
    }
    // le 'type' des mots doit etre du texte, sinon on depasse en champ multi
    if (upgrade_vers(1.822, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_mots DROP INDEX type");
        spip_query("ALTER TABLE spip_mots CHANGE type type TEXT NOT NULL");
        maj_version(1.822);
    }
    // ajouter une table de fonctions pour ajax
    if (upgrade_vers(1.825, $version_installee, $version_cible)) {
        maj_version(1.825);
    }
    if (upgrade_vers(1.826, $version_installee, $version_cible)) {
        spip_query("ALTER TABLE spip_ajax_fonc DROP fonction");
        maj_version(1.826);
    }
}
Example #20
0
<?php
echo "0.";
define('_DIR_RESTREINT_ABS', 'ecrire/');
include_once _DIR_RESTREINT_ABS.'inc_version.php';
echo "1.";
include_spip('base/create');
spip_connect();
echo "2.";
creer_base();
include_spip('base/upgrade');
maj_base();
echo "3.";
include_spip('inc/acces');
include_spip('inc/config');
ecrire_acces();
?>