source: titan/plugins/tithek/movie4k.h @ 29534

Last change on this file since 29534 was 29534, checked in by obi, 5 years ago

clean up

File size: 37.6 KB
Line 
1#ifndef MOVIE4K_H
2#define MOVIE4K_H
3
4// flag 1 = putlocker/sockshare
5// flag 2 = filenuke
6
7char* movie4k(char* link)
8{
9        debug(99, "link: %s", link);
10        int debuglevel = getconfigint("debuglevel", NULL);
11        char* tmpstr = NULL, *tmpstr1 = NULL, *tmpstr2 = NULL, *url = NULL, *streamurl = NULL, *tmppath = NULL, *tmphost = NULL, *pos = NULL;
12        titheklog(debuglevel, "/tmp/movie4k_streamurl_url0", NULL, NULL, NULL, link);
13
14        if(link == NULL || ostrncmp("http://", link, 7)) return NULL;
15
16        tmphost = string_replace("http://", "", (char*)link, 0);
17
18        if(tmphost != NULL)
19                pos = strchr(tmphost, '/');
20        if(pos != NULL)
21        {
22                pos[0] = '\0';
23                tmppath = pos + 1;
24        }
25
26        tmpstr1 = gethttp(tmphost, tmppath, 80, NULL, NULL, 10000, NULL, 0);
27        titheklog(debuglevel, "/tmp/movie4k_streamurl_tmpstr1_a", NULL, NULL, NULL, tmpstr1);
28
29        tmpstr = string_resub("question.png", "underplayer", tmpstr1, 0);
30        titheklog(debuglevel, "/tmp/movie4k_streamurl_tmpstr1_b", NULL, NULL, NULL, tmpstr);
31
32        free(tmpstr1), tmpstr1 = NULL;
33
34        if(tmpstr == NULL)
35        {
36                textbox(_("Message"), _("Connection Error, try again later.") , _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 1200, 200, 0, 0);
37                goto end;
38        }
39               
40        url = string_resub("<a target=\"_blank\" href=\"", "\"><", tmpstr, 0);
41        titheklog(debuglevel, "/tmp/movie4k_streamurl_url1", NULL, NULL, NULL, url);
42
43        if(url == NULL)
44                url = string_resub("<iframe src=\"", "\"", tmpstr, 0);
45
46        if(url == NULL)
47        {
48                textbox(_("Message"), _("Can not parse Main Stream URL, try again later.") , _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 1200, 200, 0, 0);
49                goto end;
50        }
51       
52        if(ostrstr(url, "http://") == NULL)
53        {
54                free(url), url = NULL;
55                url = string_resub("<iframe src=", "\" width", tmpstr, 0);
56
57                tmpstr2 = ostrcat("<iframe src=", url, 0, 0);
58                tmpstr2 = ostrcat(tmpstr2, "\" width", 1, 0);
59                tmpstr = string_replace_all(tmpstr2, "", tmpstr, 1);
60
61                titheklog(debuglevel, "/tmp/movie4k_streamurl_tmpstr2", NULL, NULL, NULL, tmpstr);
62                titheklog(debuglevel, "/tmp/movie4k_streamurl_url2", NULL, NULL, NULL, url);
63        }
64       
65        if(ostrstr(url, "http://www.facebook.com") != NULL)
66        {
67                free(url), url = NULL;
68                url = oregex(".*<iframe width=.*(http://.*)&width.*", tmpstr);
69                titheklog(debuglevel, "/tmp/movie4k_streamurl_url3", NULL, NULL, NULL, url);
70        }       
71
72        if(ostrstr(url, "http://clkrev.com") != NULL)
73        {
74                free(url), url = NULL;
75                url = string_resub("<iframe src=\"", "\" width", tmpstr, 0);
76                titheklog(debuglevel, "/tmp/movie4k_streamurl_url4", NULL, NULL, NULL, url);
77        }
78       
79        url = string_replace_all("/embed/", "/file/", url, 1);
80        url = string_replace_all("\"", "", url, 1);
81
82        if(url == NULL)
83        {
84                free(url), url = NULL;
85                url = oregex(".*<iframe width=\".*(http://.*)&width=600&height=480\".*", tmpstr);
86                titheklog(debuglevel, "/tmp/movie4k_streamurl_url5", NULL, NULL, NULL, url);
87        }
88        titheklog(debuglevel, "/tmp/movie4k_streamurl_url6", NULL, NULL, NULL, url);
89
90        if(url == NULL)
91        {
92                textbox(_("Message"), _("Can not parse Stream URL, try again later.") , _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 1200, 200, 0, 0);
93                goto end;
94        }
95
96        streamurl = hoster(url);
97        titheklog(debuglevel, "/tmp/movie4k_streamurl_url7", NULL, NULL, NULL, url);
98end:
99        free(url), url = NULL;
100        free(tmpstr), tmpstr = NULL;
101        free(tmpstr2), tmpstr2 = NULL;
102        free(tmphost), tmphost = NULL;
103
104        return streamurl;
105}
106
107int movie4k_search(struct skin* grid, struct skin* listbox, struct skin* countlabel, struct skin* load, char* link, char* title, char* searchstr, int flag)
108{
109        int ret = 1, maxlen = 0, bigpos = 0;
110        int incount = 0;
111        char* tmpstr = NULL;
112        char* from = NULL;
113        char* folgen = NULL;
114        char* folgentmp = NULL;
115        char* name = NULL;
116        char* lang = NULL;
117        char* season = NULL;
118        char* episode = NULL;
119        char* line = NULL;
120        char* menu = NULL;
121        char* str = NULL;
122        char* pic = NULL;
123        char* type = NULL;
124
125        int debuglevel = getconfigint("debuglevel", NULL);
126
127        if(listbox == NULL || listbox->select == NULL || listbox->select->handle == NULL)
128                return ret;
129
130        char* search = NULL;
131        if(flag == 0)
132        {
133                if(searchstr == NULL)
134                        search = textinputhist(_("Search"), " ", "searchhist");
135                else
136                        search = textinputhist(_("Search"), searchstr, "searchhist");
137        }
138        else
139                search = ostrcat(link, NULL, 0, 0);
140
141        if(search != NULL)
142        {
143                drawscreen(load, 0, 0);
144                search = strstrip(search);
145                search = stringreplacechar(search, ' ', '+');
146                debug(99, "search: %s", search);
147
148                char* send = NULL;
149                send = ostrcat(send, "GET /searchAutoCompleteNew.php?search=the HTTP/1.1\r\n", 1, 0);
150                send = ostrcat(send, "Accept-Encoding: identity\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n", 1, 0);
151                send = ostrcat(send, "Host: www.movie4k.to\r\nAccept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4\r\n", 1, 0);
152                send = ostrcat(send, "Connection: close\r\nUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3\r\n\r\n", 1, 0);
153                debug(99, "send: %s", send);
154
155                tmpstr = gethttpreal("www.movie4k.to", "/searchAutoCompleteNew.php?search=the", 80, NULL, NULL, NULL, 0, send, NULL, 5000, 1);
156                free(send); send = NULL;
157                debug(99, "tmpstr: %s", tmpstr);
158                titheklog(debuglevel, "/tmp/movie4k_search", NULL, NULL, NULL, tmpstr);
159
160                char* key = string_resub("securekey=", "&search", tmpstr, 0);
161                debug(99, "key: %s", key);
162
163                send = ostrcat(send, "GET /movies.php?list=search&securekey=", 1, 0);
164                send = ostrcat(send, key, 1, 0);
165                send = ostrcat(send, "&search=", 1, 0);
166                send = ostrcat(send, search, 1, 0);
167                send = ostrcat(send, " HTTP/1.1\r\nAccept-Encoding: identity\r\n", 1, 0);
168                send = ostrcat(send, "Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4\r\n", 1, 0);
169                send = ostrcat(send, "Host: www.movie4k.to\r\n", 1, 0);
170                send = ostrcat(send, "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3\r\n", 1, 0);
171                send = ostrcat(send, "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n", 1, 0);
172                send = ostrcat(send, "Connection: close\r\nCookie: xxx2=ok;\r\n\r\n", 1, 0);
173                debug(99, "send: %s", send);
174
175                free(tmpstr), tmpstr = NULL;
176                tmpstr = gethttpreal("movie4k.to", "/", 80, NULL, NULL, NULL, 0, send, NULL, 5000, 1);
177
178                folgen = string_resub("<TABLE id=\"tablemoviesindex\">", "</TABLE>", tmpstr, 0);
179                folgen = string_replace_all("1000\r\n", "", folgen, 1);
180                folgen = string_replace_all("2000\r\n", "", folgen, 1);
181                stringreplacechar(folgen, '\n', ' ');
182                stringreplacechar(folgen, '\t', ' ');
183                string_strip_whitechars(folgen);
184                folgen = string_replace_all("</TD> </TR> <TR id=\"coverPreview", "</TD> </TR>\n<TR id=\"cover1Preview", folgen, 1);
185                if(folgen != NULL)
186                {
187                        int count = 0;
188                        int j;
189                        struct splitstr* ret1 = NULL;
190                        ret1 = strsplit(folgen, "\n", &count);
191
192                        if(ret1 != NULL && count > 0)
193                        {
194                                int max = count;
195                                for(j = 0; j < max; j++)
196                                {
197                                        int rcret = waitrc(NULL, 10, 0);
198                                        if(rcret == getrcconfigint("rcexit", NULL)) break;
199
200                                        incount++;
201                                        link = string_resub("<a href=\"", "\">", ret1[j].part, 0);
202                                        name = string_resub(".html\">", "</a>", ret1[j].part, 0);
203                                        char* id = string_resub("online-film-", ".html", link, 0);
204                                        if(id == NULL)
205                                                id = string_resub("watch-movie-", ".html", link, 0);
206                                        if(id == NULL)
207                                                id = oregex(".*tvshows-(.*[0-9]{4,10})-.*", link);
208
209
210                                        from = ostrcat("#coverPreview", id, 0, 0);
211                                        pic = string_resub(from, from, tmpstr, 0);     
212                                        pic = string_resub("<img src='", "' alt=", pic, 1);     
213                                        if(pic == NULL)
214                                                pic = ostrcat("http://atemio.dyndns.tv/mediathek/menu/default.jpg", NULL, 0, 0);
215
216                                        if(ostrstr(link, "online-serie-") != NULL)
217                                                type = ostrcat("40", NULL, 0, 0);
218                                        else
219                                                type = ostrcat("34", NULL, 0, 0);
220
221
222                                        if(ostrstr(ret1[j].part, "us_ger_small.png") != NULL)
223                                                lang = ostrcat(" (de)", NULL, 0, 0);
224                                        else if(ostrstr(ret1[j].part, "us_flag_small.png") != NULL)
225                                                lang = ostrcat(" (en)", NULL, 0, 0);
226                                        else
227                                                lang = ostrcat(" (\?\?)", NULL, 0, 0);
228                                       
229                                        ostrcatbig(&line, name, &maxlen, &bigpos);
230                                        ostrcatbig(&line, lang, &maxlen, &bigpos);
231                                        ostrcatbig(&line, "#http://www.movie4k.to/", &maxlen, &bigpos);
232                                        ostrcatbig(&line, link, &maxlen, &bigpos);
233                                        ostrcatbig(&line, "#", &maxlen, &bigpos);
234                                        ostrcatbig(&line, pic, &maxlen, &bigpos);
235                                        ostrcatbig(&line, "#movie4k_search_", &maxlen, &bigpos);
236                                        char* cincount = oitoa(incount + time(NULL));
237                                        ostrcatbig(&line, cincount, &maxlen, &bigpos);
238                                        free(cincount); cincount = NULL;
239                                        ostrcatbig(&line, ".jpg#Movie4k - Search#", &maxlen, &bigpos);
240                                        ostrcatbig(&line, type, &maxlen, &bigpos);
241                                        ostrcatbig(&line, "\n", &maxlen, &bigpos); 
242
243                                        free(str), str = NULL;
244                                                                                       
245                                        free(name), name = NULL;
246                                        free(lang), lang = NULL;
247                                        free(season), season = NULL;
248                                        free(episode), episode = NULL;
249                                        free(from), from = NULL;
250                                        free(pic), pic = NULL;
251                                        free(type), type = NULL;
252                                        if(j == 60)
253                                                break;
254                                }
255                        }
256                        free(ret1), ret1 = NULL;
257                }                               
258                free(from), from = NULL;
259                free(folgen), folgen = NULL;
260                free(folgentmp), folgentmp = NULL;             
261
262                if(line != NULL)
263                {
264                        line = string_replace_all("http://atemio.dyndns.tv/", "http://imageshack.us/md/up/grd/", line, 1);
265                        menu = ostrcat("/tmp/tithek/movie4k.search.", oitoa(time(NULL)), 0, 1);
266                        menu = ostrcat(menu, ".list", 1, 0);
267                        writesys(menu, line, 0);
268                        free(line); line = NULL;
269                       
270                        struct tithek* tnode = (struct tithek*)listbox->select->handle;
271                        createtithek(tnode, tnode->title,  menu, tnode->pic, tnode->localname, tnode->menutitle, tnode->flag);
272                        ret = 0;
273                        free(menu); menu = NULL;
274                }
275
276                free(tmpstr), tmpstr = NULL;
277        }
278        free(search), search = NULL;
279        return ret;
280}
281
282int movie4k_search_local(struct skin* grid, struct skin* listbox, struct skin* countlabel, struct skin* load, char* link, char* title, char* searchstr, int flag)
283{
284        char* tmpstr = NULL, *tmpstr1 = NULL, *line = NULL, *menu = NULL, *search = NULL;
285        int ret = 1, count = 0, i = 0;
286
287        if(listbox == NULL || listbox->select == NULL || listbox->select->handle == NULL)
288                return ret;
289
290        if(searchstr == NULL)
291                search = textinputhist(_("Search"), " ", "searchhist");
292        else
293                search = textinputhist(_("Search"), searchstr, "searchhist");
294
295        if(search != NULL)
296        {
297                drawscreen(load, 0, 0);
298
299                strstrip(search);
300                string_tolower(search);
301
302                tmpstr = gethttp("atemio.dyndns.tv", "/mediathek/movie4k/streams/movie4k.all-sorted.list", 80, NULL, HTTPAUTH, 5000, NULL, 0);
303
304                struct splitstr* ret1 = NULL;
305                ret1 = strsplit(tmpstr, "\n", &count);
306
307                if(ret1 != NULL)
308                {
309                        int max = count;
310                        for(i = 0; i < max; i++)
311                        {
312                       
313                                tmpstr1 = ostrcat(ret1[i].part, NULL, 0, 0);
314                                tmpstr1 = stringreplacecharonce(tmpstr1, '#', '\0');
315                                string_tolower(tmpstr1);
316
317                                if(ostrstr(tmpstr1, search) != NULL)
318                                {
319                                        printf("found: %s\n", ret1[i].part);
320                                        int rcret = waitrc(NULL, 10, 0);
321                                        if(rcret == getrcconfigint("rcexit", NULL)) break;
322
323                                        line = ostrcat(line, ret1[i].part, 1, 0);
324                                        line = ostrcat(line, "\n", 0, 0);
325                                }
326                                free(tmpstr1), tmpstr1 = NULL;                         
327                        }
328                        free(ret1), ret1 = NULL;
329
330                        if(line != NULL)
331                        {
332                                line = string_replace_all("http://atemio.dyndns.tv/", "http://imageshack.us/md/up/grd/", line, 1);
333                                menu = ostrcat("/tmp/tithek/movie4k.search.", oitoa(time(NULL)), 0, 1);
334                                menu = ostrcat(menu, ".list", 1, 0);
335                                writesys(menu, line, 0);
336                                struct tithek* tnode = (struct tithek*)listbox->select->handle;
337                                createtithek(tnode, tnode->title, menu, tnode->pic, tnode->localname, tnode->menutitle, tnode->flag);
338                                ret = 0;
339                        }
340                }
341                free(tmpstr), tmpstr = NULL;
342        }
343        free(search), search = NULL;
344        return ret;
345}
346
347int movie4k_hoster(struct skin* grid, struct skin* listbox, struct skin* countlabel, struct skin* load, char* link, char* title)
348{
349        debug(99, "link: %s", link);
350        int debuglevel = getconfigint("debuglevel", NULL);
351        int ret = 1, maxlen = 0, bigpos = 0;
352        char* extra = NULL, *pos3 = NULL, *ip = NULL, *pos = NULL, *path = NULL, *tmpstr = NULL, *line = NULL, *url = NULL, *url2 = NULL;
353        char* url3 = NULL, *url4 = NULL, *pathnew = NULL, *id = NULL, *logfile = NULL, *tmphname = NULL, *hnamein = NULL, *nolinks = NULL;
354        char* tmpid = NULL, *pichname = NULL;
355        if(listbox == NULL || listbox->select == NULL || listbox->select->handle == NULL)
356                return ret;
357               
358        drawscreen(load, 0, 0);
359
360        ip = string_replace("http://", "", (char*)link, 0);
361
362        if(ip != NULL)
363                pos = strchr(ip, '/');
364        if(pos != NULL)
365        {
366                pos[0] = '\0';
367                path = pos + 1;
368        }
369
370        tmpstr = gethttp(ip, path, 80, NULL, NULL, 10000, NULL, 0);
371        titheklog(debuglevel, "/tmp/movie4k2_tmpstr", NULL, NULL, NULL, tmpstr);
372        int a = 0;
373
374        if(tmpstr != NULL)
375        {       
376                int countj = 0;
377                char* cpart = ostrstr(tmpstr, "&part=");
378                if(cpart != NULL)
379                {
380                        if(ostrstr(cpart, "&part=4") != NULL)
381                                countj = 4;
382                        else if(ostrstr(cpart, "&part=3") != NULL)
383                                countj = 3;
384                        else if(ostrstr(cpart, "&part=2") != NULL)
385                                countj = 2;
386                        else if(ostrstr(cpart, "&part=1") != NULL)
387                                countj = 1;
388                               
389                        tmpid = string_resub("movie.php?id=", "&part=", tmpstr, 0);
390                }
391                       
392                if(ostrstr(tmpstr, "links\[") == NULL)
393                {
394//                      hnamein = string_resub("width=\"16\"> &nbsp;", "</a></td><td align=", tmpstr, 0);
395                        hnamein = string_resub("width=\"16\"> &nbsp;", "</a></td>", tmpstr, 0);
396                        nolinks = ostrcat(tmpstr, NULL, 0, 0);
397                }
398                else
399                {
400                        unlink("/tmp/movie4k.list");
401                        writesys("/tmp/movie4k.list", tmpstr, 1);
402                        tmpstr = command("cat /tmp/movie4k.list | grep ^links");
403                }
404               
405                int count = 0;
406                int incount = 0;
407                int i;
408                struct splitstr* ret1 = NULL;
409                ret1 = strsplit(tmpstr, "\n", &count);         
410
411                if(ret1 != NULL && count > 0)
412                {
413                        int max = count;
414                        for(i = 0; i < max; i++)
415                        {
416                                if((!ostrncmp("links", ret1[i].part, 5) && nolinks == NULL) || nolinks != NULL)
417                                {
418                                        if(nolinks == NULL)
419                                        {
420                                                a++;
421//                                              ret1[i].part = string_replace_all("</a>&nbsp;</td>", "</a></td>", ret1[i].part, 1);
422
423                                                pathnew = string_resub("<a href=\\\"", "\\", ret1[i].part, 0);
424                                                tmphname = string_resub("title=\\\"", " ", ret1[i].part, 0);
425                                                if(tmphname == NULL)
426                                                        tmphname = string_resub("&nbsp;", "</a", ret1[i].part, 0);
427
428                                                pos3 = ostrstr(ret1[i].part, "Movie quality");
429                                                extra = getxmlentry(pos3, "quality ");
430
431                                                id = oregex(".*-online-film-(.*[0-9]{4,10}).html.*", pathnew);                                                 
432                                                if(id == NULL)
433                                                        id = string_resub("watch-movie-", ".html", pathnew, 0);
434                                                if(id == NULL)
435                                                        id = oregex(".*tvshows-(.*[0-9]{4,10})-.*", pathnew);
436                                                if(id == NULL)
437                                                        id = ostrcat(tmpid, NULL, 0, 0);
438
439//                                              debug(99, "(%d/%d/%d) pathnew: %s hname: %s id: %s",a ,i ,max ,pathnew , tmphname, id);
440
441                                                if(ostrstr(pathnew, "tvshows-") != NULL)
442                                                {
443                                                        pathnew = string_replace("tvshows-", "", pathnew, 1);
444                                                        pathnew = string_replace(id, "", pathnew, 1);
445                                                        pathnew = string_replace("-", "", pathnew, 1);
446                                                        pathnew = string_replace(".html", "", pathnew, 1);
447                                                        pathnew = ostrcat(pathnew, "-online-serie-", 1, 0);
448                                                        pathnew = ostrcat(pathnew, id, 1, 0);
449                                                        pathnew = ostrcat(pathnew, ".html", 1, 0);
450                                                        debug(99, "(%d/%d/%d) pathnew: %s hname: %s id: %s",a ,i ,max ,pathnew, tmphname, id);
451                                                }       
452
453                                                if(ostrstr(pathnew, "tvshow-") != NULL)
454                                                {
455                                                        pathnew = string_replace("tvshow-", "", pathnew, 1);
456                                                        pathnew = string_replace(id, "", pathnew, 1);
457                                                        pathnew = string_replace("-", "", pathnew, 1);
458                                                        pathnew = string_replace(".html", "", pathnew, 1);
459                                                        pathnew = ostrcat(pathnew, "-online-serie-", 1, 0);
460                                                        pathnew = ostrcat(pathnew, id, 1, 0);
461                                                        pathnew = ostrcat(pathnew, ".html", 1, 0);
462                                                        debug(99, "(%d/%d/%d) pathnew: %s hname: %s id: %s",a ,i ,max ,pathnew, tmphname, id);
463                                                }
464
465//                                              logfile = ostrcat("/tmp/movie4k4_pathnew1", id, 0, 0);
466//                                              logfile = ostrcat(logfile, "_", 1, 0);
467//                                              titheklog(debuglevel, logfile, tmphname, NULL, NULL, pathnew);
468//                                              free(logfile), logfile= NULL;
469                                               
470                                                url = ostrcat(pathnew, NULL, 0, 0);
471                                        }
472                                        else
473                                        {
474                                                id = oregex(".*-online-film-(.*[0-9]{4,10}).html.*", path);                                                     
475                                                if(id == NULL)
476                                                        id = string_resub("watch-movie-", ".html", path, 0);
477                                                if(id == NULL)
478                                                        id = oregex(".*tvshows-(.*[0-9]{4,10})-.*", path);
479                                                if(id == NULL)
480                                                        id = oregex(".*tvshow-(.*[0-9]{4,10})-.*", path);
481                                                if(id == NULL)
482                                                        id = oregex(".*tvshows-(.*[0-9]{4,10})..*", path);
483                                                if(id == NULL)
484                                                        id = oregex(".*tvshow-(.*[0-9]{4,10})..*", path);
485                                                if(id == NULL)
486                                                        id = ostrcat(tmpid, NULL, 0, 0);
487                                                tmphname = ostrcat(hnamein, NULL, 0, 0);
488
489                                                pos3 = ostrstr(ret1[i].part, "Movie quality");
490                                                extra = getxmlentry(pos3, "quality ");
491
492                                                pathnew = ostrcat(path, NULL, 0, 0);
493                                                if(ostrstr(pathnew, "tvshows-") != NULL)
494                                                {
495                                                        pathnew = string_replace("tvshows-", "", pathnew, 1);
496                                                        pathnew = string_replace(id, "", pathnew, 1);
497                                                        pathnew = string_replace("-", "", pathnew, 1);
498                                                        pathnew = string_replace(".html", "", pathnew, 1);
499                                                        pathnew = ostrcat(pathnew, "-online-serie-", 1, 0);
500                                                        pathnew = ostrcat(pathnew, id, 1, 0);
501                                                        pathnew = ostrcat(pathnew, ".html", 1, 0);
502                                                        debug(99, "(%d/%d/%d) pathnew: %s hname: %s id: %s",a ,i ,max ,pathnew, tmphname, id);
503                                                }       
504
505                                                if(ostrstr(pathnew, "tvshow-") != NULL)
506                                                {
507                                                        pathnew = string_replace("tvshow-", "", pathnew, 1);
508                                                        pathnew = string_replace(id, "", pathnew, 1);
509                                                        pathnew = string_replace("-", "", pathnew, 1);
510                                                        pathnew = string_replace(".html", "", pathnew, 1);
511                                                        pathnew = ostrcat(pathnew, "-online-serie-", 1, 0);
512                                                        pathnew = ostrcat(pathnew, id, 1, 0);
513                                                        pathnew = ostrcat(pathnew, ".html", 1, 0);
514                                                        debug(99, "(%d/%d/%d) pathnew: %s hname: %s id: %s",a ,i ,max ,pathnew, tmphname, id);
515                                                }
516                                                url = ostrcat(pathnew, NULL, 0, 0);
517                                        }       
518
519                                        pichname = ostrcat(tmphname, NULL, 0, 0);
520                                        string_tolower(pichname);
521                                        pichname = stringreplacecharonce(pichname, '.', '\0');
522
523                                        if(id != NULL)
524                                        {
525                                                if(countj >= 1)
526                                                {       
527                                                        free(url), url = NULL;
528                                                        free(pathnew), pathnew = NULL;
529                                                        pathnew = ostrcat("movie.php?id=", id, 0, 0);
530                                                        pathnew = ostrcat(pathnew, "&part=1", 1, 0);
531                                                        url = ostrcat(pathnew, NULL, 0, 0);
532                                                }
533                                                if(countj >= 2)
534                                                {
535                                                        free(pathnew), pathnew = NULL;
536                                                        pathnew = ostrcat("movie.php?id=", id, 0, 0);
537                                                        pathnew = ostrcat(pathnew, "&part=2", 1, 0);
538                                                        url2 = ostrcat(pathnew, NULL, 0, 0);
539                                                }
540                                                if(countj >= 3)
541                                                {
542                                                        free(pathnew), pathnew = NULL;
543                                                        pathnew = ostrcat("movie.php?id=", id, 0, 0);
544                                                        pathnew = ostrcat(pathnew, "&part=3", 1, 0);
545                                                        url3 = ostrcat(pathnew, NULL, 0, 0);
546
547                                                }                                               
548                                                if(countj >= 4)
549                                                {
550                                                        free(pathnew), pathnew = NULL;
551                                                        pathnew = ostrcat("movie.php?id=", id, 0, 0);
552                                                        pathnew = ostrcat(pathnew, "&part=4", 1, 0);
553                                                        url4 = ostrcat(pathnew, NULL, 0, 0);
554                                                }
555                                        }
556
557                                        int type = 41;
558                                       
559                                        if(ostrcmp(url, url2) != 0)
560                                        {
561                                                debug(99, "(%d/%d/%d) %s (Part1) extra: %s url: %s",a ,i ,max ,tmphname, extra, url);
562                                        }
563                                        else
564                                        {
565                                                debug(99, "(%d/%d/%d) %s extra: %s url: %s",a ,i ,max ,tmphname, extra, url);
566                                        }
567                                        incount += 1;
568                                        ostrcatbig(&line, tmphname, &maxlen, &bigpos);
569                                        if(url2 != NULL && ostrcmp(url, url2) != 0)
570                                                ostrcatbig(&line, " (Part1)", &maxlen, &bigpos);
571/*
572                                        if(extra != NULL)
573                                        {
574                                                ostrcatbig(&line, " (", &maxlen, &bigpos);
575                                                ostrcatbig(&line, extra, &maxlen, &bigpos);
576                                                ostrcatbig(&line, ")", &maxlen, &bigpos);                                       
577                                        }
578*/
579                                        ostrcatbig(&line, "#http://www.movie4k.to/", &maxlen, &bigpos);
580                                        ostrcatbig(&line, url, &maxlen, &bigpos);
581                                        ostrcatbig(&line, "#http://atemio.dyndns.tv/mediathek/menu/", &maxlen, &bigpos);
582                                        ostrcatbig(&line, pichname, &maxlen, &bigpos);
583                                        ostrcatbig(&line, ".jpg#movie4k_", &maxlen, &bigpos);
584                                        ostrcatbig(&line, pichname, &maxlen, &bigpos);
585                                        ostrcatbig(&line, ".jpg#Movie4k - ", &maxlen, &bigpos);
586                                        ostrcatbig(&line, title, &maxlen, &bigpos);
587                                        ostrcatbig(&line, "#", &maxlen, &bigpos);
588                                        char* ctype = oitoa(type);
589                                        ostrcatbig(&line, ctype, &maxlen, &bigpos);
590                                        free(ctype); ctype = NULL;
591                                        ostrcatbig(&line, "\n", &maxlen, &bigpos);
592
593                                        if(url2 != NULL && ostrcmp(url, url2) != 0)
594                                        {                                               
595                                                int type = 41;
596       
597                                                debug(99, "-------------------------------");
598                                                debug(99, "(%d/%d/%d) %s (Part2) extra: %s url: %s",a ,i ,max ,tmphname, extra, url2);
599                               
600                                                incount += 1;
601                                                ostrcatbig(&line, tmphname, &maxlen, &bigpos);
602                                                ostrcatbig(&line, " (Part2)", &maxlen, &bigpos);
603/*
604                                                if(extra != NULL)
605                                                {
606                                                        ostrcatbig(&line, " (", &maxlen, &bigpos);
607                                                        ostrcatbig(&line, extra, &maxlen, &bigpos);
608                                                        ostrcatbig(&line, ")", &maxlen, &bigpos);                                       
609                                                }
610*/
611                                                ostrcatbig(&line, "#http://www.movie4k.to/", &maxlen, &bigpos);
612                                                ostrcatbig(&line, url2, &maxlen, &bigpos);
613                                                ostrcatbig(&line, "#http://atemio.dyndns.tv/mediathek/menu/", &maxlen, &bigpos);
614                                                ostrcatbig(&line, pichname, &maxlen, &bigpos);
615                                                ostrcatbig(&line, ".jpg#kinox_", &maxlen, &bigpos);
616                                                ostrcatbig(&line, pichname, &maxlen, &bigpos);
617                                                ostrcatbig(&line, ".jpg#Movie4k - ", &maxlen, &bigpos);
618                                                ostrcatbig(&line, title, &maxlen, &bigpos);
619                                                ostrcatbig(&line, "#", &maxlen, &bigpos);
620                                                char* ctype = oitoa(type);
621                                                ostrcatbig(&line, ctype, &maxlen, &bigpos);
622                                                free(ctype); ctype = NULL;
623                                                ostrcatbig(&line, "\n", &maxlen, &bigpos);
624                                        }
625                                        if(url3 != NULL && ostrcmp(url, url3) != 0)
626                                        {
627                                                int type = 41;
628                                                                                                                               
629                                                debug(99, "-------------------------------");
630                                                debug(99, "(%d/%d/%d) %s (Part3) extra: %s url: %s",a ,i ,max ,tmphname, extra, url3);
631                       
632                                                incount += 1;
633                                                ostrcatbig(&line, tmphname, &maxlen, &bigpos);
634                                                ostrcatbig(&line, " (Part3)", &maxlen, &bigpos);
635/*
636                                                if(extra != NULL)
637                                                {
638                                                        ostrcatbig(&line, " (", &maxlen, &bigpos);
639                                                        ostrcatbig(&line, extra, &maxlen, &bigpos);
640                                                        ostrcatbig(&line, ")", &maxlen, &bigpos);                                       
641                                                }
642*/
643                                                ostrcatbig(&line, "#http://www.movie4k.to/", &maxlen, &bigpos);
644                                                ostrcatbig(&line, url3, &maxlen, &bigpos);
645                                                ostrcatbig(&line, "#http://atemio.dyndns.tv/mediathek/menu/", &maxlen, &bigpos);
646                                                ostrcatbig(&line, pichname, &maxlen, &bigpos);
647                                                ostrcatbig(&line, ".jpg#movie4k_", &maxlen, &bigpos);
648                                                ostrcatbig(&line, pichname, &maxlen, &bigpos);
649                                                ostrcatbig(&line, ".jpg#Movie4k - ", &maxlen, &bigpos);
650                                                ostrcatbig(&line, title, &maxlen, &bigpos);
651                                                ostrcatbig(&line, "#", &maxlen, &bigpos);
652                                                char* ctype = oitoa(type);
653                                                ostrcatbig(&line, ctype, &maxlen, &bigpos);
654                                                free(ctype); ctype = NULL;
655                                                ostrcatbig(&line, "\n", &maxlen, &bigpos);
656                                        }
657                                        if(url4 != NULL && ostrcmp(url, url4) != 0)
658                                        {
659                                                int type = 41;
660       
661                                                debug(99, "-------------------------------");
662                                                debug(99, "(%d/%d/%d) %s (Part4) extra: %s url: %s",a ,i ,max ,tmphname, extra, url4);
663                                                                                       
664                                                incount += 1;
665                                                ostrcatbig(&line, tmphname, &maxlen, &bigpos);
666                                                ostrcatbig(&line, " (Part4)", &maxlen, &bigpos);
667/*
668                                                if(extra != NULL)
669                                                {
670                                                        ostrcatbig(&line, " (", &maxlen, &bigpos);
671                                                        ostrcatbig(&line, extra, &maxlen, &bigpos);
672                                                        ostrcatbig(&line, ")", &maxlen, &bigpos);                                       
673                                                }
674*/
675                                                ostrcatbig(&line, "#http://www.movie4k.to/", &maxlen, &bigpos);
676                                                ostrcatbig(&line, url4, &maxlen, &bigpos);
677                                                ostrcatbig(&line, "#http://atemio.dyndns.tv/mediathek/menu/", &maxlen, &bigpos);
678                                                ostrcatbig(&line, pichname, &maxlen, &bigpos);
679                                                ostrcatbig(&line, ".jpg#movie4k_", &maxlen, &bigpos);
680                                                ostrcatbig(&line, pichname, &maxlen, &bigpos);
681                                                ostrcatbig(&line, ".jpg#Movie4k - ", &maxlen, &bigpos);
682                                                ostrcatbig(&line, title, &maxlen, &bigpos);
683                                                ostrcatbig(&line, "#", &maxlen, &bigpos);
684                                                char* ctype = oitoa(type);
685                                                ostrcatbig(&line, ctype, &maxlen, &bigpos);
686                                                free(ctype); ctype = NULL;
687                                                ostrcatbig(&line, "\n", &maxlen, &bigpos);
688                                        }
689                                        free(tmphname), tmphname = NULL;
690                                        free(extra), extra = NULL;
691                                        free(pichname), pichname = NULL;
692
693                                        if(nolinks != NULL)
694                                        {
695                                                printf("break\n");
696                                               
697                                                free(url); url = NULL;
698                                                free(url2); url2 = NULL;
699                                                free(url3); url3 = NULL;
700                                                free(url4); url4 = NULL;
701                                                free(pathnew); pathnew = NULL;
702                                                free(logfile); logfile = NULL;
703                                                free(id); id = NULL;
704                                                break;
705                                        }
706                                }
707printf("77777777\n");
708
709                                free(url); url = NULL;
710                                free(url2); url2 = NULL;
711                                free(url3); url3 = NULL;
712                                free(url4); url4 = NULL;
713                                free(pathnew); pathnew = NULL;
714                                free(logfile); logfile = NULL;
715                                free(id); id = NULL;                                   
716                        }
717                }
718                free(ret1); ret1 = NULL;
719        }
720printf("88888888\n");
721
722        free(tmpid); tmpid = NULL;
723        free(tmpstr); tmpstr = NULL;   
724
725        if(line != NULL)
726        {
727                line = string_replace_all("http://atemio.dyndns.tv/", "http://imageshack.us/md/up/grd/", line, 1);
728                tmpstr = ostrcat("/tmp/tithek/movie4k.hoster.", oitoa(time(NULL)), 0, 1);
729                tmpstr = ostrcat(tmpstr, ".list", 1, 0);
730
731                writesys(tmpstr, line, 0);
732                free(line); line = NULL;
733                                       
734                struct tithek* tnode = (struct tithek*)listbox->select->handle;
735                createtithek(tnode, tnode->title,  tmpstr, tnode->pic, tnode->localname, tnode->menutitle, tnode->flag);
736                ret = 0;
737        }
738
739        return ret;
740}
741
742int movie4k_hoster_series(struct skin* grid, struct skin* listbox, struct skin* countlabel, struct skin* load, char* link, char* title)
743{
744        debug(99, "link: %s", link);
745        int debuglevel = getconfigint("debuglevel", NULL);
746        int ret = 1, series = 0, maxlen = 0, bigpos = 0;
747        char* ip = NULL, *pos = NULL, *id = NULL, *tpath = NULL, *path = NULL, *tmpstr = NULL, *line = NULL, *episode = NULL;
748        char* from = NULL;
749        char* folgen = NULL;
750        char* folgentmp = NULL;
751
752        if(listbox == NULL || listbox->select == NULL || listbox->select->handle == NULL)
753                return ret;
754               
755        drawscreen(load, 0, 0);
756
757        ip = string_replace("http://", "", (char*)link, 0);
758
759        if(ip != NULL)
760                pos = strchr(ip, '/');
761        if(pos != NULL)
762        {
763                pos[0] = '\0';
764                path = pos + 1;
765        }
766
767        if(!ostrncmp("tvshows-", path, 8))
768        {
769                debug(99, "path: %s",path);
770                tpath = ostrcat(path, NULL, 0, 0);
771                id = oregex(".*tvshows-(.*[0-9]{4,10})-.*", path);
772                tpath = string_replace("tvshows-season-", "", tpath, 1);
773                tpath = string_replace(".html", "", tpath, 1);
774                tpath = ostrcat(tpath, "-online-serie-", 1, 0);
775                tpath = ostrcat(tpath, id, 1, 0);
776                tpath = ostrcat(tpath, ".html", 1, 0);
777                debug(99, "convertpath: %s",tpath);
778        }
779        else
780                tpath = ostrcat(path, NULL, 0, 0);
781
782        tmpstr = gethttp(ip, tpath, 80, NULL, NULL, 10000, NULL, 0);
783        free(tpath), tpath = NULL;
784        titheklog(debuglevel, "/tmp/movie4k2_tmpstr", NULL, NULL, NULL, tmpstr);
785
786        if(tmpstr != NULL)
787        {
788                if(ostrstr(tmpstr, "episodeform") != NULL)
789                {
790                        int i;
791                        for(i = 1; i < 30; i++)
792                        {
793                                from = ostrcat(from, "<FORM name=\"episodeform", 1, 0);
794                                from = ostrcat(from, oitoa(i), 1, 1);
795                                from = ostrcat(from, "\">", 1, 0);
796                                folgen = string_resub(from, "</FORM>", tmpstr, 0);
797                                folgen = string_resub("<OPTION></OPTION>", "</SELECT>", folgen, 1);
798                                folgen = string_replace_all("><", ">\n<", folgen, 1);
799                                folgentmp = ostrcat(folgen, NULL, 0, 0);
800
801                                if(folgen != NULL)
802                                {
803                                        int count = 0;
804                                        int incount = 0;
805                                        int j;
806                                        struct splitstr* ret1 = NULL;
807                                        ret1 = strsplit(folgen, "\n", &count);
808                                               
809                                        if(ret1 != NULL && count > 0)
810                                        {
811                                                int max = count + 1;
812                                                for(j = 1; j < max; j++)
813                                                {
814                                                        link = string_resub("<OPTION value=\"", "\"", ret1[j-1].part, 0);
815                                                        id = oregex(".*tvshows-(.*[0-9]{4,10})-.*", link);
816                                                        episode = oregex(".*>Episode (.*[0-9]{1,10})</OPTION>.*", ret1[j-1].part);
817
818                                                        debug(99, "(S%d/E%s)(%d) link: %s id: %s", i, episode, j, link, id);
819                                                        link = string_replace("tvshows-", "", link, 1);
820                                                        link = string_replace(id, "", link, 1);
821                                                        link = string_replace("-", "", link, 1);
822                                                        link = string_replace(".html", "", link, 1);
823                                                        link = ostrcat(link, "-online-serie-", 1, 0);
824                                                        link = ostrcat(link, id, 1, 0);
825                                                        link = ostrcat(link, ".html", 1, 0);
826                                                        debug(99, "(S%d/E%d) convertlink: %s id: %s", i, j, link, id);
827
828                                                        incount += 1;
829                                                       
830                                                        char* ci = oitoa(i);
831//                                                      char* cj = oitoa(j);
832                                                        ostrcatbig(&line, _("Season"), &maxlen, &bigpos);
833                                                        ostrcatbig(&line, " ", &maxlen, &bigpos);
834                                                        ostrcatbig(&line, ci, &maxlen, &bigpos);
835                                                        ostrcatbig(&line, " ", &maxlen, &bigpos);
836                                                        ostrcatbig(&line, _("Episode"), &maxlen, &bigpos);
837                                                        ostrcatbig(&line, " ", &maxlen, &bigpos);                                                       
838//                                                      ostrcatbig(&line, cj, &maxlen, &bigpos);
839                                                        ostrcatbig(&line, episode, &maxlen, &bigpos);
840                                                        ostrcatbig(&line, "#http://www.movie4k.to/", &maxlen, &bigpos);
841                                                        ostrcatbig(&line, link, &maxlen, &bigpos);
842                                                        ostrcatbig(&line, "#http://atemio.dyndns.tv/mediathek/menu/s", &maxlen, &bigpos);
843                                                        ostrcatbig(&line, ci, &maxlen, &bigpos);
844                                                        ostrcatbig(&line, "e", &maxlen, &bigpos);
845//                                                      ostrcatbig(&line, cj, &maxlen, &bigpos);
846                                                        ostrcatbig(&line, episode, &maxlen, &bigpos);
847                                                        ostrcatbig(&line, ".jpg#movie4k_search_", &maxlen, &bigpos);
848                                                        ostrcatbig(&line, ci, &maxlen, &bigpos);
849                                                        ostrcatbig(&line, "e", &maxlen, &bigpos);
850//                                                      ostrcatbig(&line, cj, &maxlen, &bigpos);
851                                                        ostrcatbig(&line, episode, &maxlen, &bigpos);
852                                                        ostrcatbig(&line, ".jpg#Movie4k - ", &maxlen, &bigpos);
853                                                        ostrcatbig(&line, title, &maxlen, &bigpos);
854                                                        ostrcatbig(&line, "#34\n", &maxlen, &bigpos);
855
856                                                        free(id); id = NULL;
857                                                        free(episode); episode = NULL;
858                                                        free(ci); ci = NULL;
859//                                              free(cj); cj = NULL;
860                                                }
861                                        }
862                                        free(ret1), ret1 = NULL;
863                                }                               
864                                free(from), from = NULL;
865                                free(folgen), folgen = NULL;
866                                free(folgentmp), folgentmp = NULL;
867                        }
868                }
869        }
870        free(tmpstr), tmpstr = NULL;   
871
872        if(line != NULL)
873        {
874                line = string_replace_all("http://atemio.dyndns.tv/", "http://imageshack.us/md/up/grd/", line, 1);
875                if(series == 0)
876                {
877                        tmpstr = ostrcat("/tmp/tithek/movie4k.hoster.", oitoa(time(NULL)), 0, 1);
878                        tmpstr = ostrcat(tmpstr, ".list", 1, 0);
879                }
880                else
881                {
882                        tmpstr = ostrcat("/tmp/tithek/movie4k.hoster.ser.", oitoa(time(NULL)), 0, 1);
883                        tmpstr = ostrcat(tmpstr, ".list", 1, 0);
884                }
885                writesys(tmpstr, line, 0);
886
887                titheklog(debuglevel, "/tmp/movie4k8_line", NULL, NULL, NULL, line);
888                free(line); line = NULL;
889                                       
890                struct tithek* tnode = (struct tithek*)listbox->select->handle;
891                createtithek(tnode, tnode->title,  tmpstr, tnode->pic, tnode->localname, tnode->menutitle, tnode->flag);
892                ret = 0;
893        }
894        return ret;
895}
896
897int movie4k_series(struct skin* grid, struct skin* listbox, struct skin* countlabel, struct skin* load, char* link, char* title)
898{
899        debug(99, "link: %s", link);
900        int debuglevel = getconfigint("debuglevel", NULL);
901        int ret = 1, maxlen = 0, bigpos = 0;
902        char* ip = NULL, *pos = NULL, *tpath = NULL, *path = NULL, *tmpstr = NULL, *line = NULL;
903        char* from = NULL;
904        char* folgen = NULL;
905        char* folgentmp = NULL;
906        char* name = NULL;
907        char* lang = NULL;
908        char* season = NULL;
909
910        if(listbox == NULL || listbox->select == NULL || listbox->select->handle == NULL)
911                return ret;
912               
913        drawscreen(load, 0, 0);
914
915        ip = string_replace("http://", "", (char*)link, 0);
916
917        if(ip != NULL)
918                pos = strchr(ip, '/');
919        if(pos != NULL)
920        {
921                pos[0] = '\0';
922                path = pos + 1;
923        }
924
925        tmpstr = gethttp(ip, path, 80, NULL, NULL, 10000, NULL, 0);
926        free(tpath), tpath = NULL;
927        titheklog(debuglevel, "/tmp/movie4k2_tmpstr", NULL, NULL, NULL, tmpstr);
928
929        if(tmpstr != NULL)
930        {
931                folgen = string_resub("<TABLE id=\"tablemoviesindex\">", "</TABLE>", tmpstr, 0);
932                folgen = string_replace_all("\n", "", folgen, 1);
933                folgen = string_replace_all("\t", "", folgen, 1);
934                string_strip_whitechars(folgen);
935                folgen = string_replace_all("</TD> </TR> <TR>", "</TD> </TR>\n<TR>", folgen, 1);
936
937                if(folgen != NULL)
938                {
939                        int count = 0;
940                        int j;
941                        struct splitstr* ret1 = NULL;
942                        ret1 = strsplit(folgen, "\n", &count);
943
944                        if(ret1 != NULL && count > 0)
945                        {
946                                int max = count;
947                                for(j = 0; j < max; j++)
948                                {
949                                        link = string_resub("<a href=\"", "\">", ret1[j].part, 0);
950
951                                        name = oregex(".*><a href=.*\">(.*)</a></TD>.*", ret1[j].part);
952
953                                        if(ostrstr(ret1[j].part, "us_ger_small.png") != NULL)
954                                                lang = ostrcat(" (de)", NULL, 0, 0);
955                                        else if(ostrstr(ret1[j].part, "us_flag_small.png") != NULL)
956                                                lang = ostrcat(" (en)", NULL, 0, 0);
957                                        else
958                                                lang = ostrcat(" (\?\?)", NULL, 0, 0);
959
960                                        season = oregex(".*Season:(.*[0-9]{1,3}).*", name);
961                                        season = strstrip(season);
962                                        debug(99, "(S%s) input: %s%s",season, name, lang);
963
964                                        ostrcatbig(&line, _("Season"), &maxlen, &bigpos);
965                                        ostrcatbig(&line, " ", &maxlen, &bigpos);
966                                        ostrcatbig(&line, season, &maxlen, &bigpos);
967                                        ostrcatbig(&line, " ", &maxlen, &bigpos);
968                                       
969                                        ostrcatbig(&line, lang, &maxlen, &bigpos);
970                                        ostrcatbig(&line, "#http://www.movie4k.to/", &maxlen, &bigpos);
971                                        ostrcatbig(&line, link, &maxlen, &bigpos);
972                                        ostrcatbig(&line, "#http://atemio.dyndns.tv/mediathek/menu/s", &maxlen, &bigpos);
973                                        ostrcatbig(&line, season, &maxlen, &bigpos);
974                                        ostrcatbig(&line, ".jpg#s", &maxlen, &bigpos);
975                                        ostrcatbig(&line, season, &maxlen, &bigpos);
976                                        ostrcatbig(&line, ".jpg#Movie4k - ", &maxlen, &bigpos);
977                                        ostrcatbig(&line, title, &maxlen, &bigpos);
978                                        ostrcatbig(&line, "#39\n", &maxlen, &bigpos);
979
980                                        free(name), name = NULL;
981                                        free(lang), lang = NULL;
982                                        free(season), season = NULL;
983                                }
984                        }
985                        free(ret1), ret1 = NULL;
986                }                               
987                free(from), from = NULL;
988                free(folgen), folgen = NULL;
989                free(folgentmp), folgentmp = NULL;             
990        }
991        free(tmpstr), tmpstr = NULL;   
992
993        if(line != NULL)
994        {
995                line = string_replace_all("http://atemio.dyndns.tv/", "http://imageshack.us/md/up/grd/", line, 1);
996                tmpstr = ostrcat("/tmp/tithek/movie4k.series.", oitoa(time(NULL)), 0, 1);
997                tmpstr = ostrcat(tmpstr, ".list", 1, 0);
998
999                writesys(tmpstr, line, 0);
1000
1001                titheklog(debuglevel, "/tmp/movie4k8_line", NULL, NULL, NULL, line);
1002                free(line); line = NULL;
1003                                       
1004                struct tithek* tnode = (struct tithek*)listbox->select->handle;
1005                createtithek(tnode, tnode->title,  tmpstr, tnode->pic, tnode->localname, tnode->menutitle, tnode->flag);
1006                ret = 0;
1007        }
1008        return ret;
1009}
1010
1011int movie4k_series_listed(struct skin* grid, struct skin* listbox, struct skin* countlabel, struct skin* load, char* link, char* title)
1012{
1013        debug(99, "link: %s", link);
1014        int debuglevel = getconfigint("debuglevel", NULL);
1015        int ret = 1, maxlen = 0, bigpos = 0;
1016        char* ip = NULL, *pos = NULL, *tpath = NULL, *path = NULL, *tmpstr = NULL, *line = NULL;
1017        char* from = NULL;
1018        char* folgen = NULL;
1019        char* folgentmp = NULL;
1020        char* name = NULL;
1021        char* lang = NULL;
1022        char* season = NULL;
1023        char* episode = NULL;
1024
1025        if(listbox == NULL || listbox->select == NULL || listbox->select->handle == NULL)
1026                return ret;
1027               
1028        drawscreen(load, 0, 0);
1029
1030        ip = string_replace("http://", "", (char*)link, 0);
1031
1032        if(ip != NULL)
1033                pos = strchr(ip, '/');
1034        if(pos != NULL)
1035        {
1036                pos[0] = '\0';
1037                path = pos + 1;
1038        }
1039
1040        tmpstr = gethttp(ip, path, 80, NULL, NULL, 10000, NULL, 0);
1041        free(tpath), tpath = NULL;
1042        titheklog(debuglevel, "/tmp/movie4k2_tmpstr", NULL, NULL, NULL, tmpstr);
1043
1044        if(tmpstr != NULL)
1045        {
1046                folgen = string_resub("<TABLE id=\"tablemoviesindex\">", "</TABLE>", tmpstr, 0);
1047                folgen = string_replace_all("\n", "", folgen, 1);
1048                folgen = string_replace_all("\t", "", folgen, 1);
1049                string_strip_whitechars(folgen);
1050                folgen = string_replace_all("</TD> </TR> <TR>", "</TD> </TR>\n<TR>", folgen, 1);
1051
1052                if(folgen != NULL)
1053                {
1054                        int count = 0;
1055                        int j;
1056                        struct splitstr* ret1 = NULL;
1057                        ret1 = strsplit(folgen, "\n", &count);
1058
1059                        if(ret1 != NULL && count > 0)
1060                        {
1061                                int max = count;
1062                                for(j = 0; j < max; j++)
1063                                {
1064                                        link = string_resub("<a href=\"", "\">", ret1[j].part, 0);
1065                                        name = oregex(".*><a href=.*\">(.*)</a></TD>.*", ret1[j].part);
1066
1067                                        if(ostrstr(ret1[j].part, "us_ger_small.png") != NULL)
1068                                                lang = ostrcat(" (de)", NULL, 0, 0);
1069                                        else if(ostrstr(ret1[j].part, "us_flag_small.png") != NULL)
1070                                                lang = ostrcat(" (en)", NULL, 0, 0);
1071                                        else
1072                                                lang = ostrcat(" (\?\?)", NULL, 0, 0);
1073
1074                                        season = oregex(".*Season:(.*),.*", name);
1075                                        season = strstrip(season);
1076                                        episode = oregex(".*Episode:(.*[0-9]{1,3}).*", name);
1077                                        episode = strstrip(episode);
1078                                        debug(99, "(S%s/E%s) input: %s%s",season, episode, name, lang);
1079
1080                                        ostrcatbig(&line, _("Season"), &maxlen, &bigpos);
1081                                        ostrcatbig(&line, " ", &maxlen, &bigpos);
1082                                        ostrcatbig(&line, season, &maxlen, &bigpos);
1083                                        ostrcatbig(&line, " ", &maxlen, &bigpos);
1084                                        ostrcatbig(&line, _("Episode"), &maxlen, &bigpos);
1085                                        ostrcatbig(&line, " ", &maxlen, &bigpos);
1086                                        ostrcatbig(&line, episode, &maxlen, &bigpos);
1087                                        ostrcatbig(&line, " ", &maxlen, &bigpos);
1088                                        ostrcatbig(&line, lang, &maxlen, &bigpos);
1089                                        ostrcatbig(&line, "#http://www.movie4k.to/", &maxlen, &bigpos);
1090                                        ostrcatbig(&line, link, &maxlen, &bigpos);
1091                                        ostrcatbig(&line, "#http://atemio.dyndns.tv/mediathek/menu/s", &maxlen, &bigpos);
1092                                        ostrcatbig(&line, season, &maxlen, &bigpos);
1093                                        ostrcatbig(&line, "e", &maxlen, &bigpos);
1094                                        ostrcatbig(&line, episode, &maxlen, &bigpos);
1095                                        ostrcatbig(&line, ".jpg#s", &maxlen, &bigpos);
1096                                        ostrcatbig(&line, season, &maxlen, &bigpos);
1097                                        ostrcatbig(&line, "e", &maxlen, &bigpos);
1098                                        ostrcatbig(&line, episode, &maxlen, &bigpos);
1099                                        ostrcatbig(&line, ".jpg#Movie4k - ", &maxlen, &bigpos);
1100                                        ostrcatbig(&line, title, &maxlen, &bigpos);
1101                                        ostrcatbig(&line, "#34\n", &maxlen, &bigpos); 
1102
1103                                        free(name), name = NULL;
1104                                        free(lang), lang = NULL;
1105                                        free(season), season = NULL;
1106                                        free(episode), episode = NULL;
1107                                }
1108                        }
1109                        free(ret1), ret1 = NULL;
1110                }                               
1111                free(from), from = NULL;
1112                free(folgen), folgen = NULL;
1113                free(folgentmp), folgentmp = NULL;             
1114        }
1115        free(tmpstr), tmpstr = NULL;   
1116
1117        if(line != NULL)
1118        {
1119                line = string_replace_all("http://atemio.dyndns.tv/", "http://imageshack.us/md/up/grd/", line, 1);
1120                tmpstr = ostrcat("/tmp/tithek/movie4k.series.listed.", oitoa(time(NULL)), 0, 1);
1121                tmpstr = ostrcat(tmpstr, ".list", 1, 0);
1122
1123                writesys(tmpstr, line, 0);
1124
1125                titheklog(debuglevel, "/tmp/movie4k8_line", NULL, NULL, NULL, line);
1126                free(line); line = NULL;
1127                                       
1128                struct tithek* tnode = (struct tithek*)listbox->select->handle;
1129                createtithek(tnode, tnode->title,  tmpstr, tnode->pic, tnode->localname, tnode->menutitle, tnode->flag);
1130                ret = 0;
1131        }
1132        return ret;
1133}
1134
1135
1136#endif
Note: See TracBrowser for help on using the repository browser.