Changeset 598

Show
Ignore:
Timestamp:
01/21/09 23:13:05 (1 year ago)
Author:
syrus
Message:

optimisation postgres par sxpert - synchro avec la version en prod

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • wifidog/wifidog-auth/wifidog/admin/generic_object_admin.php

    r423 r598  
    6767require_once('classes/Server.php'); 
    6868require_once('classes/InterfaceElements.php'); 
    69 require_once('classes/Blacklist.php'); 
    7069 
    7170// Init values 
     
    325324    switch ($_REQUEST['object_class']) { 
    326325    case "Node": 
    327         $newText = $addText; 
    328         break; 
     326                $newText = $addText;  
     327                break;  
    329328    case "Server": 
    330329    case "Content": 
     
    476475 
    477476        $users_list = null; 
    478         $db->execSql("select distinct users.email from connections, users, nodes where connections.node_id   = nodes.node_id and nodes.network_id = '".$network_id."'  and connections.token_status = 'USED' and connections.user_id = users.user_id and ( users.account_status = 1 OR users.account_status = 2) ", $users_list); 
     477        $db->execSql("select distinct users.email from connections, users, nodes where connections.node_id   = nodes.node_id and nodes.network_id = '".$network_id."'  and connections.token_status = 'USED' and connections.user_id = users.user_id and ( users.account_status = 1 OR users.account_status = 2 OR users.account_status = 5 ) ", $users_list); 
    479478 
    480479        $num_users = 0; 
  • wifidog/wifidog-auth/wifidog/admin/hotspot_location_map.php

    r395 r598  
    4141 * @author     Francois Proulx <francois.proulx@gmail.com> 
    4242 * @copyright  2005-2006 Francois Proulx, Technologies Coeus inc. 
    43  * @version    Subversion $Id
     43 * @version    Subversion $Id: hotspot_location_map.php 1030 2006-05-09 20:01:17Z benoitg
    4444 * @link       http://www.wifidog.org/ 
    4545 */ 
  • wifidog/wifidog-auth/wifidog/admin/import_user_database.php

    r395 r598  
    3737 * @package    WiFiDogAuthServer 
    3838 * @copyright  2004-2006 Technologies Coeus inc. 
    39  * @version    Subversion $Id
     39 * @version    Subversion $Id: import_user_database.php 1030 2006-05-09 20:01:17Z benoitg
    4040 * @link       http://www.wifidog.org/ 
    4141 */ 
  • wifidog/wifidog-auth/wifidog/admin/index.php

    r395 r598  
    3838 * @author     Philippe April 
    3939 * @copyright  2004-2006 Philippe April 
    40  * @version    Subversion $Id
     40 * @version    Subversion $Id: index.php 1030 2006-05-09 20:01:17Z benoitg
    4141 * @link       http://www.wifidog.org/ 
    4242 */ 
  • wifidog/wifidog-auth/wifidog/admin/online_users.php

    r395 r598  
    3838 * @author     Philippe April 
    3939 * @copyright  2004-2006 Philippe April 
    40  * @version    Subversion $Id
     40 * @version    Subversion $Id: online_users.php 1030 2006-05-09 20:01:17Z benoitg
    4141 * @link       http://www.wifidog.org/ 
    4242 */ 
  • wifidog/wifidog-auth/wifidog/admin/stats_show_graph.php

    r395 r598  
    4343 * @author     Philippe April 
    4444 * @copyright  2005-2006 Philippe April 
    45  * @version    Subversion $Id
     45 * @version    Subversion $Id: stats_show_graph.php 989 2006-03-08 17:27:06Z max-horvath
    4646 * @link       http://www.wifidog.org/ 
    4747 */ 
  • wifidog/wifidog-auth/wifidog/admin/user_log.php

    r395 r598  
    3838 * @author     Philippe April 
    3939 * @copyright  2004-2006 Philippe April 
    40  * @version    Subversion $Id
     40 * @version    Subversion $Id: user_log.php 1030 2006-05-09 20:01:17Z benoitg
    4141 * @link       http://www.wifidog.org/ 
    4242 */ 
  • wifidog/wifidog-auth/wifidog/classes/AbstractDb.php

    r395 r598  
    4040 * @author     Benoit Grégoire <bock@step.polymtl.ca> 
    4141 * @copyright  2004-2006 Benoit Grégoire, Technologies Coeus inc. 
    42  * @version    Subversion $Id$ 
     42 * @version    Subversion $Id:  
     43 AbstractDb.php 1062 2006-05-22 14:04:46Z fproulx $ 
    4344 * @link       http://www.wifidog.org/ 
     45 */ 
     46 
     47/** 
     48 * Raphael Jacquot 2009-01-15 
     49 * Hack to cache the database connection 
     50 * the original code is horrible 
     51 * add a constructor 
    4452 */ 
    4553 
     
    5462class AbstractDb 
    5563{ 
     64    function AbstractDb() { 
     65        $this->db = FALSE; 
     66    } 
     67 
    5668    // Connects to PostgreSQL database 
    5769    function connect($db_name) 
     
    6173            $db_name = CONF_DATABASE_NAME; 
    6274 
    63         // Build connection string 
    64         $conn_string = "host=".CONF_DATABASE_HOST." dbname=$db_name user=".CONF_DATABASE_USER." password=".CONF_DATABASE_PASSWORD.""; 
    65         // Try connecting and hide warning, errors 
    66         $ptr_connexion = @ pg_pconnect($conn_string); 
    67  
    68         // Throw an exception if anything went wrong 
    69         if ($ptr_connexion == FALSE) 
    70             throw new Exception(sprintf(_("Unable to connect to database on %s"), CONF_DATABASE_HOST)); 
    71  
    72         return $ptr_connexion; 
     75        if ($this->db==FALSE) {  
     76            // Build connection string 
     77            $conn_string = "host=".CONF_DATABASE_HOST." dbname=$db_name user=".CONF_DATABASE_USER." password=".CONF_DATABASE_PASSWORD.""; 
     78            // Try connecting and hide warning, errors 
     79            $this->db = @ pg_pconnect($conn_string); 
     80 
     81            // Throw an exception if anything went wrong 
     82            if ($this->db == FALSE) 
     83                throw new Exception(sprintf(_("Unable to connect to database on %s"), CONF_DATABASE_HOST)); 
     84        } 
     85 
     86        return $this->db; 
    7387    } 
    7488 
  • wifidog/wifidog-auth/wifidog/classes/AbstractGeocoder.php

    r395 r598  
    3939 * @author     Francois Proulx <francois.proulx@gmail.com> 
    4040 * @copyright  2005-2006 Francois Proulx, Technologies Coeus inc. 
    41  * @version    Subversion $Id
     41 * @version    Subversion $Id: AbstractGeocoder.php 1013 2006-04-01 23:26:12Z benoitg
    4242 * @link       http://www.wifidog.org/ 
    4343 */ 
  • wifidog/wifidog-auth/wifidog/classes/Authenticator.php

    r395 r598  
    4141 * @copyright  2005-2006 Benoit Grégoire, Technologies Coeus inc. 
    4242 * @copyright  2006 Max Horvath, maxspot GmbH 
    43  * @version    Subversion $Id
     43 * @version    Subversion $Id: Authenticator.php 1031 2006-05-10 18:56:02Z benoitg
    4444 * @link       http://www.wifidog.org/ 
    4545 */ 
     
    136136 
    137137        if (!empty ($conn_id)) { 
    138             $db->execSqlUniqueRes("SELECT NOW(), *, CASE WHEN ((NOW() - reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired FROM connections JOIN users ON (users.user_id=connections.user_id) JOIN networks ON (users.account_origin = networks.network_id) WHERE connections.conn_id='$conn_id'", $info, false); 
     138            $db->execSqlUniqueRes("SELECT NOW(), *, CASE WHEN ((NOW() - reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired FROM connections JOIN users ON (users.user_id=connections.user_id) JOIN networks ON (users.account_origin = networks.network_id) WHERE connections.conn_id=$conn_id", $info, false); 
    139139 
    140140            $user = User::getObject($info['user_id']); 
     
    199199 
    200200        $conn_id = $db->escapeString($conn_id); 
    201         $db->execSqlUniqueRes("SELECT NOW(), *, CASE WHEN ((NOW() - reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired FROM connections JOIN users ON (users.user_id=connections.user_id) JOIN networks ON (users.account_origin = networks.network_id) WHERE connections.conn_id='$conn_id'", $info, false); 
     201        $db->execSqlUniqueRes("SELECT NOW(), *, CASE WHEN ((NOW() - reg_date) > networks.validation_grace_time) THEN true ELSE false END AS validation_grace_time_expired FROM connections JOIN users ON (users.user_id=connections.user_id) JOIN networks ON (users.account_origin = networks.network_id) WHERE connections.conn_id=$conn_id", $info, false); 
    202202        $network = Network::getObject($info['network_id']); 
    203203        $splash_user_id = $network->getSplashOnlyUser()->getId(); 
     
    207207        $mac = $db->escapeString($_REQUEST['mac']); 
    208208        $ip = $db->escapeString($_REQUEST['ip']); 
    209         $sql = "UPDATE connections SET "."token_status='".TOKEN_INUSE."',"."user_mac='$mac',"."user_ip='$ip',"."last_updated=NOW()"."WHERE conn_id='{$conn_id}';"; 
     209        $sql = "UPDATE connections SET token_status='".TOKEN_INUSE."', user_mac='$mac', user_ip='$ip', last_updated=CURRENT_TIMESTAMP WHERE conn_id={$conn_id};"; 
    210210        $db->execSqlUpdate($sql, false); 
    211211 
     
    232232         * with them 
    233233         */ 
    234         $sql = "DELETE FROM connections "."WHERE token_status='".TOKEN_UNUSED."' AND user_id = '{$info['user_id']}';"; 
     234        $sql = "DELETE FROM connections WHERE token_status='".TOKEN_UNUSED."' AND user_id = '{$info['user_id']}';"; 
    235235        $db->execSqlUpdate($sql, false); 
    236236    } 
     
    254254        // Write traffic counters to database 
    255255        $conn_id = $db->escapeString($conn_id); 
    256         $db->execSqlUpdate("UPDATE connections SET "."incoming='$incoming',"."outgoing='$outgoing',"."last_updated=NOW() "."WHERE conn_id='{$conn_id}'"); 
     256        $db->execSqlUpdate("UPDATE connections SET incoming=$incoming, outgoing=$outgoing, last_updated=CURRENT_TIMESTAMP WHERE conn_id={$conn_id}"); 
    257257    } 
    258258 
     
    274274        // Stop traffic counters update 
    275275        $conn_id = $db->escapeString($conn_id); 
    276         $db->execSqlUpdate("UPDATE connections SET "."timestamp_out=NOW(),"."token_status='".TOKEN_USED."' "."WHERE conn_id='{$conn_id}';\n", false); 
     276        $db->execSqlUpdate("UPDATE connections SET timestamp_out=CURRENT_TIMESTAMP, token_status='".TOKEN_USED."' WHERE conn_id={$conn_id};\n", false); 
    277277    } 
    278278 
  • wifidog/wifidog-auth/wifidog/classes/Blacklist.php

    r395 r598  
    3737 * @author     Benoit Grégoire <bock@step.polymtl.ca> 
    3838 * @author     Max Horvath <max.horvath@maxspot.de> 
     39 * @author     Pascal Rullier <pascal.rullier@wireless-fr.org> 
    3940 * @copyright  2005-2006 Benoit Grégoire, Technologies Coeus inc. 
    4041 * @copyright  2006 Max Horvath, maxspot GmbH 
     
    4344 */ 
    4445 
     46/** 
     47 * Load required classes 
     48 */ 
    4549require_once('classes/GenericObject.php'); 
    46  
     50require_once('classes/User.php'); 
    4751 
    4852/* Blacklist Status Codes */ 
     
    5862 * @author     Dylan Reeve <dylan@bunkermedia.co.nz> 
    5963 * @author     Max Horvath <max.horvath@maxspot.de> 
     64 * @author     Pascal Rullier <pascal.rullier@wireless-fr.org> 
    6065 * @copyright  2005-2006 Benoit Grégoire, Technologies Coeus inc. 
    6166 * @copyright  2006 Max Horvath, maxspot GmbH 
     
    6570class Blacklist implements GenericObject 
    6671{ 
    67  
    68         /** Object cache for the object factory (getObject())*/ 
    69        private static $instanceArray = array(); 
    70         /** 
    71      * The Blacklist Id 
    72      * 
    73      * @var string 
    74      * 
    75      * @access private 
    76      */ 
    77        private $object; 
    78  
    79        private $blacklist = array(); 
    80  
    81         /** 
    82      * Get an instance of the object 
    83      * 
    84      * 
    85      * @return mixed The Content object, or null if there was an error 
    86      *               (an exception is also thrown) 
    87      * 
    88      * @see GenericObject 
    89      * @static 
    90      * @access public 
    91      */ 
    92        public static function getObject() 
    93         { 
    94                if(!isset(self::$object)) 
    95                 { 
    96                        self::$object = new self(); 
    97                 } 
    98                return self::$object; 
    99         } 
    100  
    101         /** 
    102      * Constructor 
    103      * 
    104      * @return void 
    105      * 
    106      * @access private 
    107      */ 
    108        private function __construct() 
    109         { 
    110  
    111         } 
    112  
    113         /** 
    114      * Checks if a MAC address is blacklisted for a network. 
    115      *  
    116      * @param string $network_id Network ID 
    117      * @param string $mac Client MAC address 
    118      *  
    119      * @return bool 
    120      * 
    121      * @access public 
    122      */ 
    123        public function isBlacklisted($network_id, $mac) { 
    124                 $db = AbstractDb::getObject(); 
    125                  
    126                 $mac = $db->escapeString($mac); 
    127                 $network_id = $db->escapeString($network_id); 
    128                  
    129                 $row = null; 
    130                  
    131                 $sql = "SELECT * FROM blacklist_mac WHERE mac_addr = '$mac' AND network = 'network_id' AND status = ".BLACKLIST_ACTIVE; 
    132                  
    133                 $row = $db->execSqlUniqueRes($sql, false); 
    134                if ($row == null) { 
    135                        return FALSE; 
    136                 } else { 
    137                        return TRUE; 
    138                 } 
    139         } 
     72  /** 
     73   * The Blacklist Id 
     74   * 
     75   * @var string 
     76   * 
     77   * @access private 
     78   */ 
     79  private $id; 
     80   
     81  private $mRow; 
     82 
     83  /** Get an instance of the object 
     84   * @see GenericObject 
     85   * @param $id The object id 
     86   * @return the Content object, or null if there was an error (an exception is also thrown) 
     87   */ 
     88  static public function getObject($id) { 
     89    return new self($id); 
     90  } 
     91   
     92   
     93  /** 
     94   * Constructor 
     95   * 
     96   * 
     97   * @param string $object_id of the mac 
     98   * @return void 
     99   * 
     100   * @access private 
     101   */ 
     102  function __construct($object_id) 
     103  { 
     104    // define globals 
     105    global $db; 
     106 
     107    $sql = "SELECT * FROM blacklist_mac WHERE entry_id='{$object_id}'"; 
     108    $db->execSqlUniqueRes($sql, $row, false); 
     109    if ($row == null) 
     110      { 
     111        throw new Exception(sprintf(_("Blacklist %s could not be found in the database"), $object_id)); 
     112      } 
     113    $this->mRow = $row; 
     114    $this->mac_addr = $row['mac_addr']; 
     115    $this->entry_id = $row['entry_id']; 
     116  } //End class 
     117 
     118 
    140119         
     120  /** 
     121   * Create a new object 
     122   * 
     123   * @param string $network_id Network ID 
     124   * @param string $mac MAC Address 
     125   * @param string $user_id ID of user adding blacklist entry. 
     126   * @param string $notes Optional Notes about blacklist addition (reason etc...) 
     127   * @param string $message Optional Additional message to display to user. 
     128   * 
     129   * @return void 
     130   */ 
     131  static function createNewObject($blacklist_id = null) { 
     132    global $db; 
     133 
     134    if (empty($entry_id)) { 
     135      $entry_id = get_guid(); 
     136    } 
     137 
     138    $network_id = ''; 
     139 
     140    if (!empty($_REQUEST['new_blacklist_network_id'])) 
     141      $network_id = $_REQUEST['new_blacklist_network_id']; 
     142 
     143    $mac = $_REQUEST['new_blacklist_mac_addr']; 
     144    if(!isset($_REQUEST['new_blacklist_status'])) $status = 0; 
     145    else $status = 1; 
     146 
     147    $notes = $db->escapeString($_REQUEST['new_blacklist_notes']); 
     148    $message = $db->escapeString($_REQUEST['new_blacklist_message']); 
     149    // $user = $db->escapeString($_REQUEST['new_blacklist_user']); 
     150    $user_id = User::getCurrentUser()->getId(); 
     151     
     152    if (Blacklist::blacklistExists($mac)) { 
     153      throw new Exception(_('This mac already exists.')); 
     154    } 
     155     
     156    $sql = "INSERT INTO blacklist_mac (entry_id, mac_addr, add_time, status, network, notes, message, user_id)"; 
     157    $sql .= " VALUES ('$entry_id', '$mac', NOW(), '$status', '$network_id', '$notes', '$message', '$user_id')"; 
     158     
     159    if (!$db->execSqlUpdate($sql, false)) { 
     160      throw new Exception(_('Unable to insert new mac into database!')); 
     161    } 
     162     
     163    $_object = new self($entry_id); 
     164    return $_object; 
     165  } 
     166   
     167  /** 
     168   * Retreives the Id of the object 
     169   * 
     170   * @return string The Id 
     171   * 
     172   * @access public 
     173   */ 
     174  public function getId() 
     175  { 
     176    return $this->entry_id; 
     177  } 
     178   
     179  /** 
     180   * Get an interface to create a new blaclist entry 
     181   * 
     182   * @return string HTML markup 
     183   * 
     184   * @static 
     185   * @access public 
     186   */ 
     187  public static function getCreateNewObjectUI() 
     188  { 
     189    // Init values 
     190    $_html = ''; 
     191    $_html .= "<fieldset class='admin_container'>\n"; 
     192    $_html .= "<legend>"._("Add blacklist MAC")."</legend>\n<table>"; 
     193 
     194 
     195    // mac_addr 
     196    $_name = "new_blacklist_mac_addr"; 
     197    $_html .= "<tr><td>"._("Blacklist mac ID ex: 00:00:00:00:00:00")."</td>\n"; 
     198    $_html .= "<td><input type='text' size='17' maxlength='17' name='$_name'></td><tr>\n"; 
     199     
     200    // status 
     201    $_name = "new_blacklist_status"; 
     202    $_html .= "<tr><td>"._("Blacklist status")." : </td>\n"; 
     203    $_html .= "<td><input type='checkbox' name='$_name' >"._("active")."</td></tr>\n"; 
     204 
     205    // notes 
     206    $_name = "new_blacklist_notes"; 
     207    $_html .= "<tr><td>"._("Blacklist notes")." : </td>\n"; 
     208    $_html .= "<td><input type='textarea' name='$_name'></td></tr>\n"; 
     209     
     210    // message 
     211    $_name = "new_blacklist_message"; 
     212    $_html .= "<tr><td>"._("Blacklist message")." : </td>\n"; 
     213    $_html .= "<td><input type='textarea' name='$_name'></td></tr>\n"; 
     214 
     215    // user 
     216    // $_name = "new_blacklist_user"; 
     217    // $_html .= "<tr><td>"._("Blacklist added by")." : </td>\n"; 
     218    // $_html .= "<td><input type='text' name='$_name'></td></tr>\n"; 
     219    
     220    $_html .= "</table>\n</fieldset>\n";  
     221 
     222    return $_html; 
     223  } 
     224 
     225  /** 
     226   * Process the new object interface. 
     227   * 
     228   * Will return the new object if the user has the credentials and the form 
     229   * was fully filled. 
     230   * 
     231   * @return string The blacklist object or null if no new blacklist was created 
     232   * 
     233   * @static 
     234   * @access public 
     235   */ 
     236  public static function processCreateNewObjectUI() 
     237  { 
     238    return self :: createNewObject(); 
     239  } 
     240   
     241  public function getAdminUI() 
     242  { 
     243    global $db; 
     244    $html = ''; 
     245 
     246    $html .= "<fieldset class='admin_container ".get_class($this)."'>\n"; 
     247    $html .= "<legend>"._("Blacklist administration")."</legend><table>\n"; 
     248     
     249    $html .= "<tr>\n"; 
     250    $html .= "<td>"._("Blacklist MAC address")." : </td>\n"; 
     251    $html .= "<td>\n"; 
     252    $name = "blacklist_".$this->getId()."_mac_addr"; 
     253    $html .= "<input type='text' name='$name' value='".htmlentities($this->getMAC())."' size=30>\n"; 
     254    $html .= "</td>\n"; 
     255    $html .= "</tr>\n"; 
     256 
     257    $html .= "<tr>\n"; 
     258    $html .= "<td>"._("Blacklist Status")." : </td>\n"; 
     259    $html .= "<td>\n"; 
     260    $name = "blacklist_".$this->getId()."_status"; 
     261    $html .= "<input type='checkbox' name='$name' "; 
     262 
     263    if ($this->getStatus()) $html .= "value='on' checked"; 
     264    else $html .= "value='off' unchecked"; 
     265 
     266    $html .= "> active\n"; 
     267    $html .= "</td>\n"; 
     268    $html .= "</tr>\n"; 
     269 
     270    $html .= "<tr>\n"; 
     271    $html .= "<td>"._("Blacklist Notes")." : </td>\n"; 
     272    $html .= "<td>\n"; 
     273    $name = "blacklist_".$this->getId()."_notes"; 
     274    $html .= "<input type='textarea' name='$name' value='".htmlentities($this->getNotes())."' size=30>\n"; 
     275    $html .= "</td>\n"; 
     276    $html .= "</tr>\n"; 
     277 
     278    $html .= "<tr>\n"; 
     279    $html .= "<td>"._("Blacklist Message")." : </td>\n"; 
     280    $html .= "<td>\n"; 
     281    $name = "blacklist_".$this->getId()."_message"; 
     282    $html .= "<input type='textarea' name='$name' value='".htmlentities($this->getMessage())."' size=30>\n"; 
     283    $html .= "</td>\n"; 
     284    $html .= "</tr>\n"; 
     285 
     286    $html .= "</table></fieldset>\n"; 
     287    return $html; 
     288   
     289 
     290  } 
     291 
     292  public function processAdminUI() 
     293  { 
     294    global $db; 
     295    $name = "blacklist_".$this->getId()."_mac_addr"; 
     296    $this->setMacAddress($_REQUEST[$name]); 
     297 
     298    $name = "blacklist_".$this->getId()."_status"; 
     299    //    $this->setMacAddress($_REQUEST[$name]); 
     300    if(!isset($_REQUEST[$name])) $status = 0; 
     301    else $status = 1; 
     302 
     303    $this->setStatus($status); 
     304 
     305    $name = "blacklist_".$this->getId()."_notes"; 
     306    $this->setNotes($_REQUEST[$name]); 
     307 
     308    $name = "blacklist_".$this->getId()."_message"; 
     309    $this->setMessage($_REQUEST[$name]); 
     310 
     311 
     312  } 
     313 
     314  public function setMacAddress($mac_addr) 
     315  { 
     316    global $db; 
     317 
     318    if (!($update = $db->execSqlUpdate("UPDATE blacklist_mac SET mac_addr='{$mac_addr}' WHERE entry_id='{$this->entry_id}'"))) 
     319      { 
     320        throw new Exception(_("Could not update mac address.")); 
     321      } 
     322    $this->mRow['mac_addr'] = $mac_addr;  
     323 
     324  } 
     325 
     326  public function setStatus($status) 
     327  { 
     328    global $db; 
     329 
     330    $user_id = User::getCurrentUser()->getId(); 
     331 
     332    if (!($update = $db->execSqlUpdate("UPDATE blacklist_mac SET status='{$status}', add_time=NOW(), user_id='{$user_id}' WHERE entry_id='{$this->entry_id}'"))) 
     333      { 
     334        throw new Exception(_("Could not update status.")); 
     335      } 
     336    $this->mRow['status'] = $status;  
     337 
     338  } 
     339 
     340 
     341  public function setNotes($notes) 
     342  { 
     343    global $db; 
     344 
     345    $notes_str = $db->escapeString($notes); 
     346 
     347    if (!($update = $db->execSqlUpdate("UPDATE blacklist_mac SET notes='$notes_str' WHERE entry_id='{$this->entry_id}'"))) 
     348      { 
     349        throw new Exception(_("Could not update notes.")); 
     350      } 
     351    $this->mRow['notes'] = $notes_str;  
     352 
     353  } 
     354 
     355  public function setMessage($message) 
     356  { 
     357    global $db; 
     358 
     359    $message_str = $db->escapeString($message); 
     360 
     361    if (!($update = $db->execSqlUpdate("UPDATE blacklist_mac SET message='$message_str' WHERE entry_id='{$this->entry_id}'"))) 
     362      { 
     363        throw new Exception(_("Could not update message.")); 
     364      } 
     365    $this->mRow['message'] = $message_str;  
     366 
     367  } 
     368 
     369 
     370  public function delete(& $errmsg) 
     371  { 
     372    global $db; 
     373 
     374    if (!($update = $db->execSqlUpdate("DELETE FROM blacklist_mac WHERE entry_id='{$this->entry_id}'"))) 
     375      { 
     376        $errmsg = "Could not delete object."; 
     377        return false; 
     378      } 
     379    return true; 
     380  } 
     381 
     382  /** 
     383   * Get an interface to pick a blacklist entry 
     384   * @param $user_prefix A identifier provided by the programmer to recognise it's generated html form 
     385   * @param $sql_additional_where Addidional where conditions to restrict the candidate objects 
     386   * @return html markup 
     387   */ 
     388 
     389  public static function getAllBlacklistUI($user_prefix, $sql_additional_where = null, $type_interface = "select") 
     390  { 
     391    global $db; 
     392    $html = ''; 
     393    $name = "{$user_prefix}"; 
     394     
     395    $sql = "SELECT * from blacklist_mac WHERE 1=1 $sql_additional_where ORDER BY mac_addr DESC"; 
     396    $blacklist_rows = null; 
     397    $db->execSql($sql, $blacklist_rows, false); 
     398     
     399    if ($blacklist_rows != null) { 
     400      if ($type_interface != "table") { 
     401        $html .= _("Blacklist"); 
     402        $html .= ": "; 
     403        $i = 0; 
     404        foreach ($blacklist_rows as $blacklist_row) 
     405          { 
     406            $tab[$i][0] = $blacklist_row['mac_addr']; 
     407            $tab[$i][1] = $blacklist_row['mac_addr'].": ".$blacklist_row['status']." "._("Username")." :".$blacklist_row['user']; 
     408            $i++; 
     409          } 
     410        $html .= FormSelectGenerator :: generateFromArray($tab, null, $name, null, false); 
     411      } else { 
     412        $html .= "\t<div id='node_list_div' class='node_admin tableContainer'>\n"; 
     413        $html .= "\t\t<table id='nodes_list' class='node_admin filterable scrollable sortable'>\n\n"; 
     414        $html .= "\t\t\t<thead class='fixedHeader'>\n\t\t\t\t<tr class='nofilter'>\n\t\t\t\t\t<th>Mac address</th>\n\t\t\t\t\t<th>Status</th>\n\t\t\t\t\t<th>Notes</th>\n\t\t\t\t\t<th>Messages</th>\n\t\t\t\t\t<th>Set by</th>\n\t\t\t\t\t<th>When</th>\n</tr>\n\t\t\t</thead>\n\t\t\t<tbody>"; 
     415         
     416        $i = 0; 
     417        foreach ($blacklist_rows as $blacklist_row) 
     418          { 
     419            $href = GENERIC_OBJECT_ADMIN_ABS_HREF."?object_id={$blacklist_row['entry_id']}&object_class=Blacklist&action=edit"; 
     420            $html .= "\t\t\t\t<tr class='row' onclick=\"javascript:location.href='{$href}'\">\n\t\t\t\t\t<td>{$blacklist_row['mac_addr']}<noscript>(<a href='{$href}'>edit</a>)</noscript></td>\t\t\t\t\t<td>"; 
     421            $html .= self::displayStatus($blacklist_row['status']); 
     422            $html .= "</td>\n\t\t\t\t\t<td>{$blacklist_row['notes']}</td>\n\t\t\t\t\t<td>{$blacklist_row['message']}</td>\n\t\t\t\t<td>".User::getObject($blacklist_row['user_id'])->getUsername()."</td>\n\t\t\t\t\t<td>{$blacklist_row['add_time']}</td>\n</tr>\n"; 
     423          } 
     424        $html .= "\t\t\t</tbody>\n\t\t</table>\n"; 
     425        $html .= "\t</div>\n"; 
     426        $html .= "</fieldset>\n"; 
     427         
     428      } 
     429    } 
     430    else { 
     431      $html .= "<div class='warningmsg'>"._("Sorry, no blacklist available in the database")."</div>\n"; 
     432    } 
     433    return $html; 
     434  } 
     435 
     436  /** 
     437   * Checks if a MAC address is blacklisted for a network. 
     438   *  
     439   * @param string $network_id Network ID 
     440   * @param string $mac Client MAC address 
     441   *  
     442   * @return bool 
     443   * 
     444   * @access public 
     445   */ 
     446  public function isBlacklisted($network_id, $mac) { 
     447    global $db; 
     448     
     449    $mac = $db->escapeString($mac); 
     450    $network_id = $db->escapeString($network_id); 
     451     
     452    $row = null; 
     453     
     454    // $sql = "SELECT * FROM blacklist_mac WHERE mac_addr = '$mac' AND network = 'network_id' AND status = ".BLACKLIST_ACTIVE; 
     455    $sql = "SELECT * FROM blacklist_mac WHERE mac_addr = '$mac' AND status = ".BLACKLIST_ACTIVE; 
     456     
     457    $row = $db->execSqlUniqueRes($sql, false); 
     458    if ($row == null) { 
     459      return FALSE; 
     460    } else { 
     461      return TRUE; 
     462    } 
     463  } 
     464 
     465  public function blacklistExists($mac) 
     466  { 
     467    global $db; 
     468 
     469    $sql = "SELECT * FROM blacklist_mac WHERE mac_addr = '$mac'"; 
     470 
     471    $db->execSqlUniqueRes($sql, $row, false); 
     472 
     473    if ($row == null) { 
     474      return FALSE; 
     475    } else { 
     476    return TRUE; 
     477    } 
     478  } 
    141479         
    142         /** 
    143      * Add a blacklist entry 
    144      * 
    145      * @param string $network_id Network ID 
    146      * @param string $mac MAC Address 
    147      * @param string $user_id ID of user adding blacklist entry. 
    148      * @param string $notes Optional Notes about blacklist addition (reason etc...) 
    149      * @param string $message Optional Additional message to display to user. 
    150      * 
    151      * @return void 
    152      */ 
    153        public function addBlacklistEntry($network_id, $mac, $user_id, $notes="", $message="") { 
    154                 $db = AbstractDb::getObject(); 
    155                  
    156                 $network_id = $db->escapeString($network_id); 
    157                 $mac = $db->escapeString($mac); 
    158                 $notes = $db->escapeString($notes); 
    159                 $user_id = $db->escapeString($user_id); 
    160                  
    161                 $sql = "INSERT INTO blacklist_mac (mac_addr, add_time, status, network, notes, message, user_id)"; 
    162                 $sql .= " VALUES ('$mac', CURRENT_TIMESTAMP, ".BLACKLIST_ACTIVE.", '$network_id', '$notes', '$message', '$user_id')"; 
    163                  
    164                 $db->execSqlUpdate($sql, false); 
    165         } 
    166          
    167          
    168         /** 
    169      * Get a blacklist entry 
    170      * 
    171      * @param string $network_id Network ID 
    172      * @param string $mac MAC Address 
    173      * @param bool $activeOnly Optional Return only active blacklist entries - Default: TRUE 
    174      * 
    175      * @return mixed Row from SQL query. 
    176      */ 
    177        public function getBlacklistEntry($network_id, $mac, $activeOnly=TRUE) { 
    178                 $db = AbstractDb::getObject(); 
    179                  
    180                 $mac = $db->escapeString($mac); 
    181                 $network_id = $db->escapeString($network_id); 
    182                  
    183                 $sql = "SELECT * FROM blacklist_mac WHERE mac_addr = '$mac' AND network = 'network_id'"; 
    184                if ($activeOnly) { 
    185                         $sql .= "AND status = ".BLACKLIST_ACTIVE; 
    186                 } 
    187                                  
    188                 $row = $db->execSqlUniqueRes($sql, false); 
    189                  
    190                return $row; 
    191         } 
    192          
    193          
    194      /** 
    195      * Remove a blacklist entry 
    196      * 
    197      * @param string $network_id Network ID 
    198      * @param string $mac MAC Address 
    199      * 
    200      * @return bool 
    201      */ 
    202        public function removeBlacklistEntry($network_id, $mac) { 
    203                 $db = AbstractDb::getObject(); 
    204                  
    205                 $entry = $this->getBlacklistEntry($network_id, $mac); 
    206                if (!empty($entry['entry_id'])) { 
    207                         $id = $entry['entry_id']; 
    208                         $sql = "UPDATE blacklist_mac SET status = ".BLACKLIST_DISABLED.", remove_time = CURRENT_TIMESTAMP WHERE entry_id = $id"; 
    209                         $db->execSqlUpdate($sql, false); 
    210                          
    211                        return TRUE; 
    212                 } else { 
    213                        return FALSE; 
    214                 } 
    215         } 
    216          
    217          
    218      /** 
    219      * Get blacklist entries 
    220      * 
    221      * @param string $network_id Optional Network ID 
    222      * @param string $mac Optional MAC Address 
    223      * @param string $status Optional Entry status 
    224      * 
    225      * @return bool 
    226      */ 
    227        public function getBlacklist($network_id=null, $mac=null, $status=null) { 
    228                 $db = AbstractDb::getObject(); 
    229                  
    230                 $conditions = array(); 
    231                  
    232                 $sql = "SELECT * FROM blacklist_mac "; 
    233                if ($network_id != null) { 
    234                         $network_id = $db->escapeString($network_id); 
    235                         $conditions[] = "network_id = '$network_id'"; 
    236                 } 
    237                  
    238                if ($mac != null) { 
    239                         $mac = $db->escapeString($mac); 
    240                         $conditions[] = "mac_addr = '$mac'"; 
    241                 } 
    242                  
    243                if ($status != null) { 
    244                         $status = $db->escapeString($status); 
    245                         $conditions[] = "status = $status"; 
    246                 } 
    247                  
    248                if (!empty($conditions)) { 
    249                         $sql .= "WHERE ".join(' AND ', $conditions); 
    250                 } 
    251                  
    252                 $rows = array(); 
    253                 $db->execSql($sql, $rows, false); 
    254                  
    255                return $rows; 
    256         } 
     480  public function getMAC() 
     481  { 
     482    return $this->mRow['mac_addr']; 
     483  } 
     484 
     485  public function getStatus() 
     486  { 
     487    return $this->mRow['status']; 
     488  } 
     489 
     490  public function getNotes() 
     491  { 
     492    return $this->mRow['notes']; 
     493  } 
     494 
     495  public function getMessage() 
     496  { 
     497    return $this->mRow['message']; 
     498  } 
     499 
     500  public function displayStatus($status) 
     501  { 
     502    if ($status == BLACKLIST_ACTIVE) return _("active"); 
     503    else return _("disabled"); 
     504  } 
     505 
    257506} 
    258507 
     508 
    259509?>  
  • wifidog/wifidog-auth/wifidog/classes/Cache.php

    r395 r598  
    3939 * @author     Max Horvath <max.horvath@maxspot.de> 
    4040 * @copyright  2005-2006 Max Horvath, maxspot GmbH 
    41  * @version    Subversion $Id
     41 * @version    Subversion $Id: Cache.php 1013 2006-04-01 23:26:12Z benoitg
    4242 * @link       http://www.wifidog.org/ 
    4343 */ 
  • wifidog/wifidog-auth/wifidog/classes/Content.php

    r395 r598  
    4040 * @author     Benoit Grégoire <bock@step.polymtl.ca> 
    4141 * @copyright  2005-2006 Benoit Grégoire, Technologies Coeus inc. 
    42  * @version    Subversion $Id
     42 * @version    Subversion $Id: Content.php 1074 2006-06-18 09:53:56Z fproulx
    4343 * @link       http://www.wifidog.org/ 
    4444 */ 
  • wifidog/wifidog-auth/wifidog/classes/DateTime.php

    r395 r598  
    3838 * @author     Francois Proulx <francois.proulx@gmail.com> 
    3939 * @copyright  2005-2006 Francois Proulx, Technologies Coeus inc. 
    40  * @version    Subversion $Id
     40 * @version    Subversion $Id: DateTime.php 1013 2006-04-01 23:26:12Z benoitg
    4141 * @link       http://www.wifidog.org/ 
    4242 */ 
     
    5252 * @copyright  2005 Francois Proulx, Technologies Coeus inc. 
    5353 */ 
    54 class DateTime 
     54class DateTimeWD 
    5555{ 
    5656    const INTERFACE_DATE_SELECTOR = 1; 
  • wifidog/wifidog-auth/wifidog/classes/Dependencies.php

    r395 r598  
    4040 * @copyright  2005-2006 Philippe April 
    4141 * @copyright  2005-2006 Max Horváth, maxspot GmbH 
    42  * @version    Subversion $Id
     42 * @version    Subversion $Id: Dependencies.php 1023 2006-04-25 03:57:05Z benoitg
    4343 * @link       http://www.wifidog.org/ 
    4444 */ 
  • wifidog/wifidog-auth/wifidog/classes/EventLogging.php

    r395 r598  
    228228 * @author     Rob Janes <janes.rob@gmail.com> 
    229229 * @copyright  2005-2006 Rob Janes 
    230  * @version    Subversion $Id
     230 * @version    Subversion $Id: EventLogging.php 1019 2006-04-24 15:59:45Z lokkju
    231231 * @link       http://www.wifidog.org/ 
    232232 */ 
  • wifidog/wifidog-auth/wifidog/classes/FormSelectGenerator.php

    r395 r598  
    3838 * @author     Benoit Grégoire <bock@step.polymtl.ca> 
    3939 * @copyright  2004-2006 Benoit Grégoire, Technologies Coeus inc. 
    40  * @version    Subversion $Id
     40 * @version    Subversion $Id: FormSelectGenerator.php 1074 2006-06-18 09:53:56Z fproulx
    4141 * @link       http://www.wifidog.org/ 
    4242 */ 
  • wifidog/wifidog-auth/wifidog/classes/GenericObject.php

    r395 r598  
    3838 * @author     Benoit Grégoire <bock@step.polymtl.ca> 
    3939 * @copyright  2005-2006 Benoit Grégoire, Technologies Coeus inc. 
    40  * @version    Subversion $Id
     40 * @version    Subversion $Id: GenericObject.php 1042 2006-05-20 20:28:27Z benoitg
    4141 * @link       http://www.wifidog.org/ 
    4242 */ 
  • wifidog/wifidog-auth/wifidog/classes/GisPoint.php

    r395 r598  
    3838 * @author     Francois Proulx <francois.proulx@gmail.com> 
    3939 * @copyright  2005-2006 Francois Proulx, Technologies Coeus inc. 
    40  * @version    Subversion $Id
     40 * @version    Subversion $Id: GisPoint.php 1013 2006-04-01 23:26:12Z benoitg
    4141 * @link       http://www.wifidog.org/ 
    4242 */ 
  • wifidog/wifidog-auth/wifidog/classes/Locale.php

    r413 r598  
    400400                    break; 
    401401                } 
    402             case ('pt') : 
    403                 { 
    404                     $str .= "$resultats[portuguese_name], $resultats[country_portuguese_name]"; 
     402            case ('pt_BR') : 
     403                { 
     404                    $str .= "$resultats[portuguese_brasil_name], $resultats[country_portuguese_brasil_name]"; 
     405                    break; 
     406                 } 
     407            case ('pt_PT') : 
     408                { 
     409                    $str .= "$resultats[portuguese_portugal_name], $resultats[country_portuguese_portugal_name]"; 
    405410                    break; 
    406411                } 
     
    413418                { 
    414419                    $str .= "$resultats[italian_name], $resultats[country_italian_name]"; 
     420                    break; 
     421                } 
     422            case ('sv') : 
     423                { 
     424                    $str .= "$resultats[swedish_name], $resultats[country_swedish_name]"; 
     425                    break; 
     426                } 
     427            case ('bg') : 
     428                { 
     429                    $str .= "$resultats[bulgarian_name], $resultats[country_bulgarian_name]"; 
     430                    break; 
     431                } 
     432            case ('el') : 
     433                { 
     434                    $str .= "$resultats[greek_name], $resultats[country_greek_name]"; 
     435                    break; 
     436                } 
     437            case ('nl') : 
     438                { 
     439                    $str .= "$resultats[dutch_name], $resultats[country_dutch_name]"; 
    415440                    break; 
    416441                } 
  • wifidog/wifidog-auth/wifidog/classes/LocaleList.php

    r403 r598  
    7373                                 'de' => _("German"), 
    7474                                 'es' => _("Spanish"), 
    75                                  'pt' => _("Portuguese"), 
     75                                 'pt_BR' => _("Portuguese (Brasil)"), 
     76                                 'pt_PT' => _("Portuguese (Portugal)"), 
    7677                                 'ja' => _("Japanese"), 
    77                                  'it' => _("Italian"));    
     78                                 'it' => _("Italian"), 
     79                                 'sv' => _("Swedish"), 
     80                                 'bg' => _("Bulgarian"), 
     81                                 'el' => _("Greek"), 
     82                                 'nl' => _("Dutch")); 
    7883        if (array_key_exists($locale, $_humanLanguages)) { 
    7984            $_retvalue = $_humanLanguages[$locale]; 
  • wifidog/wifidog-auth/wifidog/classes/Mail.php

    r463 r598  
    4747require_once('lib/PHPMailer/class.phpmailer.php'); 
    4848require_once('lib/PHPMailer/class.smtp.php'); 
    49  
    50 require('Net/SMTP.php'); 
    5149 
    5250/** 
     
    346344 
    347345        /** 
    348          * Test email onto MX host 
    349          * 
    350          * This function performs a test to MX host, and check if e-mail is valid or not 
    351          * 
    352          * @param string $srv Server to test 
    353          * @param string $email  The email to validate 
    354          * 
    355          * @return bool Returns if email exists or not 
    356          * 
    357          * @static 
    358          * @access public 
    359          */ 
    360  
    361         public function testMail($srv, $email) 
    362         { 
    363  
    364                 $host = $_SERVER['SERVER_NAME']; 
    365                 $from = "rafi@wireless-fr.org"; 
    366                 $fromLine = "mail from: check@$host\n"; 
    367                 $rcpt = "rcpt to: $email\n"; 
    368  
    369                 /* Create a new Net_SMTP object. */ 
    370                 if (! ($smtp = new Net_SMTP($srv))) { 
    371                         // echo("Unable to instantiate Net_SMTP object\n"); 
    372                         return false; 
    373                 } 
    374                  
    375                 /* Connect to the SMTP server. */ 
    376                 if (PEAR::isError($e = $smtp->connect())) { 
    377                         // echo($e->getMessage() . "\n"); 
    378                         return false; 
    379                 } 
    380  
    381                 /* HELO to the SMTP server. */ 
    382                 if (PEAR::isError($e = $smtp->helo($host))) { 
    383                         // echo($e->getMessage() . "\n"); 
    384                         return false; 
    385                 } 
    386  
    387                 /* Send the 'MAIL FROM:' SMTP command. */ 
    388                 if (PEAR::isError($smtp->mailFrom($from))) { 
    389                         // echo("Unable to set sender to <$from>\n"); 
    390                         return false; 
    391                 } 
    392                  
    393                 /* Address the message to each of the recipients. */ 
    394                 if (PEAR::isError($res = $smtp->rcptTo($email))) { 
    395                         // echo("Unable to add recipient <$email>: " . $res->getMessage() . "\n<br />Error ".implode(": ",$smtp->getResponse())); 
    396                         return false; 
    397                 } 
    398  
    399                 /* Disconnect from the SMTP server. */ 
    400                 $smtp->disconnect(); 
    401                 return true; 
    402         } 
    403  
    404  
    405         /** 
    406346         * Validates an email address 
    407347         * 
    408348         * This function will make sure an e-mail is RFC822 compliant 
    409          * and is not black listed. Check the e-mail onto MX host. 
     349         * and is not black listed. 
    410350         * 
    411351         * @param string $mail The email address to validate 
     
    432372                            $_retVal = true; 
    433373                        } 
    434  
    435                         // Check if email is valid on mx host 
    436  
    437                         // gets domain name 
    438                         list($username,$domain)=split('@',$email); 
    439                         // checks for if MX records in the DNS 
    440                         $mxhosts = array(); 
    441                         if(!getmxrr($domain, $mxhosts)) { 
    442                                 // no mx records, ok to check domain 
    443                                 $fp=@fsockopen($domain,25,$errno,$errstr,30); 
    444                                 if (!$fp) { 
    445                                         $_retVal = false; 
    446                                 } else { 
    447                                         fclose($fp); 
    448                                         $_retVal = testMail($host,$email); 
    449                                 } 
    450                         } else { 
    451                                 // mx records found 
    452                                 foreach ($mxhosts as $host) { 
    453                                         // echo "MX host : ".$host."<br>\n"; 
    454                                         $fp=@fsockopen($host,25,$errno,$errstr,30); 
    455                                         if ($fp) { 
    456                                                 fclose($fp); 
    457                                                 $_retVal = Mail::testMail($host,$email); 
    458                                         } 
    459                                 } 
    460                         } 
    461374                } 
    462375 
    463376                return $_retVal; 
    464377        } 
     378 
    465379} 
    466  
    467380 
    468381/* 
  • wifidog/wifidog-auth/wifidog/classes/Node.php

    r255 r598  
    4949require_once('classes/AbstractGeocoder.php'); 
    5050require_once('classes/Utils.php'); 
    51 require_once('classes/DateTime.php'); 
     51require_once('classes/DateTimeWD.php'); 
    5252 
    5353/** 
     
    331331                $html .= _("Add a new node with ID")." \n"; 
    332332                $name = "new_node_id"; 
    333                 $html .= "<input type='text' size='10' name='{$name}'>\n"; 
     333                $html .= "<input type='text' size='16' name='{$name}'>\n"; 
    334334                if ($network) 
    335335                { 
     
    889889                $_title = _("Creation date"); 
    890890                if ($_userIsAdmin) { 
    891                   $_data = DateTime::getSelectDateTimeUI(new DateTime($this->getCreationDate()), "node_" . $hashed_node_id . "_creation_date", DateTime::INTERFACE_DATETIME_FIELD, "node_creation_date_input"); 
     891                  $_data = DateTimeWD::getSelectDateTimeUI(new DateTimeWD($this->getCreationDate()), "node_" . $hashed_node_id . "_creation_date", DateTimeWD::INTERFACE_DATETIME_FIELD, "node_creation_date_input"); 
    892892                } else { 
    893893                  $_data  = htmlspecialchars($this->getCreationDate(), ENT_QUOTES); 
     
    11151115                if ($_userIsAdmin || $_userIsNetworkStakeHolder) { 
    11161116                $name = "node_".$hashed_node_id."_creation_date"; 
    1117                 $this->setCreationDate(DateTime::processSelectDateTimeUI($name, DateTime :: INTERFACE_DATETIME_FIELD)->getIso8601FormattedString()); 
     1117                $this->setCreationDate(DateTimeWD::processSelectDateTimeUI($name, DateTimeWD :: INTERFACE_DATETIME_FIELD)->getIso8601FormattedString()); 
    11181118                } else { 
    11191119                $this->setCreationDate($this->getCreationDate()); 
  • wifidog/wifidog-auth/wifidog/classes/NodeLists/NodeListHTML.php

    r39 r598  
    4646 * Load required classes 
    4747 */ 
     48// Modif de Thus0 
    4849require_once('classes/Dependencies.php'); 
     50// Fin Modif de Thus0 
    4951require_once('classes/Network.php'); 
    5052require_once('classes/Node.php'); 
     
    132134        $this->_mainUI = new MainUI(); 
    133135 
    134  
    135                 // Modif PR : list all deployed or non wifidog nodes in all networks 
    136  
    137         $db->execSql("SELECT *, (NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE' ORDER BY lower(name)", $this->_nodes, false); 
     136        // Query the database, sorting by node name 
     137//        $db->execSql("SELECT *, (NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE network_id = '" . $db->escapeString($this->_network->getId()) . "' AND (node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE') ORDER BY name", $this->_nodes, false); 
     138// Modif PR 
     139        $db->execSql("SELECT *, (NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE' ORDER BY name", $this->_nodes, false); 
    138140    } 
    139141 
     
    181183        $this->_smarty->assign('nodes', array()); 
    182184        $this->_smarty->assign('num_deployed_nodes', 0); 
     185        // Modif de Thus0 
    183186        $this->_smarty->assign('PdfSupported', false); 
    184187 
     
    200203            $this->_smarty->assign('GMapsEnabled', true); 
    201204        } 
    202  
     205        // Modif de Thus0 
    203206        if (Dependencies::check("FPDF")) { 
    204207            $this->_smarty->assign('PdfSupported', true); 
    205208        } 
    206  
     209        // Fin modif de Thus0 
    207210        // Set section of Smarty template 
    208211        $this->_smarty->assign('sectionTOOLCONTENT', true); 
  • wifidog/wifidog-auth/wifidog/classes/NodeLists/NodeListJiWireCSV.php

    r39 r598  
    9494        global $db; 
    9595 
    96         // Init network 
     96        // Init network  
     97            //PR 
    9798        $this->_network = $network; 
    9899 
     
    100101 
    101102        // Query the database, sorting by node name 
    102 //        $db->execSql("SELECT *, (NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE network_id = '" . $db->escapeString($this->_network->getId()) . "' AND (node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE') ORDER BY lower(name)", $this->_nodes, false); 
     103//        $db->execSql("SELECT *, (NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE network_id = '" . $db->escapeString($this->_network->getId()) . "' AND (node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE') ORDER BY name", $this->_nodes, false); 
    103104// PR 
    104         $db->execSql("SELECT *, (NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE' ORDER BY lower(name)", $this->_nodes, false); 
     105        $db->execSql("SELECT *, (NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE' ORDER BY name", $this->_nodes, false); 
    105106    } 
    106107 
     
    118119        header("Pragma: no-cache"); 
    119120        header("Content-Type: text/csv; charset=UTF-8"); 
     121                // PR 
     122                header("Content-Disposition: attachment; filename=hotspot_status.csv"); 
    120123    } 
    121124 
     
    149152                                $_node = Node::getObject($_nodeData['node_id']); 
    150153 
     154                                        //PR 
     155                                        $this->_network = $_node->getNetwork(); 
     156 
    151157                                // No JiWire ref. number, status NEW 
    152158                                $this->_csv_document .= "###,NEW,"; 
    153159 
    154                               // Provider Name = Wifidog node ID 
     160                                      // Provider Name = Wifidog node ID 
    155161                                $this->_csv_document .= $this->quoteForCsv($_node->getId()).","; 
    156162 
    157163                                // Provider Id = Wifidog Network name 
    158164                                $this->_csv_document .= $this->quoteForCsv($this->_network->getName()).","; 
    159  
     165                                         
    160166                                // Address 
    161167                                $this->_csv_document .= $this->quoteForCsv($_node->getCivicNumber().", ".$_node->getStreetName()).","; 
  • wifidog/wifidog-auth/wifidog/classes/NodeLists/NodeListKML.php

    r56 r598  
    152152    { 
    153153                $_kml = $this->_xmldoc->createElement("kml"); 
    154                 $_kml->setAttribute('xmlns', 'http://earth.google.com/kml/2.0'); 
     154                $_kml->setAttribute('xmlns', 'http://earth.google.com/kml/2.1'); 
    155155                $this->_xmldoc->appendChild($_kml); 
    156156 
     
    169169 
    170170                /* Since scale is the same, we only have to define it once */ 
    171                 $_scale = $this->_xmldoc->createElement("scale"); 
    172                 $_iconStyle->appendChild($_scale); 
    173                 $_textNode = $this->_xmldoc->createTextNode("0.5"); 
    174                 $_scale->appendChild($_textNode); 
     171                // $_scale = $this->_xmldoc->createElement("scale"); 
     172                // $_iconStyle->appendChild($_scale); 
     173                // $_textNode = $this->_xmldoc->createTextNode("0.5"); 
     174                // $_scale->appendChild($_textNode); 
    175175 
    176176                $_icon = $this->_xmldoc->createElement("Icon"); 
     
    190190                $_style_down->appendChild($_iconStyle); 
    191191 
    192                 $_scale = $this->_xmldoc->createElement("scale"); 
    193                 $_iconStyle->appendChild($_scale); 
    194                 $_textNode = $this->_xmldoc->createTextNode("0.5"); 
    195                 $_scale->appendChild($_textNode); 
    196  
    197                 $_iconStyle->appendChild($_scale); 
     192                // $_scale = $this->_xmldoc->createElement("scale"); 
     193                // $_iconStyle->appendChild($_scale); 
     194                // $_textNode = $this->_xmldoc->createTextNode("0.5"); 
     195                // $_scale->appendChild($_textNode); 
     196 
     197                // $_iconStyle->appendChild($_scale); 
    198198                $_icon = $this->_xmldoc->createElement("Icon"); 
    199199                $_iconStyle->appendChild($_icon); 
     
    213213                $_style_unknown->appendChild($_iconStyle); 
    214214 
    215                 $_scale = $this->_xmldoc->createElement("scale"); 
    216                 $_iconStyle->appendChild($_scale); 
    217                 $_textNode = $this->_xmldoc->createTextNode("0.5"); 
    218                 $_scale->appendChild($_textNode); 
     215                // $_scale = $this->_xmldoc->createElement("scale"); 
     216                // $_iconStyle->appendChild($_scale); 
     217                // $_textNode = $this->_xmldoc->createTextNode("0.5"); 
     218                // $_scale->appendChild($_textNode); 
    219219 
    220220                $_icon = $this->_xmldoc->createElement("Icon"); 
     
    249249                $_hotspotName = $this->_xmldoc->createElement("name", htmlspecialchars($_node->getName(), ENT_QUOTES)); 
    250250                $_placemark->appendChild($_hotspotName); 
     251 
     252                                // Hotspot global status 
     253                if ($_node->getDeploymentStatus() != 'NON_WIFIDOG_NODE') { 
     254                    if ($_nodeData['is_up'] == 't') { 
     255                                                $_styleURL = $this->_xmldoc->createElement("styleUrl", "#node_up"); 
     256                    } else { 
     257                                                $_styleURL = $this->_xmldoc->createElement("styleUrl", "#node_down"); 
     258                    } 
     259                                } 
     260                                else { 
     261                                        $_styleURL = $this->_xmldoc->createElement("styleUrl", "#node_unknown"); 
     262                                } 
     263 
     264                                $_placemark->appendChild($_styleURL); 
     265 
     266 
    251267                                $_html_data = "<b>" . _("Address") . ":</b><br />" . $_node->getCivicNumber() . " " . $_node->getStreetName() . "<br />" . 
    252268                                        $_node->getCity() . "," . $_node->getProvince() . "<br />" . $_node->getCountry() . "<br />" . 
     
    268284                                        . $_gis_loc->getAltitude(); 
    269285                                $_coordinates = $this->_xmldoc->createElement("coordinates", $_gis_string); 
    270                                 // Hotspot global status 
    271                 if ($_node->getDeploymentStatus() != 'NON_WIFIDOG_NODE') { 
    272                     if ($_nodeData['is_up'] == 't') { 
    273                                                 $_styleURL = $this->_xmldoc->createElement("styleURL", "#node_up"); 
    274                     } else { 
    275                                                 $_styleURL = $this->_xmldoc->createElement("styleURL", "#node_down"); 
    276                     } 
    277                 } 
    278                                 else { 
    279                                         $_styleURL = $this->_xmldoc->createElement("styleURL", "#node_unknown"); 
    280                                 } 
    281  
    282286                                $_point->appendChild($_coordinates); 
    283287                        } 
  • wifidog/wifidog-auth/wifidog/classes/NodeLists/NodeListPDF.php

    r57 r598  
    10271027 
    10281028                // Modif PR 15 minutes 
    1029                 $db->execSql("SELECT *, (NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '15 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE' ORDER BY lower(" . $this->_pdfSort . ")", $this->_nodes, false); 
     1029                $db->execSql("SELECT *, (NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '30 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE' ORDER BY lower(" . $this->_pdfSort . ")", $this->_nodes, false); 
    10301030    } 
    10311031 
  • wifidog/wifidog-auth/wifidog/classes/NodeLists/NodeListRSS.php

    r54 r598  
    109109        // $db->execSql("SELECT *, (NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE' ORDER BY lower(name)", $this->_nodes, false); 
    110110 
    111                 // Modif PR 15 minutes 
    112                 $db->execSql("SELECT *, (NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '15 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE' ORDER BY lower(name)", $this->_nodes, false); 
     111                // Modif by PR 
     112                $db->execSql("SELECT *, (NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '30 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE' ORDER BY lower(name)", $this->_nodes, false); 
    113113    } 
    114114 
  • wifidog/wifidog-auth/wifidog/classes/NodeLists/NodeListXML.php

    r55 r598  
    106106 
    107107        // Query the database, sorting by node name 
    108  
     108                 
    109109        // $db->execSql("SELECT *, (NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '5 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE' ORDER BY lower(name)", $this->_nodes, false); 
    110110 
    111                 // Modif PR 15 minutes 
    112                 $db->execSql("SELECT *, (NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '15 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE' ORDER BY lower(name)", $this->_nodes, false); 
     111                // PR 
     112                $db->execSql("SELECT *, (NOW()-last_heartbeat_timestamp) AS since_last_heartbeat, EXTRACT(epoch FROM creation_date) as creation_date_epoch, CASE WHEN ((NOW()-last_heartbeat_timestamp) < interval '30 minutes') THEN true ELSE false END AS is_up FROM nodes WHERE node_deployment_status = 'DEPLOYED' OR node_deployment_status = 'NON_WIFIDOG_NODE' ORDER BY lower(name)", $this->_nodes, false); 
    113113    } 
    114114 
  • wifidog/wifidog-auth/wifidog/classes/Session.php

    r395 r598  
    3838 * @author     Benoit Grégoire <bock@step.polymtl.ca> 
    3939 * @copyright  2004-2006 Benoit Grégoire, Technologies Coeus inc. 
    40  * @version    Subversion $Id
     40 * @version    Subversion $Id: Session.php 1031 2006-05-10 18:56:02Z benoitg
    4141 * @link       http://www.wifidog.org/ 
    4242 */ 
  • wifidog/wifidog-auth/wifidog/classes/SmartyWifidog.php

    r395 r598  
    3838 * @author     Benoit Grégoire <bock@step.polymtl.ca> 
    3939 * @copyright  2004-2006 Benoit Grégoire, Technologies Coeus inc. 
    40  * @version    Subversion $Id
     40 * @version    Subversion $Id: SmartyWifidog.php 1059 2006-05-22 10:01:44Z fproulx
    4141 * @link       http://www.wifidog.org/ 
    4242 */ 
  • wifidog/wifidog-auth/wifidog/classes/StatisticGraph.php

    r395 r598  
    3939 * @author     Benoit Grégoire <bock@step.polymtl.ca> 
    4040 * @copyright  2005-2006 Benoit Grégoire, Technologies Coeus inc. 
    41  * @version    Subversion $Id
     41 * @version    Subversion $Id: StatisticGraph.php 1075 2006-07-06 02:42:17Z benoitg
    4242 * @link       http://www.wifidog.org/ 
    4343 */ 
  • wifidog/wifidog-auth/wifidog/classes/StatisticReport/ConnectionGraphs.php

    r395 r598  
    3939 * @author     Benoit Grégoire <bock@step.polymtl.ca> 
    4040 * @copyright  2005-2006 Benoit Grégoire, Technologies Coeus inc. 
    41  * @version    Subversion $Id
     41 * @version    Subversion $Id: ConnectionGraphs.php 1031 2006-05-10 18:56:02Z benoitg
    4242 * @link       http://www.wifidog.org/ 
    4343 */ 
  • wifidog/wifidog-auth/wifidog/classes/StatisticReport/ConnectionLog.php

    r395 r598  
    154154            $html .= "</fieldset>"; 
    155155 
    156             $candidate_connections_sql = $this->stats->getSqlCandidateConnectionsQuery("users.username, nodes.name, EXTRACT('EPOCH' FROM date_trunc('second',timestamp_out-timestamp_in)) AS time_spent, EXTRACT('EPOCH' FROM timestamp_in) AS timestamp_in, connections.user_id, user_mac ", true); 
     156                       $candidate_connections_sql = $this->stats->getSqlCandidateConnectionsQuery("users.username, nodes.name, EXTRACT('EPOCH' FROM date_trunc('second',timestamp_out-timestamp_in)) AS time_spent, EXTRACT('EPOCH' FROM timestamp_in) AS timestamp_in, connections.user_id, user_mac ", true); 
    157157 
    158158            $sql = "$candidate_connections_sql ORDER BY timestamp_in DESC"; 
     
    188188                    $html .= "  <td>{$row['user_mac']}</td>\n"; 
    189189                                        // PR 
    190                     // $html .= "  <td>".strftime("%c", $row['timestamp_in'])."</td>\n"; 
    191                                         $html .= "  <td>".strftime("%a&nbsp;%d&nbsp;%b&nbsp;%Y&nbsp;%H:%M:%S", $row['timestamp_in'])."</td>\n"; 
    192                     $html .= "  <td>"; 
     190                    $html .= "  <td>".strftime("%c", $row['timestamp_in'])."</td>\n"; 
     191                                        // $html .= "  <td>".strftime("%a&nbsp;%d&nbsp;%b&nbsp;%Y&nbsp;%H:%M:%S", $row['timestamp_in'])."</td>\n"; 
     192                                       $html .= "  <td>"; 
    193193                    if (!empty ($row['time_spent'])) 
    194194                    { 
  • wifidog/wifidog-auth/wifidog/classes/StatisticReport/HighestBandwidthUsers.php

    r395 r598  
    3939 * @author     Philippe April 
    4040 * @copyright  2005-2006 Philippe April 
    41  * @version    Subversion $Id
     41 * @version    Subversion $Id: HighestBandwidthUsers.php 1013 2006-04-01 23:26:12Z benoitg
    4242 * @link       http://www.wifidog.org/ 
    4343 */ 
  • wifidog/wifidog-auth/wifidog/classes/StatisticReport/MostFrequentUsers.php

    r395 r598  
    3939 * @author     Philippe April 
    4040 * @copyright  2005-2006 Philippe April 
    41  * @version    Subversion $Id
     41 * @version    Subversion $Id: MostFrequentUsers.php 1013 2006-04-01 23:26:12Z benoitg
    4242 * @link       http://www.wifidog.org/ 
    4343 */ 
  • wifidog/wifidog-auth/wifidog/classes/StatisticReport/MostMobileUsers.php

    r395 r598  
    3939 * @author     Philippe April 
    4040 * @copyright  2005-2006 Philippe April 
    41  * @version    Subversion $Id
     41 * @version    Subversion $Id: MostMobileUsers.php 1013 2006-04-01 23:26:12Z benoitg
    4242 * @link       http://www.wifidog.org/ 
    4343 */ 
  • wifidog/wifidog-auth/wifidog/classes/StatisticReport/MostPopularNodes.php

    r395 r598  
    3939 * @author     Philippe April 
    4040 * @copyright  2005-2006 Philippe April 
    41  * @version    Subversion $Id
     41 * @version    Subversion $Id: MostPopularNodes.php 1013 2006-04-01 23:26:12Z benoitg
    4242 * @link       http://www.wifidog.org/ 
    4343 */ 
  • wifidog/wifidog-auth/wifidog/classes/StatisticReport/NetworkStatus.php

    r395 r598  
    3939 * @author     Benoit Grégoire <bock@step.polymtl.ca> 
    4040 * @copyright  2005-2006 Benoit Grégoire, Technologies Coeus inc. 
    41  * @version    Subversion $Id
     41 * @version    Subversion $Id: NetworkStatus.php 1037 2006-05-20 17:46:27Z benoitg
    4242 * @link       http://www.wifidog.org/ 
    4343 */ 
  • wifidog/wifidog-auth/wifidog/classes/StatisticReport/NodeStatus.php

    r180 r598  
    8585        if (count($selected_nodes) == 0) 
    8686        { 
    87             $html .= _("Sorry, this report requires you to select individual nodes"); 
     87            $html .= _("Sorry, this report requires you to select indsetlocale (LC_ALL, 'nl_NL');ividual nodes"); 
    8888        } 
    8989        else 
     
    111111                $html .= "<tr class='odd'>"; 
    112112                $html .= "  <th>"._("Last heartbeat")."</th>"; 
    113                 $html .= "  <td>".sprintf(_("%s ago"), Utils :: convertSecondsToWords(time() - strtotime($nodeObject->getLastHeartbeatTimestamp())))."</td>"; 
     113//                $html .= "  <td>".sprintf(_("%s ago"), Utils :: convertSecondsToWords(time() - strtotime($nodeObject->getLastHeartbeatTimestamp())))."</td>"; 
     114                $html .= "  <td>".$nodeObject->getLastHeartbeatTimestamp()."</td>"; 
    114115                $html .= "</tr>"; 
    115116                $html .= "</tr>"; 
  • wifidog/wifidog-auth/wifidog/classes/StatisticReport/RegistrationLog.php

    r395 r598  
    3939 * @author     Benoit Grégoire <bock@step.polymtl.ca> 
    4040 * @copyright  2005-2006 Benoit Grégoire, Technologies Coeus inc. 
    41  * @version    Subversion $Id
     41 * @version    Subversion $Id: RegistrationLog.php 1075 2006-07-06 02:42:17Z benoitg
    4242 * @link       http://www.wifidog.org/ 
    4343 */ 
  • wifidog/wifidog-auth/wifidog/classes/StatisticReport/UserRegistrationReport.php

    r395 r598  
    3939 * @author     Philippe April 
    4040 * @copyright  2005-2006 Philippe April 
    41  * @version    Subversion $Id
     41 * @version    Subversion $Id: UserRegistrationReport.php 1075 2006-07-06 02:42:17Z benoitg
    4242 * @link       http://www.wifidog.org/ 
    4343 */ 
  • wifidog/wifidog-auth/wifidog/classes/StatisticReport/UserReport.php

    r395 r598  
    3939 * @author     Philippe April 
    4040 * @copyright  2005-2006 Philippe April 
    41  * @version    Subversion $Id
     41 * @version    Subversion $Id: UserReport.php 1037 2006-05-20 17:46:27Z benoitg
    4242 * @link       http://www.wifidog.org/ 
    4343 */ 
  • wifidog/wifidog-auth/wifidog/classes/Statistics.php

    r177 r598  
    397397        $node_rows = null; 
    398398        $db->execSql($sql, $node_rows, false); 
    399         $html .= "<select multiple size = 6 name='$name'>\n"; 
     399        $html .= "<select multiple size = 15 name='$name'>\n"; 
    400400 
    401401        /*count($this->report_selected_nodes)==0?$selected=' SELECTED ':$selected=''; 
  • wifidog/wifidog-auth/wifidog/classes/Style.php

    r395 r598  
    3838 * @author     Benoit Grégoire <bock@step.polymtl.ca> 
    3939 * @copyright  2004-2006 Benoit Grégoire, Technologies Coeus inc. 
    40  * @version    Subversion $Id
     40 * @version    Subversion $Id: Style.php 1031 2006-05-10 18:56:02Z benoitg
    4141 * @link       http://www.wifidog.org/ 
    4242 * @deprecated 2005-05-30 This file is NOT used anymore, kept until we move SQL 
  • wifidog/wifidog-auth/wifidog/classes/User.php

    r395 r598  
    9292 
    9393      $account_origin_network = Network::getObject($account_origin_id); 
     94 
     95          // Validate Email 
     96 
     97          if (Mail::validateEmailAddress($email) === false) { 
     98                  echo "<div class='errormsg'>"._("The email address must be valid (i.e. user@domain.com). Please understand that we also black-listed various temporary-email-address providers.")."</div>\n"; 
     99                  return null; 
     100          } 
    94101       
    95102      // Create user 
  • wifidog/wifidog-auth/wifidog/cron/page.php

    r396 r598  
     1#!/usr/bin/php 
    12<?php 
    23 
     
    5152require_once('classes/Node.php'); 
    5253 
     54date_default_timezone_set('Europe/Paris'); 
     55 
    5356function page_if_down_since($nodeObject, $minutes) { 
    5457    $last_heartbeat = strtotime($nodeObject->getLastHeartbeatTimestamp()); 
    5558 
    56     if (time() - $last_heartbeat > 60*$minutes) { 
     59    # echo "Time : " . time() ." - Last heartbeat : " . $last_heartbeat ."<br>"; 
     60 
     61    $diff = time() - $last_heartbeat; 
     62 
     63    if ($diff > 60*$minutes) { 
    5764        $lastPaged = strtotime($nodeObject->getLastPaged()); 
    5865        if (!$nodeObject->getLastPaged() || !$lastPaged) { 
     
    6673                # Doesn't work if called from cron 
    6774                # 
    68 Locale :: setCurrentLocale(Locale::getObject($officer->getPreferedLocale())); 
     75                       Locale :: setCurrentLocale(Locale::getObject($officer->getPreferedLocale())); 
    6976                $mail = new Mail(); 
    7077                $mail->setSenderName(_("Monitoring system")); 
     
    7481                $mail->setMessageBody(sprintf(_("Node %s (%s) has been down for %d minutes (since %s)"), $nodeObject->getName(), $nodeObject->getId(), $minutes, date("r", $last_heartbeat))); 
    7582                $mail->send(); 
     83                # echo "<br>" . $diff . " Mail envoyé à ". $officer->getEmail() . " pour " . $nodeObject->getName() ."<br>"; 
    7684            } 
    7785 
     
    94102        $nodeObject = Node :: getObject($node_row['node_id']); 
    95103        # 
    96 echo $nodeObject->getName(); 
    97         # 
    98 echo " - "; 
    99         # 
    100 echo $nodeObject->getLastHeartbeatTimestamp(); 
    101         # 
    102 echo " - "; 
    103 echo " <br> "; 
     104        # echo $nodeObject->getName() . " - " . $nodeObject->getLastHeartbeatTimestamp() . "<br>"; 
    104105        try { 
    105106            page_if_down_since($nodeObject, 120); 
     
    108109            page_if_down_since($nodeObject, 20); 
    109110            page_if_down_since($nodeObject, 15); 
    110             page_if_down_since($nodeObject, 10); 
    111             page_if_down_since($nodeObject, 5); 
     111            // page_if_down_since($nodeObject, 10); 
     112            // page_if_down_since($nodeObject, 5); 
    112113        } catch (Exception $e) { 
    113114            # Do nothing, we cronned this 
    114             #echo $e->getMessage() . "<br>"; 
     115            // echo $e->getMessage() . "<br>"; 
    115116        } 
    116         #echo "<br>"; 
    117         #echo "<hr>"; 
    118         #echo "\n"; 
    119117    } 
    120118} catch (Exception $e) { 
  • wifidog/wifidog-auth/wifidog/include/common_interface.php

    r395 r598  
    4646 * @author     Philippe April 
    4747 * @copyright  2005-2006 Philippe April 
    48  * @version    Subversion $Id
     48 * @version    Subversion $Id: common_interface.php 946 2006-02-14 19:31:10Z max-horvath
    4949 * @link       http://www.wifidog.org/ 
    5050 */ 
  • wifidog/wifidog-auth/wifidog/include/init_php.php

    r553 r598  
    131131    // Set timezone if PHP version >= 5.1.0 
    132132    if (str_replace(".", "", phpversion()) >= 510) { 
    133                 date_default_timezone_set(defined('DATE_TIMEZONE') ? DATE_TIMEZONE : "Canada/Eastern"); 
     133                date_default_timezone_set(defined(DATE_TIMEZONE) ? DATE_TIMEZONE : "Canada/Eastern"); 
    134134    } 
    135135} 
  • wifidog/wifidog-auth/wifidog/include/language.php

    r395 r598  
    3838 * @author     Benoit Grégoire <bock@step.polymtl.ca> 
    3939 * @copyright  2004-2006 Benoit Grégoire, Technologies Coeus inc. 
    40  * @version    Subversion $Id
     40 * @version    Subversion $Id: language.php 1031 2006-05-10 18:56:02Z benoitg
    4141 * @link       http://www.wifidog.org/ 
    4242 */ 
  • wifidog/wifidog-auth/wifidog/include/path_defines_base.php

    r395 r598  
    6565 * @author     Benoit Grégoire <bock@step.polymtl.ca> 
    6666 * @copyright  2005-2006 Benoit Grégoire, Technologies Coeus inc. 
    67  * @version    Subversion $Id
     67 * @version    Subversion $Id: path_defines_base.php 1048 2006-05-20 23:28:03Z benoitg
    6868 * @link       http://www.wifidog.org/ 
    6969 */ 
  • wifidog/wifidog-auth/wifidog/include/path_defines_url_content.php

    r395 r598  
    3939 * @author     Benoit Grégoire <bock@step.polymtl.ca> 
    4040 * @copyright  2005-2006 Benoit Grégoire, Technologies Coeus inc. 
    41  * @version    Subversion $Id
     41 * @version    Subversion $Id: path_defines_url_content.php 1031 2006-05-10 18:56:02Z benoitg
    4242 * @link       http://www.wifidog.org/ 
    4343 */ 
  • wifidog/wifidog-auth/wifidog/include/schema_validate.php

    r395 r598  
    4040 * @author     Benoit Grégoire <bock@step.polymtl.ca> 
    4141 * @copyright  2004-2006 Benoit Grégoire, Technologies Coeus inc. 
    42  * @version    Subversion $Id
     42 * @version    Subversion $Id: schema_validate.php 1074 2006-06-18 09:53:56Z fproulx
    4343 * @link       http://www.wifidog.org/ 
    4444 */ 
  • wifidog/wifidog-auth/wifidog/listnodes.php

    r76 r598  
    4949 
    5050  foreach ($online_users as $online_user){ 
    51    $body_html .= '<img src="http://www.puteaux-wireless.org/themes/puteaux-wireless/images/smile.png" alt="'.$online_user["node_id"].'"/> '.$online_user["username"].' ('.$online_user["name"].')<br>'; 
     51   $body_html .= '<img src="/images/smile.png" alt="'.$online_user["node_id"].'"/> '.$online_user["username"].' ('.$online_user["name"].')<br>'; 
    5252  } 
    5353 
  • wifidog/wifidog-auth/wifidog/locale/de/LC_MESSAGES/messages.po

    r416 r598  
    16141614msgstr "Reporte auswÀhlen" 
    16151615 
     1616#: ../classes/Statistics.php:159 
     1617msgid "Birthdate (DD-MM-YYYY)" 
     1618msgstr "Geburtsdatum (TT-MM-JJJJ)" 
     1619 
    16161620#: ../classes/User.php:202 ../classes/StatisticReport/UserReport.php:73 
    16171621#: ../classes/StatisticReport/UserReport.php:111 ../classes/User.php:255 
     
    17721776msgstr "Echter name" 
    17731777 
    1774 #: ../classes/User.php:619 ../classes/User.php:753 ../classes/User.php:741 
     1778#: ../classes/User.php:1131 
     1779msgid "Day" 
     1780msgstr "Tag" 
     1781 
     1782#: ../classes/User.php:1149 
     1783msgid "Month" 
     1784msgstr "Monat" 
     1785 
     1786#: ../classes/User.php:1167 
     1787msgid "Year" 
     1788msgstr "Jahr" 
     1789 
     1790#: ../classes/User.php:1211 
    17751791msgid "Website URL" 
    1776 msgstr "Homepage" 
     1792msgstr "URL meiner Website" 
    17771793 
    17781794#: ../include/schema_validate.php:48 ../include/schema_validate.php:74 
     
    41024118 
    41034119#: ../classes/LocaleList.php:74 
    4104 msgid "Spanish" 
    4105 msgstr "Spanisch" 
    4106  
    4107 #: ../classes/LocaleList.php:75 
    41084120msgid "Portuguese" 
    41094121msgstr "Portugiesisch" 
    4110  
    4111 #: ../classes/LocaleList.php:76 
    4112 msgid "Japanese" 
    4113 msgstr "Japanisch" 
    4114  
    4115 #: ../classes/LocaleList.php:77 
    4116 msgid "Italian" 
    4117 msgstr "Italienisch" 
    41184122 
    41194123#: ../classes/MainUI.php:437 
     
    48744878#, php-format 
    48754879msgid "Sorry, the username %s is not available" 
    4876 msgstr "
    4877  
    4878 #: ../classes/User.php:720 ../classes/User.php:719 
     4880msgstr "Der Benutzername %s ist bereits in Verwendung.
     4881 
     4882#: ../classes/User.php:1198 
    48794883msgid "Be carefull when changing this: it's the username you use to log in!" 
    48804884msgstr "" 
     4885"Merken Sie sich den geÀnderten Benutzernamen gut, da Sie sich mit ihm fortan " 
     4886"anmelden mÃŒssen!" 
    48814887 
    48824888#: smarty.txt:42 smarty.txt:56 smarty.txt:58 
     
    49084914#: smarty.txt:114 smarty.txt:145 smarty.txt:149 
    49094915msgid "Login or Signup here" 
    4910 msgstr "
     4916msgstr "Anmeldung
    49114917 
    49124918#: smarty.txt:147 smarty.txt:78 smarty.txt:80 
  • wifidog/wifidog-auth/wifidog/locale/es/LC_MESSAGES/messages.po

    r409 r598  
    103103msgstr "Lo Siento, su navegador no soporta Google Maps." 
    104104 
    105 #: ../hotspots_map.php:155 ../classes/StatisticReport/NodeStatus.php:176 
     105#: ../hotspots_map.php:155 ../classes/StatisticReport/NodeStatus.php:174 
    106106#: ../classes/StatisticReport/NetworkStatus.php:109 ../hotspots_map.php:156 
    107107msgid "Homepage" 
     
    857857msgstr "Estado" 
    858858 
    859 #: ../classes/StatisticReport/NodeStatus.php:107 
     859#: ../classes/StatisticReport/NodeStatus.php:105 
    860860msgid "WifiDog status" 
    861861msgstr "Estado de WifiDog" 
    862862 
    863 #: ../classes/StatisticReport/NodeStatus.php:112 
     863#: ../classes/StatisticReport/NodeStatus.php:110 
    864864msgid "Last heartbeat" 
    865865msgstr "Ultima Informaci&oacute;n de Estado" 
    866866 
    867 #: ../classes/StatisticReport/NodeStatus.php:113 
     867#: ../classes/StatisticReport/NodeStatus.php:111 
    868868#, php-format 
    869869msgid "%s ago" 
    870870msgstr "%s pasados" 
    871871 
    872 #: ../classes/StatisticReport/NodeStatus.php:117 
     872#: ../classes/StatisticReport/NodeStatus.php:115 
    873873msgid "WifiDog version" 
    874874msgstr "Version de WifiDog" 
    875875 
    876 #: ../classes/StatisticReport/NodeStatus.php:121 
     876#: ../classes/StatisticReport/NodeStatus.php:119 
    877877msgid "IP Address" 
    878878msgstr "Direcci&oacute;n IP" 
    879879 
    880 #: ../classes/StatisticReport/NodeStatus.php:125 
     880#: ../classes/StatisticReport/NodeStatus.php:123 
    881881msgid "Number of users online" 
    882882msgstr "Numero de usuarios en linea" 
    883883 
    884 #: ../classes/StatisticReport/NodeStatus.php:134 
     884#: ../classes/StatisticReport/NodeStatus.php:132 
    885885#: ../classes/StatisticReport/UserReport.php:117 ../classes/Profile.php:309 
    886886msgid "Profile" 
    887887msgstr "Perfil" 
    888888 
    889 #: ../classes/StatisticReport/NodeStatus.php:138 
     889#: ../classes/StatisticReport/NodeStatus.php:136 
    890890#: ../classes/StatisticReport/NetworkStatus.php:99 ../classes/Node.php:797 
    891891#: smarty.txt:14 smarty.txt:176 smarty.txt:189 smarty.txt:197 
     
    895895msgstr "Nombre" 
    896896 
    897 #: ../classes/StatisticReport/NodeStatus.php:142 
     897#: ../classes/StatisticReport/NodeStatus.php:140 
    898898msgid "Node ID" 
    899899msgstr "ID del Nodo" 
    900900 
    901 #: ../classes/StatisticReport/NodeStatus.php:146 ../classes/Node.php:346 
     901#: ../classes/StatisticReport/NodeStatus.php:144 ../classes/Node.php:346 
    902902msgid "Deployment Status" 
    903903msgstr "Estado de Implementaci&oacute;n" 
    904904 
    905 #: ../classes/StatisticReport/NodeStatus.php:150 
     905#: ../classes/StatisticReport/NodeStatus.php:148 
    906906msgid "Deployment date" 
    907907msgstr "Fecha de Implementaci&oacute;n" 
    908908 
    909 #: ../classes/StatisticReport/NodeStatus.php:154 ../classes/Content.php:744 
     909#: ../classes/StatisticReport/NodeStatus.php:152 ../classes/Content.php:744 
    910910#: ../classes/Node.php:802 smarty.txt:105 smarty.txt:200 
    911911#: ../classes/Content.php:750 ../classes/Node.php:887 smarty.txt:59 
     
    915915msgstr "Descripci&oacute;n" 
    916916 
    917 #: ../classes/StatisticReport/NodeStatus.php:158 
     917#: ../classes/StatisticReport/NodeStatus.php:156 
    918918#: ../classes/StatisticReport/UserReport.php:137 smarty.txt:183 
    919919#: ../classes/Network.php:250 ../classes/Network.php:256 
     
    922922msgstr "Red:" 
    923923 
    924 #: ../classes/StatisticReport/NodeStatus.php:162 
     924#: ../classes/StatisticReport/NodeStatus.php:160 
    925925msgid "GIS Location" 
    926926msgstr "Localidad GIS" 
    927927 
    928 #: ../classes/StatisticReport/NodeStatus.php:167 ../classes/Network.php:848 
     928#: ../classes/StatisticReport/NodeStatus.php:165 ../classes/Network.php:848 
    929929#: smarty.txt:112 ../classes/Network.php:1036 ../classes/Network.php:1040 
    930930msgid "Map" 
    931931msgstr "Mapa" 
    932932 
    933 #: ../classes/StatisticReport/NodeStatus.php:171 
     933#: ../classes/StatisticReport/NodeStatus.php:169 
    934934msgid "NOT SET" 
    935935msgstr "NOT CONFIGURADO" 
    936936 
    937 #: ../classes/StatisticReport/NodeStatus.php:180 
     937#: ../classes/StatisticReport/NodeStatus.php:178 
    938938#: ../classes/NodeLists/NodeListRSS.php:334 
    939939#: ../classes/NodeLists/NodeListRSS.php:325 
     
    943943msgstr "Direcci&oacute;n" 
    944944 
    945 #: ../classes/StatisticReport/NodeStatus.php:188 
     945#: ../classes/StatisticReport/NodeStatus.php:186 
    946946#: ../classes/NodeLists/NodeListPDF.php:1081 
    947947msgid "Telephone" 
    948948msgstr "Telefono" 
    949949 
    950 #: ../classes/StatisticReport/NodeStatus.php:192 
     950#: ../classes/StatisticReport/NodeStatus.php:190 
    951951#: ../classes/StatisticReport/UserReport.php:132 
    952952#: ../classes/NodeLists/NodeListPDF.php:1081 
     
    956956msgstr "Email" 
    957957 
    958 #: ../classes/StatisticReport/NodeStatus.php:196 
     958#: ../classes/StatisticReport/NodeStatus.php:194 
    959959msgid "Transit Info" 
    960960msgstr "Informacion de Traffico" 
    961961 
    962 #: ../classes/StatisticReport/NodeStatus.php:206 ../classes/Node.php:767 
     962#: ../classes/StatisticReport/NodeStatus.php:204 ../classes/Node.php:767 
    963963#: smarty.txt:43 ../classes/Node.php:846 ../classes/Node.php:918 
    964964msgid "Statistics" 
    965965msgstr "Estadisticas" 
    966966 
    967 #: ../classes/StatisticReport/NodeStatus.php:211 
     967#: ../classes/StatisticReport/NodeStatus.php:209 
    968968msgid "Average visits per day" 
    969969msgstr "Promedio de visitas por dia" 
    970970 
    971 #: ../classes/StatisticReport/NodeStatus.php:212 
    972 #: ../classes/StatisticReport/NodeStatus.php:223 
     971#: ../classes/StatisticReport/NodeStatus.php:210 
     972#: ../classes/StatisticReport/NodeStatus.php:221 
    973973msgid "(for the selected period)" 
    974974msgstr "(por el periodo seleccionado)" 
    975975 
    976 #: ../classes/StatisticReport/NodeStatus.php:217 
     976#: ../classes/StatisticReport/NodeStatus.php:215 
    977977msgid "Traffic" 
    978978msgstr "Trafico" 
    979979 
    980 #: ../classes/StatisticReport/NodeStatus.php:219 
     980#: ../classes/StatisticReport/NodeStatus.php:217 
    981981#: ../classes/StatisticReport/HighestBandwidthUsers.php:102 
    982982msgid "Incoming" 
    983983msgstr "Entrante" 
    984984 
    985 #: ../classes/StatisticReport/NodeStatus.php:221 
     985#: ../classes/StatisticReport/NodeStatus.php:219 
    986986#: ../classes/StatisticReport/HighestBandwidthUsers.php:103 
    987987msgid "Outgoing" 
     
    28002800msgstr "Aleman" 
    28012801 
    2802 #: ../classes/LocaleList.php:74 
    2803 msgid "Spanish" 
    2804 msgstr "Espanol" 
    2805  
    2806 #: ../classes/LocaleList.php:75 
     2802#: ../classes/LocaleList.php:74 ../classes/LocaleList.php:75 
    28072803msgid "Portuguese" 
    28082804msgstr "Portugues" 
    2809  
    2810 #: ../classes/LocaleList.php:76 
    2811 msgid "Japanese"  
    2812 msgstr "Japones" 
    2813  
    2814 #: ../classes/LocaleList.php:77 
    2815 msgid "Italian" 
    2816 msgstr "Italiano" 
    28172805 
    28182806#: ../classes/AbstractDb.php:70 ../classes/AbstractDb.php:96 
     
    44604448msgstr "Tipo de mapa" 
    44614449 
     4450#: ../classes/LocaleList.php:74 
     4451msgid "Spanish" 
     4452msgstr "Espanol" 
     4453 
     4454#: ../classes/LocaleList.php:76 
     4455msgid "Japanese" 
     4456msgstr "Japones" 
     4457 
    44624458#: ../classes/ThemePack.php:87 
    44634459#, php-format 
  • wifidog/wifidog-auth/wifidog/locale/fr/LC_MESSAGES/messages.po

    r422 r598  
    664664#: smarty.txt:11 smarty.txt:12 smarty.txt:13 smarty.txt:26 smarty.txt:28 
    665665msgid "Do I have to pay to get access to the Internet" 
    666 msgstr "Dois-je payer pour avoir accÚs à l'Internet ?
     666msgstr "Dois-je payer pour avoir accÚs à l'Internet
    667667 
    668668#: ../classes/Content/EmbeddedContent.php:250 ../classes/Content/File.php:293 
     
    25682568#: ../login/index.php:264 ../portal/index.php:204 
    25692569msgid "Welcome to" 
    2570 msgstr "Bienvenue chez
     2570msgstr "Bienvenue sur
    25712571 
    25722572msgid "Welcome!" 
     
    37993799msgstr "Impossible de retirer l'officier technique" 
    38003800 
    3801 #: ../classes/User.php:159 ../classes/User.php:1227 
     3801#: ../classes/User.php:151 
     3802msgid "Email address" 
     3803msgstr "Adresse email" 
     3804 
     3805#: ../classes/User.php:159 ../classes/User.php:1227 smarty.txt:126 
    38023806msgid "Birthdate (DD-MM-YYYY)" 
    38033807msgstr "Date de naissance (JJ-MM-AAAA)" 
     
    38233827msgid "Registration system" 
    38243828msgstr "SystÚme d'enregistrement" 
     3829 
     3830#: ../classes/User.php:1131 
     3831msgid "Day" 
     3832msgstr "Jour" 
     3833 
     3834#: ../classes/User.php:1149 
     3835msgid "Month" 
     3836msgstr "Mois" 
     3837 
     3838#: ../classes/User.php:1167 
     3839msgid "Year" 
     3840msgstr "Année" 
    38253841 
    38263842#: ../include/schema_validate.php:82 ../include/schema_validate.php:83 
     
    47564772#: smarty.txt:33 smarty.txt:37 
    47574773msgid "A:" 
    4758 msgstr "A:" 
     4774msgstr "R:" 
    47594775 
    47604776#: smarty.txt:28 smarty.txt:64 smarty.txt:86 smarty.txt:89 smarty.txt:66 
     
    50465062 
    50475063#: ../classes/LocaleList.php:75 
    5048 msgid "Portuguese
    5049 msgstr "Portugais
     5064msgid "Portuguese (Brasil)
     5065msgstr "Portugais (brésil)
    50505066 
    50515067#: ../classes/LocaleList.php:76 
     5068msgid "Portuguese (Portugal)" 
     5069msgstr "Portugais (Portugal)" 
     5070 
     5071#: ../classes/LocaleList.php:77 
    50525072msgid "Japanese" 
    50535073msgstr "Japonais" 
    50545074 
    5055 #: ../classes/LocaleList.php:77 
     5075#: ../classes/LocaleList.php:78 
    50565076msgid "Italian" 
    50575077msgstr "Italien" 
     5078 
     5079#: ../classes/LocaleList.php:79 
     5080msgid "Swedish" 
     5081msgstr "Suedois" 
     5082 
     5083#: ../classes/LocaleList.php:80 
     5084msgid "Bulgarian" 
     5085msgstr "Bulgare" 
     5086 
     5087#: ../classes/LocaleList.php:81 
     5088msgid "Greek" 
     5089msgstr "Grecque" 
    50585090 
    50595091#: ../classes/MainUI.php:437 
     
    51975229#: ../classes/Server.php:308 ../classes/Server.php:311 
    51985230msgid "Server::getSelectServerUI: Fatal error: No servers in the database!" 
    5199 msgstr "Server::getSelectServerUI: Erreur fatale: Aucun serveur n'a pu être trouvé !
     5231msgstr "
    52005232 
    52015233#: ../classes/Server.php:373 ../classes/Server.php:376 
     
    55075539 
    55085540#: ../classes/Authenticators/AuthenticatorLDAP.php:186 
    5509 msgid "Error while obtaining your LDAP information." 
    5510 msgstr "Erreur lors de l'obtention de vos informations par LDAP.
     5541msgid "Error while obtaingin your LDAP information." 
     5542msgstr "
    55115543 
    55125544#: ../classes/Authenticators/AuthenticatorLDAP.php:192 
     
    56845716msgstr "Portail de %s chez %s" 
    56855717 
     5718#: ../classes/Authenticators/AuthenticatorLDAP.php:186 
     5719msgid "Error while obtaining your LDAP information." 
     5720msgstr "Erreur lors de l'obtention de vos informations par LDAP." 
     5721 
    56865722#: ../classes/Content.php:417 ../classes/Content.php:421 
    56875723#: ../classes/Content.php:424 
     
    59465982#: ../classes/Content/Picture/Picture.php:234 
    59475983msgid "Hyperlink URL (leave empty if you don't need it)" 
    5948 msgstr "URL de l'hyperlien (laissez le champ vide si vous ne désirez pas l'utiliser)
     5984msgstr "
    59495985 
    59505986#: smarty.txt:25 
     
    59615997#: smarty.txt:111 
    59625998msgid "Hotspot not monitored" 
    5963 msgstr "Point d'accÚs non surveillé
     5999msgstr "
    59646000 
    59656001#: hotspot_status 
     
    59896025msgid "Opened on %s" 
    59906026msgstr "Ouvert le %s" 
     6027 
     6028msgid "Deployed" 
     6029msgstr "Déployé" 
     6030 
     6031msgid "In planning" 
     6032msgstr "En construction" 
     6033 
     6034msgid "In testing" 
     6035msgstr "En test" 
     6036 
     6037msgid "Non-Wifidog node" 
     6038msgstr "Noeud non wifidog" 
     6039 
     6040msgid "Permanently closed" 
     6041msgstr "Fermé" 
     6042 
     6043msgid "Temporarily closed" 
     6044msgstr "Fermé temporairement" 
     6045 
     6046msgid "Node List" 
     6047msgstr "Liste des noeuds" 
  • wifidog/wifidog-auth/wifidog/locale/it/LC_MESSAGES/messages.po

    r422 r598  
    99"Project-Id-Version: PACKAGE VERSION\n" 
    1010"Report-Msgid-Bugs-To: \n" 
    11 "POT-Creation-Date: 2007-01-18 13:02-0500\n" 
     11"POT-Creation-Date: 2008-01-03 21:33+0100\n" 
    1212"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 
    1313"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 
     
    1818 
    1919#: ../node_list.php:102 ../cron/page.php:88 ../node_list.php:107 
    20 #: ../node_list.php:110 
     20#: ../node_list.php:110 ../node_list.php:103 ../cron/page.old.php:96 
     21#: ../cron/page1.php:89 ../cron/page.php:90 
    2122msgid "No nodes could not be found in the database" 
    2223msgstr "Nessun utente &egrave stato trovato nel database" 
     
    5152#: ../change_password.php:65 ../change_password.php:91 
    5253msgid "You MUST fill in all the fields." 
    53 msgstr "
     54msgstr "tu DEVI riempire tutti i campi.
    5455 
    5556#: ../change_password.php:71 ../lost_password.php:100 
     
    5758#: ../change_password.php:97 ../lost_password.php:103 
    5859#: ../resend_validation.php:101 ../lost_username.php:102 
    59 #: ../lost_password.php:104 
     60#: ../lost_password.php:104 ../signup.php:265 
    6061msgid "Sorry, this network does not exist !" 
    61 msgstr "
     62msgstr "Siamo spiacenti, questa rete non esiste !
    6263 
    6364#: ../change_password.php:74 ../signup.php:139 ../change_password.php:100 
    64 #: ../classes/User.php:786 
     65#: ../classes/User.php:786 ../signup.php:141 ../classes/User.php:261 
    6566msgid "Passwords do not match." 
    6667msgstr "Le password non corrispondono." 
     
    100101#: ../hotspots_map.php:155 ../classes/StatisticReport/NodeStatus.php:176 
    101102#: ../classes/StatisticReport/NetworkStatus.php:109 ../hotspots_map.php:156 
     103#: ../classes/StatisticReport/NodeStatus.php:177 
    102104msgid "Homepage" 
    103105msgstr "Homepage" 
     
    108110 
    109111#: ../hotspots_map.php:155 smarty.txt:70 ../hotspots_map.php:156 smarty.txt:34 
    110 #: smarty.txt:28 
     112#: smarty.txt:28 smarty.txt:147 
    111113msgid "Loading, please wait..." 
    112114msgstr "Sto caricando, attendere..." 
     
    116118msgstr "Mappa dei punti di accesso" 
    117119 
    118 #: ../user_profile.php:58 smarty.txt:123 
     120#: ../user_profile.php:58 smarty.txt:123 smarty.txt:81 
    119121msgid "Change password" 
    120 msgstr "
    121  
    122 #: ../user_profile.php:59 smarty.txt:124 
     122msgstr "Cambio password
     123 
     124#: ../user_profile.php:59 smarty.txt:124 smarty.txt:82 
    123125msgid "I have trouble connecting and I would like some help" 
    124126msgstr "" 
     
    140142#: ../resend_validation.php:116 ../portal/index.php:220 
    141143#: ../resend_validation.php:117 ../signup.php:229 ../portal/index.php:216 
    142 #: ../portal/index.php:189 
     144#: ../portal/index.php:189 ../signup.php:306 ../portal/index.php:209 
    143145msgid "An email with confirmation instructions was sent to your email address." 
    144146msgstr "" 
    145147 
    146 #: ../signup.php:82 
     148#: ../signup.php:82 ../signup.php:84 ../classes/User.php:255 
    147149msgid "Username is required." 
    148150msgstr "Richiesta nomeutente persa." 
    149151 
    150 #: ../signup.php:86 
     152#: ../signup.php:86 ../signup.php:88 ../classes/User.php:256 
    151153msgid "Username contains invalid characters." 
    152154msgstr "" 
    153155 
    154 #: ../signup.php:104 
     156#: ../signup.php:104 ../signup.php:106 
    155157msgid "A valid email address is required." 
    156158msgstr "" 
    157159 
    158 #: ../signup.php:108 
     160#: ../signup.php:108 ../signup.php:110 ../classes/User.php:257 
    159161msgid "" 
    160162"The email address must be valid (i.e. user@domain.com). Please understand " 
     
    162164msgstr "" 
    163165 
    164 #: ../signup.php:127 
     166#: ../signup.php:127 ../signup.php:129 ../classes/User.php:258 
    165167msgid "A password of at least 6 characters is required." 
    166168msgstr "" 
    167169 
    168 #: ../signup.php:131 
     170#: ../signup.php:131 ../signup.php:133 ../classes/User.php:259 
    169171msgid "Password contains invalid characters." 
    170172msgstr "" 
    171173 
    172 #: ../signup.php:135 
     174#: ../signup.php:135 ../signup.php:137 ../classes/User.php:260 
    173175msgid "You must type your password twice." 
    174176msgstr "" 
    175177 
    176 #: ../signup.php:143 
     178#: ../signup.php:143 ../signup.php:145 ../classes/User.php:262 
    177179msgid "Password is too short, it must be 6 characters minimum." 
    178180msgstr "" 
    179181 
    180 #: ../signup.php:202 
     182#: ../signup.php:202 ../signup.php:269 
    181183msgid "Sorry, this network does not accept new user registration !" 
    182 msgstr "Questa rete non esiste !
    183  
    184 #: ../signup.php:212 
     184msgstr "
     185 
     186#: ../signup.php:212 ../signup.php:287 
    185187msgid "" 
    186188"Sorry, a user account is already associated to this username. Pick another " 
     
    190192"email: " 
    191193 
    192 #: ../signup.php:216 
     194#: ../signup.php:216 ../signup.php:291 
    193195msgid "Sorry, a user account is already associated to this email address." 
    194196msgstr "" 
     
    247249#: ../classes/Network.php:1707 ../classes/Node.php:1137 
    248250#: ../classes/ProfileTemplate.php:526 
     251#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:897 
     252#: ../classes/Network.php:1790 ../classes/Content.php:724 
     253#: ../classes/Server.php:783 ../classes/Node.php:822 ../classes/Node.php:1089 
    249254msgid "Access denied!" 
    250255msgstr "Accesso negato!" 
     
    360365#: ../admin/generic_object_admin.php:208 ../classes/Content.php:607 
    361366#: ../admin/generic_object_admin.php:210 ../classes/ProfileTemplate.php:368 
     367#: ../classes/Content.php:560 smarty.txt:59 smarty.txt:65 smarty.txt:220 
    362368msgid "Edit" 
    363369msgstr "Modifica" 
     
    413419#: ../classes/Content.php:826 ../admin/generic_object_admin.php:420 
    414420#: ../admin/generic_object_admin.php:440 
     421#: ../classes/Content/RssAggregator/RssAggregator.php:495 smarty.txt:222 
    415422msgid "Delete" 
    416423msgstr "Cancella" 
     
    473480 
    474481#: ../admin/stats.php:66 ../admin/stats.php:67 ../admin/stats.php:68 
     482#: ../classes/User.php:227 ../classes/User.php:1305 
    475483msgid "Connections at" 
    476484msgstr "Connessione al" 
     
    527535#: ../content/index.php:82 smarty.txt:17 smarty.txt:75 smarty.txt:209 
    528536#: smarty.txt:36 smarty.txt:126 ../content/index.php:77 smarty.txt:104 
    529 #: smarty.txt:30 smarty.txt:98 
     537#: smarty.txt:30 smarty.txt:98 smarty.txt:28 smarty.txt:176 smarty.txt:208 
    530538msgid "Online users" 
    531539msgstr "Utenti connessi" 
     
    544552 
    545553#: ../cron/page.php:68 ../cron/page.php:69 ../cron/page.php:70 
     554#: ../cron/page.old.php:75 ../cron/page1.php:69 
    546555msgid "Monitoring system" 
    547556msgstr "Monitorizza il sistema" 
    548557 
    549558#: ../cron/page.php:71 ../cron/page.php:72 ../cron/page.php:73 
     559#: ../cron/page.old.php:78 ../cron/page1.php:72 
    550560msgid "node" 
    551561msgstr "nodo" 
    552562 
    553563#: ../cron/page.php:72 ../cron/page.php:73 ../cron/page.php:74 
     564#: ../cron/page.old.php:79 
    554565#, php-format 
    555566msgid "Node %s (%s) has been down for %d minutes (since %s)" 
     
    598609#: ../include/common.php:132 ../include/common.php:155 
    599610#: ../include/common.php:158 ../include/common.php:154 
     611#: ../include/common.php:157 
    600612msgid "Unused" 
    601613msgstr "Non usato" 
     
    603615#: ../include/common.php:133 ../include/common.php:156 
    604616#: ../include/common.php:159 ../include/common.php:155 
     617#: ../include/common.php:158 
    605618msgid "In use" 
    606619msgstr "In uso" 
     
    608621#: ../include/common.php:134 ../include/common.php:157 
    609622#: ../include/common.php:160 ../include/common.php:156 
     623#: ../include/common.php:159 
    610624msgid "Used" 
    611625msgstr "Usato" 
     
    638652#: ../lib/RssPressReview/RssPressReview.php:734 
    639653#: ../lib/RssPressReview/RssPressReview.php:728 
     654#: ../lib/RssPressReview/RssPressReview.php:730 
    640655msgid "Source: " 
    641656msgstr "" 
     
    643658#: ../lib/RssPressReview/RssPressReview.php:764 
    644659#: ../lib/RssPressReview/RssPressReview.php:758 
     660#: ../lib/RssPressReview/RssPressReview.php:760 
    645661msgid "Today" 
    646662msgstr "oggi" 
     
    651667 
    652668#: ../login/index.php:249 ../login/index.php:258 ../login/index.php:266 
     669#: ../login/index.php:273 ../login/index (03:12:7 00:10).php:273 
    653670#, php-format 
    654671msgid "%s login page for %s" 
     
    656673 
    657674#: ../login/index.php:253 ../login/index.php:260 ../login/index.php:268 
     675#: ../login/index.php:275 ../login/index (03:12:7 00:10).php:275 
    658676msgid "Offsite login page" 
    659677msgstr "Pagina di login di Offsite" 
     
    674692 
    675693#: ../portal/index.php:211 ../portal/index.php:205 ../portal/index.php:178 
     694#: ../portal/index.php:198 
    676695#, php-format 
    677696msgid "%s portal for %s" 
     
    679698 
    680699#: ../portal/index.php:221 ../signup.php:230 ../portal/index.php:217 
    681 #: ../portal/index.php:190 
     700#: ../portal/index.php:190 ../signup.php:307 ../portal/index.php:210 
    682701#, php-format 
    683702msgid "" 
     
    689708 
    690709#: ../portal/index.php:292 ../portal/index.php:288 ../portal/index.php:251 
     710#: ../portal/index.php:281 
    691711msgid "Show all available contents for this hotspot" 
    692712msgstr "Cerca tutti i servizi disponibili per questo punto di accesso" 
     
    838858"Siamo spiacenti, questo rapporto richiede la selezione di nodi individuali" 
    839859 
    840 #: ../classes/StatisticReport/NodeStatus.php:99 smarty.txt:12 
     860#: ../classes/StatisticReport/NodeStatus.php:99 smarty.txt:12 smarty.txt:23 
    841861msgid "Status" 
    842862msgstr "Stato" 
     
    856876 
    857877#: ../classes/StatisticReport/NodeStatus.php:117 
     878#: ../classes/StatisticReport/NodeStatus.php:118 
    858879msgid "WifiDog version" 
    859880msgstr "Versione di WifiDog" 
    860881 
    861882#: ../classes/StatisticReport/NodeStatus.php:121 
     883#: ../classes/StatisticReport/NodeStatus.php:122 
    862884msgid "IP Address" 
    863885msgstr "Indirizzo ip" 
    864886 
    865887#: ../classes/StatisticReport/NodeStatus.php:125 
     888#: ../classes/StatisticReport/NodeStatus.php:126 
    866889msgid "Number of users online" 
    867890msgstr "Numero di utenti connessi" 
     
    869892#: ../classes/StatisticReport/NodeStatus.php:134 
    870893#: ../classes/StatisticReport/UserReport.php:117 ../classes/Profile.php:309 
     894#: ../classes/StatisticReport/NodeStatus.php:135 
    871895msgid "Profile" 
    872896msgstr "Profilo" 
     
    876900#: smarty.txt:14 smarty.txt:176 smarty.txt:189 smarty.txt:197 
    877901#: ../classes/Node.php:872 smarty.txt:98 smarty.txt:110 smarty.txt:114 
    878 #: ../classes/Node.php:944 
     902#: ../classes/Node.php:944 ../classes/StatisticReport/NodeStatus.php:139 
     903#: ../classes/Node.php:884 smarty.txt:25 smarty.txt:206 smarty.txt:217 
     904#: smarty.txt:225 
    879905msgid "Name" 
    880906msgstr "Nome" 
    881907 
    882908#: ../classes/StatisticReport/NodeStatus.php:142 
     909#: ../classes/StatisticReport/NodeStatus.php:143 
    883910msgid "Node ID" 
    884911msgstr "Identificativo del nodo" 
    885912 
    886913#: ../classes/StatisticReport/NodeStatus.php:146 ../classes/Node.php:346 
     914#: ../classes/StatisticReport/NodeStatus.php:147 
    887915msgid "Deployment Status" 
    888916msgstr "Stato di funzionamento" 
    889917 
    890918#: ../classes/StatisticReport/NodeStatus.php:150 
     919#: ../classes/StatisticReport/NodeStatus.php:151 
    891920msgid "Deployment date" 
    892921msgstr "Data di installazione" 
     
    896925#: ../classes/Content.php:750 ../classes/Node.php:887 smarty.txt:59 
    897926#: smarty.txt:117 ../classes/Content.php:796 ../classes/Node.php:959 
    898 #: smarty.txt:53 
     927#: smarty.txt:53 ../classes/StatisticReport/NodeStatus.php:155 
     928#: ../classes/Node.php:899 smarty.txt:192 smarty.txt:228 
    899929msgid "Description" 
    900930msgstr "Descrizione" 
     
    903933#: ../classes/StatisticReport/UserReport.php:137 smarty.txt:183 
    904934#: ../classes/Network.php:250 ../classes/Network.php:256 
    905 #: ../classes/Network.php:262 
     935#: ../classes/Network.php:262 ../classes/Network.php:233 
     936#: ../classes/Network.php:276 
    906937msgid "Network:" 
    907938msgstr "Rete:" 
    908939 
    909940#: ../classes/StatisticReport/NodeStatus.php:162 
     941#: ../classes/StatisticReport/NodeStatus.php:163 
    910942msgid "GIS Location" 
    911943msgstr "Locazione GIS" 
     
    913945#: ../classes/StatisticReport/NodeStatus.php:167 ../classes/Network.php:848 
    914946#: smarty.txt:112 ../classes/Network.php:1036 ../classes/Network.php:1040 
     947#: ../classes/Network.php:927 ../classes/StatisticReport/NodeStatus.php:168 
     948#: smarty.txt:197 
    915949msgid "Map" 
    916950msgstr "Mappa" 
    917951 
    918952#: ../classes/StatisticReport/NodeStatus.php:171 
     953#: ../classes/StatisticReport/NodeStatus.php:172 
    919954msgid "NOT SET" 
    920955msgstr "NON CONFIGURATO" 
     
    925960#: ../classes/NodeLists/NodeListPDF.php:1081 
    926961#: ../classes/NodeLists/NodeListKML.php:239 
     962#: ../classes/NodeLists/NodeListRSS.php:337 
     963#: ../classes/NodeLists/NodeListKML.php:251 
     964#: ../classes/NodeLists/NodeListGPX.php:197 
     965#: ../classes/NodeLists/NodeListPDF.php:1134 
     966#: ../classes/StatisticReport/NodeStatus.php:181 
    927967msgid "Address" 
    928968msgstr "Indirizzo" 
     
    930970#: ../classes/StatisticReport/NodeStatus.php:188 
    931971#: ../classes/NodeLists/NodeListPDF.php:1081 
     972#: ../classes/NodeLists/NodeListPDF.php:1134 
     973#: ../classes/StatisticReport/NodeStatus.php:189 
    932974msgid "Telephone" 
    933975msgstr "Telefono" 
     
    938980#: ../classes/NodeLists/NodeListKML.php:242 
    939981#: ../classes/StatisticReport/UserReport.php:127 
     982#: ../classes/NodeLists/NodeListKML.php:254 
     983#: ../classes/NodeLists/NodeListPDF.php:1134 
     984#: ../classes/StatisticReport/NodeStatus.php:193 
    940985msgid "Email" 
    941986msgstr "Email" 
    942987 
    943988#: ../classes/StatisticReport/NodeStatus.php:196 
     989#: ../classes/StatisticReport/NodeStatus.php:197 
    944990msgid "Transit Info" 
    945991msgstr "Informazioni sul transito" 
     
    947993#: ../classes/StatisticReport/NodeStatus.php:206 ../classes/Node.php:767 
    948994#: smarty.txt:43 ../classes/Node.php:846 ../classes/Node.php:918 
     995#: ../classes/StatisticReport/NodeStatus.php:207 ../classes/Node.php:858 
     996#: smarty.txt:55 
    949997msgid "Statistics" 
    950998msgstr "Statistiche" 
    951999 
    9521000#: ../classes/StatisticReport/NodeStatus.php:211 
     1001#: ../classes/StatisticReport/NodeStatus.php:212 
    9531002msgid "Average visits per day" 
    9541003msgstr "Media di visite per giorno" 
     
    9561005#: ../classes/StatisticReport/NodeStatus.php:212 
    9571006#: ../classes/StatisticReport/NodeStatus.php:223 
     1007#: ../classes/StatisticReport/NodeStatus.php:213 
     1008#: ../classes/StatisticReport/NodeStatus.php:224 
    9581009msgid "(for the selected period)" 
    9591010msgstr "(per il periodo selezionato)" 
    9601011 
    9611012#: ../classes/StatisticReport/NodeStatus.php:217 
     1013#: ../classes/StatisticReport/NodeStatus.php:218 
    9621014msgid "Traffic" 
    9631015msgstr "Traffico" 
     
    9651017#: ../classes/StatisticReport/NodeStatus.php:219 
    9661018#: ../classes/StatisticReport/HighestBandwidthUsers.php:102 
     1019#: ../classes/StatisticReport/NodeStatus.php:220 
    9671020msgid "Incoming" 
    9681021msgstr "In entrata" 
     
    9701023#: ../classes/StatisticReport/NodeStatus.php:221 
    9711024#: ../classes/StatisticReport/HighestBandwidthUsers.php:103 
     1025#: ../classes/StatisticReport/NodeStatus.php:222 
    9721026msgid "Outgoing" 
    9731027msgstr "In uscita" 
     
    9831037#: ../classes/StatisticReport/UserReport.php:111 ../classes/User.php:255 
    9841038#: ../classes/User.php:249 ../classes/User.php:230 ../classes/User.php:234 
    985 #: ../classes/User.php:236 
     1039#: ../classes/User.php:236 ../classes/User.php:529 
    9861040#, php-format 
    9871041msgid "User id: %s could not be found in the database" 
     
    10001054#: smarty.txt:100 smarty.txt:106 ../classes/StatisticReport/UserReport.php:284 
    10011055#: ../classes/User.php:657 ../classes/User.php:710 smarty.txt:94 
     1056#: ../classes/User.php:129 ../classes/User.php:1016 ../classes/User.php:1019 
     1057#: ../classes/User.php:1063 ../classes/User.php:1194 
     1058#: ../classes/StatisticReport/ConnectionLog.php:118 
     1059#: ../classes/StatisticReport/ConnectionLog.php:169 
     1060#: ../classes/Blacklist.php:407 smarty.txt:210 smarty.txt:241 
    10021061msgid "Username" 
    10031062msgstr "Nome Utente" 
     
    10051064#: ../classes/StatisticReport/UserReport.php:127 
    10061065msgid "Real Name" 
    1007 msgstr "
     1066msgstr "Nome completo
    10081067 
    10091068#: ../classes/StatisticReport/UserReport.php:142 
     
    10191078#: ../classes/StatisticReport/UserReport.php:152 smarty.txt:185 smarty.txt:107 
    10201079#: smarty.txt:103 ../classes/StatisticReport/UserReport.php:147 
    1021 #: ../classes/User.php:698 smarty.txt:97 
     1080#: ../classes/User.php:698 smarty.txt:97 ../classes/User.php:1063 
     1081#: ../classes/User.php:1287 smarty.txt:244 
    10221082msgid "Account Status" 
    10231083msgstr "Stato dell'account" 
     
    10461106#: ../classes/StatisticReport/ConnectionLog.php:167 
    10471107#: ../classes/StatisticReport/UserReport.php:180 
     1108#: ../classes/StatisticReport/ConnectionLog.php:172 
    10481109msgid "Time spent" 
    10491110msgstr "Tempo utilizzato" 
     
    10611122#: ../admin/generic_object_admin.php:193 smarty.txt:105 
    10621123#: ../admin/generic_object_admin.php:195 
    1063 #: ../classes/StatisticReport/UserReport.php:182 smarty.txt:99 
     1124#: ../classes/StatisticReport/UserReport.php:182 smarty.txt:99 smarty.txt:209 
    10641125msgid "Node" 
    10651126msgstr "Nodo" 
     
    10911152#: ../classes/StatisticReport/UserRegistrationReport.php:153 
    10921153#: ../classes/StatisticReport/UserReport.php:223 
     1154#: ../classes/StatisticReport/RegistrationLog.php:164 
    10931155msgid "Total" 
    10941156msgstr "Totale" 
     
    11031165#: ../classes/StatisticReport/ConnectionLog.php:165 
    11041166#: ../classes/StatisticReport/UserReport.php:248 
     1167#: ../classes/StatisticReport/ConnectionLog.php:170 
    11051168msgid "MAC" 
    11061169msgstr "MAC" 
     
    11581221#: ../classes/Server.php:661 ../classes/Node.php:877 ../classes/Server.php:666 
    11591222#: ../classes/Server.php:672 ../classes/Node.php:949 
    1160 #: ../classes/ProfileTemplate.php:482 
     1223#: ../classes/ProfileTemplate.php:482 ../classes/Content/File/File.php:438 
     1224#: ../classes/Server.php:695 ../classes/Node.php:889 
    11611225msgid "Creation date" 
    11621226msgstr "Data di creazione" 
     
    12071271 
    12081272#: ../classes/StatisticReport/ConnectionLog.php:64 
     1273#: ../classes/StatisticReport/ConnectionLog.php:67 
    12091274msgid "Connection Log" 
    12101275msgstr "Log delle connessioni" 
     
    12161281#: ../classes/Network.php:334 ../classes/Server.php:406 
    12171282#: ../classes/Node.php:440 ../classes/ContentTypeFilter.php:253 
     1283#: ../classes/Network.php:351 ../classes/StatisticReport/ConnectionLog.php:92 
    12181284msgid "Access denied" 
    12191285msgstr "Accesso negato" 
    12201286 
    12211287#: ../classes/StatisticReport/ConnectionLog.php:109 
     1288#: ../classes/StatisticReport/ConnectionLog.php:112 
    12221289msgid "Number of unique Users:" 
    12231290msgstr "Numero di utenti unici:" 
    12241291 
    12251292#: ../classes/StatisticReport/ConnectionLog.php:116 
     1293#: ../classes/StatisticReport/ConnectionLog.php:119 
    12261294msgid "MAC Count" 
    12271295msgstr "Conteggio degli indirizzi MAC" 
    12281296 
    12291297#: ../classes/StatisticReport/ConnectionLog.php:124 
     1298#: ../classes/StatisticReport/ConnectionLog.php:127 
    12301299msgid "Cx Count" 
    12311300msgstr "Conteggio Cx" 
    12321301 
    12331302#: ../classes/StatisticReport/ConnectionLog.php:125 
     1303#: ../classes/StatisticReport/ConnectionLog.php:128 
    12341304msgid "Last seen" 
    12351305msgstr "Ultima visita" 
    12361306 
    12371307#: ../classes/StatisticReport/ConnectionLog.php:159 
     1308#: ../classes/StatisticReport/ConnectionLog.php:164 
    12381309msgid "Number of non-unique connections:" 
    12391310msgstr "Numero di connessioni non uniche:" 
    12401311 
    12411312#: ../classes/StatisticReport/ConnectionLog.php:163 
     1313#: ../classes/StatisticReport/ConnectionLog.php:168 
    12421314msgid "Node name" 
    12431315msgstr "Nome del nodo" 
    12441316 
    12451317#: ../classes/StatisticReport/ConnectionLog.php:166 
     1318#: ../classes/StatisticReport/ConnectionLog.php:171 
    12461319msgid "Date" 
    12471320msgstr "Data" 
    12481321 
    12491322#: ../classes/StatisticReport/ConnectionLog.php:192 
     1323#: ../classes/StatisticReport/ConnectionLog.php:199 
    12501324msgid "Unknown" 
    12511325msgstr "Sconosciuto" 
     
    12871361#: ../classes/NodeLists/NodeListRSS.php:158 
    12881362#: ../classes/NodeLists/NodeListHTML.php:229 
     1363#: ../classes/NodeLists/NodeListHTML.php:245 
     1364#: ../classes/NodeLists/NodeListRSS.php:170 
     1365#: ../classes/NodeLists/NodeListHTML.old.php:236 
    12891366msgid "Newest Hotspots" 
    12901367msgstr "Nuovi punti d'accesso" 
     
    12931370#: ../classes/NodeLists/NodeListRSS.php:290 
    12941371#: ../classes/NodeLists/NodeListRSS.php:170 
     1372#: ../classes/NodeLists/NodeListRSS.php:182 
    12951373msgid "List of the most recent Hotspots opened by the network: " 
    12961374msgstr "Lista dei pi&ugrave recenti nuovi punti d'accesso aperti nella rete:" 
     
    12981376#: ../classes/NodeLists/NodeListRSS.php:200 
    12991377#: ../classes/NodeLists/NodeListRSS.php:191 
     1378#: ../classes/NodeLists/NodeListRSS.php:203 
    13001379msgid "Copyright " 
    13011380msgstr "" 
     
    13031382#: ../classes/NodeLists/NodeListRSS.php:368 
    13041383#: ../classes/NodeLists/NodeListRSS.php:359 
     1384#: ../classes/NodeLists/NodeListRSS.php:371 
    13051385msgid "See Map" 
    13061386msgstr "Guarda la mappa" 
     
    13081388#: ../classes/NodeLists/NodeListRSS.php:381 
    13091389#: ../classes/NodeLists/NodeListRSS.php:372 
     1390#: ../classes/NodeLists/NodeListRSS.php:384 
    13101391msgid "Contact" 
    13111392msgstr "Contatti" 
    13121393 
    13131394#: ../classes/NodeLists/NodeListHTML.php:241 
     1395#: ../classes/NodeLists/NodeListHTML.php:244 
     1396#: ../classes/NodeLists/NodeListHTML.old.php:235 
    13141397msgid "Hotspot list" 
    13151398msgstr "Lista punti d'access" 
     
    13311414#: ../classes/Content/Picture/Picture.php:100 ../classes/Content.php:124 
    13321415#: ../classes/Content.php:274 
     1416#: ../classes/Content/ContentGroup/ContentGroup.php:101 
     1417#: ../classes/Content/File/File.php:117 
     1418#: ../classes/Content/EmbeddedContent/EmbeddedContent.php:96 
     1419#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:133 
     1420#: ../classes/Content.php:133 ../classes/Content.php:286 
    13331421msgid "The content with the following id could not be found in the database: " 
    13341422msgstr "" 
    13351423 
    13361424#: ../classes/Content/File/File.php:165 ../classes/Content/File/File.php:158 
    1337 #: ../classes/Content/File/File.php:162 
     1425#: ../classes/Content/File/File.php:162 ../classes/Content/File/File.php:160 
    13381426msgid "File size exceeds limit specified in PHP.ini" 
    13391427msgstr "La dimensione del file supera il limite specificato nel file PHP.ini" 
    13401428 
    13411429#: ../classes/Content/File/File.php:169 ../classes/Content/File/File.php:162 
    1342 #: ../classes/Content/File/File.php:166 
     1430#: ../classes/Content/File/File.php:166 ../classes/Content/File/File.php:164 
    13431431msgid "File size exceeds limit specified HTML form" 
    13441432msgstr "La dimensione del file supera il limite specificato nel form HTML" 
    13451433 
    13461434#: ../classes/Content/File/File.php:173 ../classes/Content/File/File.php:166 
    1347 #: ../classes/Content/File/File.php:170 
     1435#: ../classes/Content/File/File.php:170 ../classes/Content/File/File.php:168 
    13481436msgid "File upload was interrupted" 
    13491437msgstr "L'upload del file &egrave stato interrotto" 
    13501438 
    13511439#: ../classes/Content/File/File.php:177 ../classes/Content/File/File.php:170 
    1352 #: ../classes/Content/File/File.php:174 
     1440#: ../classes/Content/File/File.php:174 ../classes/Content/File/File.php:172 
    13531441msgid "Missing temp folder" 
    13541442msgstr "Non &egrave stata trovata la cartella temporanea" 
     
    13601448#: ../classes/Content/Avatar/Avatar.php:96 
    13611449#: ../classes/Content/File/File.php:437 
     1450#: ../classes/Content/Avatar/Avatar.php:101 
     1451#: ../classes/Content/File/File.php:454 
    13621452msgid "Upload a new file (Uploading a new one will replace any existing file)" 
    13631453msgstr "" 
     
    13711461#: ../classes/Content/Avatar/Avatar.php:106 
    13721462#: ../classes/Content/File/File.php:447 
     1463#: ../classes/Content/Avatar/Avatar.php:111 
     1464#: ../classes/Content/File/File.php:464 
    13731465msgid "Remote file via URL" 
    13741466msgstr "Carica un file remoto via URL" 
     
    13801472#: ../classes/Content/Avatar/Avatar.php:120 
    13811473#: ../classes/Content/File/File.php:461 
     1474#: ../classes/Content/Avatar/Avatar.php:125 
     1475#: ../classes/Content/File/File.php:478 
    13821476msgid "File URL" 
    13831477msgstr "URL del file" 
    13841478 
    13851479#: ../classes/Content/File/File.php:467 ../classes/Content/File/File.php:484 
    1386 #: ../classes/Content/File/File.php:470 
     1480#: ../classes/Content/File/File.php:470 ../classes/Content/File/File.php:486 
    13871481msgid "Filename to display" 
    13881482msgstr "Nome del file da visualizzare" 
    13891483 
    13901484#: ../classes/Content/File/File.php:475 ../classes/Content/File/File.php:492 
    1391 #: ../classes/Content/File/File.php:480 
     1485#: ../classes/Content/File/File.php:480 ../classes/Content/File/File.php:494 
    13921486msgid "MIME type" 
    13931487msgstr "Tipo MIME" 
    13941488 
    13951489#: ../classes/Content/File/File.php:482 ../classes/Content/File/File.php:499 
    1396 #: ../classes/Content/File/File.php:488 
     1490#: ../classes/Content/File/File.php:488 ../classes/Content/File/File.php:501 
    13971491msgid "Locally stored file size" 
    13981492msgstr "Dimensione del file salvato in locale" 
     
    14051499#: ../classes/Content/EmbeddedContent/EmbeddedContent.php:354 
    14061500#: ../classes/Content/File/File.php:490 ../classes/Content/File/File.php:569 
     1501#: ../classes/Content/File/File.php:503 ../classes/Content/File/File.php:519 
     1502#: ../classes/Content/File/File.php:588 
     1503#: ../classes/Content/EmbeddedContent/EmbeddedContent.php:365 
    14071504msgid "KB" 
    14081505msgstr "KB" 
    14091506 
    14101507#: ../classes/Content/File/File.php:489 ../classes/Content/File/File.php:506 
    1411 #: ../classes/Content/File/File.php:493 
     1508#: ../classes/Content/File/File.php:493 ../classes/Content/File/File.php:508 
    14121509msgid "Remote file size (Automatically converted from KB to Bytes)" 
    14131510msgstr "Dimensione del file remoto (Automaticamente convertito da KB in Bytes)" 
     
    14171514#: ../classes/Content/File/File.php:517 ../classes/Content/File/File.php:591 
    14181515#: ../classes/Content/EmbeddedContent/EmbeddedContent.php:354 
    1419 #: ../classes/Content/File/File.php:574 
     1516#: ../classes/Content/File/File.php:574 ../classes/Content/File/File.php:519 
     1517#: ../classes/Content/File/File.php:593 
     1518#: ../classes/Content/EmbeddedContent/EmbeddedContent.php:365 
    14201519msgid "Download" 
    14211520msgstr "Scarica" 
    14221521 
    14231522#: ../classes/Content/File/File.php:626 ../classes/Content/File/File.php:634 
    1424 #: ../classes/Content/File/File.php:617 
     1523#: ../classes/Content/File/File.php:617 ../classes/Content/File/File.php:638 
    14251524msgid "Could not delete this file, since it is persistent" 
    14261525msgstr "Non posso cancellare questo file finch&egrave &egrave persistente" 
     
    14281527#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:199 
    14291528#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:198 
     1529#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:200 
    14301530msgid "Illegal Flickr Photostream selection mode." 
    14311531msgstr "" 
     
    14331533#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:239 
    14341534#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:238 
     1535#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:240 
    14351536msgid "Illegal Flickr Photostream display mode." 
    14361537msgstr "" 
     
    15871688#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:856 
    15881689#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:853 
     1690#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:854 
    15891691msgid "Unable to connect to Flickr API." 
    15901692msgstr "" 
     
    15961698#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:860 
    15971699#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:857 
     1700#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:858 
    15981701msgid "Some of the request parameters provided to Flickr API are invalid." 
    15991702msgstr "" 
     
    16051708#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:865 
    16061709#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:862 
     1710#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:863 
    16071711msgid "Unable to parse Flickr's response." 
    16081712msgstr "" 
     
    16141718#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:869 
    16151719#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:866 
     1720#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:867 
    16161721msgid "Could not get content from Flickr : " 
    16171722msgstr "" 
     
    16291734#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:876 
    16301735#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:873 
     1736#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:874 
    16311737msgid "PEAR::Phlickr is not installed" 
    16321738msgstr "" 
     
    16351741#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:670 
    16361742#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:674 
     1743#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:672 
    16371744msgid "Could not find a Flickr user with this e-mail." 
    16381745msgstr "" 
     
    16411748#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:686 
    16421749#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:690 
     1750#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:688 
    16431751msgid "Could not complete successfully the saving procedure." 
    16441752msgstr "" 
     
    16481756#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:851 
    16491757#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:848 
     1758#: ../classes/Content/FlickrPhotostream/FlickrPhotostream.php:849 
    16501759msgid "No Flickr content matches the request !" 
    16511760msgstr "" 
     
    16531762#: ../classes/Content/IFrameRest/IFrameRest.php:125 
    16541763#: ../classes/Content/IFrameRest/IFrameRest.php:119 
     1764#: ../classes/Content/IFrameRest/IFrameRest.php:126 
    16551765msgid "Actual URL after substitution" 
    16561766msgstr "" 
     
    17151825#: ../classes/Content/IFrame/IFrame.php:244 
    17161826#: ../classes/Content/IFrame/IFrame.php:231 
     1827#: ../classes/Content/IFrame/IFrame.php:240 
    17171828msgid "Width (suggested width is 600 (pixels))" 
    17181829msgstr "" 
     
    17201831#: ../classes/Content/IFrame/IFrame.php:253 
    17211832#: ../classes/Content/IFrame/IFrame.php:240 
     1833#: ../classes/Content/IFrame/IFrame.php:249 
    17221834msgid "Height (suggested width is 400 (pixels))" 
    17231835msgstr "" 
     
    17251837#: ../classes/Content/IFrame/IFrame.php:260 
    17261838#: ../classes/Content/IFrame/IFrame.php:247 
     1839#: ../classes/Content/IFrame/IFrame.php:256 
    17271840msgid "HTML content URL" 
    17281841msgstr "" 
     
    17311844#: ../classes/Content/IFrame/IFrame.php:301 
    17321845#: ../classes/Content/IFrame/IFrame.php:296 
     1846#: ../classes/Content/IFrame/IFrame.php:314 
    17331847msgid "Your browser does not support IFrames." 
    17341848msgstr "" 
     
    17701884#: ../classes/Content/EmbeddedContent/EmbeddedContent.php:258 
    17711885#: ../classes/Content/EmbeddedContent/EmbeddedContent.php:261 
     1886#: ../classes/Content/EmbeddedContent/EmbeddedContent.php:267 
    17721887msgid "You MUST choose a File object or any of its siblings." 
    17731888msgstr "" 
     
    17861901#: ../classes/Content/Langstring/Langstring.php:482 
    17871902#: ../classes/Content.php:1775 
     1903#: ../classes/Content/Langstring/Langstring.php:556 
     1904#: ../classes/Content/EmbeddedContent/EmbeddedContent.php:412 
     1905#: ../classes/Content.php:1535 
    17881906msgid "" 
    17891907"Content is persistent (you must make it non persistent before you can delete " 
     
    18001918#: ../classes/Content/ContentGroup/ContentGroupElement.php:231 
    18011919#: ../classes/Content.php:189 ../classes/ProfileTemplateField.php:187 
     1920#: ../classes/Content/ContentGroup/ContentGroupElement.php:237 
     1921#: ../classes/Content.php:194 
    18021922msgid "Unable to insert new content into database!" 
    18031923msgstr "" 
     
    18061926#: ../classes/Content/ContentGroup/ContentGroupElement.php:307 
    18071927#: ../classes/Content/ContentGroup/ContentGroupElement.php:325 
     1928#: ../classes/Content/ContentGroup/ContentGroupElement.php:285 
    18081929msgid "(Ignored if display type is random)" 
    18091930msgstr "" 
    18101931 
    18111932#: ../classes/Content/ContentGroup/ContentGroupElement.php:288 
     1933#: ../classes/Content/ContentGroup/ContentGroupElement.php:291 
    18121934msgid "AllowedNodes:" 
    18131935msgstr "" 
    18141936 
    18151937#: ../classes/Content/ContentGroup/ContentGroupElement.php:289 
     1938#: ../classes/Content/ContentGroup/ContentGroupElement.php:292 
    18161939msgid "" 
    18171940"(Content can be displayed on ANY node unless one or more nodes are selected)" 
     
    18241947#: ../classes/Content/ContentGroup/ContentGroupElement.php:373 
    18251948#: ../classes/Content.php:609 ../classes/ProfileTemplate.php:370 
     1949#: ../classes/Content/ContentGroup/ContentGroupElement.php:307 
     1950#: ../classes/Content.php:562 
    18261951msgid "Remove" 
    18271952msgstr "" 
     
    18301955#: ../classes/Content/ContentGroup/ContentGroupElement.php:358 
    18311956#: ../classes/Content/ContentGroup/ContentGroupElement.php:385 
     1957#: ../classes/Content/ContentGroup/ContentGroupElement.php:319 
    18321958msgid "Add new allowed node" 
    18331959msgstr "" 
     
    18521978#: ../classes/Content.php:502 ../classes/Content.php:838 
    18531979#: ../classes/ProfileTemplate.php:302 ../classes/ProfileTemplateField.php:148 
     1980#: ../classes/Content/RssAggregator/RssAggregator.php:529 
     1981#: ../classes/Content.php:451 smarty.txt:202 
    18541982msgid "Add" 
    18551983msgstr "" 
     
    18581986#: ../classes/Content/ContentGroup/ContentGroup.php:199 
    18591987#: ../classes/Content/ContentGroup/ContentGroup.php:148 
     1988#: ../classes/Content/ContentGroup/ContentGroup.php:197 
    18601989msgid "Invalid content selection mode (must be part of CONTENT_ORDERING_MODES)" 
    18611990msgstr "" 
     
    18641993#: ../classes/Content/ContentGroup/ContentGroup.php:228 
    18651994#: ../classes/Content/ContentGroup/ContentGroup.php:177 
     1995#: ../classes/Content/ContentGroup/ContentGroup.php:232 
    18661996msgid "" 
    18671997"Invalid content selection mode (must be part of CONTENT_CHANGES_ON_MODES)" 
     
    18712001#: ../classes/Content/ContentGroup/ContentGroup.php:257 
    18722002#: ../classes/Content/ContentGroup/ContentGroup.php:206 
     2003#: ../classes/Content/ContentGroup/ContentGroup.php:267 
    18732004msgid "Invalid content selection mode (must be part of ALLOW_REPEAT_MODES)" 
    18742005msgstr "" 
     
    18802011#: ../classes/Content/RssAggregator/RssAggregator.php:179 
    18812012#: ../classes/Content/ContentGroup/ContentGroup.php:238 
     2013#: ../classes/Content/ContentGroup/ContentGroup.php:305 
     2014#: ../classes/Content/RssAggregator/RssAggregator.php:194 
    18822015msgid "You must display at least one element" 
    18832016msgstr "" 
    18842017 
    1885 ############traduction 
    18862018#: ../classes/Content/ContentGroup/ContentGroup.php:352 
    18872019#: ../classes/Content/ContentGroup/ContentGroup.php:334 
    18882020#: ../classes/Content/ContentGroup/ContentGroup.php:263 
     2021#: ../classes/Content/ContentGroup/ContentGroup.php:354 
    18892022msgid "In what order should the content displayed?" 
    18902023msgstr "" 
     
    18932026#: ../classes/Content/ContentGroup/ContentGroup.php:351 
    18942027#: ../classes/Content/ContentGroup/ContentGroup.php:272 
     2028#: ../classes/Content/ContentGroup/ContentGroup.php:372 
    18952029msgid "When does the content rotate?" 
    18962030msgstr "" 
     
    18992033#: ../classes/Content/ContentGroup/ContentGroup.php:367 
    19002034#: ../classes/Content/ContentGroup/ContentGroup.php:281 
     2035#: ../classes/Content/ContentGroup/ContentGroup.php:389 
    19012036msgid "Can content be shown more than once to the same user?" 
    19022037msgstr "" 
     
    19122047#: ../classes/Content/ContentGroup/ContentGroup.php:767 
    19132048#: ../classes/Content/ContentGroup/ContentGroup.php:711 
     2049#: ../classes/Content/ContentGroup/ContentGroup.php:769 
    19142050msgid "" 
    19152051"Sorry, no elements available at this hotspot or all elements of the content " 
     
    19212057#: ../classes/Content/Langstring/Langstring.php:211 
    19222058#: ../classes/Content/SimpleString/SimpleString.php:101 
     2059#: ../classes/Content/Langstring/Langstring.php:271 
    19232060msgid "Only these HTML tags are allowed : " 
    19242061msgstr "" 
     
    19402077#: ../classes/Content/HTMLeditor/HTMLeditor.php:126 
    19412078#: ../classes/Content/HTMLeditor/HTMLeditor.php:166 smarty.txt:22 
     2079#: ../classes/Content/Langstring/Langstring.php:327 
     2080#: ../classes/Content/Langstring/Langstring.php:385 
     2081#: ../classes/Content/HTMLeditor/HTMLeditor.php:306 
     2082#: ../classes/Content/HTMLeditor/HTMLeditor.php:346 smarty.txt:49 
    19422083msgid "Language" 
    1943 msgstr "
     2084msgstr "Lingua
    19442085 
    19452086#: ../classes/Content/Langstring/Langstring.php:343 
     
    19512092#: ../classes/Content/Langstring/Langstring.php:279 
    19522093#: ../classes/Content/HTMLeditor/HTMLeditor.php:153 
     2094#: ../classes/Content/Langstring/Langstring.php:338 
     2095#: ../classes/Content/HTMLeditor/HTMLeditor.php:333 
    19532096msgid "Delete string" 
    1954 msgstr "
     2097msgstr "Cancella stringa
    19552098 
    19562099#: ../classes/Content/Langstring/Langstring.php:404 
     
    19622105#: ../classes/Content/Langstring/Langstring.php:339 
    19632106#: ../classes/Content/HTMLeditor/HTMLeditor.php:191 
     2107#: ../classes/Content/Langstring/Langstring.php:398 
     2108#: ../classes/Content/HTMLeditor/HTMLeditor.php:371 
    19642109msgid "Add new string" 
    1965 msgstr "
     2110msgstr "Aggiungi una nuova stringa
    19662111 
    19672112#: ../classes/Content/Langstring/Langstring.php:583 
     
    19752120#: ../classes/Content/Langstring/Langstring.php:500 
    19762121#: ../classes/Content.php:1799 
     2122#: ../classes/Content/Langstring/Langstring.php:574 
     2123#: ../classes/Content.php:1543 
    19772124msgid "Access denied (not owner of content)" 
    19782125msgstr "" 
     
    19812128#: ../classes/Content/RssAggregator/RssAggregator.php:105 
    19822129#: ../classes/Content/RssAggregator/RssAggregator.php:115 
     2130#: ../classes/Content/RssAggregator/RssAggregator.php:113 
    19832131msgid "" 
    19842132"The RssAggregator content with the following id could not be found in the " 
     
    19932141#: ../classes/Content/RssAggregator/RssAggregator.php:753 
    19942142#: ../classes/Content/RssAggregator/RssAggregator.php:949 
     2143#: ../classes/Content/RssAggregator/RssAggregator.php:149 
     2144#: ../classes/Content/RssAggregator/RssAggregator.php:796 
    19952145msgid "RSS support is disabled" 
    19962146msgstr "" 
     
    20002150#: ../classes/Content/RssAggregator/RssAggregator.php:300 
    20012151#: ../classes/Content/RssAggregator/RssAggregator.php:418 
     2152#: ../classes/Content/RssAggregator/RssAggregator.php:326 
    20022153msgid "The maximum age must be a positive integer or null" 
    20032154msgstr "" 
     
    20072158#: ../classes/Content/RssAggregator/RssAggregator.php:386 
    20082159#: ../classes/Content/RssAggregator/RssAggregator.php:504 
     2160#: ../classes/Content/RssAggregator/RssAggregator.php:423 
    20092161msgid "Total number of items to display (from all feeds)" 
    20102162msgstr "" 
    20112163 
    20122164#: ../classes/Content/RssAggregator/RssAggregator.php:444 
     2165#: ../classes/Content/RssAggregator/RssAggregator.php:438 
    20132166msgid "" 
    20142167"How much bonus feeds that do not publish as often get over feed that publish " 
     
    20302183 
    20312184#: ../classes/Content/RssAggregator/RssAggregator.php:467 
     2185#: ../classes/Content/RssAggregator/RssAggregator.php:461 
    20322186msgid "" 
    20332187"Set the oldest entries (in seconds) you are willing to see.  Any entries " 
     
    20432197#: ../classes/Content/RssAggregator/RssAggregator.php:434 
    20442198#: ../classes/Content/RssAggregator/RssAggregator.php:597 
     2199#: ../classes/Content/RssAggregator/RssAggregator.php:471 
    20452200msgid "seconds" 
    20462201msgstr "" 
     
    20502205#: ../classes/Content/RssAggregator/RssAggregator.php:442 
    20512206#: ../classes/Content/RssAggregator/RssAggregator.php:605 
     2207#: ../classes/Content/RssAggregator/RssAggregator.php:479 
    20522208msgid "Feeds:" 
    20532209msgstr "" 
     
    20572213#: ../classes/Content/RssAggregator/RssAggregator.php:467 
    20582214#: ../classes/Content/RssAggregator/RssAggregator.php:630 
     2215#: ../classes/Content/RssAggregator/RssAggregator.php:504 
    20592216msgid "" 
    20602217"Add a new feed or pick one from the other feeds in the system " 
     
    20662223#: ../classes/Content/RssAggregator/RssAggregator.php:483 
    20672224#: ../classes/Content/RssAggregator/RssAggregator.php:646 
     2225#: ../classes/Content/RssAggregator/RssAggregator.php:520 
    20682226#, php-format 
    20692227msgid "%s, used %d times" 
     
    20742232#: ../classes/Content/RssAggregator/RssAggregator.php:489 
    20752233#: ../classes/Content/RssAggregator/RssAggregator.php:652 
     2234#: ../classes/Content/RssAggregator/RssAggregator.php:526 
    20762235msgid "Type URL manually" 
    20772236msgstr "" 
     
    20822241#: ../classes/Content/RssAggregator/RssAggregator.php:575 
    20832242#: ../classes/Content/RssAggregator/RssAggregator.php:753 
     2243#: ../classes/NodeLists/NodeListKML.php:253 
     2244#: ../classes/Content/RssAggregator/RssAggregator.php:617 
    20842245msgid "URL" 
    20852246msgstr "" 
     
    20892250#: ../classes/Content/RssAggregator/RssAggregator.php:578 
    20902251#: ../classes/Content/RssAggregator/RssAggregator.php:756 
     2252#: ../classes/Content/RssAggregator/RssAggregator.php:620 
    20912253msgid "" 
    20922254"WARNING:  Either the feed couldn't be retrieved, or it couldn't be parsed.  " 
     
    20982260#: ../classes/Content/RssAggregator/RssAggregator.php:598 
    20992261#: ../classes/Content/RssAggregator/RssAggregator.php:776 
     2262#: ../classes/Content/RssAggregator/RssAggregator.php:640 
    21002263#, php-format 
    21012264msgid "The feed publishes an item every %.2f day(s)" 
     
    21032266 
    21042267#: ../classes/Content/RssAggregator/RssAggregator.php:649 
     2268#: ../classes/Content/RssAggregator/RssAggregator.php:642 
    21052269msgid "" 
    21062270"WARNING:  This feed does not include the publication dates.\n" 
     
    21182282 
    21192283#: ../classes/Content/RssAggregator/RssAggregator.php:674 
     2284#: ../classes/Content/RssAggregator/RssAggregator.php:667 
    21202285msgid "" 
    21212286"The bias to be given to the source by the selection algorithm.\n" 
     
    21362301#: ../classes/Content/RssAggregator/RssAggregator.php:674 
    21372302#: ../classes/Content/RssAggregator/RssAggregator.php:855 
     2303#: ../classes/Content/RssAggregator/RssAggregator.php:717 
    21382304msgid "The bias must be a positive real number" 
    21392305msgstr "" 
     
    21432309#: ../classes/Content/RssAggregator/RssAggregator.php:702 
    21442310#: ../classes/Content/RssAggregator/RssAggregator.php:883 
     2311#: ../classes/Content/RssAggregator/RssAggregator.php:744 
    21452312msgid "The default publication must must be a positive integer or empty" 
    21462313msgstr "" 
     
    21502317#: ../classes/Content/RssAggregator/RssAggregator.php:724 
    21512318#: ../classes/Content/RssAggregator/RssAggregator.php:905 
     2319#: ../classes/Content/RssAggregator/RssAggregator.php:765 
    21522320msgid "The URL cannot be empty!" 
    21532321msgstr "" 
     
    21572325#: ../classes/Content/RssAggregator/RssAggregator.php:747 
    21582326#: ../classes/Content/RssAggregator/RssAggregator.php:943 
     2327#: ../classes/Content/RssAggregator/RssAggregator.php:793 
    21592328#, php-format 
    21602329msgid "Could not get RSS feed: %s" 
     
    21672336#: ../classes/Content/HTMLeditor/HTMLeditor.php:196 
    21682337#: ../classes/Content/HTMLeditor/HTMLeditor.php:200 
     2338#: ../classes/Content/HTMLeditor/HTMLeditor.php:380 
    21692339msgid "FCKeditor is not installed" 
    21702340msgstr "" 
     
    21732343#: ../classes/Content/Picture/Picture.php:232 
    21742344#: ../classes/Content/Picture/Picture.php:259 
     2345#: ../classes/Content/Picture/Picture.php:244 
    21752346msgid "Width (leave empty if you want to keep original width)" 
    21762347msgstr "" 
     
    21792350#: ../classes/Content/Picture/Picture.php:239 
    21802351#: ../classes/Content/Picture/Picture.php:266 
     2352#: ../classes/Content/Picture/Picture.php:251 
    21812353msgid "Height (leave empty if you want to keep original height)" 
    21822354msgstr "" 
     
    21872359#: ../classes/Content/Avatar/Avatar.php:92 
    21882360#: ../classes/Content/Avatar/Avatar.php:86 
     2361#: ../classes/Content/Avatar/Avatar.php:91 
     2362#: ../classes/Content/Picture/Picture.php:259 
    21892363msgid "Picture preview" 
    21902364msgstr "" 
     
    21962370#: ../classes/Dependencies.php:258 ../classes/Dependencies.php:274 
    21972371#: ../classes/Dependencies.php:290 ../classes/Dependencies.php:305 
     2372#: ../classes/Dependencies.php:172 ../classes/Dependencies.php:189 
     2373#: ../classes/Dependencies.php:206 ../classes/Dependencies.php:222 
    21982374#, php-format 
    21992375msgid "Component %s is not installed (not found in %s)" 
    2200 msgstr "
     2376msgstr "Il componente %s non &egrave installato (non trovato in %s)
    22012377 
    22022378#: ../classes/Security.php:75 ../classes/Security.php:72 
     
    22112387#: ../classes/FormSelectGenerator.php:112 
    22122388msgid " (Empty langstring, ID is displayed)" 
    2213 msgstr "
     2389msgstr "(Langstring vuota, viene visualizzato l'ID
    22142390 
    22152391#: ../classes/User.php:297 ../classes/User.php:328 ../classes/User.php:302 
    2216 #: ../classes/User.php:306 ../classes/User.php:340 
     2392#: ../classes/User.php:306 ../classes/User.php:340 ../classes/User.php:604 
    22172393msgid "Could not update email address." 
    2218 msgstr "
     2394msgstr "Impossibile aggiornare l'indirizzo email.
    22192395 
    22202396#: ../classes/User.php:312 
     
    22312407 
    22322408#: ../classes/User.php:384 ../classes/User.php:368 ../classes/User.php:336 
    2233 #: ../classes/User.php:340 ../classes/User.php:374 
     2409#: ../classes/User.php:340 ../classes/User.php:374 ../classes/User.php:644 
    22342410msgid "Could not update username locale." 
    2235 msgstr "
     2411msgstr "Non &egrave possibile aggiornare il nome utente locale.
    22362412 
    22372413#: ../classes/User.php:410 ../classes/User.php:394 ../classes/User.php:358 
    2238 #: ../classes/User.php:362 ../classes/User.php:396 
     2414#: ../classes/User.php:362 ../classes/User.php:396 ../classes/User.php:687 
     2415#: ../classes/Blacklist.php:334 
    22392416msgid "Could not update status." 
    2240 msgstr "
     2417msgstr "Non &egrave possibile aggiornare lo stato.
    22412418 
    22422419#: ../classes/User.php:434 ../classes/User.php:418 ../classes/User.php:377 
     2420#: ../classes/User.php:711 
    22432421#, php-format 
    22442422msgid "" 
     
    22502428 
    22512429#: ../classes/User.php:439 ../classes/User.php:423 ../classes/User.php:380 
    2252 #: ../classes/User.php:384 ../classes/User.php:419 
     2430#: ../classes/User.php:384 ../classes/User.php:419 ../classes/User.php:716 
    22532431msgid "Your account is currently valid." 
    2254 msgstr "
     2432msgstr "Il suo account &egrave attivo.
    22552433 
    22562434#: ../classes/User.php:445 ../classes/User.php:429 ../classes/User.php:384 
    2257 #: ../classes/User.php:388 ../classes/User.php:423 
     2435#: ../classes/User.php:388 ../classes/User.php:423 ../classes/User.php:722 
    22582436msgid "Sorry, your account is not valid: " 
    2259 msgstr "
     2437msgstr "Siamo spiacenti, il suo account non &egrave pi&ugrave attivo:
    22602438 
    22612439#: ../classes/User.php:534 ../classes/User.php:529 ../classes/User.php:466 
    2262 #: ../classes/User.php:470 ../classes/User.php:509 
     2440#: ../classes/User.php:470 ../classes/User.php:509 ../classes/User.php:839 
    22632441msgid "Could not change user's password." 
    2264 msgstr "
     2442msgstr "Non &egrave possibile cambiare la sua password.
    22652443 
    22662444#: ../classes/User.php:553 ../classes/User.php:548 ../classes/User.php:482 
    2267 #: ../classes/User.php:486 ../classes/User.php:525 
     2445#: ../classes/User.php:486 ../classes/User.php:525 ../classes/User.php:858 
    22682446msgid "No users could not be found in the database" 
    2269 msgstr "
     2447msgstr "Nessun utente &egrave stato trovato nel database
    22702448 
    22712449#: ../classes/User.php:562 ../classes/User.php:587 ../classes/User.php:605 
     
    22742452#: ../classes/User.php:494 ../classes/User.php:512 ../classes/User.php:529 
    22752453#: ../classes/User.php:533 ../classes/User.php:551 ../classes/User.php:568 
     2454#: ../classes/User.php:103 ../classes/User.php:106 ../classes/User.php:867 
     2455#: ../classes/User.php:892 ../classes/User.php:910 
    22762456msgid "Registration system" 
    2277 msgstr "
     2457msgstr "Sistema di registrazione
    22782458 
    22792459#: ../classes/User.php:565 ../classes/User.php:560 ../classes/User.php:493 
    2280 #: ../classes/User.php:497 ../classes/User.php:536 
     2460#: ../classes/User.php:497 ../classes/User.php:536 ../classes/User.php:870 
    22812461msgid " lost username request" 
    2282 msgstr "
     2462msgstr "richiesta nomeutente persa
    22832463 
    22842464#: ../classes/User.php:566 ../classes/User.php:561 ../classes/User.php:494 
    2285 #: ../classes/User.php:498 ../classes/User.php:537 
     2465#: ../classes/User.php:498 ../classes/User.php:537 ../classes/User.php:871 
    22862466msgid "" 
    22872467"Hello,\n" 
     
    22892469"Username: " 
    22902470msgstr "" 
     2471"Salve,\n" 
     2472"Lei ha richiesto la comunicazione del suo nome utente presso il nostro " 
     2473"server:\n" 
     2474"Username: " 
    22912475 
    22922476#: ../classes/User.php:566 ../classes/User.php:609 ../classes/User.php:561 
    22932477#: ../classes/User.php:604 ../classes/User.php:494 ../classes/User.php:529 
    22942478#: ../classes/User.php:498 ../classes/User.php:533 ../classes/User.php:537 
    2295 #: ../classes/User.php:572 
     2479#: ../classes/User.php:572 ../classes/User.php:871 ../classes/User.php:914 
    22962480msgid "" 
    22972481"\n" 
     
    23002484"The Team" 
    23012485msgstr "" 
     2486"\n" 
     2487"\n" 
     2488"Buona giornata,\n" 
     2489"Il Team" 
    23022490 
    23032491#: ../classes/User.php:574 ../classes/User.php:569 ../classes/User.php:500 
    2304 #: ../classes/User.php:504 ../classes/User.php:543 
     2492#: ../classes/User.php:504 ../classes/User.php:543 ../classes/User.php:879 
    23052493msgid "The user is not in validation period." 
    2306 msgstr "