Changeset 15338


Ignore:
Timestamp:
04/21/12 16:36:21 (10 years ago)
Author:
nit
Message:

[titan] extend httpd api

Location:
titan
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • titan/doc/htmlapi.txt

    r15335 r15338  
    77
    88query: sendrc
     9raw: nothing
    910desc: send rc code
    1011param: rc code
    1112
    1213query: getrectimer
     14raw: begin#end#justplay#repeate#name#serviceid#transpoderid#status#errstr#timestamp
    1315desc: get aktive record timer
    1416param: no
    1517
    1618query: addrectimer
     19raw: ?
    1720desc: add a record timer
    1821param: ?
    1922
    2023query: delrectimer
     24raw: ?
    2125desc: delete a record timer
    2226param: ?
    2327
    2428query: editrectimer
     29raw: ?
    2530desc: edit a record timer
    2631param: ?
    2732
    2833query: rectimersend
     34raw: ?
    2935desc: ?
    3036param: ?
    3137
    3238query: getrectimerarchive
     39raw: begin#end#justplay#repeate#name#serviceid#transpoderid#status#errstr#timestamp
    3340desc: get old record timer
    3441param: no
    3542
    3643query: setvol
     44raw: returns the aktive vol (0-100)
    3745desc: set the volume
    3846param: 0-100
    3947
    4048query: setmute
     49raw: returns the aktive mute (0/1)
    4150descr: set mute
    4251param: 0/1
    4352
    4453query: getbouquet
     54raw: bouquetname#type
    4555desc: get a list of all bouquets
    4656param: no
    4757
    4858query: getsat
     59raw: satname#orbitalpos
    4960desc: get a list of all sat
    5061param: no
    5162
    5263query: getprovider
     64raw: providername#number
    5365desc: get a list of all provoder
    5466param: no
    5567
    5668query: getaz
     69raw: returns A-Z
    5770desc: get chars A-Z
    5871param: no
    5972
    6073query: getchannelpage
     74raw: channelname#proz#serviceid#transponderid#channellist#servicetype#eventid
    6175desc: get a channel page
     76param: 0 = 0, 1 = orbitalpos, 2 = providername, 3 = A-Z
    6277param: type (0 = all, 1 = sat, 2 = provider, 3 = A-Z)
    6378param: page nr
    6479
    6580query: getallchannel
     81raw: channelname#proz#serviceid#transponderid#channellist#servicetype#eventid
    6682desc: get all channel
    6783param: no
    6884
    6985query: getbouquetchannel
     86raw: channelname#proz#serviceid#transponderid#channellist#servicetype#eventid
    7087desc: get all channel from a bouquet
    7188param: bouquetname
    7289
    7390query: getsatchannel
     91raw: channelname#proz#serviceid#transponderid#channellist#servicetype#eventid
    7492desc: get all channel from a sat
    7593param: orbitalposition
    7694
    7795query: getproviderchannel
     96raw: channelname#proz#serviceid#transponderid#channellist#servicetype#eventid
    7897desc: get all channel from a provider
    7998param: providername
    8099
    81100query: getazchannel
     101raw: channelname#proz#serviceid#transponderid#channellist#servicetype#eventid
    82102desc: get all channel from first char
    83103param: char (A-Z)
    84104
    85105query: switch
     106raw: channelname#proz#serviceid#transponderid#channellist#servicetype#eventid
    86107desc: change channel
    87108param: channelid
     
    89110
    90111query: getaktservice
     112raw: channelname#proz#serviceid#transponderid#channellist#servicetype#eventid
    91113desc: get akt service
    92114param: no
    93115
    94116query: getepg
     117raw: epgshort#begin#end#subtitle#epglong
    95118desc: get epg from a channel
    96119param: channelid
     
    99122
    100123query: getmovieepg
     124raw: returns .epg
    101125desc: gets the epg to a recordet movie
    102126param: movie name (full path)
    103127
    104128query: getsingleepg
     129raw: epgshort#begin#end#subtitle
    105130desc: get all epg to a channel
    106131param: channelid
     
    108133
    109134query: getgmultiepg
     135raw: ?
    110136desc: get all epg from all channel in a bouquet
    111137param: bouquetname
     
    113139
    114140query: getepgsearch
     141raw: ?
    115142desc: search epg entry
    116143param: ?
    117144
    118145query: getsignal
     146raw: ber#unc#signal#snr
    119147desc: get tuner signals
    120148param: no
    121149
    122150query: getmoviefilelist
     151raw: name#type (dir = 0, file = 1)
    123152desc: get a list of movies
    124 param: path
     153param: empty or path
    125154param: page nr
    126155
    127156query: delmoviefile
     157raw: ?
    128158desc: delete a file
    129159param: ?
    130160
    131161query: getm3u
     162raw: m3u format
    132163desc: get m3u file from a movie
    133164param: moviename
    134165
    135166query: getvideo
     167raw: http url string for video
    136168desc: get html inline code for playing movie
    137169param: moviename
    138170
    139171query: getshoot
     172raw: fixtext shoot.html
    140173desc: get a screenshot
    141174param: type (gui, tv, gui + tv)
    142175
    143176query: poweroff
     177raw: nothing
    144178desc: poweroff the box
    145179param: no
    146180
    147181query: restart
     182raw: nothing
    148183desc: restart the box
    149184param: no
    150185
    151186query: guirestart
     187raw: nothing
    152188desc: gui restart the box
    153189param: no
    154190
    155191query: standby
     192raw: nothing
    156193desc: set box in standby
    157194param: no
    158195
    159196query: boxstatus
     197raw: running or standby
    160198desc: get boxstatus (running or standby)
    161199param: no
    162200
    163201query: message
     202raw: fixtext Message send
    164203desc: shows the message on tv
    165204param; message
  • titan/titan/httpd.h

    r14619 r15338  
    141141        char* buf = NULL, *header = NULL, *param = NULL;
    142142        char* ext = NULL, *mime = NULL;
    143         int buflen = 0, onlyheader = 0, code = 200;
     143        int buflen = 0, onlyheader = 0, code = 200, fmt = 0;
    144144
    145145        //create param
     
    149149
    150150        if(ostrcmp(query, "sendrc") == 0)
    151                 websendrc(param);
     151                websendrc(param, fmt);
    152152        if(ostrcmp(query, "getrectimer") == 0)
    153                 buf = webgetrectimer(param, 0);
     153                buf = webgetrectimer(param, 0, fmt);
    154154        if(ostrcmp(query, "addrectimer") == 0)
    155                 buf = webaddrectimer(param);
     155                buf = webaddrectimer(param, fmt);
    156156        if(ostrcmp(query, "delrectimer") == 0)
    157                 buf = webdelrectimer(param);
     157                buf = webdelrectimer(param, fmt);
    158158        if(ostrcmp(query, "editrectimer") == 0)
    159                 buf = webeditrectimer(param);
     159                buf = webeditrectimer(param, fmt);
    160160        if(ostrcmp(query, "rectimersend") == 0)
    161                 buf = webrectimersend(param);
     161                buf = webrectimersend(param, fmt);
    162162        if(ostrcmp(query, "getrectimerarchive") == 0)
    163                 buf = webgetrectimer(param, 1);
     163                buf = webgetrectimer(param, 1, fmt);
    164164        if(ostrcmp(query, "setvol") == 0)
    165                 buf = websetvol(param);
     165                buf = websetvol(param, fmt);
    166166        if(ostrcmp(query, "setmute") == 0)
    167                 buf = websetmute(param);
     167                buf = websetmute(param, fmt);
    168168        if(ostrcmp(query, "getbouquet") == 0)
    169                 buf = webgetbouquet();
     169                buf = webgetbouquet(fmt);
    170170        if(ostrcmp(query, "getsat") == 0)
    171                 buf = webgetsat();
     171                buf = webgetsat(fmt);
    172172        if(ostrcmp(query, "getprovider") == 0)
    173                 buf = webgetprovider();
     173                buf = webgetprovider(fmt);
    174174        if(ostrcmp(query, "getaz") == 0)
    175                 buf = webgetaz();
     175                buf = webgetaz(fmt);
    176176        if(ostrcmp(query, "getchannelpage") == 0)
    177                 buf = webgetchannelpage(param);
     177                buf = webgetchannelpage(param, fmt);
    178178        if(ostrcmp(query, "getallchannel") == 0)
    179                 buf = webgetchannel(0, 0, 1);
     179                buf = webgetchannel(0, 0, 1, fmt);
    180180        if(ostrcmp(query, "getbouquetchannel") == 0)
    181                 buf = webgetbouquetchannel(param);
     181                buf = webgetbouquetchannel(param, fmt);
    182182        if(ostrcmp(query, "getsatchannel") == 0 && param != NULL)
    183                 buf = webgetchannel(atoi(param), 1, 1);
     183                buf = webgetchannel(atoi(param), 1, 1, fmt);
    184184        if(ostrcmp(query, "getproviderchannel") == 0 && param != NULL)
    185                 buf = webgetchannel(atoi(param), 2, 1);
     185                buf = webgetchannel(atoi(param), 2, 1, fmt);
    186186        if(ostrcmp(query, "getazchannel") == 0 && param != NULL)
    187                 buf = webgetchannel(atoi(param), 3, 1);
     187                buf = webgetchannel(atoi(param), 3, 1, fmt);
    188188        if(ostrcmp(query, "switch") == 0)
    189                 buf = webswitch(param);
     189                buf = webswitch(param, fmt);
    190190        if(ostrcmp(query, "getaktservice") == 0)
    191                 buf = webgetaktservice();
     191                buf = webgetaktservice(fmt);
    192192        if(ostrcmp(query, "getepg") == 0)
    193                 buf = webgetepg(param);
     193                buf = webgetepg(param, fmt);
    194194        if(ostrcmp(query, "getmovieepg") == 0)
    195                 buf = webgetmovieepg(param, getconfig("rec_streampath", NULL), 1);
     195                buf = webgetmovieepg(param, getconfig("rec_streampath", NULL), 1, fmt);
    196196        if(ostrcmp(query, "getsingleepg") == 0)
    197                 buf = webgetsingleepg(param);
     197                buf = webgetsingleepg(param, fmt);
    198198        if(ostrcmp(query, "getgmultiepg") == 0)
    199                 buf = webgetgmultiepg(param);
     199                buf = webgetgmultiepg(param, fmt);
    200200        if(query != NULL && strstr(query, "getepgsearch") == query)
    201                 buf = webgetepgsearch(query, param);
     201                buf = webgetepgsearch(query, param, fmt);
    202202        if(ostrcmp(query, "getsignal") == 0)
    203                 buf = webgetsignal();
     203                buf = webgetsignal(fmt);
    204204        if(ostrcmp(query, "getmoviefilelist") == 0)
    205                 buf = webgetfilelist(param, "getmoviefilelist", "delmoviefile", getconfig("rec_streampath", NULL), "*.avi *.dat *.divx *.flv *.mkv *.m4v *.mp4 *.mov *.mpg *.mpeg *.mts *.m2ts *.trp *.ts *.vdr *.vob *.wmv *.rm", 31);
     205                buf = webgetfilelist(param, "getmoviefilelist", "delmoviefile", getconfig("rec_streampath", NULL), "*.avi *.dat *.divx *.flv *.mkv *.m4v *.mp4 *.mov *.mpg *.mpeg *.mts *.m2ts *.trp *.ts *.vdr *.vob *.wmv *.rm", 31, fmt);
    206206        if(ostrcmp(query, "delmoviefile") == 0)
    207                 buf = webdelfile(param, "getmoviefilelist", "delmoviefile", getconfig("rec_streampath", NULL), "*.avi *.dat *.divx *.flv *.mkv *.m4v *.mp4 *.mov *.mpg *.mpeg *.mts *.m2ts *.trp *.ts *.vdr *.vob *.wmv *.rm", 31);
     207                buf = webdelfile(param, "getmoviefilelist", "delmoviefile", getconfig("rec_streampath", NULL), "*.avi *.dat *.divx *.flv *.mkv *.m4v *.mp4 *.mov *.mpg *.mpeg *.mts *.m2ts *.trp *.ts *.vdr *.vob *.wmv *.rm", 31, fmt);
    208208        if(ostrcmp(query, "getm3u") == 0)
    209209        {
    210                 buf = webgetm3u(param, *connfd);
    211                 ext = "Content-Disposition: attachment; filename=stream.m3u";
    212                 mime = "text/plain";
     210                buf = webgetm3u(param, *connfd, fmt);
     211                if(fmt == 0)
     212                {
     213                        ext = "Content-Disposition: attachment; filename=stream.m3u";
     214                        mime = "text/plain";
     215                }
    213216        }
    214217        if(ostrcmp(query, "getvideo") == 0)
    215                 buf = webgetvideo(param, *connfd);
     218                buf = webgetvideo(param, *connfd, fmt);
    216219        if(ostrcmp(query, "getshoot") == 0)
    217220        {
    218                 webgetshoot(param);
    219                 ext = "Location: shoot.html";
    220                 onlyheader = 1;
    221                 code = 302;
     221                webgetshoot(param, fmt);
     222                if(fmt == 0)
     223                {
     224                        ext = "Location: shoot.html";
     225                        onlyheader = 1;
     226                        code = 302;
     227                }
     228                else
     229                        buf = ostrcat("shoot.html", NULL, 0, 0);
    222230        }
    223231        if(query != NULL && strstr(query, "poweroff") == query)
     
    235243        {
    236244                if(status.standby > 0)
    237                         sendoktext(connfd, "standby", auth);
     245                {
     246                        if(fmt == 0)
     247                                sendoktext(connfd, "standby", auth);
     248                        else
     249                                buf = ostrcat("standby", NULL, 0, 0);
     250                }
    238251                else
    239                         sendoktext(connfd, "running", auth);
     252                {
     253                        if(fmt == 0)
     254                                sendoktext(connfd, "running", auth);
     255                        else
     256                                buf = ostrcat("running", NULL, 0, 0);
     257                }
    240258        }
    241259        if(query != NULL && strstr(query, "message") == query)
    242                 buf = websendmessage(query);
     260                buf = websendmessage(query, fmt);
    243261               
    244262        if(buf != NULL || onlyheader == 1)
  • titan/titan/httpdfunc.h

    r14751 r15338  
    8787}
    8888
    89 void webcreatechannelbody(char** buf, int line, struct channel* chnode, char* channellist, int* maxlen, int* pos, int flag)
     89void webcreatechannelbody(char** buf, int line, struct channel* chnode, char* channellist, int* maxlen, int* pos, int flag, int fmt)
    9090{
    9191        char* tmpstr = NULL, *buf1 = NULL, *serviceid = NULL, *transponderid = NULL;
     
    105105        }
    106106
    107         if(line == 0)
    108                 ostrcatbig(buf, "<tr class=line1>", maxlen, pos);
    109         else
    110                 ostrcatbig(buf, "<tr class=line2>", maxlen, pos);
    111 
     107        if(fmt == 0)
     108        {
     109                if(line == 0)
     110                        ostrcatbig(buf, "<tr class=line1>", maxlen, pos);
     111                else
     112                        ostrcatbig(buf, "<tr class=line2>", maxlen, pos);
     113        }
    112114
    113115        if(epgnode != NULL)
     
    118120        }
    119121
    120         ostrcatbig(buf, "<td width=100% valign=middle nowrap class=link><div class=timelineborder><div class=timelinebar style=\"width: ", maxlen, pos);
    121         tmpstr = oitoa(proz);
    122         ostrcatbig(buf, tmpstr, maxlen, pos);
    123         free(tmpstr); tmpstr = NULL;
    124         ostrcatbig(buf, "%;\"> </div></div>", maxlen, pos);
     122        if(fmt == 0)
     123        {
     124                ostrcatbig(buf, "<td width=100% valign=middle nowrap class=link><div class=timelineborder><div class=timelinebar style=\"width: ", maxlen, pos);
     125                tmpstr = oitoa(proz);
     126                ostrcatbig(buf, tmpstr, maxlen, pos);
     127                free(tmpstr); tmpstr = NULL;
     128                ostrcatbig(buf, "%;\"> </div></div>", maxlen, pos);
     129        }
    125130
    126131        serviceid = oitoa(chnode->serviceid);
    127132        transponderid = olutoa(chnode->transponderid);
    128133
    129         if(ret == 0)
     134        if(fmt == 0 && ret == 0)
    130135        {
    131136                ostrcatbig(buf, "<a target=aktservice class=link href=query?switch&", maxlen, pos);
     
    138143        }
    139144
    140         ostrcatbig(buf, chnode->name, maxlen, pos);
    141         if(ret == 0) ostrcatbig(buf, "</a>", maxlen, pos);
     145        if(fmt == 0)
     146        {
     147                ostrcatbig(buf, chnode->name, maxlen, pos);
     148                if(ret == 0)
     149                        ostrcatbig(buf, "</a>", maxlen, pos);
     150        }
     151        else
     152        {
     153                *buf = ostrcat(*buf, chnode->name, 1, 0);
     154                *buf = ostrcat(*buf, "#", 1, 0);
     155                *buf = ostrcat(*buf, oitoa(proz), 1, 1);
     156                *buf = ostrcat(*buf, "#", 1, 0);
     157                *buf = ostrcat(*buf, serviceid, 1, 0);
     158                *buf = ostrcat(*buf, "#", 1, 0);
     159                *buf = ostrcat(*buf, transponderid, 1, 0);
     160                *buf = ostrcat(*buf, "#", 1, 0);
     161                *buf = ostrcat(*buf, channellist, 1, 0);
     162                *buf = ostrcat(*buf, "#", 1, 0);
     163                *buf = ostrcat(*buf, oitoa(chnode->servicetype), 1, 1);
     164                *buf = ostrcat(*buf, "#", 1, 0);
     165                if(epgnode != NULL)
     166                        *buf = ostrcat(*buf, oitoa(epgnode->eventid), 1, 1);
     167                else
     168                        *buf = ostrcat(*buf, "0", 1, 0);
     169                *buf = ostrcat(*buf, "\n", 1, 0);
     170        }
    142171
    143172        //akt epg
    144         if(epgnode != NULL)
     173        if(fmt == 0 && epgnode != NULL)
    145174        {
    146175                if(flag == 0)
     
    209238
    210239        //tv - radio
    211         if(chnode->servicetype == 0)
    212                 ostrcatbig(buf, "</td><td width=100 align=right valign=middle nowrap><img style=\"margin-left: 5\" border=0 src=img/tv.png alt=TV width=16 height=16>", maxlen, pos);
    213         else
    214                 ostrcatbig(buf, "</td><td width=100 align=right valign=middle nowrap><img style=\"margin-left: 5\" border=0 src=img/radio.png alt=Radio width=16 height=16>", maxlen, pos);
    215 
    216         //single epg
    217         ostrcatbig(buf, "<a target=main href=query?getsingleepg&", maxlen, pos);
    218         ostrcatbig(buf, serviceid, maxlen, pos);
    219         ostrcatbig(buf, "&", maxlen, pos);
    220         ostrcatbig(buf, transponderid, maxlen, pos);
    221         ostrcatbig(buf, "><img style=\"margin-left: 5\" border=0 src=img/singleepg.png alt=\"Single EPG\" width=16 height=16></a>", maxlen, pos);
    222 
    223         //m3u stream + webstream
    224         if(ret == 0)
    225         {
    226                 ostrcatbig(buf, "<a target=nothing href=query?getm3u&", maxlen, pos);
     240        if(fmt == 0)
     241        {
     242                if(chnode->servicetype == 0)
     243                        ostrcatbig(buf, "</td><td width=100 align=right valign=middle nowrap><img style=\"margin-left: 5\" border=0 src=img/tv.png alt=TV width=16 height=16>", maxlen, pos);
     244                else
     245                        ostrcatbig(buf, "</td><td width=100 align=right valign=middle nowrap><img style=\"margin-left: 5\" border=0 src=img/radio.png alt=Radio width=16 height=16>", maxlen, pos);
     246
     247                //single epg
     248                ostrcatbig(buf, "<a target=main href=query?getsingleepg&", maxlen, pos);
    227249                ostrcatbig(buf, serviceid, maxlen, pos);
    228                 ostrcatbig(buf, ",", maxlen, pos);
     250                ostrcatbig(buf, "&", maxlen, pos);
    229251                ostrcatbig(buf, transponderid, maxlen, pos);
    230                 ostrcatbig(buf, "><img style=\"margin-left: 5\" border=0 src=img/stream.png alt=Stream width=16 height=16></a>", maxlen, pos);
    231 
    232                 ostrcatbig(buf, "<a target=_blank href=query?getvideo&", maxlen, pos);
    233                 ostrcatbig(buf, serviceid, maxlen, pos);
    234                 ostrcatbig(buf, ",", maxlen, pos);
    235                 ostrcatbig(buf, transponderid, maxlen, pos);
    236                 ostrcatbig(buf, "><img style=\"margin-left: 5\" border=0 src=img/webstream.png alt=WebStream width=16 height=16></a>", maxlen, pos);
    237         }
    238         else
    239                 ostrcatbig(buf, "<img style=\"margin-left: 5\" border=0 src=img/cross.png alt=\"Channel not availabel\" width=16 height=16>", maxlen, pos);
    240         ostrcatbig(buf, "</td></tr>", maxlen, pos);
     252                ostrcatbig(buf, "><img style=\"margin-left: 5\" border=0 src=img/singleepg.png alt=\"Single EPG\" width=16 height=16></a>", maxlen, pos);
     253
     254                //m3u stream + webstream
     255                if(ret == 0)
     256                {
     257                        ostrcatbig(buf, "<a target=nothing href=query?getm3u&", maxlen, pos);
     258                        ostrcatbig(buf, serviceid, maxlen, pos);
     259                        ostrcatbig(buf, ",", maxlen, pos);
     260                        ostrcatbig(buf, transponderid, maxlen, pos);
     261                        ostrcatbig(buf, "><img style=\"margin-left: 5\" border=0 src=img/stream.png alt=Stream width=16 height=16></a>", maxlen, pos);
     262
     263                        ostrcatbig(buf, "<a target=_blank href=query?getvideo&", maxlen, pos);
     264                        ostrcatbig(buf, serviceid, maxlen, pos);
     265                        ostrcatbig(buf, ",", maxlen, pos);
     266                        ostrcatbig(buf, transponderid, maxlen, pos);
     267                        ostrcatbig(buf, "><img style=\"margin-left: 5\" border=0 src=img/webstream.png alt=WebStream width=16 height=16></a>", maxlen, pos);
     268                }
     269                else
     270                        ostrcatbig(buf, "<img style=\"margin-left: 5\" border=0 src=img/cross.png alt=\"Channel not availabel\" width=16 height=16>", maxlen, pos);
     271                ostrcatbig(buf, "</td></tr>", maxlen, pos);
     272        }
    241273
    242274        free(buf1);
     
    245277}
    246278
    247 char* webgetbouquetchannel(char* param)
     279char* webgetbouquetchannel(char* param, int fmt)
    248280{
    249281        char* buf = NULL, *tmpstr = NULL, *tmpstr1 = NULL;
     
    255287        if(param == NULL) return NULL;
    256288
    257         webcreateheadbig(&buf, &maxlen, "<meta http-equiv=refresh content=15>", &pos, 0);
     289        if(fmt == 0) webcreateheadbig(&buf, &maxlen, "<meta http-equiv=refresh content=15>", &pos, 0);
    258290
    259291        mbouquet = getmainbouquet(param);
     
    270302                        if(chnode != NULL)
    271303                        {
    272                                 webcreatechannelbody(&buf, line, chnode, tmpstr1, &maxlen, &pos, 0);
     304                                webcreatechannelbody(&buf, line, chnode, tmpstr1, &maxlen, &pos, 0, fmt);
    273305                                if(line == 0)
    274306                                        line = 1;
     
    280312                free(tmpstr1); tmpstr1 = NULL;
    281313        }
    282         webcreatetailbig(&buf, &maxlen, &pos, 0);
     314        if(fmt == 0) webcreatetailbig(&buf, &maxlen, &pos, 0);
    283315
    284316        return buf;
     
    289321//flag 2: provider
    290322//flag 3: A-Z
    291 char* webgetchannel(int param, int flag, int page)
     323char* webgetchannel(int param, int flag, int page, int fmt)
    292324{
    293325        char* buf = NULL, *tmpnr = NULL, *tmpstr = NULL, *tmpstr1 = NULL;
     
    295327        int line = 0, maxcount = 0, maxlen = 0, pos = 0;
    296328
    297         webcreateheadbig(&buf, &maxlen, "<meta http-equiv=refresh content=15>", &pos, 0);
     329        if(fmt == 0) webcreateheadbig(&buf, &maxlen, "<meta http-equiv=refresh content=15>", &pos, 0);
    298330
    299331        if(flag == 0) tmpstr1 = ostrcat(tmpstr1, "(ALL)", 1, 0);
     
    364396                        continue;
    365397                }
    366                 webcreatechannelbody(&buf, line, chnode, tmpstr1, &maxlen, &pos, 0);
     398                webcreatechannelbody(&buf, line, chnode, tmpstr1, &maxlen, &pos, 0, fmt);
    367399
    368400                if(line == 0)
     
    375407        free(tmpstr); tmpstr = NULL;
    376408
    377         if(maxcount > MAXHTMLLINE)
     409        if(fmt == 0 && maxcount > MAXHTMLLINE)
    378410        {
    379411                int i;
     
    404436        }
    405437
    406         webcreatetailbig(&buf, &maxlen, &pos, 0);
    407         return buf;
    408 }
    409 
    410 char* webgetprovider()
     438        if(fmt == 0) webcreatetailbig(&buf, &maxlen, &pos, 0);
     439        return buf;
     440}
     441
     442char* webgetprovider(int fmt)
    411443{
    412444        char* buf = NULL, *tmpstr = NULL;
     
    414446        int line = 0, maxlen = 0, pos = 0;
    415447
    416         webcreateheadbig(&buf, &maxlen, NULL, &pos, 0);
     448        if(fmt == 0) webcreateheadbig(&buf, &maxlen, NULL, &pos, 0);
    417449
    418450        while(node != NULL)
    419451        {
    420                 if(line == 0)
    421                 {
    422                         ostrcatbig(&buf, "<tr class=line1><td nowrap><a class=link href=\"query?getproviderchannel&", &maxlen, &pos);
    423                         tmpstr = oitoa(node->providerid);
    424                         ostrcatbig(&buf, tmpstr, &maxlen, &pos);
    425                         free(tmpstr); tmpstr = NULL;
    426                         ostrcatbig(&buf, "\">", &maxlen, &pos);
    427                         line = 1;
    428                 }
    429                 else
    430                 {
    431                         ostrcatbig(&buf, "<tr class=line2><td nowrap><a class=link href=\"query?getproviderchannel&", &maxlen, &pos);
    432                         tmpstr = oitoa(node->providerid);
    433                         ostrcatbig(&buf, tmpstr, &maxlen, &pos);
    434                         free(tmpstr); tmpstr = NULL;
    435                         ostrcatbig(&buf, "\">", &maxlen, &pos);
    436                         line = 0;
    437                 }
    438                 ostrcatbig(&buf, node->name, &maxlen, &pos);
    439                 ostrcatbig(&buf, "</td></tr>", &maxlen, &pos);
     452                if(fmt == 0)
     453                {
     454                        if(line == 0)
     455                        {
     456                                ostrcatbig(&buf, "<tr class=line1><td nowrap><a class=link href=\"query?getproviderchannel&", &maxlen, &pos);
     457                                tmpstr = oitoa(node->providerid);
     458                                ostrcatbig(&buf, tmpstr, &maxlen, &pos);
     459                                free(tmpstr); tmpstr = NULL;
     460                                ostrcatbig(&buf, "\">", &maxlen, &pos);
     461                                line = 1;
     462                        }
     463                        else
     464                        {
     465                                ostrcatbig(&buf, "<tr class=line2><td nowrap><a class=link href=\"query?getproviderchannel&", &maxlen, &pos);
     466                                tmpstr = oitoa(node->providerid);
     467                                ostrcatbig(&buf, tmpstr, &maxlen, &pos);
     468                                free(tmpstr); tmpstr = NULL;
     469                                ostrcatbig(&buf, "\">", &maxlen, &pos);
     470                                line = 0;
     471                        }
     472                        ostrcatbig(&buf, node->name, &maxlen, &pos);
     473                        ostrcatbig(&buf, "</td></tr>", &maxlen, &pos);
     474                }
     475                else
     476                {
     477                        buf = ostrcat(buf, node->name, 1, 0);
     478                        buf = ostrcat(buf, "#", 1, 0);
     479                        buf = ostrcat(buf, oitoa(node->providerid), 1, 1);
     480                        buf = ostrcat(buf, "\n", 1, 0);
     481                }
    440482
    441483                node = node->next;
    442484        }
    443485
    444         webcreatetailbig(&buf, &maxlen, &pos, 0);
    445         return buf;
    446 }
    447 
    448 char* webgetsat()
     486        if(fmt == 0) webcreatetailbig(&buf, &maxlen, &pos, 0);
     487        return buf;
     488}
     489
     490char* webgetsat(int fmt)
    449491{
    450492        char* buf = NULL, *tmpstr = NULL;
     
    452494        int line = 0, maxlen = 0, pos = 0;
    453495
    454         webcreateheadbig(&buf, &maxlen, NULL, &pos, 0);
     496        if(fmt == 0) webcreateheadbig(&buf, &maxlen, NULL, &pos, 0);
    455497
    456498        while(node != NULL)
    457499        {
    458                 if(line == 0)
    459                 {
    460                         ostrcatbig(&buf, "<tr class=line1><td nowrap><a class=link href=\"query?getsatchannel&", &maxlen, &pos);
    461                         tmpstr = oitoa(node->orbitalpos);
    462                         ostrcatbig(&buf, tmpstr, &maxlen, &pos);
    463                         free(tmpstr); tmpstr = NULL;
    464                         ostrcatbig(&buf, "\">", &maxlen, &pos);
    465                         line = 1;
    466                 }
    467                 else
    468                 {
    469                         ostrcatbig(&buf, "<tr class=line2><td nowrap><a class=link href=\"query?getsatchannel&", &maxlen, &pos);
    470                         tmpstr = oitoa(node->orbitalpos);
    471                         ostrcatbig(&buf, tmpstr, &maxlen, &pos);
    472                         free(tmpstr); tmpstr = NULL;
    473                         ostrcatbig(&buf, "\">", &maxlen, &pos);
    474                         line = 0;
    475                 }
    476                 ostrcatbig(&buf, node->name, &maxlen, &pos);
    477                 ostrcatbig(&buf, "</td></tr>", &maxlen, &pos);
     500                if(fmt == 0)
     501                {
     502                        if(line == 0)
     503                        {
     504                                ostrcatbig(&buf, "<tr class=line1><td nowrap><a class=link href=\"query?getsatchannel&", &maxlen, &pos);
     505                                tmpstr = oitoa(node->orbitalpos);
     506                                ostrcatbig(&buf, tmpstr, &maxlen, &pos);
     507                                free(tmpstr); tmpstr = NULL;
     508                                ostrcatbig(&buf, "\">", &maxlen, &pos);
     509                                line = 1;
     510                        }
     511                        else
     512                        {
     513                                ostrcatbig(&buf, "<tr class=line2><td nowrap><a class=link href=\"query?getsatchannel&", &maxlen, &pos);
     514                                tmpstr = oitoa(node->orbitalpos);
     515                                ostrcatbig(&buf, tmpstr, &maxlen, &pos);
     516                                free(tmpstr); tmpstr = NULL;
     517                                ostrcatbig(&buf, "\">", &maxlen, &pos);
     518                                line = 0;
     519                        }
     520                        ostrcatbig(&buf, node->name, &maxlen, &pos);
     521                        ostrcatbig(&buf, "</td></tr>", &maxlen, &pos);
     522                }
     523                else
     524                {
     525                        buf = ostrcat(buf, node->name, 1, 0);
     526                        buf = ostrcat(buf, "#", 1, 0);
     527                        buf = ostrcat(buf, oitoa(node->orbitalpos), 1, 1);
     528                        buf = ostrcat(buf, "\n", 1, 0);
     529                }
    478530
    479531                node = node->next;
    480532        }
    481533
    482         webcreatetailbig(&buf, &maxlen, &pos, 0);
    483         return buf;
    484 }
    485 
    486 char* webgetaz()
     534        if(fmt == 0) webcreatetailbig(&buf, &maxlen, &pos, 0);
     535        return buf;
     536}
     537
     538char* webgetaz(int fmt)
    487539{
    488540        char* buf = NULL, *tmpstr = NULL, *tmpnr = NULL;
     
    496548        }
    497549
    498         webcreateheadbig(&buf, &maxlen, NULL, &pos, 0);
     550        if(fmt == 0) webcreateheadbig(&buf, &maxlen, NULL, &pos, 0);
    499551
    500552        for(i = 65; i < 91; i++)
    501553        {
    502                 if(line == 0)
    503                 {
    504                         ostrcatbig(&buf, "<tr class=line1><td nowrap><a class=link href=\"query?getazchannel&", &maxlen, &pos);
    505                         tmpnr = oitoa(i);
    506                         ostrcatbig(&buf, tmpnr, &maxlen, &pos);
    507                         free(tmpnr); tmpnr = NULL;
    508                         ostrcatbig(&buf, "\">", &maxlen, &pos);
    509                         line = 1;
    510                 }
    511                 else
    512                 {
    513                         ostrcatbig(&buf, "<tr class=line2><td nowrap><a class=link href=\"query?getazchannel&", &maxlen, &pos);
    514                         tmpnr = oitoa(i);
    515                         ostrcatbig(&buf, tmpnr, &maxlen, &pos);
    516                         free(tmpnr); tmpnr = NULL;
    517                         ostrcatbig(&buf, "\">", &maxlen, &pos);
    518                         line = 0;
    519                 }
    520                 snprintf(tmpstr, 2, "%c", i);
    521                 ostrcatbig(&buf, tmpstr, &maxlen, &pos);
    522                 ostrcatbig(&buf, "</td></tr>", &maxlen, &pos);
    523         }
    524 
    525         webcreatetailbig(&buf, &maxlen, &pos, 0);
     554                if(fmt == 0)
     555                {
     556                        if(line == 0)
     557                        {
     558                                ostrcatbig(&buf, "<tr class=line1><td nowrap><a class=link href=\"query?getazchannel&", &maxlen, &pos);
     559                                tmpnr = oitoa(i);
     560                                ostrcatbig(&buf, tmpnr, &maxlen, &pos);
     561                                free(tmpnr); tmpnr = NULL;
     562                                ostrcatbig(&buf, "\">", &maxlen, &pos);
     563                                line = 1;
     564                        }
     565                        else
     566                        {
     567                                ostrcatbig(&buf, "<tr class=line2><td nowrap><a class=link href=\"query?getazchannel&", &maxlen, &pos);
     568                                tmpnr = oitoa(i);
     569                                ostrcatbig(&buf, tmpnr, &maxlen, &pos);
     570                                free(tmpnr); tmpnr = NULL;
     571                                ostrcatbig(&buf, "\">", &maxlen, &pos);
     572                                line = 0;
     573                        }
     574                        snprintf(tmpstr, 2, "%c", i);
     575                        ostrcatbig(&buf, tmpstr, &maxlen, &pos);
     576                        ostrcatbig(&buf, "</td></tr>", &maxlen, &pos);
     577                }
     578                else
     579                {
     580                        snprintf(tmpstr, 2, "%c", i);
     581                        buf = ostrcat(buf, tmpstr, 1, 0);
     582                        buf = ostrcat(buf, "\n", 1, 0);
     583                }
     584        }
     585
     586        if(fmt == 0) webcreatetailbig(&buf, &maxlen, &pos, 0);
    526587        free(tmpstr);
    527588        return buf;
    528589}
    529590
    530 char* webgetbouquet()
     591char* webgetbouquet(int fmt)
    531592{
    532593        char* buf = NULL;
     
    534595        int line = 0, maxlen = 0, pos = 0;
    535596
    536         webcreateheadbig(&buf, &maxlen, NULL, &pos, 0);
     597        if(fmt == 0) webcreateheadbig(&buf, &maxlen, NULL, &pos, 0);
    537598
    538599        while(node != NULL)
    539600        {
    540                 if(line == 0)
    541                 {
    542                         ostrcatbig(&buf, "<tr class=line1><td width=100% nowrap><a class=link href=\"query?getbouquetchannel&", &maxlen, &pos);
     601                if(fmt == 0)
     602                {
     603                        if(line == 0)
     604                        {
     605                                ostrcatbig(&buf, "<tr class=line1><td width=100% nowrap><a class=link href=\"query?getbouquetchannel&", &maxlen, &pos);
     606                                ostrcatbig(&buf, node->name, &maxlen, &pos);
     607                                ostrcatbig(&buf, "\">", &maxlen, &pos);
     608                                line = 1;
     609                        }
     610                        else
     611                        {
     612                                ostrcatbig(&buf, "<tr class=line2><td width=100% nowrap><a class=link href=\"query?getbouquetchannel&", &maxlen, &pos);
     613                                ostrcatbig(&buf, node->name, &maxlen, &pos);
     614                                ostrcatbig(&buf, "\">", &maxlen, &pos);
     615                                line = 0;
     616                        }
     617                        ostrcatbig(&buf, node->name, &maxlen, &pos);
     618                        ostrcatbig(&buf, "</a></td>", &maxlen, &pos);
     619
     620                        ostrcatbig(&buf, "<td width=50 nowrap align=right valign=middle><img style=\"margin-left: 5\" border=0 src=", &maxlen, &pos);
     621
     622                        if(node->type == 0)
     623                                ostrcatbig(&buf, "img/tv.png width=16 height=16 alt=TV>", &maxlen, &pos);
     624                        else
     625                                ostrcatbig(&buf, "img/radio.png width=16 height=16 alt=Radio>", &maxlen, &pos);
     626                        ostrcatbig(&buf, "<a href=\"query?getgmultiepg&", &maxlen, &pos);
    543627                        ostrcatbig(&buf, node->name, &maxlen, &pos);
    544628                        ostrcatbig(&buf, "\">", &maxlen, &pos);
    545                         line = 1;
    546                 }
    547                 else
    548                 {
    549                         ostrcatbig(&buf, "<tr class=line2><td width=100% nowrap><a class=link href=\"query?getbouquetchannel&", &maxlen, &pos);
    550                         ostrcatbig(&buf, node->name, &maxlen, &pos);
    551                         ostrcatbig(&buf, "\">", &maxlen, &pos);
    552                         line = 0;
    553                 }
    554                 ostrcatbig(&buf, node->name, &maxlen, &pos);
    555                 ostrcatbig(&buf, "</a></td>", &maxlen, &pos);
    556 
    557                 ostrcatbig(&buf, "<td width=50 nowrap align=right valign=middle><img style=\"margin-left: 5\" border=0 src=", &maxlen, &pos);
    558 
    559                 if(node->type == 0)
    560                         ostrcatbig(&buf, "img/tv.png width=16 height=16 alt=TV>", &maxlen, &pos);
    561                 else
    562                         ostrcatbig(&buf, "img/radio.png width=16 height=16 alt=Radio>", &maxlen, &pos);
    563                 ostrcatbig(&buf, "<a href=\"query?getgmultiepg&", &maxlen, &pos);
    564                 ostrcatbig(&buf, node->name, &maxlen, &pos);
    565                 ostrcatbig(&buf, "\">", &maxlen, &pos);
    566                 ostrcatbig(&buf, "<img style=\"margin-left: 5\" border=0 width=16 height=16 alt=\"Graphical Multi EPG\" src=img/gmultiepg.png></a>", &maxlen, &pos);
    567                 ostrcatbig(&buf, "</td></tr>", &maxlen, &pos);
     629                        ostrcatbig(&buf, "<img style=\"margin-left: 5\" border=0 width=16 height=16 alt=\"Graphical Multi EPG\" src=img/gmultiepg.png></a>", &maxlen, &pos);
     630                        ostrcatbig(&buf, "</td></tr>", &maxlen, &pos);
     631                }
     632                else
     633                {
     634                        buf = ostrcat(buf, node->name, 1, 0);
     635                        buf = ostrcat(buf, "#", 1, 0);
     636                        buf = ostrcat(buf, oitoa(node->type), 1, 1);
     637                        buf = ostrcat(buf, "\n", 1, 0);
     638                }
    568639
    569640                node = node->next;
    570641        }
    571642
    572         webcreatetailbig(&buf, &maxlen, &pos, 0);
    573         return buf;
    574 }
    575 
    576 char* websetmute(char* param)
     643        if(fmt == 0) webcreatetailbig(&buf, &maxlen, &pos, 0);
     644        return buf;
     645}
     646
     647char* websetmute(char* param, int fmt)
    577648{
    578649        char* buf = NULL;
     
    582653                mute = atoi(param);
    583654
    584         buf = ostrcat(buf, "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"><link rel=stylesheet type=text/css href=titan.css></head><body class=body><center>", 1, 0);
    585         if(mute == 0)
    586                 buf = ostrcat(buf, "<a href=query?setmute&1><img src=img/speak_on.png border=0 alt=\"Mute on\"></img></a>", 1, 0);
     655        if(fmt == 0)
     656        {
     657                buf = ostrcat(buf, "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"><link rel=stylesheet type=text/css href=titan.css></head><body class=body><center>", 1, 0);
     658                if(mute == 0)
     659                        buf = ostrcat(buf, "<a href=query?setmute&1><img src=img/speak_on.png border=0 alt=\"Mute on\"></img></a>", 1, 0);
     660                else
     661                        buf = ostrcat(buf, "<a href=query?setmute&0><img src=img/speak_off.png border=0 alt=\"Mute off\"></img></a>", 1, 0);
     662                buf = ostrcat(buf, "</center></body></html>", 1, 0);
     663        }
    587664        else
    588                 buf = ostrcat(buf, "<a href=query?setmute&0><img src=img/speak_off.png border=0 alt=\"Mute off\"></img></a>", 1, 0);
    589         buf = ostrcat(buf, "</center></body></html>", 1, 0);
     665        {
     666                if(mute == 0)
     667                        buf = ostrcat(buf, "0", 1, 0);
     668                else
     669                        buf = ostrcat(buf, "1", 1, 0);
     670        }
    590671
    591672        if(mute != status.mute)
     
    595676}
    596677
    597 char* websetvol(char* param)
     678char* websetvol(char* param, int fmt)
    598679{
    599680        char* buf = NULL;
     
    605686                vol = atoi(param);
    606687
    607         buf = ostrcat(buf, "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"><link rel=stylesheet type=text/css href=titan.css></head><body class=body><center>", 1, 0);
    608         if(vol >=10)
    609                 buf = ostrcat(buf, "<a href=query?setvol&10><img src=img/led_on.png border=0></img></a> ", 1, 0);
     688        if(fmt == 0)
     689        {
     690                buf = ostrcat(buf, "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"><link rel=stylesheet type=text/css href=titan.css></head><body class=body><center>", 1, 0);
     691                if(vol >=10)
     692                        buf = ostrcat(buf, "<a href=query?setvol&10><img src=img/led_on.png border=0></img></a> ", 1, 0);
     693                else
     694                        buf = ostrcat(buf, "<a href=query?setvol&10><img src=img/led_off.png border=0></img></a> ", 1, 0);
     695                if(vol >=20)
     696                        buf = ostrcat(buf, "<a href=query?setvol&20><img src=img/led_on.png border=0></img></a> ", 1, 0);
     697                else
     698                        buf = ostrcat(buf, "<a href=query?setvol&20><img src=img/led_off.png border=0></img></a> ", 1, 0);
     699                if(vol >=30)
     700                        buf = ostrcat(buf, "<a href=query?setvol&30><img src=img/led_on.png border=0></img></a> ", 1, 0);
     701                else
     702                        buf = ostrcat(buf, "<a href=query?setvol&30><img src=img/led_off.png border=0></img></a> ", 1, 0);
     703                if(vol >=40)
     704                        buf = ostrcat(buf, "<a href=query?setvol&40><img src=img/led_on.png border=0></img></a> ", 1, 0);
     705                else
     706                        buf = ostrcat(buf, "<a href=query?setvol&40><img src=img/led_off.png border=0></img></a> ", 1, 0);
     707                if(vol >=50)
     708                        buf = ostrcat(buf, "<a href=query?setvol&50><img src=img/led_on.png border=0></img></a> ", 1, 0);
     709                else
     710                        buf = ostrcat(buf, "<a href=query?setvol&50><img src=img/led_off.png border=0></img></a> ", 1, 0);
     711                if(vol >=60)
     712                        buf = ostrcat(buf, "<a href=query?setvol&60><img src=img/led_on.png border=0></img></a> ", 1, 0);
     713                else
     714                        buf = ostrcat(buf, "<a href=query?setvol&60><img src=img/led_off.png border=0></img></a> ", 1, 0);
     715                if(vol >=70)
     716                        buf = ostrcat(buf, "<a href=query?setvol&70><img src=img/led_on.png border=0></img></a> ", 1, 0);
     717                else
     718                        buf = ostrcat(buf, "<a href=query?setvol&70><img src=img/led_off.png border=0></img></a> ", 1, 0);
     719                if(vol >=80)
     720                        buf = ostrcat(buf, "<a href=query?setvol&80><img src=img/led_on.png border=0></img></a> ", 1, 0);
     721                else
     722                        buf = ostrcat(buf, "<a href=query?setvol&80><img src=img/led_off.png border=0></img></a> ", 1, 0);
     723                if(vol >=90)
     724                        buf = ostrcat(buf, "<a href=query?setvol&90><img src=img/led_on.png border=0></img></a> ", 1, 0);
     725                else
     726                        buf = ostrcat(buf, "<a href=query?setvol&90><img src=img/led_off.png border=0></img></a> ", 1, 0);
     727                if(vol >=100)
     728                        buf = ostrcat(buf, "<a href=query?setvol&100><img src=img/led_on.png border=0></img></a> ", 1, 0);
     729                else
     730                        buf = ostrcat(buf, "<a href=query?setvol&100><img src=img/led_off.png border=0></img></a> ", 1, 0);
     731                buf = ostrcat(buf, "</center></body></html>", 1, 0);
     732        }
    610733        else
    611                 buf = ostrcat(buf, "<a href=query?setvol&10><img src=img/led_off.png border=0></img></a> ", 1, 0);
    612         if(vol >=20)
    613                 buf = ostrcat(buf, "<a href=query?setvol&20><img src=img/led_on.png border=0></img></a> ", 1, 0);
    614         else
    615                 buf = ostrcat(buf, "<a href=query?setvol&20><img src=img/led_off.png border=0></img></a> ", 1, 0);
    616         if(vol >=30)
    617                 buf = ostrcat(buf, "<a href=query?setvol&30><img src=img/led_on.png border=0></img></a> ", 1, 0);
    618         else
    619                 buf = ostrcat(buf, "<a href=query?setvol&30><img src=img/led_off.png border=0></img></a> ", 1, 0);
    620         if(vol >=40)
    621                 buf = ostrcat(buf, "<a href=query?setvol&40><img src=img/led_on.png border=0></img></a> ", 1, 0);
    622         else
    623                 buf = ostrcat(buf, "<a href=query?setvol&40><img src=img/led_off.png border=0></img></a> ", 1, 0);
    624         if(vol >=50)
    625                 buf = ostrcat(buf, "<a href=query?setvol&50><img src=img/led_on.png border=0></img></a> ", 1, 0);
    626         else
    627                 buf = ostrcat(buf, "<a href=query?setvol&50><img src=img/led_off.png border=0></img></a> ", 1, 0);
    628         if(vol >=60)
    629                 buf = ostrcat(buf, "<a href=query?setvol&60><img src=img/led_on.png border=0></img></a> ", 1, 0);
    630         else
    631                 buf = ostrcat(buf, "<a href=query?setvol&60><img src=img/led_off.png border=0></img></a> ", 1, 0);
    632         if(vol >=70)
    633                 buf = ostrcat(buf, "<a href=query?setvol&70><img src=img/led_on.png border=0></img></a> ", 1, 0);
    634         else
    635                 buf = ostrcat(buf, "<a href=query?setvol&70><img src=img/led_off.png border=0></img></a> ", 1, 0);
    636         if(vol >=80)
    637                 buf = ostrcat(buf, "<a href=query?setvol&80><img src=img/led_on.png border=0></img></a> ", 1, 0);
    638         else
    639                 buf = ostrcat(buf, "<a href=query?setvol&80><img src=img/led_off.png border=0></img></a> ", 1, 0);
    640         if(vol >=90)
    641                 buf = ostrcat(buf, "<a href=query?setvol&90><img src=img/led_on.png border=0></img></a> ", 1, 0);
    642         else
    643                 buf = ostrcat(buf, "<a href=query?setvol&90><img src=img/led_off.png border=0></img></a> ", 1, 0);
    644         if(vol >=100)
    645                 buf = ostrcat(buf, "<a href=query?setvol&100><img src=img/led_on.png border=0></img></a> ", 1, 0);
    646         else
    647                 buf = ostrcat(buf, "<a href=query?setvol&100><img src=img/led_off.png border=0></img></a> ", 1, 0);
    648         buf = ostrcat(buf, "</center></body></html>", 1, 0);
     734                buf = ostrcat(buf, oitoa(vol), 1, 1);
    649735
    650736        if(param != NULL)
     
    657743}
    658744
    659 char* webgetaktservice()
     745char* webgetaktservice(int fmt)
    660746{
    661747        char* buf = NULL;
     
    663749        int line = 0, maxlen = 0, pos = 0;
    664750
    665         webcreateheadbig(&buf, &maxlen, NULL, &pos, 1);
    666         webcreatechannelbody(&buf, line, chnode, getconfig("channellist", NULL), &maxlen, &pos ,1);
    667         webcreatetailbig(&buf, &maxlen, &pos, 1);
    668 
    669         return buf;
    670 }
    671 
    672 char* webswitch(char* param)
     751        if(fmt == 0) webcreateheadbig(&buf, &maxlen, NULL, &pos, 1);
     752        webcreatechannelbody(&buf, line, chnode, getconfig("channellist", NULL), &maxlen, &pos ,1, fmt);
     753        if(fmt == 0) webcreatetailbig(&buf, &maxlen, &pos, 1);
     754
     755        return buf;
     756}
     757
     758char* webswitch(char* param, int fmt)
    673759{
    674760        if(status.channelswitch == 1) goto end;
     
    701787
    702788end:
    703         return webgetaktservice();
    704 }
    705 
    706 char* webgetm3u(char* param, int connfd)
     789        return webgetaktservice(fmt);
     790}
     791
     792char* webgetm3u(char* param, int connfd, int fmt)
    707793{
    708794        char* buf = NULL, *ip = NULL, *tmpbuf = NULL;
     
    739825}
    740826
    741 char* webgetvideo(char* param, int connfd)
     827char* webgetvideo(char* param, int connfd, int fmt)
    742828{
    743829        char* buf = NULL, *ip = NULL, *tmpbuf = NULL;
     
    756842        if(ip == NULL) return NULL;
    757843
    758         buf = ostrcat(buf, "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"><link rel=stylesheet type=text/css href=titan.css></head><body class=body><table border=0 width=100% height=100%><tr><td align=center valign=middle>", 1, 0);
    759         buf = ostrcat(buf, "<embed width=100% height=100% type=application/x-vlc-plugin name=video autoplay=yes target=\"http://", 1, 0);
     844        if(fmt == 0)
     845        {
     846                buf = ostrcat(buf, "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"><link rel=stylesheet type=text/css href=titan.css></head><body class=body><table border=0 width=100% height=100%><tr><td align=center valign=middle>", 1, 0);
     847                buf = ostrcat(buf, "<embed width=100% height=100% type=application/x-vlc-plugin name=video autoplay=yes target=\"http://", 1, 0);
     848        }
     849        else
     850                buf = ostrcat(buf, "http://", 1, 0);
     851
    760852        buf = ostrcat(buf, ip, 1, 0);
    761853        buf = ostrcat(buf, ":", 1, 0);
     
    769861        buf = ostrcat(buf, param, 1, 0);
    770862        free(tmpbuf); tmpbuf = NULL;
    771         buf = ostrcat(buf, "\" />", 1, 0);
    772         //buf = ostrcat(buf, "<a href=javascript:; onclick='document.video.play()'>Play</a>", 1, 0);
    773         //buf = ostrcat(buf, "<a href=javascript:; onclick='document.video.stop()'>Stop</a>", 1, 0);
    774         //buf = ostrcat(buf, "<a href=javascript:; onclick='document.video.fullscreen()'>Fullscreen</a>", 1, 0);
    775         buf = ostrcat(buf, "</td></tr></body></html>", 1, 0);
    776 
    777         return buf;
    778 }
    779 
    780 char* webgetchannelpage(char* param)
     863
     864        if(fmt == 0)
     865        {
     866                buf = ostrcat(buf, "\" />", 1, 0);
     867                //buf = ostrcat(buf, "<a href=javascript:; onclick='document.video.play()'>Play</a>", 1, 0);
     868                //buf = ostrcat(buf, "<a href=javascript:; onclick='document.video.stop()'>Stop</a>", 1, 0);
     869                //buf = ostrcat(buf, "<a href=javascript:; onclick='document.video.fullscreen()'>Fullscreen</a>", 1, 0);
     870                buf = ostrcat(buf, "</td></tr></body></html>", 1, 0);
     871        }
     872
     873        return buf;
     874}
     875
     876char* webgetchannelpage(char* param, int fmt)
    781877{
    782878        char* param1 = NULL, *param2 = NULL;
     
    796892        if(param1 == NULL || param2 == NULL) return NULL;
    797893
    798         return webgetchannel(atoi(param), atoi(param1), atoi(param2));
     894        return webgetchannel(atoi(param), atoi(param1), atoi(param2), fmt);
    799895}
    800896
     
    805901}
    806902
    807 char* websendmessage(char* param)
     903char* websendmessage(char* param, int fmt)
    808904{
    809905        char* text = NULL, *buf = NULL;
     
    819915        addtimer(&webmessage, START, 1000, 1, (void*)text, NULL, NULL);
    820916
    821         buf = webcreatehead(buf, NULL, 1);
    822         buf = ostrcat(buf, "<tr><td align=center valign=top><font class=biglabel><br><br>Message Send !!!</font></td></tr>", 1, 0);
    823         buf = webcreatetail(buf, 1);
    824 
    825         return buf;
    826 }
    827 
    828 char* webgetsignal()
     917        if(fmt == 0)
     918        {
     919                buf = webcreatehead(buf, NULL, 1);
     920                buf = ostrcat(buf, "<tr><td align=center valign=top><font class=biglabel><br><br>Message Send !!!</font></td></tr>", 1, 0);
     921                buf = webcreatetail(buf, 1);
     922        }
     923        else
     924                buf = ostrcat(buf, "Message Send", 1, 0);
     925               
     926        return buf;
     927}
     928
     929char* webgetsignal(int fmt)
    829930{
    830931        char* buf = NULL, *tmpnr = NULL;
     
    838939        snr = (snr * 100) / 0xffff;
    839940
    840         buf = webcreatehead(buf, "<meta http-equiv=refresh content=1>", 0);
    841 
    842         buf = ostrcat(buf, "<tr><td align=center><font class=biglabel><br><br>BER: ", 1, 0);
    843         tmpnr = oitoa(ber);
    844         buf = ostrcat(buf, tmpnr, 1, 0);
    845         free(tmpnr); tmpnr = NULL;
    846 
    847         buf = ostrcat(buf, "<br>UNC: ", 1, 0);
    848         tmpnr = oitoa(unc);
    849         buf = ostrcat(buf, tmpnr, 1, 0);
    850         free(tmpnr); tmpnr = NULL;
    851 
    852         buf = ostrcat(buf, "<br>SIG: ", 1, 0);
    853         tmpnr = oitoa(signal);
    854         buf = ostrcat(buf, tmpnr, 1, 0);
    855         free(tmpnr); tmpnr = NULL;
    856 
    857         buf = ostrcat(buf, "<br>SNR: ", 1, 0);
    858         tmpnr = oitoa(snr);
    859         buf = ostrcat(buf, tmpnr, 1, 0);
    860         free(tmpnr); tmpnr = NULL;
    861 
    862         buf = ostrcat(buf, "</font></td></tr>", 1, 0);
    863         buf = webcreatetail(buf, 0);
    864         return buf;
    865 }
    866 
    867 char* webgetepg(char* param)
     941        if(fmt == 0)
     942        {
     943                buf = webcreatehead(buf, "<meta http-equiv=refresh content=1>", 0);
     944
     945                buf = ostrcat(buf, "<tr><td align=center><font class=biglabel><br><br>BER: ", 1, 0);
     946                tmpnr = oitoa(ber);
     947                buf = ostrcat(buf, tmpnr, 1, 0);
     948                free(tmpnr); tmpnr = NULL;
     949
     950                buf = ostrcat(buf, "<br>UNC: ", 1, 0);
     951                tmpnr = oitoa(unc);
     952                buf = ostrcat(buf, tmpnr, 1, 0);
     953                free(tmpnr); tmpnr = NULL;
     954
     955                buf = ostrcat(buf, "<br>SIG: ", 1, 0);
     956                tmpnr = oitoa(signal);
     957                buf = ostrcat(buf, tmpnr, 1, 0);
     958                free(tmpnr); tmpnr = NULL;
     959
     960                buf = ostrcat(buf, "<br>SNR: ", 1, 0);
     961                tmpnr = oitoa(snr);
     962                buf = ostrcat(buf, tmpnr, 1, 0);
     963                free(tmpnr); tmpnr = NULL;
     964
     965                buf = ostrcat(buf, "</font></td></tr>", 1, 0);
     966                buf = webcreatetail(buf, 0);
     967        }
     968        else
     969        {
     970                buf = ostrcat(buf, oitoa(ber), 1, 1);
     971                buf = ostrcat(buf, "#", 1, 0);
     972                buf = ostrcat(buf, oitoa(unc), 1, 1);
     973                buf = ostrcat(buf, "#", 1, 0);
     974                buf = ostrcat(buf, oitoa(signal), 1, 1);
     975                buf = ostrcat(buf, "#", 1, 0);
     976                buf = ostrcat(buf, oitoa(snr), 1, 1);
     977        }
     978
     979        return buf;
     980}
     981
     982char* webgetepg(char* param, int fmt)
    868983{
    869984        char* buf = NULL, *buf1 = NULL, *tmpstr = NULL, *param1 = NULL, *param2 = NULL;
     
    8921007        if(epgnode == NULL) return NULL;
    8931008
    894         buf = webcreatehead(buf, NULL, 0);
     1009        if(fmt == 0) buf = webcreatehead(buf, NULL, 0);
    8951010
    8961011        buf1 = malloc(MINMALLOC);
     
    9011016        }
    9021017
    903         buf = ostrcat(buf, "<tr><td><font class=biglabel>", 1, 0);
     1018        if(fmt == 0) buf = ostrcat(buf, "<tr><td><font class=biglabel>", 1, 0);
    9041019        if(epgnode->title != NULL)
    9051020        {
    9061021                buf = ostrcat(buf, epgnode->title, 1, 0);
    907                 buf = ostrcat(buf, " (", 1, 0);
    908                 loctime = olocaltime(&epgnode->starttime);
    909                 if(loctime != NULL)
    910                         strftime(buf1, MINMALLOC, "%H:%M -", loctime);
    911                 free(loctime); loctime = NULL;
    912                 loctime = olocaltime(&epgnode->endtime);
    913                 if(loctime != NULL)
    914                         strftime(&buf1[7], MINMALLOC - 8, " %H:%M", loctime);
    915                 free(loctime); loctime = NULL;
    916                 buf = ostrcat(buf, buf1, 1, 0);
    917                 buf = ostrcat(buf, ")", 1, 0);
    918         }
    919         buf = ostrcat(buf, "<br><br></font></td></tr>", 1, 0);
    920 
    921         buf = ostrcat(buf, "<tr><td><font class=label>", 1, 0);
     1022                if(fmt == 0)
     1023                {
     1024                        buf = ostrcat(buf, " (", 1, 0);
     1025                        loctime = olocaltime(&epgnode->starttime);
     1026                        if(loctime != NULL)
     1027                                strftime(buf1, MINMALLOC, "%H:%M -", loctime);
     1028                        free(loctime); loctime = NULL;
     1029                        loctime = olocaltime(&epgnode->endtime);
     1030                        if(loctime != NULL)
     1031                                strftime(&buf1[7], MINMALLOC - 8, " %H:%M", loctime);
     1032                        free(loctime); loctime = NULL;
     1033                        buf = ostrcat(buf, buf1, 1, 0);
     1034                        buf = ostrcat(buf, ")", 1, 0);
     1035                }
     1036        }
     1037        if(fmt == 0)
     1038        {
     1039                buf = ostrcat(buf, "<br><br></font></td></tr>", 1, 0);
     1040                buf = ostrcat(buf, "<tr><td><font class=label>", 1, 0);
     1041        }
     1042        else
     1043        {
     1044                buf = ostrcat(buf, "#", 1, 0);
     1045                buf = ostrcat(buf, olutoa(epgnode->starttime), 1, 1);
     1046                buf = ostrcat(buf, "#", 1, 0);
     1047                buf = ostrcat(buf, olutoa(epgnode->endtime), 1, 1);
     1048                buf = ostrcat(buf, "#", 1, 0);
     1049        }
     1050
    9221051        if(epgnode->subtitle != NULL)
    9231052                buf = ostrcat(buf, epgnode->subtitle, 1, 0);
    924         buf = ostrcat(buf, "<br><br></font></td></tr>", 1, 0);
    925 
    926         buf = ostrcat(buf, "<tr><td><font class=label>", 1, 0);
     1053
     1054        if(fmt == 0)
     1055        {
     1056                buf = ostrcat(buf, "<br><br></font></td></tr>", 1, 0);
     1057                buf = ostrcat(buf, "<tr><td><font class=label>", 1, 0);
     1058        }
     1059        else
     1060                buf = ostrcat(buf, "#", 1, 0);
     1061
    9271062        tmpstr = epgdescunzip(epgnode);
    9281063        if(tmpstr != NULL)
    9291064                buf = ostrcat(buf, tmpstr, 1, 0);
    9301065        free(tmpstr); tmpstr = NULL;
    931         buf = ostrcat(buf, "</font></td></tr>", 1, 0);
    932 
    933         buf = webcreatetail(buf, 0);
     1066
     1067        if(fmt == 0)
     1068        {
     1069                buf = ostrcat(buf, "</font></td></tr>", 1, 0);
     1070                buf = webcreatetail(buf, 0);
     1071        }
    9341072
    9351073        free(buf1);
     
    9371075}
    9381076
    939 char* webgetsingleepg(char* param)
     1077char* webgetsingleepg(char* param, int fmt)
    9401078{
    9411079        int line = 0, maxlen = 0, pos = 0;
     
    9561094        epgnode = getepgakt(chnode);;
    9571095
    958         webcreateheadbig(&buf, &maxlen, NULL, &pos, 0);
     1096        if(fmt == 0) webcreateheadbig(&buf, &maxlen, NULL, &pos, 0);
    9591097
    9601098        buf1 = malloc(MINMALLOC);
     
    9671105        while(epgnode != NULL)
    9681106        {
    969                 if(line == 0)
    970                 {
    971                         ostrcatbig(&buf, "<tr class=line1>", &maxlen, &pos);
    972                         line = 1;
    973                 }
    974                 else
    975                 {
    976                         ostrcatbig(&buf, "<tr class=line2>", &maxlen, &pos);
    977                         line = 0;
    978                 }
    979 
    980 
    981                 ostrcatbig(&buf, "<td nowrap><a target=main class=link href=query?getepg&", &maxlen, &pos);
    982                 tmpstr = oitoa(chnode->serviceid);
    983                 ostrcatbig(&buf, tmpstr, &maxlen, &pos);
    984                 buf2 = ostrcat("<td nowrap><a target=main class=link href=query?addrectimer&",tmpstr, 0, 0);
    985                 buf2 = ostrcat(buf2, "&", 0, 0);
    986                 free(tmpstr); tmpstr = NULL;
    987                 ostrcatbig(&buf, "&", &maxlen, &pos);
    988                 tmpstr = olutoa(chnode->transponderid);
    989                 ostrcatbig(&buf, tmpstr, &maxlen, &pos);
    990                 buf2 = ostrcat(buf2, tmpstr, 0, 0);
    991                 buf2 = ostrcat(buf2, "&", 0, 0);
    992                 free(tmpstr); tmpstr = NULL;
    993                 ostrcatbig(&buf, "&", &maxlen, &pos);
    994                 tmpstr = oitoa(epgnode->eventid);
    995                 ostrcatbig(&buf, tmpstr, &maxlen, &pos);
    996                 buf2 = ostrcat(buf2, tmpstr, 0, 0);
    997                 buf2 = ostrcat(buf2, ">", 0, 0);
    998                 free(tmpstr); tmpstr = NULL;
    999                 ostrcatbig(&buf, ">", &maxlen, &pos);
    1000 
    1001                 loctime = olocaltime(&epgnode->starttime);
    1002                 if(loctime != NULL)
     1107                if(fmt == 0)
     1108                {
     1109                        if(line == 0)
     1110                        {
     1111                                ostrcatbig(&buf, "<tr class=line1>", &maxlen, &pos);
     1112                                line = 1;
     1113                        }
     1114                        else
     1115                        {
     1116                                ostrcatbig(&buf, "<tr class=line2>", &maxlen, &pos);
     1117                                line = 0;
     1118                        }
     1119
     1120                        ostrcatbig(&buf, "<td nowrap><a target=main class=link href=query?getepg&", &maxlen, &pos);
     1121                        tmpstr = oitoa(chnode->serviceid);
     1122                        ostrcatbig(&buf, tmpstr, &maxlen, &pos);
     1123                        buf2 = ostrcat("<td nowrap><a target=main class=link href=query?addrectimer&",tmpstr, 0, 0);
     1124                        buf2 = ostrcat(buf2, "&", 0, 0);
     1125                        free(tmpstr); tmpstr = NULL;
     1126                        ostrcatbig(&buf, "&", &maxlen, &pos);
     1127                        tmpstr = olutoa(chnode->transponderid);
     1128                        ostrcatbig(&buf, tmpstr, &maxlen, &pos);
     1129                        buf2 = ostrcat(buf2, tmpstr, 0, 0);
     1130                        buf2 = ostrcat(buf2, "&", 0, 0);
     1131                        free(tmpstr); tmpstr = NULL;
     1132                        ostrcatbig(&buf, "&", &maxlen, &pos);
     1133                        tmpstr = oitoa(epgnode->eventid);
     1134                        ostrcatbig(&buf, tmpstr, &maxlen, &pos);
     1135                        buf2 = ostrcat(buf2, tmpstr, 0, 0);
     1136                        buf2 = ostrcat(buf2, ">", 0, 0);
     1137                        free(tmpstr); tmpstr = NULL;
     1138                        ostrcatbig(&buf, ">", &maxlen, &pos);
     1139
     1140                        loctime = olocaltime(&epgnode->starttime);
     1141                        if(loctime != NULL)
    10031142                        strftime(buf1, MINMALLOC, "%d.%m _ %H:%M __ ", loctime);
    10041143                        //strftime(buf1, MINMALLOC, "%H:%M -", loctime);
    1005                 free(loctime); loctime = NULL;
    1006                 //loctime = olocaltime(&epgnode->endtime);
    1007                 //if(loctime != NULL)
    1008                 //      strftime(&buf1[7], MINMALLOC - 8, " %H:%M ", loctime);
    1009                 //free(loctime); loctime = NULL;
    1010                 ostrcatbig(&buf, buf1, &maxlen, &pos);
    1011                 ostrcatbig(&buf, " ", &maxlen, &pos);
    1012                 ostrcatbig(&buf, epgnode->title, &maxlen, &pos);
    1013                 if(epgnode->subtitle != NULL)
    1014                 {
    1015                         ostrcatbig(&buf, " (", &maxlen, &pos);
    1016                         ostrcatbig(&buf, epgnode->subtitle, &maxlen, &pos);
    1017                         ostrcatbig(&buf, ")", &maxlen, &pos);
    1018                 }
    1019                 ostrcatbig(&buf, "</a></td>", &maxlen, &pos);
    1020                 ostrcatbig(&buf, buf2, &maxlen, &pos);
    1021                 ostrcatbig(&buf, "<img border=0 width=16 height=16 src=img/timer.png alt=\"set timer\"/>", &maxlen, &pos);
    1022                 ostrcatbig(&buf, "</a></td></tr>", &maxlen, &pos);
     1144                        free(loctime); loctime = NULL;
     1145                        //loctime = olocaltime(&epgnode->endtime);
     1146                        //if(loctime != NULL)
     1147                        //      strftime(&buf1[7], MINMALLOC - 8, " %H:%M ", loctime);
     1148                        //free(loctime); loctime = NULL;
     1149                        ostrcatbig(&buf, buf1, &maxlen, &pos);
     1150                        ostrcatbig(&buf, " ", &maxlen, &pos);
     1151                        ostrcatbig(&buf, epgnode->title, &maxlen, &pos);
     1152                        if(epgnode->subtitle != NULL)
     1153                        {
     1154                                ostrcatbig(&buf, " (", &maxlen, &pos);
     1155                                ostrcatbig(&buf, epgnode->subtitle, &maxlen, &pos);
     1156                                ostrcatbig(&buf, ")", &maxlen, &pos);
     1157                        }
     1158
     1159                        ostrcatbig(&buf, "</a></td>", &maxlen, &pos);
     1160                        ostrcatbig(&buf, buf2, &maxlen, &pos);
     1161                        ostrcatbig(&buf, "<img border=0 width=16 height=16 src=img/timer.png alt=\"set timer\"/>", &maxlen, &pos);
     1162                        ostrcatbig(&buf, "</a></td></tr>", &maxlen, &pos);
     1163                }
     1164                else
     1165                {
     1166                        buf = ostrcat(buf, epgnode->title, 1, 0);
     1167                        buf = ostrcat(buf, "#", 1, 0);
     1168                        buf = ostrcat(buf, olutoa(epgnode->starttime), 1, 1);
     1169                        buf = ostrcat(buf, "#", 1, 0);
     1170                        buf = ostrcat(buf, olutoa(epgnode->endtime), 1, 1);
     1171                        buf = ostrcat(buf, "#", 1, 0);
     1172                        buf = ostrcat(buf, epgnode->subtitle, 1, 0);
     1173                        buf = ostrcat(buf, "\n", 1, 0);
     1174                }
    10231175       
    10241176                epgnode = epgnode->next;
     
    10261178        }
    10271179
    1028         webcreatetailbig(&buf, &maxlen, &pos, 0);
     1180        if(fmt == 0) webcreatetailbig(&buf, &maxlen, &pos, 0);
    10291181
    10301182        free(buf1);
     
    10381190}
    10391191
    1040 char* webgetgmultiepg(char* param)
     1192char* webgetgmultiepg(char* param, int fmt)
    10411193{
    10421194        int page = 1, i, line = 0, treffer = 0, maxlen = 0, pos = 0;
     
    12051357}
    12061358
    1207 void webgetshoot(char* param)
     1359void webgetshoot(char* param, int fmt)
    12081360{
    12091361        char* cmd = NULL, *tmpstr = NULL;
     
    12311383}
    12321384
    1233 char* webgetepgsearch(char* query, char* param)
     1385char* webgetepgsearch(char* query, char* param, int fmt)
    12341386{
    12351387        int line = 0, maxlen = 0, pos = 0, maxcount = 0, page = 1;
     
    12691421        }
    12701422
    1271         webcreateheadbig(&buf, &maxlen, NULL, &pos, 0);
     1423        if(fmt == 0) webcreateheadbig(&buf, &maxlen, NULL, &pos, 0);
    12721424        while(chnode != NULL)
    12731425        {
     
    12861438                                }
    12871439
    1288                                 if(line == 0)
     1440                                if(fmt == 0)
    12891441                                {
    1290                                         ostrcatbig(&buf, "<tr class=line1>", &maxlen, &pos);
    1291                                         line = 1;
     1442                                        if(line == 0)
     1443                                        {
     1444                                                ostrcatbig(&buf, "<tr class=line1>", &maxlen, &pos);
     1445                                                line = 1;
     1446                                        }
     1447                                        else
     1448                                        {
     1449                                                ostrcatbig(&buf, "<tr class=line2>", &maxlen, &pos);
     1450                                                line = 0;
     1451                                        }
    12921452                                }
    1293                                 else
     1453
     1454                                if(fmt == 0)
    12941455                                {
    1295                                         ostrcatbig(&buf, "<tr class=line2>", &maxlen, &pos);
    1296                                         line = 0;
     1456                                        ostrcatbig(&buf, "<td nowrap><a target=main class=link href=query?getepg&", &maxlen, &pos);
     1457                                        tmpstr = oitoa(chnode->serviceid);
     1458                                        buf2 = ostrcat("<td nowrap><a target=main class=link href=query?addrectimer&", tmpstr, 0, 0);
     1459                                        buf2 = ostrcat(buf2, "&", 0, 0);
     1460                                        ostrcatbig(&buf, tmpstr, &maxlen, &pos);
     1461                                        free(tmpstr); tmpstr = NULL;
     1462                                        ostrcatbig(&buf, "&", &maxlen, &pos);
     1463                                        tmpstr = olutoa(chnode->transponderid);
     1464                                        ostrcatbig(&buf, tmpstr, &maxlen, &pos);
     1465                                        buf2 = ostrcat(buf2, tmpstr, 0, 0);
     1466                                        buf2 = ostrcat(buf2, "&", 0, 0);
     1467                                        free(tmpstr); tmpstr = NULL;
     1468                                        ostrcatbig(&buf, "&", &maxlen, &pos);
     1469                                        tmpstr = oitoa(epgnode->eventid);
     1470                                        ostrcatbig(&buf, tmpstr, &maxlen, &pos);
     1471                                        buf2 = ostrcat(buf2, tmpstr, 0, 0);
     1472                                        buf2 = ostrcat(buf2, ">", 0, 0);
     1473                                        free(tmpstr); tmpstr = NULL;
     1474                                        ostrcatbig(&buf, ">", &maxlen, &pos);
    12971475                                }
    1298 
    1299                                 ostrcatbig(&buf, "<td nowrap><a target=main class=link href=query?getepg&", &maxlen, &pos);
    1300                                 tmpstr = oitoa(chnode->serviceid);
    1301                                 buf2 = ostrcat("<td nowrap><a target=main class=link href=query?addrectimer&",tmpstr, 0, 0);
    1302                                 buf2 = ostrcat(buf2, "&", 0, 0);
    1303                                 ostrcatbig(&buf, tmpstr, &maxlen, &pos);
    1304                                 free(tmpstr); tmpstr = NULL;
    1305                                 ostrcatbig(&buf, "&", &maxlen, &pos);
    1306                                 tmpstr = olutoa(chnode->transponderid);
    1307                                 ostrcatbig(&buf, tmpstr, &maxlen, &pos);
    1308                                 buf2 = ostrcat(buf2, tmpstr, 0, 0);
    1309                                 buf2 = ostrcat(buf2, "&", 0, 0);
    1310                                 free(tmpstr); tmpstr = NULL;
    1311                                 ostrcatbig(&buf, "&", &maxlen, &pos);
    1312                                 tmpstr = oitoa(epgnode->eventid);
    1313                                 ostrcatbig(&buf, tmpstr, &maxlen, &pos);
    1314                                 buf2 = ostrcat(buf2, tmpstr, 0, 0);
    1315                                 buf2 = ostrcat(buf2, ">", 0, 0);
    1316                                 free(tmpstr); tmpstr = NULL;
    1317                                 ostrcatbig(&buf, ">", &maxlen, &pos);
    13181476       
    13191477                                loctime = olocaltime(&epgnode->starttime);
     
    13361494                                        ostrcatbig(&buf, ")", &maxlen, &pos);
    13371495                                }
    1338                                 ostrcatbig(&buf, "</a><br><font class=smalllabel1>", &maxlen, &pos);
     1496                                if(fmt == 0)
     1497                                        ostrcatbig(&buf, "</a><br><font class=smalllabel1>", &maxlen, &pos);
     1498                                else
     1499                                        ostrcatbig(&buf, "#", &maxlen, &pos);
    13391500                                ostrcatbig(&buf, epgnode->subtitle, &maxlen, &pos);
    1340                                 ostrcatbig(&buf, "</font></td>", &maxlen, &pos);
    1341                                 ostrcatbig(&buf, buf2, &maxlen, &pos);
    1342                                 ostrcatbig(&buf, "<img border=0 width=16 height=16 src=img/timer.png alt=\"set timer\"/>", &maxlen, &pos);
    1343                                 ostrcatbig(&buf, "</a></td></tr>", &maxlen, &pos);
     1501                                if(fmt == 0)
     1502                                {
     1503                                        ostrcatbig(&buf, "</font></td>", &maxlen, &pos);
     1504                                        ostrcatbig(&buf, buf2, &maxlen, &pos);
     1505                                        ostrcatbig(&buf, "<img border=0 width=16 height=16 src=img/timer.png alt=\"set timer\"/>", &maxlen, &pos);
     1506                                        ostrcatbig(&buf, "</a></td></tr>", &maxlen, &pos);
     1507                                }
     1508                                else
     1509                                        ostrcatbig(&buf, "#", &maxlen, &pos);
    13441510                        }
    13451511                        epgnode = epgnode->next;
     
    13491515        }
    13501516
    1351         if(maxcount > MAXHTMLLINE)
     1517        if(maxcount > MAXHTMLLINE && fmt == 0)
    13521518        {
    13531519                int i;
     
    13731539        }
    13741540
    1375         webcreatetailbig(&buf, &maxlen, &pos, 0);
     1541        if(fmt == 0) webcreatetailbig(&buf, &maxlen, &pos, 0);
    13761542        free(buf1);
    13771543        return buf;
     
    13831549//flagbit 3: show stream icon
    13841550//flagbit 4: show websteam icon
    1385 char* webgetfilelist(char* param, char* link, char* dellink, char* path, char* mask, int flag)
     1551char* webgetfilelist(char* param, char* link, char* dellink, char* path, char* mask, int flag, int fmt)
    13861552{
    13871553        char* buf = NULL, *tmppath = NULL, *tmpnr = NULL, *param1 = NULL;
     
    14271593        createfilelist(webdir, filelist, 0);
    14281594
    1429         ostrcatbig(&buf, "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"><link rel=stylesheet type=text/css href=titan.css><script type=text/javascript src=titan.js></script></head><body class=body><center><table width=100%>", &maxlen, &pos);
     1595        if(fmt == 0) ostrcatbig(&buf, "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"><link rel=stylesheet type=text/css href=titan.css><script type=text/javascript src=titan.js></script></head><body class=body><center><table width=100%>", &maxlen, &pos);
    14301596
    14311597        node = filelist;
     
    14411607                        }
    14421608
    1443                         if(line == 0)
    1444                         {
    1445                                 ostrcatbig(&buf, "<tr class=line1>", &maxlen, &pos);
    1446                                 line = 1;
     1609                        if(fmt == 0)
     1610                        {
     1611                                if(line == 0)
     1612                                {
     1613                                        ostrcatbig(&buf, "<tr class=line1>", &maxlen, &pos);
     1614                                        line = 1;
     1615                                }
     1616                                else
     1617                                {
     1618                                        ostrcatbig(&buf, "<tr class=line2>", &maxlen, &pos);
     1619                                        line = 0;
     1620                                }
     1621
     1622                                ostrcatbig(&buf, "<td>", &maxlen, &pos);
     1623                        }
     1624                        if(node->input != NULL) //dir
     1625                        {
     1626                                if(fmt == 0)
     1627                                {
     1628                                        ostrcatbig(&buf, "<img border=0 width=16 height=16 src=img/folder.png alt=Directory> <a class=link href=\"query?", &maxlen, &pos);
     1629                                        ostrcatbig(&buf, link, &maxlen, &pos);
     1630                                        ostrcatbig(&buf, "&", &maxlen, &pos);
     1631                                        ostrcatbig(&buf, node->input, &maxlen, &pos);
     1632                                        ostrcatbig(&buf, "\">", &maxlen, &pos);
     1633                                        ostrcatbig(&buf, node->text, &maxlen, &pos);
     1634                                        ostrcatbig(&buf, "</a><td> </td>", &maxlen, &pos);
     1635                                }
     1636                                else
     1637                                {
     1638                                        ostrcatbig(&buf, node->text, &maxlen, &pos);
     1639                                        ostrcatbig(&buf, "#0", &maxlen, &pos);
     1640                                        ostrcatbig(&buf, "\n", &maxlen, &pos);
     1641                                }
    14471642                        }
    14481643                        else
    14491644                        {
    1450                                 ostrcatbig(&buf, "<tr class=line2>", &maxlen, &pos);
    1451                                 line = 0;
    1452                         }
    1453 
    1454                         ostrcatbig(&buf, "<td>", &maxlen, &pos);
    1455                         if(node->input != NULL) //dir
    1456                         {
    1457                                 ostrcatbig(&buf, "<img border=0 width=16 height=16 src=img/folder.png alt=Directory> <a class=link href=\"query?", &maxlen, &pos);
    1458                                 ostrcatbig(&buf, link, &maxlen, &pos);
    1459                                 ostrcatbig(&buf, "&", &maxlen, &pos);
    1460                                 ostrcatbig(&buf, node->input, &maxlen, &pos);
    1461                                 ostrcatbig(&buf, "\">", &maxlen, &pos);
    1462                                 ostrcatbig(&buf, node->text, &maxlen, &pos);
    1463                                 ostrcatbig(&buf, "</a><td> </td>", &maxlen, &pos);
    1464                         }
    1465                         else
    1466                         {
    1467                                 ostrcatbig(&buf, "<font class=label1>", &maxlen, &pos);
    1468                                 ostrcatbig(&buf, node->text, &maxlen, &pos);
    1469                                 ostrcatbig(&buf, "</font></td>", &maxlen, &pos);
    1470 
    1471                                 ostrcatbig(&buf, "<td width=80 align=right>", &maxlen, &pos);
    1472                                 //epg png
    1473                                 if(checkbit(flag, 1) == 1)
     1645                                if(fmt == 0)
    14741646                                {
    1475                                         ostrcatbig(&buf, "<a href=\"query?getmovieepg&", &maxlen, &pos);
    1476                                         ostrcatbig(&buf, filelistpath->text, &maxlen, &pos);
    1477                                         ostrcatbig(&buf, "/", &maxlen, &pos);
     1647                                        ostrcatbig(&buf, "<font class=label1>", &maxlen, &pos);
    14781648                                        ostrcatbig(&buf, node->text, &maxlen, &pos);
    1479                                         ostrcatbig(&buf, "\">", &maxlen, &pos);
    1480                                         ostrcatbig(&buf, "<img border=0 src=img/movieepg.png width=16 height=16 alt=EPG></a>", &maxlen, &pos);
     1649                                        ostrcatbig(&buf, "</font></td>", &maxlen, &pos);
     1650
     1651                                        ostrcatbig(&buf, "<td width=80 align=right>", &maxlen, &pos);
     1652
     1653                                        //epg png
     1654                                        if(checkbit(flag, 1) == 1)
     1655                                        {
     1656                                                ostrcatbig(&buf, "<a href=\"query?getmovieepg&", &maxlen, &pos);
     1657                                                ostrcatbig(&buf, filelistpath->text, &maxlen, &pos);
     1658                                                ostrcatbig(&buf, "/", &maxlen, &pos);
     1659                                                ostrcatbig(&buf, node->text, &maxlen, &pos);
     1660                                                ostrcatbig(&buf, "\">", &maxlen, &pos);
     1661                                                ostrcatbig(&buf, "<img border=0 src=img/movieepg.png width=16 height=16 alt=EPG></a>", &maxlen, &pos);
     1662                                        }
     1663                                        //delete png
     1664                                        if(checkbit(flag, 2) == 1)
     1665                                        {
     1666                                                ostrcatbig(&buf, "<img border=0 src=img/delete.png width=16 height=16 alt=Delete onclick='delquestion(\"", &maxlen, &pos);
     1667                                                ostrcatbig(&buf, "query?", &maxlen, &pos);
     1668                                                ostrcatbig(&buf, dellink, &maxlen, &pos);
     1669                                                ostrcatbig(&buf, "&", &maxlen, &pos);
     1670                                                ostrcatbig(&buf, filelistpath->text, &maxlen, &pos);
     1671                                                ostrcatbig(&buf, "&", &maxlen, &pos);
     1672                                                tmpnr = oitoa(page);
     1673                                                ostrcatbig(&buf, tmpnr, &maxlen, &pos);
     1674                                                free(tmpnr); tmpnr = NULL;
     1675                                                ostrcatbig(&buf, "&", &maxlen, &pos);
     1676                                                ostrcatbig(&buf, node->text, &maxlen, &pos);
     1677                                                ostrcatbig(&buf, "\");'>", &maxlen, &pos);
     1678                                        }
     1679                                        //stream png
     1680                                        if(checkbit(flag, 3) == 1)
     1681                                        {
     1682                                                ostrcatbig(&buf, "<a target=nothing href=\"query?getm3u&0,0,", &maxlen, &pos);
     1683                                                ostrcatbig(&buf, filelistpath->text, &maxlen, &pos);
     1684                                                ostrcatbig(&buf, "/", &maxlen, &pos);
     1685                                                ostrcatbig(&buf, node->text, &maxlen, &pos);
     1686                                                ostrcatbig(&buf, "\">", &maxlen, &pos);
     1687
     1688                                                ostrcatbig(&buf, "<img border=0 src=img/stream.png width=16 height=16 alt=Stream></a>", &maxlen, &pos);
     1689                                        }
     1690                                        //webstream png
     1691                                        if(checkbit(flag, 4) == 1)
     1692                                        {
     1693                                                ostrcatbig(&buf, "<a target=_blank href=\"query?getvideo&0,0,", &maxlen, &pos);
     1694                                                ostrcatbig(&buf, filelistpath->text, &maxlen, &pos);
     1695                                                ostrcatbig(&buf, "/", &maxlen, &pos);
     1696                                                ostrcatbig(&buf, node->text, &maxlen, &pos);
     1697                                                ostrcatbig(&buf, "\">", &maxlen, &pos);
     1698
     1699                                                ostrcatbig(&buf, "<img border=0 src=img/webstream.png width=16 height=16 alt=WebStream></a>", &maxlen, &pos);
     1700
     1701                                                ostrcatbig(&buf, "<a target=_blank href=\"", &maxlen, &pos);
     1702                                                ostrcatbig(&buf, filelistpath->text, &maxlen, &pos);
     1703                                                ostrcatbig(&buf, "/", &maxlen, &pos);
     1704                                                ostrcatbig(&buf, node->text, &maxlen, &pos);
     1705                                                ostrcatbig(&buf, "\">", &maxlen, &pos);
     1706       
     1707                                                ostrcatbig(&buf, "<img border=0 src=img/icon_restart.png width=16 height=16 alt=Download></a>", &maxlen, &pos);
     1708                                        }
    14811709                                }
    1482                                 //delete png
    1483                                 if(checkbit(flag, 2) == 1)
     1710                                else
    14841711                                {
    1485                                         ostrcatbig(&buf, "<img border=0 src=img/delete.png width=16 height=16 alt=Delete onclick='delquestion(\"", &maxlen, &pos);
    1486                                         ostrcatbig(&buf, "query?", &maxlen, &pos);
    1487                                         ostrcatbig(&buf, dellink, &maxlen, &pos);
    1488                                         ostrcatbig(&buf, "&", &maxlen, &pos);
    1489                                         ostrcatbig(&buf, filelistpath->text, &maxlen, &pos);
    1490                                         ostrcatbig(&buf, "&", &maxlen, &pos);
    1491                                         tmpnr = oitoa(page);
    1492                                         ostrcatbig(&buf, tmpnr, &maxlen, &pos);
    1493                                         free(tmpnr); tmpnr = NULL;
    1494                                         ostrcatbig(&buf, "&", &maxlen, &pos);
    14951712                                        ostrcatbig(&buf, node->text, &maxlen, &pos);
    1496                                         ostrcatbig(&buf, "\");'>", &maxlen, &pos);
     1713                                        ostrcatbig(&buf, "#1", &maxlen, &pos);
     1714                                        ostrcatbig(&buf, "\n", &maxlen, &pos);
    14971715                                }
    1498                                 //stream png
    1499                                 if(checkbit(flag, 3) == 1)
    1500                                 {
    1501                                         ostrcatbig(&buf, "<a target=nothing href=\"query?getm3u&0,0,", &maxlen, &pos);
    1502                                         ostrcatbig(&buf, filelistpath->text, &maxlen, &pos);
    1503                                         ostrcatbig(&buf, "/", &maxlen, &pos);
    1504                                         ostrcatbig(&buf, node->text, &maxlen, &pos);
    1505                                         ostrcatbig(&buf, "\">", &maxlen, &pos);
    1506 
    1507                                         ostrcatbig(&buf, "<img border=0 src=img/stream.png width=16 height=16 alt=Stream></a>", &maxlen, &pos);
    1508                                 }
    1509                                 //webstream png
    1510                                 if(checkbit(flag, 4) == 1)
    1511                                 {
    1512                                         ostrcatbig(&buf, "<a target=_blank href=\"query?getvideo&0,0,", &maxlen, &pos);
    1513                                         ostrcatbig(&buf, filelistpath->text, &maxlen, &pos);
    1514                                         ostrcatbig(&buf, "/", &maxlen, &pos);
    1515                                         ostrcatbig(&buf, node->text, &maxlen, &pos);
    1516                                         ostrcatbig(&buf, "\">", &maxlen, &pos);
    1517 
    1518                                         ostrcatbig(&buf, "<img border=0 src=img/webstream.png width=16 height=16 alt=WebStream></a>", &maxlen, &pos);
    1519                                         //
    1520                                         //
    1521                                         ostrcatbig(&buf, "<a target=_blank href=\"", &maxlen, &pos);
    1522                                         ostrcatbig(&buf, filelistpath->text, &maxlen, &pos);
    1523                                         ostrcatbig(&buf, "/", &maxlen, &pos);
    1524                                         ostrcatbig(&buf, node->text, &maxlen, &pos);
    1525                                         ostrcatbig(&buf, "\">", &maxlen, &pos);
    1526 
    1527                                         ostrcatbig(&buf, "<img border=0 src=img/icon_restart.png width=16 height=16 alt=Download></a>", &maxlen, &pos);
    1528                                 }
    1529                         }
    1530                         ostrcatbig(&buf, "</td>", &maxlen, &pos);
    1531                         ostrcatbig(&buf, "</tr>", &maxlen, &pos);
     1716                        }
     1717                        if(fmt == 0)
     1718                        {
     1719                                ostrcatbig(&buf, "</td>", &maxlen, &pos);
     1720                                ostrcatbig(&buf, "</tr>", &maxlen, &pos);
     1721                        }
    15321722                }
    15331723
     
    15661756        }
    15671757
    1568         webcreatetailbig(&buf, &maxlen, &pos, 0);
     1758        if(fmt == 0) webcreatetailbig(&buf, &maxlen, &pos, 0);
    15691759        delmarkedscreennodes(webdir, FILELISTDELMARK);
    15701760        return buf;
    15711761}
    15721762
    1573 char* webgetmovieepg(char* param, char* path, int flag)
     1763char* webgetmovieepg(char* param, char* path, int flag, int fmt)
    15741764{
    15751765        char* buf = NULL, *tmpstr = NULL;
     
    15791769        FILE* fd = NULL;
    15801770
    1581         webcreateheadbig(&buf, &maxlen, NULL, &pos, 0);
    1582         ostrcatbig(&buf, "<tr><td><font class=biglabel>", &maxlen, &pos);
     1771        if(fmt == 0)
     1772        {
     1773                webcreateheadbig(&buf, &maxlen, NULL, &pos, 0);
     1774                ostrcatbig(&buf, "<tr><td><font class=biglabel>", &maxlen, &pos);
     1775        }
    15831776
    15841777        if(flag == 1)
     
    16011794                {
    16021795                        c = fgetc(fd);
    1603                         if(c == '\n')
     1796                        if(fmt == 0 && c == '\n')
    16041797                        {
    16051798                                if(first == 1)
     
    16111804                                continue;
    16121805                        }
    1613                         sprintf(tstr, "%c", c);
    1614                         ostrcatbig(&buf, tstr, &maxlen, &pos);
     1806                        if(c != EOF)
     1807                        {
     1808                                sprintf(tstr, "%c", c);
     1809                                ostrcatbig(&buf, tstr, &maxlen, &pos);
     1810                        }
    16151811                }
    16161812                fclose(fd);
    16171813        }
    1618         ostrcatbig(&buf, "</font></td></tr>", &maxlen, &pos);
    1619 
    1620         webcreatetailbig(&buf, &maxlen, &pos, 0);
     1814
     1815        if(fmt == 0)
     1816        {
     1817                ostrcatbig(&buf, "</font></td></tr>", &maxlen, &pos);
     1818                webcreatetailbig(&buf, &maxlen, &pos, 0);
     1819        }
    16211820
    16221821        free(tmpstr); tmpstr = NULL;
     
    16241823}
    16251824
    1626 char* webdelfile(char* param, char* link, char* dellink, char* path, char* mask, int flag)
     1825char* webdelfile(char* param, char* link, char* dellink, char* path, char* mask, int flag, int fmt)
    16271826{
    16281827        char* buf = NULL, *param1 = NULL, *param2 = NULL, *tmpparam = NULL;
     
    16571856        tmpparam = ostrcat(tmpparam, param1, 1, 0);
    16581857
    1659         buf = webgetfilelist(tmpparam, link, dellink, path, mask, flag);
     1858        buf = webgetfilelist(tmpparam, link, dellink, path, mask, flag, fmt);
    16601859        free(tmpparam); tmpparam = NULL;
    16611860        return buf;
    16621861}
    16631862
    1664 void websendrc(char* param)
     1863void websendrc(char* param, int fmt)
    16651864{
    16661865        int rccode = 0;
     
    16721871//flag 0: get aktiv timer
    16731872//flag 1: get old timer
    1674 char* webgetrectimer(char* param, int flag)
     1873char* webgetrectimer(char* param, int flag, int fmt)
    16751874{
    16761875        char* buf = NULL, *buf1 = NULL;
     
    16871886        }
    16881887
    1689         ostrcatbig(&buf, "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"><link rel=stylesheet type=text/css href=titan.css><script type=text/javascript src=titan.js></script></head><body class=body><center><table width=100%>", &maxlen, &pos);
     1888        if(fmt == 0) ostrcatbig(&buf, "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"><link rel=stylesheet type=text/css href=titan.css><script type=text/javascript src=titan.js></script></head><body class=body><center><table width=100%>", &maxlen, &pos);
    16901889
    16911890        while(node != NULL)
     
    16961895                        continue;
    16971896                }
    1698                 if(line == 0)
    1699                 {
    1700                         ostrcatbig(&buf, "<tr class=line1><td>", &maxlen, &pos);
    1701                         line = 1;
    1702                 }
    1703                 else
    1704                 {
    1705                         ostrcatbig(&buf, "<tr class=line2><td>", &maxlen, &pos);
    1706                         line = 0;
    1707                 }
    1708 
    1709                 loctime = olocaltime(&node->begin);
    1710                 if(loctime != NULL)
    1711                         strftime(buf1, MINMALLOC, "%d-%m-%Y %H:%M -", loctime);
    1712                 free(loctime); loctime = NULL;
    1713                 loctime = olocaltime(&node->end);
    1714                 if(loctime != NULL)
    1715                         strftime(&buf1[18], MINMALLOC - 19, " %H:%M ", loctime);
    1716                 free(loctime); loctime = NULL;
    1717 
    1718                 ostrcatbig(&buf, "<font class=label1>", &maxlen, &pos);
    1719                 ostrcatbig(&buf, buf1, &maxlen, &pos);
    1720 
    1721                 ostrcatbig(&buf, " (", &maxlen, &pos);
    1722                 if(node->justplay == 0)
    1723                         ostrcatbig(&buf, "rec - ", &maxlen, &pos);
    1724                 else
    1725                         ostrcatbig(&buf, "switch - ", &maxlen, &pos);
    1726                 if(node->repeate == 0)
    1727                         ostrcatbig(&buf, "once", &maxlen, &pos);
    1728                 else
    1729                         ostrcatbig(&buf, "repeate", &maxlen, &pos);
    1730 
    1731                 ostrcatbig(&buf, ")</font><br><font class=smalllabel1>", &maxlen, &pos);
    1732                 if(node->name == NULL || strlen(node->name) == 0)
    1733                         ostrcatbig(&buf, "---", &maxlen, &pos);
    1734                 else
    1735                         ostrcatbig(&buf, node->name, &maxlen, &pos);
    1736 
    1737                 chnode = getchannel(node->serviceid, node->transponderid);
    1738                 if(chnode != NULL)
    1739                 {
     1897                if(fmt == 0)
     1898                {
     1899                        if(line == 0)
     1900                        {
     1901                                ostrcatbig(&buf, "<tr class=line1><td>", &maxlen, &pos);
     1902                                line = 1;
     1903                        }
     1904                        else
     1905                        {
     1906                                ostrcatbig(&buf, "<tr class=line2><td>", &maxlen, &pos);
     1907                                line = 0;
     1908                        }
     1909
     1910                        loctime = olocaltime(&node->begin);
     1911                        if(loctime != NULL)
     1912                                strftime(buf1, MINMALLOC, "%d-%m-%Y %H:%M -", loctime);
     1913                        free(loctime); loctime = NULL;
     1914                        loctime = olocaltime(&node->end);
     1915                        if(loctime != NULL)
     1916                                strftime(&buf1[18], MINMALLOC - 19, " %H:%M ", loctime);
     1917                        free(loctime); loctime = NULL;
     1918       
     1919                        ostrcatbig(&buf, "<font class=label1>", &maxlen, &pos);
     1920                        ostrcatbig(&buf, buf1, &maxlen, &pos);
     1921
    17401922                        ostrcatbig(&buf, " (", &maxlen, &pos);
    1741                         ostrcatbig(&buf, chnode->name, &maxlen, &pos);
    1742                         ostrcatbig(&buf, ")", &maxlen, &pos);
    1743                 }
    1744                 ostrcatbig(&buf, "<br>", &maxlen, &pos);
    1745 
    1746                 if(node->status == 0)
    1747                         ostrcatbig(&buf, "waiting", &maxlen, &pos);
    1748                 else if(node->status == 1)
    1749                         ostrcatbig(&buf, "running", &maxlen, &pos);
    1750                 else if(node->status == 2)
    1751                         ostrcatbig(&buf, "succes", &maxlen, &pos);
    1752                 else if(node->status == 3)
    1753                 {
    1754                         ostrcatbig(&buf, "error", &maxlen, &pos);
    1755                         if(node->errstr != NULL && strlen(node->errstr) > 0)
     1923                        if(node->justplay == 0)
     1924                                ostrcatbig(&buf, "rec - ", &maxlen, &pos);
     1925                        else
     1926                                ostrcatbig(&buf, "switch - ", &maxlen, &pos);
     1927                        if(node->repeate == 0)
     1928                                ostrcatbig(&buf, "once", &maxlen, &pos);
     1929                        else
     1930                                ostrcatbig(&buf, "repeate", &maxlen, &pos);
     1931
     1932                        ostrcatbig(&buf, ")</font><br><font class=smalllabel1>", &maxlen, &pos);
     1933                        if(node->name == NULL || strlen(node->name) == 0)
     1934                                ostrcatbig(&buf, "---", &maxlen, &pos);
     1935                        else
     1936                                ostrcatbig(&buf, node->name, &maxlen, &pos);
     1937
     1938                        chnode = getchannel(node->serviceid, node->transponderid);
     1939                        if(chnode != NULL)
    17561940                        {
    17571941                                ostrcatbig(&buf, " (", &maxlen, &pos);
    1758                                 ostrcatbig(&buf, node->errstr, &maxlen, &pos);
     1942                                ostrcatbig(&buf, chnode->name, &maxlen, &pos);
    17591943                                ostrcatbig(&buf, ")", &maxlen, &pos);
    17601944                        }
    1761                 }
    1762 
    1763                 ostrcatbig(&buf, "</font>", &maxlen, &pos);
    1764 
    1765                 if(flag == 0)
    1766                 {
    1767                         ostrcatbig(&buf, "</td><td width=40 align=right>", &maxlen, &pos);
    1768 
    1769                         //edit png
    1770                         ostrcatbig(&buf, "<a target=main href=\"query?editrectimer", &maxlen, &pos);
    1771                         ostrcatbig(&buf, "&", &maxlen, &pos);
    1772                         ostrcatbig(&buf, node->timestamp, &maxlen, &pos);
    1773                         ostrcatbig(&buf, "\">", &maxlen, &pos);
    1774 
    1775                         ostrcatbig(&buf, "<img border=0 src=img/edit.png width=16 height=16 alt=\"Edit Timer\"></a>", &maxlen, &pos);
    1776 
    1777                         //delete png
    1778                         ostrcatbig(&buf, "<img border=0 src=img/delete.png width=16 height=16 alt=Delete onclick='delquestion(\"", &maxlen, &pos);
    1779                         ostrcatbig(&buf, "query?delrectimer", &maxlen, &pos);
    1780                         ostrcatbig(&buf, "&", &maxlen, &pos);
    1781                         ostrcatbig(&buf, node->timestamp, &maxlen, &pos);
    1782                         //ostrcatbig(&buf, filelistpath->text, &maxlen, &pos);
    1783                         //ostrcatbig(&buf, "&", &maxlen, &pos);
    1784                         //tmpnr = oitoa(page);
    1785                         //ostrcatbig(&buf, tmpnr, &maxlen, &pos);
    1786                         //free(tmpnr); tmpnr = NULL;
    1787                         //ostrcatbig(&buf, "&", &maxlen, &pos);
    1788                         //ostrcatbig(&buf, node->text, &maxlen, &pos);
    1789                         ostrcatbig(&buf, "\");'>", &maxlen, &pos);
    1790                 }
    1791 
    1792                 ostrcatbig(&buf, "</td></tr>", &maxlen, &pos);
     1945                        ostrcatbig(&buf, "<br>", &maxlen, &pos);
     1946
     1947                        if(node->status == 0)
     1948                                ostrcatbig(&buf, "waiting", &maxlen, &pos);
     1949                        else if(node->status == 1)
     1950                                ostrcatbig(&buf, "running", &maxlen, &pos);
     1951                        else if(node->status == 2)
     1952                                ostrcatbig(&buf, "succes", &maxlen, &pos);
     1953                        else if(node->status == 3)
     1954                        {
     1955                                ostrcatbig(&buf, "error", &maxlen, &pos);
     1956                                if(node->errstr != NULL && strlen(node->errstr) > 0)
     1957                                {
     1958                                        ostrcatbig(&buf, " (", &maxlen, &pos);
     1959                                        ostrcatbig(&buf, node->errstr, &maxlen, &pos);
     1960                                        ostrcatbig(&buf, ")", &maxlen, &pos);
     1961                                }
     1962                        }
     1963
     1964                        ostrcatbig(&buf, "</font>", &maxlen, &pos);
     1965
     1966                        if(flag == 0)
     1967                        {
     1968                                ostrcatbig(&buf, "</td><td width=40 align=right>", &maxlen, &pos);
     1969
     1970                                //edit png
     1971                                ostrcatbig(&buf, "<a target=main href=\"query?editrectimer", &maxlen, &pos);
     1972                                ostrcatbig(&buf, "&", &maxlen, &pos);
     1973                                ostrcatbig(&buf, node->timestamp, &maxlen, &pos);
     1974                                ostrcatbig(&buf, "\">", &maxlen, &pos);
     1975
     1976                                ostrcatbig(&buf, "<img border=0 src=img/edit.png width=16 height=16 alt=\"Edit Timer\"></a>", &maxlen, &pos);
     1977
     1978                                //delete png
     1979                                ostrcatbig(&buf, "<img border=0 src=img/delete.png width=16 height=16 alt=Delete onclick='delquestion(\"", &maxlen, &pos);
     1980                                ostrcatbig(&buf, "query?delrectimer", &maxlen, &pos);
     1981                                ostrcatbig(&buf, "&", &maxlen, &pos);
     1982                                ostrcatbig(&buf, node->timestamp, &maxlen, &pos);
     1983                                //ostrcatbig(&buf, filelistpath->text, &maxlen, &pos);
     1984                                //ostrcatbig(&buf, "&", &maxlen, &pos);
     1985                                //tmpnr = oitoa(page);
     1986                                //ostrcatbig(&buf, tmpnr, &maxlen, &pos);
     1987                                //free(tmpnr); tmpnr = NULL;
     1988                                //ostrcatbig(&buf, "&", &maxlen, &pos);
     1989                                //ostrcatbig(&buf, node->text, &maxlen, &pos);
     1990                                ostrcatbig(&buf, "\");'>", &maxlen, &pos);
     1991                        }
     1992
     1993                        ostrcatbig(&buf, "</td></tr>", &maxlen, &pos);
     1994                }
     1995                else
     1996                {
     1997                        buf = ostrcat(buf, olutoa(node->begin), 1, 1);
     1998                        buf = ostrcat(buf, "#", 1, 0);
     1999                        buf = ostrcat(buf, olutoa(node->end), 1, 1);
     2000                        buf = ostrcat(buf, "#", 1, 0);
     2001                        buf = ostrcat(buf, oitoa(node->justplay), 1, 1);
     2002                        buf = ostrcat(buf, "#", 1, 0);
     2003                        buf = ostrcat(buf, oitoa(node->repeate), 1, 1);
     2004                        buf = ostrcat(buf, "#", 1, 0);
     2005                        buf = ostrcat(buf, node->name, 1, 0);
     2006                        buf = ostrcat(buf, "#", 1, 0);
     2007                        buf = ostrcat(buf, oitoa(node->serviceid), 1, 1);
     2008                        buf = ostrcat(buf, "#", 1, 0);
     2009                        buf = ostrcat(buf, olutoa(node->transponderid), 1, 1);
     2010                        buf = ostrcat(buf, "#", 1, 0);
     2011                        buf = ostrcat(buf, oitoa(node->status), 1, 1);
     2012                        buf = ostrcat(buf, "#", 1, 0);
     2013                        buf = ostrcat(buf, node->errstr, 1, 0);
     2014                        buf = ostrcat(buf, "#", 1, 0);
     2015                        buf = ostrcat(buf, node->timestamp, 1, 1);
     2016                        buf = ostrcat(buf, "\n", 1, 0);
     2017                }
    17932018
    17942019                node = node->next;
    17952020        }
    17962021
    1797         webcreatetailbig(&buf, &maxlen, &pos, 0);
     2022        if(fmt == 0) webcreatetailbig(&buf, &maxlen, &pos, 0);
    17982023
    17992024        free(buf1);
     
    18012026}
    18022027
    1803 char* webaddrectimer(char* param)
     2028char* webaddrectimer(char* param, int fmt)
    18042029{
    18052030        char* buf = NULL, *buf1 = NULL, *buf2 = NULL, *param1 = NULL, *param2 = NULL;
     
    18952120}
    18962121
    1897 char* webrectimersend(char* param)
     2122char* webrectimersend(char* param, int fmt)
    18982123{
    18992124        char* buf = NULL, *string = NULL, *name = NULL, *begin = NULL, *end = NULL, *type = NULL, *anode = NULL, *channelname = NULL, *sid = NULL, *tid = NULL, *ext = NULL;
     
    20652290               
    20662291                if(ext == NULL)
    2067                         buf = webgetrectimer(NULL, 0);
     2292                        buf = webgetrectimer(NULL, 0, fmt);
    20682293                else
    20692294                {
     
    20782303}
    20792304
    2080 char* webeditrectimer(char* param)
     2305char* webeditrectimer(char* param, int fmt)
    20812306{
    20822307        char* buf = NULL, *buf1 = NULL, *buf2 = NULL;
     
    21602385}
    21612386
    2162 char* webdelrectimer(char* param)
     2387char* webdelrectimer(char* param, int fmt)
    21632388{
    21642389        char* buf = NULL, *string = NULL, *timerid = NULL;
     
    21992424                buf = ostrcat(buf, "ok -> timer deleted", 1, 0);
    22002425        else
    2201                 buf = webgetrectimer(NULL, 0);
     2426                buf = webgetrectimer(NULL, 0, fmt);
    22022427       
    22032428        return buf;
Note: See TracChangeset for help on using the changeset viewer.