Dotclear

source: plugins/pings/lib.pings.php @ 3421:34cfd92ec45a

Revision 3421:34cfd92ec45a, 2.4 KB checked in by franck <carnet.franck.paul@…>, 9 years ago (diff)

No more <![CDATA[ … ]]> but in rss2.xsl (only useful for XML document, as XHTML)

RevLine 
[0]1<?php
2# -- BEGIN LICENSE BLOCK ---------------------------------------
3#
4# This file is part of Dotclear 2.
5#
[1179]6# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
[0]7# Licensed under the GPL version 2.0 license.
8# See LICENSE file or
9# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
10#
11# -- END LICENSE BLOCK -----------------------------------------
12if (!defined('DC_RC_PATH')) { return; }
13
14class pingsAPI extends xmlrpcClient
15{
16     public static function doPings($srv_uri,$site_name,$site_url)
17     {
18          $o = new self($srv_uri);
19          $o->timeout = 3;
[2566]20
[0]21          $rsp = $o->query('weblogUpdates.ping',$site_name,$site_url);
[2566]22
[0]23          if (isset($rsp['flerror']) && $rsp['flerror']) {
24               throw new Exception($rsp['message']);
25          }
[2566]26
[0]27          return true;
28     }
29}
30
31class pingsBehaviors
32{
33     public static function pingJS()
34     {
[2825]35          global $core;
36
[0]37          $res =
[3421]38          "<script type=\"text/javascript\">\n".
[0]39          dcPage::jsVar('dotclear.msg.check_all',__('Check all'))."\n".
[3421]40          "</script>\n".
41          dcPage::jsLoad(dcPage::getPF('pings/post.js'));
[2566]42
[0]43          return $res;
44     }
[2566]45
[1398]46     public static function pingsFormItems($main,$sidebar,$post)
[0]47     {
48          $core =& $GLOBALS['core'];
49          if (!$core->blog->settings->pings->pings_active) {
50               return;
51          }
[2566]52
[3159]53          $pings_uris = $core->blog->settings->pings->pings_uris;
[0]54          if (empty($pings_uris) || !is_array($pings_uris)) {
55               return;
56          }
[2566]57
[0]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
[1396]64          $item = '<h5 class="ping-services">'.__('Pings').'</h5>';
[120]65          $i = 0;
[0]66          foreach ($pings_uris as $k => $v)
67          {
[1392]68               $item .=
[120]69               '<p class="ping-services"><label for="pings_do-'.$i.'" class="classic">'.
[1818]70               form::checkbox(array('pings_do[]','pings_do-'.$i),html::escapeHTML($v),in_array($v,$pings_do), 'check-ping-services').' '.
[0]71               html::escapeHTML($k).'</label></p>';
[120]72               $i++;
[0]73          }
[1398]74          $sidebar['options-box']['items']['pings']=$item;
[2566]75
[0]76     }
[2566]77
[0]78     public static function doPings($cur,$post_id)
79     {
80          if (empty($_POST['pings_do']) || !is_array($_POST['pings_do'])) {
81               return;
82          }
[2566]83
[0]84          $core =& $GLOBALS['core'];
85          if (!$core->blog->settings->pings->pings_active) {
86               return;
87          }
[2566]88
[3159]89          $pings_uris = $core->blog->settings->pings->pings_uris;
[0]90          if (empty($pings_uris) || !is_array($pings_uris)) {
91               return;
92          }
[2566]93
[0]94          foreach ($_POST['pings_do'] as $uri)
95          {
96               if (in_array($uri,$pings_uris)) {
97                    try {
98                         pingsAPI::doPings($uri,$core->blog->name,$core->blog->url);
99                    } catch (Exception $e) {}
100               }
101          }
102     }
103}
Note: See TracBrowser for help on using the repository browser.

Sites map