source: spip-zone/_plugins_/microblog/inc/micro_notifications.php @ 31528

Last change on this file since 31528 was 31528, checked in by cedric@…, 10 years ago
  • permettre de choisir quand les articles publies futur sont microblogues : a la validation ou a la publication
  • ne pas bloguer les articles futurs au moment de la validation si on a demande que ce soit a la publication

reste a ajouter un cron pour bloguer les articles au moment de leur publication

File size: 2.4 KB
Line 
1<?php
2
3/*****************************************************************\
4 * spip|microblog
5 *                      (c) Fil 2009
6 *
7 * envoyer des micromessages depuis SPIP vers twitter ou laconica
8 * distribue sous licence GNU/LGPL
9 *
10\*****************************************************************/
11
12if (!defined("_ECRIRE_INC_VERSION")) return;
13
14
15
16/*
17 * Buzzer les notifications
18 */
19
20function Microblog_notifications($x) {
21  include_spip('inc/filtres_mini');
22  include_spip('inc/texte');
23
24        $status = null;
25        $cfg = @unserialize($GLOBALS['meta']['microblog']);
26        switch($x['args']['quoi']) {
27                case 'forumposte':      // post forums
28                        if ($cfg['evt_forumposte']
29                        AND $id = intval($x['args']['id'])) {
30                                $url = url_absolue(generer_url_entite($id, 'forum'));
31                                $t = sql_fetsel('titre,texte', 'spip_forum', 'id_forum='.$id);
32                                $titre = couper(typo($t['titre'].' | '.$t['texte']),
33                                        120 - strlen('#forum  ') - strlen($url));
34                                $status = "$titre #forum $url";
35                        }
36                        break;
37               
38                case 'instituerarticle':    // publier | proposer articles
39                if ($id = intval($x['args']['id'])
40                        AND (
41                                // publier
42                                ($cfg['evt_publierarticles']
43                                        AND $x['args']['options']['statut'] == 'publie'
44                                        AND $x['args']['options']['statut_ancien'] != 'publie'
45                                        AND ($GLOBALS['meta']["post_dates"]=='oui'
46                                                OR strtotime($x['args']['options']['date'])<=time()
47                                                OR $cfg['evt_publierarticlesfutur']!='publication'
48                                        )
49                                )
50                        OR 
51                                // proposer
52                                ($cfg['evt_proposerarticles']
53                                AND $x['args']['options']['statut'] == 'prop' 
54                                AND $x['args']['options']['statut_ancien'] != 'publie'
55                                )
56                        )
57                ) {
58                        $espace_lien = ($x['args']['options']['statut'] == 'publie' ? true : false);  // lien notifie vers public | priv�
59        $url = str_replace('amp;','',url_absolue(generer_url_entite($id, 'article', '', '', $espace_lien)));
60                        $t = sql_fetsel('titre,descriptif,texte', 'spip_articles', 'id_article='.$id);
61                        $etat = str_replace(array('prop','publie'),
62                                array(_T('microblog:propose'),_T('microblog:publie')),
63                                $x['args']['options']['statut']
64                        );
65                        $titre = couper(typo($t['titre']
66                                .' | '.$etat
67                                .' | '.($t['descriptif'] != '' ? $t['descriptif'].' | ' : '')
68                                .$t['texte']),
69                                120 - strlen($url));
70                        $status = "$titre $url";
71                        spip_log($status,'microblogdb');
72                }
73                break;
74        }
75
76        if (!is_null($status)) {
77                include_spip('inc/microblog');
78                microblog($status);
79        }
80
81        return $x;
82}
83
Note: See TracBrowser for help on using the repository browser.