Changeset 111472 in spip-zone


Ignore:
Timestamp:
Sep 4, 2018, 10:05:27 AM (8 months ago)
Author:
marcimat@…
Message:

Éviter des notices si pas de shell_exec dispo et autres.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _dev_/univers_spip/inc/univers_analyser.php

    r107430 r111472  
    7979 */
    8080function univers_getaddrbyhost($host, $timeout = 3) {
    81    $query = `nslookup -timeout=$timeout -retry=1 $host`;
    82    if(preg_match('/\nAddress: (.*)\n/', $query, $matches))
    83       return trim($matches[1]);
    84    return $host;
     81        $ip = gethostbyname($host);
     82        if ($ip and $ip !== $host) {
     83                return $ip;
     84        }
     85
     86        if (is_callable('shell_exec') && false === stripos(ini_get('disable_functions'), 'shell_exec')) {
     87                $query = `nslookup -timeout=$timeout -retry=1 $host`;
     88                if(preg_match('/\nAddress: (.*)\n/', $query, $matches)) {
     89                        return trim($matches[1]);
     90                }
     91        }
     92
     93        return $host;
    8594}
    8695
     
    256265                        // mettre a jour les plugins
    257266                        sql_delete('spip_websites_plugins',"id_website=".intval($id));
    258                         foreach($res['plugins'] as $p=>$v)
    259                                 sql_insertq('spip_websites_plugins', array('id_website'=>$id,'plugin'=>$p,'version'=>$v));
     267                        if (is_array($res['plugins'])) {
     268                                foreach($res['plugins'] as $p=>$v) {
     269                                        sql_insertq('spip_websites_plugins', array('id_website'=>$id,'plugin'=>$p,'version'=>$v));
     270                                }
     271                        }
    260272
    261273                        if ($debug) var_dump(univers_geoip($set['ip']));
Note: See TracChangeset for help on using the changeset viewer.