Changeset 63541 in spip-zone for _acotes_


Ignore:
Timestamp:
Jul 18, 2012, 5:47:41 PM (7 years ago)
Author:
brunobergot@…
Message:

on débranche EdgardII

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _acotes_/irc/phergie/Phergie/Plugin/Edgard.php

    r63536 r63541  
    3232class Phergie_Plugin_Edgard extends Phergie_Plugin_Abstract
    3333{
     34
     35    public $datas = array();
     36
     37    /**
     38     * Charger les donnees du fichier texte
     39     *
     40     * @return void
     41     */
     42    public function onLaod()
     43    {
     44        if ($fichier = fopen("/var/www/edgard.spip.org/public_html/tmp/edgard.txt", "r")) {
     45            while (!feof($fichier)) {
     46                $ligne = fgets($fichier);
     47                $parts = explode(';', $ligne);
     48                if (strlen($parts[0]) > 0)
     49                    $this->datas[$parts[0]] = $parts[1];
     50            }
     51            fclose($fichier);
     52        }
     53    }
     54
    3455    /**
    3556     * Checks messages for the question to which it should respond and sends a
     
    4667        $target = $event->getNick();
    4768        $source = $event->getSource();
    48        
     69        $trouve = false;
    4970
    50                 //commençons par (^#\d{2,4}\b);http://core.spip.org/issues/
     71
     72        //commençons par (^#\d{2,4}\b);http://core.spip.org/issues/
    5173        $pattern = '/' . preg_quote($prefix) .
    52                    '\#([0-9]+)/iAD';
    53         if (preg_match($pattern, $text, $m)) {
    54             $msg = 'Ok '. $target." c'est par ici : http://core.spip.org/issues/" . $m[1] ;
     74            '\#([0-9]+)/iAD';
     75        if (!$trouve AND preg_match($pattern, $text, $m)) {
     76            $msg = 'Ok ' . $target . " c'est par ici : http://core.spip.org/issues/" . $m[1];
    5577            $this->doPrivmsg($source, $msg);
     78            $trouve = true;
    5679        }
    5780
     
    5982        // http://core.spip.org/projects/spip/repository/revisions/18395
    6083        $pattern = '/' . preg_quote($prefix) .
    61                            '^c([0-9]+)/iAD';
    62                 if (preg_match($pattern, $text, $m)) {
    63                     $msg = 'Ok '. $target." le commit c'est par ici : http://core.spip.org/projects/spip/repository/revisions/" . $m[1] ;
    64                     $this->doPrivmsg($source, $msg);
    65                 }
     84            '^c([0-9]+)/iAD';
     85        if (!$trouve AND preg_match($pattern, $text, $m)) {
     86            $msg = 'Ok ' . $target . " le commit c'est par ici : http://core.spip.org/projects/spip/repository/revisions/" . $m[1];
     87            $this->doPrivmsg($source, $msg);
     88            $trouve = true;
     89        }
    6690
    6791        // http://core.spip.org/projects/spip/repository/revisions/18395
    6892        $pattern = '/' . preg_quote($prefix) .
    69                            '^z([0-9]+)/iAD';
    70                 if (preg_match($pattern, $text, $m)) {
    71                     $msg = 'Ok '. $target." le commit c'est par ici : http://zone.spip.org/trac/spip-zone/changeset/" . $m[1] ;
    72                     $this->doPrivmsg($source, $msg);
    73                 }
     93            '^z([0-9]+)/iAD';
     94        if (!$trouve AND preg_match($pattern, $text, $m)) {
     95            $msg = 'Ok ' . $target . " le commit c'est par ici : http://zone.spip.org/trac/spip-zone/changeset/" . $m[1];
     96            $this->doPrivmsg($source, $msg);
     97            $trouve = true;
     98        }
    7499
    75100        // @?
    76101        $pattern = '/' . preg_quote($prefix) .
    77                            '^@\?([^?]+)/iAD';
    78                 if (preg_match($pattern, $text, $m)) {
    79                                         $m[1]=urlencode(trim($m[1]));
    80                                         $msg = "Hop http://edgard.spip.org/questions/". $m[1] ;
    81                     $this->doPrivmsg($source, $msg);
    82                 }
     102            '^@\?([^?]+)/iAD';
     103        if (!$trouve AND preg_match($pattern, $text, $m)) {
     104            $m[1] = urlencode(trim($m[1]));
     105            $msg = "Hop http://edgard.spip.org/questions/" . $m[1];
     106            $this->doPrivmsg($source, $msg);
     107            $trouve = true;
     108        }
    83109
    84110        // @function()
    85111        $pattern = '/' . preg_quote($prefix) .
    86                            '^@([a-z0-9_]{3,})\(\)/iAD';
     112            '^@([a-z0-9_]{3,})\(\)/iAD';
     113        if (!$trouve AND preg_match($pattern, $text, $m)) {
     114            $m[1] = urlencode(trim($m[1]));
     115            $msg = "Hop http://doc.spip.org/@" . $m[1] . " - Hop (sinon) http://doc.spip.org/spip.php?page=recherche&recherche=" . $m[1];
     116            $this->doPrivmsg($source, $msg);
     117            $trouve = true;
     118        }
     119
     120        if (!$trouve) {
     121            // chercher une entrée dans les datas du wiki
     122            foreach ($this->datas as $key => $value) {
     123                $pattern = '/' . preg_quote($prefix) . $key . '/iAD';
    87124                if (preg_match($pattern, $text, $m)) {
    88                                         $m[1]=urlencode(trim($m[1]));
    89                                         $msg = "Hop http://doc.spip.org/@". $m[1] . " - Hop (sinon) http://doc.spip.org/spip.php?page=recherche&recherche=" . $m[1] ;
    90                     $this->doPrivmsg($source, $msg);
     125                    $this->doPrivmsg($source, $value);
     126                    $trouve = true;
     127                    break;
    91128                }
     129            }
     130        }
    92131    }
    93132}
Note: See TracChangeset for help on using the changeset viewer.