source: spip-zone/_plugins_/twitter/trunk/genie/twitter.php @ 113468

Last change on this file since 113468 was 113468, checked in by pierrekuhn82@…, 4 months ago

Version 1.7.2 éviter une notice.

File size: 2.1 KB
Line 
1<?php
2/*
3 * Plugin spip|twitter
4 * (c) 2009-2013
5 *
6 * envoyer et lire des messages de Twitter
7 * distribue sous licence GNU/LGPL
8 *
9 */
10
11if (!defined("_ECRIRE_INC_VERSION")) {
12        return;
13}
14
15/**
16 * Alerte sur les articles publies post-dates
17 *
18 * @param int $last
19 *
20 * @return int
21 */
22function genie_twitter_dist($last) {
23        $cfg = @unserialize($GLOBALS['meta']['microblog']);
24        // si le site utilise les articles postdates
25        // et que l'on a configurer pour alerter a la publication uniquement
26        // il faut surveiller les articles publies
27        // $last est la date de la dernier occurence du cron, si vaut zero on ne fait rien
28        if ($GLOBALS['meta']["post_dates"] == 'non'
29                AND $cfg['evt_publierarticles']
30                AND $cfg['evt_publierarticlesfutur'] == 'publication'
31                AND $last) {
32                include_spip('inc/abstract_sql');
33                $deja_annonces = explode(',', $GLOBALS['meta']['twitter_annonces']);
34                $deja_annonces = array_map('intval', $deja_annonces);
35
36                $res = sql_select("id_article,statut", "spip_articles",
37                        array(
38                                "statut='publie'",
39                                "date>" . sql_quote(date("Y-m-d H:i:s", $last)),
40                                "date<=" . sql_quote(date("Y-m-d H:i:s")),
41                                sql_in('id_article', $deja_annonces, "NOT"),
42                        ));
43                include_spip('inc/twitter_notifications');
44                include_spip('inc/twitter');
45                while ($row = sql_fetch($res)) {
46                        $status = twitter_annonce('instituerarticle', array('id_article' => $row['id_article']));
47                        twitter_envoyer_tweet($status, array('objet' => 'article', 'id_objet' => $row['id_article']));
48                }
49                // raz des annonces deja faites
50                include_spip('inc/meta');
51                ecrire_meta('twitter_annonces', '0');
52        }
53
54        return 1;
55}
56
57/**
58 * Ajouter la tache cron pour tweeter les articles post-dates, chaque heure
59 *
60 * @param $taches_generales
61 *
62 * @return mixed
63 */
64function twitter_taches_generales_cron($taches_generales) {
65        if ($GLOBALS['meta']["post_dates"] == 'non'
66                AND $cfg = @unserialize($GLOBALS['meta']['microblog'])
67                AND isset($cfg['evt_publierarticles']) AND $cfg['evt_publierarticles']
68                AND $cfg['evt_publierarticlesfutur'] == 'publication') {
69                // surveiller toutes les heures les publications post-dates
70                $taches_generales['twitter'] = 3600;
71        }
72
73        return $taches_generales;
74}
75
76?>
Note: See TracBrowser for help on using the repository browser.