- Timestamp:
- 01/06/10 18:22:53 (14 years ago)
- Location:
- branches/monitor-improvement
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/monitor-improvement/globals.h
r1089 r1095 793 793 void chk_t_dvbapi(char *token, char *value); 794 794 void chk_account(char *token, char *value, struct s_auth *account); 795 void chk_sidtab(char *token, char *value, struct s_sidtab *sidtab); 795 796 int write_userdb(); 796 797 int write_config(); -
branches/monitor-improvement/oscam-config.c
r1091 r1095 1319 1319 } 1320 1320 1321 staticvoid chk_sidtab(char *token, char *value, struct s_sidtab *sidtab)1321 void chk_sidtab(char *token, char *value, struct s_sidtab *sidtab) 1322 1322 { 1323 1323 if (!strcmp(token, "caid")) { chk_entry4sidtab(value, sidtab, 0); return; } -
branches/monitor-improvement/oscam-http.c
r1088 r1095 547 547 } 548 548 if (!(account=malloc(sizeof(struct s_auth)))){ 549 550 551 549 cs_log("Error allocating memory (errno=%d)", errno); 550 return; 551 } 552 552 if(cfg->account == NULL) cfg->account = account; 553 553 else { … … 873 873 } 874 874 875 void send_oscam_services_edit(struct templatevars *vars, FILE *f, struct uriparams *params) { 876 struct s_sidtab *sidtab,*ptr; 877 char *label = getParam(params, "service"); 878 int i; 879 880 for (sidtab = cfg->sidtab; sidtab != NULL && strcmp(label, sidtab->label) != 0; sidtab=sidtab->next); 881 882 if (sidtab == NULL){ 883 i = 1; 884 while(strlen(label) < 1){ 885 snprintf(label, sizeof(label)/sizeof(char) - 1, "NEWSERVICE%d", i); 886 for (sidtab = cfg->sidtab; sidtab != NULL && strcmp(label, sidtab->label) != 0; sidtab = sidtab->next); 887 if(sidtab != NULL) label[0] = '\0'; 888 ++i; 889 } 890 if (!(sidtab=malloc(sizeof(struct s_sidtab)))){ 891 cs_log("Error allocating memory (errno=%d)", errno); 892 return; 893 } 894 895 if(cfg->sidtab == NULL) cfg->sidtab = sidtab; 896 else { 897 for (ptr = cfg->sidtab; ptr != NULL && ptr->next != NULL; ptr = ptr->next); 898 ptr->next = sidtab; 899 } 900 memset(sidtab, 0, sizeof(struct s_sidtab)); 901 strncpy((char *)sidtab->label, label, sizeof(sidtab->label)-1); 902 903 tpl_addVar(vars, 1, "MESSAGE", "<b>New service has been added</b><BR>"); 904 905 //todo save and reload 906 907 for (sidtab = cfg->sidtab; sidtab != NULL && strcmp(label, sidtab->label) != 0; sidtab=sidtab->next); 908 } 909 910 if (strcmp(getParam(params, "action"), "Save") == 0){ 911 for(i=0;i<(*params).paramcount;i++){ 912 if ((strcmp((*params).params[i], "action")) && (strcmp((*params).params[i], "service"))){ 913 chk_sidtab((*params).params[i], (*params).values[i], sidtab); 914 } 915 } 916 } 917 918 tpl_addVar(vars, 0, "LABEL", sidtab->label); 919 tpl_addVar(vars, 0, "LABELENC", urlencode(sidtab->label)); 920 921 for (i=0; i<sidtab->num_caid; i++){ 922 if (i==0) tpl_printf(vars, 0, "CAIDS", "%04X", sidtab->caid[i]); 923 else tpl_printf(vars, 1, "CAIDS", ",%04X", sidtab->caid[i]); 924 } 925 for (i=0; i<sidtab->num_provid; i++){ 926 if (i==0) tpl_printf(vars, 0, "PROVIDS", "%ld08X", sidtab->provid[i]); 927 else tpl_printf(vars, 1, "PROVIDS", ",%ld08X", sidtab->provid[i]); 928 } 929 for (i=0; i<sidtab->num_srvid; i++){ 930 if (i==0) tpl_printf(vars, 0, "SRVIDS", "%04X", sidtab->srvid[i]); 931 else tpl_printf(vars, 1, "SRVIDS", ",%04X", sidtab->srvid[i]); 932 } 933 fputs(tpl_getTpl(vars, "SERVICEEDIT"), f); 934 } 935 875 936 void send_oscam_services(struct templatevars *vars, FILE *f, struct uriparams *params) { 876 937 struct s_sidtab *sidtab = cfg->sidtab; … … 881 942 //Todo Delete Service 882 943 tpl_addVar(vars, 0, "MESSAGE", "<BR><B>Delete Service not yet implemented</B>"); 883 884 }885 886 if (strcmp(getParam(params, "action"), "edit") == 0){887 888 //Todo Edit Service889 tpl_addVar(vars, 0, "MESSAGE", "<BR><B>Edit Service not yet implemented</B>");890 891 }892 893 if (strcmp(getParam(params, "action"), "add") == 0){894 895 //Todo Add Service896 tpl_addVar(vars, 0, "MESSAGE", "<BR><B>Add Service not yet implemented</B>");897 944 898 945 } … … 906 953 } 907 954 } else { 908 tpl_printf(vars, 0, "SID","<A HREF=\"services.html?service=%s&action=list\">Show Services</A>",sidtab->label); 909 } 955 tpl_printf(vars, 0, "SID","<A HREF=\"services.html?service=%s&action=list\">Show Services</A>",tpl_addTmp(vars, urlencode(sidtab->label))); 956 } 957 tpl_addVar(vars, 0, "LABELENC", tpl_addTmp(vars, urlencode(sidtab->label))); 910 958 tpl_addVar(vars, 0, "LABEL", sidtab->label); 911 959 tpl_addVar(vars, 0, "SIDLIST", tpl_getTpl(vars, "SERVICECONFIGSIDBIT")); … … 961 1009 char *pch2; 962 1010 /* List of possible pages */ 963 char *pages[]={ "/config.html", 1011 char *pages[]={ 1012 "/config.html", 964 1013 "/readers.html", 965 1014 "/entitlements.html", … … 970 1019 "/user_edit.html", 971 1020 "/site.css", 1021 "/services_edit.html", 972 1022 "/savetemplates.html"}; 973 1023 int pagescnt = sizeof(pages)/sizeof(char *); // Calculate the amount of items in array … … 1078 1128 case 6: send_oscam_services(vars, f, ¶ms); break; 1079 1129 case 7: send_oscam_user_config_edit(vars, f, ¶ms); break; 1080 case 9: send_oscam_savetpls(vars, f); break; 1130 case 9: send_oscam_services_edit(vars, f, ¶ms); break; 1131 case 10: send_oscam_savetpls(vars, f); break; 1081 1132 default: send_oscam_status(vars, f, ¶ms); break; 1082 1133 } -
branches/monitor-improvement/oscam-http.h
r1088 r1095 667 667 ##SERVICETABS##\ 668 668 <TR>\n\ 669 <FORM action=\"services .html\" method=\"get\"><INPUT TYPE=\"hidden\" NAME=\"action\" VALUE=\"add\">\n\669 <FORM action=\"services_edit.html\" method=\"get\"><INPUT TYPE=\"hidden\" NAME=\"action\" VALUE=\"add\">\n\ 670 670 <TD>New Service:</TD>\n\ 671 671 <TD colspan=\"2\"><input name=\"service\" type=\"text\"></TD>\n\ … … 680 680 <TD>##LABEL##</TD>\n\ 681 681 <TD>##SIDLIST##</TD>\n\ 682 <TD><A HREF=\"services .html?service=##LABEL##&action=edit\">Edit Settings</A></TD>\n\683 <TD><A HREF=\"services.html?service=##LABEL ##&action=delete\">Delete Service</A></TD>\n\682 <TD><A HREF=\"services_edit.html?service=##LABELENC##&action=edit\">Edit Settings</A></TD>\n\ 683 <TD><A HREF=\"services.html?service=##LABELENC##&action=delete\">Delete Service</A></TD>\n\ 684 684 </TR>\n" 685 685 … … 687 687 ##SID##" 688 688 689 689 #define TPLSERVICEEDIT "\ 690 ##TPLHEADER##\ 691 ##TPLMENU##\n\ 692 <DIV CLASS=\"message\">##MESSAGE##</DIV>\ 693 <BR><BR>\n\ 694 <form action=\"services_edit.html\" method=\"get\">\n\ 695 <input name=\"service\" type=\"hidden\" value=\"##LABELENC##\">\n\ 696 <TABLE cellspacing=\"0\">\n\ 697 <TR>\n<TH> </TH>\n<TH>Edit Service ##LABEL##</TH>\n</TR>\n\ 698 <TR>\n<TD>CAID: </TD><TD><input name=\"caid\" type=\"text\" size=\"50\" maxlength=\"50\" value=\"##CAIDS##\"></TD></TR>\ 699 <TR>\n<TD>PROVID: </TD><TD><input name=\"provid\" type=\"text\" size=\"50\" maxlength=\"50\" value=\"##PROVIDS##\"></TD></TR>\ 700 <TR>\n<TD>SRVID: </TD><TD><textarea name=\"srvid\" cols=\"80\" rows=\"5\">##SRVIDS##</textarea></TD></TR>\ 701 <TR>\n<TD> </TD><TD align=\"right\"><input type=\"submit\" name=\"action\" value=\"Save\" title=\"Save service and reload services\"></TD>\n\ 702 </TABLE>\n\ 703 </form>\n\ 704 ##TPLFOOTER##" 690 705 691 706 enum refreshtypes {REFR_ACCOUNTS, REFR_READERS, REFR_SERVER, REFR_ANTICASC}; … … 726 741 "SERVICECONFIGLIST", 727 742 "SERVICECONFIGLISTBIT", 728 "SERVICECONFIGSIDBIT" 743 "SERVICECONFIGSIDBIT", 744 "SERVICEEDIT" 729 745 #ifdef HAVE_DVBAPI_3 730 746 ,"CONFIGDVBAPI" … … 773 789 TPLSERVICECONFIGLIST, 774 790 TPLSERVICECONFIGLISTBIT, 775 TPLSERVICECONFIGSIDBIT 791 TPLSERVICECONFIGSIDBIT, 792 TPLSERVICEEDIT 776 793 #ifdef HAVE_DVBAPI_3 777 794 ,TPLCONFIGDVBAPI -
branches/monitor-improvement/oscam-simples.c
r1065 r1095 397 397 /* Encode values in a http url. Note: Be sure to free() the returned string after use */ 398 398 char *urlencode(char *str){ 399 char *pstr = str, *buf = malloc(strlen(str) * 3 + 1), *pbuf = buf;399 char *pstr = str, *buf = (char *) malloc((strlen(str) * 3 + 1) * sizeof(char)), *pbuf = buf; 400 400 while (*pstr) { 401 401 if (isalnum(*pstr) || *pstr == '-' || *pstr == '_' || *pstr == '.' || *pstr == '~') *pbuf++ = *pstr; … … 409 409 } 410 410 *pbuf = '\0'; 411 return buf; 411 pbuf = (char *) malloc((strlen(buf) + 1) * sizeof(char)); 412 strcpy(pbuf, buf); 413 free(buf); 414 return pbuf; 412 415 } 413 416
Note:
See TracChangeset
for help on using the changeset viewer.