Browse Source

Indentation pour y voir un peu plus clair

Optimisations des images
svn/root/tags/v1.2.1
kent1@arscenic.info 8 years ago
parent
commit
5ff8b7629b
  1. 26
      base/rssarticle.php
  2. 46
      exec/rss_article.php
  3. 114
      formulaires/configurer_rssarticle.html
  4. 25
      formulaires/editer_rssarticle.html
  5. 55
      formulaires/editer_rssarticle.php
  6. 312
      genie/rssarticle_copie.php
  7. 44
      lang/rssarticle_ar.php
  8. 75
      lang/rssarticle_fr.php
  9. 12
      paquet.xml
  10. 2
      prive/contenu/rssarticle.html
  11. BIN
      prive/themes/spip/images/rssarticle-128.png
  12. BIN
      prive/themes/spip/images/rssarticle-16.png
  13. BIN
      prive/themes/spip/images/rssarticle-32.png
  14. BIN
      prive/themes/spip/images/rssarticle-64.png
  15. 57
      rssarticle_administrations.php
  16. 62
      rssarticle_pipelines.php

26
base/rssarticle.php

@ -1,5 +1,7 @@
<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Ajouter la table spip_articles_syndic
* @param array $tables_auxiliaires
@ -8,16 +10,16 @@
function rssarticle_declarer_tables_auxiliaires($tables_auxiliaires){
$spip_rssarticle = array(
"id_article" => "bigint(21) NOT NULL",
"id_syndic" => "bigint(21) NOT NULL");
"id_article" => "bigint(21) NOT NULL",
"id_syndic" => "bigint(21) NOT NULL");
$spip_rssarticle_key = array(
"INDEX" => "id_article");
$tables_auxiliaires['spip_articles_syndic'] = array(
'field' => &$spip_rssarticle,
'key' => &$spip_rssarticle_key);
'field' => &$spip_rssarticle,
'key' => &$spip_rssarticle_key);
return $tables_auxiliaires;
}
@ -27,20 +29,16 @@ function rssarticle_declarer_tables_auxiliaires($tables_auxiliaires){
* @return array
*/
function rssarticle_declarer_tables_interfaces($interface){
$interface['table_des_tables']['articles_syndic']='articles_syndic';
// permet au compilateur de determiner explicitement les jointures possibles
// lorsquune boucle sur une table demande un champ inconnu
// lorsqu'une boucle sur une table demande un champ inconnu
$interface['tables_jointures']['spip_articles'][] = 'articles_syndic';
return $interface;
}
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Ajouter des champs a la table syndic
* @param array $tables_principales
@ -49,7 +47,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
function rssarticle_declarer_tables_principales($tables_principales){
// Extension de la table syndic
$tables_principales['spip_syndic']['field']['rssarticle'] = "varchar(3) DEFAULT 'non' NOT NULL";
return $tables_principales;
}

46
exec/rss_article.php

@ -1,44 +1,44 @@
<?php
/* plugin rss en article
*
* page cachée pour les gens préssés ne pouvant pas attendre le genie
* permet de relancer manuellement la recopie du flux en article
*/
/**
* Plugin rss en article
*
* page cachée pour les gens préssés ne pouvant pas attendre le genie
* permet de relancer manuellement la recopie du flux en article
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
include_spip("inc/presentation");
function exec_rss_article_dist()
{
// si pas autorise : message d'erreur ... admin ... a affiner
if (!autoriser('editer', 'article')) {
include_spip('inc/minipres');
echo minipres();
exit;
}
include_spip("genie/rssarticle_copie");
function exec_rss_article_dist(){
// si pas autorise : message d'erreur ... admin ... a affiner
if (!autoriser('editer', 'article')) {
include_spip('inc/minipres');
echo minipres();
exit;
}
include_spip("genie/rssarticle_copie");
//
// affichages
//
$commencer_page = charger_fonction('commencer_page', 'inc');
echo $commencer_page(_T('rssarticle:activer_recopie_intro'), 'editer', 'editer');
// titre
echo "<br /><br /><br />\n"; // outch ! aie aie aie ! au secours !
echo gros_titre(_T('rssarticle:activer_recopie_intro'),'', false);
// titre
echo "<br /><br /><br />\n"; // outch ! aie aie aie ! au secours !
echo gros_titre(_T('rssarticle:activer_recopie_intro'),'', false);
// colonne gauche
echo debut_gauche('', true);
echo debut_droite('', true);
echo debut_droite('', true);
// centre de la page
genie_rssarticle_copie_dist("manuel");
echo '<div><small>'.date('Y/m/d H:i:s').'</small><br />'._T('rssarticle:maj_manuelle').'</div>';
echo '<div style="margin:2em 0;"><a href="?exec=rss_article" style="border:1px solid;padding:0.5em;background:#fff;">'._T('rssarticle:maj_recharge').'</a></div>';
echo '<div><small>'.date('Y/m/d H:i:s').'</small><br />'._T('rssarticle:maj_manuelle').'</div>';
echo '<div style="margin:2em 0;"><a href="?exec=rss_article" style="border:1px solid;padding:0.5em;background:#fff;">'._T('rssarticle:maj_recharge').'</a></div>';
// pied
echo fin_gauche() . fin_page();

114
formulaires/configurer_rssarticle.html

@ -9,66 +9,60 @@
#ACTION_FORMULAIRE{#ENV{action}}
<ul>
<li class="editer">
<h3 class="legend"><:rssarticle:statut_article_importe:></h3>
<ul>
<select name="import_statut">
<option value="prop"[(#ENV{import_statut}|=={prop}|?{' selected="selected"'})]><:sites:info_statut_site_3:></option>
<option value="publie"[(#ENV{import_statut}|=={publie}|?{' selected="selected"'})]><:sites:info_statut_site_2:></option>
</select>
</ul>
</li>
<li class="editer">
<h3 class="legend"><:rssarticle:mode:></h3>
<ul>
<div class="choix">
<input class="radio" type="radio" name="mode" value="auto" [(#ENV{mode}|=={auto}?{checked='checked',''})] id="mode_auto"/>
<label for="mode_auto"><:rssarticle:mode_auto:></label>
</div>
<div class="choix">
<input type="radio" name="mode" value="manuel" [(#ENV{mode}|=={manuel}?{checked='checked',''})] id="mode_manuel"/>
<label for="mode_manuel"><:rssarticle:mode_manuel:></label>
</div>
</ul>
</li>
<li class="editer">
<h3 class="legend"><:rssarticle:cron_interval:></h3>
<input type="text" name="cron_interval_value" value="[(#ENV{cron_interval_value}|!={''}|?{#ENV{cron_interval_value},600})]" size="6" class="fondl" id="cron_interval_value"/>
<label for="cron_interval_value"><:rssarticle:cron_interval_timer:></label>
</li>
<li class="editer">
<h3 class="legend"><:rssarticle:suivi_syndic:></h3>
<ul>
<li class="editer_email_alerte">
<input type="checkbox" name="email_alerte"[ checked="(#ENV{email_alerte}|!={''}|?{'checked'})"] class="fondl" id="email_alerte"/>
<label for="email_alerte"><:rssarticle:email_alerte:></label>
</li>
<li class="editer_email_suivi">
<input type="text" name="email_suivi" value="[(#ENV{email_suivi})]" size="20" class="fondl" id="email_suivi"/>
<label for="email_suivi"><:rssarticle:email_alerte_email:></label>
</li>
</ul>
</li>
<li class="editer">
<h3 class="legend"><:rssarticle:copie_logo:></h3>
<input type="checkbox" name="copie_logo"[ checked="(#ENV{copie_logo}|!={''}|?{'checked'})"] class="fondl" id="copie_logo" />
<label for="copie_logo"><:rssarticle:copie_logo:></label>
</li>
<li class="editer">
<h3 class="legend"><:rssarticle:html2spip:></h3>
<input type="checkbox" name="html2spip"[ checked="(#ENV{html2spip}|!={''}|?{'checked'})"] id="html2spip" />
<label for="html2spip"><:rssarticle:html2spip:></label>
</li>
<li class="editer">
<h3 class="legend"><:rssarticle:statut_article_importe:></h3>
<ul>
<select name="import_statut">
<option value="prop"[(#ENV{import_statut}|=={prop}|?{' selected="selected"'})]><:sites:info_statut_site_3:></option>
<option value="publie"[(#ENV{import_statut}|=={publie}|?{' selected="selected"'})]><:sites:info_statut_site_2:></option>
</select>
</ul>
</li>
<li class="editer">
<h3 class="legend"><:rssarticle:mode:></h3>
<ul>
<div class="choix">
<input class="radio" type="radio" name="mode" value="auto" [(#ENV{mode}|=={auto}?{checked='checked',''})] id="mode_auto"/>
<label for="mode_auto"><:rssarticle:mode_auto:></label>
</div>
<div class="choix">
<input type="radio" name="mode" value="manuel" [(#ENV{mode}|=={manuel}?{checked='checked',''})] id="mode_manuel"/>
<label for="mode_manuel"><:rssarticle:mode_manuel:></label>
</div>
</ul>
</li>
<li class="editer">
<h3 class="legend"><:rssarticle:cron_interval:></h3>
<input type="text" name="cron_interval_value" value="[(#ENV{cron_interval_value}|!={''}|?{#ENV{cron_interval_value},600})]" size="6" class="fondl" id="cron_interval_value"/>
<label for="cron_interval_value"><:rssarticle:cron_interval_timer:></label>
</li>
<li class="editer editer_email_alerte">
<h3 class="legend"><:rssarticle:suivi_syndic:></h3>
<ul>
<li class="editer_email_alerte">
<input type="checkbox" name="email_alerte"[ checked="(#ENV{email_alerte}|!={''}|?{'checked'})"] class="fondl" id="email_alerte"/>
<label for="email_alerte"><:rssarticle:email_alerte:></label>
</li>
<li class="editer_email_suivi">
<input type="text" name="email_suivi" value="[(#ENV{email_suivi})]" size="20" class="fondl" id="email_suivi"/>
<label for="email_suivi"><:rssarticle:email_alerte_email:></label>
</li>
</ul>
</li>
<li class="editer editer_copie_logo">
<h3 class="legend"><:rssarticle:copie_logo:></h3>
<input type="checkbox" name="copie_logo"[ checked="(#ENV{copie_logo}|!={''}|?{'checked'})"] class="fondl" id="copie_logo" />
<label for="copie_logo"><:rssarticle:copie_logo:></label>
</li>
<li class="editer editer_html2spip">
<h3 class="legend"><:rssarticle:html2spip:></h3>
<input type="checkbox" name="html2spip"[ checked="(#ENV{html2spip}|!={''}|?{'checked'})"] id="html2spip" />
<label for="html2spip"><:rssarticle:html2spip:></label>
</li>
</ul>
[(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
<!--extra-->
<p class='boutons'><span class='image_loading'>&nbsp;</span>
<input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p>
</div></form>
]
[(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
<!--extra-->
<p class='boutons'><span class='image_loading'>&nbsp;</span><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p>
</div></form>]
</div>

25
formulaires/editer_rssarticle.html

@ -1,22 +1,21 @@
<div class="formulaire_spip formulaire_editer formulaire_#FORM formulaire_#FORM-#ENV{id_syndic,nouveau}">
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
<div class="formulaire_spip formulaire_editer formulaire_#FORM formulaire_#FORM-#ENV{id_syndic,nouveau}">
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
<form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
<form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
#ACTION_FORMULAIRE{#ENV{action}}
<ul>
#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}#SET{obli,'obligatoire'}
<li class="editer_rssarticle[ (#ENV**{erreurs}|table_valeur{rssarticle}|oui)erreur]">
<div class="choix" style="margin-left:-130px">
[(#CHEMIN_IMAGE{rssarticle-32.png}|balise_img{RSS})]
<input type='checkbox' class="checkbox" name='rssarticle' value='oui' id='rssarticle'[ (#ENV{rssarticle}|=={oui}|?{'checked="checked"'})] />
<label for="rssarticle"><:rssarticle:activer_recopie:></label>
</div>
[<span class='rssarticle'>(#ENV*{erreurs}|table_valeur{rssarticle})</span>]
</li>
<li class="editer_rssarticle[ (#ENV**{erreurs}|table_valeur{rssarticle}|oui)erreur]">
<div class="choix" style="margin-left:-130px">
[(#CHEMIN_IMAGE{rssarticle-32.png}|balise_img{RSS})]
<input type='checkbox' class="checkbox" name='rssarticle' value='oui' id='rssarticle'[(#ENV{rssarticle}|=={oui}|oui)checked="checked"] />
<label for="rssarticle"><:rssarticle:activer_recopie:></label>
</div>
[<span class='rssarticle'>(#ENV*{erreurs}|table_valeur{rssarticle})</span>]
</li>
</ul>
[(#ENV{editable}|oui) <p class='boutons'><input type='submit' name="save" class='submit' value='<:bouton_enregistrer:>' /></p>]
[(#ENV{editable}|oui) <p class='boutons'><input type='submit' name="save" class='submit' value='<:bouton_enregistrer:>' /></p>]
</div></form>
</div>

55
formulaires/editer_rssarticle.php

@ -1,14 +1,13 @@
<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
include_spip('inc/autoriser');
/**
* CVT: charger
*
*/
* CVT: charger
*
*/
function formulaires_editer_rssarticle_charger_dist($id_syndic='new', $retour=''){
$rssarticle = sql_getfetsel('rssarticle','spip_syndic','id_syndic='.intval($id_syndic));
@ -23,39 +22,35 @@ function formulaires_editer_rssarticle_charger_dist($id_syndic='new', $retour=''
}
/**
* CVT: verifer
*
*/
* CVT: verifer
*
*/
function formulaires_editer_rssarticle_verifier_dist($id_syndic='new', $retour=''){
$erreurs = array();
return $erreurs;
}
/**
* CVT: traiter
*
*/
* CVT: traiter
*
*/
function formulaires_editer_rssarticle_traiter_dist($id_syndic='new', $retour=''){
if (_request('rssarticle')=='oui') {
sql_updateq('spip_syndic',array(
'rssarticle'=> 'oui',
'resume'=>'non',
'oubli'=>'oui'
),'id_syndic='.intval($id_syndic));
// on force le site en mode oubli et pas resume
// on rensynchronise la syndic pour passer les anciens articles (qui etaient ss doute en mode resume) en mode complet HTML
//sql_delete("spip_syndic_articles", "id_syndic=".sql_quote($id_syndic)); // alternative ;)
include_spip('genie/syndic');
$t = syndic_a_jour($id_syndic);
} else {
sql_updateq('spip_syndic',array('rssarticle'=> 'non'),'id_syndic='.intval($id_syndic));
}
$message = array('editable'=>true, 'message_ok'=>_T("rssarticle:site_maj"));
if (_request('rssarticle')=='oui') {
sql_updateq('spip_syndic',array(
'rssarticle'=> 'oui',
'resume'=>'non',
'oubli'=>'oui'
),'id_syndic='.intval($id_syndic));
// on force le site en mode oubli et pas resume
// on rensynchronise la syndic pour passer les anciens articles (qui etaient ss doute en mode resume) en mode complet HTML
//sql_delete("spip_syndic_articles", "id_syndic=".sql_quote($id_syndic)); // alternative ;)
include_spip('genie/syndic');
$t = syndic_a_jour($id_syndic);
} else {
sql_updateq('spip_syndic',array('rssarticle'=> 'non'),'id_syndic='.intval($id_syndic));
}
$message = array('editable'=>true, 'message_ok'=>_T("rssarticle:site_maj"));
return $message;

312
genie/rssarticle_copie.php

@ -15,167 +15,178 @@ include_spip('inc/chercher_logo');
include_spip('inc/rubriques');
include_spip('inc/config');
function genie_rssarticle_copie_dist($t){
function genie_rssarticle_copie_dist($t){
// configuration (ou valeurs par defaut)
if (lire_config('rssarticle/import_statut')=="publie") $import_statut="publie"; else $import_statut="prop";
if (lire_config('rssarticle/mode')=="auto") $mode_auto=true; else $mode_auto=false;
if (lire_config('rssarticle/email_alerte')=="on") $email_alerte=true; else $email_alerte=false;
if (lire_config('rssarticle/copie_logo')=="on") $copie_logo=true; else $copie_logo=false;
if (lire_config('rssarticle/html2spip')=="on") $html2spip=true; else $html2spip=false;
$email_suivi = lire_config('rssarticle/email_suivi');
// autres valeurs
$accepter_forum = substr($GLOBALS['meta']['forums_publics'],0,3);
// principe de pile:
// on boucle sur les derniers articles syndiques pour les retirer ensuite
// bourrin voir les requetes avec jointure du Miroir ou du site Rezo
$log = "";
$log_c = 0;
// boucle sur les sites publies
if ($mode_auto) $u = sql_select("id_syndic,id_rubrique,id_secteur","spip_syndic","statut='publie'"); // tous
else $u = sql_select("id_syndic,id_rubrique,id_secteur","spip_syndic","statut='publie' AND rssarticle='oui'");
while ($b = sql_fetch($u)) {
$id_syndic = (int) $b['id_syndic'];
$id_rubrique = (int) $b['id_rubrique'];
$id_secteur = (int) $b['id_secteur'];
// sur chaque site copie les derniers syndication
$s = sql_select("*", "spip_syndic_articles", "statut='publie' AND id_syndic='$id_syndic'","","maj DESC","10"); // par flot de 10 articles / site pour limiter la charge
while ($a = sql_fetch($s)) {
$titre = $a['titre'];
$url = $a['url'];
$id_syndic_article = $a['id_syndic_article'];
// article avec mm titre existe ? (test doublons sur l'url plutot que sr le titre)
if (!$row = sql_fetsel("id_article","spip_articles","url_site=".sql_quote($url))) {
$texte = $a['descriptif'];
//traitement pour syntaxe SPIP
if($html2spip)
$texte = html2spip($texte);
$lang = $a['lang'];
$url = $a['url'];
$tags = $a['tags'];
$lsDate = $a['date'];
if ($lang=="")
$lang = $GLOBALS['spip_lang'];
// cas particulier:
// site multilingue avec la configuration: 1 lang par rubrique
// on force l'article a avoir la langue de la rubrique ds lequel il est importee(pour omaidi)
if ($GLOBALS['meta']['multi_rubriques']=='oui') {
$s_lang = sql_select("lang", "spip_rubriques", "id_rubrique=$id_rubrique");
while ($a_lang = sql_fetch($s_lang))
$lang = $a_lang['lang'];
}
//$lsDate = date('Y-m-d H:i:s');
// creation de l'article
$id_article = sql_insertq( 'spip_articles', array(
'titre'=>$titre, 'id_rubrique'=>$id_rubrique,
'texte'=>$texte, 'statut'=>$import_statut, 'id_secteur'=>$id_secteur,
'date'=> $lsDate, 'accepter_forum'=>$accepter_forum, 'lang'=>$lang, 'url_site'=>$url));
// lier article et site
sql_insertq( 'spip_articles_syndic', array('id_article'=>$id_article, 'id_syndic'=>$id_syndic));
// gestion auteur
$auteurs= explode(", ",$a['lesauteurs']);
foreach ($auteurs as $k => $auteur) {
if ($current_id_auteur = rssarticle_get_id_auteur($auteur))
sql_insertq( 'spip_auteurs_liens', array('id_auteur'=>$current_id_auteur, 'id_objet'=>$id_article, 'objet'=>'article'));
}
// tags a convertir en documents distants
$doc_distants = extraire_enclosures($tags);
foreach ($doc_distants as $k=>$doc_distant) {
$infos = recuperer_infos_distantes($doc_distant);
if ($infos['extension']) {
$ext = $infos['extension'];
$taille = $infos['tailles'];
$row = sql_fetsel("inclus", "spip_types_documents", "extension=" . sql_quote($ext) . " AND upload='oui'"); // extension autorisee ?
if ($row) {
$id_document = sql_insertq( 'spip_documents', array(
'extension'=>$ext,
'date'=> $lsDate,
'fichier'=> $doc_distant,
'taille'=> $taille,
'mode' => 'document',
'distant' => 'oui'));
sql_insertq( 'spip_documents_liens', array(
'id_document' =>$id_document,
'id_objet'=> $id_article,
'objet'=> 'article',
'vu'=> 'non'));
}
}
}
// logo
if ($copie_logo) {
if ($logo_site = inc_chercher_logo_dist($id_syndic,"id_syndic")) {
$logo_article = "arton$id_article.".$logo_site[3];
@copy($logo_site[0],_DIR_LOGOS."$logo_article");
}
}
$log_c++;
$log .= "\n - $titre";
// on "depublie" l'article syndique qui vient d'etre copie
sql_update("spip_syndic_articles", array('statut' => '"refuse"'), "id_syndic_article=$id_syndic_article");
// configuration (ou valeurs par defaut)
if (lire_config('rssarticle/import_statut')=="publie")
$import_statut="publie";
else
$import_statut="prop";
if (lire_config('rssarticle/mode')=="auto")
$mode_auto=true;
else
$mode_auto=false;
if (lire_config('rssarticle/email_alerte')=="on")
$email_alerte=true;
else
$email_alerte=false;
if (lire_config('rssarticle/copie_logo')=="on")
$copie_logo=true;
else
$copie_logo=false;
if (lire_config('rssarticle/html2spip')=="on")
$html2spip=true;
else
$html2spip=false;
$email_suivi = lire_config('rssarticle/email_suivi');
// autres valeurs
$accepter_forum = substr($GLOBALS['meta']['forums_publics'],0,3);
// principe de pile:
// on boucle sur les derniers articles syndiques pour les retirer ensuite
// bourrin voir les requetes avec jointure du Miroir ou du site Rezo
$log = "";
$log_c = 0;
// boucle sur les sites publies
if ($mode_auto)
$u = sql_select("id_syndic,id_rubrique,id_secteur","spip_syndic","statut='publie'"); // tous
else
$u = sql_select("id_syndic,id_rubrique,id_secteur","spip_syndic","statut='publie' AND rssarticle='oui'");
while ($b = sql_fetch($u)) {
$id_syndic = (int) $b['id_syndic'];
$id_rubrique = (int) $b['id_rubrique'];
$id_secteur = (int) $b['id_secteur'];
// sur chaque site copie les derniers syndication
$s = sql_select("*", "spip_syndic_articles", "statut='publie' AND id_syndic='$id_syndic'","","maj DESC","10"); // par flot de 10 articles / site pour limiter la charge
while ($a = sql_fetch($s)) {
$titre = $a['titre'];
$url = $a['url'];
$id_syndic_article = $a['id_syndic_article'];
// article avec mm titre existe ? (test doublons sur l'url plutot que sr le titre)
if (!$id_article = sql_getfetsel("id_article","spip_articles","url_site=".sql_quote($url))) {
$texte = $a['descriptif'];
//traitement pour syntaxe SPIP
if($html2spip)
$texte = html2spip($texte);
$lang = $a['lang'];
$url = $a['url'];
$tags = $a['tags'];
$lsdate = $a['date'];
if ($lang=="")
$lang = $GLOBALS['spip_lang'];
// cas particulier:
// site multilingue avec la configuration: 1 lang par rubrique
// on force l'article a avoir la langue de la rubrique ds lequel il est importee(pour omaidi)
if ($GLOBALS['meta']['multi_rubriques']=='oui') {
$s_lang = sql_select("lang", "spip_rubriques", "id_rubrique=$id_rubrique");
while ($a_lang = sql_fetch($s_lang))
$lang = $a_lang['lang'];
}
//$lsdate = date('Y-m-d H:i:s');
// creation de l'article
$id_article = sql_insertq( 'spip_articles', array(
'titre'=>$titre, 'id_rubrique'=>$id_rubrique,
'texte'=>$texte, 'statut'=>$import_statut, 'id_secteur'=>$id_secteur,
'date'=> $lsdate, 'accepter_forum'=>$accepter_forum, 'lang'=>$lang, 'url_site'=>$url));
// lier article et site
sql_insertq( 'spip_articles_syndic', array('id_article'=>$id_article, 'id_syndic'=>$id_syndic));
// gestion auteur
$auteurs= explode(", ",$a['lesauteurs']);
foreach ($auteurs as $k => $auteur) {
if ($current_id_auteur = rssarticle_get_id_auteur($auteur))
sql_insertq( 'spip_auteurs_liens', array('id_auteur'=>$current_id_auteur, 'id_objet'=>$id_article, 'objet'=>'article'));
}
// tags a convertir en documents distants
$doc_distants = extraire_enclosures($tags);
foreach ($doc_distants as $k=>$doc_distant) {
$infos = recuperer_infos_distantes($doc_distant);
if ($infos['extension']) {
$ext = $infos['extension'];
$taille = $infos['tailles'];
$inclus = sql_getfetsel("inclus", "spip_types_documents", "extension=" . sql_quote($ext) . " AND upload='oui'"); // extension autorisee ?
if ($inclus) {
$id_document = sql_insertq( 'spip_documents', array(
'extension'=>$ext,
'date'=> $lsdate,
'fichier'=> $doc_distant,
'taille'=> $taille,
'mode' => 'document',
'distant' => 'oui'));
sql_insertq( 'spip_documents_liens', array(
'id_document' =>$id_document,
'id_objet'=> $id_article,
'objet'=> 'article',
'vu'=> 'non'));
}
}
}
// logo
if ($copie_logo) {
if ($logo_site = inc_chercher_logo_dist($id_syndic,"id_syndic")) {
$logo_article = "arton$id_article.".$logo_site[3];
@copy($logo_site[0],_DIR_LOGOS."$logo_article");
}
}
$log_c++;
$log .= "\n - $titre";
// on "depublie" l'article syndique qui vient d'etre copie
sql_update("spip_syndic_articles", array('statut' => '"refuse"'), "id_syndic_article=".intval($id_syndic_article));
// Mise à jour des dates de rubriques après création d'un article dedans
if ($id_article) {
if (function_exists('calculer_rubriques'))
calculer_rubriques();
if (function_exists('calculer_langues_rubriques'))
calculer_langues_rubriques();
if (function_exists('propager_les_secteurs'))
propager_les_secteurs();
}
} // test doublons
}
} // FIN PILE
// Mise à jour des dates de rubriques après création d'un article dedans
if ($id_article) {
if (function_exists('calculer_rubriques'))
calculer_rubriques();
if (function_exists('calculer_langues_rubriques'))
calculer_langues_rubriques();
if (function_exists('propager_les_secteurs'))
propager_les_secteurs();
}
} // test doublons
}
} // FIN PILE
// log et alerte email
$log .= "\n\n---------\nPlugin Copie RSS en Articles: $log_c articles copies\n";
spip_log($log);
$log .= $GLOBALS['meta']['adresse_site']."/ecrire/?exec=accueil";
if ($email_alerte && $email_suivi !="" && $log_c > 0)
envoyer_mail($email_suivi,"Copie RSS en Articles", $log);
$log .= "\n\n---------\nPlugin Copie RSS en Articles: $log_c articles copies\n";
spip_log($log);
$log .= $GLOBALS['meta']['adresse_site']."/ecrire/?exec=accueil";
if ($email_alerte && $email_suivi !="" && $log_c > 0)
envoyer_mail($email_suivi,"Copie RSS en Articles", $log);
// maintenance generale
// mode auto: on efface les syndic_articles de plus de 2 mois pour soulager le systeme (cf genie/syndic)
// attention: on efface sur l'ensemble des sites syndiques ss tenir compte de l'option
// mode auto: on efface les syndic_articles de plus de 2 mois pour soulager le systeme (cf genie/syndic)
// attention: on efface sur l'ensemble des sites syndiques ss tenir compte de l'option
if ($mode_auto) sql_delete('spip_syndic_articles', "maj < DATE_SUB(NOW(), INTERVAL 2 MONTH) AND date < DATE_SUB(NOW(), INTERVAL 2 MONTH)");
return 1;
}
//
// recupere id d'un auteur selon son nom sinon le creer
function rssarticle_get_id_auteur($nom) {
if (trim($nom)=="")
return false;
if ($row = sql_fetsel(array("id_auteur"),"spip_auteurs","nom=".sql_quote($nom)))
return $row['id_auteur'];
function rssarticle_get_id_auteur($nom) {
if (trim($nom)=="")
return false;
if ($id_auteur = sql_getfetsel("id_auteur","spip_auteurs","nom=".sql_quote($nom)))
return $id_auteur;
// auteur inconnu, on le cree ...
return sql_insertq('spip_auteurs',array('nom'=>$nom,'statut'=>'1comite'));
// auteur inconnu, on le cree ...
return sql_insertq('spip_auteurs',array('nom'=>$nom,'statut'=>'1comite'));
}
//
@ -196,7 +207,7 @@ function extraire_enclosures($tags) {
*
* Nettoyer l'utf-8 et ses accents
*
**/
*/
function clean_utf8($t) {
if (!preg_match('!\S!u', $t))
$t = preg_replace_callback(',&#x([0-9a-f]+);,i', 'utf8_do', utf8_encode(utf8_decode($t)));
@ -234,7 +245,6 @@ function html2spip($lapage){
// images (cf ressource)
$lapage = preg_replace(",<img[ \t\n\r][^<>]*src=[^<>]*(http[^<>'\"]*)[^<>]*>,uims","[img]\\1[//img]", $lapage);
// intertitres
$lapage = preg_replace(",<(h[1-3])( [^>]*)?".">(.+)</\\1>,Uims", "\r{{{ \\3 }}}\r", $lapage);
// tableaux

44
lang/rssarticle_ar.php

@ -1,37 +1,37 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
if (!defined("_ECRIRE_INC_VERSION")) return;
$GLOBALS[$GLOBALS['idx_lang']] = array(
// A
'article_origine' => '&#1607;&#1584;&#1575; &#1575;&#1604;&#1605;&#1602;&#1575;&#1604; &#1605;&#1606;&#1602;&#1608;&#1604; &#1593;&#1606; &#1605;&#1608;&#1602;&#1593;',
'activer_recopie_intro' => '&#1578;&#1583;&#1601;&#1602; RSS &#1575;&#1604;&#1609; &#1575;&#1604;&#1605;&#1602;&#1575;&#1604;&#1575;&#1578;',
'activer_recopie' => '&#1606;&#1587;&#1582; &#1575;&#1604;&#1605;&#1602;&#1575;&#1604;&#1575;&#1578; &#1575;&#1604;&#1606;&#1575;&#1578;&#1581;&#1577; &#1593;&#1606; &#1578;&#1583;&#1601;&#1602; RSS &#1575;&#1604;&#1609; &#1605;&#1602;&#1575;&#1604;&#1575;&#1578; SPIP',
// A
'article_origine' => '&#1607;&#1584;&#1575; &#1575;&#1604;&#1605;&#1602;&#1575;&#1604; &#1605;&#1606;&#1602;&#1608;&#1604; &#1593;&#1606; &#1605;&#1608;&#1602;&#1593;',
'activer_recopie_intro' => '&#1578;&#1583;&#1601;&#1602; RSS &#1575;&#1604;&#1609; &#1575;&#1604;&#1605;&#1602;&#1575;&#1604;&#1575;&#1578;',
'activer_recopie' => '&#1606;&#1587;&#1582; &#1575;&#1604;&#1605;&#1602;&#1575;&#1604;&#1575;&#1578; &#1575;&#1604;&#1606;&#1575;&#1578;&#1581;&#1577; &#1593;&#1606; &#1578;&#1583;&#1601;&#1602; RSS &#1575;&#1604;&#1609; &#1605;&#1602;&#1575;&#1604;&#1575;&#1578; SPIP',
// C
'citer_source' => '&#1603;&#1585; &#1575;&#1604;&#1605;&#1589;&#1583;&#1585;',
'citer_source_oui' => '&#1584;&#1603;&#1585; &#1593;&#1606;&#1608;&#1575;&#1606; &#1575;&#1604;&#1605;&#1602;&#1575;&#1604; &#1575;&#1604;&#1605;&#1589;&#1583;&#1585; &#1601;&#1610; &#1575;&#1604;&#1605;&#1602;&#1575;&#1604; &#1575;&#1604;&#1605;&#1587;&#1578;&#1608;&#1585;&#1583;',
'copie_logo' => '&#1606;&#1587;&#1582; &#1588;&#1593;&#1575;&#1585; &#1575;&#1604;&#1605;&#1608;&#1602;&#1593; &#1608;&#1580;&#1593;&#1604;&#1607; &#1587;&#1593;&#1575;&#1585; &#1575;&#1604;&#1605;&#1602;&#1575;&#1604;',
// C
'citer_source' => '&#1603;&#1585; &#1575;&#1604;&#1605;&#1589;&#1583;&#1585;',
'citer_source_oui' => '&#1584;&#1603;&#1585; &#1593;&#1606;&#1608;&#1575;&#1606; &#1575;&#1604;&#1605;&#1602;&#1575;&#1604; &#1575;&#1604;&#1605;&#1589;&#1583;&#1585; &#1601;&#1610; &#1575;&#1604;&#1605;&#1602;&#1575;&#1604; &#1575;&#1604;&#1605;&#1587;&#1578;&#1608;&#1585;&#1583;',
'copie_logo' => '&#1606;&#1587;&#1582; &#1588;&#1593;&#1575;&#1585; &#1575;&#1604;&#1605;&#1608;&#1602;&#1593; &#1608;&#1580;&#1593;&#1604;&#1607; &#1587;&#1593;&#1575;&#1585; &#1575;&#1604;&#1605;&#1602;&#1575;&#1604;',
// S
'statut_article_importe' => '&#1608;&#1590;&#1593;&#1610;&#1577; &#1575;&#1604;&#1605;&#1602;&#1575;&#1604;&#1575;&#1578; &#1575;&#1604;&#1605;&#1587;&#1578;&#1608;&#1585;&#1583;&#1577;',
'suivi_syndic' => '&#1605;&#1578;&#1575;&#1576;&#1593;&#1577; &#1575;&#1604;&#1578;&#1585;&#1582;&#1610;&#1589;',
// S
'statut_article_importe' => '&#1608;&#1590;&#1593;&#1610;&#1577; &#1575;&#1604;&#1605;&#1602;&#1575;&#1604;&#1575;&#1578; &#1575;&#1604;&#1605;&#1587;&#1578;&#1608;&#1585;&#1583;&#1577;',
'suivi_syndic' => '&#1605;&#1578;&#1575;&#1576;&#1593;&#1577; &#1575;&#1604;&#1578;&#1585;&#1582;&#1610;&#1589;',
// E
'email_alerte' => '&#1573;&#1606;&#1584;&#1575;&#1585; &#1576;&#1575;&#1604;&#1576;&#1585;&#1610;&#1583; &#1575;&#1604;&#1573;&#1604;&#1603;&#1578;&#1585;&#1608;&#1606;&#1610; &#1593;&#1606;&#1583; &#1603;&#1604; &#1578;&#1585;&#1582;&#1610;&#1589; &#1601;&#1610; &#1605;&#1602;&#1575;&#1604;&#1567;',
'email_alerte_email' => '&#1601;&#1610; &#1581;&#1575;&#1604; &#1575;&#1604;&#1605;&#1608;&#1575;&#1601;&#1602;&#1577;&#1548; &#1593;&#1604;&#1609; &#1571;&#1610; &#1593;&#1606;&#1608;&#1575;&#1606; &#1610;&#1578;&#1605; &#1573;&#1585;&#1587;&#1575;&#1604; &#1575;&#1604;&#1573;&#1606;&#1584;&#1575;&#1585;&#1567;',
// E
'email_alerte' => '&#1573;&#1606;&#1584;&#1575;&#1585; &#1576;&#1575;&#1604;&#1576;&#1585;&#1610;&#1583; &#1575;&#1604;&#1573;&#1604;&#1603;&#1578;&#1585;&#1608;&#1606;&#1610; &#1593;&#1606;&#1583; &#1603;&#1604; &#1578;&#1585;&#1582;&#1610;&#1589; &#1601;&#1610; &#1605;&#1602;&#1575;&#1604;&#1567;',
'email_alerte_email' => '&#1601;&#1610; &#1581;&#1575;&#1604; &#1575;&#1604;&#1605;&#1608;&#1575;&#1601;&#1602;&#1577;&#1548; &#1593;&#1604;&#1609; &#1571;&#1610; &#1593;&#1606;&#1608;&#1575;&#1606; &#1610;&#1578;&#1605; &#1573;&#1585;&#1587;&#1575;&#1604; &#1575;&#1604;&#1573;&#1606;&#1584;&#1575;&#1585;&#1567;',
// I
'install_rssarticle' => '&#1573;&#1606;&#1588;&#1575;&#1569; &#1580;&#1583;&#1608;&#1604; spip_articles_syndic',
// I
'install_rssarticle' => '&#1573;&#1606;&#1588;&#1575;&#1569; &#1580;&#1583;&#1608;&#1604; spip_articles_syndic',
// M
'mode' => '&#1608;&#1590;&#1593;&#1610;&#1577; &#1575;&#1604;&#1578;&#1588;&#1594;&#1610;&#1604;',
'mode_auto' => '&#1575;&#1604;&#1608;&#1590;&#1593;&#1610;&#1577; &#1575;&#1604;&#1570;&#1604;&#1610;&#1577;: &#1606;&#1587;&#1582; &#1603;&#1604; &#1575;&#1604;&#1605;&#1608;&#1575;&#1602;&#1593; &#1575;&#1604;&#1605;&#1576;&#1608;&#1576;&#1577; &#1603;&#1605;&#1602;&#1575;&#1604;&#1575;&#1578;',
'mode_manuel' => '&#1575;&#1604;&#1608;&#1590;&#1593;&#1610;&#1577; &#1575;&#1604;&#1610;&#1583;&#1608;&#1610;&#1577;: &#1578;&#1581;&#1583;&#1583; &#1610;&#1583;&#1608;&#1610;&#1575;&#1611; &#1575;&#1604;&#1605;&#1608;&#1575;&#1602;&#1593; &#1575;&#1604;&#1605;&#1576;&#1608;&#1576;&#1577; &#1575;&#1604;&#1578;&#1610; &#1578;&#1585;&#1610;&#1583; &#1606;&#1587;&#1582;&#1607;&#1575; &#1603;&#1605;&#1602;&#1575;&#1604;&#1575;&#1578;'
// M
'mode' => '&#1608;&#1590;&#1593;&#1610;&#1577; &#1575;&#1604;&#1578;&#1588;&#1594;&#1610;&#1604;',
'mode_auto' => '&#1575;&#1604;&#1608;&#1590;&#1593;&#1610;&#1577; &#1575;&#1604;&#1570;&#1604;&#1610;&#1577;: &#1606;&#1587;&#1582; &#1603;&#1604; &#1575;&#1604;&#1605;&#1608;&#1575;&#1602;&#1593; &#1575;&#1604;&#1605;&#1576;&#1608;&#1576;&#1577; &#1603;&#1605;&#1602;&#1575;&#1604;&#1575;&#1578;',
'mode_manuel' => '&#1575;&#1604;&#1608;&#1590;&#1593;&#1610;&#1577; &#1575;&#1604;&#1610;&#1583;&#1608;&#1610;&#1577;: &#1578;&#1581;&#1583;&#1583; &#1610;&#1583;&#1608;&#1610;&#1575;&#1611; &#1575;&#1604;&#1605;&#1608;&#1575;&#1602;&#1593; &#1575;&#1604;&#1605;&#1576;&#1608;&#1576;&#1577; &#1575;&#1604;&#1578;&#1610; &#1578;&#1585;&#1610;&#1583; &#1606;&#1587;&#1582;&#1607;&#1575; &#1603;&#1605;&#1602;&#1575;&#1604;&#1575;&#1578;'
);
?>

75
lang/rssarticle_fr.php

@ -1,48 +1,47 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
if (!defined("_ECRIRE_INC_VERSION")) return;
$GLOBALS[$GLOBALS['idx_lang']] = array(
// A
'article_origine' => 'Cet article est repris du site',
'activer_recopie_intro' => 'Flux RSS en Articles',
'activer_recopie' => 'Copier les articles issus de ce flux RSS en articles SPIP',
// A
'article_origine' => 'Cet article est repris du site',
'activer_recopie_intro' => 'Flux RSS en Articles',
'activer_recopie' => 'Copier les articles issus de ce flux RSS en articles SPIP',
// C
'citer_source' => 'Citer la source',
'citer_source_oui' => 'Citer l\'URL de l\'article d\'origine dans l\'article import&eacute;',
'configuration_rssarticle' => 'Flux RSS en articles',
'copie_logo' => 'Recopier le logo du site comme logo d\'article',
'cron_interval' => 'Fréquence de la copie des flux RSS en articles',
'cron_interval_timer' => 'Intervalle en seconde ',
//R
'html2spip' => 'Passer le HTML en syntaxe SPIP. Utilisez le plugin "ressource" pour afficher ensuite les images.',
// C
'citer_source' => 'Citer la source',
'citer_source_oui' => 'Citer l\'URL de l\'article d\'origine dans l\'article import&eacute;',
'configuration_rssarticle' => 'Flux RSS en articles',
'copie_logo' => 'Recopier le logo du site comme logo d\'article',
'cron_interval' => 'Fréquence de la copie des flux RSS en articles',
'cron_interval_timer' => 'Intervalle en seconde ',
//R
'html2spip' => 'Passer le HTML en syntaxe SPIP. Utilisez le plugin "ressource" pour afficher ensuite les images.',
// S
'statut_article_importe' => 'Statut des articles import&eacute;s',
'suivi_syndic' => 'Suivi de la syndication',
'site_maj' => 'Option enregistrée',
// E
'email_alerte' => 'Pr&eacute;venir par email &agrave; chaque nouvelle syndication en articles ?',
'email_alerte_email' => 'Si oui, sur quel email ? ',
// I
'install_rssarticle' => 'Cr&eacute;ation de la table spip_articles_syndic',
// M
'maj_manuelle' => 'La copie manuelle des derniers flux RSS en articles a été effectuée',
'maj_recharge' => 'Relancer la copie manuelle',
'mode' => 'Mode de fonctionnement',
'mode_auto' => 'Mode automatique: tous les sites r&eacute;f&eacute;renc&eacute;s sont recopi&eacute;s en articles',
'mode_manuel' => 'Mode manuel: vous selectionnez manuellement les sites r&eacute;f&eacute;renc&eacute;s qui doivent être recopi&eacute;s en articles',
// T
'titre_page_configurer_rssarticle' => 'Copie RSS en articles'
// S
'statut_article_importe' => 'Statut des articles import&eacute;s',
'suivi_syndic' => 'Suivi de la syndication',
'site_maj' => 'Option enregistrée',
// E
'email_alerte' => 'Pr&eacute;venir par email &agrave; chaque nouvelle syndication en articles ?',
'email_alerte_email' => 'Si oui, sur quel email ? ',
// I
'install_rssarticle' => 'Cr&eacute;ation de la table spip_articles_syndic',
// M
'maj_manuelle' => 'La copie manuelle des derniers flux RSS en articles a été effectuée',
'maj_recharge' => 'Relancer la copie manuelle',
'mode' => 'Mode de fonctionnement',
'mode_auto' => 'Mode automatique: tous les sites r&eacute;f&eacute;renc&eacute;s sont recopi&eacute;s en articles',
'mode_manuel' => 'Mode manuel: vous selectionnez manuellement les sites r&eacute;f&eacute;renc&eacute;s qui doivent être recopi&eacute;s en articles',
// T
'titre_page_configurer_rssarticle' => 'Copie RSS en articles'
);

12
paquet.xml

@ -10,12 +10,12 @@
>
<nom>Flux RSS en articles</nom>
<auteur lien='http://www.erational.org'>erational</auteur>
<auteur>LudoRA</auteur>
<auteur>LudoRA</auteur>
<licence>GNU/GPL v3</licence>
<pipeline nom="declarer_tables_principales" inclure="base/rssarticle.php"/>
<pipeline nom="declarer_tables_interfaces" inclure="base/rssarticle.php"/>
<pipeline nom="declarer_tables_auxiliaires" inclure="base/rssarticle.php"/>
<pipeline nom="taches_generales_cron" inclure="rssarticle_pipelines.php"/>
<pipeline nom="affiche_milieu" inclure="rssarticle_pipelines.php"/>
<pipeline nom="declarer_tables_principales" inclure="base/rssarticle.php"/>
<pipeline nom="declarer_tables_interfaces" inclure="base/rssarticle.php"/>
<pipeline nom="declarer_tables_auxiliaires" inclure="base/rssarticle.php"/>
<pipeline nom="taches_generales_cron" inclure="rssarticle_pipelines.php"/>
<pipeline nom="affiche_milieu" inclure="rssarticle_pipelines.php"/>
<menu nom="configurer_rssarticle" titre="rssarticle:configuration_rssarticle" parent="menu_configuration" icone="images/rssarticle-16.png" />
</paquet>

2
prive/contenu/rssarticle.html

@ -1,3 +1,3 @@
<div class="ajax">
#FORMULAIRE_EDITER_RSSARTICLE{#ID_SYNDIC}
#FORMULAIRE_EDITER_RSSARTICLE{#ID_SYNDIC}
</div>

BIN
prive/themes/spip/images/rssarticle-128.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
prive/themes/spip/images/rssarticle-16.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 981 B

After

Width:  |  Height:  |  Size: 566 B

BIN
prive/themes/spip/images/rssarticle-32.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
prive/themes/spip/images/rssarticle-64.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

57
rssarticle_administrations.php

@ -1,31 +1,32 @@
<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
$GLOBALS['rssarticle_base_version'] = 0.3;
function rssarticle_upgrade(){
$version_base = $GLOBALS['rssarticle_base_version'];
$current_version = 0.0;
if ((!isset($GLOBALS['meta']['rssarticle_base_version']) )
|| (($current_version = $GLOBALS['meta']['rssarticle_base_version'])!=$version_base)){
include_spip('base/rssarticle');
if ($current_version==0.0){
include_spip('base/create');
include_spip('base/abstract_sql');
creer_base();
maj_tables('spip_syndic');
echo "<p>"._T('rssarticle:install_rssarticle')."</p>";
ecrire_meta('rssarticle_base_version',$current_version=$version_base,'non');
}
if (version_compare($current_version,"0.3","<")){
include_spip('base/create');
maj_tables('spip_syndic');
echo "<p>"._T('rssarticle:mise_a_jour_v03')."</p>";
ecrire_meta('rssarticle_base_version',$current_version="0.3",'non');
}
function rssarticle_upgrade(){
$version_base = $GLOBALS['rssarticle_base_version'];
$current_version = 0.0;
if ((!isset($GLOBALS['meta']['rssarticle_base_version']) )
|| (($current_version = $GLOBALS['meta']['rssarticle_base_version'])!=$version_base)){
include_spip('base/rssarticle');
if ($current_version==0.0){
include_spip('base/create');
include_spip('base/abstract_sql');
creer_base();
maj_tables('spip_syndic');
echo "<p>"._T('rssarticle:install_rssarticle')."</p>";
ecrire_meta('rssarticle_base_version',$current_version=$version_base,'non');
}
ecrire_metas();
if (version_compare($current_version,"0.3","<")){
include_spip('base/create');
maj_tables('spip_syndic');
echo "<p>"._T('rssarticle:mise_a_jour_v03')."</p>";
ecrire_meta('rssarticle_base_version',$current_version="0.3",'non');
}
ecrire_metas();
}
}
@ -40,7 +41,7 @@ function rssarticle_install($action){
rssarticle_upgrade();
break;
case 'uninstall':
rssarticle_vider_tables();
rssarticle_vider_tables();
break;
}
}
@ -52,9 +53,9 @@ function rssarticle_install($action){
*/
function rssarticle_vider_tables() {
sql_alter("TABLE spip_syndic DROP rssarticle");
spip_query("DROP TABLE spip_articles_syndic");
effacer_meta('rssarticle_base_version');
ecrire_metas();
sql_alter("TABLE spip_syndic DROP rssarticle");
spip_query("DROP TABLE spip_articles_syndic");
effacer_meta('rssarticle_base_version');
ecrire_metas();
}
?>

62
rssarticle_pipelines.php

@ -3,19 +3,21 @@
* genie / cron
*
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
function rssarticle_taches_generales_cron($taches_generales){
$delai = 60*10; // valeur defaut: ts les 10 min
// si cfg dispo, on charge les valeurs
if (function_exists(lire_config)) {
if (lire_config('rssarticle/cron_interval_value')!="") { // verifier si champs CFG a ete renseigne sur ce plugin (retro-compat)
$delai = intval(lire_config('rssarticle/cron_interval_value'));
if ($delai<10)
$delai=10; // securite pour les valeurs absurdes
}
}
$delai = 60*10; // valeur defaut: ts les 10 min
// si cfg dispo, on charge les valeurs
if (function_exists(lire_config)) {
if (lire_config('rssarticle/cron_interval_value')!="") { // verifier si champs CFG a ete renseigne sur ce plugin (retro-compat)
$delai = intval(lire_config('rssarticle/cron_interval_value'));
if ($delai<10)
$delai=10; // securite pour les valeurs absurdes
}
}
$taches_generales['rssarticle_copie'] = $delai;
return $taches_generales;
}
@ -26,26 +28,22 @@ function rssarticle_taches_generales_cron($taches_generales){
* @param array $flux Le contexte du pipeline
*/
function rssarticle_affiche_milieu($flux) {
if ($flux['args']['exec'] == 'site'){
include_spip('inc/config');
if (lire_config('rssarticle/mode')=="auto") $mode_auto=true; else $mode_auto=false;
if (!$mode_auto) {
$contexte['id_syndic'] = $flux["args"]["id_syndic"];
//$out = debut_cadre_relief(_DIR_PLUGIN_RSSARTICLE."prive/themes/spip/images/rssarticle-32.png", true, '',_T("rssarticle:activer_recopie_intro"));
$out .= "\n<div id='bloc_rssarticle'>";
$out .= "\n". recuperer_fond('prive/contenu/rssarticle',$contexte,array('ajax'=>false));
$out .= "\n</div>";
//$out .= "\n". fin_cadre_relief(true);
if ($p=strpos($flux['data'],'<!--affiche_milieu-->'))
$flux['data'] = substr_replace($flux['data'],$out,$p,0);
}
}
return $flux;
if ($flux['args']['exec'] == 'site'){
include_spip('inc/config');
if (lire_config('rssarticle/mode')=="auto") $mode_auto=true; else $mode_auto=false;
if (!$mode_auto) {
$contexte['id_syndic'] = $flux["args"]["id_syndic"];
//$out = debut_cadre_relief(_DIR_PLUGIN_RSSARTICLE."prive/themes/spip/images/rssarticle-32.png", true, '',_T("rssarticle:activer_recopie_intro"));
$out .= "\n<div id='bloc_rssarticle'>";
$out .= "\n". recuperer_fond('prive/contenu/rssarticle',$contexte,array('ajax'=>false));
$out .= "\n</div>";
//$out .= "\n". fin_cadre_relief(true);
if ($p=strpos($flux['data'],'<!--affiche_milieu-->'))
$flux['data'] = substr_replace($flux['data'],$out,$p,0);
}
}
return $flux;
}
?>
?>
Loading…
Cancel
Save