Your IP : 216.73.217.34


Current Path : /home/checkyd/www/7b5d0/
Upload File :
Current File : /home/checkyd/www/7b5d0/base.tar

seo_installation.php000064400000003511152525001560010625 0ustar00<?php

// Sécurité
if (!defined("_ECRIRE_INC_VERSION")) return;

include_spip('inc/meta');

// Installation et mise à jour
function seo_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)
	){
		/* Installation normale */
		if (version_compare($version_actuelle,'0.0','=')){
			// Création des tables
			include_spip('base/create');
			include_spip('base/abstract_sql');
			creer_base();
			
			/**
			 * La config de base active insert_head 
			 * (les utilisateurs n'ont pas à modifier leurs squelettes et à penser à l'activer)
			 */
			$config_base = array();
			$config_base['insert_head']['activate'] = 'yes';
			ecrire_meta('seo',serialize($config_base), 'non');
			
			ecrire_meta($nom_meta_version_base, $version_actuelle=$version_cible, 'non');
		}
		/* Gestion des anciennes tables, la numérotation base était de 1.0 */
		if (version_compare($version_actuelle,'1.0','<=')){
			include_spip('base/create');
			include_spip('base/abstract_sql');
			
			// On change le nom de la table initialement mal choisi
			$prefixe = $GLOBALS['table_prefix'];
			sql_query("RENAME TABLE seo_meta_tags TO $prefixe"."_seo");
			
			echo "Mise à jour du plugin SEO vers ses nouvelles tables<br/>";
			ecrire_meta($nom_meta_version_base, $version_actuelle=$version_cible, 'non');
		}
		/* FIN : Gestion des anciennes tables, la numérotation base était de 1.0 */
	}
}

// Désinstallation
function seo_vider_tables($nom_meta_version_base){
	include_spip('base/abstract_sql');
	
	// On efface les tables du plugin
	sql_drop_table('spip_seo');
	
	// On efface la méta de configuration
	effacer_meta('seo');
	
	// On efface la version entregistrée
	effacer_meta($nom_meta_version_base);
}
seo_tables.php000064400000001742152525001560007402 0ustar00<?php
/**
 * BouncingOrange SPIP SEO plugin
 *
 * @category   SEO
 * @package    SPIP_SEO
 * @author     Pierre ROUSSET (p.rousset@gmail.com)
 * @copyright  Copyright (c) 2009 BouncingOrange (http://www.bouncingorange.com)
 * @license    http://opensource.org/licenses/gpl-2.0.php  General Public License (GPL 2.0)
 */

if (!defined('_ECRIRE_INC_VERSION')) {
	return;
}

function seo_declarer_tables_interfaces($interface) {
	$interface['table_des_tables']['seo'] = 'seo';

	return $interface;
}

function seo_declarer_tables_principales($tables_principales) {
	//-- Table SEO -----------------------------------------------------
	$seo = array(
		'id_objet' => 'int(11) NOT NULL',
		'objet' => 'varchar(10) NOT NULL',
		'meta_name' => 'varchar(20) NOT NULL',
		'meta_content' => 'text NOT NULL'
	);

	$seo_cles = array(
		'PRIMARY KEY' => 'id_objet, objet, meta_name'
	);

	$tables_principales['spip_seo'] = array(
		'field' => &$seo,
		'key' => &$seo_cles
	);

	return $tables_principales;
}
svp_declarer.php000064400000024614152525276710007751 0ustar00<?php
/**
 * Déclarations relatives à la base de données
 *
 * @plugin SVP pour SPIP
 * @license GPL
 * @package SPIP\SVP\Pipelines
 **/

/**
 * Déclarer les objets éditoriaux de SVP
 *
 * - Dépot  : table spip_depots
 * - Plugin : table spip_plugins
 * - Paquet : table spip_paquets
 *
 * @pipeline declarer_tables_objets_sql
 * @param array $tables
 *     Description des tables
 * @return array
 *     Description complétée des tables
 */
function svp_declarer_tables_objets_sql($tables) {
	include_spip('inc/config');

	// Table des depots
	$tables['spip_depots'] = array(
		// Base de donnees
		'table_objet' => 'depots',
		'type' => 'depot',
		'field' => array(
			"id_depot" => "bigint(21) NOT NULL",
			"titre" => "text DEFAULT '' NOT NULL",
			"descriptif" => "text DEFAULT '' NOT NULL",
			"type" => "varchar(10) DEFAULT '' NOT NULL",
			"url_serveur" => "varchar(255) DEFAULT '' NOT NULL",
			// url du serveur svn ou git
			"url_brouteur" => "varchar(255) DEFAULT '' NOT NULL",
			// url de l'interface de gestion du repository (trac, redmine...)
			"url_archives" => "varchar(255) DEFAULT '' NOT NULL",
			// url de base des zips
			"url_commits" => "varchar(255) DEFAULT '' NOT NULL",
			// url du flux rss des commits du serveur svn ou git
			"xml_paquets" => "varchar(255) DEFAULT '' NOT NULL",
			// chemin complet du fichier xml du depot
			"sha_paquets" => "varchar(40) DEFAULT '' NOT NULL",
			"nbr_paquets" => "integer DEFAULT 0 NOT NULL",
			"nbr_plugins" => "integer DEFAULT 0 NOT NULL",
			"nbr_autres" => "integer DEFAULT 0 NOT NULL",
			// autres contributions, non plugin
			"maj" => "timestamp"
		),
		'key' => array(
			"PRIMARY KEY" => "id_depot"
		),
		'tables_jointures' => array('id_plugin' => 'depots_plugins'),
		'principale' => 'oui',

		// Titre, date et gestion du statut
		'titre' => "titre, '' AS lang",

		// Edition, affichage et recherche
		'page' => 'depot',
		'url_voir' => 'depot',
		'url_edit' => 'depot_edit',
		'editable' => lire_config('svp/depot_editable', 'non'),
		'champs_editables' => array('titre', 'descriptif'),
		'icone_objet' => 'depot',

		// Textes standard
		'texte_retour' => 'icone_retour',
		'texte_modifier' => 'svp:bouton_modifier_depot',
		'texte_creer' => '',
		'texte_creer_associer' => '',
		'texte_signale_edition' => '',
		'texte_objet' => 'svp:titre_depot',
		'texte_objets' => 'svp:titre_depots',
		'info_aucun_objet' => 'svp:info_aucun_depot',
		'info_1_objet' => 'svp:info_1_depot',
		'info_nb_objets' => 'svp:info_nb_depots',
		'texte_logo_objet' => 'svp:titre_logo_depot',
	);

	// Table des plugins
	$tables['spip_plugins'] = array(
		// Base de donnees
		'table_objet' => 'plugins',
		'type' => 'plugin',
		'field' => array(
			"id_plugin" => "bigint(21) NOT NULL",
			"prefixe" => "varchar(30) DEFAULT '' NOT NULL",
			"nom" => "text DEFAULT '' NOT NULL",
			"slogan" => "text DEFAULT '' NOT NULL",
			"categorie" => "varchar(100) DEFAULT '' NOT NULL",
			"tags" => "text DEFAULT '' NOT NULL",
			"vmax" => "varchar(24) DEFAULT '' NOT NULL", // version la plus elevee des paquets du plugin
			"date_crea" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL", // la plus ancienne des paquets du plugin
			"date_modif" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL", // la plus recente des paquets du plugin
			"compatibilite_spip" => "varchar(24) DEFAULT '' NOT NULL", // union des intervalles des paquets du plugin
			"branches_spip" => "varchar(255) DEFAULT '' NOT NULL"
		), // union des branches spip supportees par les paquets du plugin
		'key' => array(
			"PRIMARY KEY" => "id_plugin",
			"KEY prefixe" => "prefixe"
		),
		'tables_jointures' => array('id_depot' => 'depots_plugins'),
		'principale' => 'oui',

		// Titre, date et gestion du statut
		'titre' => "prefixe AS titre, '' AS lang",

		// Edition, affichage et recherche
		'page' => 'plugin',
		'url_voir' => 'plugin',
		'editable' => 'non',
		'champs_editables' => array(),
		'rechercher_champs' => array('prefixe' => 8, 'nom' => 8, 'slogan' => 4),
		'rechercher_jointures' => array('paquet' => array('auteur' => 8, 'description' => 2)),
		'icone_objet' => 'plugin',

		// Textes standard
		'texte_retour' => 'icone_retour',
		'texte_modifier' => '',
		'texte_creer' => '',
		'texte_creer_associer' => '',
		'texte_signale_edition' => '',
		'texte_objet' => 'svp:titre_plugin',
		'texte_objets' => 'svp:titre_plugins',
		'info_aucun_objet' => 'svp:info_aucun_plugin',
		'info_1_objet' => 'svp:info_1_plugin',
		'info_nb_objets' => 'svp:info_nb_plugins',
		'texte_logo_objet' => 'svp:titre_logo_plugin',
	);

	$tables['spip_paquets'] = array(
		// Base de donnees
		'table_objet' => 'paquets',
		'type' => 'paquet',
		'field' => array(
			"id_paquet" => "bigint(21) NOT NULL",
			"id_plugin" => "bigint(21) NOT NULL",
			"prefixe" => "varchar(30) DEFAULT '' NOT NULL",
			"logo" => "varchar(255) DEFAULT '' NOT NULL",
			// chemin du logo depuis la racine du plugin
			"version" => "varchar(24) DEFAULT '' NOT NULL",
			"version_base" => "varchar(24) DEFAULT '' NOT NULL",
			"compatibilite_spip" => "varchar(24) DEFAULT '' NOT NULL",
			"branches_spip" => "varchar(255) DEFAULT '' NOT NULL",
			// branches spip supportees (cf meta)
			"description" => "text DEFAULT '' NOT NULL",
			"auteur" => "text DEFAULT '' NOT NULL",
			"credit" => "text DEFAULT '' NOT NULL",
			"licence" => "text DEFAULT '' NOT NULL",
			"copyright" => "text DEFAULT '' NOT NULL",
			"lien_doc" => "text DEFAULT '' NOT NULL",
			// lien vers la documentation
			"lien_demo" => "text DEFAULT '' NOT NULL",
			// lien vers le site de demo
			"lien_dev" => "text DEFAULT '' NOT NULL",
			// lien vers le site de dev
			"etat" => "varchar(16) DEFAULT '' NOT NULL",
			"etatnum" => "int(1) DEFAULT 0 NOT NULL",
			// 0 aucune indication - 1 exp - 2 dev - 3 test - 4 stable
			"dependances" => "text DEFAULT '' NOT NULL",
			"procure" => "text DEFAULT '' NOT NULL",
			"date_crea" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
			"date_modif" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
			"id_depot" => "bigint(21) DEFAULT 0 NOT NULL",
			// 0 pour un paquet local
			"nom_archive" => "VARCHAR(255) DEFAULT '' NOT NULL",
			// nom du zip du paquet, depuis l'adresse de la zone
			"nbo_archive" => "integer DEFAULT 0 NOT NULL",
			// taille de l'archive en octets
			"maj_archive" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
			// date de mise a jour de l'archive
			"src_archive" => "VARCHAR(255) DEFAULT '' NOT NULL",
			// source de l'archive sur le depot
			"traductions" => "text DEFAULT '' NOT NULL",
			// tableau serialise par module des langues traduites et de leurs traducteurs
			"actif" => "varchar(3) DEFAULT 'non' NOT NULL",
			// est actif ? oui / non
			"installe" => "varchar(3) DEFAULT 'non' NOT NULL",
			// est desinstallable ? oui / non
			"recent" => "int(2) DEFAULT 0 NOT NULL",
			// a ete utilise recemment ? > 0 : oui
			"maj_version" => "VARCHAR(255) DEFAULT '' NOT NULL",
			// version superieure existante (mise a jour possible)
			"superieur" => "varchar(3) DEFAULT 'non' NOT NULL",
			// superieur : version plus recente disponible (distant) d'un plugin (actif?) existant
			"obsolete" => "varchar(3) DEFAULT 'non' NOT NULL",
			// obsolete : version plus ancienne (locale) disponible d'un plugin local existant
			"attente" => "varchar(3) DEFAULT 'non' NOT NULL",
			// attente : plugin semi actif (il etait actif, mais il lui manque maintenant une dependance : il reste coche actif jusqu'a resolution ou desactivation manuelle)
			"constante" => "VARCHAR(30) DEFAULT '' NOT NULL",
			// nom de la constante _DIR_(PLUGINS|EXTENSIONS|PLUGINS_SUPP)
			"signature" => "VARCHAR(32) DEFAULT '' NOT NULL"
		), // hash MD5 d'un paquet
		'key' => array(
			"PRIMARY KEY" => "id_paquet",
			"KEY id_plugin" => "id_plugin"
		),
		'join' => array(
			"id_paquet" => "id_paquet",
			"id_plugin" => "id_plugin"
		),
		'principale' => 'oui',

		// Titre, date et gestion du statut
		'titre' => "nom_archive AS titre, '' AS lang",

		// Edition, affichage et recherche
		'page' => 'paquet',
		'url_voir' => '',
		'editable' => 'non',
		'champs_editables' => array(),
		'rechercher_champs' => array(),
		'rechercher_jointures' => array(),
		'icone_objet' => 'paquet',

		// Textes standard
		'texte_retour' => '',
		'texte_modifier' => '',
		'texte_creer' => '',
		'texte_creer_associer' => '',
		'texte_signale_edition' => '',
		'texte_objet' => 'svp:titre_paquet',
		'texte_objets' => 'svp:titre_paquets',
		'info_aucun_objet' => 'svp:info_aucun_paquet',
		'info_1_objet' => 'svp:info_1_paquet',
		'info_nb_objets' => 'svp:info_nb_paquets',
		'texte_logo_objet' => '',
	);

	return $tables;
}


/**
 * Déclarer les tables de liaisons de SVP
 *
 * Déclare la table spip_depots_plugins
 *
 * @pipeline declarer_tables_auxiliaires
 * @param array $tables_auxiliaires
 *     Description des tables auxiliaires
 * @return array
 *     Description complétée des tables auxiliaires
 */
function svp_declarer_tables_auxiliaires($tables_auxiliaires) {
	// Tables de liens entre plugins et depots : spip_depots_plugins
	$spip_depots_plugins = array(
		"id_depot" => "bigint(21) NOT NULL",
		"id_plugin" => "bigint(21) NOT NULL"
	);

	$spip_depots_plugins_key = array(
		"PRIMARY KEY" => "id_depot, id_plugin"
	);

	$tables_auxiliaires['spip_depots_plugins'] =
		array('field' => &$spip_depots_plugins, 'key' => &$spip_depots_plugins_key);

	return $tables_auxiliaires;
}

/**
 * Déclare les alias de boucle et traitements automatiques de certaines balises
 *
 * @pipeline declarer_tables_interfaces
 * @param array $interface
 *     Déclarations d'interface pour le compilateur
 * @return array
 *     Déclarations d'interface pour le compilateur
 */
function svp_declarer_tables_interfaces($interface) {
	// Les tables : permet d'appeler une boucle avec le *type* de la table uniquement
	$interface['table_des_tables']['depots'] = 'depots';
	$interface['table_des_tables']['plugins'] = 'plugins';
	$interface['table_des_tables']['paquets'] = 'paquets';
	$interface['table_des_tables']['depots_plugins'] = 'depots_plugins';

	// Les traitements
	// - table spip_plugins
	$interface['table_des_traitements']['SLOGAN']['plugins'] = _TRAITEMENT_RACCOURCIS;
	$interface['table_des_traitements']['VMAX']['plugins'] = 'denormaliser_version(%s)';
	// - table spip_paquets
	$interface['table_des_traitements']['DESCRIPTION']['paquets'] = _TRAITEMENT_RACCOURCIS;
	$interface['table_des_traitements']['VERSION']['paquets'] = 'denormaliser_version(%s)';
	$interface['table_des_traitements']['MAJ_VERSION']['paquets'] = 'denormaliser_version(%s)';

	return $interface;
}
urls.php000064400000004472152525410550006255 0ustar00<?php

/***************************************************************************\
 *  SPIP, Systeme de publication pour l'internet                           *
 *                                                                         *
 *  Copyright (c) 2001-2020                                                *
 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
 *                                                                         *
 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
\***************************************************************************/

if (!defined('_ECRIRE_INC_VERSION')) {
	return;
}

/**
 * Declarer les interfaces
 *
 * @param array $interfaces
 * @return array
 */
function urls_declarer_tables_interfaces($interfaces) {
	$interfaces['table_des_tables']['urls'] = 'urls';

	return $interfaces;
}

/**
 * Tables de jointures
 *
 * @param array $tables_auxiliaires
 * @return array
 */
function urls_declarer_tables_auxiliaires($tables_auxiliaires) {

	$spip_urls = array(
		// un id parent eventuel, pour discriminer les doublons arborescents
		"id_parent" => "bigint(21) DEFAULT '0' NOT NULL",
		"url" => "VARCHAR(255) NOT NULL",
		// la table cible
		"type" => "varchar(25) DEFAULT 'article' NOT NULL",
		// l'id dans la table
		"id_objet" => "bigint(21) NOT NULL",
		// pour connaitre la plus recente.
		// ATTENTION, pas on update CURRENT_TIMESTAMP implicite
		// et pas le nom maj, surinterprete par inc/import_1_3
		"date" => "DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL",
		// nombre de segments dans url
		"segments" => "SMALLINT(3) DEFAULT '1' NOT NULL",
		// URL permanente, prioritaire
		"perma" => "TINYINT(1) DEFAULT '0' NOT NULL",
		// langue des urls : on le nomme langue et pas lang pour eviter les ambiguites avec le champ lang des objets
		// qui apparait dans les jointures sans prefixe de table, via le champ titre "titre, lang"
		'langue' => "VARCHAR(10) DEFAULT '' NOT NULL",

	);

	$spip_urls_key = array(
		"PRIMARY KEY" => "id_parent, url",
		"KEY type" => "type, id_objet",
		'KEY langue' => 'langue',
		'KEY url' => 'url',
	);

	$tables_auxiliaires['spip_urls'] = array(
		'field' => &$spip_urls,
		'key' => &$spip_urls_key
	);

	return $tables_auxiliaires;
}