Changeset 118314 in spip-zone


Ignore:
Timestamp:
Oct 28, 2019, 3:50:10 PM (5 months ago)
Author:
cedric@…
Message:

indentation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/traduire_texte/trunk/inc/traduire_texte.php

    r118313 r118314  
    1515         * @param string $apikey
    1616         */
    17         public function __construct($apikey = null) {
     17        public function __construct($apikey = null){
    1818                $this->apikey = $apikey;
    1919        }
    2020
    21         public function traduire($texte, $destLang = 'fr', $srcLang = 'en') {
    22                 if (strlen(trim($texte)) == 0) {
     21        public function traduire($texte, $destLang = 'fr', $srcLang = 'en'){
     22                if (strlen(trim($texte))==0){
    2323                        return '';
    2424                }
    25                 $len =  mb_strlen($texte);
    26                 $extrait =  mb_substr($texte, 0, 40);
    27                 spip_log('Trad:' . $this->type . ' ' . $len . 'c. : ' . $extrait . ($len > 40 ? '...' : ''), 'translate');
     25                $len = mb_strlen($texte);
     26                $extrait = mb_substr($texte, 0, 40);
     27                spip_log('Trad:' . $this->type . ' ' . $len . 'c. : ' . $extrait . ($len>40 ? '...' : ''), 'translate');
    2828                return $this->_traduire($texte, $destLang, $srcLang);
    2929        }
     
    3939        public $maxlen = 10000;
    4040
    41         protected function _traduire($texte, $destLang, $srcLang) {
     41        protected function _traduire($texte, $destLang, $srcLang){
    4242                // Bon sang, si tu n'utilises pas .NET, ce truc est documenté par les corbeaux
    4343                // attaquer le machin en SOAP (la méthode HTTP ne convient que pour des textes très courts (GET, pas POST)
     
    6767        public $maxlen = 4500;
    6868
    69         protected function _traduire($texte, $destLang = 'fr', $srcLang = 'en') {
     69        protected function _traduire($texte, $destLang = 'fr', $srcLang = 'en'){
    7070                $destLang = urlencode($destLang);
    7171                $srcLang = urlencode($srcLang);
     
    9090                $json = json_decode($body, true);
    9191
    92                 if (isset($json["error"])) {
     92                if (isset($json["error"])){
    9393                        spip_log($json, 'translate');
    9494                        return false;
     
    106106        public $maxlen = 10000;
    107107
    108         protected function _traduire($texte, $destLang = 'fr', $srcLang) {
     108        protected function _traduire($texte, $destLang = 'fr', $srcLang){
    109109                $destLang = urlencode($destLang);
    110110                //yandex peut deviner la langue source
     
    127127                curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-HTTP-Method-Override: GET'));
    128128                curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    129         $body = curl_exec($ch);
     129                $body = curl_exec($ch);
    130130                curl_close($ch);
    131131
    132132                //{"code":200,"lang":"fr-en","text":["hello"]}
    133133                $json = json_decode($body, true);
    134                
    135                 if (isset($result['code']) && $result['code'] > 200) {
     134
     135                if (isset($result['code']) && $result['code']>200){
    136136                        spip_log($json, 'translate');
    137                         return false; 
    138         }
    139                
     137                        return false;
     138                }
     139
    140140                return urldecode($json["text"][0]);
    141141        }
     
    147147        public $maxlen = 1000;
    148148
    149         public function _traduire($texte, $destLang = 'fr', $srcLang = 'en') {
    150                 if (!defined('_TRANSLATESHELL_CMD')) {
     149        public function _traduire($texte, $destLang = 'fr', $srcLang = 'en'){
     150                if (!defined('_TRANSLATESHELL_CMD')){
    151151                        spip_log('chemin de Translate shell non défini', 'translate.' . _LOG_ERREUR);
    152152                        return false;
     
    167167        }
    168168
    169         public function translate_line($texte, $destLang) {
    170                 if (strlen(trim($texte)) == 0) {
     169        public function translate_line($texte, $destLang){
     170                if (strlen(trim($texte))==0){
    171171                        return '';
    172172                }
     
    177177                $cmd = _TRANSLATESHELL_CMD . ' -b ' . ':' . escapeshellarg($destLang);
    178178                $cmdr = proc_open($cmd, $descriptorspec, $pipes);
    179                 if (is_resource($cmdr)) {
     179                if (is_resource($cmdr)){
    180180                        fwrite($pipes[0], $texte) && fclose($pipes[0]);
    181181                        $trad = stream_get_contents($pipes[1]);
     
    191191 * @return \TT_Traducteur|false
    192192 */
    193 function TT_traducteur() {
     193function TT_traducteur(){
    194194        static $traducteur = null;
    195         if (is_null($traducteur)) {
     195        if (is_null($traducteur)){
    196196                include_spip('inc/config');
    197197
     
    209209                ];
    210210
    211                 foreach ($traducteurs_dispo as $traducteur_dispo => $nom_constante) {
     211                foreach ($traducteurs_dispo as $traducteur_dispo => $nom_constante){
    212212                        if ((defined($nom_constante) and $key = constant($nom_constante))
    213                                 or $key = lire_config('traduiretexte/cle_' . $traducteur_dispo)) {
     213                                or $key = lire_config('traduiretexte/cle_' . $traducteur_dispo)){
    214214                                $class = $classes[$traducteur_dispo];
    215215                                $traducteur = new $class($key);
     
    217217                }
    218218
    219                 if (!$traducteur and defined('_TRANSLATESHELL_CMD')) {
     219                if (!$traducteur and defined('_TRANSLATESHELL_CMD')){
    220220                        $traducteur = new TT_Traducteur_Shell();
    221221                }
     
    231231 * Cependant, si la longueur du paragraphe dépasse `$maxlen` caractères,
    232232 * il est aussi découpé.
    233 
    234233 * @param string $texte
    235234 *     Texte à découper
     
    241240 *     Couples [hash => paragraphe]
    242241 */
    243 function TT_decouper_texte($texte, $maxlen = 0, $html = true) {
     242function TT_decouper_texte($texte, $maxlen = 0, $html = true){
    244243        $liste = array();
    245244        $texte = trim($texte);
    246245
    247         if (strlen($texte) == 0) {
     246        if (strlen($texte)==0){
    248247                return $liste;
    249248        }
     
    254253
    255254        $last = ''; // remettre les <p> en début de ligne.
    256         foreach ($prep as $line) {
    257                 if ($html) {
    258                         if (preg_match(",^<p\b[^>]*>$,i", $line)) {
     255        foreach ($prep as $line){
     256                if ($html){
     257                        if (preg_match(",^<p\b[^>]*>$,i", $line)){
    259258                                $last .= $line;
    260259                                continue;
     
    267266                }
    268267
    269                 if ($maxlen) {
     268                if ($maxlen){
    270269                        // max line = XXX chars
    271270                        $a = array();
    272                         while (mb_strlen($line) > $maxlen) {
    273                                 $len = intval($maxlen * 0.6); // 60% de la longueur
     271                        while (mb_strlen($line)>$maxlen){
     272                                $len = intval($maxlen*0.6); // 60% de la longueur
    274273                                $debut = mb_substr($line, 0, $len);
    275274                                $suite = mb_substr($line, $len);
     
    278277                                // chercher une fin de phrase pas trop loin
    279278                                // ou a defaut, une virgule ; au pire un espace
    280                                 if ($point === false) {
     279                                if ($point===false){
    281280                                        $point = mb_strpos(preg_replace('/[,;?:!]/', ' ', $suite), ' ');
    282281                                }
    283                                 if ($point === false) {
     282                                if ($point===false){
    284283                                        $point = mb_strpos($suite, ' ');
    285284                                }
    286                                 if ($point === false) {
     285                                if ($point===false){
    287286                                        $point = 0;
    288287                                }
    289                                 $a[] = trim($debut . mb_substr($suite, 0, 1 + $point));
    290                                 $line = mb_substr($line, $len + 1 + $point);
     288                                $a[] = trim($debut . mb_substr($suite, 0, 1+$point));
     289                                $line = mb_substr($line, $len+1+$point);
    291290                        }
    292291                }
    293292                $a[] = trim($line);
    294293
    295                 foreach ($a as $l) {
     294                foreach ($a as $l){
    296295                        $liste[md5($l)] = $l;
    297296                }
     
    300299        return $liste;
    301300}
    302 
    303301
    304302
     
    314312 * @return string|false
    315313 */
    316 function traduire_texte($texte, $destLang = 'fr', $srcLang = 'en') {
    317         if (strlen(trim($texte)) == 0) {
     314function traduire_texte($texte, $destLang = 'fr', $srcLang = 'en'){
     315        if (strlen(trim($texte))==0){
    318316                return '';
    319317        }
     
    324322
    325323        $traducteur = TT_traducteur();
    326         if (!$traducteur) {
     324        if (!$traducteur){
    327325                return false;
    328326        }
     
    330328        $trans = $traducteur->traduire($texte, $destLang, $srcLang);
    331329
    332         if (strlen($trans)) {
     330        if (strlen($trans)){
    333331                $ltr = lang_dir($destLang, 'ltr', 'rtl');
    334332                return "<div dir='$ltr' lang='$destLang'>$trans</div>";
     
    337335        }
    338336}
    339 
    340337
    341338
     
    351348 * @param string $srcLang
    352349 * @param array $options {
    353  *     @var bool $raw
     350 * @return string|false|array
     351 * @var bool $raw
    354352 *         Retourne un tableau des couples [ hash => [source, trad, new(bool)] ]
    355353 * }
    356  * @return string|false|array
    357  */
    358 function traduire($texte, $destLang = 'fr', $srcLang = 'en', $options = array()) {
    359         if (strlen(trim($texte)) == 0) {
     354 */
     355function traduire($texte, $destLang = 'fr', $srcLang = 'en', $options = array()){
     356        if (strlen(trim($texte))==0){
    360357                return '';
    361358        }
    362359
    363360        $traducteur = TT_traducteur();
    364         if (!$traducteur) {
     361        if (!$traducteur){
    365362                return false;
    366363        }
     
    377374        );
    378375
    379         if ($deja_traduits) {
     376        if ($deja_traduits){
    380377                $deja_traduits = array_column($deja_traduits, 'texte', 'hash');
    381                 foreach ($deja_traduits as $hash => $trad) {
     378                foreach ($deja_traduits as $hash => $trad){
    382379                        $traductions[$hash] = $trad;
    383380                }
     
    386383        $todo = array_filter($traductions, 'is_null');
    387384        $inserts = array();
    388         foreach ($todo as $hash => $dummy) {
     385        foreach ($todo as $hash => $dummy){
    389386                $paragraphe = $hashes[$hash];
    390387                $trad = $traducteur->traduire($paragraphe, $destLang, $srcLang);
    391                 if ($trad) {
     388                if ($trad){
    392389                        $traductions[$hash] = $trad;
    393390                        $inserts[] = array(
     
    400397                }
    401398        }
    402         if ($inserts) {
     399        if ($inserts){
    403400                sql_insertq_multi("spip_traductions", $inserts);
    404401        }
    405402
    406403        // retour brut
    407         if (!empty($options['raw'])) {
     404        if (!empty($options['raw'])){
    408405                $res = array();
    409                 foreach ($hashes as $hash => $paragraphe) {
     406                foreach ($hashes as $hash => $paragraphe){
    410407                        $res[$hash] = array(
    411408                                'source' => $paragraphe,
Note: See TracChangeset for help on using the changeset viewer.