[FEAT] Funktioniert nun auch wieder mit Einzelcommunities, einfach nur _1_ Community eintragen und die Vorauswahl wird übersprungen.

This commit is contained in:
Caspar Armster 2016-07-17 20:42:54 +02:00
parent bdc1563ac8
commit 2763968516
7 changed files with 48 additions and 12 deletions

View File

@ -3,9 +3,10 @@
* @author Caspar Armster * @author Caspar Armster
* @copyright 2016 Caspar Armster, Freifunk Hennef/Freie Netzwerker e.V. (www.freifunk-hennef.de / www.freie-netzwerker.de) * @copyright 2016 Caspar Armster, Freifunk Hennef/Freie Netzwerker e.V. (www.freifunk-hennef.de / www.freie-netzwerker.de)
* @license Licensed under GPLv3 * @license Licensed under GPLv3
*
*/ */
/** Texte für die 2 Stufige Auswahl einer Meta-Community.
*/
$texte = array( $texte = array(
"ebene1_titel" => "Freifunk Community", "ebene1_titel" => "Freifunk Community",
"ebene1_text" => "Freifunk Community auswählen", "ebene1_text" => "Freifunk Community auswählen",
@ -15,6 +16,27 @@
"ebene3_text" => "Zur Firmware-Download Seite" "ebene3_text" => "Zur Firmware-Download Seite"
); );
/** Beispiel für eine einzelne Community. Das Array entkommentieren und ausfüllen, sowie das Array der Meta-Community löschen oder auskommentieren und der Downloader leitet dann automatisch direkt auf die Firmware Download Seite um.
* $community = array(
* 0 => array(
* "community_id" => 0,
* "name" => "Freifunk Hennef",
* "head_titel" => "Freifunk Hennef Firmware",
* "head_text" => "Auf dieser Seite können Sie die passende Firmware für ihren Router in Hennef auswählen und herunterladen!",
* "link_text" => "Zurück zur Startseite",
* "link_url" => "http://www.freifunk-hennef.de/",
* "logo_alt" => "Freifunk Hennef Logo",
* "logo_url" => "images/Freifunk-logo-hennef-klein-200.png",
* "lang_titel" => "Freifunk Hennef Firmware Auswahl",
* "lang_text" => "Bitte suchen Sie den passenden Router aus, indem Sie den Hersteller, das Modell und die Version auswählen.<br />Legen Sie anschließend fest, ob sie den Router zum ersten Mal mit einer Freifunk Firmware flashen und welches Entwicklungsstadium die Firmware haben soll.<br /><br />Bitte wählen Sie -stable- im Entwicklungsstadium aus, wenn Sie nicht genau wissen was Sie sonst erwartet!",
* "download_path" => "",
* "sub_auswahl" => ""
* )
* );
*/
/** Beispiel für eine Meta-Community.
*/
$community = array( $community = array(
0 => array( 0 => array(
"community_id" => 0, "community_id" => 0,

View File

@ -3,7 +3,6 @@
* @author Caspar Armster * @author Caspar Armster
* @copyright 2016 Caspar Armster, Freifunk Hennef/Freie Netzwerker e.V. (www.freifunk-hennef.de / www.freie-netzwerker.de) * @copyright 2016 Caspar Armster, Freifunk Hennef/Freie Netzwerker e.V. (www.freifunk-hennef.de / www.freie-netzwerker.de)
* @license Licensed under GPLv3 * @license Licensed under GPLv3
*
*/ */
$entwicklung = array( $entwicklung = array(

View File

@ -3,7 +3,6 @@
* @author Caspar Armster * @author Caspar Armster
* @copyright 2016 Caspar Armster, Freifunk Hennef/Freie Netzwerker e.V. (www.freifunk-hennef.de / www.freie-netzwerker.de) * @copyright 2016 Caspar Armster, Freifunk Hennef/Freie Netzwerker e.V. (www.freifunk-hennef.de / www.freie-netzwerker.de)
* @license Licensed under GPLv3 * @license Licensed under GPLv3
*
*/ */
class ffrouter { class ffrouter {

View File

@ -3,7 +3,6 @@
* @author Caspar Armster * @author Caspar Armster
* @copyright 2016 Caspar Armster, Freifunk Hennef/Freie Netzwerker e.V. (www.freifunk-hennef.de / www.freie-netzwerker.de) * @copyright 2016 Caspar Armster, Freifunk Hennef/Freie Netzwerker e.V. (www.freifunk-hennef.de / www.freie-netzwerker.de)
* @license Licensed under GPLv3 * @license Licensed under GPLv3
*
*/ */
if(!is_dir($firmware_download_path)) { if(!is_dir($firmware_download_path)) {
throw new Exception("Firmwareverzeichnis existiert nicht!"); throw new Exception("Firmwareverzeichnis existiert nicht!");

View File

@ -3,7 +3,6 @@
* @author Caspar Armster * @author Caspar Armster
* @copyright 2016 Caspar Armster, Freifunk Hennef/Freie Netzwerker e.V. (www.freifunk-hennef.de / www.freie-netzwerker.de) * @copyright 2016 Caspar Armster, Freifunk Hennef/Freie Netzwerker e.V. (www.freifunk-hennef.de / www.freie-netzwerker.de)
* @license Licensed under GPLv3 * @license Licensed under GPLv3
*
*/ */
error_reporting (E_ALL | E_STRICT); error_reporting (E_ALL | E_STRICT);
ini_set ('display_errors', 'On'); ini_set ('display_errors', 'On');

View File

@ -3,13 +3,15 @@
* @author Caspar Armster * @author Caspar Armster
* @copyright 2016 Caspar Armster, Freifunk Hennef/Freie Netzwerker e.V. (www.freifunk-hennef.de / www.freie-netzwerker.de) * @copyright 2016 Caspar Armster, Freifunk Hennef/Freie Netzwerker e.V. (www.freifunk-hennef.de / www.freie-netzwerker.de)
* @license Licensed under GPLv3 * @license Licensed under GPLv3
*
*/ */
error_reporting (E_ALL | E_STRICT); error_reporting (E_ALL | E_STRICT);
ini_set ('display_errors', 'On'); ini_set ('display_errors', 'On');
require_once('community-config.inc.php'); require_once('community-config.inc.php');
require_once('config.inc.php'); require_once('config.inc.php');
if(count($community) == 1) {
header('Location: firmware.php?id=0');
exit;
}
echo <<<EOT echo <<<EOT
<!DOCTYPE html> <!DOCTYPE html>
<html lang="de"> <html lang="de">

View File

@ -4,12 +4,14 @@ Freifunk Hennef Firmware Downloader
Beschreibung Beschreibung
------------ ------------
Der Freifunk Hennef Firmware Downloader soll es Laien ermöglichen schneller und sicherer die zu ihrem Router passende Firmware zu finden. Der Freifunker kann nacheinander aus automatisch generierten Listen seinen Router auswählen: Hersteller -> Modell -> Version und dann festlegen ob es eine Erstinstallation ist oder nicht, sowie am Ende wählen welches Entwicklungsstadium die Firmware haben soll. Dabei wird automatisch gewarnt (Download Button verändert die Farbe) falls nicht "stable" ausgewählt wird. Zusätzlich werden etliche der Router auch als Grafik (Front & Back Ansicht) gezeigt, so dass der Freifunker auf den ersten Blick erkennen kann wenn er den falschen Router ausgewählt hat. Der Freifunk Hennef Firmware Downloader soll es Laien ermöglichen schneller und sicherer die zu ihrem Router passende Firmware zu finden. Der Freifunker kann nacheinander aus automatisch generierten Listen seinen Router auswählen: Hersteller -> Modell -> Version und dann festlegen ob es eine Erstinstallation ist oder nicht, sowie am Ende wählen welches Entwicklungsstadium die Firmware haben soll. Dabei wird automatisch gewarnt (Download Button verändert die Farbe) falls nicht "stable" ausgewählt wird. Zusätzlich werden etliche der Router auch als Grafik (Front & Back Ansicht) gezeigt, so dass der Freifunker auf den ersten Blick erkennen kann wenn er den falschen Router ausgewählt hat. Einmal anschauen kann man sich den Firmware Downlaoder unter http://images.freifunk-hennef.de/downloader/.
Der Freifunk Hennef Firmware Downloader kann auch mit Metacommunities umgehen, bei der, vor der Auswahl der eigentlichen Firmware, noch eine Auswahl der Community/Subcommunity oder Technologie auszuwählen ist. Als Beispiel kann hier die Metacommunity Rhein-Sieg dienen, unter http://downloader.freifunk-rhein-sieg.de/downloader/ könnt ihr euch das anschauen.
Technik Technik
------- -------
Der Freifunk Hennef Firmware Downloader scannt das in der community-config.inc.php angegebene Verzeichnis auf Firmwares in den Unterverzeichnissen (beta/broken/experimental/stable) und dort in (stable/sysupgrade). Aus dem Ergebnis baut das PHP Script ein interaktives Javascript für die Auswahl und verwendet dabei Bootstrap für das Layout. Der Freifunk Hennef Firmware Downloader erzeugt auf Grund der angegebenen Metadaten in der community-config.inc.php eine Auswahlseite für die Metacommunity (oder bei nur einer vorhandenen Community Konfiguration überspringt er diese Vorauswahl). Nach der Auswahl der Community (plus optionaler Subauswahl) erscheint der Link der zum eigentlichen Firmware Downloader führt. Der Freifunk Hennef Firmware Downloader scannt dann das in der community-config.inc.php angegebene Verzeichnis auf Firmwares in den Unterverzeichnissen (beta/broken/experimental/stable) und dort in (stable/sysupgrade). Aus dem Ergebnis baut das PHP Script ein interaktives Javascript für die Auswahl und verwendet dabei Bootstrap für das Layout.
Bisher werden Router der folgenden Hersteller automatisch erkannt: Bisher werden Router der folgenden Hersteller automatisch erkannt:
@ -43,8 +45,22 @@ Installation
Den Freifunk Hennef Firmware Downloader in ein eigenes Unterverzeichnis des Webservers kopieren/entpacken, auf dem auch die Firmwares liegen. In der community-config.inc.php werden dann diverse Variablen gesetzt: Den Freifunk Hennef Firmware Downloader in ein eigenes Unterverzeichnis des Webservers kopieren/entpacken, auf dem auch die Firmwares liegen. In der community-config.inc.php werden dann diverse Variablen gesetzt:
- $text_h1/$text_h2/$link_h2_text/$link_h2_url/$logo_url/$logo_alt Texte & Logo im Header der Seite - $texte ist das Array mit den einzelnen Überschriften/Texten für die Auswahlstufen
- $firmware_download_path = Pfad zum Hauptverzeichnis der Firmware - $community ist das Array mit den Metadaten für die Metacommunity und die einzelnen Subcommunites. Wenn hier nur eine Community angegeben wird wird die Communtiyauswahl übersprungen und direkt auf die Firmware Downloader Seite verwiesen.
0 => array( // ID die bei 0 Anfängt und hochgezählt wird
"community_id" => 0, // ID der Community, wiederholt sich bei den zusammengehörigen Subcommunities
"name" => "Name der Community",
"head_titel" => "Header Titel",
"head_text" => "Header Text",
"link_text" => "Header Link Text",
"link_url" => "Header Link URL",
"logo_alt" => "Logo Alt Text",
"logo_url" => "Logo URL",
"lang_titel" => "Langtext Titel",
"lang_text" => "Langtext Text",
"download_path" => "Pfad zur Firmware", // Bleibt bei der Metacommunity leer
"sub_auswahl" => "Name der Subcommunity" // Wird nur verwendet wenn die Community Subcommunites/Technologien als Auswahl hat
),
In der config.inc.php sind die Angaben über die Hersteller, Entwicklungsstufen & Art der Firmware Installation. Hier muss man normalerweise nichts anpassen, außer man verwendet Firmwares für Router von Herstellern, die noch nicht integriert sind, dann bitte ich allerdings auch um Kontaktaufnahme (caspar@freifunk-hennef.de, bzw. im github). In der config.inc.php sind die Angaben über die Hersteller, Entwicklungsstufen & Art der Firmware Installation. Hier muss man normalerweise nichts anpassen, außer man verwendet Firmwares für Router von Herstellern, die noch nicht integriert sind, dann bitte ich allerdings auch um Kontaktaufnahme (caspar@freifunk-hennef.de, bzw. im github).
- $entwicklung = Entwicklungsstufen der Firmware (beta/broken/experimental/stable) - (sollte man in Ruhe lassen normalerweise) - $entwicklung = Entwicklungsstufen der Firmware (beta/broken/experimental/stable) - (sollte man in Ruhe lassen normalerweise)
@ -56,7 +72,7 @@ In der config.inc.php sind die Angaben über die Hersteller, Entwicklungsstufen
- -> offset_version = Offset für das Parsen der Version im Dateinamen der Firmware - -> offset_version = Offset für das Parsen der Version im Dateinamen der Firmware
- $offset_sysupgrade = Offset für "-sysupgrade" im Dateinamen der Firmware - $offset_sysupgrade = Offset für "-sysupgrade" im Dateinamen der Firmware
Die Firmware liegt in folgenden Verzeichnissen: Die Firmware liegt in folgenden Unterverzeichnissen:
* firmware/ * firmware/
* beta/ * beta/
* factory/ * factory/