Dotclear

source: plugins/pings/lib.pings.php @ 3731:3770620079d4

Revision 3731:3770620079d4, 3.2 KB checked in by franck <carnet.franck.paul@…>, 8 years ago (diff)

Simplify licence block at the beginning of each file

RevLine 
[0]1<?php
[3731]2/**
3 * @brief pings, a plugin for Dotclear 2
4 *
5 * @package Dotclear
6 * @subpackage Plugins
7 *
8 * @copyright Olivier Meunier & Association Dotclear
9 * @copyright GPL-2.0-only
10 */
11
[3709]12if (!defined('DC_RC_PATH')) {return;}
[0]13
14class pingsAPI extends xmlrpcClient
15{
[3709]16    public static function doPings($srv_uri, $site_name, $site_url)
17    {
18        $o          = new self($srv_uri);
19        $o->timeout = 3;
[2566]20
[3709]21        $rsp = $o->query('weblogUpdates.ping', $site_name, $site_url);
[2566]22
[3709]23        if (isset($rsp['flerror']) && $rsp['flerror']) {
24            throw new Exception($rsp['message']);
25        }
[2566]26
[3709]27        return true;
28    }
[0]29}
30
[3428]31class pingsAdminBehaviors
[0]32{
[3709]33    public static function pingJS()
34    {
35        global $core;
[2825]36
[3709]37        $res =
38        "<script type=\"text/javascript\">\n" .
39        dcPage::jsVar('dotclear.msg.check_all', __('Check all')) . "\n" .
40        "</script>\n" .
41        dcPage::jsLoad(dcPage::getPF('pings/js/post.js'));
[2566]42
[3709]43        return $res;
44    }
[2566]45
[3709]46    public static function pingsFormItems($main, $sidebar, $post)
47    {
48        $core = &$GLOBALS['core'];
49        if (!$core->blog->settings->pings->pings_active) {
50            return;
51        }
[2566]52
[3709]53        $pings_uris = $core->blog->settings->pings->pings_uris;
54        if (empty($pings_uris) || !is_array($pings_uris)) {
55            return;
56        }
[2566]57
[3709]58        if (!empty($_POST['pings_do']) && is_array($_POST['pings_do'])) {
59            $pings_do = $_POST['pings_do'];
60        } else {
61            $pings_do = array();
62        }
[2566]63
[3709]64        $item = '<h5 class="ping-services">' . __('Pings') . '</h5>';
65        $i    = 0;
66        foreach ($pings_uris as $k => $v) {
67            $item .=
68            '<p class="ping-services"><label for="pings_do-' . $i . '" class="classic">' .
69            form::checkbox(array('pings_do[]', 'pings_do-' . $i), html::escapeHTML($v), in_array($v, $pings_do), 'check-ping-services') . ' ' .
70            html::escapeHTML($k) . '</label></p>';
71            $i++;
72        }
73        $sidebar['options-box']['items']['pings'] = $item;
[2566]74
[3709]75    }
[2566]76
[3709]77    public static function doPings($cur, $post_id)
78    {
79        if (empty($_POST['pings_do']) || !is_array($_POST['pings_do'])) {
80            return;
81        }
[2566]82
[3709]83        $core = &$GLOBALS['core'];
84        if (!$core->blog->settings->pings->pings_active) {
85            return;
86        }
[2566]87
[3709]88        $pings_uris = $core->blog->settings->pings->pings_uris;
89        if (empty($pings_uris) || !is_array($pings_uris)) {
90            return;
91        }
[2566]92
[3709]93        foreach ($_POST['pings_do'] as $uri) {
94            if (in_array($uri, $pings_uris)) {
95                try {
96                    pingsAPI::doPings($uri, $core->blog->name, $core->blog->url);
97                } catch (Exception $e) {}
98            }
99        }
100    }
[0]101}
[3428]102
103class pingsCoreBehaviour
104{
[3709]105    public static function doPings($blog, $ids)
106    {
107        if (!$blog->settings->pings->pings_active) {
108            return;
109        }
110        if (!$blog->settings->pings->pings_auto) {
111            return;
112        }
[3428]113
[3709]114        $pings_uris = $blog->settings->pings->pings_uris;
115        if (empty($pings_uris) || !is_array($pings_uris)) {
116            return;
117        }
[3428]118
[3709]119        foreach ($pings_uris as $uri) {
120            try {
121                pingsAPI::doPings($uri, $blog->name, $blog->url);
122            } catch (Exception $e) {}
123        }
124    }
[3428]125}
Note: See TracBrowser for help on using the repository browser.

Sites map