Browse Source

le plugin d'initialisation de MediaSPIP

master
kent1@arscenic.info 9 years ago
commit
54cb412f04
  1. 21
      .gitattributes
  2. BIN
      images/mediaspip.png
  3. 143
      inc/diogene_install.php
  4. 37
      inc/emballe_medias_install.php
  5. 57
      inc/image_process_install.php
  6. 18
      inc/lang_liste.php
  7. 141
      inc/menu_install.php
  8. 226
      inc/ms_init_maj_langues.php
  9. 159
      inc/mutu_install.php
  10. 55
      inc/spipmotion_install.php
  11. 3
      lang/mediaspip_init.xml
  12. 32
      lang/mediaspip_init_en.php
  13. 30
      lang/mediaspip_init_fr.php
  14. 20
      lang/paquet-mediaspip_init_en.php
  15. 20
      lang/paquet-mediaspip_init_fr.php
  16. 578
      mediaspip_init_administrations.php
  17. 24
      mediaspip_init_options.php
  18. 75
      mediaspip_init_pipelines.php
  19. 18
      notifications/mediaspip_recuperation_compte.html
  20. 41
      notifications/mediaspip_recuperation_compte.php
  21. 33
      paquet.xml

21
.gitattributes

@ -0,0 +1,21 @@
* text=auto !eol
images/mediaspip.png -text svneol=unset#image/png
inc/diogene_install.php -text
inc/emballe_medias_install.php -text
inc/image_process_install.php -text
inc/lang_liste.php -text
inc/menu_install.php -text
inc/ms_init_maj_langues.php -text
inc/mutu_install.php -text
inc/spipmotion_install.php -text
lang/mediaspip_init.xml -text
lang/mediaspip_init_en.php -text
lang/mediaspip_init_fr.php -text
lang/paquet-mediaspip_init_en.php -text
lang/paquet-mediaspip_init_fr.php -text
/mediaspip_init_administrations.php -text
/mediaspip_init_options.php -text
/mediaspip_init_pipelines.php -text
notifications/mediaspip_recuperation_compte.html -text
notifications/mediaspip_recuperation_compte.php -text
/paquet.xml -text

BIN
images/mediaspip.png

After

Width: 256  |  Height: 246  |  Size: 27 KiB

143
inc/diogene_install.php

@ -0,0 +1,143 @@
<?php
/**
* Plugin MediaSPIP Init
* © 2010-2012 kent1 (kent1@arscenic.info)
* Distribué sous licence GNU/GPL v3
*
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Installation des diogènes par défaut
*/
function inc_diogene_install_dist($rubriques){
include_spip('action/editer_diogene');
include_spip('inc/filtres');
$err = '';
if(!$id_diogene_medias = sql_getfetsel('id_diogene','spip_diogenes','objet="emballe_media" AND id_secteur = '.intval($rubriques['medias']))){
$id_diogene_medias = diogene_inserer();
$set_media = array(
'titre' => filtrer_entites(_T('mediaspip_core:publier_un_media_titre')),
'description' => filtrer_entites(_T('mediaspip_core:publier_un_media_desc')),
'champs_caches' => serialize(array(
'soustitre',
'surtitre',
'descriptif',
'chapo',
'ps',
'urlref'
)),
'champs_ajoutes' => array(
'geo','auteurs','spipicious','licence','forum'
),
'menu'=> 'on',
'statut_auteur' => '1comite',
'statut_auteur_publier' => '0minirezo',
'id_secteur' => $rubriques['medias'],
'objet' => 'emballe_media',
'type' => 'media'
);
$err .= diogene_modifier($id_diogene_medias, $set_media);
}
if(!$id_diogene_edito = sql_getfetsel('id_diogene','spip_diogenes','objet="article" AND id_secteur = '.intval($rubriques['editos']))){
$id_diogene_edito = diogene_inserer();
$set_edito = array(
'titre' => filtrer_entites(_T('mediaspip_core:publier_un_edito_titre')),
'description' => filtrer_entites(_T('mediaspip_core:publier_un_edito_desc')),
'champs_caches' => array(
'soustitre',
'surtitre',
'descriptif',
'chapo',
'ps',
'urlref'
),
'champs_ajoutes' => array(
'auteurs','date','forum'
),
'menu'=> 'on',
'statut_auteur' => '0minirezo',
'statut_auteur_publier' => '0minirezo',
'id_secteur' => $rubriques['editos'],
'objet' => 'article',
'type' => 'editorial',
'options_complements' => array(
'polyhier_desactiver' => 'on'
)
);
$err .= diogene_modifier($id_diogene_edito, $set_edito);
}
if(!$id_diogene_sites = sql_getfetsel('id_diogene','spip_diogenes','objet="site" AND id_secteur = '.intval($rubriques['sites']))){
$id_diogene_sites = diogene_inserer();
$set_sites = array(
'titre' => filtrer_entites(_T('mediaspip_core:publier_un_site_titre')),
'description' => filtrer_entites(_T('mediaspip_core:publier_un_site_desc')),
'champs_caches' => '',
'champs_ajoutes' => array(),
'menu'=> 'on',
'statut_auteur' => '0minirezo',
'statut_auteur_publier' => '0minirezo',
'id_secteur' => $rubriques['sites'],
'objet' => 'site',
'type' => 'sites',
'options_complements' => array(
'polyhier_desactiver' => 'on'
)
);
$err .= diogene_modifier($id_diogene_sites, $set_sites);
}
if(!$id_diogene_actu = sql_getfetsel('id_diogene','spip_diogenes','objet="article" AND id_secteur = '.intval($rubriques['actus']))){
$id_diogene_actu = diogene_inserer();
$set_actu = array(
'titre' => filtrer_entites(_T('mediaspip_core:publier_une_actu_titre')),
'description' => filtrer_entites(_T('mediaspip_core:publier_une_actu_desc')),
'champs_caches' => array(
'soustitre',
'surtitre',
'descriptif',
'chapo',
'ps',
'urlref'
),
'champs_ajoutes' => array(
'date','geo','auteurs','forum'
),
'menu'=> 'on',
'statut_auteur' => '0minirezo',
'statut_auteur_publier' => '0minirezo',
'id_secteur' => $rubriques['actus'],
'objet' => 'article',
'type' => 'actu',
'options_complements' => array(
'polyhier_desactiver' => 'on'
)
);
$err .= diogene_modifier($id_diogene_actu, $set_actu);
}
if(!$id_diogene_categorie = sql_getfetsel('id_diogene','spip_diogenes','objet="rubrique" AND id_secteur = '.intval($rubriques['medias']))){
$id_diogene_categorie = diogene_inserer();
$set_categorie = array(
'titre' => filtrer_entites(_T('mediaspip_core:publier_une_categorie_titre')),
'description' => filtrer_entites(_T('mediaspip_core:publier_une_categorie_desc')),
'champs_caches' => array('descriptif'),
'champs_ajoutes' => '',
'menu'=> 'on',
'statut_auteur' => '0minirezo',
'statut_auteur_publier' => '0minirezo',
'id_secteur' => $rubriques['medias'],
'objet' => 'rubrique',
'type' => 'categorie',
'options_complements' => array(
'polyhier_desactiver' => 'on'
)
);
$err .= diogene_modifier($id_diogene_categorie, $set_categorie);
}
}
?>

37
inc/emballe_medias_install.php

@ -0,0 +1,37 @@
<?php
/**
* Plugin MediaSPIP Init
* © 2010-2012 kent1 (kent1@arscenic.info)
* Distribué sous licence GNU/GPL v3
*
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Mets à jour la méta de configuration d'emballe medias
*/
function inc_emballe_medias_install_dist(){
$ancienne_meta = lire_config('emballe_medias',array());
$meta_config = array(
'fichiers'=> array(
'gerer_types' => 'on',
'fichiers_videos' => array('3gp','avi','dv','f4v','flv','m2p','m2ts','m4v','mkv','mpg','mov','mp4','mts','ogv','qt','ts','webm'),
'fichiers_audios' => array('3ga','aac','ac3','aifc','aiff','flac','m4a','mka','mp3','oga','ogg','wav','wma'),
'fichiers_images' => array('jpg','png','gif'),
'fichiers_textes' => array('doc','odt','pdf'),
'file_size_limit' => @ini_get('upload_max_filesize') ? ((str_replace('M','',@ini_get('upload_max_filesize')) < str_replace('M','',@ini_get('post_max_size'))) ? str_replace('M','',@ini_get('upload_max_filesize')) : str_replace('M','',@ini_get('post_max_size'))) : '2',
'file_upload_limit' => '1',
'file_queue_limit' => '1',
'largeur_img_previsu' => '450',
'hauteur_img_previsu' => '450'
),
'types' => array(
'types_dispos' => array('audio','video','image','texte')
)
);
$meta_finale = array_merge($ancienne_meta,$meta_config);
ecrire_meta('emballe_medias',serialize($meta_finale),'non');
}
?>

57
inc/image_process_install.php

@ -0,0 +1,57 @@
<?php
/**
* Plugin MediaSPIP Init
* © 2010-2012 kent1 (kent1@arscenic.info)
* Distribué sous licence GNU/GPL v3
*
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Gestion de la configuration du choix du process des images
* On active GD2 si on peut
*/
function inc_image_process_install_dist(){
include_spip('inc/distant');
/**
* On teste les formats et on remplit les métas
*/
if (
function_exists('ImageGif')
OR function_exists('ImageJpeg')
OR function_exists('ImagePng')
) {
$url_gd1 = recuperer_page(generer_url_action("tester", "arg=gd1&time=".time(),true));
if (function_exists("ImageCreateTrueColor")) {
$url_gd2 = recuperer_page(generer_url_action("tester", "arg=gd2&time=".time(),true));
}
}
if (_PNMSCALE_COMMAND!='') {
$url_netpbm = recuperer_page(generer_url_action("tester", "arg=netpbm&time=".time(),true));
}
if (function_exists('imagick_readimage')) {
$url_imagick = recuperer_page(generer_url_action("tester", "arg=imagick&time=".time(),true));
}
if (_CONVERT_COMMAND!='') {
$url_convert = recuperer_page(generer_url_action("tester", "arg=convert&time=".time(),true));
}
/**
* Activation de gd2 et des vignettes de documents
*/
if (function_exists("ImageCreateTrueColor")) {
ecrire_meta("image_process", "gd2");
ecrire_meta('formats_graphiques','gif,jpg,png','non');
ecrire_meta("creer_preview", "oui");
ecrire_meta("taille_preview", "300");
$url = generer_url_action("tester_taille", "arg=3000&time=".time(),true);
$tester_taille = recuperer_page($url);
}
}
?>

18
inc/lang_liste.php

@ -0,0 +1,18 @@
<?php
/**
* Mediaspip Initialisation
* © 2010-2012 kent1 (kent1@arscenic.info)
* Distribué sous licence GNU/GPL v3
*
* Surcharge du fichier inc/lang_liste.php de SPIP
* Pour n'utiliser que les langues réellement utilisables avec SPIP
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
$GLOBALS['codes_langues'] = array(
'en' => "English",
'fr' => "fran&#231;ais",
);
?>

141
inc/menu_install.php

@ -0,0 +1,141 @@
<?php
/**
* Plugin MediaSPIP Init
* © 2010-2012 kent1 (kent1@arscenic.info)
* Distribué sous licence GNU/GPL v3
*
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Install les menu
*/
function inc_menu_install_dist(){
if(defined('_DIR_PLUGIN_MENUS')){
include_spip('action/editer_menu');
include_spip('action/editer_menus_entree');
include_spip('inc/filtres');
/**
* Définition du menu barrenav
*/
$barre_nav = sql_getfetsel('id_menu','spip_menus','identifiant="barrenav"');
if(!intval($barre_nav))
$barre_nav = insert_menu();
if(intval($barre_nav)){
$infos_menu = array('id_menus_entree' => 0, 'titre' => filtrer_entites(_T('mediaspip_init:menu_principal')),'identifiant' => 'barrenav');
$err = menu_set($barre_nav, $infos_menu);
$home_entree = sql_getfetsel('id_menus_entree','spip_menus_entrees','type_entree="accueil" AND id_menu='.intval($barre_nav));
if(!intval($home_entree)){
$entree = insert_menus_entree($barre_nav);
$infos_entree = array(
'rang' => 1,
'type_entree' => 'accueil'
);
menus_entree_set($entree, $infos_entree);
}
$mapage_entree = sql_getfetsel('id_menus_entree','spip_menus_entrees','type_entree="mapage" AND id_menu='.intval($barre_nav));
if(!intval($mapage_entree)){
$entree = insert_menus_entree($barre_nav);
$infos_entree = array(
'rang' => 2,
'type_entree' => 'mapage'
);
menus_entree_set($entree, $infos_entree);
}
$deconnecter_entree = sql_getfetsel('id_menus_entree','spip_menus_entrees','type_entree="deconnecter" AND id_menu='.intval($barre_nav));
if(!intval($deconnecter_entree)){
$entree = insert_menus_entree($barre_nav);
$infos_entree = array(
'rang' => 3,
'type_entree' => 'deconnecter'
);
menus_entree_set($entree, $infos_entree);
}
$inscription_entree = sql_getfetsel('id_menus_entree','spip_menus_entrees','type_entree="inscription" AND id_menu='.intval($barre_nav));
if(!intval($inscription_entree)){
$entree = insert_menus_entree($barre_nav);
$infos_entree = array(
'rang' => 4,
'type_entree' => 'inscription'
);
menus_entree_set($entree, $infos_entree);
}
$configurer_entree = sql_getfetsel('id_menus_entree','spip_menus_entrees','type_entree="ms_configurer" AND id_menu='.intval($barre_nav));
if(!intval($configurer_entree)){
$entree = insert_menus_entree($barre_nav);
$infos_entree = array(
'rang' => 5,
'type_entree' => 'ms_configurer'
);
menus_entree_set($entree, $infos_entree);
}
$publier_entree = sql_getfetsel('id_menus_entree','spip_menus_entrees','type_entree="publier" AND id_menu='.intval($barre_nav));
if(!intval($publier_entree)){
$entree = insert_menus_entree($barre_nav);
$infos_entree = array(
'rang' => 6,
'type_entree' => 'publier'
);
menus_entree_set($entree, $infos_entree);
}
}
/**
* Définition du menu barrelaterale
*/
$barre_menu_nav = sql_getfetsel('id_menu','spip_menus','identifiant="barrelaterale"');
if(!intval($barre_menu_nav))
$barre_menu_nav = insert_menu();
if(intval($barre_menu_nav)){
$infos_menu = array('id_menus_entree' => 0, 'titre' => filtrer_entites(_T('mediaspip_init:menu_lateral')),'identifiant' => 'barrelaterale');
$err = menu_set($barre_menu_nav, $infos_menu);
}
/**
* Définition du menu barrepied
*
* -* On y insère automatiquement un lien vers la page de contact s'il n'existe dans aucun autre menu
* -* On y ajoute un lien vers chaque page unique s'il y en a
*/
$barre_pied = sql_getfetsel('id_menu','spip_menus','identifiant="barrepied"');
if(!intval($barre_pied))
$barre_pied = insert_menu();
if(intval($barre_pied)){
$infos_menu = array('id_menus_entree' => 0, 'titre' => filtrer_entites(_T('mediaspip_init:menu_pied')),'identifiant' => 'barrepied');
$err = menu_set($barre_pied, $infos_menu);
$contact_entree = sql_getfetsel('id_menus_entree','spip_menus_entrees','type_entree="contact"');
if(!intval($contact_entree)){
$entree = insert_menus_entree($barre_pied);
$infos_entree = array(
'rang' => 1,
'type_entree' => 'contact'
);
menus_entree_set($entree, $infos_entree);
}
$texte_libre_entree = sql_getfetsel('id_menus_entree','spip_menus_entrees','type_entree="texte_libre"');
if(!intval($texte_libre_entree)){
$entree = insert_menus_entree($barre_pied);
$infos_entree = array(
'rang' => 2,
'type_entree' => 'texte_libre',
'parametres' => array('contenu' => '<:mediaspip_init:entree_powered_mediaspip:>')
);
menus_entree_set($entree, $infos_entree);
}
}
}
}
?>

226
inc/ms_init_maj_langues.php

@ -0,0 +1,226 @@
<?php
/**
* Plugin MediaSPIP Init
* © 2010-2012 kent1 (kent1@arscenic.info)
* Distribué sous licence GNU/GPL v3
*
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Modification des titres et contenus de certains objets créés par MediaSPIP
* au changement de langue
*/
function inc_ms_init_maj_langues_dist(){
/**
* La langue avec laquelle on arrive ici
*/
$langue_depart = $GLOBALS['spip_lang'];
/**
* On crée un array des langues activées
*/
$langues_possibles = explode(',',$GLOBALS['meta']['langues_multilingue']);
/**
* On ne fait quelque chose que si plusieurs langues sont activées
*/
if(count($langues_possibles) > 1){
/**
* On place la langue par défaut du site en premier
*/
unset($langues_possibles[$GLOBALS['meta']['langue_site']]);
array_unshift($langues_possibles,$GLOBALS['meta']['langue_site']);
/**
* On s'occupe de la rubrique media
*/
$config_medias = lire_config('mediaspip/rubriques/medias',null);
$rubrique_medias = sql_fetsel('*','spip_rubriques','id_rubrique = '.intval($config_medias));
if(intval($rubrique_medias['id_rubrique']) > 0){
/**
* On ne se permet de modfifier que si le titre dans la langue principale du site n'a pas changé
*/
changer_langue($GLOBALS['meta']['langue_site']);
if(extraire_multi($rubrique_medias['titre'], $GLOBALS['meta']['langue_site']) == _T('mediaspip_init:titre_rubrique_medias')){
$titres = $changes = $nouveaux = array();
foreach($langues_possibles as $lang){
changer_langue($lang);
if($lang == $GLOBALS['meta']['langue_site']){
$nouveaux[$lang] = _T('mediaspip_init:titre_rubrique_medias');
}else{
$titres[$lang] = extraire_multi($rubrique_medias['titre'], $lang);
if($titres[$lang] != _T('mediaspip_init:titre_rubrique_medias')){
$nouveaux[$lang] = _T('mediaspip_init:titre_rubrique_medias');
}
}
}
if(count($nouveaux) > 0){
$titre = ms_init_creer_multi($nouveaux);
}else{
$titre = $nouveaux[0];
}
if($titre != $rubrique_medias['titre']){
sql_updateq('spip_rubriques',array('titre'=>$titre),'id_rubrique='.intval($rubrique_medias['id_rubrique']));
}
}
}
/**
* On s'occupe de la rubrique editos
*/
$config_editos = lire_config('mediaspip/rubriques/editos',null);
$rubrique_editos = sql_fetsel('*','spip_rubriques','id_rubrique = '.intval($config_editos));
if(intval($rubrique_editos['id_rubrique']) > 0){
/**
* On ne se permet de modfifier que si le titre dans la langue principale du site n'a pas changé
*/
changer_langue($GLOBALS['meta']['langue_site']);
if(extraire_multi($rubrique_editos['titre'], $GLOBALS['meta']['langue_site']) == _T('mediaspip_init:titre_rubrique_editos')){
$titres = $changes = $nouveaux = array();
foreach($langues_possibles as $lang){
changer_langue($lang);
if($lang == $GLOBALS['meta']['langue_site']){
$nouveaux[$lang] = _T('mediaspip_init:titre_rubrique_editos');
}else{
$titres[$lang] = extraire_multi($rubrique_editos['titre'], $lang);
if($titres[$lang] != _T('mediaspip_init:titre_rubrique_editos')){
$nouveaux[$lang] = _T('mediaspip_init:titre_rubrique_editos');
}
}
}
if(count($nouveaux) > 0){
$titre = ms_init_creer_multi($nouveaux);
}else{
$titre = $nouveaux[0];
}
if($titre != $rubrique_editos['titre']){
sql_updateq('spip_rubriques',array('titre'=>$titre),'id_rubrique='.intval($rubrique_editos['id_rubrique']));
}
}
}
/**
* On s'occupe de la rubrique actus
*/
$config_actus = lire_config('mediaspip/rubriques/actus',null);
$rubrique_actus = sql_fetsel('*','spip_rubriques','id_rubrique = '.intval($config_actus));
if(intval($rubrique_actus['id_rubrique']) > 0){
/**
* On ne se permet de modfifier que si le titre dans la langue principale du site n'a pas changé
*/
changer_langue($GLOBALS['meta']['langue_site']);
if(extraire_multi($rubrique_actus['titre'], $GLOBALS['meta']['langue_site']) == _T('mediaspip_init:titre_rubrique_actus')){
$titres = $changes = $nouveaux = array();
foreach($langues_possibles as $lang){
changer_langue($lang);
if($lang == $GLOBALS['meta']['langue_site']){
$nouveaux[$lang] = _T('mediaspip_init:titre_rubrique_actus');
}else{
$titres[$lang] = extraire_multi($rubrique_actus['titre'], $lang);
if($titres[$lang] != _T('mediaspip_init:titre_rubrique_actus')){
$nouveaux[$lang] = _T('mediaspip_init:titre_rubrique_actus');
}
}
}
if(count($nouveaux) > 0){
$titre = ms_init_creer_multi($nouveaux);
}else{
$titre = $nouveaux[0];
}
if($titre != $rubrique_actus['titre']){
sql_updateq('spip_rubriques',array('titre'=>$titre),'id_rubrique='.intval($rubrique_actus['id_rubrique']));
}
}
}
/**
* On s'occupe de la rubrique sites
*/
$config_sites = lire_config('mediaspip/rubriques/sites',null);
$rubrique_sites = sql_fetsel('*','spip_rubriques','id_rubrique = '.intval($config_sites));
if(intval($rubrique_sites['id_rubrique']) > 0){
/**
* On ne se permet de modfifier que si le titre dans la langue principale du site n'a pas changé
*/
changer_langue($GLOBALS['meta']['langue_site']);
if(extraire_multi($rubrique_sites['titre'], $GLOBALS['meta']['langue_site']) == _T('mediaspip_init:titre_rubrique_sites')){
$titres = $changes = $nouveaux = array();
foreach($langues_possibles as $lang){
changer_langue($lang);
if($lang == $GLOBALS['meta']['langue_site']){
$nouveaux[$lang] = _T('mediaspip_init:titre_rubrique_sites');
}else{
$titres[$lang] = extraire_multi($rubrique_sites['titre'], $lang);
if($titres[$lang] != _T('mediaspip_init:titre_rubrique_sites')){
$nouveaux[$lang] = _T('mediaspip_init:titre_rubrique_sites');
}
}
}
if(count($nouveaux) > 0){
$titre = ms_init_creer_multi($nouveaux);
}else{
$titre = $nouveaux[0];
}
if($titre != $rubrique_sites['titre']){
sql_updateq('spip_rubriques',array('titre'=>$titre),'id_rubrique='.intval($rubrique_sites['id_rubrique']));
}
}
}
/**
* On s'occupe de la rubrique mag
*/
$config_mag = lire_config('mediaspip/rubriques/mag',null);
$rubrique_mag = sql_fetsel('*','spip_rubriques','id_rubrique = '.intval($config_mag));
if(intval($rubrique_mag['id_rubrique']) > 0){
/**
* On ne se permet de modfifier que si le titre dans la langue principale du site n'a pas changé
*/
changer_langue($GLOBALS['meta']['langue_site']);
if(extraire_multi($rubrique_mag['titre'], $GLOBALS['meta']['langue_site']) == _T('mediaspip_init:titre_rubrique_mag')){
$titres = $changes = $nouveaux = array();
foreach($langues_possibles as $lang){
changer_langue($lang);
if($lang == $GLOBALS['meta']['langue_site']){
$nouveaux[$lang] = _T('mediaspip_init:titre_rubrique_mag');
}else{
$titres[$lang] = extraire_multi($rubrique_mag['titre'], $lang);
if($titres[$lang] != _T('mediaspip_init:titre_rubrique_mag')){
$nouveaux[$lang] = _T('mediaspip_init:titre_rubrique_mag');
}
}
}
if(count($nouveaux) > 0){
$titre = ms_init_creer_multi($nouveaux);
}else{
$titre = $nouveaux[0];
}
if($titre != $rubrique_mag['titre']){
sql_updateq('spip_rubriques',array('titre'=>$titre),'id_rubrique='.intval($rubrique_mag['id_rubrique']));
}
}
}
/**
* On restaure la langue de départ
*/
changer_langue($langue_depart);
}
return true;
}
function ms_init_creer_multi($titres=array()){
$titre_final = '<multi>';
foreach($titres as $lang=>$titre){
$titre_final .= "[$lang]$titre";
}
$titre_final .= '</multi>';
return $titre_final;
}
?>

159
inc/mutu_install.php

@ -0,0 +1,159 @@
<?php
/**
* Plugin MediaSPIP Init
* © 2010-2012 kent1 (kent1@arscenic.info)
* Distribué sous licence GNU/GPL v3
*
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Récupère des infos sur le site central de la mutu
* - Titre du site
* - Description du site
* - Email du webmaster
*/
function inc_mutu_install_dist(){
/**
* On vérifie tout d'abord que l'on est bien dans une mutualisation et que l'on n'a qu'un seul site maitre
*/
if(defined('_SITES_ADMIN_MUTUALISATION') && (count(explode(',',_SITES_ADMIN_MUTUALISATION)) == 1)){
include_spip('inc/xml');
include_spip('inc/distant');
include_spip('action/iconifier');
/**
* On utilisera notre adresse sans http pour fournir de quoi à la mutu pour nous reconnaitre
*/
$url_site = str_replace('http://','',$GLOBALS['meta']['adresse_site']);
/**
* On génère l'URL à appeler sur la mutu
*/
$url_distant = 'http://'._SITES_ADMIN_MUTUALISATION.'/spip.php?page=mutu_infos_instances&url='.$url_site;
/**
* On crée l'arbre xml de ce que l'on récupère sur le site principale de la mutualisation
*/
$infos_mutus = spip_xml_load($url_distant, true, true, $taille_max = 1048576, $datas='', $profondeur = -1);
if(is_array($infos_mutus)){
include_spip('inc/meta');
include_spip('inc/actions');// pour determine_upload()
/**
* Le nom du site
*/
if(isset($infos_mutus['infos'][0]['titre'])){
ecrire_meta("nom_site", $infos_mutus['infos'][0]['titre'][0]);
}
/**
* Le descriptif du site
*/
if(isset($infos_mutus['infos'][0]['descriptif'][0])){
ecrire_meta("descriptif_site", $infos_mutus['infos'][0]['descriptif'][0]);
}
/**
* L'email du webmaster
*/
if(isset($infos_mutus['infos'][0]['email_webmaster'][0])){
ecrire_meta("email_webmaster", $infos_mutus['infos'][0]['email_webmaster'][0]);
}
/**
* Le logo du site
*/
if(isset($infos_mutus['infos'][0]['logo'])){
$ajouter_image = charger_fonction('spip_image_ajouter','action');
$source = copie_locale($infos_mutus['infos'][0]['logo'][0]);
if (file_exists($source)) {
$new_source = determine_upload().basename($source);
@rename($source,$new_source);
$chercher_logo = charger_fonction('chercher_logo','inc');
$logo = $chercher_logo('', 'site', 'on');
$type = type_du_logo('site');
if ($logo)
spip_unlink($logo[0]);
$ajouter_image($type.'on0',true,basename($new_source));
}
}
/**
* Les informations de l'id_admin qui doit être le premier auteur créé
*/
if(is_array($admin = $infos_mutus['infos'][0]['admin'][0])){
foreach($admin as $info => $value){
$admin_final[$info] = $value[0];
}
$admin_final['statut'] = '0minirezo';
$admin_final['webmestre'] = 'oui';
/**
* On enlève le logo_auteur si présent et on le stock dans une variable
*/
if(isset($admin_final['logo_auteur'])){
$logo_auteur = $admin_final['logo_auteur'];
unset($admin_final['logo_auteur']);
}
/**
* Si le même auteur avec la même adresse email a été créé à l'installation
* On met seulement à jour avec les informations récupérées
*/
if($id_auteur = sql_getfetsel('id_auteur','spip_auteurs','email='.sql_quote($admin_final['email']))){
$infos_actuelles = sql_fetsel('*','spip_auteurs','id_auteur='.intval($id_auteur));
$infos_admin = array_merge($admin_final,$infos_actuelles);
sql_updateq('spip_auteurs',$infos_admin,'id_auteur='.intval($id_auteur));
}
/**
* S'il n'y a pas eu de création d'auteur à l'installation,
* on en crée un depuis les informations récupérées
* Attention : cet auteur ne sera pas automatiquement fonctionnel, il devra demander un rappel de
* mot de passe avant de pouvoir se loguer sur le site
*/
else{
$id_auteur = sql_insertq('spip_auteurs',$admin_final);
/**
* On notifie cet auteur qu'il va devoir récupérer son mot de passe via
* "Mot de passe oublié" pour pouvoir se connecter
*/
if ($notifications = charger_fonction('notifications', 'inc')) {
$notifications('mediaspip_recuperation_compte', $id_auteur);
}
}
/**
* Si on a un logo, on l'ajoute à l'auteur
*/
if($logo_auteur){
$ajouter_image = charger_fonction('spip_image_ajouter','action');
$source = copie_locale($logo_auteur);
if (file_exists($source)) {
$new_source = determine_upload().basename($source);
@rename($source,$new_source);
$chercher_logo = charger_fonction('chercher_logo','inc');
$logo = $chercher_logo($id_auteur, 'auteur', 'on');
$type = 'aut';
if ($logo)
spip_unlink($logo[0]);
$ajouter_image($type.'on'.$id_auteur,true,basename($new_source));
}
}
}
if(is_array($piwik = $infos_mutus['infos'][0]['piwik'][0])){
/**
* La configuration piwik fournie
*/
if(
isset($piwik['piwik_server']) &&
isset($piwik['piwik_id']) &&
isset($piwik['piwik_user']) &&
isset($piwik['piwik_token'])
){
$piwik_config = array(
'urlpiwik' => $piwik['piwik_server'][0],
'user' => $piwik['piwik_user'][0],
'token' => $piwik['piwik_token'][0],
'idpiwik' => $piwik['piwik_id'][0],
'mode_insertion' => 'balise'
);
ecrire_meta('piwik',serialize($piwik_config));
}
}
}
}
}
?>

55
inc/spipmotion_install.php

@ -0,0 +1,55 @@
<?php
/**
* Plugin MediaSPIP Init
* © 2010-2012 kent1 (kent1@arscenic.info)
* Distribué sous licence GNU/GPL v3
*
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Install les templates par défaut de SPIPmotion
*
* @return array
*/
function inc_spipmotion_install_dist(){
if(defined('_DIR_PLUGIN_SPIPMOTION')){
$config = array(
'encodage_auto' => 'on',
'fichiers_audios' => array('3ga','aac','ac3','aifc','aiff','flac','m4a','mka','mp3','oga','ogg','wav','wma'),
'fichiers_videos' => array('3gp','avi','dv','f4v','flv','m2p','m2ts','m4v','mkv','mpg','mov','mp4','mts','ogv','qt','ts','webm'),
'fichiers_audios_encodage' => array('3ga','aac','ac3','aifc','aiff','flac','m4a','mka','mp3','oga','ogg','wav','wma'),
'fichiers_videos_encodage' => array('3gp','avi','dv','f4v','flv','m2p','m2ts','m4v','mkv','mpg','mov','mp4','mts','ogv','qt','ts','webm'),
'fichiers_audios_sortie' => array('mp3','ogg'),
'fichiers_videos_sortie' => array('mp4','ogv'),
'frequence_audio_ogg' => '44100',
'frequence_audio_ogv' => '44100',
'frequence_audio_mp3' => '44100',
'frequence_audio_mp4' => '44100',
'bitrate_audio_mp3' => '128',
'bitrate_audio_mp4' => '128',
'bitrate_ogv' => '600',
'bitrate_mp4' => '660',
'width_ogv' => '640',
'width_mp4' => '640',
'height_mp4' => '480',
'height_ogv' => '480',
'qualite_audio_ogg' => '5',
'qualite_audio_ogv' => '5',
'acodec_mp3' => 'libmp3lame',
'acodec_ogg' => 'libvorbis',
'acodec_ogv' => 'libvorbis',
'acodec_mp4' => 'libfaac',
'vcodec_ogv' => 'libtheora',
'vcodec_mp4' => 'libx264',
'format_mp4' => 'ipod',
'vpreset_mp4' => 'slow',
'passes_ogv' => '2',
'passes_mp4' => '2'
);
ecrire_meta('spipmotion',serialize($config));
}
}
?>

3
lang/mediaspip_init.xml

@ -0,0 +1,3 @@
<traduction module="mediaspip_init" gestionnaire="salvatore" url="http://trad.mediaspip.net" source="http://svn.aires-de-confluxence.info/svn/MediaSPIP/plugins/mediaspip_init/lang/" reference="fr">
<langue code="en" />
</traduction>

32
lang/mediaspip_init_en.php

@ -0,0 +1,32 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.mediaspip.net/spip.php?page=tradlang
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) return;
$GLOBALS[$GLOBALS['idx_lang']] = array(
// E
'entree_powered_mediaspip' => 'Powered by<a href="http://www.mediaspip.net" > MediaSPIP</a> itself based on<a href="http://www.spip.net"> SPIP</a>',
// M
'menu_lateral' => 'Navigation menu',
'menu_pied' => 'Footer menu',
'menu_principal' => 'Main menu',
// N
'notif_texte_bonjour' => 'Hello @nom@',
'notif_texte_compte_cree' => 'your account was automatically created on "@nouveau_site@" with the same username and email as on "@site_maitre@".',
'notif_texte_compte_pass' => 'You must reset the password of the account to make it operational, you only have to renew it via the link "Forgotten password" in the authentication form.',
'notif_titre_recuperation_compte' => '[@nom_site_spip@] Your account has been created',
// T
'titre_rubrique_actus' => 'News',
'titre_rubrique_editos' => 'Editorials',
'titre_rubrique_mag' => 'Magazine',
'titre_rubrique_medias' => 'Media',
'titre_rubrique_sites' => 'Sites'
);
?>

30
lang/mediaspip_init_fr.php

@ -0,0 +1,30 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// Fichier source, a modifier dans http://svn.aires-de-confluxence.info/svn/MediaSPIP/plugins/mediaspip_init/lang/
if (!defined('_ECRIRE_INC_VERSION')) return;
$GLOBALS[$GLOBALS['idx_lang']] = array(
// E
'entree_powered_mediaspip' => 'Propulsé par <a href="http://www.mediaspip.net">MediaSPIP</a> lui-même basé sur <a href="http://www.spip.net">SPIP</a>',
// M
'menu_lateral' => 'Menu latéral',
'menu_pied' => 'Menu de pied de page',
'menu_principal' => 'Menu principal',
// N
'notif_texte_bonjour' => 'Bonjour @nom@',
'notif_texte_compte_cree' => 'votre compte a été automatiquement créé sur "@nouveau_site@" avec le même nom d\'utilisateur et email que sur "@site_maitre@".',
'notif_texte_compte_pass' => 'Vous devez redéfinir le mot de passe de ce compte pour qu\'il soit opérationnel, il suffit de le renouveler via le lien "Mot de passe oublié" dans le formulaire d\'autentification.',
'notif_titre_recuperation_compte' => '[@nom_site_spip@] Votre compte a été créé',
// T
'titre_rubrique_actus' => 'Actualités',
'titre_rubrique_editos' => 'Éditos',
'titre_rubrique_mag' => 'Magazine',
'titre_rubrique_medias' => 'Médias',
'titre_rubrique_sites' => 'Sites'
);
?>

20
lang/paquet-mediaspip_init_en.php

@ -0,0 +1,20 @@
<?php
// Ceci est un fichier langue de SPIP -- This is a SPIP language file
/// Fichier produit par PlugOnet
// Module: paquet-mediaspip_init
// Langue: en
// Date: 09-08-2012 11:36:47
// Items: 3
if (!defined('_ECRIRE_INC_VERSION')) return;
$GLOBALS[$GLOBALS['idx_lang']] = array(
// M
'mediaspip_init_description' => 'Initialization of MediaSPIP websites',
'mediaspip_init_nom' => 'MediaSPIP Initialization',
'mediaspip_init_slogan' => 'Initialization of MediaSPIP websites',
);
?>

20
lang/paquet-mediaspip_init_fr.php

@ -0,0 +1,20 @@
<?php
// Ceci est un fichier langue de SPIP -- This is a SPIP language file
/// Fichier produit par PlugOnet
// Module: paquet-mediaspip_init
// Langue: fr
// Date: 09-08-2012 11:36:47
// Items: 3
if (!defined('_ECRIRE_INC_VERSION')) return;
$GLOBALS[$GLOBALS['idx_lang']] = array(
// M
'mediaspip_init_description' => 'Initialisation des sites MediaSPIP',
'mediaspip_init_nom' => 'MediaSPIP Initialisation',
'mediaspip_init_slogan' => 'Initialisation des sites MediaSPIP',
);
?>

578
mediaspip_init_administrations.php

@ -0,0 +1,578 @@
<?php
/**
* Plugin MediaSPIP Init
* © 2010-2012 kent1 (kent1@arscenic.info)
* Distribué sous licence GNU/GPL v3
*
* Fichier d'installation du plugin
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Installation du plugin MediaSPIP Initialisation
*/
include_spip('inc/meta');
function mediaspip_init_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 (version_compare($current_version,'0.0','<=')){
include_spip('inc/config');
/**
* Activer tous les champs sur les articles
*/
ecrire_meta("articles_surtitre", "oui");
ecrire_meta("articles_soustitre", "oui");
ecrire_meta("articles_descriptif", "oui");
ecrire_meta("articles_chapeau", "oui");
ecrire_meta("articles_ps", "oui");
ecrire_meta("articles_urlref", "oui");
ecrire_meta("articles_redac", "oui");
ecrire_meta("rubriques_descriptif", "oui");
/**
* Configuration du réducteur d'images
*/
$image_process_install = charger_fonction('image_process_install','inc');
$image_process_install();
/**
* Activation des documents sur les articles
*/
ecrire_meta("documents_article", "oui");
/**
* Ne pas activer les inscriptions de rédacteurs
*/
ecrire_meta("accepter_inscriptions","non");
/**
* Activation des statistiques
* et de leurs captures
*/
ecrire_meta("activer_statistiques", "oui");
ecrire_meta("activer_captures_referers", "oui");
/**
* Désactivation de fontionnalités du privé:
* -* la messagerie
* -* les forums
*/
ecrire_meta("messagerie_agenda", "non");
ecrire_meta("forum_prive_admin","non");
ecrire_meta("forum_prive_objets","non");
ecrire_meta("forum_prive","non");
/**
* Activer la gestion des sites
* et la possibilité d'en ajouter pour tout le monde
*/
ecrire_meta("activer_sites","oui");
ecrire_meta("proposer_sites","2");
/**
* Activer le suivi des révisions
*/
ecrire_meta("articles_versions","oui");
/**
* Activer les notifications des auteurs sous tous les types de forums
*/
ecrire_meta("prevenir_auteurs",",pos,pri,abo,");
/**
* Activer les urls arbos par défaut
*/
ecrire_meta("type_urls","arbo");
/**
* On active la barre typo dans les crayons
*/
$config_crayons = lire_config('crayons',array());
$config_crayons['barretypo'] = 'on';
ecrire_meta("crayons",serialize($config_crayons));
/**
* Activer le multilinguisme
* - Les articles sont traduisibles
* - Ne proposer que les langues réellement possibles
* - Créer une configuration du plugin multilang dans le cas de son utilisation
*/
ecrire_meta("multi_articles", "oui");
ecrire_meta("gerer_trad", "oui");
ecrire_meta("langues_proposees","fr,en");
$config_multilang = lire_config('multilang',array(
'siteconfig' => 'on',
'article' => '',
'breve' => '',
'rubrique' => 'on',
'auteur' => 'on',
'document' => 'on',
'motcle' => '',
'site' => 'on',
'multilang_public' => 'on',
'multilang_crayons' => 'on')
);
$config_multilang['multilang_public'] = 'on';
$config_multilang['multilang_crayons'] = 'on';
ecrire_meta("multilang",serialize($config_multilang));
/**
* Insertion d'une configuration de SocialTags qui pourra servir
*/
$config_socialtags = lire_config('socialtags',array(
'tags' => array('delicious','digg','facebook','google','myspace','twitter'),
'jsselector' => '.infos_statistiques > div:last')
);
ecrire_meta("socialtags",serialize($config_socialtags));
/**
* Insertion d'une configuration de Google +1 qui pourra servir
*/
$config_googleplus1 = lire_config('googleplus1',array(
'googleplus1_taille' => 'small',
'jsselector' => '.infos_statistiques > div:last')
);
ecrire_meta("googleplus1",serialize($config_googleplus1));
/**
* Insertion d'une configuration de doc2img qui pourra servir
* Dans le cas de l'activation future du plugin
*/
$formats = lire_config('doc2img_imagick_extensions',false);
if(!is_array($formats) OR (count($formats) == 0) && class_exists('Imagick')){
include_spip('inc/metas');
$imagick = new Imagick();
$formats = $imagick->queryFormats();
ecrire_meta('doc2img_imagick_extensions',serialize($formats));
}
$config_doc2img = lire_config('doc2img',array());
if(is_array($formats) && (count($formats) > 1)){
$extensions = array();
foreach(array('PDF','TIFF','BMP','AI','SVG','PSD','EPS','PS') as $extension){
if(in_array($extension,$formats)){
$extensions[] = $extension;
}
}
$extensions = array_map('strtolower',$extensions);
$config_doc2img['format_document'] = implode(',',$extensions);
}else{
$config_doc2img['format_document'] = 'pdf,tiff,bmp,ai,svg,psd,eps,ps';
}
$config_doc2img['resolution'] = '150';
$config_doc2img['conversion_auto'] = 'on';
$config_doc2img['logo_auto'] = 'on';
$config_doc2img['format_cible'] = 'png';
ecrire_meta("doc2img",serialize($config_doc2img));
/**
* Insertion d'une configuration pour le plugin notation
*/
$config_notation = lire_config('notation',array());
$config_notation['ponderation'] = 30;
$config_notation['acces'] = 'ide';
ecrire_meta("notation",serialize($config_notation));
/**
* Préconfigurer le plugin de notifications
*/
$config_notifications = lire_config('notifications',array());
$config_notifications['prevenir_auteurs_articles'] = 'on';
$config_notifications['prevenir_admins_restreints'] = 'on';
$config_notifications['prevenir_auteurs'] = 'on';
$config_notifications['thread_forum'] = 'on';
$email_auteur_1 = sql_getfetsel('email','spip_auteurs','id_auteur=1');
$config_notifications['moderateurs_forum'] = $email_auteur_1;
$config_notifications['inscription'] = 'webmestres';
ecrire_meta("notifications",serialize($config_notifications));
/**
* Insertion d'une configuration pour le plugin palette
*/
$config_palette = array('palette_ecrire' => 'on','palette_public' => 'on');
ecrire_meta("palette",serialize($config_palette));
/**
* Si compresseur et version finale
*/
ecrire_meta("auto_compress_js", "oui");
ecrire_meta("auto_compress_css", "oui");
/**
* Création du menu
* Nécessite le plugin Menu
*/
if(defined('_DIR_PLUGIN_MENUS')){
$menu_install = charger_fonction('menu_install','inc');
$menu_install();
}
/**
* Création des templates pour spipmotion
* Nécessite le plugin SPIPmotion
*/
$spipmotion_install = charger_fonction('spipmotion_install','inc');
$spipmotion_install();
/**
* Création des cinq rubriques principales de mediaspip
* puis création de la configuration en conséquence
*/
include_spip('action/editer_rubrique');
$rubs_mediaspip = lire_config('mediaspip');
if(!isset($rubs_mediaspip['rubriques']['editos']) OR
($rubs_mediaspip['rubriques']['editos'] != sql_getfetsel('id_rubrique','spip_rubriques','id_parent=0 AND id_rubrique='.$rubs_mediaspip['rubriques']['editos']))){
$rubs_mediaspip['rubriques']['editos'] = insert_rubrique(0);
revisions_rubriques($rubs_mediaspip['rubriques']['editos'], array('titre' =>_T('mediaspip_init:titre_rubrique_editos')));
}
if(!isset($rubs_mediaspip['rubriques']['mag']) OR
($rubs_mediaspip['rubriques']['mag'] != sql_getfetsel('id_rubrique','spip_rubriques','id_parent=0 AND id_rubrique='.$rubs_mediaspip['rubriques']['mag']))){
$rubs_mediaspip['rubriques']['mag'] = insert_rubrique(0);
revisions_rubriques($rubs_mediaspip['rubriques']['mag'], array('titre' =>_T('mediaspip_init:titre_rubrique_mag')));
}
if(!isset($rubs_mediaspip['rubriques']['medias']) OR
($rubs_mediaspip['rubriques']['medias'] != sql_getfetsel('id_rubrique','spip_rubriques','id_parent=0 AND id_rubrique='.$rubs_mediaspip['rubriques']['medias']))){
$rubs_mediaspip['rubriques']['medias'] = sql_getfetsel('id_rubrique','spip_rubriques','titre='.sql_quote('Medias'));
if(!intval($rubs_mediaspip['rubriques']['medias'])){
$rubs_mediaspip['rubriques']['medias'] = insert_rubrique(0);
}
revisions_rubriques($rubs_mediaspip['rubriques']['medias'], array('titre' =>_T('mediaspip_init:titre_rubrique_medias')));
}
if(!isset($rubs_mediaspip['rubriques']['actus']) OR
($rubs_mediaspip['rubriques']['actus'] != sql_getfetsel('id_rubrique','spip_rubriques','id_parent=0 AND id_rubrique='.$rubs_mediaspip['rubriques']['actus']))){
$rubs_mediaspip['rubriques']['actus'] = insert_rubrique(0);
revisions_rubriques($rubs_mediaspip['rubriques']['actus'], array('titre' =>_T('mediaspip_init:titre_rubrique_actus')));
}
if(!isset($rubs_mediaspip['rubriques']['sites']) OR
($rubs_mediaspip['rubriques']['sites'] != sql_getfetsel('id_rubrique','spip_rubriques','id_parent=0 AND id_rubrique='.$rubs_mediaspip['rubriques']['sites']))){
$rubs_mediaspip['rubriques']['sites'] = insert_rubrique(0);
revisions_rubriques($rubs_mediaspip['rubriques']['sites'], array('titre' =>_T('mediaspip_init:titre_rubrique_sites')));
}
ecrire_meta('mediaspip',serialize($rubs_mediaspip));
/**
* Création des templates pour spipmotion
* Nécessite le plugin SPIPmotion
*/
if(defined('_DIR_PLUGIN_DIOGENE')){
$diogene_install = charger_fonction('diogene_install','inc');
$diogene_install($rubs_mediaspip['rubriques']);
}
/**
* Modification de la config d'emballe medias
*/
$mutu_install = charger_fonction('mutu_install','inc');
$mutu_install();
/**
* Modification de la config d'emballe medias
*/
$emballe_media_install = charger_fonction('emballe_medias_install','inc');
$emballe_media_install();
/**
* On installe le sélecteur pour sparkstats
* Même s'il n'est pas installé, au moins elle sera bonne
*/
ecrire_meta('sparkstats',serialize(array('sparkstats_cible' => '.info-visites:eq(0)')));
/**
* On active les tags de spip.icio.us pour tout le monde par défaut
*/
$config_spipicious = lire_config('spipicious',array());
$config_spipicious['people'] = array('0minirezo','1comite','6forum');
ecrire_meta('spipicious',serialize($config_spipicious),'oui');
/**
* Préconfigurer Gis 4
*/
$config_gis = lire_config('gis',array());
if(!$config_gis['lat'] OR !$config_gis['lon']){
$config_gis['lat'] = '49';
$config_gis['lon'] = '15';
}
$config_gis['geocoder'] = 'on';
$config_gis['adresse'] = 'on';
$config_gis['zoom'] = '1';
$config_gis['gis_objets'] = array('spip_articles','spip_rubriques','spip_auteurs');
$config_gis['layer_defaut'] = 'openstreetmap_blackandwhite';
$config_gis['layers'] = array(
'openstreetmap_mapnik',
'openstreetmap_blackandwhite',
'mapbox_streets',
'mapbox_light',
'mapbox_lacquer',
'stamen_watercolor');
ecrire_meta('gis',serialize($config_gis),'oui');
include_spip('inc/invalideur');
suivre_invalideur('meta');
ecrire_meta($nom_meta_base_version,$current_version=$version_cible,'non');
}if (version_compare($current_version,'0.1.1','<')){
/**
* Insertion d'une configuration pour le plugin palette
*/
$config_palette = array('palette_ecrire' => 'on','palette_public' => 'on');
ecrire_meta("palette",serialize($config_palette));
ecrire_meta($nom_meta_base_version,$current_version='0.1.1','non');
}if (version_compare($current_version,'0.1.2','<')){
/**
* On ajoute la gestion des forums dans les diogènes d'articles
*/
$diogenes_articles = sql_select('*','spip_diogenes','objet IN ('.sql_quote('article').','.sql_quote('emballe_media').')');
include_spip('action/editer_diogene');
while($diogene = sql_fetch($diogenes_articles)){
$champs_ajoutes = @unserialize($diogene['champs_ajoutes']);
$champs_ajoutes[] = 'forum';
$diogene['champs_ajoutes'] = $champs_ajoutes;
diogene_modifier($diogene['id_diogene'], $diogene);
}
ecrire_meta($nom_meta_base_version,$current_version='0.1.2','non');
}if (version_compare($current_version,'0.1.3','<')){
/**
* On ajoute la gestion des forums dans les diogènes d'articles
*/
$diogenes = sql_select('*','spip_diogenes');
include_spip('action/editer_diogene');
while($diogene = sql_fetch($diogenes)){
if($diogene['type'] != 'media'){
$options_complements = is_array(@unserialize($diogene['options_complements'])) ? unserialize($diogene['options_complements']) : array();
$options_complements['polyhier_desactiver'] = 'on';
$diogene['options_complements'] = $options_complements;
diogene_modifier($diogene['id_diogene'], $diogene);
}
}
ecrire_meta($nom_meta_base_version,$current_version='0.1.3','non');
}if (version_compare($current_version,'0.1.4','<')){
/**
* On remplace les éléments de menus autrefois emballe_medias par publier (dans diogene)
*/
sql_updateq('spip_menus_entrees',array('type_entree'=>'publier'),'type_entree='.sql_quote('emballe_medias'));
ecrire_meta($nom_meta_base_version,$current_version='0.1.4','non');
}if(version_compare($current_version,'0.1.5','<')){
/**
* On ajoute un élément dans le menu principal de type lien vers la page d'accueil
* (utile pour le blog)
*/
$barre_nav = sql_getfetsel('id_menu','spip_menus','identifiant="barrenav"');
$home_entree = sql_getfetsel('id_menus_entree','spip_menus_entrees','type_entree="accueil" AND id_menu='.intval($barre_nav));
if(!intval($home_entree)){
include_spip('action/editer_menu');
include_spip('action/editer_menus_entree');
$entree = insert_menus_entree($barre_nav);
$infos_entree = array(
'rang' => 5,
'type_entree' => 'accueil'
);
menus_entree_set($entree, $infos_entree);
}
ecrire_meta($nom_meta_base_version,$current_version='0.1.5','non');
}if(version_compare($current_version,'0.1.6','<')){
/**
* On ajoute multilang dans les crayons
*/
$config_multilang = lire_config('multilang',array(
'siteconfig' => 'on',
'article' => '',
'breve' => '',
'rubrique' => 'on',
'auteur' => 'on',
'document' => 'on',
'motcle' => '',
'site' => 'on',
'multilang_public' => 'on',
'multilang_crayons' => 'on')
);
$config_multilang['multilang_crayons'] = 'on';
ecrire_meta("multilang",serialize($config_multilang));
ecrire_meta($nom_meta_base_version,$current_version='0.1.6','non');
}if(version_compare($current_version,'0.1.7','<')){
/**
* On active la barre typo dans les crayons
*/
$config_crayons = lire_config('crayons',array());
$config_crayons['barretypo'] = 'on';
ecrire_meta("crayons",serialize($config_crayons));
/**
* On vérifie qu'on a toutes les entrées de menus
*/
$menu_install = charger_fonction('menu_install','inc');
$menu_install();
ecrire_meta($nom_meta_base_version,$current_version='0.1.7','non');
}if(version_compare($current_version,'0.1.8','<')){
/**
* Insertion d'une configuration de SocialTags qui pourra servir
*/
$config_socialtags = lire_config('socialtags',array(
'tags' => array('delicious','digg','facebook','google','myspace','twitter'),
'jsselector' => '.infos_statistiques > div:last')
);
ecrire_meta("socialtags",serialize($config_socialtags));
/**
* Insertion d'une configuration de doc2img qui pourra servir
* Dans le cas de l'activation future du plugin
*/
$formats = lire_config('doc2img_imagick_extensions',false);
if(!is_array($formats) OR (count($formats) == 0)){
include_spip('inc/metas');
$imagick = new Imagick();
$formats = $imagick->queryFormats();
ecrire_meta('doc2img_imagick_extensions',serialize($formats));
}
$config_doc2img = lire_config('doc2img',array());
if(is_array($formats) && (count($formats) > 1)){
$extensions = array();
foreach(array('PDF','TIFF','BMP','AI','SVG','PSD','EPS','PS') as $extension){
if(in_array($extension,$formats)){
$extensions[] = $extension;
}
}
$extensions = array_map('strtolower',$extensions);
$config_doc2img['format_document'] = implode(',',$extensions);
}else{
$config_doc2img['format_document'] = 'pdf,tiff,bmp,ai,svg,psd,eps,ps';
}
$config_doc2img['resolution'] = '150';
$config_doc2img['format_cible'] = 'png';
$config_doc2img['conversion_auto'] = 'on';
$config_doc2img['logo_auto'] = 'on';
ecrire_meta("doc2img",serialize($config_doc2img));
/**
* On installe le sélecteur pour sparkstats
* Même s'il n'est pas installé, au moins elle sera bonne
*/
ecrire_meta('sparkstats',serialize(array('sparkstats_cible' => '.info-visites:eq(0)')));
/**
* Insertion d'une configuration de Google +1 qui pourra servir
*/
$config_googleplus1 = lire_config('googleplus1',array(
'googleplus1_taille' => 'small',
'jsselector' => '.infos_statistiques > div:last')
);
ecrire_meta("googleplus1",serialize($config_googleplus1));
include_spip('inc/invalideur');
suivre_invalideur('meta');
ecrire_meta($nom_meta_base_version,$current_version='0.1.8','non');
}if(version_compare($current_version,'0.1.9','<')){
/**
* Préconfigurer le plugin de notifications
*/
$config_notifications = lire_config('notifications',array());
$config_notifications['prevenir_auteurs_articles'] = 'on';
$config_notifications['prevenir_admins_restreints'] = 'on';
$config_notifications['prevenir_auteurs'] = 'on';
$config_notifications['thread_forum'] = 'on';
$email_auteur_1 = sql_getfetsel('email','spip_auteurs','id_auteur=1');
$config_notifications['moderateurs_forum'] = $email_auteur_1;
$config_notifications['inscription'] = 'webmestres';
ecrire_meta("notifications",serialize($config_notifications));
include_spip('inc/invalideur');
suivre_invalideur('meta');
ecrire_meta($nom_meta_base_version,$current_version='0.1.9','non');
}if(version_compare($current_version,'0.2.0','<')){
/**
* Préconfigurer Gis 4
*/
$config_gis = lire_config('gis',array());
if(!$config_gis['lat'] OR !$config_gis['lon']){
$config_gis['lat'] = '49';
$config_gis['lon'] = '15';
}
$config_gis['geocoder'] = 'on';
$config_gis['adresse'] = 'on';
$config_gis['zoom'] = '1';
$config_gis['gis_objets'] = array('spip_articles','spip_rubriques','spip_auteurs');
$config_gis['layer_defaut'] = 'openstreetmap_blackandwhite';
$config_gis['layers'] = array(
'openstreetmap_mapnik',
'openstreetmap_blackandwhite',
'mapbox_streets',
'mapbox_light',
'mapbox_lacquer',
'stamen_watercolor');
ecrire_meta('gis',serialize($config_gis),'oui');
include_spip('inc/invalideur');
suivre_invalideur('meta');
ecrire_meta($nom_meta_base_version,$current_version='0.2.0','non');
}
if(version_compare($current_version,'0.2.1','<')){
/**
* Insertion d'une configuration de doc2img qui pourra servir
* Dans le cas de l'activation future du plugin
*/
$formats = lire_config('doc2img_imagick_extensions',false);
if(!is_array($formats) OR (count($formats) == 0)){
include_spip('inc/metas');
$imagick = new Imagick();
$formats = $imagick->queryFormats();
ecrire_meta('doc2img_imagick_extensions',serialize($formats));
}
$config_doc2img = lire_config('doc2img',array());
if(is_array($formats) && (count($formats) > 1)){
$extensions = array();
foreach(array('PDF','TIFF','BMP','AI','SVG','PSD','EPS','PS') as $extension){
if(in_array($extension,$formats)){
$extensions[] = $extension;
}
}
$extensions = array_map('strtolower',$extensions);
$config_doc2img['format_document'] = implode(',',$extensions);
}else{
$config_doc2img['format_document'] = 'pdf,tiff,bmp,ai,svg,psd,eps,ps';
}
$config_doc2img['resolution'] = '150';
$config_doc2img['format_cible'] = 'png';
$config_doc2img['conversion_auto'] = 'on';
$config_doc2img['logo_auto'] = 'on';
ecrire_meta("doc2img",serialize($config_doc2img));
ecrire_meta($nom_meta_base_version,$current_version='0.2.1','non');
}
if(version_compare($current_version,'0.2.2','<')){
/**
* On reconfigure Gis v4
*/
$config_gis = lire_config('gis',array());
if(!$config_gis['lat'] OR !$config_gis['lon']){
$config_gis['lat'] = '49';
$config_gis['lon'] = '15';
}
$config_gis['geocoder'] = 'on';
$config_gis['adresse'] = 'on';
$config_gis['zoom'] = '1';
$config_gis['gis_objets'] = array('spip_articles','spip_rubriques','spip_auteurs');
$config_gis['layer_defaut'] = 'openstreetmap_blackandwhite';