Seite 1 von 1

OSCam - WebIF Picons

Verfasst: Mi 2. Mai 2012, 11:17
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

Re: OSCam - WebIF Picons

Verfasst: Mi 2. Mai 2012, 12:49
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;}

Re: OSCam - WebIF Picons

Verfasst: Fr 4. Mai 2012, 05:05
von Brinki
moin wo kommen denn die tpl dateien in ??

Re: OSCam - WebIF Picons

Verfasst: Fr 4. Mai 2012, 07:55
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

Re: OSCam - WebIF Picons

Verfasst: Fr 4. Mai 2012, 08:09
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... ?

Re: OSCam - WebIF Picons

Verfasst: Fr 4. Mai 2012, 08:38
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

Re: OSCam - WebIF Picons

Verfasst: Do 11. Jul 2013, 19:12
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