be54831edbc93346be0c9aa24153f2b6aca8a769
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2014 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
13 if (!defined("_ECRIRE_INC_VERSION")) return;
15 function formulaires_importer_sites_charger_dist(){
17 if (!autoriser('importer', '_sites'))
21 'fichier_import' => 0,
23 'importer_statut_publie' => 0,
24 'importer_les_tags' => 1,
28 function formulaires_importer_sites_verifier_dist(){
31 if (!_request('id_parent'))
32 $erreurs['id_parent'] = _T('info_obligatoire');
34 $fichier_ok = info_fichiers_import('fichier_import');
36 $erreurs['fichier_import'] = _T('sites:erreur_fichier_incorrect');
38 elseif (!charger_fonction('importer_bookmarks_'.$fichier_ok['format'],'action',true)){
39 $erreurs['fichier_import'] = _T('sites:erreur_fichier_format_inconnu',array('fichier'=>"<tt>".$fichier_ok['name']."</tt>"));
45 function formulaires_importer_sites_traiter_dist(){
46 $id_parent = intval(_request('id_parent'));
47 $importer_statut_publie = _request('importer_statut_publie') ?
true : false;
48 $importer_tags = _request('importer_les_tags') ?
true : false;
49 $fichier_ok = info_fichiers_import('fichier_import');
52 $importer_bookmarks = charger_fonction('importer_bookmarks_'.$fichier_ok['format'],'action');
53 $nb = $importer_bookmarks($fichier_ok,$id_parent,$importer_statut_publie,$importer_tags);
56 $res = array('message_erreur'=>_T('sites:info_aucun_site_importe'));
58 $res = array('message_ok'=>singulier_ou_pluriel($nb,'sites:info_1_site_importe','sites:info_nb_sites_importes'));
63 function info_fichiers_import($name){
64 static $fichier_ok = array();
66 if (!isset($fichier_ok[$name])){
68 OR !isset($_FILES[$name])
69 OR !$_FILES[$name]['size']>0)
72 if ($_FILES[$name]['error']!=0)
75 $fichier_ok[$name] = array();
76 $fichier_ok[$name]['name'] = $_FILES[$name]['name'];
77 $fichier_ok[$name]['chemin'] = $_FILES[$name]['tmp_name'];
79 // On récupère le contenu du fichier
80 $fichier_ok[$name]['format'] = '';
81 lire_fichier($fichier_ok[$name]['chemin'],$fichier_ok[$name]['contenu']);
82 if (stripos($fichier_ok[$name]['contenu'], 'NETSCAPE-Bookmark-file')!==false)
83 $fichier_ok[$name]['format'] = 'netscape';
86 return $fichier_ok[$name];