117162
30.07.2014, aktualisiert am 17.09.2014
50661
129
3
Captive Portal Plus: pfSense Voucher PDF in der WebGUI von pfSense erzeugen oder an einen Netzwerk Bon Drucker senden
Hallo zusammen,
für alle, die gerne nicht ihre Voucher von pfSense in einen andere Anwendung importieren wollen, habe ich ein php script geschrieben welches direkt auf dem pfSense Webserver läuft.
Inspiert wurde ich durch den schönen Vouchergenerator von eagle2 welcher für Leute die gerne die Voucher auf einem externen Server verwalten wollen, eine super sache ist!
Hier der Link: Voucher für pfSense online verwalten und optional Voucher per SMS verschicken.
Bitte die aktuelle Version herunterladen. Habe einen fehler in der installationsdatei behoben, der beim erstellen des verzeichnisses probleme verursachte! (31.07.14)
Ich habe mich aktuell gegen die veröffentlichung als "typisches" pfSense Package entschieden, da mir das ganze zu schlecht dokumentiert ist und ich nicht die Zeit in die Verpackung stecken wollte, sondern lieber in den Inhalt
Allerdings ist die Installation echt nicht schwer
Wird zum ersten mal ein (oder mehrere) Voucher von einem Time Package gedruckt wird im hintergrund automatisch die passende Roll (ab der vom Nutzer gesetzten ersten ungenutzten Roll) erzeugt.
Für weitere Voucher zu dem Time Package zehrt das CP+ von der angefangenen Roll.
Sind alle (1023) Voucher von dem Time Package ausgedruckt wird im hintergrund automatisch eine neue (nachfolge) Roll erzeugt.
Das alles passiert für den jenigen der Voucher druckt vollkommen im Hintergrund.
Lediglich die Voucher ID (Roll Nummer . Voucher Nummer) verraten es, wenn man sie denn drucken möchte.
Die Dame von der Rezeption kann sich einfach auf der pfSense WebGUI einloggen und kann mit den Benutzerrechten die ihr vergeben wurden z.B. nur neue Voucher erstellen welche ihr dann aus dem Bon Drucker neben ihr oder als PDF präsentiert werden.
(Für die Variante PDF -> Ausdruck empfehle ich perforiertes Papier wie z.B. dieses mit dem ich gute Erfahrungen gemacht habe : http://www.preisauszeichneretiketten.com/perforierte-Regaletiketten)
Desweiteren kann man die sogenanten Outputs definieren. Also unterschiedliche formatierte PDFs oder Bon Drucke.
Für die Netzwerk Bon Drucker wird das ESC/POS Protokoll von Epson genutzt.
Bei mir läuft das ganze mit einem EPSON TM-T88III.
Außerdem habe ich einen abgespeckten pfSense user manager intergriegt für Gäste die einen Benutzernamen und ein Passwort erhalten sollen für zeitlich unbeschränkten Zugang.
Dieser zeigt nur User an welche sich ausschließlich in der User Gruppe captive-portal befinden.
So kann nicht ausversehen andere Benutzer gelöscht oder bearbeitet werden.
Das ganze speichert alle zusätzlichen Daten in einer kleinen extra Config Datei um die System Config nicht zu gefährden.
Die CP+ kann im Settings Tab gebackupt oder hochgeladen werden.
Wenn eine Config Datei hochgeladen wird, wird die vorherige automatisch als backup gespeichert.
Bin gerne offen für Kommentare, Ratschläge, Hinweise, etc.
für alle, die gerne nicht ihre Voucher von pfSense in einen andere Anwendung importieren wollen, habe ich ein php script geschrieben welches direkt auf dem pfSense Webserver läuft.
Inspiert wurde ich durch den schönen Vouchergenerator von eagle2 welcher für Leute die gerne die Voucher auf einem externen Server verwalten wollen, eine super sache ist!
Hier der Link: Voucher für pfSense online verwalten und optional Voucher per SMS verschicken.
CP+ Installationsanleitung und Files auf:
http://sourceforge.net/projects/captiveportalplus/Bitte die aktuelle Version herunterladen. Habe einen fehler in der installationsdatei behoben, der beim erstellen des verzeichnisses probleme verursachte! (31.07.14)
Ich habe mich aktuell gegen die veröffentlichung als "typisches" pfSense Package entschieden, da mir das ganze zu schlecht dokumentiert ist und ich nicht die Zeit in die Verpackung stecken wollte, sondern lieber in den Inhalt
Allerdings ist die Installation echt nicht schwer
Features / Funktion:
Die sogenanten "Time Packages" legen die Nutzungsdauer für das erstellen der Rolls fest.Wird zum ersten mal ein (oder mehrere) Voucher von einem Time Package gedruckt wird im hintergrund automatisch die passende Roll (ab der vom Nutzer gesetzten ersten ungenutzten Roll) erzeugt.
Für weitere Voucher zu dem Time Package zehrt das CP+ von der angefangenen Roll.
Sind alle (1023) Voucher von dem Time Package ausgedruckt wird im hintergrund automatisch eine neue (nachfolge) Roll erzeugt.
Das alles passiert für den jenigen der Voucher druckt vollkommen im Hintergrund.
Lediglich die Voucher ID (Roll Nummer . Voucher Nummer) verraten es, wenn man sie denn drucken möchte.
Die Dame von der Rezeption kann sich einfach auf der pfSense WebGUI einloggen und kann mit den Benutzerrechten die ihr vergeben wurden z.B. nur neue Voucher erstellen welche ihr dann aus dem Bon Drucker neben ihr oder als PDF präsentiert werden.
(Für die Variante PDF -> Ausdruck empfehle ich perforiertes Papier wie z.B. dieses mit dem ich gute Erfahrungen gemacht habe : http://www.preisauszeichneretiketten.com/perforierte-Regaletiketten)
Desweiteren kann man die sogenanten Outputs definieren. Also unterschiedliche formatierte PDFs oder Bon Drucke.
Für die Netzwerk Bon Drucker wird das ESC/POS Protokoll von Epson genutzt.
Bei mir läuft das ganze mit einem EPSON TM-T88III.
Außerdem habe ich einen abgespeckten pfSense user manager intergriegt für Gäste die einen Benutzernamen und ein Passwort erhalten sollen für zeitlich unbeschränkten Zugang.
Dieser zeigt nur User an welche sich ausschließlich in der User Gruppe captive-portal befinden.
So kann nicht ausversehen andere Benutzer gelöscht oder bearbeitet werden.
Das ganze speichert alle zusätzlichen Daten in einer kleinen extra Config Datei um die System Config nicht zu gefährden.
Die CP+ kann im Settings Tab gebackupt oder hochgeladen werden.
Wenn eine Config Datei hochgeladen wird, wird die vorherige automatisch als backup gespeichert.
Bin gerne offen für Kommentare, Ratschläge, Hinweise, etc.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 245111
Url: https://administrator.de/contentid/245111
Ausgedruckt am: 21.11.2024 um 18:11 Uhr
129 Kommentare
Neuester Kommentar
Guten Abend,
sehr schöne Erweiterung! Top! Das Repertoire im Bereich pfSense und WLAN ist langsam vollständig und kommt aus meiner Sicht der kommerziellen Lösung sehr Nahe.
Auf Sf kenne ich mich kaumf aus (GH User): Kann ich dort die einzelnen Dateien (Quellcode) deines Proejekts nicht anschauen?
Gruß,
Dani
sehr schöne Erweiterung! Top! Das Repertoire im Bereich pfSense und WLAN ist langsam vollständig und kommt aus meiner Sicht der kommerziellen Lösung sehr Nahe.
Auf Sf kenne ich mich kaumf aus (GH User): Kann ich dort die einzelnen Dateien (Quellcode) deines Proejekts nicht anschauen?
Gruß,
Dani
Wow! Klasse! Genial!
Bin gerade nicht in der Verlegenheit, das einsetzen oder testen zu können, aber wie Du das beschreibst, klingt das perfekt.
Bitte versuche aber trotzdem, ein "ordentliches" PfSense Package zu erstellen, wenn du irgendwie die Zeit findest.
Sowas sollte auf "offiziellen" Beinen stehen, wie ich meine. Hast Du im PfSense Forum Support angefragt? Soweit ich das erkennen konnte, werden solche Beiträge dort sehr gut supported und User wie marcelloc scheinen da immer ansprechbar zu sein...
Das Package System ist schon für den Anwender kompliziert genug. (Immer wieder Probleme bei Versionsupdates von PfSense etc.) Der Package Support scheint immer wieder bei (s-)einem Entwickler hängen zu bleiben und existiert daher nur rudimentär und das "Core-Team" sagt zu konstruktiven Vorschlägen bzgl. der Verbesserung der Integration ("tested" oder "officially supported packages") nur: "Interessiert uns nicht, Packages sind Bonus und haben mit PfSense nur am Rande zu tun."
Da hilft es dann wenig, wenn die Packages noch exclusiver werden, leider.
Muss mir dringend eine Test-PfSense installieren, auf der ich das mal ausprobieren könnte, ist eh nur eine Frage der Zeit, bis mal wieder ein kleines Hotel anfragt...
Wow, Klasse, Genial. Danke. Das hat mir grade nochmal etwas bessere laune beschert.
el buco
Bin gerade nicht in der Verlegenheit, das einsetzen oder testen zu können, aber wie Du das beschreibst, klingt das perfekt.
Bitte versuche aber trotzdem, ein "ordentliches" PfSense Package zu erstellen, wenn du irgendwie die Zeit findest.
Sowas sollte auf "offiziellen" Beinen stehen, wie ich meine. Hast Du im PfSense Forum Support angefragt? Soweit ich das erkennen konnte, werden solche Beiträge dort sehr gut supported und User wie marcelloc scheinen da immer ansprechbar zu sein...
Das Package System ist schon für den Anwender kompliziert genug. (Immer wieder Probleme bei Versionsupdates von PfSense etc.) Der Package Support scheint immer wieder bei (s-)einem Entwickler hängen zu bleiben und existiert daher nur rudimentär und das "Core-Team" sagt zu konstruktiven Vorschlägen bzgl. der Verbesserung der Integration ("tested" oder "officially supported packages") nur: "Interessiert uns nicht, Packages sind Bonus und haben mit PfSense nur am Rande zu tun."
Da hilft es dann wenig, wenn die Packages noch exclusiver werden, leider.
Muss mir dringend eine Test-PfSense installieren, auf der ich das mal ausprobieren könnte, ist eh nur eine Frage der Zeit, bis mal wieder ein kleines Hotel anfragt...
Wow, Klasse, Genial. Danke. Das hat mir grade nochmal etwas bessere laune beschert.
el buco
Klasse Tutorial....
Sollte Kollege eagle2 ggf. mit als weiterführenden Link in seinem Tutorial einsetzen.
Im Gästenetz_Hotspot_Tutorial ist das schon geschehen
Sollte Kollege eagle2 ggf. mit als weiterführenden Link in seinem Tutorial einsetzen.
Im Gästenetz_Hotspot_Tutorial ist das schon geschehen
Zitat von @aqui:
Klasse Tutorial....
Sollte Kollege eagle2 ggf. mit als weiterführenden Link in seinem Tutorial einsetzen.
Klasse Tutorial....
Sollte Kollege eagle2 ggf. mit als weiterführenden Link in seinem Tutorial einsetzen.
Schon geschehen, es sieht ja echt gut aus !
Ich sehe gerade, dass du die Installationsanleitung jetzt auch bei SF verlinkt hast, die war anfangs etwas schwer zu finden ;)
Viele Grüße,
eagle2
Hallo,
super Sache - darauf habe ich gewartet!
Im GUI kann man eine IP für den Drucker angeben - wo bekomme ich die LAN Schnittstelle für den EPSON TM-T88III her - irgendwie finde ich nur welche mit Seriellem/Parallelem Port oder USB.
Gruß
super Sache - darauf habe ich gewartet!
Im GUI kann man eine IP für den Drucker angeben - wo bekomme ich die LAN Schnittstelle für den EPSON TM-T88III her - irgendwie finde ich nur welche mit Seriellem/Parallelem Port oder USB.
Gruß
Es gibt ein Ethernet Interface dafür:
http://www.kasseundpapier.de/drucker/drucker-schnittstellen/epson-schni ...
http://www.kasseundpapier.de/drucker/drucker-schnittstellen/epson-schni ...
ja, hatte ich schon gefunden - ich dachte es gäbe alles schon komplett. Dann eben so
Danke und Gruß
Danke und Gruß
wenn ich den Drucker per USB anschließe, dann gebe ich da die IP des PCs ein, an dem der Drucker hängt?
Nanu, was ist denn hier passiert? Für alle, die die Software suchen, es gibt diese (noch?) hier zum Download: http://sourceforge.net/projects/captiveportalplus/
Viele Grüße
Eagle2
Update: Interessant, jetzt ist die Anleitung ja doch wieder da (Y)
Viele Grüße
Eagle2
Update: Interessant, jetzt ist die Anleitung ja doch wieder da (Y)
Hallo
Vielen Dank für diese Erweiterung. Könnte mir im produktiven Betrieb noch nützlich werden. Wollte zuerst eagle2's Variante mit der externen Verwaltung verwenden, suchte aber eigentlich nach solch einer Lösung.
Nun habe ich das eingerichtet und wollte gleich ein paar Vouchers Drucken, da kam folgende Meldung
The PDF machine have no vouchers.
Leider weiss ich nicht, wo der Fehler liegt.
Ich würde gerne ein PDF drucken. Habe dazu gemäss den Screenshots einen Output erstellt, sowie ein Time Package.
Als start Roll ist die Nummer 1 definiert (habe momentan nur ein Roll).
Ich danke im Voraus für eure Hilfe
Vielen Dank für diese Erweiterung. Könnte mir im produktiven Betrieb noch nützlich werden. Wollte zuerst eagle2's Variante mit der externen Verwaltung verwenden, suchte aber eigentlich nach solch einer Lösung.
Nun habe ich das eingerichtet und wollte gleich ein paar Vouchers Drucken, da kam folgende Meldung
The PDF machine have no vouchers.
Leider weiss ich nicht, wo der Fehler liegt.
Ich würde gerne ein PDF drucken. Habe dazu gemäss den Screenshots einen Output erstellt, sowie ein Time Package.
Als start Roll ist die Nummer 1 definiert (habe momentan nur ein Roll).
Ich danke im Voraus für eure Hilfe
Nein, das klappt nicht weil die Monowall keine Installation zusätzlicher Packages supportet wie die pfSense !
Aber ist das ein Problem ??
Flash statt der Monowall doch einfach die pfSense auf dein System und gut ist. pfSense basiert ja auf dem Monowall Code ist also quasi dessen größere Schwester. Logik der Regeln usw. ist vollkommen identisch so das man das problemlos übernehmen kann.
Die pfSense bietet insgesamt mehr Funktionen und Komfort.
Aber ist das ein Problem ??
Flash statt der Monowall doch einfach die pfSense auf dein System und gut ist. pfSense basiert ja auf dem Monowall Code ist also quasi dessen größere Schwester. Logik der Regeln usw. ist vollkommen identisch so das man das problemlos übernehmen kann.
Die pfSense bietet insgesamt mehr Funktionen und Komfort.
Zwischenfrage: Ist´s möglich, dass das bei dem aktuellen Release 2.1.5 nicht mehr läuft?
Ja, das dachte ich auch. Leider ist das - zumindest bei mir - nicht so. Es werden keine Rolls mehr erzeugt...
so schaut´s aus. Es sieht zwar vom Ablauf her so aus wie immer, aber es werden keine Rolls mehr erzeugt und gespeichert.
edit: nach den Neustart geht´s wieder... nun kommt "Unable to connect to the printer with IP 192.168.2.23" naja.
edit: nach den Neustart geht´s wieder... nun kommt "Unable to connect to the printer with IP 192.168.2.23" naja.
Hqllo;
sorry. Krankenhaus:
Der Drucker ist ueber usb installiert und es wurde szuber eine testseite gedruckt. Der Drucker ist freigegeben; so dass andere ihn auch tatsaechlich finden. zenn ich nun aber die ip; welche von der pfsense anpingbar ist; in de, feld eintrage; kommt kein druck zustande.
Die pfsense meldet: Unable to connect to the printer with IP 192.168.2.23
beim ping zu der ip des pPCs, an dem der Drucker per USB hängt kommt:
Ping output:
PING 192.168.2.23 (192.168.2.23): 56 data bytes
64 bytes from 192.168.2.23: icmp_seq=0 ttl=128 time=0.656 ms
64 bytes from 192.168.2.23: icmp_seq=1 ttl=128 time=0.607 ms
64 bytes from 192.168.2.23: icmp_seq=2 ttl=128 time=0.628 ms
--- 192.168.2.23 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.607/0.630/0.656/0.020 ms
was tun?
gruss
sorry. Krankenhaus:
Der Drucker ist ueber usb installiert und es wurde szuber eine testseite gedruckt. Der Drucker ist freigegeben; so dass andere ihn auch tatsaechlich finden. zenn ich nun aber die ip; welche von der pfsense anpingbar ist; in de, feld eintrage; kommt kein druck zustande.
Die pfsense meldet: Unable to connect to the printer with IP 192.168.2.23
beim ping zu der ip des pPCs, an dem der Drucker per USB hängt kommt:
Ping output:
PING 192.168.2.23 (192.168.2.23): 56 data bytes
64 bytes from 192.168.2.23: icmp_seq=0 ttl=128 time=0.656 ms
64 bytes from 192.168.2.23: icmp_seq=1 ttl=128 time=0.607 ms
64 bytes from 192.168.2.23: icmp_seq=2 ttl=128 time=0.628 ms
--- 192.168.2.23 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.607/0.630/0.656/0.020 ms
was tun?
gruss
Irgendwie ist der Wurm drin...
Ich habe den Drucke wieder deinstalliert und dachte mir, wenn ich ihn anschalte sucht er sich alles selber zusammen.
Wenn ich den Drucker nun anschalte, wird unter Geräte und Drucker ein neues Gerät EPSON UB-U04 erkannt - das war es dann auch schon...
Ich sehe den Wald vor lauter Bäumen nicht .. wie muss ich den Drucker installieren, so dass er von der Firewall normalerweise erkannt werden sollte?
Ich habe den Drucke wieder deinstalliert und dachte mir, wenn ich ihn anschalte sucht er sich alles selber zusammen.
Wenn ich den Drucker nun anschalte, wird unter Geräte und Drucker ein neues Gerät EPSON UB-U04 erkannt - das war es dann auch schon...
Ich sehe den Wald vor lauter Bäumen nicht .. wie muss ich den Drucker installieren, so dass er von der Firewall normalerweise erkannt werden sollte?
Zitat von @schloegel-edv:
ich bin mir nicht sicher, aber musste man dort nicht irgendwie auch einen Freigabenamen angeben? Und ob das über eine
Windowsfreigabe so funktioniert, bin ich mir nicht sicher.
ich bin mir nicht sicher, aber musste man dort nicht irgendwie auch einen Freigabenamen angeben? Und ob das über eine
Windowsfreigabe so funktioniert, bin ich mir nicht sicher.
Dem würde ich so zustimmen, Windows-Freigaben gehen eigentlich nur über einen Freigabenamen und SMB/Samba, afaik kann man da nicht wie zur TCP-Schnittstelle des Druckers Daten hinschicken (wie es vermutlich von diesem Skript getan wird [ungetestet]).
Guten Abend,
Ich hab das Paket bei mir installiert und ein wenig getestet.
Die Erstellung von Vouchern und der Export als PDF funktioniert sehr gut.
Allerdings bekomm ich beim Reiter "Users" die folgende Fehlermeldung:
"Fatal error: Call-time pass-by-reference has been removed in /usr/local/www/packages/cpp/users_cpp.php on line 131"
Die Datei ist auf dem Server vorhanden.
Hat jemand einen Tipp woran das liegen könnte?
Ich bin leider nicht so fit in Linux und Programmiersprachen!
Vielen Dank im Voraus!
Ich hab das Paket bei mir installiert und ein wenig getestet.
Die Erstellung von Vouchern und der Export als PDF funktioniert sehr gut.
Allerdings bekomm ich beim Reiter "Users" die folgende Fehlermeldung:
"Fatal error: Call-time pass-by-reference has been removed in /usr/local/www/packages/cpp/users_cpp.php on line 131"
Die Datei ist auf dem Server vorhanden.
Hat jemand einen Tipp woran das liegen könnte?
Ich bin leider nicht so fit in Linux und Programmiersprachen!
Vielen Dank im Voraus!
Vielleicht irgendwelche Schreibrechte auf der Datei nicht korrekt? Eventuell kann da @aqui was dazu sagen...
aqui
aqui
Hi,
Danke für die schnellen Antworten!
Ich hab pfSense 2.2 (amd64) mit FreeBDS 10.1-Release-p4. Das Ganze läuft in einer VM mit VMware Player, zusätzlich noch ein "Client" als VM mit Windows 7 x64.
Sonstige Packages sind squid 2.7.9 pkg v. 4.3.6 und squidGuard-dlevel 1.5_1beta pkg v. 1.5.6.
Die Datei "users_cpp.php" ist vorhanden und hat die gleichen Berechtigungen wie die anderen *_cpp.php Dateien (-rw-r--r--).
Ich hoff jemand hat einen Tipp wo er Fehler liegen könnte
PS: Ich hab gerade gesehen, das pfSense 2.2 erst kürzlich veröffentlicht wurde.Macht es evtl. Sinn erstmal auf einer etwas älteren Version zu starten? Evtl. 2.1 oder ähnliches?
Danke und Gruß
Sebastian
Danke für die schnellen Antworten!
Ich hab pfSense 2.2 (amd64) mit FreeBDS 10.1-Release-p4. Das Ganze läuft in einer VM mit VMware Player, zusätzlich noch ein "Client" als VM mit Windows 7 x64.
Sonstige Packages sind squid 2.7.9 pkg v. 4.3.6 und squidGuard-dlevel 1.5_1beta pkg v. 1.5.6.
Die Datei "users_cpp.php" ist vorhanden und hat die gleichen Berechtigungen wie die anderen *_cpp.php Dateien (-rw-r--r--).
Ich hoff jemand hat einen Tipp wo er Fehler liegen könnte
PS: Ich hab gerade gesehen, das pfSense 2.2 erst kürzlich veröffentlicht wurde.Macht es evtl. Sinn erstmal auf einer etwas älteren Version zu starten? Evtl. 2.1 oder ähnliches?
Danke und Gruß
Sebastian
Hi,
Ich hab mir den PHP Quellcode angeschaut und ein wenig Google bemüht:
In der Datei "users_cpp.php" wird in Zeile 61,63 und 131 die Zeichenfolge "&$" genutzt, welche unter der neuen PHP Version wohl nicht mehr verfügbar ist.
Entfernt man das "&" funktioniert die PHP Seite wieder.
Ob das allerdings weitere (negative?) Auswirkungen hat kann ich nicht sagen.
Für mich ist es erstmal eine Lösung des Problems ;)
PS: Offenbar ist das nicht ganz die Lösung! Die Seite wir zwar angezeigt, neue User werden allerdings nicht angelegt.
Gruß und Danke für die Hilfe
Sebastian
Ich hab mir den PHP Quellcode angeschaut und ein wenig Google bemüht:
In der Datei "users_cpp.php" wird in Zeile 61,63 und 131 die Zeichenfolge "&$" genutzt, welche unter der neuen PHP Version wohl nicht mehr verfügbar ist.
Entfernt man das "&" funktioniert die PHP Seite wieder.
Ob das allerdings weitere (negative?) Auswirkungen hat kann ich nicht sagen.
Für mich ist es erstmal eine Lösung des Problems ;)
PS: Offenbar ist das nicht ganz die Lösung! Die Seite wir zwar angezeigt, neue User werden allerdings nicht angelegt.
Gruß und Danke für die Hilfe
Sebastian
Guten Abend Sebastian,
ich kanns mir leider gerade nicht im Quellcode anschauen. Aber es wird jedes Mal ein FUnktionsaufruf sein.
Abhilfe schafft folgendes Beispiel.
Gruß,
Dani
ich kanns mir leider gerade nicht im Quellcode anschauen. Aber es wird jedes Mal ein FUnktionsaufruf sein.
Abhilfe schafft folgendes Beispiel.
Gruß,
Dani
Zitat von @Dani:
Guten Abend Sebastian,
ich kanns mir leider gerade nicht im Quellcode anschauen. Aber es wird jedes Mal ein FUnktionsaufruf sein.
Abhilfe schafft folgendes [http://stackoverflow.com/questions/8971261/php-5-4-call-time-pass-by-reference-easy-fix-available
Beispiel].
Gruß,
Dani
Guten Abend Sebastian,
ich kanns mir leider gerade nicht im Quellcode anschauen. Aber es wird jedes Mal ein FUnktionsaufruf sein.
Abhilfe schafft folgendes [http://stackoverflow.com/questions/8971261/php-5-4-call-time-pass-by-reference-easy-fix-available
Beispiel].
Gruß,
Dani
Hallo Dani,
Den Tipp in diesem Beispiel hab ich schon getestet, also einfach die "&" gelöscht.
Das skript wird dann auch geladen, allerdings scheint es dann nicht richtig zu funktionieren.
Wenn ich über das CPP ein neuen Benutzer anlege, wird der nicht in der Oberfläche angezeigt.
Will ich allerdings einen Benutzer mit gleichen Namen nochmal anlegen, erscheint eine Fehlermeldung "The user ist reserved by the system". Der Benutzer erscheint allerdings auch nicht im pfSense User Manager.
Oh ja, jetzt seh ichs auch! Da war das Auge wohl zu schnell!
Leider hab ich bisher wenig mit php gemacht und irgendwie check ich grad nicht so ganz, wie ich das nun anpassen muss.
Hier ist mal der Code aus dem Script ab Zeile 130, hier wird der Fehler gemeldet.
Könnte sich das mal jemand anschauen und anpassen? Ich hab schon ewig nichts mehr mit skripten oder programmieren gemacht, da fehlt mir grad das Verständnis.
Vielen Dank schonmal im Voraus!
Leider hab ich bisher wenig mit php gemacht und irgendwie check ich grad nicht so ganz, wie ich das nun anpassen muss.
Hier ist mal der Code aus dem Script ab Zeile 130, hier wird der Fehler gemeldet.
Könnte sich das mal jemand anschauen und anpassen? Ich hab schon ewig nichts mehr mit skripten oder programmieren gemacht, da fehlt mir grad das Verständnis.
Vielen Dank schonmal im Voraus!
do_input_validation($_POST, $reqdfields, $reqdfieldsn, &$input_errors);
if (preg_match("/[^a-zA-Z0-9\.\-_]/", $_POST['usernamefld']))
$input_errors = gettext("The username contains invalid characters.");
if (strlen($_POST['usernamefld']) > 16)
$input_errors = gettext("The username is longer than 16 characters.");
if (($_POST['passwordfld1']) && ($_POST['passwordfld1'] != $_POST['passwordfld2']))
$input_errors = gettext("The passwords do not match.");
if (isset($id) && $a_user[$id])
$oldusername = $a_user[$id]['name'];
else
$oldusername = "";
/* make sure this user name is unique */
if (!$input_errors) {
foreach ($a_user as $userent) {
if ($userent['name'] == $_POST['usernamefld'] && $oldusername != $_POST['usernamefld']) {
$input_errors = gettext("Another entry with the same username already exists.");
break;
}
}
}
/* also make sure it is not reserved */
if (!$input_errors) {
$system_users = explode("\n", file_get_contents("/etc/passwd"));
foreach ($system_users as $s_user) {
$ent = explode(":", $s_user);
if ($ent == $_POST['usernamefld'] && $oldusername != $_POST['usernamefld']) {
$input_errors = gettext("That username is reserved by the system.");
break;
}
}
}
@aqui
diese:
Gruß,
Dani
diese:
do_input_validation($_POST, $reqdfields, $reqdfieldsn, &$input_errors);
Leider konnte ich auf die Schnelle die Funktion in keiner Datei finden.Gruß,
Dani
Hi,
Zeile 130 ist die erste Zeile des geposteten Codestücks aus der users_cpp.php
Wäre es evtl. möglich das jemand von euch mal via Teamviewer auf die entsprechende VM schaut?
Ich denke dann wäre es einfacher und es müsste keiner nen neue VM aufsetzen.
Gruß und schönes Wochenende
Sebastian
Zeile 130 ist die erste Zeile des geposteten Codestücks aus der users_cpp.php
do_input_validation($_POST, $reqdfields, $reqdfieldsn, &$input_errors);
Wäre es evtl. möglich das jemand von euch mal via Teamviewer auf die entsprechende VM schaut?
Ich denke dann wäre es einfacher und es müsste keiner nen neue VM aufsetzen.
Gruß und schönes Wochenende
Sebastian
Hallo Sebastian,
ich könnte mir vorstellen, dass in der neuen PHP-Version nicht mehr die eckige Klammer OHNE Anführungszeichen benutzt werden kann:
if (isset($id) && $a_user[$id])
$oldusername = $a_user[$id]['name'];
könnte nun lauten müssen:
if (isset($id) && $a_user['$id'])
$oldusername = $a_user['$id']['name'];
ist aber nur eine Vermutung.
ich könnte mir vorstellen, dass in der neuen PHP-Version nicht mehr die eckige Klammer OHNE Anführungszeichen benutzt werden kann:
if (isset($id) && $a_user[$id])
$oldusername = $a_user[$id]['name'];
könnte nun lauten müssen:
if (isset($id) && $a_user['$id'])
$oldusername = $a_user['$id']['name'];
ist aber nur eine Vermutung.
Hallo zusammen,
Also ich hab nun nochmal alles neu installiert und konfiguriert, beim Captive Portal Plus kam wieder die oben genannte Fehlermeldung.
Nach dem ich in der Datei "/usr/local/www/packages/cpp/users_cpp.php" in Zeile 131 folgende Änderung vorgenommen habe:
geändert in:
Hat die Seite funktioniert. Auch das anlegen eines neuen Benutzers + Anmeldung am CPP klappt reibungslos.
Somit scheint das Problem gelöst zu sein.
In der Testumgebung habe ich folgendes eingesetzt:
pfSense 2.2 (amd64)
squid 3 3.4.10_2 pkg 0.2.6
Danke für die Hilfe und Gruß
Sebastian
Also ich hab nun nochmal alles neu installiert und konfiguriert, beim Captive Portal Plus kam wieder die oben genannte Fehlermeldung.
Nach dem ich in der Datei "/usr/local/www/packages/cpp/users_cpp.php" in Zeile 131 folgende Änderung vorgenommen habe:
do_input_validation($_POST, $reqdfields, $reqdfieldsn, &$input_errors);
do_input_validation($_POST, $reqdfields, $reqdfieldsn, $input_errors);
Hat die Seite funktioniert. Auch das anlegen eines neuen Benutzers + Anmeldung am CPP klappt reibungslos.
Somit scheint das Problem gelöst zu sein.
In der Testumgebung habe ich folgendes eingesetzt:
pfSense 2.2 (amd64)
squid 3 3.4.10_2 pkg 0.2.6
Danke für die Hilfe und Gruß
Sebastian
Hallo,
ich teste das System auch gerade. Allerdings stelle ich mich etwas an, wenn es um das Drucken der Vouchers geht.
The PDF machine have no vouchers.
Ich habe einen Output angelegt, ich habe Time Packages angelegt...
Was muss ich denn auf der Seite bei den Vouchers einegeben? Verstehe das nicht so ganz...
ich teste das System auch gerade. Allerdings stelle ich mich etwas an, wenn es um das Drucken der Vouchers geht.
The PDF machine have no vouchers.
Ich habe einen Output angelegt, ich habe Time Packages angelegt...
Was muss ich denn auf der Seite bei den Vouchers einegeben? Verstehe das nicht so ganz...
Zitat von @tomtimo:
Hallo,
ich teste das System auch gerade. Allerdings stelle ich mich etwas an, wenn es um das Drucken der Vouchers geht.
The PDF machine have no vouchers.
Ich habe einen Output angelegt, ich habe Time Packages angelegt...
Was muss ich denn auf der Seite bei den Vouchers einegeben? Verstehe das nicht so ganz...
Hallo,
ich teste das System auch gerade. Allerdings stelle ich mich etwas an, wenn es um das Drucken der Vouchers geht.
The PDF machine have no vouchers.
Ich habe einen Output angelegt, ich habe Time Packages angelegt...
Was muss ich denn auf der Seite bei den Vouchers einegeben? Verstehe das nicht so ganz...
Hi,
Hast du das CPP so konfiguriert wie oben beschrieben? Bei mir hat bis auf den Fehler mit der User Page alles geklappt.
- Nach Installationsanleitung installieren
- unter Settings - Output und - Time Packages definieren
Das wars eingentlich, am besten vllt. alles nochmal neu machen.
Hi und Danke,
ich habe jetzt alles neu installiert.
Command Prompt -> Datei install_cpp.php ausgewählt und hochgeladen
Command Prompt -> "mv /tmp/cpp_install.php /usr/local/www" ausgeführt
Seite https://192.168.1.1/cpp_install.php aufgerufen und alle benötigten Dateien hochgeladen
Menüeintrag genereiert
Service -> Captive Portal Plus angeklickt (Install-Datei wurde gelöscht)
System -> User Manager -> Gruppe "captive-portal " erstellt
Service -> Captive Portal Plus -> Settings Output erstellt (PDF)
Service -> Captive Portal Plus -> Settings Time Package erstellt (a. 1 Stunde mit 60 Minuten, b 1 Tag mit 1440 Minuten)
Service -> Captive Portal Plus -> Settings -> Start Voucher Roll Number = 1
Wenn ich jetzt unter "Vouchers" gehe, ist das Time Package 1 Stunde vorbelegt, weil als Standard markiert. Als Output ist PDF ausgewählt. Bei Count gebe ich eine 8 ein und klicke auf das PDF Symbol. Wieder kommt der Fehler: "The PDF machine have no vouchers"
Ich gehe einfach davon aus, dass ich etwas grundlegendes nicht verstehe. Aber was?
ich habe jetzt alles neu installiert.
Command Prompt -> Datei install_cpp.php ausgewählt und hochgeladen
Command Prompt -> "mv /tmp/cpp_install.php /usr/local/www" ausgeführt
Seite https://192.168.1.1/cpp_install.php aufgerufen und alle benötigten Dateien hochgeladen
Menüeintrag genereiert
Service -> Captive Portal Plus angeklickt (Install-Datei wurde gelöscht)
System -> User Manager -> Gruppe "captive-portal " erstellt
Service -> Captive Portal Plus -> Settings Output erstellt (PDF)
Service -> Captive Portal Plus -> Settings Time Package erstellt (a. 1 Stunde mit 60 Minuten, b 1 Tag mit 1440 Minuten)
Service -> Captive Portal Plus -> Settings -> Start Voucher Roll Number = 1
Wenn ich jetzt unter "Vouchers" gehe, ist das Time Package 1 Stunde vorbelegt, weil als Standard markiert. Als Output ist PDF ausgewählt. Bei Count gebe ich eine 8 ein und klicke auf das PDF Symbol. Wieder kommt der Fehler: "The PDF machine have no vouchers"
Ich gehe einfach davon aus, dass ich etwas grundlegendes nicht verstehe. Aber was?
Hej tomtimo,
Das klingt eigentlich alles gut
Welche Version von pfSense hast du denn im Einsatz?
Wie hast du dein Captive Portal von pfSense konfiguriert? Hast du eine Captive Portal Zone angelegt?
Laufen die Dienste alle?
Ich hab grad bissel rumprobiert und diverse Dinge verändert, allerdings hat nichts zu dieser Fehlermeldung geführt
Das klingt eigentlich alles gut
Welche Version von pfSense hast du denn im Einsatz?
Wie hast du dein Captive Portal von pfSense konfiguriert? Hast du eine Captive Portal Zone angelegt?
Laufen die Dienste alle?
Ich hab grad bissel rumprobiert und diverse Dinge verändert, allerdings hat nichts zu dieser Fehlermeldung geführt
Hallo zusammen,
für alle user die mein kleines tool einsetzen und hier fragen stellen, habe ich mich hier wieder angemeldet. (Bitte keine weiteren Fragen warum.)
Es freut mich doch sehr dass meine Programmierarbeit so viel Anklang findet.
MORGEN werde ich die Version 1.1 veröffentlichen.
Diese beinhaltet diverse Bugfixe und ist angepasst für die neue pfSense 2.2 Version.
Details dann morgen in der readme bei den files auf sourceforge.
Schönen Abend Euch
für alle user die mein kleines tool einsetzen und hier fragen stellen, habe ich mich hier wieder angemeldet. (Bitte keine weiteren Fragen warum.)
Es freut mich doch sehr dass meine Programmierarbeit so viel Anklang findet.
MORGEN werde ich die Version 1.1 veröffentlichen.
Diese beinhaltet diverse Bugfixe und ist angepasst für die neue pfSense 2.2 Version.
Details dann morgen in der readme bei den files auf sourceforge.
Schönen Abend Euch
Zitat von @tomtimo:
Hi und Danke,
ich habe jetzt alles neu installiert.
Command Prompt -> Datei install_cpp.php ausgewählt und hochgeladen
Command Prompt -> "mv /tmp/cpp_install.php /usr/local/www" ausgeführt
Seite https://192.168.1.1/cpp_install.php aufgerufen und alle benötigten Dateien hochgeladen
Menüeintrag genereiert
Service -> Captive Portal Plus angeklickt (Install-Datei wurde gelöscht)
System -> User Manager -> Gruppe "captive-portal " erstellt
Service -> Captive Portal Plus -> Settings Output erstellt (PDF)
Service -> Captive Portal Plus -> Settings Time Package erstellt (a. 1 Stunde mit 60 Minuten, b 1 Tag mit 1440 Minuten)
Service -> Captive Portal Plus -> Settings -> Start Voucher Roll Number = 1
Wenn ich jetzt unter "Vouchers" gehe, ist das Time Package 1 Stunde vorbelegt, weil als Standard markiert. Als Output
ist PDF ausgewählt. Bei Count gebe ich eine 8 ein und klicke auf das PDF Symbol. Wieder kommt der Fehler: "The PDF
machine have no vouchers"
Ich gehe einfach davon aus, dass ich etwas grundlegendes nicht verstehe. Aber was?
Hi und Danke,
ich habe jetzt alles neu installiert.
Command Prompt -> Datei install_cpp.php ausgewählt und hochgeladen
Command Prompt -> "mv /tmp/cpp_install.php /usr/local/www" ausgeführt
Seite https://192.168.1.1/cpp_install.php aufgerufen und alle benötigten Dateien hochgeladen
Menüeintrag genereiert
Service -> Captive Portal Plus angeklickt (Install-Datei wurde gelöscht)
System -> User Manager -> Gruppe "captive-portal " erstellt
Service -> Captive Portal Plus -> Settings Output erstellt (PDF)
Service -> Captive Portal Plus -> Settings Time Package erstellt (a. 1 Stunde mit 60 Minuten, b 1 Tag mit 1440 Minuten)
Service -> Captive Portal Plus -> Settings -> Start Voucher Roll Number = 1
Wenn ich jetzt unter "Vouchers" gehe, ist das Time Package 1 Stunde vorbelegt, weil als Standard markiert. Als Output
ist PDF ausgewählt. Bei Count gebe ich eine 8 ein und klicke auf das PDF Symbol. Wieder kommt der Fehler: "The PDF
machine have no vouchers"
Ich gehe einfach davon aus, dass ich etwas grundlegendes nicht verstehe. Aber was?
Moin,
hast du auch unter Menü -> Captive Portal -> Deine Zone -> Vouchers auf Enable gestellt ?
Bzw generell unter Menü -> Captive Portal -> Deine Zone -> Captive potral(s) alles Konfiguriert ?
Gruß
Hi,
danke erstmal für deine Arbeit, super Erweiterung
Ich suche zur Zeit eine Möglichkeit, die Voucher doppelt zu drucken, oder noch besser, parallel einen Zweitdruck mit anderem Layout auf einem anderen Drucker zu erstellen, damit man sich die Ausgabe der Voucher Codes vom Nutzer abzeichnen lassen kann.
Ich hoffe, dass zumindest der Doppeldruck irgendwo in den config Dateien einstellbar ist.
danke erstmal für deine Arbeit, super Erweiterung
Ich suche zur Zeit eine Möglichkeit, die Voucher doppelt zu drucken, oder noch besser, parallel einen Zweitdruck mit anderem Layout auf einem anderen Drucker zu erstellen, damit man sich die Ausgabe der Voucher Codes vom Nutzer abzeichnen lassen kann.
Ich hoffe, dass zumindest der Doppeldruck irgendwo in den config Dateien einstellbar ist.
Hallo,
erst mal wollte ich mich für dieses tolle Script bedanken. Jetzt habe ich aber noch ein paar Fragen zu dem Layout der Voucher:
Ist es Möglich
- ein Bild/Logo mit einzubauen?
- die Schrift gleichzeitig Fett und Unterstrichen zu machen?
- die Voucher doppelt auszudrucken?
Vielen Dank für eure Antworten
erst mal wollte ich mich für dieses tolle Script bedanken. Jetzt habe ich aber noch ein paar Fragen zu dem Layout der Voucher:
Ist es Möglich
- ein Bild/Logo mit einzubauen?
- die Schrift gleichzeitig Fett und Unterstrichen zu machen?
- die Voucher doppelt auszudrucken?
Vielen Dank für eure Antworten
Hallo ihr,
zielen Eure Fragen (bzgl. Logo doppelt Druck) auf die erstellung von PDF's hin oder die ESCPOS Variante?
Bei der PDF Variante kann durch die Kombination der Buchstaben B, U und I die gewünschte Darstellung eingestellt werden. Z.B. in das Feld bu schreiben für Fett und Unterstrichen gleichzeitig. Bei der ESCPOS kann das einzeln über Drop Down ausgewählt werden.
Viele Grüße
Und danke für die Vorschläge
zielen Eure Fragen (bzgl. Logo doppelt Druck) auf die erstellung von PDF's hin oder die ESCPOS Variante?
Bei der PDF Variante kann durch die Kombination der Buchstaben B, U und I die gewünschte Darstellung eingestellt werden. Z.B. in das Feld bu schreiben für Fett und Unterstrichen gleichzeitig. Bei der ESCPOS kann das einzeln über Drop Down ausgewählt werden.
Viele Grüße
Und danke für die Vorschläge
Vielen Dank für die Hilfe. Meine Fragen beziehen sich erstmal auf die PDF-Variante.
Das mit der Schrift gleichzeitig hat schon mal funktioniert. Bei der PDF Variante kann ich die angespeicherte PDF Datei ja noch mal ausdrucken, aber könnte man wenn man die PDF Datei nicht mehr hat die noch einmal erstellen aus dem Captive Portal?
Das mit der Schrift gleichzeitig hat schon mal funktioniert. Bei der PDF Variante kann ich die angespeicherte PDF Datei ja noch mal ausdrucken, aber könnte man wenn man die PDF Datei nicht mehr hat die noch einmal erstellen aus dem Captive Portal?
Ich könnte eine Art "Drucke Voucher von ID bis ID" Funktion einbauen.
Auch eine automatische Erstellung einer zweiten PDF mit Feldern zum Unterschreiben wäre möglich. Allerdings hatte ich damals gedacht, dass es ausreicht, wenn man einfach eine seperate Liste führt in der händisch die Voucher ID eingtragen wird und der Nutzer unterschreibt. Ich fände dann allerdings ein eigenes Formblatt mit AGB o.ä. pro Voucher (Nutzer) am besten.
Generell stellt sich mir die Frage ob man jemals auf das Neudrucken von ungenutzten Vouchern angewiesen sein wird. Immerhin sind 65535 * 1023 Voucher möglich :D
Auch eine automatische Erstellung einer zweiten PDF mit Feldern zum Unterschreiben wäre möglich. Allerdings hatte ich damals gedacht, dass es ausreicht, wenn man einfach eine seperate Liste führt in der händisch die Voucher ID eingtragen wird und der Nutzer unterschreibt. Ich fände dann allerdings ein eigenes Formblatt mit AGB o.ä. pro Voucher (Nutzer) am besten.
Generell stellt sich mir die Frage ob man jemals auf das Neudrucken von ungenutzten Vouchern angewiesen sein wird. Immerhin sind 65535 * 1023 Voucher möglich :D
Ich hätte da zwei Vorschläge bzw. Fragen.
1. Heute haben immer mehr ein Mobile und da ist ein reiner Nummerncode besser als GROSS/klein Buchstaben gemischt. Ich habe auf reine Nummern umgestellt aber es lässt sich nicht kleiner 12 oder 14 Nummern einstellen.?
2. Gibt es die Möglichkeit vor dem Ausdruck noch etwas dazu zu tippen? In einem Hotel nehmen die Gäste den Voucher mit aufs Zimmer und wenn es dann nicht geht bzw. später nicht mehr geht dann rufen sie in der Reception an, da weiss man dann die Zimmernummer aber leider nicht den Code.
Bisher drucken sie immer 1 A4 Blatt und kopieren das und schreiben die Zimmernummer mit Hand dazu, sehr umständlich.
Gibt es da eine Möglichkeit?
Weiters habe ich mir leider nicht aufgeschrieben wie die Installation geht, jetzt nach dem Update ist es weg und sourforge Wiki geht nicht mehr seit Tagen!
Könntest du die Installation hier rein stellen?
Danke für CCP+, echt ein Hit das Ding!
1. Heute haben immer mehr ein Mobile und da ist ein reiner Nummerncode besser als GROSS/klein Buchstaben gemischt. Ich habe auf reine Nummern umgestellt aber es lässt sich nicht kleiner 12 oder 14 Nummern einstellen.?
2. Gibt es die Möglichkeit vor dem Ausdruck noch etwas dazu zu tippen? In einem Hotel nehmen die Gäste den Voucher mit aufs Zimmer und wenn es dann nicht geht bzw. später nicht mehr geht dann rufen sie in der Reception an, da weiss man dann die Zimmernummer aber leider nicht den Code.
Bisher drucken sie immer 1 A4 Blatt und kopieren das und schreiben die Zimmernummer mit Hand dazu, sehr umständlich.
Gibt es da eine Möglichkeit?
Weiters habe ich mir leider nicht aufgeschrieben wie die Installation geht, jetzt nach dem Update ist es weg und sourforge Wiki geht nicht mehr seit Tagen!
Könntest du die Installation hier rein stellen?
Danke für CCP+, echt ein Hit das Ding!
Hi danke für das Feedback!
Zu deinem ersten Teil: Das ist wie mir scheint eine generelle Frage zu der Voucher erzeugung bei der pfSense? Denn der Code hat nichts mit dem CP+ zu tun.
Ich reduziere die Zeichen mit folgenden Commands:
openssl genrsa 31 > key31.private
openssl rsa -pubout < key31.private > key31.public
cat key31.public
cat key31.private
Das was dort ausgegeben wird dann bei den passenden Stellen in Services > Captive Portal > Voucher eintragen / ersetzen.
Allerdings sind dann meines Wissens alle bisherigen Voucher unbrauchbar!
Zu 2.
Das scheint ja das selbe Problem zu sein, dass deine zwei Vorredner auch haben.
Allerdings schon vor dem Druck (zumindest bei PDF) macht das meine ich nicht ganz so viel Sinn, da in dem Zuge in der Regel ja gleich ein Bogen (wie bei dir) ausgedruckt wird. Zu diesem Zeitpunkt steht aber noch garnicht der spätere Nutzer fest.
Und damit man nicht den Code notieren muss, gibt es ja die Geschichte mit den ID's die sind ja in der Regel kürzer (außer vielleicht bei deinen Nummern Code).
Ich würde einfach die ID in einer Liste notieren mit den ensprechenden personen bezogenen Daten.
Was ohne viel Aufwand gehen würde, ist dass parallel zu der Voucher PDF eine weitere mit einer Tabelle erzeugt wird. Diese würde ID, Code, Time Package und eine persönliche Spalte enthalten.
Viele Grüße
Tassilo
Zu deinem ersten Teil: Das ist wie mir scheint eine generelle Frage zu der Voucher erzeugung bei der pfSense? Denn der Code hat nichts mit dem CP+ zu tun.
Ich reduziere die Zeichen mit folgenden Commands:
openssl genrsa 31 > key31.private
openssl rsa -pubout < key31.private > key31.public
cat key31.public
cat key31.private
Das was dort ausgegeben wird dann bei den passenden Stellen in Services > Captive Portal > Voucher eintragen / ersetzen.
Allerdings sind dann meines Wissens alle bisherigen Voucher unbrauchbar!
Zu 2.
Das scheint ja das selbe Problem zu sein, dass deine zwei Vorredner auch haben.
Allerdings schon vor dem Druck (zumindest bei PDF) macht das meine ich nicht ganz so viel Sinn, da in dem Zuge in der Regel ja gleich ein Bogen (wie bei dir) ausgedruckt wird. Zu diesem Zeitpunkt steht aber noch garnicht der spätere Nutzer fest.
Und damit man nicht den Code notieren muss, gibt es ja die Geschichte mit den ID's die sind ja in der Regel kürzer (außer vielleicht bei deinen Nummern Code).
Ich würde einfach die ID in einer Liste notieren mit den ensprechenden personen bezogenen Daten.
Was ohne viel Aufwand gehen würde, ist dass parallel zu der Voucher PDF eine weitere mit einer Tabelle erzeugt wird. Diese würde ID, Code, Time Package und eine persönliche Spalte enthalten.
Viele Grüße
Tassilo
Hi Tassilo,
ja ich hatte schon herausgefunden dass es mit der Keylänge zusammen hängt, habe auch einen mit 32 Bit ausgegeben, einen mit 16 Bit wollte er nicht machen.
Ich muss das mit 31 nochmal versuchen.
Dazu muss ich aber erstmal wieder rein kommen!
AH heute geht das WIki wieder! Muss mir gleich das Setup kopieren!
Nein mit dem Bogen hab ich mich falsch ausgedrückt, die drucken 1 Voucher auf ein A4 Blatt! Checkt der Gast ein und fragt nach Internet wird der Voucher ausgedruckt, nicht vorher auf Verdacht. Es geht da um die Gültigkeit, manche bleiben nur 1 Tag und andere 3, 4, 5 Tage, manchmal ist es auch nur ein Seminar für 10 Leute für 2 Stunden. Jeder bekommt dann einen Voucher der so und solange gültig ist, je nach Aufenthaltsdauer.
Das mit der ID nützt nichts denn der Anrufer hat seinen Voucher irgendwo, manche checken ein und werfen das Ding nach dem ersten Gebrauch weg - bleiben aber dann 3 Tage und schon am zweiten Tag geht was nicht, hat die Reception den Voucher kann sie selber testen und dem Kunden die Nummer wieder durchgeben. Der Gast weiss ausser der Zimmernummer nichts, viele wissen nicht einmal die! (Ein Stadthotel ist die reine Freakshow!)
Das mit der zusätzlichen Tabelle ist eine Möglichkeit, man müsste dann mehrere Voucher pro Seite drucken und dann ausschneiden. Hmm, ich muss einmal nachfragen warum sie einen Voucher pro Blatt nehmen und nicht mehrere.
Cool wäre es schon wenn er zumindest bei Einzeldruck nach zusätzlichem Text fragen würde, geht es nicht ist es aber auch nicht schlimm! CP+ ist sowieso ein cooles Teil!
Danke!
EDIT
Ok mit den 31 Bit wird der Key auch nicht kürzer, sind 10 Stellen habe ich gerade nach gezählt.
Naja egal, wichtig ist es geht wieder!
ja ich hatte schon herausgefunden dass es mit der Keylänge zusammen hängt, habe auch einen mit 32 Bit ausgegeben, einen mit 16 Bit wollte er nicht machen.
Ich muss das mit 31 nochmal versuchen.
Dazu muss ich aber erstmal wieder rein kommen!
AH heute geht das WIki wieder! Muss mir gleich das Setup kopieren!
Nein mit dem Bogen hab ich mich falsch ausgedrückt, die drucken 1 Voucher auf ein A4 Blatt! Checkt der Gast ein und fragt nach Internet wird der Voucher ausgedruckt, nicht vorher auf Verdacht. Es geht da um die Gültigkeit, manche bleiben nur 1 Tag und andere 3, 4, 5 Tage, manchmal ist es auch nur ein Seminar für 10 Leute für 2 Stunden. Jeder bekommt dann einen Voucher der so und solange gültig ist, je nach Aufenthaltsdauer.
Das mit der ID nützt nichts denn der Anrufer hat seinen Voucher irgendwo, manche checken ein und werfen das Ding nach dem ersten Gebrauch weg - bleiben aber dann 3 Tage und schon am zweiten Tag geht was nicht, hat die Reception den Voucher kann sie selber testen und dem Kunden die Nummer wieder durchgeben. Der Gast weiss ausser der Zimmernummer nichts, viele wissen nicht einmal die! (Ein Stadthotel ist die reine Freakshow!)
Das mit der zusätzlichen Tabelle ist eine Möglichkeit, man müsste dann mehrere Voucher pro Seite drucken und dann ausschneiden. Hmm, ich muss einmal nachfragen warum sie einen Voucher pro Blatt nehmen und nicht mehrere.
Cool wäre es schon wenn er zumindest bei Einzeldruck nach zusätzlichem Text fragen würde, geht es nicht ist es aber auch nicht schlimm! CP+ ist sowieso ein cooles Teil!
Danke!
EDIT
Ok mit den 31 Bit wird der Key auch nicht kürzer, sind 10 Stellen habe ich gerade nach gezählt.
Naja egal, wichtig ist es geht wieder!
In der unteren Hälfte genau in der Mitte, muss ja alles ein Gesicht haben.
Der Gast bekommt immer ein A4 Blatt überreicht, zu 15% bedruckt.
Ich hatte schon versucht einfach in der letzten Zeile den Text "Zimmernummer:" dazu zu drucken, das ändert aber am umständlichen Handling nichts.
Das Blatt muss immer noch kopiert werden und von Hand beschriftet.
Hätte es die Nummer schon im Druck müsste man nur 2 Copien drucken, das würde die Sache schon sehr vereinfachen.
Meistens checken ja viele zur selben Zeit ein und dann gibts Stress an der Reception, Pass kopieren, Formular ausfüllen, Schlüssel übergeben, Beschreibung übergeben und Weg erklären, dazu noch Voucher drucken & von Hand beschriften & kopieren....
Da dreht die Receptionistin ganz schön im Kreis und wenn wir ihr da die Arbeit erleichtern können wäre sie sicher dankbar.
Der Gast bekommt immer ein A4 Blatt überreicht, zu 15% bedruckt.
Ich hatte schon versucht einfach in der letzten Zeile den Text "Zimmernummer:" dazu zu drucken, das ändert aber am umständlichen Handling nichts.
Das Blatt muss immer noch kopiert werden und von Hand beschriftet.
Hätte es die Nummer schon im Druck müsste man nur 2 Copien drucken, das würde die Sache schon sehr vereinfachen.
Meistens checken ja viele zur selben Zeit ein und dann gibts Stress an der Reception, Pass kopieren, Formular ausfüllen, Schlüssel übergeben, Beschreibung übergeben und Weg erklären, dazu noch Voucher drucken & von Hand beschriften & kopieren....
Da dreht die Receptionistin ganz schön im Kreis und wenn wir ihr da die Arbeit erleichtern können wäre sie sicher dankbar.
OK
Also pass auf dann wird es bei Einzel-Drucken bei PDF und ESCPOS ein persönliches Feld geben. Dieses muss dann wie die anderen Variablen im Output definiert werden.
Nochmal zu der Geschichte mit den ID's. Wenn der Gast eincheckt, die Receptionistin einen Code druckt, sich die ID mit der Zimmernummer des Gastes in eine Tabelle schreibt. Dann kann sie doch theoretisch wenn der Gast anruft und mit Mühe und Not noch seine Zimmernummer herausfinden kann ;) diese der Dame am Telefon durchgeben welche wiederum über die notierte ID auf den Code kommt... Oder?
Also pass auf dann wird es bei Einzel-Drucken bei PDF und ESCPOS ein persönliches Feld geben. Dieses muss dann wie die anderen Variablen im Output definiert werden.
Nochmal zu der Geschichte mit den ID's. Wenn der Gast eincheckt, die Receptionistin einen Code druckt, sich die ID mit der Zimmernummer des Gastes in eine Tabelle schreibt. Dann kann sie doch theoretisch wenn der Gast anruft und mit Mühe und Not noch seine Zimmernummer herausfinden kann ;) diese der Dame am Telefon durchgeben welche wiederum über die notierte ID auf den Code kommt... Oder?
Hi Tassilo,
in das persöhnliche Feld kann man dann vor dem Druck etwas eintragen? Das wäre SUPER!
Ja das mit der Tabelle würde auch gehen, allerdings ist das eben noch mehr an Handling, erst die ID aus der Tabelle raussuchen dann im
CCP+ eintragen und den Voucher raussuchen. Und wenn beim eintragen Fehler gemacht werden ist der Kudelmudel fertig.
Ich meine es geht auch so aber für ein Hotel wäre die Zuordnung zum Zimmer schon super denn in manchen Hotels im Ausland
wird das Internet auch verrechnet und das geht auch nur über die Zimmernummer.
Bei dem Hotel ist es for free, so ist es nur das Handling und nicht die Abrechnung.
in das persöhnliche Feld kann man dann vor dem Druck etwas eintragen? Das wäre SUPER!
Ja das mit der Tabelle würde auch gehen, allerdings ist das eben noch mehr an Handling, erst die ID aus der Tabelle raussuchen dann im
CCP+ eintragen und den Voucher raussuchen. Und wenn beim eintragen Fehler gemacht werden ist der Kudelmudel fertig.
Ich meine es geht auch so aber für ein Hotel wäre die Zuordnung zum Zimmer schon super denn in manchen Hotels im Ausland
wird das Internet auch verrechnet und das geht auch nur über die Zimmernummer.
Bei dem Hotel ist es for free, so ist es nur das Handling und nicht die Abrechnung.
Ich hab hier auch ein kleines Problem, bin mir aber nicht mal sicher, ob das wirklich an CPplus liegt oder an meinen schlechten html Kenntnissen...
Um unseren Usern die Benutzung einfacher zu machen hab ich in der vouchers_cpp.php eine kleine Änderung vorgenommen, so das im Formular jetzt bei der Anzahl zu druckender Tickets die "1" vorausgewählt ist:
<input name="for" type="text" class="formfld unknown" size="6" value="<?=htmlspecialchars($pconfig['escpos_count']);?>1" />
leider führt das jetzt zu dem Effekt, dass bei absenden und neu laden der Seite das Feld danach nicht mit "1" sonder mit "11" gefüllt wird; achtet man dann nicht darauf und drückt den print Button hat man gleich 11 voucher, beim nächsten mal dann "111" und einen Lufschlangenwerfer...
Was muss ich da ändern, wenn es denn überhaupt funktioniert?
Um unseren Usern die Benutzung einfacher zu machen hab ich in der vouchers_cpp.php eine kleine Änderung vorgenommen, so das im Formular jetzt bei der Anzahl zu druckender Tickets die "1" vorausgewählt ist:
<input name="for" type="text" class="formfld unknown" size="6" value="<?=htmlspecialchars($pconfig['escpos_count']);?>1" />
leider führt das jetzt zu dem Effekt, dass bei absenden und neu laden der Seite das Feld danach nicht mit "1" sonder mit "11" gefüllt wird; achtet man dann nicht darauf und drückt den print Button hat man gleich 11 voucher, beim nächsten mal dann "111" und einen Lufschlangenwerfer...
Was muss ich da ändern, wenn es denn überhaupt funktioniert?
Hey,
das verhalten ist auch logisch. ;) Damit nicht jeder Benutzer in alle Felder im Falle einer Fehlermeldung die Werte erneut eingeben muss, werden diese beim Absenden "mitgeschleift". Wenn du jetzt hinter die Variable die diesen mitgeschliffenen Wert ausspuckt noch händisch etwas schreibst, summiert sich das.
Du hast erstmal zwei möglichkeiten.
1. Du schreibst nur value="1"
Oder (was eleganter wäre)
2. Du änderst oben bei zeile 63 das
in das
Was bedeutet dass beim Formularabsenden der Wert in das Feldgeschrieben wird, den der Benutzer eingegeben hat und ansonsten immer 1.
Ich werde das aber auch in die nächste Version integrieren wenn ich mal wieder zeit haben sollte
Edit: Wieso hat das input Feld eigentlich den namen "for"?
das verhalten ist auch logisch. ;) Damit nicht jeder Benutzer in alle Felder im Falle einer Fehlermeldung die Werte erneut eingeben muss, werden diese beim Absenden "mitgeschleift". Wenn du jetzt hinter die Variable die diesen mitgeschliffenen Wert ausspuckt noch händisch etwas schreibst, summiert sich das.
Du hast erstmal zwei möglichkeiten.
1. Du schreibst nur value="1"
Oder (was eleganter wäre)
2. Du änderst oben bei zeile 63 das
if ($_POST)
$pconfig = $_POST;
if ($_POST)
$pconfig = $_POST;
else
$pconfig['escpos_count'] = 1;
Was bedeutet dass beim Formularabsenden der Wert in das Feldgeschrieben wird, den der Benutzer eingegeben hat und ansonsten immer 1.
Ich werde das aber auch in die nächste Version integrieren wenn ich mal wieder zeit haben sollte
Edit: Wieso hat das input Feld eigentlich den namen "for"?
Ich hab nochmal was ganz anderes, hat nur indirekt mit CPP zu tun, aber da google unkooperativ war dachte ich mir, frag doch mal hier:
Mein "Problem" sieht folgendermaßen aus: Eigentlich kommen bei uns im Haus alle ganz gut mit dem Frontend aus, Voucher erstellen ist kein Problem. Bis auf.. ja bis auf unseren "guten Geist des Hauses". der Mann hat noch 2 Jahre bis zur Rente und 0 Ahnung von Computern, für ihn ist das alles dann doch zu hoch. Ich dachte mir, schau doch mal nach, ob man nicht irgendwie html befehle über Hardware Tasten senden kann, so 2 schöne dicke Knöpfe zum Anfassen wären doch genau das richtige... Tja, und jetzt steht ich da; sucht man im Netz nach "html mit taster steuern" bekommt man zwangsläufig auch Ergebnisse zu "taster mit html steuern", und die sind definitv in der Überzahl. Dutzende Tutorials wie ich irgendwelche Schalter über Webseiten steuern kann, aber andersrum: Nichts.
Hat hier jemand zufällig eine schlaue Idee?
Mein "Problem" sieht folgendermaßen aus: Eigentlich kommen bei uns im Haus alle ganz gut mit dem Frontend aus, Voucher erstellen ist kein Problem. Bis auf.. ja bis auf unseren "guten Geist des Hauses". der Mann hat noch 2 Jahre bis zur Rente und 0 Ahnung von Computern, für ihn ist das alles dann doch zu hoch. Ich dachte mir, schau doch mal nach, ob man nicht irgendwie html befehle über Hardware Tasten senden kann, so 2 schöne dicke Knöpfe zum Anfassen wären doch genau das richtige... Tja, und jetzt steht ich da; sucht man im Netz nach "html mit taster steuern" bekommt man zwangsläufig auch Ergebnisse zu "taster mit html steuern", und die sind definitv in der Überzahl. Dutzende Tutorials wie ich irgendwelche Schalter über Webseiten steuern kann, aber andersrum: Nichts.
Hat hier jemand zufällig eine schlaue Idee?
Guten Morgen,
ich habe eine kleine Frage. Benutze pfsense 2.2.4RELEASE und wollte gerne das CP+ installieren.
Ich habe die PHP Datei hocgeladen. Nach dem "Execute" vom "mv /tmp/cpp_install.php /usr/local/www" Command
bekomme ich folgende Fehlermeldung;
Parse error: syntax error, unexpected end of file in /usr/local/www/exec.php(250) : eval()'d code on line 1
Da ich absolut keine Ahnung habe, ob es an meiner Version, oder an meinen Fähigkeiten liegt, wäre es sehr nett, wenn mir jemand helfen könnte.
Viele Grüße
ich habe eine kleine Frage. Benutze pfsense 2.2.4RELEASE und wollte gerne das CP+ installieren.
Ich habe die PHP Datei hocgeladen. Nach dem "Execute" vom "mv /tmp/cpp_install.php /usr/local/www" Command
bekomme ich folgende Fehlermeldung;
Parse error: syntax error, unexpected end of file in /usr/local/www/exec.php(250) : eval()'d code on line 1
Da ich absolut keine Ahnung habe, ob es an meiner Version, oder an meinen Fähigkeiten liegt, wäre es sehr nett, wenn mir jemand helfen könnte.
Viele Grüße
Zitat von @Daniel.Fuhrmann:
Hallo zusammen,
ich habe noch ein Problem beim erstellen eines 7 Tage Vouchers und zwar kommt eine Fehlermeldung "The PDF service has no vouchers"
Was kann ich machen um das zu beheben?
Hallo zusammen,
ich habe noch ein Problem beim erstellen eines 7 Tage Vouchers und zwar kommt eine Fehlermeldung "The PDF service has no vouchers"
Was kann ich machen um das zu beheben?
Hallo,
erstelle eine neue "Voucher Roll Number". Am Besten die nächste Nummer verwenden (Current [Used Rolls]).
"Services/ Captive Portal Plus/ Settings".
Anschließend das TimePackage, welches keine [Used Rolls] enthält bearbeiten und anschließend speichern.
Jetzt sollte bei diesem eine Roll Number stehen.
Anschließend für dieses TimePackage über "Services/ Captive Portal Plus/ Vouchers" mind. einen Voucher erstellen.
Das wars ...
Es liegt daran, dass noch keine Voucher Rolls unter "Services/ Captive Portal/ HotSpotTicket/ Vouchers" angelegt wurde.
Grund einer Neuinstallation, welche den Startwert nicht überschreibt; und das ist auch gut so .
Erbitte ein kurzes Feedback ob es funktioniert.
Also heute hatte ich diese Meldung auch!
"The PDF service has no vouchers"
Ich habe dann nachgesehen und die hatten 702 used, 14 active und 307 ready! Trotzdem gab er keine mehr aus. Ich habe dann versucht die # of Tickets (1023) zu erhöhen aber das geht leider nicht.
Dann habe ich einfach ein neues Ticket mit Zeitraum 1440 angelegt, weder das noch ein neues mit 1441 Minuten führte zu Erfolg.
Erst dann las ich obiges und habe die Rollnumber erhöht und nun geht es wieder.
Hinter die Logik bin ich aber noch nicht durchgestiegen. Wieso gibt er kein Ticket mehr aus obwohl noch 307 frei wären?
Und irgendwo habe ich doch gelesen er nimmt selber die nächste frei Rolle wenn er sie braucht? Wieso musste ich dann von Hand höher setzen?
Könnte man irgendwie an die # of Tickets einen/zwei Nuller dran hängen? Ich habe gerne Software bei der ich nach der ersten Konfiguration nie wieder was drehen muss!
"The PDF service has no vouchers"
Ich habe dann nachgesehen und die hatten 702 used, 14 active und 307 ready! Trotzdem gab er keine mehr aus. Ich habe dann versucht die # of Tickets (1023) zu erhöhen aber das geht leider nicht.
Dann habe ich einfach ein neues Ticket mit Zeitraum 1440 angelegt, weder das noch ein neues mit 1441 Minuten führte zu Erfolg.
Erst dann las ich obiges und habe die Rollnumber erhöht und nun geht es wieder.
Hinter die Logik bin ich aber noch nicht durchgestiegen. Wieso gibt er kein Ticket mehr aus obwohl noch 307 frei wären?
Und irgendwo habe ich doch gelesen er nimmt selber die nächste frei Rolle wenn er sie braucht? Wieso musste ich dann von Hand höher setzen?
Könnte man irgendwie an die # of Tickets einen/zwei Nuller dran hängen? Ich habe gerne Software bei der ich nach der ersten Konfiguration nie wieder was drehen muss!
Wieso gibt er kein Ticket mehr aus obwohl noch 307 frei wären?
Das hat rein was mit der Druckererweiterung zu tun.Wenn du das Ticket manuell ausliest und am Client eintippst funktioniert es. Vielleicht hat sich das Package einfach verschluckt oder noch ein Problem nach dem Update auf 2.3.x.
Nimm sonst den Voucherserver und machs mit SMS
Voucher für pfSense online verwalten und optional Voucher per SMS verschicken
Wäre aber komisch denn die Tickets für 12 Stunden gingen ohne Probleme zu drucken, nur die 24 Stunden gingen nicht mehr und es half auch nicht eine neue Ticketkategorie (1440 & 1441 & 1450) zu erstellen. Die waren zwar im CPP dann da aber im Captive Portal hat er die Kategorie nicht angelegt?
Ich bin noch auf 2.2.6 und bleibe da solange bis das CPP-Paket offiziell für 2.3.x freigegeben ist!
SMS kann ich nicht gebrauchen, als Stadthotel hat man dauernd wechselnde Gäste und die kommen von überall her, da würde es zu oft Probleme mit geben ein SMS auf deren Nummern zu senden und die Fehlersuche bei einem GSM-Provider in China erspare ich mir lieber!
Bisher lief es gut und störungsfrei, nur die Sache jetzt macht mich nervös denn entweder ist die Doku und auch die Anzeige (used, active & ready) falsch oder ich habe es nicht richtig verstanden?
Ich bin noch auf 2.2.6 und bleibe da solange bis das CPP-Paket offiziell für 2.3.x freigegeben ist!
SMS kann ich nicht gebrauchen, als Stadthotel hat man dauernd wechselnde Gäste und die kommen von überall her, da würde es zu oft Probleme mit geben ein SMS auf deren Nummern zu senden und die Fehlersuche bei einem GSM-Provider in China erspare ich mir lieber!
Bisher lief es gut und störungsfrei, nur die Sache jetzt macht mich nervös denn entweder ist die Doku und auch die Anzeige (used, active & ready) falsch oder ich habe es nicht richtig verstanden?
Konnte den Menülink durch Anpassung der cpp_install.php erstellen lassen.
Nun scheiterts aber beim Plus Portal .. Sieht leider ganz und gar nicht so aus wie es sein wollte, komme da aber momentan auch nicht weiter ..
Jemand eine Idee ?
Falls jemand Interesse an der cpp_install.php hat:
Nun scheiterts aber beim Plus Portal .. Sieht leider ganz und gar nicht so aus wie es sein wollte, komme da aber momentan auch nicht weiter ..
Jemand eine Idee ?
Falls jemand Interesse an der cpp_install.php hat:
<?php
require("guiconfig.inc");
require("functions.inc");
$cpp_dir = "/usr/local/www/packages/cpp";
$file_list = array("vouchers_cpp.php","users_cpp.php","settings_cpp.php","index_cpp.php","include_cpp.inc","fpdf.php","escpos.php","helvetica.php","helveticab.php","helveticabi.php","helveticai.php","pdf.png","escpos.png","config.xml","cpp_priv.inc");
$menu_link_before = '$services_menu = array(gettext("Captive Portal"), "/services_captiveportal.php");';
$menu_link_cpp = '$services_menu = array(gettext("Captive Portal Plus"), "/packages/cpp/index_cpp.php");';
if ($_POST['upload']) {
conf_mount_rw();
if (!file_exists($cpp_dir)) {
if (@mkdir("/usr/local/www/packages", 0755) OR file_exists("/usr/local/www/packages")) {
if (!@mkdir("/usr/local/www/packages/cpp", 0755))
$input_errors = gettext("Cannot create folder ".$cpp_dir);
}
else
$input_errors = gettext("Cannot create folder ".$cpp_dir);
}
for ($i = 0; $i < count($_FILES['files']['name']); $i++) {
if ($_FILES['files']['tmp_name'][$i] != ""){
if (in_array($_FILES['files']['name'][$i], $file_list)) {
if ($_FILES['files']['name'][$i] == "cpp_priv.inc")
$new = "/etc/inc/priv/".$_FILES['files']['name'][$i];
else
$new = $cpp_dir."/".$_FILES['files']['name'][$i];
if(!@move_uploaded_file($_FILES['files']['tmp_name'][$i], $new))
$input_errors = gettext("Cannot upload file to ".$new);
}
}
else
$input_errors = gettext("Please selecet a file on your computer.");
}
conf_mount_ro();
}
if ($_POST['menu_link']) {
conf_mount_rw();
if ($file_fbegin = @file("/usr/local/www/head.inc")) {
foreach ($file_fbegin as $line) {
if (strpos($line, $menu_link_cpp) !== false) {
$menu_link_cpp_line = true;
break;
}
}
if (!isset($menu_link_cpp_line)) {
$i = 0;
foreach ($file_fbegin as $line) {
if (strpos($line, $menu_link_before) !== false) {
$menu_link_before_line = $i;
break;
}
$i++;
}
if (isset($menu_link_before_line)) {
array_splice($file_fbegin, $menu_link_before_line+1, 0, $menu_link_cpp."\n");
$file_fbegin_string = implode("", $file_fbegin);
if (@file_put_contents("/usr/local/www/head.inc", $file_fbegin_string))
$menu_link_created = true;
else
$errormsg = gettext("Cannot write the menu code line. Please insert the menu link manually.");
}
else
$errormsg = gettext("Cannot find the correct line in head.inc. Please insert the menu link manually.");
}
else
$errormsg = gettext("Menu link already exists.");
}
else
$errormsg = gettext("Cannot read the head.inc file.");
conf_mount_ro();
}
$pgtitle = array(gettext("Captive Portal Plus Installation"));
$g['help_base_url'] = "http://cpp-help.tassilo.net/#";
include("head.inc");
?>
<body link="#000000" vlink="#000000" alink="#000000" onload="show_fields(); <?= $jsevents["body"]["onload"] ?>">
<?php include("fbegin.inc"); ?>
<?php
if ($input_errors)
print_input_errors($input_errors);
if ($savemsg OR $errormsg)
print_info_box($savemsg.$errormsg);
?>
<p>Required files: (<span style="color: red;">RED</span> = not found, <span style="color: green;">GREEN</span> = found)</p>
<?php
foreach ($file_list as $file) {
if ($file == "cpp_priv.inc") $dir = "/etc/inc/priv";
else $dir = $cpp_dir;
if (file_exists($dir."/".$file)) $color = "green";
else $color = "red";
?>
<span style="color: <?=$color;?>;"><?=$dir."/".$file;?></span><br />
<?
}
?>
<h3>1. Upload all files from the downloaded .zip file.</h3>
<p>(You can upload multiple files.)</p>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="files" multiple="multiple">
<input type="submit" name="upload" value="Upload">
</form>
<h3>2. Generate the menu link.</h3>
<form action="" method="post" enctype="multipart/form-data">
<input type="submit" name="menu_link" value="Generate">
<?php if ($menu_link_created): ?>
<span style="color: green;">Generated!</span>
<? endif; ?>
</form>
<h3>3. Install done. :-)</h3>
<p>Klick on the CP+ menu link to delete the installation file.</p>
<?php include("fend.inc");?>
</body>
</html>
Klar, ... wenn DU noch etwas fidnest, freute ich mich über eine VErbsserung, bzw. einen Hinweis.
Hier hast Du:
CaptivePortal Anpassung
Hier hast Du:
CaptivePortal Anpassung
Zitat von @LittleJohn999:
Klar, ... wenn DU noch etwas fidnest, freute ich mich über eine VErbsserung, bzw. einen Hinweis.
Hier hast Du:
CaptivePortal Anpassung
Klar, ... wenn DU noch etwas fidnest, freute ich mich über eine VErbsserung, bzw. einen Hinweis.
Hier hast Du:
CaptivePortal Anpassung
Danke dir !
Werd mich jetzt mal ransetzen und mir das anschauen
Soo Kinders
Leider muss ich euch mitteilen, dass ich aktuell und auch nicht in absehbarer Zeit an dem Projekt weiter entwickeln werde.
Setze auch lieber aktuell auf Mikrotik.
Ich hab immer gehofft dass ich dafür noch Zeit finden werde aber da ich es auch selber nicht mehr benötige fehlt mir leider einfach die Energie.
Gerne kann das aber jemand übernhemen
Leider muss ich euch mitteilen, dass ich aktuell und auch nicht in absehbarer Zeit an dem Projekt weiter entwickeln werde.
Setze auch lieber aktuell auf Mikrotik.
Ich hab immer gehofft dass ich dafür noch Zeit finden werde aber da ich es auch selber nicht mehr benötige fehlt mir leider einfach die Energie.
Gerne kann das aber jemand übernhemen
Setze auch lieber aktuell auf Mikrotik.
Das hat aber leider keine so schöne CP Lösung und auch keine solche gute Einmalpasswort Verwaltung. Bzw. gar keine. Leider.Aber egal...es gibt ja auch immer noch die Browser oder SMS Lösung vom Kollegen eagle2
Voucher für pfSense online verwalten und optional Voucher per SMS verschicken
So hab nun ein kleines PRoblem festgestellt ..
Hatte das CPP auf das neue pfSense Design komplett angepasst .. leider musste ich dann feststellen, dass die Voucher Generierung irgendwie nicht funktional ist ..
Scheint aber allgemein am CPP zu liegen, habe auch mit den Dateien von LittleJohn999 keinen Erfolg bei der Vouchergenerierung gehabt ..
Habe bei mir zwei Time packages zum testen erstellt, einmal 1 Stunde und einmal 24 Stunden.
Beide Time packages können jeweils nur einen Roll erstellen, welcher dann 1023 Tickets enthält ..
Das ist natürlich nicht Sinn der Sache.
Wie die Zahl 1023 zu Stande kommt kann ich mir auch noch nicht erklären..
Liegt das nur an mir oder habt ihr auch ein Problem damit ?
MfG Chris
EDIT:
1023 findet man in include_cpp.inc ..
Blicke jetzt irgendwie gar nicht mehr durch ..
Erstellt der direkt 1023 Tickets und nimmt dann immer nur noch Tickets aus der Roll raus solange welche vorhanden sind ?
Hatte das CPP auf das neue pfSense Design komplett angepasst .. leider musste ich dann feststellen, dass die Voucher Generierung irgendwie nicht funktional ist ..
Scheint aber allgemein am CPP zu liegen, habe auch mit den Dateien von LittleJohn999 keinen Erfolg bei der Vouchergenerierung gehabt ..
Habe bei mir zwei Time packages zum testen erstellt, einmal 1 Stunde und einmal 24 Stunden.
Beide Time packages können jeweils nur einen Roll erstellen, welcher dann 1023 Tickets enthält ..
Das ist natürlich nicht Sinn der Sache.
Wie die Zahl 1023 zu Stande kommt kann ich mir auch noch nicht erklären..
Liegt das nur an mir oder habt ihr auch ein Problem damit ?
MfG Chris
EDIT:
1023 findet man in include_cpp.inc ..
Blicke jetzt irgendwie gar nicht mehr durch ..
Erstellt der direkt 1023 Tickets und nimmt dann immer nur noch Tickets aus der Roll raus solange welche vorhanden sind ?
Hallo
ich wollte mir CPP installieren aber bin dabei auf ein Problem gestoßen.
Bei der Installation von Captive Portal Plus zur Voucher Erzeugung, bekomme ich am Punkt 2. "Generate the menu link" die Meldung:
"cannot find the correct line in fbegin.inc. please insert the menu link manually"
Ich hab bisher gelesen, dass die automatische Erzeugung nicht mehr geht. Aber wie mache ich denn das mit dem Link manuell erstellen?
Gruß
Siggi
ich wollte mir CPP installieren aber bin dabei auf ein Problem gestoßen.
Bei der Installation von Captive Portal Plus zur Voucher Erzeugung, bekomme ich am Punkt 2. "Generate the menu link" die Meldung:
"cannot find the correct line in fbegin.inc. please insert the menu link manually"
Ich hab bisher gelesen, dass die automatische Erzeugung nicht mehr geht. Aber wie mache ich denn das mit dem Link manuell erstellen?
Gruß
Siggi
wenn es noch jemanden interessiert, ich habe ein kleines Java Programm geschrieben.
Das per rpc die Voucher holt und danach drucken kann. Die Free Version
hat 2 Einschränkungen aber ich denke damit kann der Home User leben.
Vorteile
Keine Änderungen ander pfsense die Voucher werden als Kopie in einer lokalen DB gespeichert.
Läuft auf Windows und Mac
Vorlage als PDF anpassbar
einfach mal testen, nicht auf die Form achten ist halt schnell gemacht :D
@lukas.zone
Das per rpc die Voucher holt und danach drucken kann. Die Free Version
hat 2 Einschränkungen aber ich denke damit kann der Home User leben.
Vorteile
Keine Änderungen ander pfsense die Voucher werden als Kopie in einer lokalen DB gespeichert.
Läuft auf Windows und Mac
Vorlage als PDF anpassbar
einfach mal testen, nicht auf die Form achten ist halt schnell gemacht :D
@lukas.zone
Das ist IMMER interessant. Ein Gäste CP ist eine wichtige Anwendung.
Änderungen muss man bei der Web basierten Lösung:
Voucher für pfSense online verwalten und optional Voucher per SMS verschicken
aber auch nicht an der pfSense machen und die dort integrierte SMS Lösung für Gäste mit Kurzzeit Voucher (30min o.ä) ist natürlich legendär
Wenn du dann nur noch die Güte hättest uns mitzuteilen wo man dieses kleine Java Programm denn herunterladen kann ?
Jetzt wo wir alle neugierig geworden sind !!
Änderungen muss man bei der Web basierten Lösung:
Voucher für pfSense online verwalten und optional Voucher per SMS verschicken
aber auch nicht an der pfSense machen und die dort integrierte SMS Lösung für Gäste mit Kurzzeit Voucher (30min o.ä) ist natürlich legendär
Wenn du dann nur noch die Güte hättest uns mitzuteilen wo man dieses kleine Java Programm denn herunterladen kann ?
Jetzt wo wir alle neugierig geworden sind !!
Ich bin gerade noch dabei die Binary Implementierung der Funktionen direkt als Windows exe kommandline
an den c code für Windows anzupassen. Die Erzeugung von Vouchers ohne den Router nur mit den Private Key funktioniert bereits problemlos.
Ich muss jetzt nur noch eine dll daraus machen und das ganze über JNI Interface von laden ich denke ich brauche da noch bis nach dem Urlaub für
wenn jemand die Binary für die Key Erzeugung testen möchte dann soll er sich melden.
an den c code für Windows anzupassen. Die Erzeugung von Vouchers ohne den Router nur mit den Private Key funktioniert bereits problemlos.
Ich muss jetzt nur noch eine dll daraus machen und das ganze über JNI Interface von laden ich denke ich brauche da noch bis nach dem Urlaub für
wenn jemand die Binary für die Key Erzeugung testen möchte dann soll er sich melden.
Irgendwie kann man dir nicht mehr folgen...?!
Ein Captive Portal ist in der Regel immer offen, hat also keinerlei Keys oder Private Key. Warum also selbige ??
Die Voucher werden von der pfSense CP Funktion erzeugt sind also in der pfSense verankert. Wie sollte man die also ohne Zugriff auf die pfSense verwalten ?!
Irgendwie ist es technisch jetzt recht undurchsichtig geworden was deinen SW da so macht...
Ein Captive Portal ist in der Regel immer offen, hat also keinerlei Keys oder Private Key. Warum also selbige ??
Die Voucher werden von der pfSense CP Funktion erzeugt sind also in der pfSense verankert. Wie sollte man die also ohne Zugriff auf die pfSense verwalten ?!
Irgendwie ist es technisch jetzt recht undurchsichtig geworden was deinen SW da so macht...
Ich denke dann fehlen Dir da noch ein paar Infos.
Beim anlegen einer Zone im Captive Portal wird ein Schüsselpaar erzeugt das kann man auch einsehen
unter ServicesCaptive Portal Private Vouchers dort steht der private Key und der Public Key für
die Tickets die erzeugt werden. Hat man den Schlüssel und weiss man wie der Algorithmus funktioniert,
benötigt man im Grunde genommen die Pfsense nicht mehr zum erzeugen der Vouchers. Es ist nur wichtig das die Rolle eingetragen ist die die Software verwenden soll und die Anzahl der zu erzeugenden Tickets übereinstimmt. Sowie das Schlüsselpaar bekannt ist.
letztendlich kommt nach der RSA Verschlüsselung(von mehreren Werten) ein 64 Bit wert heraus der noch über die Charset Funktion
lesbar für den Benutzer gemacht wird. Der Router nimmt den Code wandelt das Charset wieder in einen 64 Bit wert entschlüssel diesen und
prüft dann mittels der Rolle und ID, ob der Schlüssel valid ist, abschließend schaut der Router nur noch ob das Ticket bereits benutzt wurde dazu gibt es eine Berkly DB auf dem Router in der das vermerkt ist used.db danach trägt er den Index noch in die active DB ein.
Meine Software derzeitig erzeugt die Voucher noch per RPC auf dem Router und überträgte diese dann an die Software
die diese verwaltet.
Die neue Version braucht das nicht mehr, die neue Version wird nur noch die Rolle und die Anzahl der Tickets benötigen die
von der Software dann erzeugt werden.
Das ganze basiert im Prinzip auf einer simplen RSA Verschlüsselung mit 64Bit wobei die Paddings entfernet werden. Es ist nicht zwingend der Router erforderlich.
Beim anlegen einer Zone im Captive Portal wird ein Schüsselpaar erzeugt das kann man auch einsehen
unter ServicesCaptive Portal Private Vouchers dort steht der private Key und der Public Key für
die Tickets die erzeugt werden. Hat man den Schlüssel und weiss man wie der Algorithmus funktioniert,
benötigt man im Grunde genommen die Pfsense nicht mehr zum erzeugen der Vouchers. Es ist nur wichtig das die Rolle eingetragen ist die die Software verwenden soll und die Anzahl der zu erzeugenden Tickets übereinstimmt. Sowie das Schlüsselpaar bekannt ist.
letztendlich kommt nach der RSA Verschlüsselung(von mehreren Werten) ein 64 Bit wert heraus der noch über die Charset Funktion
lesbar für den Benutzer gemacht wird. Der Router nimmt den Code wandelt das Charset wieder in einen 64 Bit wert entschlüssel diesen und
prüft dann mittels der Rolle und ID, ob der Schlüssel valid ist, abschließend schaut der Router nur noch ob das Ticket bereits benutzt wurde dazu gibt es eine Berkly DB auf dem Router in der das vermerkt ist used.db danach trägt er den Index noch in die active DB ein.
Meine Software derzeitig erzeugt die Voucher noch per RPC auf dem Router und überträgte diese dann an die Software
die diese verwaltet.
Die neue Version braucht das nicht mehr, die neue Version wird nur noch die Rolle und die Anzahl der Tickets benötigen die
von der Software dann erzeugt werden.
Das ganze basiert im Prinzip auf einer simplen RSA Verschlüsselung mit 64Bit wobei die Paddings entfernet werden. Es ist nicht zwingend der Router erforderlich.
Hi,
hier ist ja schon länger nichts mehr passiert.
Der oben genannte Fehler "cannot find the correct line in fbegin.inc. please insert the menu link manually" kommt bei mir auch (pfsense 2.4.4), aber es gibt hier keine Lösung. Was da jemand weiter?
Oder gibts inzwischen bessere Lösungen für die Pflege/Ausdrucken der Voucher direkt auf der pfSense?
hier ist ja schon länger nichts mehr passiert.
Der oben genannte Fehler "cannot find the correct line in fbegin.inc. please insert the menu link manually" kommt bei mir auch (pfsense 2.4.4), aber es gibt hier keine Lösung. Was da jemand weiter?
Oder gibts inzwischen bessere Lösungen für die Pflege/Ausdrucken der Voucher direkt auf der pfSense?
aber dazu ist extra Hardware nötig.
Na ja ein Orange Pi Zero der das macht hat gerade mal die Größe von 2 Streichholzschachteln und mit der Stromversorgung (USB Kabel) steckst du ihn ganz einfach an eins der 2 USB Port der pfSense (APU).Fertig ist der Lack. Eigentlich eine Lachnummer. Aber es gibt ja bekanntlich immer mehrere Wege nach Rom !
https://www.amazon.de/Ils-1-orange-Development-Expansion-Schwarzer/dp/B0 ...
https://www.ebay.de/itm/3-in-1-Orange-Pi-Zero-512MB-Development-Board-Ex ...
Abgesehen davon wäre die pfSense Extension oben vom Kollegen @LittleJohn999 natürlich generell interessant.
Hallo,
hier einmal die Dateien in ZIP Format CaptivePortalPLus
Die Installation ist wie oben zu bewerkstelligen.
Lasst mich bitte wissen, ob es so wie gewünscht, funktioniert.
hier einmal die Dateien in ZIP Format CaptivePortalPLus
Die Installation ist wie oben zu bewerkstelligen.
Lasst mich bitte wissen, ob es so wie gewünscht, funktioniert.
Hallo liebes Forum.
Habe gerade die Installation auf pf 2.4.4 mit den Daten aus dem aktuellen Zip Archiv (2 Beiträge über diesem Post) probiert - Probiert wohlgemerkt, denn es kommt beim Generieren des Menüpunkts nach wie vor immer noch die Fehlermeldung: Cannot read the fbegin.inc file.
Jemand eine Idee?
Habe gerade die Installation auf pf 2.4.4 mit den Daten aus dem aktuellen Zip Archiv (2 Beiträge über diesem Post) probiert - Probiert wohlgemerkt, denn es kommt beim Generieren des Menüpunkts nach wie vor immer noch die Fehlermeldung: Cannot read the fbegin.inc file.
Jemand eine Idee?
super danke LittleJohn999. Die Installation klappt nun ohne Fehler.
Allerdings funktionieren die Hauptmavigationspunkte von pfsense oben nicht, wenn ich mich innerhalb des Seiten von Captive Portal Plus befinde. Bug oder Feature?
Um beim Generieren der Tickets erhalte ich auch den Fehler: The PDF service has no vouchers. Obwohl Time Packages und Output konfiguriert sind.
Allerdings funktionieren die Hauptmavigationspunkte von pfsense oben nicht, wenn ich mich innerhalb des Seiten von Captive Portal Plus befinde. Bug oder Feature?
Um beim Generieren der Tickets erhalte ich auch den Fehler: The PDF service has no vouchers. Obwohl Time Packages und Output konfiguriert sind.
Hallo,
ich habe versucht die Probleme nachzustellen.
Der Fehler bei der Hauptnavigation triit bei mir auch auf - ist mir vorher nie aufgefallen; läuft beri mir ja auch recht lange sehr stabil.
Selbst ein Hardwreupgrade machte keine Probleme.
Den Fehler des Erzeugens von vouchern konnte ich nicht wirklich nachstellen.
Wurde denn auch das pdf richtig konfiguriert 😐? Bitte nicht böse wegen der Frage sein.
Schick mir einfach mal deine config zu, wenn Du magst.
Schaue dann mal drüber', vielleicht fällt mir etwas auf.
VG
Patrick
ich habe versucht die Probleme nachzustellen.
Der Fehler bei der Hauptnavigation triit bei mir auch auf - ist mir vorher nie aufgefallen; läuft beri mir ja auch recht lange sehr stabil.
Selbst ein Hardwreupgrade machte keine Probleme.
Den Fehler des Erzeugens von vouchern konnte ich nicht wirklich nachstellen.
Wurde denn auch das pdf richtig konfiguriert 😐? Bitte nicht böse wegen der Frage sein.
Schick mir einfach mal deine config zu, wenn Du magst.
Schaue dann mal drüber', vielleicht fällt mir etwas auf.
VG
Patrick
Hallo, Von der PF sense ist ja die Version 2.7 verfügbar, leider läuft das CP Plus Portal nach dem Update auf 2.7 nicht mehr.
Ich bekomme da folgende Fehlermeldung:
[15-Oct-2023 10:43:27 Europe/Berlin] PHP Fatal error: Cannot redeclare get_captive_portal_logo() (previously declared in /etc/inc/captiveportal.inc:46) in /etc/inc/captiveportal.inc on line 46
[15-Oct-2023 10:45:46 Europe/Berlin] PHP Fatal error: Cannot redeclare get_captive_portal_logo() (previously declared in /etc/inc/captiveportal.inc:46) in /etc/inc/captiveportal.inc on line 46
Vielleicht kann mir da ja einer der Spezialisten hier weiterhelfen.
Vielen Dank
Ich bekomme da folgende Fehlermeldung:
[15-Oct-2023 10:43:27 Europe/Berlin] PHP Fatal error: Cannot redeclare get_captive_portal_logo() (previously declared in /etc/inc/captiveportal.inc:46) in /etc/inc/captiveportal.inc on line 46
[15-Oct-2023 10:45:46 Europe/Berlin] PHP Fatal error: Cannot redeclare get_captive_portal_logo() (previously declared in /etc/inc/captiveportal.inc:46) in /etc/inc/captiveportal.inc on line 46
Vielleicht kann mir da ja einer der Spezialisten hier weiterhelfen.
Vielen Dank
Die Fehlermeldung des CP+ mit den neueren PF Sense Versionen hat mir keine Ruhe gelassen, da ich die Lösung mit dem direkten Vocherdruck auf einem "Bon Drucker" für mich auch die praktikabelste Lösung ist, habe ich mich damit nochmal auseinandergesetzt.
Nach einigem rumprobieren bin ich mehr durch Zufall auf die Lösung gestoßen.
In den alteren Versionen wird das Captivportal über den Befehl require("captiveportal.inc"); definiert.
In den neueren Versionen muss der Aufruf jedoch require_once("captiveportal.inc"); heissen.
Wenn dieser Aufruf entsprechend in der settings_cpp.php und in der vochers_cpp.php geändert wird. läuft das CP+ Portal bei mir wieder.
Eventuell kann es ja von den Usern hier im Forum ebenfalls ausprobiert werden.
Wenn es bei anderen Nutzern auch so läuft, könnten die Anderungen in den Download Ordner eingefügt werden
Nach einigem rumprobieren bin ich mehr durch Zufall auf die Lösung gestoßen.
In den alteren Versionen wird das Captivportal über den Befehl require("captiveportal.inc"); definiert.
In den neueren Versionen muss der Aufruf jedoch require_once("captiveportal.inc"); heissen.
Wenn dieser Aufruf entsprechend in der settings_cpp.php und in der vochers_cpp.php geändert wird. läuft das CP+ Portal bei mir wieder.
Eventuell kann es ja von den Usern hier im Forum ebenfalls ausprobiert werden.
Wenn es bei anderen Nutzern auch so läuft, könnten die Anderungen in den Download Ordner eingefügt werden
Hallo,
Leider muss ich meine Aussage das die CP Plus läuft zurücknehmen.
Der Fehler beim Starten ist behoben, leider erstellt sie keine Voucher und wenn die Voucher zum Drucken eingerichtet werden stürzt das CP Plus mit diversen Fehlermeldungen ab.
Es scheinen da noch mehr Probleme durch den Umstieg auf PHP 8 entstanden zu sein.
Leider muss ich meine Aussage das die CP Plus läuft zurücknehmen.
Der Fehler beim Starten ist behoben, leider erstellt sie keine Voucher und wenn die Voucher zum Drucken eingerichtet werden stürzt das CP Plus mit diversen Fehlermeldungen ab.
Es scheinen da noch mehr Probleme durch den Umstieg auf PHP 8 entstanden zu sein.