Changeset 10403
- Timestamp:
- 02/04/15 16:17:52 (9 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/module-webif.c
r10384 r10403 1534 1534 1535 1535 if(rdr->description) 1536 tpl_printf(vars, TPLADD, "DESCRIPTION","%s(%s)",!apicall?"&# 013;":"",xml_encode(vars, rdr->description));1536 tpl_printf(vars, TPLADD, "DESCRIPTION","%s(%s)",!apicall?" ":"",xml_encode(vars, rdr->description)); 1537 1537 else 1538 1538 tpl_addVar(vars, TPLADD, "DESCRIPTION", ""); … … 1602 1602 { 1603 1603 tpl_addVar(vars, TPLADD, "SWITCHICO", "image?i=ICENA"); 1604 tpl_addVar(vars, TPLADD, "SWITCHTITLE", "Enable this reader");1604 tpl_addVar(vars, TPLADD, "SWITCHTITLE", "Enable"); 1605 1605 tpl_addVar(vars, TPLADD, "SWITCH", "enable"); 1606 1606 tpl_addVar(vars, TPLADD, "WRITEEMM", ""); … … 1609 1609 { 1610 1610 tpl_addVar(vars, TPLADD, "SWITCHICO", "image?i=ICDIS"); 1611 tpl_addVar(vars, TPLADD, "SWITCHTITLE", "Disable this reader");1611 tpl_addVar(vars, TPLADD, "SWITCHTITLE", "Disable"); 1612 1612 tpl_addVar(vars, TPLADD, "SWITCH", "disable"); 1613 1613 … … 3407 3407 classname = "disabled"; 3408 3408 tpl_addVar(vars, TPLADD, "SWITCHICO", "image?i=ICENA"); 3409 tpl_addVar(vars, TPLADD, "SWITCHTITLE", "Enable this account");3409 tpl_addVar(vars, TPLADD, "SWITCHTITLE", "Enable"); 3410 3410 tpl_addVar(vars, TPLADD, "SWITCH", "enable"); 3411 3411 disabled_users++; … … 3415 3415 { 3416 3416 tpl_addVar(vars, TPLADD, "SWITCHICO", "image?i=ICDIS"); 3417 tpl_addVar(vars, TPLADD, "SWITCHTITLE", "Disable this account");3417 tpl_addVar(vars, TPLADD, "SWITCHTITLE", "Disable"); 3418 3418 tpl_addVar(vars, TPLADD, "SWITCH", "disable"); 3419 3419 } … … 3615 3615 3616 3616 if(account->description) 3617 tpl_printf(vars, TPLADD, "DESCRIPTION","%s(%s)",!apicall?"&# 013;":"",xml_encode(vars, account->description));3617 tpl_printf(vars, TPLADD, "DESCRIPTION","%s(%s)",!apicall?" ":"",xml_encode(vars, account->description)); 3618 3618 else 3619 3619 tpl_addVar(vars, TPLADD, "DESCRIPTION", ""); … … 4238 4238 uint64_t id = b2ll(8, (uchar *) (loghistid + ((ptr1-loghist)/3))); 4239 4239 4240 size_t b64_str_in = strlen(xml_encode(vars, str_out)); 4241 size_t b64_str_out = 32 + BASE64_LENGTH(b64_str_in); 4242 char *b64_str_out_buf; 4243 if(!cs_malloc(&b64_str_out_buf, b64_str_out)) 4244 { continue; } 4245 base64_encode(xml_encode(vars, str_out), b64_str_in, b64_str_out_buf, b64_str_out); 4246 4240 4247 if(id > lastid){ 4241 4248 tpl_printf(vars, TPLAPPEND, "DATA","%s{\"id\":\"%" PRIu64 "\",\"usr\":\"%s\",\"line\":\"%s\"}", 4242 4249 dot, 4243 4250 id, 4244 xml_encode(vars, p_usr),4245 xml_encode(vars, str_out));4251 urlencode(vars, xml_encode(vars, p_usr)), 4252 b64_str_out_buf); 4246 4253 dot = ","; // next in Array with leading delimiter 4247 4254 } … … 4382 4389 4383 4390 int32_t user_count_all = 0, user_count_shown = 0, user_count_active = 0; 4384 int32_t reader_count_all = 0, reader_count_conn = 0 ;4385 int32_t proxy_count_all = 0, proxy_count_conn = 0 ;4391 int32_t reader_count_all = 0, reader_count_conn = 0, reader_count_off = 0; 4392 int32_t proxy_count_all = 0, proxy_count_conn = 0, proxy_count_off = 0; 4386 4393 int32_t server_count_all = 0, server_count_shown = 0, server_count_hidden = 0; 4387 4394 int32_t monitor_count_all = 0, monitor_count_shown = 0; … … 4415 4422 { user_count_all++; } 4416 4423 else if(cl->typ == 'p') 4417 { proxy_count_all++; }4424 { proxy_count_all++; if(cl->reader->card_status != CARD_INSERTED) { proxy_count_off++; } } 4418 4425 else if(cl->typ == 'r') 4419 { reader_count_all++; }4426 { reader_count_all++; if(cl->reader->card_status != CARD_INSERTED) { reader_count_off++; } } 4420 4427 else if(cl->typ == 's' || cl->typ == 'h') 4421 4428 { server_count_all++; if(cl->wihidden) {server_count_hidden++;} } … … 4528 4535 localtime_r(&cl->login, <); 4529 4536 4537 if(cl->typ == 'c' || cl->typ == 'm') 4538 { 4539 if(cl->account && cl->account->description) 4540 tpl_printf(vars, TPLADD, "CLIENTDESCRIPTION","%s(%s)",!apicall?" ":"",xml_encode(vars, cl->account->description)); 4541 else 4542 tpl_addVar(vars, TPLADD, "CLIENTDESCRIPTION", ""); 4543 } 4544 else if(cl->typ == 'p' || cl->typ == 'r') 4545 { 4546 if(cl->reader && cl->reader->description) 4547 tpl_printf(vars, TPLADD, "CLIENTDESCRIPTION","%s(%s)",!apicall?" ":"",xml_encode(vars, cl->reader->description)); 4548 else 4549 tpl_addVar(vars, TPLADD, "CLIENTDESCRIPTION", ""); 4550 } 4530 4551 if(!apicall) 4531 4552 { … … 4565 4586 tpl_printf(vars, TPLADD, "CLIENTCNR", "%d", get_threadnum(cl)); 4566 4587 tpl_addVar(vars, TPLADD, "CLIENTUSER", xml_encode(vars, usr)); 4567 if(cl->typ == 'c' || cl->typ == 'm')4568 {4569 if(cl->account && cl->account->description)4570 tpl_printf(vars, TPLADD, "CLIENTDESCRIPTION","%s(%s)",!apicall?"
":"",xml_encode(vars, cl->account->description));4571 else4572 tpl_addVar(vars, TPLADD, "CLIENTDESCRIPTION", "");4573 }4574 else if(cl->typ == 'p' || cl->typ == 'r')4575 {4576 if(cl->reader && cl->reader->description)4577 tpl_printf(vars, TPLADD, "CLIENTDESCRIPTION","%s(%s)",!apicall?"
":"",xml_encode(vars, cl->reader->description));4578 else4579 tpl_addVar(vars, TPLADD, "CLIENTDESCRIPTION", "");4580 }4581 4588 4582 4589 tpl_addVar(vars, TPLADD, "STATUSUSERICON", xml_encode(vars, usr)); … … 4584 4591 tpl_addVar(vars, TPLADD, "USERNAME", xml_encode(vars, usr)); 4585 4592 tpl_addVar(vars, TPLADD, "USERENC", urlencode(vars, usr)); 4586 tpl_addVar(vars, TPLADD, "READERNAMEENC", "");4587 tpl_addVar(vars, TPLADD, "READERNAME","");4588 4593 } else if (cl->typ == 'p' || cl->typ == 'r') { 4589 4594 tpl_addVar(vars, TPLADD, "READERNAME", xml_encode(vars, usr)); 4590 4595 tpl_addVar(vars, TPLADD, "READERNAMEENC", urlencode(vars, usr)); 4591 tpl_addVar(vars, TPLADD, "USERNAME", "");4592 4596 } 4593 4597 … … 4608 4612 } 4609 4613 else 4610 tpl_printf(vars, TPLADD, "UPICMISSING", "%smissing icon: IC_%s.tpl",!apicall?"&# 013;":"",xml_encode(vars, usr));4614 tpl_printf(vars, TPLADD, "UPICMISSING", "%smissing icon: IC_%s.tpl",!apicall?" ":"",xml_encode(vars, usr)); 4611 4615 } 4612 4616 … … 4944 4948 tpl_printf(vars, TPLADD, "UCAC", "%d", user_count_active); 4945 4949 tpl_printf(vars, TPLADD, "CFGH", "%d", cfg.hideclient_to); 4946 tpl_addVar(vars, TPLADD, "CHEADADD", tpl_getTpl(vars, "CLIENTHEADLINE WITH"));4950 tpl_addVar(vars, TPLADD, "CHEADADD", tpl_getTpl(vars, "CLIENTHEADLINEADD")); 4947 4951 } 4948 4952 tpl_printf(vars, TPLADD, "UCS", "%d", user_count_shown); … … 4960 4964 tpl_printf(vars, TPLADD, "RCC", "%d", reader_count_conn); 4961 4965 tpl_printf(vars, TPLADD, "RCA", "%d", reader_count_all); 4966 if(reader_count_off) { 4967 tpl_printf(vars, TPLADD, "RCO", "%d", reader_count_all-reader_count_off); 4968 tpl_addVar(vars, TPLADD, "RHEADADD", tpl_getTpl(vars, "CLIENTRHEADLINEADD")); 4969 } 4962 4970 tpl_addVar(vars, TPLADD, "HIDEIDLE", "3"); 4963 4971 tpl_addVar(vars, TPLADD, "SHOWHIDDEN", "Reader"); … … 4970 4978 tpl_printf(vars, TPLADD, "PCC", "%d", proxy_count_conn); 4971 4979 tpl_printf(vars, TPLADD, "PCA", "%d", proxy_count_all); 4980 if(proxy_count_off) { 4981 tpl_printf(vars, TPLADD, "PCO", "%d", proxy_count_all-proxy_count_off); 4982 tpl_addVar(vars, TPLADD, "PHEADADD", tpl_getTpl(vars, "CLIENTPHEADLINEADD")); 4983 } 4972 4984 tpl_addVar(vars, TPLADD, "HIDEIDLE", "4"); 4973 4985 tpl_addVar(vars, TPLADD, "SHOWHIDDEN", "Proxy"); … … 5260 5272 tpl_printf(vars, TPLADD, "SCA", "%d", server_count_all); 5261 5273 tpl_printf(vars, TPLADD, "RCC", "%d", reader_count_conn); 5274 tpl_printf(vars, TPLADD, "RCO", "%d", reader_count_off); 5275 tpl_printf(vars, TPLADD, "RCA", "%d", reader_count_all); 5262 5276 tpl_printf(vars, TPLADD, "PCC", "%d", proxy_count_conn); 5277 tpl_printf(vars, TPLADD, "PCO", "%d", proxy_count_off); 5278 tpl_printf(vars, TPLADD, "PCA", "%d", proxy_count_all); 5263 5279 tpl_printf(vars, TPLADD, "PICONENABLED", "%d", cfg.http_showpicons?1:0); 5264 5280 return tpl_getTpl(vars, "JSONSTATUS"); … … 6290 6306 6291 6307 FILE *fp; 6292 char buffer[512]; 6308 struct stat sb; 6309 const char *slash = "/"; 6310 char buffer[1024]; 6311 char emm_hex[1024]; 6293 6312 char targetfile[256]; 6294 const char *slash = "/"; 6295 struct dirent **namelist; 6296 int count = -1, i; 6313 char tmpstr[20]; 6314 char emm_txt[128]; 6297 6315 char *emm_path; 6316 char *emm_types[] = { "unique_emm", "shared_emm", "global_emm" }; 6317 char *emm_names[] = { "RDREMMUNIQUE", "RDREMMSHARED", "RDREMMGLOBAL" }; 6318 int num_emm_types = 3; 6319 int max_kb_size = 256; 6320 int i; 6298 6321 6299 6322 emm_path = cfg.emmlogdir ? cfg.emmlogdir : cs_confdir; 6300 6323 6301 if (emm_path) 6302 { 6303 count = scandir(emm_path, &namelist, 0, alphasort ); 6304 } 6305 6306 if( count >= 0 ) 6307 { 6308 for( i = 0 ; i < count; i++ ) 6309 { 6310 if(strstr(namelist[i]->d_name, getParam(params, "label")) && is_ext(namelist[i]->d_name, ".log")) 6311 { 6312 if(emm_path[strlen(emm_path) - 1] == '/') { slash = ""; } 6313 snprintf(targetfile, sizeof(targetfile), "%s%s%s", emm_path, slash, namelist[i]->d_name); 6314 6315 if((fp = fopen(targetfile, "r")) == NULL) { continue; } 6316 6317 char emm_date[11],emm_time[9],emm_hex[512]; 6318 int emms=0, emm_d; 6319 6320 while(fgets(buffer, sizeof(buffer), fp) != NULL) 6321 { 6322 emms++; 6323 tpl_printf(vars, TPLADD, "TMP_LINE", "LINE_%d", emms); 6324 tpl_addVar(vars, TPLADD, tpl_getVar(vars, "TMP_LINE"), buffer); 6325 } 6326 tpl_addVar(vars, TPLADD, "EMM_TMP",""); 6327 tpl_addVar(vars, TPLADD, "EMM_DATE",""); 6328 for(emm_d=emms;emm_d>0;--emm_d) 6329 { 6330 tpl_printf(vars, TPLADD, "TMP_LINE", "LINE_%d", emm_d); 6331 if(sscanf(tpl_getVar(vars, tpl_getVar(vars, "TMP_LINE")), "%s %s %*s %s",&emm_date[0],&emm_time[0],&emm_hex[0])==3) 6332 { 6333 if(emm_d==1) 6334 tpl_printf(vars, TPLADD, "EMM_DATE", "%s %s", emm_date,emm_time); 6335 if(strstr(tpl_getVar(vars, "EMM_TMP"),emm_hex)==0) 6336 tpl_addVar(vars, TPLAPPEND, "EMM_TMP", tpl_getVar(vars, tpl_getVar(vars, "TMP_LINE"))); 6337 } 6338 } 6339 6340 char *ptr, *saveptr1 = NULL; 6341 char emm_tmp[strlen(tpl_getVar(vars, "EMM_TMP"))]; 6342 cs_strncpy(emm_tmp, tpl_getVar(vars, "EMM_TMP"), sizeof(emm_tmp)); 6343 int emmrs=0; 6344 for(ptr = strtok_r(emm_tmp,"\n", &saveptr1); ptr; ptr = strtok_r(NULL,"\n", &saveptr1)) 6345 { 6346 emmrs++; 6347 tpl_printf(vars, TPLADD, "TMP_LINE", "LINE_%d", emmrs); 6348 tpl_addVar(vars, TPLADD, tpl_getVar(vars, "TMP_LINE"), ptr); 6349 } 6350 for(emm_d=emmrs;emm_d>0;--emm_d) 6351 { 6352 tpl_printf(vars, TPLADD, "TMP_LINE", "LINE_%d", emm_d); 6353 if (strstr(namelist[i]->d_name, "unique_emm")) 6354 { 6355 if(emm_d==1) 6356 tpl_printf(vars, TPLADD, "RDREMMUNIQUE_TXT", "First Entry: %s; %d different EMMs from a total off %d Entrys", tpl_getVar(vars, "EMM_DATE"),emmrs,emms); 6357 tpl_printf(vars, TPLAPPEND, "RDREMMUNIQUE", "%s\n", tpl_getVar(vars, tpl_getVar(vars, "TMP_LINE"))); 6358 } 6359 else if (strstr(namelist[i]->d_name, "shared_emm")) 6360 { 6361 if(emm_d==1) 6362 tpl_printf(vars, TPLADD, "RDREMMSHARED_TXT", "First Entry: %s; %d different EMMs from a total off %d Entrys", tpl_getVar(vars, "EMM_DATE"),emmrs,emms); 6363 tpl_printf(vars, TPLAPPEND, "RDREMMSHARED", "%s\n", tpl_getVar(vars, tpl_getVar(vars, "TMP_LINE"))); 6364 } 6365 else if (strstr(namelist[i]->d_name, "global_emm")) 6366 { 6367 if(emm_d==1) 6368 tpl_printf(vars, TPLADD, "RDREMMGLOBAL_TXT", "First Entry: %s; %d different EMMs from a total off %d Entrys", tpl_getVar(vars, "EMM_DATE"),emmrs,emms); 6369 tpl_printf(vars, TPLAPPEND, "RDREMMGLOBAL", "%s\n", tpl_getVar(vars, tpl_getVar(vars, "TMP_LINE"))); 6370 } 6371 } 6372 fclose(fp); 6373 } 6374 free( namelist[i] ); 6375 } 6376 free(namelist); 6377 } 6378 if(strcmp(tpl_getVar(vars, "RDREMMUNIQUE"),"")==0) tpl_addVar(vars, TPLADD, "RDREMMUNIQUE","no saved EMMs"); 6379 if(strcmp(tpl_getVar(vars, "RDREMMSHARED"),"")==0) tpl_addVar(vars, TPLADD, "RDREMMSHARED","no saved EMMs"); 6380 if(strcmp(tpl_getVar(vars, "RDREMMGLOBAL"),"")==0) tpl_addVar(vars, TPLADD, "RDREMMGLOBAL","no saved EMMs"); 6324 for( i = 0 ; i < num_emm_types; i++ ) 6325 { 6326 if(emm_path[strlen(emm_path) - 1] == '/') { slash = ""; } 6327 snprintf(targetfile, sizeof(targetfile), "%s%s%s%s%s%s", emm_path, slash, getParam(params, "label"), "_", emm_types[i], ".log"); 6328 6329 if((fp = fopen(targetfile, "r")) != NULL) { 6330 6331 int emms=0, emm_d, emmrs=0; 6332 char *ptr, *saveptr1 = NULL; 6333 6334 snprintf(emm_txt, sizeof(emm_txt), "%s_TXT", emm_names[i]); 6335 stat(targetfile, &sb); 6336 6337 while(fgets(buffer, sizeof(buffer), fp) != NULL) 6338 { 6339 emms++; 6340 snprintf(tmpstr, sizeof(tmpstr), "LINE_%d", emms); 6341 tpl_addVar(vars, TPLADD, tmpstr, buffer); 6342 } 6343 6344 for(emm_d=emms;emm_d>0;--emm_d) 6345 { 6346 snprintf(tmpstr, sizeof(tmpstr), "LINE_%d", emm_d); 6347 if(sscanf(tpl_getVar(vars, tmpstr), "%*s %*s %*s %s", &emm_hex[0])==1) 6348 { 6349 if(strstr(tpl_getVar(vars, "EMM_TMP"),emm_hex)==0) 6350 { tpl_addVar(vars, TPLAPPEND, "EMM_TMP", tpl_getVar(vars, tmpstr)); } 6351 tpl_addVar(vars, TPLADD, tmpstr, ""); 6352 } 6353 } 6354 6355 char emm_tmp[strlen(tpl_getVar(vars, "EMM_TMP"))]; 6356 cs_strncpy(emm_tmp, tpl_getVar(vars, "EMM_TMP"), sizeof(emm_tmp)); 6357 tpl_addVar(vars, TPLADD, "EMM_TMP",""); 6358 6359 for(ptr = strtok_r(emm_tmp,"\n", &saveptr1); ptr; ptr = strtok_r(NULL,"\n", &saveptr1)) 6360 { 6361 emmrs++; 6362 snprintf(tmpstr, sizeof(tmpstr), "LINE_%d", emmrs); 6363 tpl_addVar(vars, TPLADD, tmpstr, ptr); 6364 } 6365 6366 tpl_printf(vars, TPLADD, emm_txt, "%'d different EMMs from a total off %'d Entrys (Size: %'.2f kB)", emmrs,emms,(double)sb.st_size/1024); 6367 for(emm_d=emmrs;emm_d>0;--emm_d) 6368 { 6369 snprintf(tmpstr, sizeof(tmpstr), "LINE_%d", emm_d); 6370 tpl_printf(vars, TPLAPPEND, emm_names[i], "%s\n", tpl_getVar(vars, tmpstr)); 6371 } 6372 fclose(fp); 6373 6374 if(sb.st_size>max_kb_size*1024) 6375 { 6376 char orgfile[256]; 6377 int f=0; 6378 do { 6379 snprintf(orgfile, sizeof(orgfile), "%s.%d", targetfile, f); 6380 f++; 6381 } while(access(orgfile, 0|F_OK) != -1); 6382 6383 if(rename(targetfile, orgfile) == 0) 6384 { 6385 fp = fopen(targetfile, "w"); 6386 fprintf(fp, "%s", tpl_getVar(vars, emm_names[i])); 6387 fclose(fp); 6388 tpl_printf(vars, TPLAPPEND, emm_txt, "<br><b>New reduced File created!</b> Size of Original File is higher as %d kB, saved to %s", max_kb_size, orgfile); 6389 } 6390 } 6391 } 6392 if(strcmp(tpl_getVar(vars, emm_names[i]),"")==0) { tpl_addVar(vars, TPLADD, emm_names[i],"no saved EMMs"); } 6393 } 6381 6394 6382 6395 return tpl_getTpl(vars, "ASKEMM"); … … 6457 6470 tpl_addVar(vars, TPLADD, "USERENC", urlencode(vars, cl->account->usr)); 6458 6471 if(cl->account->description) { 6459 tpl_printf(vars, TPLADD, "CLIENTDESCRIPTION","%s(%s)",!apicall?"&# 013;":"",xml_encode(vars, cl->account->description));6472 tpl_printf(vars, TPLADD, "CLIENTDESCRIPTION","%s(%s)",!apicall?" ":"",xml_encode(vars, cl->account->description)); 6460 6473 } 6461 6474 } else { … … 6486 6499 tpl_addVar(vars, TPLADD, "READERNAMEENC", urlencode(vars, cl->reader->label)); 6487 6500 if(cl->reader->description) { 6488 tpl_printf(vars, TPLADD, "CLIENTDESCRIPTION","%s(%s)",!apicall?"&# 013;":"",xml_encode(vars, cl->reader->description));6501 tpl_printf(vars, TPLADD, "CLIENTDESCRIPTION","%s(%s)",!apicall?" ":"",xml_encode(vars, cl->reader->description)); 6489 6502 } 6490 6503 } else { -
trunk/webif/api.json/status.json
r10076 r10403 11 11 "mca":"##MCA##", 12 12 "rcc":"##RCC##", 13 "rca":"##RCA##", 14 "rco":"##RCO##", 13 15 "pcc":"##PCC##", 16 "pca":"##PCA##", 17 "pco":"##PCO##", 14 18 "client":[ 15 19 ##JSONSTATUSBITS## -
trunk/webif/api.json/status_statusbits.json
r9659 r10403 2 2 "thid": "##CSIDX##", 3 3 "type": "##CLIENTTYPE##", 4 "name": "##CLIENTUSER##",5 4 "name_enc": "##USERENC##", 6 5 "rname_enc": "##READERNAMEENC##", -
trunk/webif/api.json/userbit.json
r9838 r10403 1 1 ##JSONDELIMITER##{ 2 2 "user":{ 3 "name":"##USERNAME##",4 3 "usermd5":"##USERMD5##", 5 4 "status":"##STATUS##", -
trunk/webif/include/css.css
r10361 r10403 850 850 padding:0px 4px 851 851 } 852 #livelogdata {} 852 #livelogdata { 853 white-space:pre 854 } 853 855 li.regex, li.regexdata_nav, li.regexdata_save{ 854 856 white-space:nowrap -
trunk/webif/include/jscript.js
r10234 r10403 254 254 waitForMsg(); 255 255 if ($(this).data('next-action') == 'enable') { 256 $(this).data('next-action', 'disable').attr('title', 'Disable this reader');256 $(this).data('next-action', 'disable').attr('title', 'Disable Reader: ' + $(this).data('reader-name') + $(this).data('desc')); 257 257 $(rowid).attr('class', 'enabledreader'); 258 img.attr('src', 'image?i=ICDIS').attr('alt', 'Disable this reader');258 img.attr('src', 'image?i=ICDIS').attr('alt', 'Disable'); 259 259 } else { 260 $(this).data('next-action', 'enable').attr('title', 'Enable this reader');260 $(this).data('next-action', 'enable').attr('title', 'Enable Reader: ' + $(this).data('reader-name') + $(this).data('desc')); 261 261 $(rowid).attr('class', 'disabledreader'); 262 img.attr('src', 'image?i=ICENA').attr('alt', 'Enable this reader');262 img.attr('src', 'image?i=ICENA').attr('alt', 'Enable'); 263 263 } 264 264 parameters = parameters_old; … … 287 287 waitForMsg(); 288 288 if ($(this).data('next-action') == 'enable') { 289 $(this).data('next-action', 'disable').attr('title', 'Disable this user');289 $(this).data('next-action', 'disable').attr('title', 'Disable User: ' + $(this).data('user-name') + $(this).data('desc')); 290 290 $(rowid).attr('class', 'offline'); 291 291 $(rowid + ' > td.usercol2').text('offline'); 292 img.attr('src', 'image?i=ICDIS').attr('alt', 'Disable this user');292 img.attr('src', 'image?i=ICDIS').attr('alt', 'Disable'); 293 293 } else { 294 $(this).data('next-action', 'enable').attr('title', 'Enable this user');294 $(this).data('next-action', 'enable').attr('title', 'Enable User: ' + $(this).data('user-name') + $(this).data('desc')); 295 295 $(rowid).attr('class', 'disabled'); 296 296 $(rowid + ' > td.usercol2').text('offline (disabled)'); 297 img.attr('src', 'image?i=ICENA').attr('alt', 'Enable this user');297 img.attr('src', 'image?i=ICENA').attr('alt', 'Enable'); 298 298 } 299 299 parameters = parameters_old; … … 837 837 if (isWhitelisted(item.line)) { 838 838 var newcolor = getLogColor(item.line); 839 var newline = $('<li class="' + item.usr + '">' + item.line+ '</li>\n');839 var newline = $('<li class="' + decodeURI(item.usr) + '">' + Base64.decode(item.line) + '</li>\n'); 840 840 var hiddenline = 0; 841 841 if (newcolor) { … … 1057 1057 $(container).append(newrow); 1058 1058 1059 var name1, name2, kill1, kill2, kill3, edit1;1059 var name1, name2, name3, kill1, kill2, kill3, edit1; 1060 1060 switch (item.type) { 1061 1061 case 'c': … … 1064 1064 name2 = item.name_enc; 1065 1065 kill1 = '" href="status.html?action=kill&threadid=' + item.thid.substring(3, item.thid.length); 1066 kill2 = 'Kill the'1066 kill2 = 'Kill' 1067 1067 kill3 = 'ICKIL'; 1068 1068 edit1 = 'user_edit.html?user='; … … 1073 1073 name1 = (item.type == 'r') ? 'Reader' : 'Proxy'; 1074 1074 name2 = item.rname_enc; 1075 kill1 = '" href="status.html?action=restart&label=' + item.name;1076 kill2 = 'Restart the';1075 kill1 = '" href="status.html?action=restart&label=' + name2; 1076 kill2 = 'Restart'; 1077 1077 kill3 = 'ICRES'; 1078 1078 edit1 = 'readerconfig.html?label='; 1079 1079 break; 1080 1080 } 1081 name3 = decodeURI(name2); 1081 1082 1082 1083 if (!is_nopoll('statuscol0')) { 1083 $(uid + " > td.statuscol0").append('<a title="Hide the ' + 1084 name1 + ' ' + item.name + '" href="status.html?hide=' + 1084 $(uid + " > td.statuscol0").append('<a title="Hide ' + 1085 name1 + ': ' + name3 + (item.desc ? '\n' + item.desc.replace(' ', '') : '') + 1086 '" href="status.html?hide=' + 1085 1087 item.thid.substring(3, item.thid.length) + 1086 '"><img class="icon" alt="Hide the' +1087 name1 + ' ' + item.name +'" src="image?i=ICHID"></img>');1088 '"><img class="icon" alt="Hide"' + 1089 '" src="image?i=ICHID"></img>'); 1088 1090 } 1089 1091 1090 1092 if (!is_nopoll('statuscol1')) { 1091 $(uid + " > td.statuscol1").append('<a title="' + kill2 + 1092 name1 + ' ' + item.name + kill1 + '"><img class="icon" alt="' + 1093 kill2 + name1 + ' ' + item.name + '" src="image?i=' + kill3 + '"></img>'); 1093 $(uid + " > td.statuscol1").append('<a title="' + kill2 + ' ' + 1094 name1 + ': ' + name3 + (item.desc ? '\n' + item.desc.replace(' ', '') : '') + 1095 kill1 + '"><img class="icon" alt="' + kill2 + 1096 '" src="image?i=' + kill3 + '"></img>'); 1094 1097 } 1095 1098 … … 1097 1100 if (data.oscam.piconenabled == "1" && !item.upicmissing) { 1098 1101 $(uid + " > td.statuscol4").append('<a href="' + edit1 + name2 + '"><img class="statususericon" title="Edit ' + 1099 name1 + ': ' + item.name + '\n' + item.desc+ '" src="image?i=IC_' + name2 + '"></img></a>');1102 name1 + ': ' + name3 + (item.desc ? '\n' + item.desc.replace(' ', '') : '') + '" src="image?i=IC_' + name2 + '"></img></a>'); 1100 1103 } else { 1101 1104 $(uid + " > td.statuscol4").append('<a href="' + edit1 + name2 + '" title="Edit ' + name1 + ': ' + 1102 item.name + '\n' + item.desc + '\n' + item.upicmissing + '">' + item.name+ '</a>');1105 name3 + (item.desc ? '\n' + item.desc.replace(' ', '') : '') + '\n' + item.upicmissing + '">' + name3 + '</a>'); 1103 1106 } 1104 1107 } … … 1134 1137 if (data.oscam.piconenabled == "1" && !item.upicmissing) { 1135 1138 $(uid + " > td.statuscol4").html('<a href="user_edit.html?user=' + item.name_enc + 1136 '"><img class="statususericon" title="Edit User: ' + item.name+ item.desc +1139 '"><img class="statususericon" title="Edit User: ' + decodeURI(item.name_enc) + item.desc + 1137 1140 '" src="image?i=IC_' + item.name_enc + '"></img></a>'); 1138 1141 } else { 1139 1142 $(uid + " > td.statuscol4").html('<a href="user_edit.html?user=' + item.name_enc + '" title="Edit User: ' + 1140 item.name + item.desc + item.upicmissing + '">' + item.name+ '</a>');1143 decodeURI(item.name_enc) + item.desc + item.upicmissing + '">' + decodeURI(item.name_enc) + '</a>'); 1141 1144 } 1142 1145 } … … 1158 1161 1159 1162 if (!is_nopoll('statuscol4')) { 1160 $(uid + " > td.statuscol4").attr('title', item.name + (item.desc ? '\n' + item.desc.replace('
', '') : ''));1163 $(uid + " > td.statuscol4").attr('title', decodeURI(item.type == 'c' ? item.name_enc : item.rname_enc) + (item.desc ? '\n' + item.desc.replace(' ', '') : '')); 1161 1164 } 1162 1165 if (!is_nopoll('statuscol7')) { … … 1230 1233 if (data.oscam.lbdefined) { 1231 1234 var label = item.rname_enc.replace('+%28cache%29', ''); 1232 var name = item.type == 'c' ? item.request.answered.replace(' (cache)', '') : item.name;1235 var name = item.type == 'c' ? item.request.answered.replace(' (cache)', '') : decodeURI(label); 1233 1236 if (!$(uid + " > td.statuscol14 > a").length) { 1234 1237 $(uid + " > td.statuscol14") … … 1360 1363 1361 1364 //update reader-headline 1362 $("#rcc").text(data.oscam.status.rcc); 1365 if(data.oscam.status.rco != '0') { 1366 var rcon = (data.oscam.status.rca - data.oscam.status.rco); 1367 if($("#rco").length) { 1368 $("#rcc").text(data.oscam.status.rcc); 1369 $("#rca").text(data.oscam.status.rca); 1370 $("#rco").text(rcon); 1371 } else { 1372 $("#rhead").html('Readers <span id="rcc">' + data.oscam.status.rcc + '</span>/' + data.oscam.status.rca + ' (<span id="rco">' + rcon + '</span> of ' + data.oscam.status.rca + ' CARDOK)'); 1373 } 1374 } else if($("#rco").length) { 1375 $("#rhead").html('Readers <span id="rcc">' + data.oscam.status.rcc + '</span>/' + data.oscam.status.rca); 1376 } else { 1377 $("#rcc").text(data.oscam.status.rcc); 1378 $("#rca").text(data.oscam.status.rca); 1379 } 1363 1380 1364 1381 //update proxy-headline 1365 $("#pcc").text(data.oscam.status.pcc); 1382 if(data.oscam.status.pco != '0') { 1383 var pcon = (data.oscam.status.pca - data.oscam.status.pco); 1384 if($("#pco").length) { 1385 $("#pcc").text(data.oscam.status.pcc); 1386 $("#pca").text(data.oscam.status.pca); 1387 $("#pco").text(pcon); 1388 } else { 1389 $("#phead").html('Proxies <span id="pcc">' + data.oscam.status.pcc + '</span>/' + data.oscam.status.pca + ' (<span id="pco">' + pcon + '</span> of ' + data.oscam.status.pca + ' online)'); 1390 } 1391 } else if($("#pco").length) { 1392 $("#phead").html('Proxies <span id="pcc">' + data.oscam.status.pcc + '</span>/' + data.oscam.status.pca); 1393 } else { 1394 $("#pcc").text(data.oscam.status.pcc); 1395 $("#pca").text(data.oscam.status.pca); 1396 } 1366 1397 1367 1398 // update footer … … 1917 1948 } 1918 1949 })(jQuery) 1950 1951 // Create Base64 Object 1952 var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=Base64._utf8_encode(e);while(f<e.length){n=e.charCodeAt(f++);r=e.charCodeAt(f++);i=e.charCodeAt(f++);s=n>>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},decode:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(f<e.length){s=this._keyStr.indexOf(e.charAt(f++));o=this._keyStr.indexOf(e.charAt(f++));u=this._keyStr.indexOf(e.charAt(f++));a=this._keyStr.indexOf(e.charAt(f++));n=s<<2|o>>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r)}if(a!=64){t=t+String.fromCharCode(i)}}t=Base64._utf8_decode(t);return t},_utf8_encode:function(e){e=e.replace(/\r\n/g,"\n");var t="";for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r)}else if(r>127&&r<2048){t+=String.fromCharCode(r>>6|192);t+=String.fromCharCode(r&63|128)}else{t+=String.fromCharCode(r>>12|224);t+=String.fromCharCode(r>>6&63|128);t+=String.fromCharCode(r&63|128)}}return t},_utf8_decode:function(e){var t="";var n=0;var r=c1=c2=0;while(n<e.length){r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r);n++}else if(r>191&&r<224){c2=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|c2&63);n+=2}else{c2=e.charCodeAt(n+1);c3=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);n+=3}}return t}} -
trunk/webif/pages_index.txt
r10153 r10403 239 239 CACHEEXINFOBIT status/status_cacheexinfo.html CS_CACHEEX 240 240 CLIENTHEADLINE status/status_cheadline.html 241 CLIENTHEADLINE WITHstatus/status_cheadlineadd.html241 CLIENTHEADLINEADD status/status_cheadlineadd.html 242 242 CLIENTHEADLINEBIT status/status_clientheadlinebit.html 243 243 CLIENTSTATUSBIT status/status_clientstatusbit.html … … 253 253 CLIENTMHEADLINE status/status_mheadline.html MODULE_MONITOR 254 254 CLIENTPHEADLINE status/status_pheadline.html 255 CLIENTPHEADLINEADD status/status_pheadlineadd.html 255 256 SREADER status/status_reader.html 256 257 SREADERICON status/status_readericon.html 257 258 STATUSRBUTTON status/status_restartbutton.html 258 259 CLIENTRHEADLINE status/status_rheadline.html 260 CLIENTRHEADLINEADD status/status_rheadlineadd.html 259 261 DEBUGSELECT status/status_sdebug.html WITH_DEBUG 260 262 CLIENTSHEADLINE status/status_sheadline.html -
trunk/webif/readers/readers_readerlist.html
r9951 r10403 1 1 <TR ID="##LABELMD5##" CLASS="##READERCLASS##"> 2 <TD CLASS="readercol0"><A class="switchreader" data-next-action="##SWITCH##" data-reader-name="##READERNAMEENC##" data- md5="##LABELMD5##" HREF="#" TITLE="##SWITCHTITLE##"><IMG CLASS="icon" SRC="##SWITCHICO##" ALT="##SWITCHTITLE##"></A></TD>2 <TD CLASS="readercol0"><A class="switchreader" data-next-action="##SWITCH##" data-reader-name="##READERNAMEENC##" data-desc="##DESCRIPTION##" data-md5="##LABELMD5##" HREF="#" TITLE="##SWITCHTITLE## Reader: ##READERNAME####DESCRIPTION##"><IMG CLASS="icon" SRC="##SWITCHICO##" ALT="##SWITCHTITLE##"></A></TD> 3 3 <TD CLASS="readercol1" data-sort-value="##READERNAME##" TITLE="##READERNAME####DESCRIPTION##">##READERBIT##</TD> 4 4 <TD CLASS="readercol2" data-sort-value="##CTYPSORT##">##CTYP##</TD> … … 12 12 <TD CLASS="readercol10">##EMMBLOCKEDUK## / ##EMMBLOCKEDG## / ##EMMBLOCKEDS## / ##EMMBLOCKEDUQ##</TD> 13 13 ##TPLREADERLBBIT## 14 <TD CLASS="readercol12"><A HREF="readerconfig.html?label=##READERNAMEENC##" TITLE="Edit this Reader"><IMG CLASS="icon" SRC="image?i=ICEDI" ALT="Edit Reader"></A></TD>14 <TD CLASS="readercol12"><A HREF="readerconfig.html?label=##READERNAMEENC##" TITLE="Edit Reader: ##READERNAME####DESCRIPTION##"><IMG CLASS="icon" SRC="image?i=ICEDI" ALT="Edit Reader"></A></TD> 15 15 <TD CLASS="readercol13">##ENTITLEMENT##</TD> 16 16 <TD CLASS="readercol14">##READERREFRESH##</TD> 17 17 <TD CLASS="readercol15">##WRITEEMM##</TD> 18 18 ##TPLREADERLBSTAT## 19 <TD CLASS="readercol17"><A class="deletereader" data-next-action="delete" data-reader-name="##READERNAMEENC##" data-md5="##LABELMD5##" HREF="#" TITLE="Delete this Reader"><IMG CLASS="icon" SRC="image?i=ICDEL" ALT="Delete Reader"></A></TD>19 <TD CLASS="readercol17"><A class="deletereader" data-next-action="delete" data-reader-name="##READERNAMEENC##" data-md5="##LABELMD5##" HREF="#" TITLE="Delete Reader: ##READERNAME####DESCRIPTION##"><IMG CLASS="icon" SRC="image?i=ICDEL" ALT="Delete Reader"></A></TD> 20 20 </TR> -
trunk/webif/readers/readers_readerlist_entitlement.html
r8418 r10403 1 <A HREF="entitlements.html?label=##READERNAMEENC##" TITLE="Show Entitlement "><IMG CLASS="icon" SRC="##ENTICO##" ALT="Show Entitlement"></A>1 <A HREF="entitlements.html?label=##READERNAMEENC##" TITLE="Show Entitlement: ##READERNAME####DESCRIPTION##"><IMG CLASS="icon" SRC="##ENTICO##" ALT="Show Entitlement"></A> -
trunk/webif/readers/readers_readerlist_lbstat.html
r9964 r10403 1 <TD CLASS="readercol16"><A HREF="readerstats.html?label=##READERNAMEENC##&show=0" TITLE="Show loadbalancer statistics"><IMG CLASS="icon" SRC="image?i=ICSTA" ALT="Loadbalancer statistics"></A></TD>1 <TD CLASS="readercol16"><A HREF="readerstats.html?label=##READERNAMEENC##&show=0" TITLE="Show Lb statistics: ##READERNAME####DESCRIPTION##"><IMG CLASS="icon" SRC="image?i=ICSTA" ALT="Loadbalancer statistics"></A></TD> -
trunk/webif/readers/readers_readerlist_refresh.html
r8418 r10403 1 <A HREF="readers.html?action=reread&label=##READERNAMEENC##" TITLE="Refresh Entitlement "><IMG CLASS="icon" SRC="##REFRICO##" ALT="Reset and reload Entitlement"></A>1 <A HREF="readers.html?action=reread&label=##READERNAMEENC##" TITLE="Refresh Entitlement: ##READERNAME####DESCRIPTION##"><IMG CLASS="icon" SRC="##REFRICO##" ALT="Reset and reload Entitlement"></A> -
trunk/webif/readers/readers_readerlist_writeemm.html
r8418 r10403 1 <A HREF="emm.html?label=##READERNAMEENC##" TITLE="Write EMM to this Reader"><IMG CLASS="icon" SRC="##EMMICO##" ALT="Write EMM"></A>1 <A HREF="emm.html?label=##READERNAMEENC##" TITLE="Write EMM to: ##READERNAME####DESCRIPTION##"><IMG CLASS="icon" SRC="##EMMICO##" ALT="Write EMM"></A> -
trunk/webif/status/status_clientstatusbit.html
r10000 r10403 2 2 <TD CLASS="statuscol0">##HIDEIDX##</TD> 3 3 <TD CLASS="statuscol1">##CSIDX##</TD> 4 <TD CLASS="statuscol4" TITLE="## READERNAME####USERNAME####CLIENTDESCRIPTION##">##STATUSUSERICON##</TD>4 <TD CLASS="statuscol4" TITLE="##LBL####CLIENTDESCRIPTION##">##STATUSUSERICON##</TD> 5 5 <TD CLASS="statuscol5">##CLIENTCAUHTTP##</TD> 6 6 <TD CLASS="statuscol7">##CLIENTIP##</TD> -
trunk/webif/status/status_hidebutton.html
r9680 r10403 1 <A HREF="status.html?hide=##CID##" TITLE="Hide the ##TARGET## ##LBL##"><IMG CLASS="icon" SRC="image?i=ICHID" ALT="Hide the ##TARGET## ##LBL##"></A>1 <A HREF="status.html?hide=##CID##" TITLE="Hide ##TARGET##: ##LBL####CLIENTDESCRIPTION##"><IMG CLASS="icon" SRC="image?i=ICHID" ALT="Hide"></A> -
trunk/webif/status/status_killbutton.html
r9680 r10403 1 <A HREF="status.html?action=kill&threadid=##CID##" TITLE="Kill the ##TARGET## ##LBL##"><IMG CLASS="icon" SRC="image?i=ICKIL" ALT="Kill the ##TARGET## ##LBL##"></A>1 <A HREF="status.html?action=kill&threadid=##CID##" TITLE="Kill ##TARGET##: ##LBL####CLIENTDESCRIPTION##"><IMG CLASS="icon" SRC="image?i=ICKIL" ALT="Kill"></A> -
trunk/webif/status/status_pheadline.html
r9680 r10403 1 <P id="phead">Proxies <span id="pcc">##PCC##</span>/##PCA## </P>1 <P id="phead">Proxies <span id="pcc">##PCC##</span>/##PCA## ##PHEADADD##</P> -
trunk/webif/status/status_restartbutton.html
r9680 r10403 1 <A HREF="status.html?action=restart&label=##LBLENC##" TITLE="Restart the ##TARGET## ##LBL##"><IMG CLASS="icon" SRC="image?i=ICRES" ALT="Restart the ##TARGET## ##LBL##"></A>1 <A HREF="status.html?action=restart&label=##LBLENC##" TITLE="Restart ##TARGET##: ##LBL####CLIENTDESCRIPTION##"><IMG CLASS="icon" SRC="image?i=ICRES" ALT="Restart"></A> -
trunk/webif/status/status_rheadline.html
r9680 r10403 1 <P id="rhead">Readers <span id="rcc">##RCC##</span>/##RCA## </P>1 <P id="rhead">Readers <span id="rcc">##RCC##</span>/##RCA## ##RHEADADD##</P> -
trunk/webif/userconfig/userconfig_entry.html
r9838 r10403 1 1 <TR CLASS="##CLASSNAME##" id="##USERMD5##" nopoll=""> 2 <TD CLASS="usercol0"><A class="switchuser" data-next-action="##SWITCH##" data-user-name="##USERNAMEENC##" data- md5="##USERMD5##" HREF="#" TITLE="##SWITCHTITLE##"><IMG CLASS="icon" SRC="##SWITCHICO##" ALT="##SWITCHTITLE##"></A></TD>2 <TD CLASS="usercol0"><A class="switchuser" data-next-action="##SWITCH##" data-user-name="##USERNAMEENC##" data-desc="##DESCRIPTION##" data-md5="##USERMD5##" HREF="#" TITLE="##SWITCHTITLE## User: ##USERNAME####DESCRIPTION##"><IMG CLASS="icon" SRC="##SWITCHICO##" ALT="##SWITCHTITLE##"></A></TD> 3 3 <TD CLASS="usercol1" data-sort-value="##USERNAME##" TITLE="##USERNAME####DESCRIPTION##">##USERBIT####CLIENTCOUNTNOTIFIER##</TD> 4 4 <TD CLASS="usercol2" data-sort-value="##CLIENTIP##" TITLE="##CLIENTTIMETOSLEEP##">##STATUS##<BR>##CLIENTIP##</TD> … … 20 20 ##TPLCWANTICASCTBV## 21 21 <TD CLASS="usercol20 ##EXPIREVIEW##">##EXPDATE##</TD> 22 <TD CLASS="usercol23"><A HREF="user_edit.html?user=##USERNAMEENC##" TITLE="Edit this user"><IMG CLASS="icon" SRC="image?i=ICEDI" ALT="Edit User"></A></TD>23 <TD CLASS="usercol24"><A class="resetuser" data-next-action="resetstats" data-user-name="##USERNAMEENC##" HREF="#" TITLE="Reset statistics for this user"><IMG CLASS="icon" SRC="image?i=ICRES" ALT="Reset Stats"></A></TD>24 <TD CLASS="usercol25"><A class="deleteuser" data-next-action="delete" data-user-name="##USERNAMEENC##" data-md5="##USERMD5##" HREF="#" TITLE="Delete this user"><IMG CLASS="icon" SRC="image?i=ICDEL" ALT="Delete User"></A></TD>22 <TD CLASS="usercol23"><A HREF="user_edit.html?user=##USERNAMEENC##" TITLE="Edit User: ##USERNAME####DESCRIPTION##"><IMG CLASS="icon" SRC="image?i=ICEDI" ALT="Edit User"></A></TD> 23 <TD CLASS="usercol24"><A class="resetuser" data-next-action="resetstats" data-user-name="##USERNAMEENC##" HREF="#" TITLE="Reset statistics: ##USERNAME####DESCRIPTION##"><IMG CLASS="icon" SRC="image?i=ICRES" ALT="Reset Stats"></A></TD> 24 <TD CLASS="usercol25"><A class="deleteuser" data-next-action="delete" data-user-name="##USERNAMEENC##" data-md5="##USERMD5##" HREF="#" TITLE="Delete User: ##USERNAME####DESCRIPTION##"><IMG CLASS="icon" SRC="image?i=ICDEL" ALT="Delete User"></A></TD> 25 25 </TR>
Note:
See TracChangeset
for help on using the changeset viewer.