Le 9 juin 09 à 18:09, vincent@ldd.fr a écrit :
Author: vincent@ldd.fr
Date: Tue Jun 9 18:09:03 2009
New Revision: 29075Log:
On peut importer tous ses marque-pages dans SPIP depuis un fichier d'export HTML de navigateur (comme Firefox par exemple).Prochaine étape : importation depuis un export delicious.
Import ponctuel, ou synchro continue ???
Modified:
_plugins_/marque-pages/css/marquepages_interface.css
_plugins_/marque-pages/fonds/contenu/marquepages_auteur.html
_plugins_/marque-pages/fonds/contenu/marquepages_tout.html
_plugins_/marque-pages/fonds/navigation/marquepages_editer.html
_plugins_/marque-pages/fonds/navigation/marquepages_site.html
_plugins_/marque-pages/fonds/navigation/marquepages_tout.html
_plugins_/marque-pages/inc/marquepages_api.php
_plugins_/marque-pages/lang/marquepages_en.php
_plugins_/marque-pages/lang/marquepages_fr.php
_plugins_/marque-pages/marquepages_fonctions.php
_plugins_/marque-pages/plugin.xmlModified: _plugins_/marque-pages/css/marquepages_interface.css
--- _plugins_/marque-pages/css/marquepages_interface.css (original)
+++ _plugins_/marque-pages/css/marquepages_interface.css Tue Jun 9 18:09:03 2009
@@ -58,6 +58,7 @@
#navigation{
float:right;
width:17em;
+ padding-top:1.1em;
font-size:0.9em;
}
#bloc-bas{
@@ -123,7 +124,7 @@
/* Pour la navigation */
#navigation h2{
position:relative;
- margin-top:0.2em;
+ margin:0.2em 0;
padding:0.2em 0;
font-size:1em;
font-weight:bold;
@@ -177,6 +178,10 @@
right:4px;
top:4px;
}
+#navigation .explication{
+ margin:1em 0;
+ text-align:center;
+}/* Pour le contenu */
#contenu h2{
@@ -220,6 +225,11 @@
text-decoration:none;
background:#6C6C6C;
}
+#contenu .pagination{
+ margin:1em;
+ text-align:center;
+ font-size:1.2em;
+}/* Pour les formulaires */
.formulaire_spip input.text, .formulaire_spip select, .formulaire_spip #password{
@@ -229,10 +239,29 @@
.formulaire_spip input.text:focus, .formulaire_spip select:focus, .formulaire_spip #password:focus{
border:1px solid #d90fad;
}
+.formulaire_spip input.submit, .formulaire_spip button, .formulaire_spip .boutons input{
+ padding:0.2em 0.5em;
+ font-weight:bold;
+ color:white;
+ background:#d90fad;
+ -moz-border-radius:3px;
+ -webkit-border-radius:3px;
+}
.formulaire_spip .popular_tags span.selected{
color:white;
background:#6C6C6C;
}
-.formulaire_marquepage .formulaire_login legend{
+.formulaire_recherche{
+ margin-bottom:1em;
+ text-align:center;
+}
+.formulaire_recherche input.text{
+ padding-left:25px;
+}
+.formulaire_importer_marquepages, .formulaire_importer_marquepages .boutons{
+ margin:0;
+ text-align:center;
+}
+.formulaire_marquepage .formulaire_login legend, .formulaire_recherche label{
display:none;
}Modified: _plugins_/marque-pages/fonds/contenu/marquepages_auteur.html
--- _plugins_/marque-pages/fonds/contenu/marquepages_auteur.html (original)
+++ _plugins_/marque-pages/fonds/contenu/marquepages_auteur.html Tue Jun 9 18:09:03 2009
@@ -2,8 +2,8 @@
<BOUCLE_auteur(AUTEURS){login}>
<h2>[(#SESSION{id_auteur}|=={#ID_AUTEUR}|?{<:marquepages:mes_marquepages:>,<:marquepages:titre_marquepages_de{auteur=#NOM}:>})]</h2>-<B_etiquettes>
<ul class="etiquettes">
+<B_etiquettes>
<li><:marquepages:avec_etiquettes:></li>
<BOUCLE_etiquettes(MOTS){titre=#ENV{titre_mot}}>
<li>
@@ -11,8 +11,8 @@
<a href="[(#SELF|url_mp_supprimer_tag{#TITRE})]" title="<:marquepages:enlever:>">-</a>
</li>
</BOUCLE_etiquettes>
+ <li> </li>
</ul>
-</B_etiquettes><INCLURE{fond=fonds/marquepages}{ajax}{self=#SELF}{id_rubrique}{id_auteur}{titre_mot}{pagination=#ENV{pagination}}{tri=#ENV{tri}}{senstri=#ENV{senstri}}>
</BOUCLE_auteur>Modified: _plugins_/marque-pages/fonds/contenu/marquepages_tout.html
--- _plugins_/marque-pages/fonds/contenu/marquepages_tout.html (original)
+++ _plugins_/marque-pages/fonds/contenu/marquepages_tout.html Tue Jun 9 18:09:03 2009
@@ -1,8 +1,8 @@<h2><:marquepages:tous_les_marquepages:></h2>
-<B_etiquettes>
<ul class="etiquettes">
+<B_etiquettes>
<li><:marquepages:avec_etiquettes:></li>
<BOUCLE_etiquettes(MOTS){titre=#ENV{titre_mot}}>
<li>
@@ -10,7 +10,7 @@
<a href="[(#SELF|url_mp_supprimer_tag{#TITRE})]" title="<:marquepages:enlever:>">-</a>
</li>
</BOUCLE_etiquettes>
+ <li> </li>
</ul>
-</B_etiquettes><INCLURE{fond=fonds/marquepages}{ajax}{self=#SELF}{id_rubrique}{titre_mot}{pagination=#ENV{pagination}}{tri=#ENV{tri}}{senstri=#ENV{senstri}}>
Modified: _plugins_/marque-pages/fonds/navigation/marquepages_editer.html
--- _plugins_/marque-pages/fonds/navigation/marquepages_editer.html (original)
+++ _plugins_/marque-pages/fonds/navigation/marquepages_editer.html Tue Jun 9 18:09:03 2009
@@ -5,4 +5,10 @@
href="javascript:x=document;a=encodeURIComponent(x.location.href);t=encodeURIComponent(x.title);d=encodeURIComponent(window.getSelection());r=encodeURIComponent('[(#VAL|url_mp|parametre_url{popup,close})]');open('[(#VAL{nouveau}|url_mp_editer)]&popup=oui&mp_url='+a+'&mp_titre='+t+'&mp_description='+d+'&redirect='+r,'#CONFIG{marquepages/titremp}','modal=1,status=0,scrollbars=1,toolbar=0,resizable=1,width=1000,height=750,left='+(screen.width-1000)/2+',top='+(screen.height-750)/2);void%200;">
<:marquepages:bookmarklet_lien{site=#CONFIG{marquepages/titremp}}:>
</a>
-<p><:marquepages:bookmarklet_explication{site=#CONFIG{marquepages/titremp}}:></p>
+<p class="explication"><:marquepages:bookmarklet_explication{site=#CONFIG{marquepages/titremp}}:></p>
+
+[(#AUTORISER{creermarquepagedans, rubrique, #ENV{id_rubrique}}|oui)
+<h2><:marquepages:importer:></h2>
+#FORMULAIRE_IMPORTER_MARQUEPAGES
+<p class="explication"><:marquepages:importer_explication:></p>
+]Modified: _plugins_/marque-pages/fonds/navigation/marquepages_site.html
--- _plugins_/marque-pages/fonds/navigation/marquepages_site.html (original)
+++ _plugins_/marque-pages/fonds/navigation/marquepages_site.html Tue Jun 9 18:09:03 2009
@@ -1,4 +1,5 @@+#FORMULAIRE_RECHERCHE{#SELF}
<BOUCLE_site(SITES){id_syndic}>
Modified: _plugins_/marque-pages/fonds/navigation/marquepages_tout.html
--- _plugins_/marque-pages/fonds/navigation/marquepages_tout.html (original)
+++ _plugins_/marque-pages/fonds/navigation/marquepages_tout.html Tue Jun 9 18:09:03 2009
@@ -1,4 +1,6 @@+#FORMULAIRE_RECHERCHE{#SELF}
+
<B_popu>
<div class="pliable">
<h2><:etiquettes:etiquettes_populaires:></h2>Modified: _plugins_/marque-pages/inc/marquepages_api.php
--- _plugins_/marque-pages/inc/marquepages_api.php (original)
+++ _plugins_/marque-pages/inc/marquepages_api.php Tue Jun 9 18:09:03 2009
@@ -164,6 +164,12 @@
// Retourne true si c'est bon, false sinon
function marquepages_supprimer($id_forum){
+ // On commence par retirer tous les mots-clés
+ sql_delete(
+ 'spip_mots_forum',
+ 'id_forum=' . intval($id_forum)
+ );
+
$r = sql_fetsel(
'id_syndic',
'spip_forum',
@@ -203,4 +209,49 @@
}+// Importer des marque-pages depuis un fichier d'export HTML de navigateur
+function marquepages_importer_netscape($chemin, $id_rubrique){
+ $retours = array();
+
+ $html = file_get_contents($chemin);
+
+ // On cree un tableau de tous les liens
+ preg_match_all('/<a\s+(.*?)\s*\/*>([^<]*)/si', $html, $matches);
+ $liens = $matches[1];
+ $titres = $matches[2];
+
+ foreach($liens as $i => $lien){
+ $attributs = preg_split('/\s+/s', $lien);
+ foreach ($attributs as $attribut) {
+ $attribut = preg_split('/\s*=\s*/s', $attribut, 2);
+ $attrTitre = $attribut[0];
+ $attrValeur = eregi_replace('"', '"', preg_replace('/([\'"]?)(.*)\1/', '$2', $attribut[1]));
+ switch (strtolower($attrTitre)) {
+ case "href":
+ $url = $attrValeur;
+ break;
+ case "add_date":
+ $date = date('Y-m-d H:i:s', $attrValeur);
+ if (strtotime($date) > time())
+ $date = date('Y-m-d H:i:s');
+ break;
+ }
+ }
+ $titre = eregi_replace('"', '"', trim($titre[$i]));
+
+ marquepages_ajouter($id_rubrique, $url, $titre, $description, 'mppublic', '');
+ }
+
+ $retours['message_ok'] = _T('marquepages:erreur_importation_ok');
+
+ return $retours;
+}
+
+// Importer des marque-pages depuis un fichier d'export de delicious
+function marquepages_importer_delicious($chemin, $id_rubrique){
+ $retours = array();
+ $retours['message_ok'] = 'Importation delicious';
+ return $retours;
+}
+
?>Modified: _plugins_/marque-pages/lang/marquepages_en.php
--- _plugins_/marque-pages/lang/marquepages_en.php (original)
+++ _plugins_/marque-pages/lang/marquepages_en.php Tue Jun 9 18:09:03 2009
@@ -23,6 +23,8 @@
'bookmarklet' => 'Bookmarklet',
'bookmarklet_lien' => 'Add to @site@',
'bookmarklet_explication' => 'Move this bookmarklet in your browser\'s bookmarks and click on it every time you want to add a bookmark on @site@.',
+'importer' => 'Import',
+'importer_explication' => 'Export your bookmarks from where they are saved now (Firefox, IE, delicious, etc), then upload the file here.',// Pour la configuration
'configuration_titre' => 'Bookmarks configuration',
@@ -30,6 +32,12 @@
'configuration_rubrique' => 'Bookmarks section',
'configuration_rubrique_explication' => 'Choose a section where bookmarks will be saved by default.',+// Erreurs
[... 64 lines stripped ...]
_______________________________________________
Spip-zone-commit@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone-commit
-Nicolas
--
Nicolas HOIZEY
Blog : http://www.gasteroprod.com/
Photos : http://flic.kr/nicolas-hoizey/