Changeset 101339 in spip-zone


Ignore:
Timestamp:
Dec 27, 2016, 10:29:08 AM (3 years ago)
Author:
teddy.spip@…
Message:

PSR SPIP.

Location:
_plugins_/alertes/trunk
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/alertes/trunk/action/ajouter_alerte.php

    r81197 r101339  
    77 */
    88
    9 function action_ajouter_alerte_dist(){
    10         $securiser_action = charger_fonction('securiser_action','inc');
     9function action_ajouter_alerte_dist() {
     10        $securiser_action = charger_fonction('securiser_action', 'inc');
    1111        $arg = $securiser_action();
    1212
    13         $arg = explode("-",$arg);
     13        $arg = explode("-", $arg);
    1414        $objet = $arg[0];
    1515        $id_objet = $arg[1];
    16         if (count($arg)>2)
     16        if (count($arg) > 2) {
    1717                $id_auteur = $arg[2];
    18         else
     18        } else {
    1919                $id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
     20        }
    2021
    2122        include_spip('inc/alertes');
     
    2324}
    2425
    25 ?>
  • _plugins_/alertes/trunk/action/supprimer_alerte.php

    r81197 r101339  
    88
    99
    10 function action_supprimer_alerte_dist(){
    11         $securiser_action = charger_fonction('securiser_action','inc');
     10function action_supprimer_alerte_dist() {
     11        $securiser_action = charger_fonction('securiser_action', 'inc');
    1212        $id_alerte = $securiser_action();
    1313
    1414        include_spip('inc/alerte');
    15         alertes_supprimer(array('id_alerte'=>$id_alerte));
     15        alertes_supprimer(array('id_alerte' => $id_alerte));
    1616}
    1717
    18 ?>
  • _plugins_/alertes/trunk/alertes_administrations.php

    r81197 r101339  
    55 *
    66 */
    7  
     7
    88/*** Installation et desinstallation ***/
    9 if (!defined("_ECRIRE_INC_VERSION")) return;
     9if (!defined("_ECRIRE_INC_VERSION")) {
     10        return;
     11}
    1012
    1113/**
     
    1517 * @param string $version_cible
    1618 */
    17 function alertes_upgrade($nom_meta_base_version,$version_cible){
     19function alertes_upgrade($nom_meta_base_version, $version_cible) {
    1820        include_spip('inc/meta');
    1921        $current_version = "0.0.0";
    20         if (   (!isset($GLOBALS['meta'][$nom_meta_base_version]) )
    21                         || (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){
    22                 if (version_compare($current_version,'1.0.1','<')){
     22        if ((!isset($GLOBALS['meta'][$nom_meta_base_version]))
     23                || (($current_version = $GLOBALS['meta'][$nom_meta_base_version]) != $version_cible)
     24        ) {
     25                if (version_compare($current_version, '1.0.1', '<')) {
    2326                        include_spip('base/create');
    2427                        include_spip('base/abstract_sql');
    2528                        include_spip('base/serial');
    26                         creer_ou_upgrader_table("spip_alertes",$GLOBALS['tables_principales']['spip_alertes'],true);
    27                         creer_ou_upgrader_table("spip_alertes_cron",$GLOBALS['tables_principales']['spip_alertes_cron'],true);
     29                        creer_ou_upgrader_table("spip_alertes", $GLOBALS['tables_principales']['spip_alertes'], true);
     30                        creer_ou_upgrader_table("spip_alertes_cron", $GLOBALS['tables_principales']['spip_alertes_cron'], true);
    2831
    29                         ecrire_meta($nom_meta_base_version,$current_version="1.0.1",'non');
     32                        ecrire_meta($nom_meta_base_version, $current_version = "1.0.1", 'non');
    3033                }
    3134        }
     
    4548}
    4649
    47 ?>
  • _plugins_/alertes/trunk/alertes_fonctions.php

    r81197 r101339  
    66 * Fonctions
    77 */
    8 if (!defined('_ECRIRE_INC_VERSION')) return;
     8if (!defined('_ECRIRE_INC_VERSION')) {
     9        return;
     10}
    911
    1012/*** Fonction transformant une liste de valeurs séparées par des virgules en array ***/
    11 function to_array($texte){
     13function to_array($texte) {
    1214        $texte = preg_replace('/\s/', '', trim($texte));
    13         $array = explode(",",$texte);
     15        $array = explode(",", $texte);
     16
    1417        return $array;
    1518}
    16 ?>
     19
  • _plugins_/alertes/trunk/alertes_pipelines.php

    r81373 r101339  
    88 */
    99
    10 if (!defined("_ECRIRE_INC_VERSION")) return;
     10if (!defined("_ECRIRE_INC_VERSION")) {
     11        return;
     12}
    1113
    1214/*** Appel des CSS ***/
    13 function alertes_insert_head_css($flux){
     15function alertes_insert_head_css($flux) {
    1416        $css = find_in_path("css/alertes.css");
    15         $flux .= "<link rel='stylesheet' type='text/css' media='all' href='".direction_css($css)."' />\n";
     17        $flux .= "<link rel='stylesheet' type='text/css' media='all' href='" . direction_css($css) . "' />\n";
     18
    1619        return $flux;
    1720}
     21
    1822/*** Tache CRON pour l'envoie différé des alertes ***/
    19 function alertes_taches_generales_cron($taches_generales){
     23function alertes_taches_generales_cron($taches_generales) {
    2024        //Récuperation de la configuration
    2125        $a = @unserialize($GLOBALS['meta']['config_alertes']);
    22         if(is_array($a) AND intval($a['intervalle_cron']) > 1){
    23                 $taches_generales['alertes'] = 60 * intval($a['intervalle_cron']); // toutes les X minutes
     26        if (is_array($a) AND intval($a['intervalle_cron']) > 1) {
     27                $taches_generales['alertes'] = 60*intval($a['intervalle_cron']); // toutes les X minutes
    2428        }
     29
    2530        return $taches_generales;
    2631}
     32
    2733/*** Alertes : envoie d'email lors de la publication d'un article ***/
    2834function alertes_notifications_destinataires($flux) {
     
    3440        //Est-ce que Accès restreint est activé ?
    3541        $plugins = @unserialize($GLOBALS['meta']['plugin']);
    36         if(is_array($plugins['ACCESRESTREINT'])){
     42        if (is_array($plugins['ACCESRESTREINT'])) {
    3743                $acces_restreint = true;
    38         }else{
     44        } else {
    3945                $acces_restreint = false;
    4046        }
    4147        //Publication d'article : à ajouter aux alertes des abonnés
    42         if ($quoi=='instituerarticle' AND $options['statut'] == 'publie' AND is_array($a)){
     48        if ($quoi == 'instituerarticle' AND $options['statut'] == 'publie' AND is_array($a)) {
    4349                //Seulement si alertes actives
    44                 if($a['activer_alertes'] == 'oui'){
     50                if ($a['activer_alertes'] == 'oui') {
    4551                        $emails = array();
    46                         $id_article = $flux['args']['id'];               
     52                        $id_article = $flux['args']['id'];
    4753                        include_spip('base/abstract_sql');
    4854                        //Mots clefs abonnables
    49                         if($a['groupes']){
    50                                 $mots = sql_select('mot.id_mot, mot.id_groupe','spip_mots AS mot, spip_mots_liens AS ma','ma.id_objet = '.$id_article.' AND ma.objet ="article" AND ma.id_mot = mot.id_mot AND mot.id_groupe IN('.$a['groupes'].')');
    51                                 while ($mot = sql_fetch($mots)){               
     55                        if ($a['groupes']) {
     56                                $mots = sql_select('mot.id_mot, mot.id_groupe', 'spip_mots AS mot, spip_mots_liens AS ma',
     57                                        'ma.id_objet = ' . $id_article . ' AND ma.objet ="article" AND ma.id_mot = mot.id_mot AND mot.id_groupe IN(' . $a['groupes'] . ')');
     58                                while ($mot = sql_fetch($mots)) {
    5259                                        //Qui est abonné à ce mot ?
    53                                         $abonnes = sql_select('id_auteur', 'spip_alertes', 'id_objet = '.$mot['id_mot'].' AND objet = "mot"');
    54                                         while($abonne = sql_fetch($abonnes)){
     60                                        $abonnes = sql_select('id_auteur', 'spip_alertes',
     61                                                'id_objet = ' . $mot['id_mot'] . ' AND objet = "mot"');
     62                                        while ($abonne = sql_fetch($abonnes)) {
    5563                                                //L'auteur existe-t-il et a-t-il un email ?
    56                                                 if($verif = sql_select('id_auteur, email', 'spip_auteurs', 'id_auteur= '.$abonne['id_auteur'])){
    57                                                         while($v = sql_fetch($verif)){
    58                                                                 if( ($v['email'])&&($v['id_auteur']) ){
    59                                                                         if($acces_restreint == true){           
     64                                                if ($verif = sql_select('id_auteur, email', 'spip_auteurs',
     65                                                        'id_auteur= ' . $abonne['id_auteur'])
     66                                                ) {
     67                                                        while ($v = sql_fetch($verif)) {
     68                                                                if (($v['email']) && ($v['id_auteur'])) {
     69                                                                        if ($acces_restreint == true) {
    6070                                                                                $article_accessible = false; // On bloque de base puis on vérifie
    6171                                                                                //Recuperation des zones de l'auteur
    62                                                                                 if($zones = sql_select("id_zone", "spip_zones_liens", "id_objet = ".$abonne['id_auteur']." AND objet='auteur'")){
    63                                                                                         while($z = sql_fetch($zones)){
     72                                                                                if ($zones = sql_select("id_zone", "spip_zones_liens",
     73                                                                                        "id_objet = " . $abonne['id_auteur'] . " AND objet='auteur'")
     74                                                                                ) {
     75                                                                                        while ($z = sql_fetch($zones)) {
    6476                                                                                                //Pour chacunes des zones de l'auteur, on regarde si l'article est dans une des rubriques auxquelles il a accès
    65                                                                                                 if($restrict = sql_select("*","spip_articles AS art, spip_zones_liens AS zo","id_zone = ".$z['id_zone']." AND zo.objet='rubrique' AND art.id_article = ".$id_article." AND art.id_rubrique = zo.id_objet")){
    66                                                                                                         while($r = sql_fetch($restrict)){
     77                                                                                                if ($restrict = sql_select("*",
     78                                                                                                        "spip_articles AS art, spip_zones_liens AS zo",
     79                                                                                                        "id_zone = " . $z['id_zone'] . " AND zo.objet='rubrique' AND art.id_article = " . $id_article . " AND art.id_rubrique = zo.id_objet")
     80                                                                                                ) {
     81                                                                                                        while ($r = sql_fetch($restrict)) {
    6782                                                                                                                $article_accessible = true; //Dès qu'on a une zone accessible, on passe à true
    6883                                                                                                        }
     
    7085                                                                                        }
    7186                                                                                }
    72                                                                         }else{
     87                                                                        } else {
    7388                                                                                $article_accessible = true; // Sans accès restreint, c'est bon de base.
    7489                                                                        }
    7590                                                                        //Email, on stocke pour envoi, ssi l'article n'est pas restreint pour cet auteur
    76                                                                         if($article_accessible == true){
     91                                                                        if ($article_accessible == true) {
    7792                                                                                $emails[$v['id_auteur']] = $v['email']; //A voir si ça évite les doublons
    7893                                                                        }
    7994                                                                }
    80                                                                 if( (!$v['email'])||($v['email'] == '') ){
     95                                                                if ((!$v['email']) || ($v['email'] == '')) {
    8196                                                                        //Pas d'email, on enlève des listes
    82                                                                                         if($del = sql_delete('spip_alertes', 'id_auteur='.$v['id_auteur'])){
    83                                                                                                 spip_log('Effacement des auteurs sans emails le '.date('Y-m-d H:i:s'), 'alertes'._LOG_INFO);
    84                                                                                         }                                       
    85                                                                 }
    86                                                         }
    87                                                 }else{
     97                                                                        if ($del = sql_delete('spip_alertes', 'id_auteur=' . $v['id_auteur'])) {
     98                                                                                spip_log('Effacement des auteurs sans emails le ' . date('Y-m-d H:i:s'),
     99                                                                                        'alertes' . _LOG_INFO);
     100                                                                        }
     101                                                                }
     102                                                        }
     103                                                } else {
    88104                                                        //Retrait de l'auteur introuvable
    89                                                         if($del = sql_delete('spip_alertes', 'id_auteur='.$abonne['id_auteur'])){
    90                                                                 spip_log('Effacer des auteurs sans ID le '.date('Y-m-d H:i:s'), 'alertes'._LOG_INFO);
     105                                                        if ($del = sql_delete('spip_alertes', 'id_auteur=' . $abonne['id_auteur'])) {
     106                                                                spip_log('Effacer des auteurs sans ID le ' . date('Y-m-d H:i:s'),
     107                                                                        'alertes' . _LOG_INFO);
    91108                                                        }
    92109                                                }
     
    95112                        }
    96113                        //Fin Mots-clefs abonnables
    97                        
     114
    98115                        //Secteurs abonnables
    99                         if($a['secteurs']){
    100                                 $secteurs = sql_select('id_secteur','spip_articles','id_article = '.$id_article.'  AND id_secteur IN('.$a['secteurs'].')');
    101                                 while ($secteur = sql_fetch($secteurs)){               
     116                        if ($a['secteurs']) {
     117                                $secteurs = sql_select('id_secteur', 'spip_articles',
     118                                        'id_article = ' . $id_article . '  AND id_secteur IN(' . $a['secteurs'] . ')');
     119                                while ($secteur = sql_fetch($secteurs)) {
    102120                                        //Qui est abonné à ce secteur ?
    103                                         $abonnes = sql_select('id_auteur', 'spip_alertes', 'id_objet = '.$secteur['id_secteur'].' AND objet = "secteur"');
    104                                         while($abonne = sql_fetch($abonnes)){
     121                                        $abonnes = sql_select('id_auteur', 'spip_alertes',
     122                                                'id_objet = ' . $secteur['id_secteur'] . ' AND objet = "secteur"');
     123                                        while ($abonne = sql_fetch($abonnes)) {
    105124                                                //L'auteur existe-t-il et a-t-il un email ?
    106                                                 if($verif = sql_select('id_auteur, email', 'spip_auteurs', 'id_auteur= '.$abonne['id_auteur'])){
    107                                                         while($v = sql_fetch($verif)){
    108                                                                 if( ($v['email'])&&($v['id_auteur']) ){
    109                                                                         if($acces_restreint == true){           
     125                                                if ($verif = sql_select('id_auteur, email', 'spip_auteurs',
     126                                                        'id_auteur= ' . $abonne['id_auteur'])
     127                                                ) {
     128                                                        while ($v = sql_fetch($verif)) {
     129                                                                if (($v['email']) && ($v['id_auteur'])) {
     130                                                                        if ($acces_restreint == true) {
    110131                                                                                $article_accessible = false; // On bloque de base puis on vérifie
    111132                                                                                //Recuperation des zones de l'auteur
    112                                                                                 if($zones = sql_select("id_zone", "spip_zones_liens", "id_objet = ".$abonne['id_auteur']." AND objet='auteur'")){
    113                                                                                         while($z = sql_fetch($zones)){
     133                                                                                if ($zones = sql_select("id_zone", "spip_zones_liens",
     134                                                                                        "id_objet = " . $abonne['id_auteur'] . " AND objet='auteur'")
     135                                                                                ) {
     136                                                                                        while ($z = sql_fetch($zones)) {
    114137                                                                                                //Pour chacunes des zones de l'auteur, on regarde si l'article est dans une des rubriques auxquelles il a accès
    115                                                                                                 if($restrict = sql_select("*","spip_articles AS art, spip_zones_liens AS zo","id_zone = ".$z['id_zone']." AND zo.objet='rubrique' AND art.id_article = ".$id_article." AND art.id_rubrique = zo.id_objet")){
    116                                                                                                         while($r = sql_fetch($restrict)){
     138                                                                                                if ($restrict = sql_select("*",
     139                                                                                                        "spip_articles AS art, spip_zones_liens AS zo",
     140                                                                                                        "id_zone = " . $z['id_zone'] . " AND zo.objet='rubrique' AND art.id_article = " . $id_article . " AND art.id_rubrique = zo.id_objet")
     141                                                                                                ) {
     142                                                                                                        while ($r = sql_fetch($restrict)) {
    117143                                                                                                                $article_accessible = true; //Dès qu'on a une zone accessible, on passe à true
    118144                                                                                                        }
     
    120146                                                                                        }
    121147                                                                                }
    122                                                                         }else{
     148                                                                        } else {
    123149                                                                                $article_accessible = true; // Sans accès restreint, c'est bon de base.
    124150                                                                        }
    125151                                                                        //Email, on stocke pour envoi, ssi l'article n'est pas restreint pour cet auteur
    126                                                                         if($article_accessible == true){
     152                                                                        if ($article_accessible == true) {
    127153                                                                                $emails[$v['id_auteur']] = $v['email']; //A voir si ça évite les doublons
    128154                                                                        }
    129155                                                                }
    130                                                                 if( (!$v['email'])||($v['email'] == '') ){
     156                                                                if ((!$v['email']) || ($v['email'] == '')) {
    131157                                                                        //Pas d'email, on enlève des listes
    132                                                                                         if($del = sql_delete('spip_alertes', 'id_auteur='.$v['id_auteur'])){
    133                                                                                                 spip_log('Effacer des auteurs sans email le '.date('Y-m-d H:i:s'), 'alertes'._LOG_INFO);
    134                                                                                         }                                       
    135                                                                 }
    136                                                         }
    137                                                 }else{
     158                                                                        if ($del = sql_delete('spip_alertes', 'id_auteur=' . $v['id_auteur'])) {
     159                                                                                spip_log('Effacer des auteurs sans email le ' . date('Y-m-d H:i:s'),
     160                                                                                        'alertes' . _LOG_INFO);
     161                                                                        }
     162                                                                }
     163                                                        }
     164                                                } else {
    138165                                                        //Retrait de l'auteur introuvable
    139                                                         if($del = sql_delete('spip_alertes', 'id_auteur='.$abonne['id_auteur'])){
    140                                                                 spip_log('Effacer des auteurs sans ID le '.date('Y-m-d H:i:s'), 'alertes'._LOG_INFO);
     166                                                        if ($del = sql_delete('spip_alertes', 'id_auteur=' . $abonne['id_auteur'])) {
     167                                                                spip_log('Effacer des auteurs sans ID le ' . date('Y-m-d H:i:s'),
     168                                                                        'alertes' . _LOG_INFO);
    141169                                                        }
    142170                                                }
     
    145173                        }
    146174                        //Fin secteurs abonnables
    147                        
     175
    148176                        //Rubriques abonnables
    149                         if($a['rubriques']){
    150                                 $rubriques = sql_select('id_rubrique','spip_articles','id_article = '.$id_article.'  AND id_rubrique IN('.$a['rubriques'].')');
    151                                 while ($rubrique = sql_fetch($rubriques)){             
     177                        if ($a['rubriques']) {
     178                                $rubriques = sql_select('id_rubrique', 'spip_articles',
     179                                        'id_article = ' . $id_article . '  AND id_rubrique IN(' . $a['rubriques'] . ')');
     180                                while ($rubrique = sql_fetch($rubriques)) {
    152181                                        //Qui est abonné à cette rubrique ?
    153                                         $abonnes = sql_select('id_auteur', 'spip_alertes', 'id_objet = '.$rubrique['id_rubrique'].' AND objet = "rubrique"');
    154                                         while($abonne = sql_fetch($abonnes)){
     182                                        $abonnes = sql_select('id_auteur', 'spip_alertes',
     183                                                'id_objet = ' . $rubrique['id_rubrique'] . ' AND objet = "rubrique"');
     184                                        while ($abonne = sql_fetch($abonnes)) {
    155185                                                //L'auteur existe-t-il et a-t-il un email ?
    156                                                 if($verif = sql_select('id_auteur, email', 'spip_auteurs', 'id_auteur= '.$abonne['id_auteur'])){
    157                                                         while($v = sql_fetch($verif)){
    158                                                                 if( ($v['email'])&&($v['id_auteur']) ){
    159                                                                         if($acces_restreint == true){           
     186                                                if ($verif = sql_select('id_auteur, email', 'spip_auteurs',
     187                                                        'id_auteur= ' . $abonne['id_auteur'])
     188                                                ) {
     189                                                        while ($v = sql_fetch($verif)) {
     190                                                                if (($v['email']) && ($v['id_auteur'])) {
     191                                                                        if ($acces_restreint == true) {
    160192                                                                                $article_accessible = false; // On bloque de base puis on vérifie
    161193                                                                                //Recuperation des zones de l'auteur
    162                                                                                 if($zones = sql_select("id_zone", "spip_zones_liens", "id_objet = ".$abonne['id_auteur']." AND objet='auteur'")){
    163                                                                                         while($z = sql_fetch($zones)){
     194                                                                                if ($zones = sql_select("id_zone", "spip_zones_liens",
     195                                                                                        "id_objet = " . $abonne['id_auteur'] . " AND objet='auteur'")
     196                                                                                ) {
     197                                                                                        while ($z = sql_fetch($zones)) {
    164198                                                                                                //Pour chacunes des zones de l'auteur, on regarde si l'article est dans une des rubriques auxquelles il a accès
    165                                                                                                 if($restrict = sql_select("*","spip_articles AS art, spip_zones_liens AS zo","id_zone = ".$z['id_zone']." AND zo.objet='rubrique' AND art.id_article = ".$id_article." AND art.id_rubrique = zo.id_objet")){
    166                                                                                                         while($r = sql_fetch($restrict)){
     199                                                                                                if ($restrict = sql_select("*",
     200                                                                                                        "spip_articles AS art, spip_zones_liens AS zo",
     201                                                                                                        "id_zone = " . $z['id_zone'] . " AND zo.objet='rubrique' AND art.id_article = " . $id_article . " AND art.id_rubrique = zo.id_objet")
     202                                                                                                ) {
     203                                                                                                        while ($r = sql_fetch($restrict)) {
    167204                                                                                                                $article_accessible = true; //Dès qu'on a une zone accessible, on passe à true
    168205                                                                                                        }
     
    170207                                                                                        }
    171208                                                                                }
    172                                                                         }else{
     209                                                                        } else {
    173210                                                                                $article_accessible = true; // Sans accès restreint, c'est bon de base.
    174211                                                                        }
    175212                                                                        //Email, on stocke pour envoi, ssi l'article n'est pas restreint pour cet auteur
    176                                                                         if($article_accessible == true){
     213                                                                        if ($article_accessible == true) {
    177214                                                                                $emails[$v['id_auteur']] = $v['email']; //A voir si ça évite les doublons
    178215                                                                        }
    179216                                                                }
    180                                                                 if( (!$v['email'])||($v['email'] == '') ){
     217                                                                if ((!$v['email']) || ($v['email'] == '')) {
    181218                                                                        //Pas d'email, on enlève des listes
    182                                                                                         if($del = sql_delete('spip_alertes', 'id_auteur='.$v['id_auteur'])){
    183                                                                                                 spip_log('Effacer des auteurs sans email le '.date('Y-m-d H:i:s'), 'alertes'._LOG_INFO);
    184                                                                                         }                                       
    185                                                                 }
    186                                                         }
    187                                                 }else{
     219                                                                        if ($del = sql_delete('spip_alertes', 'id_auteur=' . $v['id_auteur'])) {
     220                                                                                spip_log('Effacer des auteurs sans email le ' . date('Y-m-d H:i:s'),
     221                                                                                        'alertes' . _LOG_INFO);
     222                                                                        }
     223                                                                }
     224                                                        }
     225                                                } else {
    188226                                                        //Retrait de l'auteur introuvable
    189                                                         if($del = sql_delete('spip_alertes', 'id_auteur='.$abonne['id_auteur'])){
    190                                                                 spip_log('Effacer des auteurs sans ID le '.date('Y-m-d H:i:s'), 'alertes'._LOG_INFO);
     227                                                        if ($del = sql_delete('spip_alertes', 'id_auteur=' . $abonne['id_auteur'])) {
     228                                                                spip_log('Effacer des auteurs sans ID le ' . date('Y-m-d H:i:s'),
     229                                                                        'alertes' . _LOG_INFO);
    191230                                                        }
    192231                                                }
     
    197236
    198237                        //Auteurs abonnables
    199                         if($a['auteurs']){
    200                                 $auteurs = sql_select("id_auteur","spip_auteurs_liens","id_objet = ".$id_article."  AND objet='article'");
    201                                 while ($auteur = sql_fetch($auteurs)){         
     238                        if ($a['auteurs']) {
     239                                $auteurs = sql_select("id_auteur", "spip_auteurs_liens",
     240                                        "id_objet = " . $id_article . "  AND objet='article'");
     241                                while ($auteur = sql_fetch($auteurs)) {
    202242                                        //Qui est abonné à cet auteur ?
    203                                         $abonnes = sql_select('id_auteur', 'spip_alertes', 'id_objet = '.$auteur['id_auteur'].' AND objet = "auteur"');
    204                                         while($abonne = sql_fetch($abonnes)){
     243                                        $abonnes = sql_select('id_auteur', 'spip_alertes',
     244                                                'id_objet = ' . $auteur['id_auteur'] . ' AND objet = "auteur"');
     245                                        while ($abonne = sql_fetch($abonnes)) {
    205246                                                //L'auteur existe-t-il et a-t-il un email ?
    206                                                 if($verif = sql_select('id_auteur, email', 'spip_auteurs', 'id_auteur= '.$abonne['id_auteur'])){
    207                                                         while($v = sql_fetch($verif)){
    208                                                                 if( ($v['email'])&&($v['id_auteur']) ){
    209                                                                         if($acces_restreint == true){           
     247                                                if ($verif = sql_select('id_auteur, email', 'spip_auteurs',
     248                                                        'id_auteur= ' . $abonne['id_auteur'])
     249                                                ) {
     250                                                        while ($v = sql_fetch($verif)) {
     251                                                                if (($v['email']) && ($v['id_auteur'])) {
     252                                                                        if ($acces_restreint == true) {
    210253                                                                                $article_accessible = false; // On bloque de base puis on vérifie
    211254                                                                                //Recuperation des zones de l'auteur
    212                                                                                 if($zones = sql_select("id_zone", "spip_zones_liens", "id_objet = ".$abonne['id_auteur']." AND objet='auteur'")){
    213                                                                                         while($z = sql_fetch($zones)){
     255                                                                                if ($zones = sql_select("id_zone", "spip_zones_liens",
     256                                                                                        "id_objet = " . $abonne['id_auteur'] . " AND objet='auteur'")
     257                                                                                ) {
     258                                                                                        while ($z = sql_fetch($zones)) {
    214259                                                                                                //Pour chacunes des zones de l'auteur, on regarde si l'article est dans une des rubriques auxquelles il a accès
    215                                                                                                 if($restrict = sql_select("*","spip_articles AS art, spip_zones_liens AS zo","id_zone = ".$z['id_zone']." AND zo.objet='rubrique' AND art.id_article = ".$id_article." AND art.id_rubrique = zo.id_objet")){
    216                                                                                                         while($r = sql_fetch($restrict)){
     260                                                                                                if ($restrict = sql_select("*",
     261                                                                                                        "spip_articles AS art, spip_zones_liens AS zo",
     262                                                                                                        "id_zone = " . $z['id_zone'] . " AND zo.objet='rubrique' AND art.id_article = " . $id_article . " AND art.id_rubrique = zo.id_objet")
     263                                                                                                ) {
     264                                                                                                        while ($r = sql_fetch($restrict)) {
    217265                                                                                                                $article_accessible = true; //Dès qu'on a une zone accessible, on passe à true
    218266                                                                                                        }
     
    220268                                                                                        }
    221269                                                                                }
    222                                                                         }else{
     270                                                                        } else {
    223271                                                                                $article_accessible = true; // Sans accès restreint, c'est bon de base.
    224272                                                                        }
    225273                                                                        //Email, on stocke pour envoi, ssi l'article n'est pas restreint pour cet auteur
    226                                                                         if($article_accessible == true){
     274                                                                        if ($article_accessible == true) {
    227275                                                                                $emails[$v['id_auteur']] = $v['email']; //A voir si ça évite les doublons
    228276                                                                        }
    229277                                                                }
    230                                                                 if( (!$v['email'])||($v['email'] == '') ){
     278                                                                if ((!$v['email']) || ($v['email'] == '')) {
    231279                                                                        //Pas d'email, on enlève des listes
    232                                                                                         if($del = sql_delete('spip_alertes', 'id_auteur='.$v['id_auteur'])){
    233                                                                                                 spip_log('Effacer des auteurs sans email le '.date('Y-m-d H:i:s'), 'alertes'._LOG_INFO);
    234                                                                                         }                                       
    235                                                                 }
    236                                                         }
    237                                                 }else{
     280                                                                        if ($del = sql_delete('spip_alertes', 'id_auteur=' . $v['id_auteur'])) {
     281                                                                                spip_log('Effacer des auteurs sans email le ' . date('Y-m-d H:i:s'),
     282                                                                                        'alertes' . _LOG_INFO);
     283                                                                        }
     284                                                                }
     285                                                        }
     286                                                } else {
    238287                                                        //Retrait de l'auteur introuvable
    239                                                         if($del = sql_delete('spip_alertes', 'id_auteur='.$abonne['id_auteur'])){
    240                                                                 spip_log('Effacer des auteurs sans ID le '.date('Y-m-d H:i:s'), 'alertes'._LOG_INFO);
     288                                                        if ($del = sql_delete('spip_alertes', 'id_auteur=' . $abonne['id_auteur'])) {
     289                                                                spip_log('Effacer des auteurs sans ID le ' . date('Y-m-d H:i:s'),
     290                                                                        'alertes' . _LOG_INFO);
    241291                                                        }
    242292                                                }
     
    245295                        }
    246296                        //Fin auteurs abonnables
    247                        
     297
    248298                        //Maintenant, on gére l'envoi
    249                         if( is_array($emails) AND sizeof($emails) > 0 ){
     299                        if (is_array($emails) AND sizeof($emails) > 0) {
    250300                                //Mode CRON ou direct ? Mode CRON d'office si la configuration autorise les articles publié post-daté.
    251                                 if( ($a['mode_envoi'] == 'cron')||($GLOBALS['meta']['post_dates'] == 'oui') ){
     301                                if (($a['mode_envoi'] == 'cron') || ($GLOBALS['meta']['post_dates'] == 'oui')) {
    252302                                        //Mode CRON : on enregistre tout ça dans la table d'envois CRON dediée
    253                                         foreach($emails as $id_auteur => $email){
    254                                                 $ins_cron =  sql_insertq('spip_alertes_cron', array('id_auteur'=> $id_auteur, 'id_objet' => $id_article, 'objet' => 'article', 'date_pour_envoi' => $date_pour_envoi));
    255                                         }
    256                                
    257                                 }else{
    258                                 //Mode direct (attention à la charge)
     303                                        foreach ($emails as $id_auteur => $email) {
     304                                                $ins_cron = sql_insertq('spip_alertes_cron', array(
     305                                                        'id_auteur' => $id_auteur,
     306                                                        'id_objet' => $id_article,
     307                                                        'objet' => 'article',
     308                                                        'date_pour_envoi' => $date_pour_envoi
     309                                                ));
     310                                        }
     311
     312                                } else {
     313                                        //Mode direct (attention à la charge)
    259314                                        //Fonctions facteurs
    260315                                        include_spip('classes/facteur'); //dépendance Facteur
    261316                                        $envoyer_mail = charger_fonction('envoyer_mail', 'inc/');
    262                                                
    263                                         foreach($emails as $id_auteur => $email){               
     317
     318                                        foreach ($emails as $id_auteur => $email) {
    264319                                                //On construit le mail à partir de templates
    265                                                 $header_email = recuperer_fond("alertes/header-email-alerte",  array('id_article' => $id_article,'id_auteur' => $id_auteur));
    266                                                 $footer_email = recuperer_fond("alertes/footer-email-alerte",  array('id_article' => $id_article,'id_auteur' => $id_auteur));
    267                                                 $corps_email = recuperer_fond("alertes/corps-email-alerte", array('id_article' => $id_article,'id_auteur' => $id_auteur));
    268                                                 $sujet =  recuperer_fond("alertes/sujet-email-alerte", array('id_article' => $id_article,'id_auteur' => $id_auteur));  // Sujet du mail aussi en template (dangereux mais pratique si on veut le customiser). Doit renvoyer du texte brut                               
     320                                                $header_email = recuperer_fond("alertes/header-email-alerte",
     321                                                        array('id_article' => $id_article, 'id_auteur' => $id_auteur));
     322                                                $footer_email = recuperer_fond("alertes/footer-email-alerte",
     323                                                        array('id_article' => $id_article, 'id_auteur' => $id_auteur));
     324                                                $corps_email = recuperer_fond("alertes/corps-email-alerte",
     325                                                        array('id_article' => $id_article, 'id_auteur' => $id_auteur));
     326                                                $sujet = recuperer_fond("alertes/sujet-email-alerte", array(
     327                                                        'id_article' => $id_article,
     328                                                        'id_auteur' => $id_auteur
     329                                                ));  // Sujet du mail aussi en template (dangereux mais pratique si on veut le customiser). Doit renvoyer du texte brut
    269330                                                //On n'envoie que si on a un contenu (présumé dans le corps du mail
    270                                                 if($corps_email){
     331                                                if ($corps_email) {
    271332                                                        //Envoi email via Facteur
    272                                                         $html = $header_email.$corps_email.$footer_email;
     333                                                        $html = $header_email . $corps_email . $footer_email;
    273334                                                        $texte = Facteur::html2text($html); //Version  texte
    274335                                                        $corps = array(
    275336                                                                'html' => $html,
    276337                                                                'texte' => $texte
    277                                                         );     
    278                                                         if($ok = $envoyer_mail($email, $sujet, $corps)){
     338                                                        );
     339                                                        if ($ok = $envoyer_mail($email, $sujet, $corps)) {
    279340                                                                //Email envoyé. On log.
    280                                                                 spip_log('Email correctement envoyer a '.$email, 'alertes'._LOG_INFO);
    281                                                         }else{
     341                                                                spip_log('Email correctement envoyer a ' . $email, 'alertes' . _LOG_INFO);
     342                                                        } else {
    282343                                                                //Email non envoyé. On log.
    283                                                                 spip_log('Echec de l\'envoie d\'email a '.$email, 'alertes'._LOG_ERREUR);
    284                                                         }
    285                                                 }                                       
     344                                                                spip_log('Echec de l\'envoie d\'email a ' . $email, 'alertes' . _LOG_ERREUR);
     345                                                        }
     346                                                }
    286347                                        }
    287348                                }
     
    289350                }
    290351        }
     352
    291353        return $flux;
    292354}
    293355
    294 
    295 ?>
  • _plugins_/alertes/trunk/balise/formulaire_alerte.php

    r81197 r101339  
    66 * Fonctions reprise du plugin Mes favoris de Olivier Sallou, Cedric Morin.
    77 */
    8 if (!defined("_ECRIRE_INC_VERSION")) return;    #securite
     8if (!defined("_ECRIRE_INC_VERSION")) {
     9        return;
     10}    #securite
    911
    1012
     
    1315 * Par defaut, l'objet et son identifiant sont pris dans la boucle
    1416 * <BOUCLE_(RUBRIQUES){id_rubrique}> #FORMULAIRE_ALERTE ...
    15  * 
     17 *
    1618 * Mais il est possible de forcer un objet particulier :
    1719 * #FORMULAIRE_ALERTE{secteur,8}
    18  * 
     20 *
    1921 * Ne pas utiliser sur des objets non-liés/non-contenant des articles (articles, brèves, groupes de mots, ...)
    2022 * Cela fonctionnera niveau base, mais vous n'aurez évidemment pas d'alertes.
    21  * 
     23 *
    2224 */
    2325function balise_FORMULAIRE_ALERTE($p) {
    2426        // on prend nom de la cle primaire de l'objet pour calculer sa valeur
    2527        $_id_objet = $p->boucles[$p->id_boucle]->primary;
     28
    2629        return calculer_balise_dynamique(
    2730                $p,
     
    2932                array(
    3033                        'ALERTE_TYPE_BOUCLE', // demande du type d'objet
    31                         $_id_objet
     34                        $_id_objet,
    3235                )
    3336        );
     
    4851                $id_objet = '';
    4952        }
    50        
     53
    5154        // on envoie les arguments a la fonction charger
    5255        // du formulaire CVT fomulaires/alerte.php
    5356        return array($objet, $id_objet);
    54        
     57
    5558}
    5659
     
    6164        $type = $p->boucles[$p->id_boucle]->id_table;
    6265        $p->code = $type ? "objet_type('$type')" : "'balise_hors_boucle'";
     66
    6367        return $p;
    6468}
    65 ?>
     69
  • _plugins_/alertes/trunk/base/alertes.php

    r81197 r101339  
    66 */
    77
    8 function alertes_declarer_tables_interfaces($interface){
     8function alertes_declarer_tables_interfaces($interface) {
    99        // 'spip_' dans l'index de $tables_principales
    10         $interface['table_des_tables']['alertes']='alertes'; //Les alertes
    11         $interface['table_des_tables']['alertes_cron']='alertes_cron'; //La table du CRON si besoin
     10        $interface['table_des_tables']['alertes'] = 'alertes'; //Les alertes
     11        $interface['table_des_tables']['alertes_cron'] = 'alertes_cron'; //La table du CRON si besoin
    1212        return $interface;
    1313}
     
    1717 *
    1818 * @param array $tables_principales
     19 *
    1920 * @return array
    2021 */
    21 function alertes_declarer_tables_principales($tables_principales){
     22function alertes_declarer_tables_principales($tables_principales) {
    2223        //Table spip_alertes
    2324        $spip_alertes = array(
    24                 "id_alerte"     => "bigint(21) NOT NULL",
    25                 "id_auteur"     => "bigint DEFAULT '0' NOT NULL",
    26                 "id_objet"      => "bigint(21) DEFAULT '0' NOT NULL",
    27                 "objet" => "VARCHAR (25) DEFAULT '' NOT NULL",
    28                 "maj"   => "TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP"
     25                "id_alerte" => "bigint(21) NOT NULL",
     26                "id_auteur" => "bigint DEFAULT '0' NOT NULL",
     27                "id_objet" => "bigint(21) DEFAULT '0' NOT NULL",
     28                "objet" => "VARCHAR (25) DEFAULT '' NOT NULL",
     29                "maj" => "TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP",
    2930        );
    3031
    3132        $spip_alertes_key = array(
    32                 "PRIMARY KEY"           => "id_alerte",
    33                 "KEY auteur_objet"      => "id_auteur,id_objet,objet",
    34                 "KEY id_auteur" => "id_auteur"
     33                "PRIMARY KEY" => "id_alerte",
     34                "KEY auteur_objet" => "id_auteur,id_objet,objet",
     35                "KEY id_auteur" => "id_auteur",
    3536        );
    36         $tables_principales['spip_alertes'] = array('field' => &$spip_alertes, 'key' => &$spip_alertes_key);   
    37        
     37        $tables_principales['spip_alertes'] = array('field' => &$spip_alertes, 'key' => &$spip_alertes_key);
     38
    3839        //Table spip_alertes_cron
    3940        $spip_alertes_cron = array(
    40                 "id_alerte_cron"        => "bigint(21) NOT NULL",
    41                 "id_auteur"     => "bigint DEFAULT '0' NOT NULL",
    42                 "id_objet"      => "bigint(21) DEFAULT '0' NOT NULL",
    43                 "objet" => "VARCHAR (25) DEFAULT '' NOT NULL",
    44                 "date_pour_envoi"       => "TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP"
     41                "id_alerte_cron" => "bigint(21) NOT NULL",
     42                "id_auteur" => "bigint DEFAULT '0' NOT NULL",
     43                "id_objet" => "bigint(21) DEFAULT '0' NOT NULL",
     44                "objet" => "VARCHAR (25) DEFAULT '' NOT NULL",
     45                "date_pour_envoi" => "TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP",
    4546        );
    4647
    4748        $spip_alertes_cron_key = array(
    48                 "PRIMARY KEY"           => "id_alerte_cron",
    49                 "KEY auteur_objet"      => "id_auteur,id_objet,objet",
    50                 "KEY id_auteur" => "id_auteur"
     49                "PRIMARY KEY" => "id_alerte_cron",
     50                "KEY auteur_objet" => "id_auteur,id_objet,objet",
     51                "KEY id_auteur" => "id_auteur",
    5152        );
    52         $tables_principales['spip_alertes_cron'] =array('field' => &$spip_alertes_cron, 'key' => &$spip_alertes_cron_key);
     53        $tables_principales['spip_alertes_cron'] = array('field' => &$spip_alertes_cron, 'key' => &$spip_alertes_cron_key);
    5354
    5455        return $tables_principales;
    5556}
    5657
    57 ?>
  • _plugins_/alertes/trunk/exemples/exemple-mes-alertes.html

    r81197 r101339  
    77        <h2>Mes alertes</h2>
    88        <div class="mes-abonnements">[(#FORMULAIRE_ALERTES_EMAIL{#ID_AUTEUR})]</div>
    9 </div>                                         
     9</div>
    1010</BOUCLE_auteur>
  • _plugins_/alertes/trunk/formulaires/alerte.php

    r86555 r101339  
    55 *
    66 */
    7 if (!defined("_ECRIRE_INC_VERSION")) return;
     7if (!defined("_ECRIRE_INC_VERSION")) {
     8        return;
     9}
    810
    911/**
     
    1113 * @param string $objet
    1214 * @param int $id_objet
     15 *
    1316 * @return array
    1417 */
    15 function formulaires_alerte_charger_dist($objet, $id_objet){
     18function formulaires_alerte_charger_dist($objet, $id_objet) {
    1619        include_spip('base/abstract_sql');
    1720        //Recuperation de la conf' préalable
    1821        $a = @unserialize($GLOBALS['meta']['config_alertes']);
    19         if(!is_array($a)){
    20                 $a  = array();
     22        if (!is_array($a)) {
     23                $a = array();
    2124        }
    2225        $valeur = array(
    23                 'editable'=>true,
    24                 '_deja_alerte'=>false,
    25                 '_objet'=>$objet
     26                'editable' => true,
     27                '_deja_alerte' => false,
     28                '_objet' => $objet,
    2629        );
    2730        $valeur['_id_objet'] = $id_objet;
    2831        //Il faut verifier que l'objet est bien abonnable
    29         switch($objet){
     32        switch ($objet) {
    3033                //On veut s'abonner à un mot-clef : verifions son groupe
    3134                case "mot":
    3235                        //Recuperation du groupe
    33                         if ($grp = sql_select('id_groupe', 'spip_mots', 'id_mot = '.intval($id_objet))) {
     36                        if ($grp = sql_select('id_groupe', 'spip_mots', 'id_mot = ' . intval($id_objet))) {
    3437                                while ($res = sql_fetch($grp)) {
    3538                                        //On compare à la configuration saisie
    36                                         if( in_array($res['id_groupe'],to_array($a['groupes'])) ){
     39                                        if (in_array($res['id_groupe'], to_array($a['groupes']))) {
    3740                                                $valeur['objet_autoriser'] = 'oui';
    38                                         }else{
     41                                        } else {
    3942                                                $valeur['objet_autoriser'] = 'non';
    4043                                        }
    4144                                }
    4245                        }
    43                 break;
    44                
     46                        break;
     47
    4548                //On veut s'abonner à une rubrique ou un secteur (qui est une rubrique) : verifions son secteur et sa propre éligibilité
    46                 case "rubrique":                       
     49                case "rubrique":
    4750                        //Premierement, voyons si la rubrique est autoriser d'office
    48                         if( in_array($id_objet, to_array($a['rubriques'])) ){
     51                        if (in_array($id_objet, to_array($a['rubriques']))) {
    4952                                $valeur['objet_autoriser'] = 'oui';
    50                         }else{
    51                                 if($a['secteurs']){
     53                        } else {
     54                                if ($a['secteurs']) {
    5255                                        //Recuperation et test sur le secteur
    53                                         if ($secteurs = sql_select('id_secteur', 'spip_rubriques', 'id_rubrique = '.intval($id_objet))) {
     56                                        if ($secteurs = sql_select('id_secteur', 'spip_rubriques', 'id_rubrique = ' . intval($id_objet))) {
    5457                                                while ($row = sql_fetch($secteurs)) {
    5558                                                        //On compare à la configuration saisie
    56                                                         if( in_array($row['id_secteur'],to_array($a['secteurs'])) ){
     59                                                        if (in_array($row['id_secteur'], to_array($a['secteurs']))) {
    5760                                                                $valeur['objet_autoriser'] = 'oui';
    58                                                         }else{
     61                                                        } else {
    5962                                                                $valeur['objet_autoriser'] = 'non';
    6063                                                        }
    6164                                                }
    62                                         }                                       
     65                                        }
    6366                                }
    6467                        }
    65                 break;
    66                
     68                        break;
     69
    6770                //Au cas où appel direct #FORMULAIRE_ALERTE{secteur,XX}
    6871                case "secteur":
    69                                 if($a['secteurs']){
    70                                         //Recuperation et test sur le secteur
    71                                         if ($secteurs = sql_select('id_secteur', 'spip_rubriques', 'id_rubrique = '.intval($id_objet))) {
    72                                                 while ($row = sql_fetch($secteurs)) {
    73                                                         //On compare à la configuration saisie
    74                                                         if( in_array($row['id_secteur'],to_array($a['secteurs'])) ){
    75                                                                 $valeur['objet_autoriser'] = 'oui';
    76                                                         }else{
    77                                                                 $valeur['objet_autoriser'] = 'non';
    78                                                         }
     72                        if ($a['secteurs']) {
     73                                //Recuperation et test sur le secteur
     74                                if ($secteurs = sql_select('id_secteur', 'spip_rubriques', 'id_rubrique = ' . intval($id_objet))) {
     75                                        while ($row = sql_fetch($secteurs)) {
     76                                                //On compare à la configuration saisie
     77                                                if (in_array($row['id_secteur'], to_array($a['secteurs']))) {
     78                                                        $valeur['objet_autoriser'] = 'oui';
     79                                                } else {
     80                                                        $valeur['objet_autoriser'] = 'non';
    7981                                                }
    80                                         }                                       
    81                                 }else{
     82                                        }
     83                                }
     84                        } else {
     85                                $valeur['objet_autoriser'] = 'non';
     86                        }
     87                        break;
     88
     89
     90                //On veut s'abonner à un auteur : vérifions qu'il est dans la liste autorisée.
     91                case "auteur":
     92                        if ($a['auteurs']) {
     93                                if (in_array($id_objet, to_array($a['auteurs']))) {
     94                                        $valeur['objet_autoriser'] = 'oui';
     95                                } else {
    8296                                        $valeur['objet_autoriser'] = 'non';
    8397                                }
    84                 break;
    85                
    86                
    87                 //On veut s'abonner à un auteur : vérifions qu'il est dans la liste autorisée.
    88                 case "auteur":
    89                         if($a['auteurs']){
    90                                 if( in_array($id_objet, to_array($a['auteurs'])) ){
    91                                         $valeur['objet_autoriser'] = 'oui';
    92                                 }else{
    93                                         $valeur['objet_autoriser'] = 'non';
    94                                 }
    95                         }else{
     98                        } else {
    9699                                $valeur['objet_autoriser'] = 'non';
    97100                        }
    98                 break;
    99                
     101                        break;
     102
    100103                default:
    101104                        $valeur['objet_autoriser'] = 'non';
    102                 break;
     105                        break;
    103106        }
    104107        //Etat par rapport au visiteur
    105         if (!isset($GLOBALS['visiteur_session']['statut'])){
     108        if (!isset($GLOBALS['visiteur_session']['statut'])) {
    106109                $valeur['editable'] = false;
    107         }
    108         else {
     110        } else {
    109111                include_spip('inc/alertes');
    110                 $alerte = alertes_trouver($id_objet,$objet,$GLOBALS['visiteur_session']['id_auteur']);
    111                 if ($alerte['id_alerte']){
     112                $alerte = alertes_trouver($id_objet, $objet, $GLOBALS['visiteur_session']['id_auteur']);
     113                if ($alerte['id_alerte']) {
    112114                        $valeur['_deja_alerte'] = true;
    113115                }
    114116        }
     117
    115118        return $valeur;
    116119}
    117120
    118 function formulaires_alerte_traiter_dist($objet, $id_objet){
    119         $res = array('message_ok'=>' ');
    120         if ($id_auteur = intval($GLOBALS['visiteur_session']['id_auteur'])){
     121function formulaires_alerte_traiter_dist($objet, $id_objet) {
     122        $res = array('message_ok' => ' ');
     123        if ($id_auteur = intval($GLOBALS['visiteur_session']['id_auteur'])) {
    121124                include_spip('inc/alertes');
    122                 if (!is_null(_request('ajouter'))){
     125                if (!is_null(_request('ajouter'))) {
    123126                        alertes_ajouter($id_objet, $objet, $id_auteur);
    124127                }
    125                 if (!is_null(_request('retirer'))){
    126                         alertes_supprimer(array('id_objet'=>$id_objet,'objet'=>$objet,'id_auteur'=>$GLOBALS['visiteur_session']['id_auteur']));
     128                if (!is_null(_request('retirer'))) {
     129                        alertes_supprimer(array(
     130                                'id_objet' => $id_objet,
     131                                'objet' => $objet,
     132                                'id_auteur' => $GLOBALS['visiteur_session']['id_auteur'],
     133                        ));
    127134                }
    128135        }
     136
    129137        return $res;
    130138}
    131 ?>
     139
  • _plugins_/alertes/trunk/formulaires/alertes_email.html

    r86555 r101339  
    3232                                                                <input type="checkbox" class="checkbox" name="secteurs[]" id="secteur-#ID_RUBRIQUE" value="#ID_RUBRIQUE"[ (#ENV{secteurs}|find{#ID_RUBRIQUE}|oui)checked="checked"]/>
    3333                                                                <label for="secteur-#ID_RUBRIQUE">#TITRE</label>
    34                                                         </div>                                                                 
    35                                                         </BOUCLE_si_restreint2>                                                                 
     34                                                        </div>
     35                                                        </BOUCLE_si_restreint2>
    3636                                        </BOUCLE_si_acces_restreint_sec>
    3737                                        [(#REM) Pas d'accès restreint, on propose la rubrique]
     
    6363                                                                <input type="checkbox" class="checkbox" name="rubriques[]" id="rubrique-#ID_RUBRIQUE" value="#ID_RUBRIQUE"[ (#ENV{rubriques}|find{#ID_RUBRIQUE}|oui)checked="checked"]/>
    6464                                                                <label for="rubrique-#ID_RUBRIQUE">#TITRE</label>
    65                                                         </div>                                                         
    66                                                         </BOUCLE_si_restreint1>                                         
     65                                                        </div>
     66                                                        </BOUCLE_si_restreint1>
    6767                                                </BOUCLE_si_acces_restreint_rub>
    6868                                                [(#REM) Pas d'accès restreint, on propose la rubrique]
     
    100100                                </fieldset>
    101101                        </li>
    102                         </B_mots>                       
     102                        </B_mots>
    103103                        </BOUCLE_groupes_mots>
    104104                </B_groupes_mots>
  • _plugins_/alertes/trunk/formulaires/alertes_email.php

    r86555 r101339  
    66 * Formulaire d'enregistrement des abonnements.
    77 */
    8 if (!defined("_ECRIRE_INC_VERSION")) return;
     8if (!defined("_ECRIRE_INC_VERSION")) {
     9        return;
     10}
    911
    10 function formulaires_alertes_email_charger_dist($id_auteur){
     12function formulaires_alertes_email_charger_dist($id_auteur) {
    1113        $valeurs = array();
    1214        $id_auteur = intval($id_auteur);
     
    1416        $a = @unserialize($GLOBALS['meta']['config_alertes']);
    1517        //A-t-on Accès restreint ?
    16         $ar = filtre_info_plugin_dist('accesrestreint','est_actif');
    17         if($ar == true){
     18        $ar = filtre_info_plugin_dist('accesrestreint', 'est_actif');
     19        if ($ar == true) {
    1820                $zones_restreintes = array();
    19                 if($sql_zones = sql_select("id_zone","spip_zones_liens","objet = 'auteur' AND id_objet = ".intval($id_auteur))){
     21                if ($sql_zones = sql_select("id_zone", "spip_zones_liens",
     22                        "objet = 'auteur' AND id_objet = " . intval($id_auteur))
     23                ) {
    2024                        while ($zone = sql_fetch($sql_zones)) {
    21                                 if($sql_z = sql_select("id_objet","spip_zones_liens","objet = 'rubrique' AND id_zone = ".intval($zone['id_zone']))){
     25                                if ($sql_z = sql_select("id_objet", "spip_zones_liens",
     26                                        "objet = 'rubrique' AND id_zone = " . intval($zone['id_zone']))
     27                                ) {
    2228                                        while ($z = sql_fetch($sql_z)) {
    23                                                 $zones_restreintes[] = $z['id_objet']; 
     29                                                $zones_restreintes[] = $z['id_objet'];
    2430                                        }
    2531                                }
    26                         }                       
     32                        }
    2733                }
    2834                $valeurs['rubriques_restreintes'] = $zones_restreintes;
    2935        }
    30         if(is_array($a)){
     36        if (is_array($a)) {
    3137                //Récuperation des abonnements au mots
    32                 if($a['groupes']){
     38                if ($a['groupes']) {
    3339                        $mots = array();
    34                         $sql_mots = sql_select("id_objet", "spip_alertes", "objet = 'mot' AND id_auteur = ".$id_auteur);
     40                        $sql_mots = sql_select("id_objet", "spip_alertes", "objet = 'mot' AND id_auteur = " . $id_auteur);
    3541                        while ($mot = sql_fetch($sql_mots)) {
    3642                                $mots[] = $mot['id_objet'];
     
    3945                }
    4046                //Récuperation des abonnements aux rubriques
    41                 if($a['rubriques']){
     47                if ($a['rubriques']) {
    4248                        $rubriques = array();
    43                         $sql_rubriques = sql_select("id_objet", "spip_alertes", "objet = 'rubrique' AND id_auteur = ".$id_auteur);
     49                        $sql_rubriques = sql_select("id_objet", "spip_alertes", "objet = 'rubrique' AND id_auteur = " . $id_auteur);
    4450                        while ($rub = sql_fetch($sql_rubriques)) {
    4551                                $rubriques[] = $rub['id_objet'];
    4652                        }
    4753                        $valeurs['rubriques'] = $rubriques ? $rubriques : '';
    48                 }       
     54                }
    4955                //Récuperation des abonnements aux secteurs
    50                 if($a['secteurs']){
     56                if ($a['secteurs']) {
    5157                        $secteurs = array();
    52                         $sql_secteurs= sql_select("id_objet", "spip_alertes", "objet = 'secteur' AND id_auteur = ".$id_auteur);
     58                        $sql_secteurs = sql_select("id_objet", "spip_alertes", "objet = 'secteur' AND id_auteur = " . $id_auteur);
    5359                        while ($sec = sql_fetch($sql_secteurs)) {
    5460                                $secteurs[] = $sec['id_objet'];
    5561                        }
    5662                        $valeurs['secteurs'] = $secteurs ? $secteurs : '';
    57                 }       
     63                }
    5864                //Récuperation des abonnements aux auteurs
    59                 if($a['auteurs']){
     65                if ($a['auteurs']) {
    6066                        $auteurs = array();
    61                         $sql_auteurs= sql_select("id_objet", "spip_alertes", "objet = 'auteur' AND id_auteur = ".$id_auteur);
     67                        $sql_auteurs = sql_select("id_objet", "spip_alertes", "objet = 'auteur' AND id_auteur = " . $id_auteur);
    6268                        while ($aut = sql_fetch($sql_auteurs)) {
    6369                                $auteurs[] = $aut['id_objet'];
    6470                        }
    6571                        $valeurs['auteurs'] = $auteurs ? $auteurs : '';
    66                 }                       
     72                }
    6773        }
    6874
     
    7076}
    7177
    72 function formulaires_alertes_email_traiter_dist($id_auteur){
     78function formulaires_alertes_email_traiter_dist($id_auteur) {
    7379        $a = @unserialize($GLOBALS['meta']['config_alertes']);
    7480        $now = date('Y-m-d h:i:s');
    75         if(is_array($a)){
    76                         //Supprimer les anciennes configuration d'abonnements. Tous d'un coup, brutal mais efficace et comme ça on n'a que des insert à faire.
    77                         sql_delete('spip_alertes', 'id_auteur = ' . intval($id_auteur));
    78                         //Mots
    79                         $mots = _request('mots');
    80                         foreach($mots as $mot){
    81                                 //Insertion des nouveaux mots abonnés
    82                                 $ins_mot = sql_insertq('spip_alertes', array('id_objet'=> intval($mot), 'objet' => 'mot', 'id_auteur' => $id_auteur, 'maj' => $now ));
    83                         }
    84                         //Rubriques
    85                         $rubriques = _request('rubriques');
    86                         foreach($rubriques as $rubrique){
    87                                 //Insertion des nouvelles rubriques abonnés
    88                                         $ins_rub = sql_insertq('spip_alertes', array('id_objet'=> intval($rubrique), 'objet' => 'rubrique', 'id_auteur' => $id_auteur, 'maj' => $now ));
    89                         }
    90                         //Secteurs
    91                         $secteurs = _request('secteurs');
    92                         foreach($secteurs as $secteur){
    93                                 //Insertion des nouveaux secteurs abonnés
    94                                         $ins_sec = sql_insertq('spip_alertes', array('id_objet'=> intval($secteur), 'objet' => 'secteur', 'id_auteur' => $id_auteur, 'maj' => $now ));
    95                         }
    96                         //Auteurs
    97                         $auteurs = _request('auteurs');
    98                         foreach($auteurs as $auteur){
    99                                 //Insertion des nouveaux auteurs abonnés
    100                                         $ins_aut = sql_insertq('spip_alertes', array('id_objet'=> intval($auteur), 'objet' => 'auteur', 'id_auteur' => $id_auteur, 'maj' => $now ));
    101                         }                       
     81        if (is_array($a)) {
     82                //Supprimer les anciennes configuration d'abonnements. Tous d'un coup, brutal mais efficace et comme ça on n'a que des insert à faire.
     83                sql_delete('spip_alertes', 'id_auteur = ' . intval($id_auteur));
     84                //Mots
     85                $mots = _request('mots');
     86                foreach ($mots as $mot) {
     87                        //Insertion des nouveaux mots abonnés
     88                        $ins_mot = sql_insertq('spip_alertes',
     89                                array('id_objet' => intval($mot), 'objet' => 'mot', 'id_auteur' => $id_auteur, 'maj' => $now));
    10290                }
     91                //Rubriques
     92                $rubriques = _request('rubriques');
     93                foreach ($rubriques as $rubrique) {
     94                        //Insertion des nouvelles rubriques abonnés
     95                        $ins_rub = sql_insertq('spip_alertes', array(
     96                                'id_objet' => intval($rubrique),
     97                                'objet' => 'rubrique',
     98                                'id_auteur' => $id_auteur,
     99                                'maj' => $now,
     100                        ));
     101                }
     102                //Secteurs
     103                $secteurs = _request('secteurs');
     104                foreach ($secteurs as $secteur) {
     105                        //Insertion des nouveaux secteurs abonnés
     106                        $ins_sec = sql_insertq('spip_alertes',
     107                                array('id_objet' => intval($secteur), 'objet' => 'secteur', 'id_auteur' => $id_auteur, 'maj' => $now));
     108                }
     109                //Auteurs
     110                $auteurs = _request('auteurs');
     111                foreach ($auteurs as $auteur) {
     112                        //Insertion des nouveaux auteurs abonnés
     113                        $ins_aut = sql_insertq('spip_alertes',
     114                                array('id_objet' => intval($auteur), 'objet' => 'auteur', 'id_auteur' => $id_auteur, 'maj' => $now));
     115                }
     116        }
    103117        $message = _T('alertes:your_alertes_message_ok');
    104118        $res = array('message_ok' => $message);
     
    106120        return $res;
    107121}
    108 ?>
     122
  • _plugins_/alertes/trunk/formulaires/configurer_alertes.html

    r81373 r101339  
    2222                                                        <input type='radio' class="radio" name='activer_alertes' value='oui' id='activer_alertes_oui'[ (#ENV{activer_alertes}|=={oui}|oui)checked="checked"] />
    2323                                                        <label for='activer_alertes_oui'><:alertes:yes:></label>
    24                                                 </div>                                 
     24                                                </div>
    2525                                        </li>
    2626                                        #SET{erreurs,#ENV**{erreurs}|table_valeur{mode_envoi}}
     
    3434                                                        <input type='radio' class="radio" name='mode_envoi' value='cron' id='mode_envoi_cron'[ (#ENV{mode_envoi}|=={cron}|oui)checked="checked"] />
    3535                                                        <label for='mode_envoi_cron'><:alertes:send_by_cron:></label>
    36                                                 </div>                                 
     36                                                </div>
    3737                                        </li>
    3838                                        #SET{erreurs,#ENV**{erreurs}|table_valeur{intervalle_cron}}
  • _plugins_/alertes/trunk/formulaires/configurer_alertes.php

    r81197 r101339  
    66 * Configuration des elements "abonnables".
    77 */
    8 if (!defined("_ECRIRE_INC_VERSION")) return;
    9  
    10 function formulaires_configurer_alertes_charger_dist(){
     8if (!defined("_ECRIRE_INC_VERSION")) {
     9        return;
     10}
     11
     12function formulaires_configurer_alertes_charger_dist() {
    1113        //Recuperation de la configuration préalable
    1214        $a = @unserialize($GLOBALS['meta']['config_alertes']);
    13         if(!is_array($a)){
    14                 $a  = array();
     15        if (!is_array($a)) {
     16                $a = array();
    1517        }
    1618        //Chargement de la configuration
     
    2123                'rubriques' => $a['rubriques'] ? $a['rubriques'] : '',
    2224                'auteurs' => $a['auteurs'] ? $a['auteurs'] : '',
    23                 'mode_envoi' => $a['mode_envoi'] ? $a['mode_envoi']: 'direct',
     25                'mode_envoi' => $a['mode_envoi'] ? $a['mode_envoi'] : 'direct',
    2426                'intervalle_cron' => $a['intervalle_cron'] ? $a['intervalle_cron'] : 60,
    2527                'nb_mails' => $a['nb_mails'] ? $a['nb_mails'] : 30,
    2628        );
    27        
     29
    2830        return $valeurs;
    2931}
    30 function formulaires_configurer_alertes_verifier_dist(){
     32
     33function formulaires_configurer_alertes_verifier_dist() {
    3134        $erreurs = array();
    3235        //Champs obligatoires
    33         foreach(array('activer_alertes','mode_envoi', 'nb_mails') as $champ) {
     36        foreach (array('activer_alertes', 'mode_envoi', 'nb_mails') as $champ) {
    3437                if (!_request($champ)) {
    3538                        $erreurs[$champ] = _T('alertes:required_field');
     
    3942        if (count($erreurs)) {
    4043                $erreurs['message_erreur'] = _T('alertes:generic_error');
    41         }       
     44        }
     45
    4246        return $erreurs;
    4347}
    44 function formulaires_configurer_alertes_traiter_dist(){
     48
     49function formulaires_configurer_alertes_traiter_dist() {
    4550        //Récuperation de la nouvelle configuration et serialization
    4651        $a = serialize(array(
     
    5560        ));
    5661        //Sauvegarde dans les meta
    57         ecrire_meta('config_alertes',$a);
    58         $res = array('message_ok'=>_T('alertes:alerts_configuration_message_ok'));
    59        
     62        ecrire_meta('config_alertes', $a);
     63        $res = array('message_ok' => _T('alertes:alerts_configuration_message_ok'));
     64
    6065        return $res;
    61 } 
    62  ?>
     66}
     67
  • _plugins_/alertes/trunk/genie/alertes.php

    r86555 r101339  
    77 */
    88
    9 if (!defined("_ECRIRE_INC_VERSION")) return;
     9if (!defined("_ECRIRE_INC_VERSION")) {
     10        return;
     11}
    1012
    1113function genie_alertes_dist($time) {
    12         spip_log('Lancement du cron', 'alertes'._LOG_ERREUR);
     14        spip_log('Lancement du cron', 'alertes' . _LOG_ERREUR);
    1315        include_spip('base/abstract_sql');
    1416        $now = date('Y-m-d H:i:s');
     
    1719        //Est-ce que Accès restreint est activé ?
    1820        $plugins = @unserialize($GLOBALS['meta']['plugin']);
    19         if(is_array($plugins['ACCESRESTREINT'])){
     21        if (is_array($plugins['ACCESRESTREINT'])) {
    2022                $acces_restreint = true;
    21         }else{
     23        } else {
    2224                $acces_restreint = false;
    2325        }
    24         $limit = "0, ".intval($a['nb_mails']);
    25         $nb_max = sql_countsel("spip_alertes_cron","date_pour_envoi <= '".$now."'"); //Nombres total d'alerte à traité, donc de mail à envoyer.
     26        $limit = "0, " . intval($a['nb_mails']);
     27        $nb_max = sql_countsel("spip_alertes_cron",
     28                "date_pour_envoi <= '" . $now . "'"); //Nombres total d'alerte à traité, donc de mail à envoyer.
    2629        //Si on a plus d'alertes prevues que d'email autorisé à envoyer, il faudra poursuivre la tâche.
    27         if($nb_max > intval($a['nb_mails'])){
    28                 $time = - intval($a['nb_mails']); //Si j'ai bien compris, temps en seconde avant de relancer la tâche non-terminée.
    29                 spip_log('Le temps sera fixe a '.$time, 'alertes'._LOG_ERREUR);
     30        if ($nb_max > intval($a['nb_mails'])) {
     31                $time = -intval($a['nb_mails']); //Si j'ai bien compris, temps en seconde avant de relancer la tâche non-terminée.
     32                spip_log('Le temps sera fixe a ' . $time, 'alertes' . _LOG_ERREUR);
    3033        }
    3134        //Parcours des alertes demandées, qui ne doivent pas être dans le futur
    32         if ($resultats = sql_select("*", "spip_alertes_cron","date_pour_envoi <= '".$now."'",$groupby, $orderby, $limit)) {
     35        if ($resultats = sql_select("*", "spip_alertes_cron", "date_pour_envoi <= '" . $now . "'", $groupby, $orderby,
     36                $limit)
     37        ) {
    3338                include_spip('classes/facteur'); //dépendance Facteur
    3439                $envoyer_mail = charger_fonction('envoyer_mail', 'inc/');
    35                 spip_log('Il y a des resultats', 'alertes'._LOG_ERREUR);
     40                spip_log('Il y a des resultats', 'alertes' . _LOG_ERREUR);
    3641                //Envoi des emails d'alertes
    3742                while ($res = sql_fetch($resultats)) {
     
    3944                        $id_auteur = $res['id_auteur'];
    4045                        $article_accessible = true;
    41                         spip_log('Pour '.$id_article.' on a auteur '.$id_auteur.' qui est abo', 'alertes'._LOG_ERREUR);
     46                        spip_log('Pour ' . $id_article . ' on a auteur ' . $id_auteur . ' qui est abo', 'alertes' . _LOG_ERREUR);
    4247                        //On récupere l'email de l'auteur concerné
    43                         if($auteur = sql_select('id_auteur,email','spip_auteurs','id_auteur = '.intval($id_auteur)) ){
    44                                 spip_log('Il y a des abonnes : '.$id_auteur, 'alertes'._LOG_ERREUR);
     48                        if ($auteur = sql_select('id_auteur,email', 'spip_auteurs', 'id_auteur = ' . intval($id_auteur))) {
     49                                spip_log('Il y a des abonnes : ' . $id_auteur, 'alertes' . _LOG_ERREUR);
    4550                                while ($aut = sql_fetch($auteur)) {
    4651                                        //Evidemment, il faut l'email du membre.
    4752                                        $email = $aut['email'];
    4853                                        //On va quand même vérifier que l'article existe encore/est en etat publié
    49                                         $verif = sql_select('statut','spip_articles','id_article = '.intval($id_article));
    50                                         while($art = sql_fetch($verif)){
     54                                        $verif = sql_select('statut', 'spip_articles', 'id_article = ' . intval($id_article));
     55                                        while ($art = sql_fetch($verif)) {
    5156                                                $statut = $art['statut'];
    5257                                        }
    5358                                        //Si accès restreint : vérifions que l'article n'est pas dans une zone limité pour l'auteur;
    54                                         if($acces_restreint == true){   
     59                                        if ($acces_restreint == true) {
    5560                                                $article_accessible = false; //On repasse à false par défaut
    56                                                 spip_log('Il y a acces restreint', 'alertes'._LOG_ERREUR);
     61                                                spip_log('Il y a acces restreint', 'alertes' . _LOG_ERREUR);
    5762                                                //Recuperation des zones de l'auteur
    58                                                 if($zones = sql_select("id_zone", "spip_zones_liens", "id_objet = ".intval($id_auteur)." AND objet='auteur'")){
    59                                                         while($z = sql_fetch($zones)){
     63                                                if ($zones = sql_select("id_zone", "spip_zones_liens",
     64                                                        "id_objet = " . intval($id_auteur) . " AND objet='auteur'")
     65                                                ) {
     66                                                        while ($z = sql_fetch($zones)) {
    6067                                                                //Pour chacunes des zones de l'auteur, on regarde si l'article n'est pas dans une des rubriques restreinte
    61                                                                 if($restrict = sql_select("*","spip_articles AS art, spip_zones_liens AS zo","id_zone = ".$z['id_zone']." AND zo.objet='rubrique' AND art.id_article = ".intval($id_article)." AND art.id_rubrique = zo.id_objet")){
    62                                                                         while($r = sql_fetch($restrict)){
     68                                                                if ($restrict = sql_select("*", "spip_articles AS art, spip_zones_liens AS zo",
     69                                                                        "id_zone = " . $z['id_zone'] . " AND zo.objet='rubrique' AND art.id_article = " . intval($id_article) . " AND art.id_rubrique = zo.id_objet")
     70                                                                ) {
     71                                                                        while ($r = sql_fetch($restrict)) {
    6372                                                                                $article_accessible = true; //Dès qu'on a une zone accessible, on passe à true
    64                                                                                 spip_log('mais on est dans une zone accessible pour '.$id_article, 'alertes'._LOG_ERREUR);
     73                                                                                spip_log('mais on est dans une zone accessible pour ' . $id_article,
     74                                                                                        'alertes' . _LOG_ERREUR);
    6575                                                                        }
    6676                                                                }
     
    6878                                                }
    6979                                        }
    70                                         if( ($email)&&($statut == 'publie')&&($article_accessible == true) ){
    71                                                 spip_log('On build le mail pour '.$id_article, 'alertes'._LOG_ERREUR);
     80                                        if (($email) && ($statut == 'publie') && ($article_accessible == true)) {
     81                                                spip_log('On build le mail pour ' . $id_article, 'alertes' . _LOG_ERREUR);
    7282                                                //On build le mail à partir de templates
    73                                                 $header_email = recuperer_fond("alertes/header-email-alerte",  array('id_article' => $id_article,'id_auteur' => $id_auteur));
    74                                                 $footer_email = recuperer_fond("alertes/footer-email-alerte",  array('id_article' => $id_article,'id_auteur' => $id_auteur));
    75                                                 $corps_email = recuperer_fond("alertes/corps-email-alerte", array('id_article' => $id_article,'id_auteur' => $id_auteur));
    76                                                 $sujet =  recuperer_fond("alertes/sujet-email-alerte", array('id_article' => $id_article,'id_auteur' => $id_auteur));  // Sujet du mail aussi en template (dangereux mais pratique si on veut le customiser). Doit renvoyer du texte brut                               
     83                                                $header_email = recuperer_fond("alertes/header-email-alerte",
     84                                                        array('id_article' => $id_article, 'id_auteur' => $id_auteur));
     85                                                $footer_email = recuperer_fond("alertes/footer-email-alerte",
     86                                                        array('id_article' => $id_article, 'id_auteur' => $id_auteur));
     87                                                $corps_email = recuperer_fond("alertes/corps-email-alerte",
     88                                                        array('id_article' => $id_article, 'id_auteur' => $id_auteur));
     89                                                $sujet = recuperer_fond("alertes/sujet-email-alerte", array(
     90                                                        'id_article' => $id_article,
     91                                                        'id_auteur' => $id_auteur,
     92                                                ));  // Sujet du mail aussi en template (dangereux mais pratique si on veut le customiser). Doit renvoyer du texte brut
    7793                                                //On n'envoie que si on a un contenu (présumé dans le corps du mail)
    78                                                 if($corps_email){
    79                                                         spip_log('On prepare l\'envoi', 'alertes'._LOG_ERREUR);
     94                                                if ($corps_email) {
     95                                                        spip_log('On prepare l\'envoi', 'alertes' . _LOG_ERREUR);
    8096                                                        //Envoi email via Facteur
    81                                                         $html = $header_email.$corps_email.$footer_email;
     97                                                        $html = $header_email . $corps_email . $footer_email;
    8298                                                        $texte = Facteur::html2text($html); //Version  texte
    8399                                                        $corps = array(
    84100                                                                'html' => $html,
    85                                                                 'texte' => $texte
    86                                                         );     
    87                                                         if($ok = $envoyer_mail($email, $sujet, $corps)){
     101                                                                'texte' => $texte,
     102                                                        );
     103                                                        if ($ok = $envoyer_mail($email, $sujet, $corps)) {
    88104                                                                //Email envoyé, on retire l'alerte-cron et on log.
    89                                                                 $del = sql_delete('spip_alertes_cron', 'id_alerte_cron = ' . intval($res['id_alerte_cron']));
    90                                                                 spip_log('Email correctement envoyer a '.$email, 'alertes'._LOG_ERREUR);
    91                                                         }else{
     105                                                                $del = sql_delete('spip_alertes_cron',
     106                                                                        'id_alerte_cron = ' . intval($res['id_alerte_cron']));
     107                                                                spip_log('Email correctement envoyer a ' . $email, 'alertes' . _LOG_ERREUR);
     108                                                        } else {
    92109                                                                //Email non envoyé. On log.
    93                                                                 spip_log('Echec de l\'envoie d\'email a '.$email, 'alertes'._LOG_ERREUR);
     110                                                                spip_log('Echec de l\'envoie d\'email a ' . $email, 'alertes' . _LOG_ERREUR);
    94111                                                        }
    95                                                 }else{
    96                                                         spip_log('On n\'a pas de contenu pour '.$id_article, 'alertes'._LOG_ERREUR);
     112                                                } else {
     113                                                        spip_log('On n\'a pas de contenu pour ' . $id_article, 'alertes' . _LOG_ERREUR);
    97114                                                }
    98                                         }else{
    99                                                 spip_log('Pas d\'email pour '.$id_auteur.' ou'.$id_article.'non publie ou article inaccessible', 'alertes'._LOG_ERREUR);
     115                                        } else {
     116                                                spip_log('Pas d\'email pour ' . $id_auteur . ' ou' . $id_article . 'non publie ou article inaccessible',
     117                                                        'alertes' . _LOG_ERREUR);
    100118                                                //Auteur sans email ou article non-publié/inexistant/restreint
    101                                                 if($statut != 'publie'){
     119                                                if ($statut != 'publie') {
    102120                                                        //Article non publie, l'alerte n'a pas lieu d'être nulle part
    103                                                         $del = sql_delete("spip_alertes_cron", "objet = 'article' AND id_objet = " . intval($id_article));
     121                                                        $del = sql_delete("spip_alertes_cron",
     122                                                                "objet = 'article' AND id_objet = " . intval($id_article));
    104123                                                }
    105124                                        }
     
    108127                }
    109128        }
    110        
     129
    111130        return $time;
    112131}
    113132
    114 ?>
  • _plugins_/alertes/trunk/inc/alertes.php

    r81197 r101339  
    88
    99
    10 function alertes_supprimer($paires){
    11         if (count($paires)){
     10function alertes_supprimer($paires) {
     11        if (count($paires)) {
    1212                $cond = array();
    13                 foreach($paires as $k=>$v)
    14                                 $cond[] = "$k=".sql_quote($v);
    15                 $cond = implode(' AND ',$cond);
    16                 $res = sql_select('id_alerte,objet,id_objet,id_auteur','spip_alertes',$cond);
     13                foreach ($paires as $k => $v) {
     14                        $cond[] = "$k=" . sql_quote($v);
     15                }
     16                $cond = implode(' AND ', $cond);
     17                $res = sql_select('id_alerte,objet,id_objet,id_auteur', 'spip_alertes', $cond);
    1718                include_spip('inc/invalideur');
    18                 while ($row = sql_fetch($res)){
    19                         sql_delete("spip_alertes","id_alerte=".intval($row['id_alerte']));
    20                         suivre_invalideur("alerte/".$row['objet']."/".$row['id_objet']);
    21                         suivre_invalideur("alerte/auteur/".$row['id_auteur']);
     19                while ($row = sql_fetch($res)) {
     20                        sql_delete("spip_alertes", "id_alerte=" . intval($row['id_alerte']));
     21                        suivre_invalideur("alerte/" . $row['objet'] . "/" . $row['id_objet']);
     22                        suivre_invalideur("alerte/auteur/" . $row['id_auteur']);
    2223                }
    2324        }
    2425}
    2526
    26 function alertes_ajouter($id_objet,$objet,$id_auteur){
     27function alertes_ajouter($id_objet, $objet, $id_auteur) {
    2728        if ($id_auteur
    2829                AND $id_objet = intval($id_objet)
    29                 AND preg_match(",^\w+$,",$objet)){
     30                AND preg_match(",^\w+$,", $objet)
     31        ) {
    3032
    31                 if (!alertes_trouver($id_objet,$objet,$id_auteur)){
    32                         sql_insertq("spip_alertes",array('id_auteur'=>$id_auteur,'id_objet'=>$id_objet,'objet'=>$objet));
     33                if (!alertes_trouver($id_objet, $objet, $id_auteur)) {
     34                        sql_insertq("spip_alertes", array('id_auteur' => $id_auteur, 'id_objet' => $id_objet, 'objet' => $objet));
    3335                        include_spip('inc/invalideur');
    3436                        suivre_invalideur("alerte/$objet/$id_objet");
    3537                        suivre_invalideur("alerte/auteur/$id_auteur");
    3638                }
     39        } else {
     40                spip_log("erreur ajouter alerte $id_objet-$objet-$id_auteur");
    3741        }
    38         else
    39                 spip_log("erreur ajouter alerte $id_objet-$objet-$id_auteur");
    4042}
    4143
    42 function alertes_trouver($id_objet,$objet,$id_auteur){
     44function alertes_trouver($id_objet, $objet, $id_auteur) {
    4345        $row = false;
    44         if ($id_auteur=intval($id_auteur)
     46        if ($id_auteur = intval($id_auteur)
    4547                AND $id_objet = intval($id_objet)
    46                 AND preg_match(",^\w+$,",$objet)){
    47                 $row = sql_fetsel("*","spip_alertes","id_auteur=".intval($id_auteur)." AND id_objet=".intval($id_objet)." AND objet=".sql_quote($objet));
     48                AND preg_match(",^\w+$,", $objet)
     49        ) {
     50                $row = sql_fetsel("*", "spip_alertes",
     51                        "id_auteur=" . intval($id_auteur) . " AND id_objet=" . intval($id_objet) . " AND objet=" . sql_quote($objet));
    4852        }
     53
    4954        return $row;
    5055}
    5156
    52 ?>
  • _plugins_/alertes/trunk/lang/alertes_fr.php

    r81373 r101339  
    11<?php
    22// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
    3 if (!defined('_ECRIRE_INC_VERSION')) return;
     3if (!defined('_ECRIRE_INC_VERSION')) {
     4        return;
     5}
    46
    57$GLOBALS[$GLOBALS['idx_lang']] = array(
     
    810        'abo_keywords' => 'Cochez les mots-cl&eacute;s auxquels vous souhaitez vous abonner',
    911        'abo_sectors' => 'Cochez les secteurs auxquels vous souhaitez vous abonner',
    10         'abo_topics' => 'Cochez les rubriques auxquelles vous souhaitez vous abonner', 
     12        'abo_topics' => 'Cochez les rubriques auxquelles vous souhaitez vous abonner',
    1113        'add' => 'Ajouter',
    1214        'add_to' => 'Ajouter &agrave; mes alertes',
     
    2123        // I
    2224        'intervalle_cron' => 'Intervalle de passage du pseudo-CRON SPIP (en minutes)',
    23         'id_authors' =>' Identifiants des auteurs abonnables',
     25        'id_authors' => ' Identifiants des auteurs abonnables',
    2426        'id_keyword_groups' => 'Identifiants des groupes de mots-clés abonnables',
    2527        'id_sectors' => 'Identifiants des secteurs abonnables',
     
    4547        'yes' => 'Oui',
    4648        'your_alertes_message_ok' => 'Vos alertes emails ont &eacute;t&eacute; mises &agrave; jour.',
    47        
     49
    4850);
    49 ?>
     51
  • _plugins_/alertes/trunk/lang/paquet-alertes_fr.php

    r81236 r101339  
    11<?php
    22// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
    3 if (!defined('_ECRIRE_INC_VERSION')) return;
     3if (!defined('_ECRIRE_INC_VERSION')) {
     4        return;
     5}
    46
    57$GLOBALS[$GLOBALS['idx_lang']] = array(
     
    810        'alertes_description' => "Alertes permet d'autoriser vos visiteurs (authentifiés) à s'abonner à différents types d'objets SPIP et à recevoir une alerte email quand un article de l'un d'eux est publié sur le site.",
    911);
    10 ?>
     12
  • _plugins_/alertes/trunk/paquet.xml

    r86748 r101339  
    33        categorie="communication"
    44        version="1.2.1"
    5         schema="1.0.1" 
     5        schema="1.0.1"
    66        etat="test"
    77        compatibilite="[3.0.0 ;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.