OSCam - WebIF Picons

Officer
IPC Neuling
Beiträge: 17
Registriert: Mo 30. Jan 2012, 13:54
Kontaktdaten:

OSCam - WebIF Picons

Beitrag von Officer »

Hi,

seit neuestem kann man sich auch im OScam-WebIF Picons anzeigen lassen. Da ich mich nicht mit fremden Federn schmücken möchte, verweise ich für eine Anleitung auf den Thread im Streamboard-Forum:

http://streamboard.gmc.to/wbb2/thread.p ... adid=34240

Sieht ganz nett aus:

Bild
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: OSCam - WebIF Picons

Beitrag von feissmaik »

Danke Officer :)

Zusammenfassend:

1. OScam Binary ab 1.20 svn 6645 laden
2. Picon-template-dateien in /var/etc/picon/ ablegen (das verzeichniss muss existieren)
3. In die oscam.conf diese beiden Zeilen in [webif] aufnehmen

Code: Alles auswählen

httpshowpicons = 1
httptpl = /var/etc/picon
4. OScam Restarten
5. das OScam WebIf mit folgender url aufrufen: savetemplates.html
6. die beiden template Dateien aus dem Anhang mit den vorhandenen überschreiben
7. Unter den Reiter USERS gucken...


Soweit ich das bisher beurteilen kann, muss man wenn man eigene Bilder als Picon nutzen möchte folgende Zeile in der Konsole in dem verzeichniss wo die *.png Bilder liegen eingeben:

Code: Alles auswählen

for file in `find . -maxdepth 1 -type f`; do mime=${file##*.}; if [ "$mime"="jpg" ]; then mime="jpeg"; fi; tmp=`base64 "$file" | tr -d '\n'`; echo "data:image/$mime;base64,"$tmp > ${file%.*}.tpl; done;
dann werden diese entsprechend umgewandelt
oder

Code: Alles auswählen

caid=0963; for file in `find . -maxdepth 1 -type f`; do mime=${file##*.}; if [ "$mime" == "jpg" ]; then mime="jpeg"; fi; sid=`echo $file | cut -d '_' -f 4`; out=`printf "IC_%s_%04x.tpl" $caid 0x$sid 2>/dev/null`; if [ "$?" -eq "0" ]; then echo -n "data:image/$mime;base64," > $out; base64 "$file" | tr -d '\n' >> $out; fi; done;
was genau werde ich später noch testen...

Um die Grösse der Picon's zu ändern muss in dem *.css file folgendes angepasst werden:

Code: Alles auswählen

img.clientpicon{height:40px;width:80px;}
Dateianhänge
picon_template.zip
beinhaltet angepasste USERCONFIGLIST.tpl und USERCONFIGLISTBIT.tpl
(1.57 KiB) 300-mal heruntergeladen
Du musst nicht kämpfen um zu siegen
Brinki
IPC Neuling
Beiträge: 6
Registriert: Mi 14. Sep 2011, 03:39
Kontaktdaten:

Re: OSCam - WebIF Picons

Beitrag von Brinki »

moin wo kommen denn die tpl dateien in ??
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: OSCam - WebIF Picons

Beitrag von feissmaik »

Nachdem du "httptpl = /var/etc/picon" in oscam.conf eingetragen/aktiviert und die "savetemplates.html" url aufgerufen hast werden die ganzen templates in dem tpl ordner gespeichert, dort liegen dann auch die beiden Dateien die du überschreiben/anpassen musst. Dadurch könntest du wenn gewollt das komplette OScam WebIf umschreiben etc
Du musst nicht kämpfen um zu siegen
Officer
IPC Neuling
Beiträge: 17
Registriert: Mo 30. Jan 2012, 13:54
Kontaktdaten:

Re: OSCam - WebIF Picons

Beitrag von Officer »

Das einzig blöde ist, dass man nicht mehr auf der letzten stable bleiben kann. Bin deshalb auf die 1.20 Build 6654 gewechselt. Naja, noch läufts stabil!!

Ich hätte die Picons noch gerne direkt vorne auf der Status-Seite!!

Man müsste doch eigentlich nur bei CurrentChannel anstatt des Namen das Picon anzeigen lassen. Und falls kein passendes Picon da wäre, sollte wieder der Name dort stehen.

Müsste doch irgendwie gehen... ?
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: OSCam - WebIF Picons

Beitrag von feissmaik »

selbst die letzte unstable läuft zwar aber mein Hadu und lokales vm-test-linux können nicht mehr connecten - ohne etwas an den configs zu ändern... soviel zu unstable :?

timeline hat auch einen Patch gepostet allerdings ist der für die unstable - bin noch nicht dazu gekommen den für die Stable um zu mogeln, sollte aber denk ich möglich sein...
Spoiler
Show

Code: Alles auswählen

Index: globals.h
===================================================================
--- globals.h	(revision 6643)
+++ globals.h	(working copy)
@@ -1497,6 +1497,7 @@
 	char			http_script[128];
 	int32_t			http_refresh;
 	int8_t			http_hide_idle_clients;
+	int8_t			http_showpicons;
 	struct s_ip 	*http_allowed;
 	int8_t			http_readonly;
 	in_addr_t		http_dynip[MAX_HTTP_DYNDNS];
Index: oscam-config.c
===================================================================
--- oscam-config.c	(revision 6643)
+++ oscam-config.c	(working copy)
@@ -976,6 +976,11 @@
 		return;
 	}
 
+	if (!strcmp(token, "httpshowpicons")) {
+		cfg.http_showpicons = strToIntVal(value, 0);
+		return;
+	}
+
 	if (!strcmp(token, "httpallowed")) {
 		if(strlen(value) == 0) {
 			clear_sip(&cfg.http_allowed);
@@ -2564,6 +2569,8 @@
 		}
 		if(cfg.http_hide_idle_clients || cfg.http_full_cfg)
 			fprintf_conf(f, "httphideidleclients", "%d\n", cfg.http_hide_idle_clients);
+		if(cfg.http_showpicons || cfg.http_full_cfg)
+			fprintf_conf(f, "httpshowpicons", "%d\n", cfg.http_showpicons);
 		if(cfg.http_readonly || cfg.http_full_cfg)
 			fprintf_conf(f, "httpreadonly", "%d\n", cfg.http_readonly);
 		if(cfg.http_full_cfg)
Index: oscam-http.c
===================================================================
--- oscam-http.c	(revision 6643)
+++ oscam-http.c	(working copy)
@@ -726,6 +726,7 @@
 	tpl_addVar(vars, TPLADD, "HTTPJSCRIPT", cfg.http_jscript);
 
 	if (cfg.http_hide_idle_clients > 0) tpl_addVar(vars, TPLADD, "CHECKED", "checked");
+	if (cfg.http_showpicons > 0) tpl_addVar(vars, TPLADD, "SHOWPICONSCHECKED", "checked");
 
 	char *value = mk_t_iprange(cfg.mon_allowed);
 	tpl_addVar(vars, TPLADD, "NOCRYPT", value);
@@ -2261,6 +2262,8 @@
 	int32_t casc_users = 0;
 	int32_t casc_users2 = 0;
 
+	if (cfg.http_showpicons) tpl_addVar(vars, TPLADD, "PICONHEADER", "<TH>Image</TH>");
+
 	for (account=cfg.account; (account); account=account->next) {
 		//clear for next client
 		total_users++;
@@ -2275,6 +2278,11 @@
 		tpl_addVar(vars, TPLADD, "CLIENTSRVID", "");
 		tpl_addVar(vars, TPLADD, "CLIENTPICON", "");
 
+		if (cfg.http_showpicons) {
+			tpl_addVar(vars, TPLADD, "PICONCOLUMNSTART", "<TD>");
+			tpl_addVar(vars, TPLADD, "PICONCOLUMNEND", "</TD>");
+		}
+
 		if(account->expirationdate && account->expirationdate < now) {
 			expired = " (expired)";
 			classname = "expired";
@@ -2386,9 +2394,12 @@
 				if(latestclient){
 					tpl_printf(vars, TPLADD, "CLIENTCAID", "%04X", latestclient->last_caid);
 					tpl_printf(vars, TPLADD, "CLIENTSRVID", "%04X", latestclient->last_srvid);
-					tpl_printf(vars, TPLADD, "CLIENTPICON", "<img class=\"clientpicon\" src=\"image?i=IC_%04X_%04X\">",
+
+					if (cfg.http_showpicons) {
+						tpl_printf(vars, TPLADD, "CLIENTPICON", "<img class=\"clientpicon\" src=\"image?i=IC_%04X_%04X\">",
 																latestclient->last_caid,
 																latestclient->last_srvid);
+					}
 				}
 
 			} else {
Index: oscam-http.h
===================================================================
--- oscam-http.h	(revision 6643)
+++ oscam-http.h	(working copy)
@@ -818,6 +818,7 @@
 			<TH>Address</TH>\n\
 			<TH>Protocol</TH>\n\
 			<TH>Last Channel</TH>\n\
+			##PICONHEADER##\n\
 			<TH>Time on Channel</TH>\n\
 			<TH>Idle</TH>\n\
 			<TH TITLE=\"Delivered ECM with status OK\">OK</TH>\n\
@@ -888,6 +889,7 @@
 			<TD class=\"centered\">##CLIENTIP##</TD>\n\
 			<TD class=\"centered\"><SPAN TITLE=\"##CLIENTPROTOTITLE##\">##CLIENTPROTO##</SPAN></TD>\n\
 			<TD class=\"centered\">##LASTCHANNEL##</TD>\n\
+			##PICONCOLUMNSTART####CLIENTPICON####PICONCOLUMNEND##\n\
 			<TD class=\"centered\" title=\"##CLIENTTIMETOSLEEP##\">##CLIENTTIMEONCHANNEL##</TD>\n\
 			<TD class=\"centered\">##IDLESECS##</TD>\n\
 			<TD class=\"centered\">##CWOK##</TD>\n\
@@ -1638,6 +1640,7 @@
 		<input name=\"part\" type=\"hidden\" value=\"monitor\">\n\
 		<input name=\"action\" type=\"hidden\" value=\"execute\">\n\
 		<input name=\"httphideidleclients\" type=\"hidden\" value=\"0\">\n\
+		<input name=\"httpshowpicons\" type=\"hidden\" value=\"0\">\n\
 		<input name=\"appendchaninfo\" type=\"hidden\" value=\"0\">\n\
 		<TABLE class=\"config\">\n\
 			<TR><TH COLSPAN=\"2\">Edit Monitor Config</TH></TR>\n\
@@ -1675,6 +1678,7 @@
 			<TR><TD>##TPLHELPPREFIX##conf#httptpl##TPLHELPSUFFIX##Http tpl:</A></TD><TD><input name=\"httptpl\" type=\"text\" size=\"63\" maxlength=\"127\" value=\"##HTTPTPL##\"></TD></TR>\n\
 			<TR><TD>##TPLHELPPREFIX##conf#httpscript##TPLHELPSUFFIX##Http script:</A></TD><TD><input name=\"httpscript\" type=\"text\" size=\"63\" maxlength=\"127\" value=\"##HTTPSCRIPT##\"></TD></TR>\n\
 			<TR><TD>##TPLHELPPREFIX##conf#httphideidleclients##TPLHELPSUFFIX##Http Hide Idle Clients:</A></TD><TD><input name=\"httphideidleclients\" type=\"checkbox\" value=\"1\" ##CHECKED##>\n\
+			<TR><TD>##TPLHELPPREFIX##conf#httpshowpicons##TPLHELPSUFFIX##Http Show Icons:</A></TD><TD><input name=\"httpshowpicons\" type=\"checkbox\" value=\"1\" ##SHOWPICONSCHECKED##>\n\
 			<TR><TD>##TPLHELPPREFIX##conf#httpallowed##TPLHELPSUFFIX##Http allowed:</A></TD><TD><input name=\"httpallowed\" type=\"text\" size=\"63\" maxlength=\"200\" value=\"##HTTPALLOW##\"></TD></TR>\n\
 			<TR><TD>##TPLHELPPREFIX##conf#httpdyndns##TPLHELPSUFFIX##Http dyndns:</A></TD><TD><input name=\"httpdyndns\" type=\"text\" size=\"63\" maxlength=\"200\" value=\"##HTTPDYNDNS##\"></TD></TR>\n\
 			<TR><TD>##TPLHELPPREFIX##conf#httpsavefullcfg##TPLHELPSUFFIX##Http save full config:</A></TD><TD><SELECT NAME=\"httpsavefullcfg\"><OPTION VALUE=\"0\">NO</OPTION><OPTION VALUE=\"1\" ##HTTPSAVEFULLSELECT##>YES</OPTION></SELECT></TD></TR>\n\
 
Du kannst das entsprechende template um bauen sodass dort auch die picons angezeigt werden... Durch das speichern der templates werden eben nicht mehr die in OScam fest eingebauten benutzt sondern die aus dem Ordner geladen und die wiederum kannst du nach belieben verändern... alles in ##variable## wird dann von oscam in echtzeit ersetzt
Du musst nicht kämpfen um zu siegen
ulkuss
IPC Neuling
Beiträge: 3
Registriert: Do 13. Jun 2013, 20:24
Kontaktdaten:

Re: OSCam - WebIF Picons

Beitrag von ulkuss »

Hallo @ all,
leider stelle ich mich an : wie rufe ich genau die
savetemplates.html url auf ?
etwa so: meine server.ip:savetemplates.html ? aber da passiert nix
eher so :meine server.ip:16xxx/savetemplates.html

thx ulkuss
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste