Julien Vaubourg 9 years ago
parent
commit
4ca40efb43

+ 11 - 5
scripts/install

@@ -82,7 +82,7 @@ if [ "${firmware_nonfree}" == yes ]; then
     sudo sed '/debian/{s/main/& non-free/}' -i /etc/apt/sources.list
   fi
 
-  packages="$packages firmware-atheros atmel-firmware firmware-linux-free firmware-linux-nonfree firmware-realtek firmware-ralink firmware-libertas zd1211-firmware"
+  packages="$packages firmware-linux-free firmware-linux-nonfree firmware-atheros firmware-realtek firmware-ralink firmware-libertas atmel-firmware zd1211-firmware"
 else
   packages="$packages firmware-linux-free"
 
@@ -120,13 +120,15 @@ if ! $upgrade; then
   
   wifi_device=$(sudo bash ../conf/iw_devices | awk -F\| '{ print $1 }')
   
+  # Save arguments
+
   if [ -z "${wifi_device}" ]; then
-    echo "ERROR: No wifi interface found" >&2
-    exit 1
+    sudo yunohost app setting hotspot service_enabled -v 0
+    wifi_device=none
+  else
+    sudo yunohost app setting hotspot service_enabled -v 1
   fi
 
-  # Save arguments
-  sudo yunohost app setting hotspot service_enabled -v 1
   sudo yunohost app setting hotspot multissid -v 1
   sudo yunohost app setting hotspot wifi_ssid -v "${wifi_ssid}"
   sudo yunohost app setting hotspot wifi_secure -v 1
@@ -221,6 +223,10 @@ fi
 sudo systemctl enable ynh-hotspot
 sudo yunohost service add ynh-hotspot
 
+if [ "${wifi_device}" == none ]; then
+  echo "WARNING: Wifi Hotspot is not started because no wifi device was found (please, check the web admin)" >&2
+fi
+
 if ! $upgrade; then
   sudo systemctl start ynh-hotspot
 fi

+ 16 - 8
sources/controller.php

@@ -73,7 +73,7 @@ function iw_multissid($nic) {
 function iw_devices() {
   exec('sudo iw_devices', $output);
 
-  return getArray($output[0]);
+  return !empty($output) ? getArray($output[0]) : '';
 }
 
 function getArray($str) {
@@ -111,7 +111,7 @@ dispatch('/', function() {
   $devs = iw_devices();
   $devs_list = '';
 
-  $wifi_device = ynh_setting_get('wifi_device');
+  $wifi_device = noneValue(ynh_setting_get('wifi_device'));
   $multissid = ynh_setting_get('multissid');
   $wifi_channel = ynh_setting_get('wifi_channel');
 
@@ -167,7 +167,11 @@ dispatch('/', function() {
 });
 
 dispatch_put('/settings', function() {
-  exec('ip link show '.escapeshellarg($_POST['wifi_device']), $output, $retcode);
+  $retcode = 1;
+
+  if(!empty($_POST['wifi_device'])) {
+    exec('ip link show '.escapeshellarg($_POST['wifi_device']), $output, $retcode);
+  }
 
   $wifi_device_exists = ($retcode == 0);
   $service_enabled = isset($_POST['service_enabled']) ? 1 : 0;
@@ -179,6 +183,14 @@ dispatch_put('/settings', function() {
 
   if($service_enabled == 1) {
     try {
+      if(!$wifi_device_exists) {
+        if(empty($_POST['wifi_device'])) {
+          throw new Exception(_('You have to choose a wifi antenna interface'));
+        }
+
+        throw new Exception(_('The wifi antenna interface seems not exist on the system'));
+      }
+
       foreach($_POST['ssid'] as $key => $ssid) {
         $id = $key + 1;
 
@@ -225,10 +237,6 @@ dispatch_put('/settings', function() {
           throw new Exception($msg);
         }
      
-        if(!$wifi_device_exists) {
-          throw new Exception(_('The wifi antenna interface seems not exist on the system'));
-        }
-     
         if($ssid['ip6_net'] != 'none') {
           $ssid['ip6_net'] = ipv6_expanded($ssid['ip6_net']);
       
@@ -282,7 +290,7 @@ dispatch_put('/settings', function() {
         array_push($ssids, $ssid);
       }
     } catch(Exception $e) {
-      flash('error', _('Hotspot')." $id: ".$e->getMessage().' ('._('configuration not updated').').');
+      flash('error', ($id != 0 ? _('Hotspot')." $id: " : '').$e->getMessage().' ('._('configuration not updated').').');
       goto redirect;
     }
   }

BIN
sources/i18n/fr_FR/LC_MESSAGES/localization.mo


+ 133 - 106
sources/i18n/fr_FR/LC_MESSAGES/localization.po

@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-07-25 10:52+0200\n"
-"PO-Revision-Date: 2015-07-25 10:53+0100\n"
+"POT-Creation-Date: 2015-09-15 21:41+0200\n"
+"PO-Revision-Date: 2015-09-15 21:45+0200\n"
 "Last-Translator: root <root@ustelo>\n"
 "Language-Team: French\n"
 "Language: fr\n"
@@ -16,7 +16,92 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Poedit 1.6.10\n"
+"X-Generator: Poedit 1.8.4\n"
+
+#: sources/controller.php:199
+msgid "All Wifi names must be unique"
+msgstr "Tous les noms de de WiFi doivent être uniques"
+
+#: sources/controller.php:205
+msgid "All IPv4 NAT prefixes must be unique"
+msgstr "Tous les préfixes NAT doivent être uniques"
+
+#: sources/controller.php:211
+msgid "All IPv6 delegated prefixes must be unique"
+msgstr "Tous les préfixes IPv6 délégués doivent être uniques"
+
+#: sources/controller.php:217
+msgid "Your Wifi Hotspot needs a name and a password"
+msgstr "Votre point d'accès doit avoir un nom et un mot de passe"
+
+#: sources/controller.php:221
+msgid "Your password must from 8 to 63 characters (WPA2 passphrase)"
+msgstr ""
+"Votre mot de passe doit avoir entre 8 et 63 caractères (passphrase WPA2)"
+
+#: sources/controller.php:225
+msgid ""
+"Only <LINK:ASCII>printable ASCII characters</LINK:ASCII> are permitted in "
+"your password"
+msgstr ""
+"Seuls des <LINK:ASCII>caractères ASCII imprimables</LINK:ASCII> sont "
+"autorisés dans votre mot de passe"
+
+#: sources/controller.php:234
+msgid "You have to choose a wifi antenna interface"
+msgstr "Vous devez choisir une interface d'antenne WiFi"
+
+#: sources/controller.php:237
+msgid "The wifi antenna interface seems not exist on the system"
+msgstr "L'interface de l'antenne WiFi ne semble pas exister sur le système"
+
+#: sources/controller.php:244
+msgid "The IPv6 Delegated Prefix format looks bad"
+msgstr "Le format du préfixe IPv6 délégué semble incorrect"
+
+#: sources/controller.php:258
+msgid "The format of the first IPv6 DNS Resolver looks bad"
+msgstr "Le format du premier résolveur DNS IPv6 semble incorrect"
+
+#: sources/controller.php:267
+msgid "The format of the second IPv6 DNS Resolver looks bad"
+msgstr "Le format du second résolveur DNS IPv6 semble incorrect"
+
+#: sources/controller.php:275
+msgid "The format of the first IPv4 DNS Resolver looks bad"
+msgstr "Le format du premier résolveur DNS IPv4 semble incorrect"
+
+#: sources/controller.php:279
+msgid "The format of the second IPv4 DNS Resolver looks bad"
+msgstr "Le format du second résolveur DNS IPv4 semble incorrect"
+
+#: sources/controller.php:283
+msgid "The format of the IPv4 NAT Prefix (/24) looks bad: x.x.x expected"
+msgstr "Le format du préfixe NAT IPv4 (/24) semble incorrect : x.x.x attendu"
+
+#: sources/controller.php:287
+msgid "The IPv4 NAT Prefix must be from a private range"
+msgstr "Le préfixe NAT IPv4 doit correspondre à une plage privée"
+
+#: sources/controller.php:293 sources/views/_ssid.html.php:3
+msgid "Hotspot"
+msgstr "Point d'accès"
+
+#: sources/controller.php:293
+msgid "configuration not updated"
+msgstr "configuration non-mise à jour"
+
+#: sources/controller.php:321
+msgid "Configuration updated and service successfully reloaded"
+msgstr "Configuration mise à jour et service rechargé avec succès"
+
+#: sources/controller.php:323
+msgid "Configuration updated but service reload failed"
+msgstr "Configuration mise à jour mais le rechargement du service a échoué"
+
+#: sources/controller.php:327
+msgid "Service successfully disabled"
+msgstr "Service désactivé avec succès"
 
 #: sources/views/layout.html.php:27
 msgid "Wifi Hotspot"
@@ -26,8 +111,8 @@ msgstr "Point d'accès WiFi"
 msgid "Error"
 msgstr "Erreur"
 
-#: sources/views/layout.html.php:54 sources/views/settings.html.php:122
-#: sources/views/_ssid.html.php:44
+#: sources/views/layout.html.php:54 sources/views/settings.html.php:76
+#: sources/views/settings.html.php:129 sources/views/_ssid.html.php:44
 msgid "Notice"
 msgstr "Notice"
 
@@ -70,19 +155,34 @@ msgstr "Service"
 msgid "Hotspot Enabled"
 msgstr "Point d'accès activé"
 
-#: sources/views/settings.html.php:73
+#: sources/views/settings.html.php:76
+msgid ""
+"You need to select a wifi antenna interface. If you use a wifi USB dongle "
+"and that this one is not listed here, try to unplug and replug it, then "
+"<LINK:RELOAD>reload</LINK:RELOAD> this page."
+msgstr ""
+"Vous devez sélectionner une interface d'antenne WiFI. Si vous utilisez une "
+"antenne WiFI en USB and que celle-ci n'est pas listée ici, essayez de la "
+"débrancher et la rebrancher, puis de <LINK:RELOAD>recharger</LINK:RELOAD> "
+"cette page."
+
+#: sources/views/settings.html.php:80
 msgid "Device"
 msgstr "Interface"
 
-#: sources/views/settings.html.php:85
+#: sources/views/settings.html.php:84
+msgid "None"
+msgstr "Aucun"
+
+#: sources/views/settings.html.php:92
 msgid "Channel"
 msgstr "Canal"
 
-#: sources/views/settings.html.php:116
+#: sources/views/settings.html.php:123
 msgid "Add a hotspot"
 msgstr "Ajouter un point d'accès"
 
-#: sources/views/settings.html.php:122
+#: sources/views/settings.html.php:129
 msgid ""
 "You are currently connected through the wifi hotspot. Please, confirm the "
 "reloading, wait for the wifi disconnect/reconnect and go back here to check "
@@ -92,22 +192,18 @@ msgstr ""
 "le rechargement, attendre que le WiFi se déconnecte/reconnecte et revenir "
 "ici pour vérifier que tout est correct."
 
-#: sources/views/settings.html.php:124 sources/views/settings.html.php:130
+#: sources/views/settings.html.php:131 sources/views/settings.html.php:137
 msgid "Reloading may take a few minutes. Be patient."
 msgstr "Le rechargement peut prendre quelques minutes. Soyez patient."
 
-#: sources/views/settings.html.php:124
+#: sources/views/settings.html.php:131
 msgid "Confirm"
 msgstr "Confirmer"
 
-#: sources/views/settings.html.php:128 sources/views/settings.html.php:130
+#: sources/views/settings.html.php:135 sources/views/settings.html.php:137
 msgid "Save and reload"
 msgstr "Sauvegarder et recharger"
 
-#: sources/views/_ssid.html.php:3 sources/controller.php:285
-msgid "Hotspot"
-msgstr "Point d'accès"
-
 #: sources/views/_ssid.html.php:7
 msgid "Wifi"
 msgstr "WiFi"
@@ -152,25 +248,22 @@ msgstr "Montrez à vos amis comment accéder à votre point d'accès"
 #: sources/views/_ssid.html.php:44
 msgid ""
 "Currently, your wifi clients don't have IPv6 and it's a very bad thing. Ask "
-"your Internet Service Provider an IPv6 delegated prefix, or"
+"your Internet Service Provider an IPv6 delegated prefix, or <LINK:"
+"FFDN>change providers</LINK:FFDN>!"
 msgstr ""
-"Actuellement, vos clients WiFi n'utilisent pas IPv6, ce qui n'est pas une "
-"bonne chose. Demandez un préfixe IPv6 à votre Fournisseur d'Accès à "
-"Internet, ou"
+"Actuellement, vous clients WiFI n'ont pas d'IPv6 et c'est vraiment dommage. "
+"Demandez un préfixe IPv6 délégué à votre fournisseur d'accès à Internet, ou "
+"<LINK:FFDN>changez de fournisseur</LINK:FFDN> !"
 
-#: sources/views/_ssid.html.php:45
-msgid "change providers"
-msgstr "changez de fournisseur"
-
-#: sources/views/_ssid.html.php:50
+#: sources/views/_ssid.html.php:49
 msgid "Delegated prefix"
 msgstr "Préfixe délégué"
 
-#: sources/views/_ssid.html.php:57
+#: sources/views/_ssid.html.php:56
 msgid "Firewall"
 msgstr "Pare-feu"
 
-#: sources/views/_ssid.html.php:58
+#: sources/views/_ssid.html.php:57
 msgid ""
 "Disabling the Firewall allows everyone to make connections to client hosts, "
 "depending on their own security policy"
@@ -178,95 +271,29 @@ msgstr ""
 "Désactiver le pare-feu permet à n'importe qui de créer des connexions vers "
 "les clients, en fonction de leur propre politique de sécurité"
 
-#: sources/views/_ssid.html.php:66 sources/views/_ssid.html.php:90
+#: sources/views/_ssid.html.php:65 sources/views/_ssid.html.php:89
 msgid "First DNS resolver"
 msgstr "Premier résolveur DNS"
 
-#: sources/views/_ssid.html.php:73 sources/views/_ssid.html.php:97
+#: sources/views/_ssid.html.php:72 sources/views/_ssid.html.php:96
 msgid "Second DNS resolver"
 msgstr "Second résolveur DNS"
 
-#: sources/views/_ssid.html.php:83
+#: sources/views/_ssid.html.php:82
 msgid "NAT prefix (/24)"
 msgstr "Préfixe NAT (/24)"
 
-#: sources/views/_ssid.html.php:105
+#: sources/views/_ssid.html.php:104
 msgid "Delete"
 msgstr "Supprimer"
 
-#: sources/controller.php:195
-msgid "All Wifi names must be unique"
-msgstr "Tous les noms de de WiFi doivent être uniques"
-
-#: sources/controller.php:201
-msgid "All IPv4 NAT prefixes must be unique"
-msgstr "Tous les préfixes NAT doivent être uniques"
-
-#: sources/controller.php:207
-msgid "All IPv6 delegated prefixes must be unique"
-msgstr "Tous les préfixes IPv6 délégués doivent être uniques"
-
-#: sources/controller.php:213
-msgid "Your Wifi Hotspot needs a name and a password"
-msgstr "Votre point d'accès doit avoir un nom et un mot de passe"
-
-#: sources/controller.php:217
-msgid "Your password must from 8 to 63 characters (WPA2 passphrase)"
-msgstr ""
-"Votre mot de passe doit avoir entre 8 et 63 caractères (passphrase WPA2)"
-
-#: sources/controller.php:221
-msgid ""
-"Only <LINK:ASCII>printable ASCII characters</LINK:ASCII> are permitted in "
-"your password"
-msgstr ""
-"Seuls des <LINK:ASCII>caractères ASCII imprimables</LINK:ASCII> sont "
-"autorisés dans votre mot de passe"
-
-#: sources/controller.php:229
-msgid "The wifi antenna interface seems not exist on the system"
-msgstr "L'interface de l'antenne WiFi ne semble pas exister sur le système"
-
-#: sources/controller.php:236
-msgid "The IPv6 Delegated Prefix format looks bad"
-msgstr "Le format du préfixe IPv6 délégué semble incorrect"
-
-#: sources/controller.php:250
-msgid "The format of the first IPv6 DNS Resolver looks bad"
-msgstr "Le format du premier résolveur DNS IPv6 semble incorrect"
-
-#: sources/controller.php:259
-msgid "The format of the second IPv6 DNS Resolver looks bad"
-msgstr "Le format du second résolveur DNS IPv6 semble incorrect"
-
-#: sources/controller.php:267
-msgid "The format of the first IPv4 DNS Resolver looks bad"
-msgstr "Le format du premier résolveur DNS IPv4 semble incorrect"
+#~ msgid ""
+#~ "Currently, your wifi clients don't have IPv6 and it's a very bad thing. "
+#~ "Ask your Internet Service Provider an IPv6 delegated prefix, or"
+#~ msgstr ""
+#~ "Actuellement, vos clients WiFi n'utilisent pas IPv6, ce qui n'est pas une "
+#~ "bonne chose. Demandez un préfixe IPv6 à votre Fournisseur d'Accès à "
+#~ "Internet, ou"
 
-#: sources/controller.php:271
-msgid "The format of the second IPv4 DNS Resolver looks bad"
-msgstr "Le format du second résolveur DNS IPv4 semble incorrect"
-
-#: sources/controller.php:275
-msgid "The format of the IPv4 NAT Prefix (/24) looks bad: x.x.x expected"
-msgstr "Le format du préfixe NAT IPv4 (/24) semble incorrect : x.x.x attendu"
-
-#: sources/controller.php:279
-msgid "The IPv4 NAT Prefix must be from a private range"
-msgstr "Le préfixe NAT IPv4 doit correspondre à une plage privée"
-
-#: sources/controller.php:285
-msgid "configuration not updated"
-msgstr "configuration non-mise à jour"
-
-#: sources/controller.php:313
-msgid "Configuration updated and service successfully reloaded"
-msgstr "Configuration mise à jour et service rechargé avec succès"
-
-#: sources/controller.php:315
-msgid "Configuration updated but service reload failed"
-msgstr "Configuration mise à jour mais le rechargement du service a échoué"
-
-#: sources/controller.php:319
-msgid "Service successfully disabled"
-msgstr "Service désactivé avec succès"
+#~ msgid "change providers"
+#~ msgstr "changez de fournisseur"

+ 112 - 100
sources/i18n/localization.pot

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-07-25 10:52+0200\n"
+"POT-Creation-Date: 2015-09-15 21:41+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,6 +17,88 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+#: sources/controller.php:199
+msgid "All Wifi names must be unique"
+msgstr ""
+
+#: sources/controller.php:205
+msgid "All IPv4 NAT prefixes must be unique"
+msgstr ""
+
+#: sources/controller.php:211
+msgid "All IPv6 delegated prefixes must be unique"
+msgstr ""
+
+#: sources/controller.php:217
+msgid "Your Wifi Hotspot needs a name and a password"
+msgstr ""
+
+#: sources/controller.php:221
+msgid "Your password must from 8 to 63 characters (WPA2 passphrase)"
+msgstr ""
+
+#: sources/controller.php:225
+msgid ""
+"Only <LINK:ASCII>printable ASCII characters</LINK:ASCII> are permitted in "
+"your password"
+msgstr ""
+
+#: sources/controller.php:234
+msgid "You have to choose a wifi antenna interface"
+msgstr ""
+
+#: sources/controller.php:237
+msgid "The wifi antenna interface seems not exist on the system"
+msgstr ""
+
+#: sources/controller.php:244
+msgid "The IPv6 Delegated Prefix format looks bad"
+msgstr ""
+
+#: sources/controller.php:258
+msgid "The format of the first IPv6 DNS Resolver looks bad"
+msgstr ""
+
+#: sources/controller.php:267
+msgid "The format of the second IPv6 DNS Resolver looks bad"
+msgstr ""
+
+#: sources/controller.php:275
+msgid "The format of the first IPv4 DNS Resolver looks bad"
+msgstr ""
+
+#: sources/controller.php:279
+msgid "The format of the second IPv4 DNS Resolver looks bad"
+msgstr ""
+
+#: sources/controller.php:283
+msgid "The format of the IPv4 NAT Prefix (/24) looks bad: x.x.x expected"
+msgstr ""
+
+#: sources/controller.php:287
+msgid "The IPv4 NAT Prefix must be from a private range"
+msgstr ""
+
+#: sources/controller.php:293 sources/views/_ssid.html.php:3
+msgid "Hotspot"
+msgstr ""
+
+#: sources/controller.php:293
+msgid "configuration not updated"
+msgstr ""
+
+#: sources/controller.php:321
+msgid "Configuration updated and service successfully reloaded"
+msgstr ""
+
+#: sources/controller.php:323
+msgid "Configuration updated but service reload failed"
+msgstr ""
+
+#: sources/controller.php:327
+msgid "Service successfully disabled"
+msgstr ""
+
 #: sources/views/layout.html.php:27
 msgid "Wifi Hotspot"
 msgstr ""
@@ -25,8 +107,8 @@ msgstr ""
 msgid "Error"
 msgstr ""
 
-#: sources/views/layout.html.php:54 sources/views/settings.html.php:122
-#: sources/views/_ssid.html.php:44
+#: sources/views/layout.html.php:54 sources/views/settings.html.php:76
+#: sources/views/settings.html.php:129 sources/views/_ssid.html.php:44
 msgid "Notice"
 msgstr ""
 
@@ -67,41 +149,48 @@ msgstr ""
 msgid "Hotspot Enabled"
 msgstr ""
 
-#: sources/views/settings.html.php:73
+#: sources/views/settings.html.php:76
+msgid ""
+"You need to select a wifi antenna interface. If you use a wifi USB dongle "
+"and that this one is not listed here, try to unplug and replug it, then "
+"<LINK:RELOAD>reload</LINK:RELOAD> this page."
+msgstr ""
+
+#: sources/views/settings.html.php:80
 msgid "Device"
 msgstr ""
 
-#: sources/views/settings.html.php:85
+#: sources/views/settings.html.php:84
+msgid "None"
+msgstr ""
+
+#: sources/views/settings.html.php:92
 msgid "Channel"
 msgstr ""
 
-#: sources/views/settings.html.php:116
+#: sources/views/settings.html.php:123
 msgid "Add a hotspot"
 msgstr ""
 
-#: sources/views/settings.html.php:122
+#: sources/views/settings.html.php:129
 msgid ""
 "You are currently connected through the wifi hotspot. Please, confirm the "
 "reloading, wait for the wifi disconnect/reconnect and go back here to check "
 "that everything is okay."
 msgstr ""
 
-#: sources/views/settings.html.php:124 sources/views/settings.html.php:130
+#: sources/views/settings.html.php:131 sources/views/settings.html.php:137
 msgid "Reloading may take a few minutes. Be patient."
 msgstr ""
 
-#: sources/views/settings.html.php:124
+#: sources/views/settings.html.php:131
 msgid "Confirm"
 msgstr ""
 
-#: sources/views/settings.html.php:128 sources/views/settings.html.php:130
+#: sources/views/settings.html.php:135 sources/views/settings.html.php:137
 msgid "Save and reload"
 msgstr ""
 
-#: sources/views/_ssid.html.php:3 sources/controller.php:285
-msgid "Hotspot"
-msgstr ""
-
 #: sources/views/_ssid.html.php:7
 msgid "Wifi"
 msgstr ""
@@ -143,113 +232,36 @@ msgstr ""
 #: sources/views/_ssid.html.php:44
 msgid ""
 "Currently, your wifi clients don't have IPv6 and it's a very bad thing. Ask "
-"your Internet Service Provider an IPv6 delegated prefix, or"
+"your Internet Service Provider an IPv6 delegated prefix, or <LINK:"
+"FFDN>change providers</LINK:FFDN>!"
 msgstr ""
 
-#: sources/views/_ssid.html.php:45
-msgid "change providers"
-msgstr ""
-
-#: sources/views/_ssid.html.php:50
+#: sources/views/_ssid.html.php:49
 msgid "Delegated prefix"
 msgstr ""
 
-#: sources/views/_ssid.html.php:57
+#: sources/views/_ssid.html.php:56
 msgid "Firewall"
 msgstr ""
 
-#: sources/views/_ssid.html.php:58
+#: sources/views/_ssid.html.php:57
 msgid ""
 "Disabling the Firewall allows everyone to make connections to client hosts, "
 "depending on their own security policy"
 msgstr ""
 
-#: sources/views/_ssid.html.php:66 sources/views/_ssid.html.php:90
+#: sources/views/_ssid.html.php:65 sources/views/_ssid.html.php:89
 msgid "First DNS resolver"
 msgstr ""
 
-#: sources/views/_ssid.html.php:73 sources/views/_ssid.html.php:97
+#: sources/views/_ssid.html.php:72 sources/views/_ssid.html.php:96
 msgid "Second DNS resolver"
 msgstr ""
 
-#: sources/views/_ssid.html.php:83
+#: sources/views/_ssid.html.php:82
 msgid "NAT prefix (/24)"
 msgstr ""
 
-#: sources/views/_ssid.html.php:105
+#: sources/views/_ssid.html.php:104
 msgid "Delete"
 msgstr ""
-
-#: sources/controller.php:195
-msgid "All Wifi names must be unique"
-msgstr ""
-
-#: sources/controller.php:201
-msgid "All IPv4 NAT prefixes must be unique"
-msgstr ""
-
-#: sources/controller.php:207
-msgid "All IPv6 delegated prefixes must be unique"
-msgstr ""
-
-#: sources/controller.php:213
-msgid "Your Wifi Hotspot needs a name and a password"
-msgstr ""
-
-#: sources/controller.php:217
-msgid "Your password must from 8 to 63 characters (WPA2 passphrase)"
-msgstr ""
-
-#: sources/controller.php:221
-msgid ""
-"Only <LINK:ASCII>printable ASCII characters</LINK:ASCII> are permitted in "
-"your password"
-msgstr ""
-
-#: sources/controller.php:229
-msgid "The wifi antenna interface seems not exist on the system"
-msgstr ""
-
-#: sources/controller.php:236
-msgid "The IPv6 Delegated Prefix format looks bad"
-msgstr ""
-
-#: sources/controller.php:250
-msgid "The format of the first IPv6 DNS Resolver looks bad"
-msgstr ""
-
-#: sources/controller.php:259
-msgid "The format of the second IPv6 DNS Resolver looks bad"
-msgstr ""
-
-#: sources/controller.php:267
-msgid "The format of the first IPv4 DNS Resolver looks bad"
-msgstr ""
-
-#: sources/controller.php:271
-msgid "The format of the second IPv4 DNS Resolver looks bad"
-msgstr ""
-
-#: sources/controller.php:275
-msgid "The format of the IPv4 NAT Prefix (/24) looks bad: x.x.x expected"
-msgstr ""
-
-#: sources/controller.php:279
-msgid "The IPv4 NAT Prefix must be from a private range"
-msgstr ""
-
-#: sources/controller.php:285
-msgid "configuration not updated"
-msgstr ""
-
-#: sources/controller.php:313
-msgid "Configuration updated and service successfully reloaded"
-msgstr ""
-
-#: sources/controller.php:315
-msgid "Configuration updated but service reload failed"
-msgstr ""
-
-#: sources/controller.php:319
-msgid "Service successfully disabled"
-msgstr ""

+ 4 - 0
sources/public/css/style.css

@@ -163,3 +163,7 @@ div.deletessid button {
   display: block;
   width: 100%;
 }
+
+button#newssid {
+  margin-bottom: 20px;
+}

+ 1 - 0
sources/public/js/custom.js

@@ -58,6 +58,7 @@ function updateNbSsidRemaining() {
   multissid = $('#devlist .active').data('multissid');
   current = $('.ssid').length;
   remaining = multissid - current;
+  remaining = isNaN(remaining) ? 0 : remaining;
 
   $('.ssid').each(function(i) {
     if(i >= multissid) {

+ 1 - 2
sources/views/_ssid.html.php

@@ -41,8 +41,7 @@
     <?php if(empty($ssid['ip6_net'])): ?>
       <div class="alert alert-dismissible alert-warning fade in" style="margin: 2px 2px 17px" role="alert">
         <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
-        <strong><?= _('Notice') ?>:</strong> <?= _("Currently, your wifi clients don't have IPv6 and it's a very bad thing. Ask your Internet Service Provider an IPv6 delegated prefix, or") ?>
-        <a href="http://db.ffdn.org" class="alert-link"><?= _('change providers') ?></a>!
+        <strong><?= _('Notice') ?>:</strong> <?= str_replace('<LINK:FFDN>', '<a href="http://db.ffdn.org" class="alert-link">', str_replace('</LINK:FFDN>', '</a>', _("Currently, your wifi clients don't have IPv6 and it's a very bad thing. Ask your Internet Service Provider an IPv6 delegated prefix, or <LINK:FFDN>change providers</LINK:FFDN>!"))) ?>
       </div>
     <?php endif; ?>
 

+ 9 - 2
sources/views/settings.html.php

@@ -70,11 +70,18 @@
             </div>
           </div>
           <div class="form-group">
+            <?php if(empty($wifi_device)): ?>
+              <div class="alert alert-dismissible alert-warning fade in" style="margin: 2px 16px 17px" role="alert">
+                <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
+                <strong><?= _('Notice') ?>:</strong> <?= str_replace('<LINK:RELOAD>', '<a href="javascript:location.reload()" class="alert-link">', str_replace('</LINK:RELOAD>', '</a>', _("You need to select a wifi antenna interface. If you use a wifi USB dongle and that this one is not listed here, try to unplug and replug it, then <LINK:RELOAD>reload</LINK:RELOAD> this page."))) ?>
+              </div>
+            <?php endif; ?>
+
             <label for="wifi_device" class="col-sm-3 control-label"><?= _('Device') ?></label>
             <div class="col-sm-9 input-group-btn">
               <div class="input-group">
                   <input type="text" name="wifi_device" id="wifi_device" value="<?= $wifi_device ?>" style="display: none" />
-                  <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"><?= $wifi_device ?> <span class="caret"></span></button>
+                  <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"><?= empty($wifi_device) ? '<em>'._("None").'</em>' : $wifi_device ?> <span class="caret"></span></button>
                   <ul class="dropdown-menu dropdown-menu-left" id="devlist" role="menu">
                     <?= $wifi_device_list ?>
                   </ul>
@@ -113,7 +120,7 @@
       <?php endforeach; ?>
       </div>
 
-      <button id="newssid" type="button" class="btn btn-success"><?= _("Add a hotspot") ?> <span class="badge">0</span></button>
+      <button id="newssid" type="button" class="btn btn-success enabled" <?= $service_enabled == 0 ? 'style="display: none"' : '' ?>><?= _("Add a hotspot") ?> <span class="badge">0</span></button>
 
       <div class="form-group">
         <div style="text-align: center">