1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/spip_ynh.git synced 2024-09-03 20:25:59 +02:00
spip_ynh/sources/plugins-dist/sites/formulaires/importer_sites.php
2015-04-28 17:10:23 +02:00

87 lines
No EOL
2.9 KiB
PHP
Raw Blame History

<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2014 *
* 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;
function formulaires_importer_sites_charger_dist(){
if (!autoriser('importer', '_sites'))
return false;
return array(
'fichier_import' => 0,
'id_parent' => 0,
'importer_statut_publie' => 0,
'importer_les_tags' => 1,
);
}
function formulaires_importer_sites_verifier_dist(){
$erreurs = array();
if (!_request('id_parent'))
$erreurs['id_parent'] = _T('info_obligatoire');
$fichier_ok = info_fichiers_import('fichier_import');
if (!$fichier_ok){
$erreurs['fichier_import'] = _T('sites:erreur_fichier_incorrect');
}
elseif (!charger_fonction('importer_bookmarks_'.$fichier_ok['format'],'action',true)){
$erreurs['fichier_import'] = _T('sites:erreur_fichier_format_inconnu',array('fichier'=>"<tt>".$fichier_ok['name']."</tt>"));
}
return $erreurs;
}
function formulaires_importer_sites_traiter_dist(){
$id_parent = intval(_request('id_parent'));
$importer_statut_publie = _request('importer_statut_publie') ? true : false;
$importer_tags = _request('importer_les_tags') ? true : false;
$fichier_ok = info_fichiers_import('fichier_import');
$importer_bookmarks = charger_fonction('importer_bookmarks_'.$fichier_ok['format'],'action');
$nb = $importer_bookmarks($fichier_ok,$id_parent,$importer_statut_publie,$importer_tags);
if (!$nb)
$res = array('message_erreur'=>_T('sites:info_aucun_site_importe'));
else
$res = array('message_ok'=>singulier_ou_pluriel($nb,'sites:info_1_site_importe','sites:info_nb_sites_importes'));
return $res;
}
function info_fichiers_import($name){
static $fichier_ok = array();
if (!isset($fichier_ok[$name])){
if (sizeof($_FILES)<0
OR !isset($_FILES[$name])
OR !$_FILES[$name]['size']>0)
return false;
if ($_FILES[$name]['error']!=0)
return false;
$fichier_ok[$name] = array();
$fichier_ok[$name]['name'] = $_FILES[$name]['name'];
$fichier_ok[$name]['chemin'] = $_FILES[$name]['tmp_name'];
// On r<>cup<75>re le contenu du fichier
$fichier_ok[$name]['format'] = '';
lire_fichier($fichier_ok[$name]['chemin'],$fichier_ok[$name]['contenu']);
if (stripos($fichier_ok[$name]['contenu'], 'NETSCAPE-Bookmark-file')!==false)
$fichier_ok[$name]['format'] = 'netscape';
}
return $fichier_ok[$name];
}