source: titan/plugins/tithek/kinox.h @ 42028

Last change on this file since 42028 was 42028, checked in by obi, 3 years ago

update kino

File size: 44.4 KB
Line 
1#ifndef KINOX_H
2#define KINOX_H
3
4// flag 1 = putlocker/sockshare
5// flag 2 = filenuke
6
7char* kinox(char* link)
8{
9        debug(99, "link: %s", link);
10        char* streamurl = NULL;
11
12        streamurl = hoster(link);
13//      debug(99, "streamurl1: %s", streamurl);
14
15//      streamurl = string_replace_all("amp;", "", streamurl, 1);
16//      debug(99, "streamurl2: %s", streamurl);
17
18        return streamurl;
19}
20
21int kinox_search(struct skin* grid, struct skin* listbox, struct skin* countlabel, struct skin* load, char* link, char* title, char* searchstr, int flag)
22{
23        int ret = 1;
24        int debuglevel = getconfigint("debuglevel", NULL);
25
26        if(listbox == NULL || listbox->select == NULL || listbox->select->handle == NULL)
27                return ret;
28
29        char* search = NULL;
30        if(flag == 0)
31        {
32                if(searchstr == NULL)
33                        search = textinputhist(_("Search"), " ", "searchhist");
34                else
35                        search = textinputhist(_("Search"), searchstr, "searchhist");
36        }
37        else
38                search = ostrcat(link, NULL, 0, 0);
39
40        if(search != NULL)
41        {
42                drawscreen(load, 0, 0);
43                char* tmpstr = NULL;
44                char* tmpstr1 = NULL;
45                char* line = NULL;
46                char* pic = NULL;
47                char* title = NULL;     
48                char* lang = NULL;
49                char* langck = NULL;
50                char* from = NULL;
51                char* url = NULL;
52                char* ip = NULL;
53                char* path = NULL;
54                char* menu = NULL;
55                char* newurl = NULL;
56                char *cmd = NULL;
57
58                search = strstrip(search);
59                search = stringreplacechar(search, ' ', '+');
60                debug(99, "search: %s", search);
61
62                if(flag == 0)
63                        path = ostrcat("Search.html?q=", search, 0, 0);
64                else
65                {
66                        path = ostrcat(search, NULL, 0, 0);
67//                      path = string_replace_all("kinox.to", "", path, 0);
68//                      path = string_replace_all(getconfig("tithek_kinox_url", NULL), "", path, 0);
69//                      path = string_replace_all("http:///", "", path, 0);
70//                      path = string_replace_all("https:///", "", path, 0);
71                }
72//              tmpstr = gethttp(ip, path, 80, NULL, NULL, 10000, NULL, 0);
73                newurl = ostrcat(getconfig("tithek_kinox_url", NULL), "/", 0, 0);
74                newurl = ostrcat(newurl, path, 1, 0);
75//              tmpstr = gethttps(newurl, NULL, NULL, NULL, NULL, NULL, 1);
76// new start
77                cmd = ostrcat("/tmp/localhoster/hoster.sh get '", newurl, 0, 0);
78                cmd = ostrcat(cmd, "'", 1, 0);
79                debug(99, "cmd: %s", cmd);
80                tmpstr = command(cmd);
81                free(cmd), cmd = NULL;
82// new end
83                free(newurl), newurl = NULL;
84
85                if(!ostrncmp("errormsg=", tmpstr, 9))
86                {
87                        tmpstr1 = ostrcat(_("Found error Msg:"), "\n\n", 0, 0);
88                        tmpstr1 = ostrcat(tmpstr1, tmpstr, 1, 0);
89                        tmpstr1 = string_replace("errormsg=", "", tmpstr1, 1);
90
91                        debug(99, "Found error Msg: %s", tmpstr);
92                        textbox(_("Message"), tmpstr1, _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 1100, 300, 0, 2);
93                        free(tmpstr); tmpstr = NULL;
94                        free(tmpstr1); tmpstr1 = NULL;
95                }
96
97                tmpstr = string_resub("<div id=\"beep\" class=\"beep\"></div>", "</table>", tmpstr, 0);
98
99                titheklog(debuglevel, "/tmp/kinox1_tmpstr", NULL, NULL, NULL, tmpstr);
100               
101                int count = 0;
102                int incount = 0;
103                int i = 0;
104                struct splitstr* ret1 = NULL;
105                ret1 = strsplit(tmpstr, "\n", &count);
106
107                if(ret1 != NULL)
108                {
109                        int max = count;
110                        for(i = 0; i < max; i++)
111                        {
112                                if(oregex(".*src=\"/gr/sys/lng/(.*)\" alt=\"language\"></td>.*", ret1[i].part) != NULL)
113                                {
114                                        free(langck), langck = NULL;
115                                        langck = oregex(".*src=\"/gr/sys/lng/(.*)\" alt=\"language\"></td>.*", ret1[i].part);
116                                }
117                               
118                                if(oregex(".*<td class=\"Title\"><a href=\"(.*)\" onclick=.*", ret1[i].part) != NULL)
119                                {
120                                        int rcret = waitrc(NULL, 10, 0);
121                                        if(rcret == getrcconfigint("rcexit", NULL)) break;
122                                        free(path), path = NULL;
123                                        path = oregex(".*<td class=\"Title\"><a href=\"(.*)\" onclick=.*", ret1[i].part);
124
125                                        if(ostrstr(langck, "1.png") != NULL)
126                                                lang = ostrcat(lang, " (de)", 1, 0);
127                                        else if(ostrstr(langck, "2.png") != NULL)
128                                                lang = ostrcat(lang, " (en)", 1, 0);
129                                        else
130                                                lang = ostrcat(lang, " (\?\?)", 1, 0);
131                                                                                                               
132//                                      tmpstr1 = gethttp("kinox.to", path, 80, NULL, NULL, 10000, NULL, 0);
133                                        newurl = ostrcat(getconfig("tithek_kinox_url", NULL), "/", 0, 0);
134                                        newurl = ostrcat(newurl, path, 1, 0);
135//                                      tmpstr1 = gethttps(newurl, NULL, NULL, NULL, NULL, NULL, 1);
136// new start
137                                        cmd = ostrcat("/tmp/localhoster/hoster.sh get '", newurl, 0, 0);
138                                        cmd = ostrcat(cmd, "'", 1, 0);
139                                        debug(99, "cmd: %s", cmd);
140                                        tmpstr1 = command(cmd);
141                                        free(cmd), cmd = NULL;
142// new end
143
144                                        free(newurl), newurl = NULL;
145
146                                        from = ostrcat("<div class=\"Grahpics\"><a href=\"", path, 0, 0);
147                                        from = ostrcat(from, "\"><img src=\"", 1, 0);
148
149                                        pic = string_resub(from, "\" alt=\"", tmpstr1, 0);
150                                       
151                                        if(pic == NULL)
152                                                pic = ostrcat("dummy", NULL, 0, 0);
153
154                                        title = ostrcat(path, NULL, 0, 0);
155                                        title = string_replace_all("/Stream/", "", title, 1);
156                                        title = string_replace_all(".html", "", title, 1);
157                                        title = stringreplacechar(title, '_', ' ');
158                                        title = ostrcat(title , lang, 1, 0);
159
160                                        url = ostrcat(getconfig("tithek_kinox_url", NULL), "/", 0, 0);
161                                        url = ostrcat(url, path, 1, 0);
162
163                                        debug(99, "---------------------------");
164                                        debug(99, "langck: %s", langck);
165                                        debug(99, "pic: %s", pic);
166                                        debug(99, "title: %s", title);
167                                        debug(99, "url: %s", url);                                     
168                                        debug(99, "---------------------------");
169
170                                        if(url != NULL)
171                                        {
172                                                incount += 1;
173                                                line = ostrcat(line, title, 1, 0);
174                                                line = ostrcat(line, "#", 1, 0);
175                                                line = ostrcat(line, url, 1, 0);
176                                                line = ostrcat(line, "#", 1, 0);
177                                                line = ostrcat(line, getconfig("tithek_kinox_url", NULL), 1, 0);
178                                                line = ostrcat(line, "/", 1, 0);
179                                                line = ostrcat(line, pic, 1, 0);
180                                                line = ostrcat(line, "#kinox_search_", 1, 0);
181/*
182                                                line = ostrcat(line, "#/tmp/localhoster/hoster.sh get '", 1, 0);
183                                                line = ostrcat(line, getconfig("tithek_kinox_url", NULL), 1, 0);
184                                                line = ostrcat(line, "/", 1, 0);
185                                                line = ostrcat(line, pic, 1, 0);
186                                                line = ostrcat(line, "'#kinox_search_", 1, 0);
187*/
188
189                                                line = ostrcat(line, oitoa(incount + time(NULL)), 1, 1);
190                                                line = ostrcat(line, ".jpg#KinoX - Search#22\n", 1, 0);
191                                        }
192                                        free(url), url = NULL;
193                                        free(path), path = NULL;
194                                        free(title), title = NULL;
195                                        free(pic), pic = NULL;         
196                                        free(from), from = NULL;
197                                        free(tmpstr1), tmpstr1 = NULL;
198                                        free(lang), lang = NULL;
199                                        free(langck), langck = NULL;   
200                                }
201                        }
202                        free(ret1), ret1 = NULL;
203                        if(line != NULL)
204                        {
205                                line = string_replace_all("http://atemio.dyndns.tv/", "http://imageshack.us/md/up/grd/", line, 1);
206                                menu = ostrcat("/tmp/tithek/kinox.search.", oitoa(time(NULL)), 0, 1);
207                                menu = ostrcat(menu, ".list", 1, 0);
208
209                                writesys(menu, line, 0);
210                                struct tithek* tnode = (struct tithek*)listbox->select->handle;
211                                createtithek(tnode, tnode->title,  menu, tnode->pic, tnode->localname, tnode->menutitle, tnode->flag);
212                                ret = 0;
213                        }
214
215                }
216                free(tmpstr), tmpstr = NULL;
217                free(ip), ip = NULL;
218        }
219        free(search), search = NULL;
220        return ret;
221}
222
223int kinox_search_local(struct skin* grid, struct skin* listbox, struct skin* countlabel, struct skin* load, char* link, char* title, char* searchstr, int flag)
224{
225        char* tmpstr = NULL, *tmpstr1 = NULL, *line = NULL, *menu = NULL, *search = NULL;
226        int ret = 1, count = 0, i = 0;
227
228        if(listbox == NULL || listbox->select == NULL || listbox->select->handle == NULL)
229                return ret;
230
231        if(searchstr == NULL)
232                search = textinputhist(_("Search"), " ", "searchhist");
233        else
234                search = textinputhist(_("Search"), searchstr, "searchhist");
235
236        if(search != NULL)
237        {
238                drawscreen(load, 0, 0);
239
240                strstrip(search);
241                string_tolower(search);
242
243                tmpstr = gethttp("atemio.dyndns.tv", "/mediathek/kinox/streams/kinox.all-sorted.list", 80, NULL, HTTPAUTH, 5000, NULL, 0);
244
245                struct splitstr* ret1 = NULL;
246                ret1 = strsplit(tmpstr, "\n", &count);
247
248                if(ret1 != NULL)
249                {
250                        int max = count;
251                        for(i = 0; i < max; i++)
252                        {
253                       
254                                tmpstr1 = ostrcat(ret1[i].part, NULL, 0, 0);
255                                tmpstr1 = stringreplacecharonce(tmpstr1, '#', '\0');
256                                string_tolower(tmpstr1);
257
258                                if(ostrstr(tmpstr1, search) != NULL)
259                                {
260                                        printf("found: %s\n", ret1[i].part);
261                                        int rcret = waitrc(NULL, 10, 0);
262                                        if(rcret == getrcconfigint("rcexit", NULL)) break;
263
264                                        line = ostrcat(line, ret1[i].part, 1, 0);
265                                        line = ostrcat(line, "\n", 0, 0);
266                                }
267                                free(tmpstr1), tmpstr1 = NULL;                         
268                        }
269                        free(ret1), ret1 = NULL;
270
271                        if(line != NULL)
272                        {
273                                line = string_replace_all("http://atemio.dyndns.tv/", "http://imageshack.us/md/up/grd/", line, 1);
274                                menu = ostrcat("/tmp/tithek/kinox.search.", oitoa(time(NULL)), 0, 1);
275                                menu = ostrcat(menu, ".list", 1, 0);
276
277                                writesys(menu, line, 0);
278                                struct tithek* tnode = (struct tithek*)listbox->select->handle;
279                                createtithek(tnode, tnode->title, menu, tnode->pic, tnode->localname, tnode->menutitle, tnode->flag);
280                                ret = 0;
281                        }
282                }
283                free(tmpstr), tmpstr = NULL;
284        }
285        free(search), search = NULL;
286        return ret;
287}
288
289int kinox_hoster(struct skin* grid, struct skin* listbox, struct skin* countlabel, struct skin* load, char* link, char* title)
290{
291        debug(99, "link: %s", link);
292        int debuglevel = getconfigint("debuglevel", NULL);
293        int ret = 1, series = 0;
294        char* ip = NULL, *pos = NULL, *path = NULL, *tmpstr = NULL, *tmpstr1 = NULL, *tmpstr2 = NULL, *tmpstr3 = NULL, *pichname = NULL;
295        char* tmpstr4 = NULL, *tmpstr5 = NULL, *line = NULL, *url = NULL, *url2 = NULL, *url3 = NULL, *url4 = NULL, *pathnew = NULL, *extra = NULL;
296        char* newurl = NULL;
297        char* cmd = NULL;
298
299        if(listbox == NULL || listbox->select == NULL || listbox->select->handle == NULL)
300                return ret;
301
302        ip = string_replace("http://", "", (char*)link, 0);
303
304        if(ip != NULL)
305                pos = strchr(ip, '/');
306        if(pos != NULL)
307        {
308                pos[0] = '\0';
309                path = pos + 1;
310        }
311
312        int cloudflare = 1;
313        int localhoster = 1;
314        newurl = ostrcat(getconfig("tithek_kinox_url", NULL), "/", 0, 0);
315        newurl = ostrcat(newurl, path, 1, 0);
316
317        if(cloudflare == 0)
318        {
319//              tmpstr = gethttp(ip, path, 80, NULL, NULL, 10000, NULL, 0);
320//              tmpstr = gethttps(link, NULL, NULL, NULL, NULL, NULL, 1);
321                tmpstr = gethttps(newurl, NULL, NULL, NULL, NULL, NULL, 1);
322        }
323        else
324        {
325// new start
326                cmd = ostrcat("/tmp/localhoster/hoster.sh get '", newurl, 0, 0);
327                cmd = ostrcat(cmd, "'", 1, 0);
328                debug(99, "cmd: %s", cmd);
329                tmpstr = command(cmd);
330                free(cmd), cmd = NULL;
331// new end
332        }
333        titheklog(debuglevel, "/tmp/kinox2_tmpstr", NULL, NULL, NULL, tmpstr);
334
335        if(!ostrncmp("errormsg=", tmpstr, 9))
336        {
337                tmpstr1 = ostrcat(_("Found error Msg:"), "\n\n", 0, 0);
338                tmpstr1 = ostrcat(tmpstr1, tmpstr, 1, 0);
339                tmpstr1 = string_replace("errormsg=", "", tmpstr1, 1);
340
341                debug(99, "Found error Msg: %s", tmpstr);
342                textbox(_("Message"), tmpstr1, _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 1100, 300, 0, 2);
343                free(tmpstr); tmpstr = NULL;
344                free(tmpstr1); tmpstr1 = NULL;
345        }
346
347        if(tmpstr != NULL)
348        {
349                drawscreen(load, 0, 0);
350                if(ostrstr(tmpstr, "SeriesID") != NULL)
351                {
352                        char* pos1 = NULL;
353                        char* from = NULL;
354                        char* folgen = NULL;
355                        int i;
356
357                        series = 1;
358       
359                        for(i = 1; i < 30; i++)
360                        {
361                                from = ostrcat(from, "<option value=\"", 1, 0);
362                                from = ostrcat(from, oitoa(i), 1, 0);
363                                from = ostrcat(from, "\" rel=", 1, 0);
364                       
365                                pos1 = ostrstr(tmpstr, from);
366                                folgen = getxmlentry(ostrstr(tmpstr, from), "rel=");
367                                printf("Season %d folgen: %s\n",i , folgen);   
368
369                                if(folgen != NULL)
370                                {
371                                        int count = 0;
372                                        int incount = 0;
373                                        int j;
374                                        struct splitstr* ret1 = NULL;
375                                        ret1 = strsplit(folgen, ",", &count);
376                                               
377                                        if(ret1 != NULL && count > 0)
378                                        {
379                                                int max = count + 1;
380                                                for(j = 1; j < max; j++)
381                                                {                                                       
382                                                        incount += 1;
383                                                        line = ostrcat(line, _("Season"), 1, 0);
384                                                        line = ostrcat(line, " ", 1, 0);
385                                                        line = ostrcat(line, oitoa(i), 1, 0);
386                                                        line = ostrcat(line, " ", 1, 0);
387                                                        line = ostrcat(line, _("Episode"), 1, 0);
388                                                        line = ostrcat(line, " ", 1, 0);
389                                                        line = ostrcat(line, oitoa(j), 1, 0);                                   
390                                                        line = ostrcat(line, "#", 1, 0);
391                                                        line = ostrcat(line, link, 1, 0);
392                                                        line = ostrcat(line, ";", 1, 0);
393                                                        line = ostrcat(line, oitoa(i), 1, 0);
394                                                        line = ostrcat(line, ";", 1, 0);
395                                                        line = ostrcat(line, oitoa(j), 1, 0);
396                                                        line = ostrcat(line, "#", 1, 0);
397                                                        line = ostrcat(line, "http://atemio.dyndns.tv/mediathek/menu/s", 1, 0);
398                                                        line = ostrcat(line, oitoa(i), 1, 0);
399                                                        line = ostrcat(line, "e", 1, 0);
400                                                        line = ostrcat(line, oitoa(j), 1, 0);
401                                                        line = ostrcat(line, ".jpg", 1, 0);                                                                                                                             
402                                                        line = ostrcat(line, "#kinox_search_", 1, 0);
403                                                        line = ostrcat(line, oitoa(i), 1, 0);
404                                                        line = ostrcat(line, "e", 1, 0);
405                                                        line = ostrcat(line, oitoa(j), 1, 0);
406                                                        line = ostrcat(line, ".jpg#KinoX - ", 1, 0);
407                                                        line = ostrcat(line, title, 1, 0);
408                                                        line = ostrcat(line, "#23\n", 1, 0);
409                                                }
410                                        }
411                                        free(ret1), ret1 = NULL;
412                                }                               
413                                free(from), from = NULL;
414                                free(folgen), folgen = NULL;
415                        }
416                }
417                else
418                {
419                        tmpstr = string_resub("<ul id=\"HosterList\" class=\"Sortable\">", "</ul>", tmpstr, 0);
420                        titheklog(debuglevel, "/tmp/kinox3_tmpstr", NULL, NULL, NULL, tmpstr);
421       
422                        int type = 14;
423                        int count = 0;
424                        int incount = 0;
425                        int i;
426                        struct splitstr* ret1 = NULL;
427                        ret1 = strsplit(tmpstr, "\n", &count);
428       
429                        char* hname = NULL;
430                        char* hnr = NULL;
431                        char* hlink = NULL;
432
433                        if(ret1 != NULL && count > 0)
434                        {
435                                int max = count;
436                                for(i = 0; i < max; i++)
437                                {
438                                        char *mirrormaxtmp = NULL;
439                                        char *pathnewtmp = NULL;
440                                        int mirrormax = 1;
441                                        int j = 0;
442
443                                        mirrormaxtmp = oregex("<b>Mirror</b>: .*/(.*)<br/>.*", ret1[i].part);
444
445                                        if(mirrormaxtmp != NULL)
446                                                mirrormax = atoi(mirrormaxtmp);
447
448                                        debug(99, "### START ####################################################");
449
450                                        for(j = 1; j < mirrormax + 1; j++)
451                                        {
452                                                debug(99, "(%d/%d) (%d/%d) ret1[i].part: %s",i ,max ,j ,mirrormax, ret1[i].part);
453
454                                                hnr = string_resub("<li id=\"Hoster_", "\"", ret1[i].part, 0);
455
456                                                hlink = string_resub("rel=\"", "amp;Mirror", ret1[i].part, 0);
457
458                                                if (hlink == NULL)
459                                                {
460                                                        hlink = string_resub("rel=\"", "\">", ret1[i].part, 0);
461                                                        hlink = string_replace_all("amp;Hoster", "Hoster", hlink, 1);
462                                                        hname = string_resub("<div class=\"Named\">", "</div>", ret1[i].part, 0);
463                                                        pathnewtmp = ostrcat(getconfig("tithek_kinox_url", NULL), "/aGET/Mirror/", 0, 0);
464                                                        pathnewtmp = ostrcat(pathnewtmp, hlink, 1, 0);
465                                                        pathnew = ostrcat(pathnewtmp, NULL, 0, 0);
466                                                }
467                                                else
468                                                {
469                                                        hlink = string_replace_all("amp;Hoster", "Hoster", hlink, 1);
470                                                        hlink = ostrcat(hlink, "Mirror=", 0, 0);
471                                                        hname = string_resub("<div class=\"Named\">", "</div>", ret1[i].part, 0);
472                                                        pathnewtmp = ostrcat(getconfig("tithek_kinox_url", NULL), "/aGET/Mirror/", 0, 0);
473                                                        pathnewtmp = ostrcat(pathnewtmp, hlink, 1, 0);
474                                                        pathnew = ostrcat(pathnewtmp, oitoa(j), 0, 1);
475                                                }
476                                                debug(99, "(%d/%d) (%d/%d)hnr: %s hlink: %s hname: %s pathnewtmp: %s",i ,max ,j ,mirrormax ,hnr ,hlink ,hname ,pathnewtmp);
477                                                free(pathnewtmp), pathnewtmp= NULL;
478
479                                                pichname = ostrcat(hname, NULL, 0, 0);
480                                                string_tolower(pichname);
481                                                pichname = stringreplacecharonce(pichname, '.', '\0');
482
483                                                extra = string_resub("<b>Vom</b>: ", "</div>", ret1[i].part, 0);
484
485                                                titheklog(debuglevel, "/tmp/kinox4_pathnew1", hname, NULL, NULL, pathnew);
486
487
488                                                if(cloudflare == 0)
489                                                {
490//                                                      tmpstr1 = gethttp("kinox.to", pathnew, 80, NULL, NULL, 10000, NULL, 0);
491                                                        tmpstr1 = gethttps(pathnew, NULL, NULL, NULL, NULL, NULL, 1);
492                                                }
493                                                else if(localhoster == 1)
494                                                {
495                                                        cmd = ostrcat("/tmp/localhoster/hoster.sh hoster '", pathnew, 0, 0);
496                                                        cmd = ostrcat(cmd, "'", 1, 0);
497                                                        debug(99, "cmd: %s", cmd);
498                                                        url = ostrcat(cmd, NULL, 0, 0);
499                                                }
500                                                else
501                                                {
502// new start
503                                                        cmd = ostrcat("/tmp/localhoster/hoster.sh get '", pathnew, 0, 0);
504                                                        cmd = ostrcat(cmd, "'", 1, 0);
505                                                        debug(99, "cmd: %s", cmd);
506                                                        tmpstr1 = command(cmd);
507                                                        free(cmd), cmd = NULL;
508// new end
509                                                }
510                                                if(ostrstr(tmpstr1, "503 Service Temporarily Unavailable") != NULL)
511                                                {
512                                                        sleep(1);
513                                                        if(cloudflare == 0)
514                                                        {
515//                                                              tmpstr1 = gethttp("kinox.to", pathnew, 80, NULL, NULL, 10000, NULL, 0);
516                                                                tmpstr1 = gethttps(pathnew, NULL, NULL, NULL, NULL, NULL, 1);
517                                                        }
518                                                        else
519                                                        {
520// new start
521                                                                cmd = ostrcat("/tmp/localhoster/hoster.sh get '", pathnew, 0, 0);
522                                                                cmd = ostrcat(cmd, "'", 1, 0);
523                                                                debug(99, "cmd: %s", cmd);
524                                                                tmpstr1 = command(cmd);
525                                                                free(cmd), cmd = NULL;
526// new end
527                                                        }
528                                                }
529                                                if(ostrstr(tmpstr1, "503 Service Temporarily Unavailable") != NULL)
530                                                {
531                                                        sleep(1);
532                                                        if(cloudflare == 0)
533                                                        {
534//                                                              tmpstr1 = gethttp("kinox.to", pathnew, 80, NULL, NULL, 10000, NULL, 0);
535                                                                tmpstr1 = gethttps(pathnew, NULL, NULL, NULL, NULL, NULL, 1);
536                                                        }
537                                                        else
538                                                        {
539// new start
540                                                                cmd = ostrcat("/tmp/localhoster/hoster.sh get '", pathnew, 0, 0);
541                                                                cmd = ostrcat(cmd, "'", 1, 0);
542                                                                debug(99, "cmd: %s", cmd);
543                                                                tmpstr1 = command(cmd);
544                                                                free(cmd), cmd = NULL;
545// new end
546                                                        }
547                                                }
548                                                if(ostrstr(tmpstr1, "503 Service Temporarily Unavailable") != NULL)
549                                                {
550                                                        sleep(1);
551                                                        if(cloudflare == 0)
552                                                        {
553//                                                              tmpstr1 = gethttp("kinox.to", pathnew, 80, NULL, NULL, 10000, NULL, 0);
554                                                                tmpstr1 = gethttps(pathnew, NULL, NULL, NULL, NULL, NULL, 1);
555                                                        }
556                                                        else
557                                                        {
558// new start
559                                                                cmd = ostrcat("/tmp/localhoster/hoster.sh get '", pathnew, 0, 0);
560                                                                cmd = ostrcat(cmd, "'", 1, 0);
561                                                                debug(99, "cmd: %s", cmd);
562                                                                tmpstr1 = command(cmd);
563                                                                free(cmd), cmd = NULL;
564// new end
565                                                        }
566                                                }
567                                                if(ostrstr(tmpstr1, "503 Service Temporarily Unavailable") != NULL)
568                                                {
569                                                        sleep(1);
570                                                        if(cloudflare == 0)
571                                                        {
572//                                                              tmpstr1 = gethttp("kinox.to", pathnew, 80, NULL, NULL, 10000, NULL, 0);
573                                                                tmpstr1 = gethttps(pathnew, NULL, NULL, NULL, NULL, NULL, 1);
574                                                        }
575                                                        else
576                                                        {
577// new start
578                                                                cmd = ostrcat("/tmp/localhoster/hoster.sh get '", pathnew, 0, 0);
579                                                                cmd = ostrcat(cmd, "'", 1, 0);
580                                                                debug(99, "cmd: %s", cmd);
581                                                                tmpstr1 = command(cmd);
582                                                                free(cmd), cmd = NULL;
583// new end
584                                                        }
585                                                }
586                                                free(pathnew), pathnew = NULL;
587
588                                                titheklog(debuglevel, "/tmp/kinox5_tmpstr1", hname, NULL, NULL, tmpstr1);
589
590
591                                                tmpstr1 = string_replace_all("\\", "", tmpstr1, 1);
592
593                                                if(localhoster == 0)
594                                                {
595                                                        if(ostrstr(tmpstr1, "iframe src") != NULL)
596                                                                url = string_resub("<iframe src=\"", "\"", tmpstr1, 0);
597                                                        else
598                                                                url = string_resub("<a href=\"", "\"", tmpstr1, 0);
599                                                }
600
601                                                //url = ostrcat(tmpstr1, NULL, 0, 0);
602        ////////////////
603/*
604                                                free(pathnew), pathnew = NULL;
605                                                pathnew = ostrcat("/aGET/Mirror/", hlink, 0, 0);
606                                                pathnew = ostrcat(pathnew, "&Part=2", 1, 0);
607
608                                                titheklog(debuglevel, "/tmp/kinox6_pathnew2", hname, NULL, NULL, pathnew);
609                                       
610                                                tmpstr3 = gethttp("kinox.to", pathnew, 80, NULL, NULL, 10000, NULL, 0);
611                                                if(ostrstr(tmpstr3, "503 Service Temporarily Unavailable") != NULL)
612                                                {
613                                                        sleep(1);
614                                                        tmpstr3 = gethttp("kinox.to", pathnew, 80, NULL, NULL, 10000, NULL, 0);
615                                                }
616                                                free(pathnew), pathnew = NULL;
617
618                                                titheklog(debuglevel, "/tmp/kinox7_tmpstr3", hname, NULL, NULL, tmpstr3);
619
620                                                tmpstr3 = string_replace_all("\\", "", tmpstr3, 1);
621                                                if(ostrstr(tmpstr3, "iframe src") != NULL)
622                                                        url2 = string_resub("<iframe src=\"", "\"", tmpstr3, 0);
623                                                else
624                                                        url2 = string_resub("<a href=\"", "\"", tmpstr3, 0);
625        //                                      url2 = ostrcat(tmpstr3, NULL, 0, 0);
626        ////////////////
627                                                free(pathnew), pathnew = NULL;
628                                                pathnew = ostrcat("/aGET/Mirror/", hlink, 0, 0);
629                                                pathnew = ostrcat(pathnew, "&Part=3", 1, 0);
630
631                                                titheklog(debuglevel, "/tmp/kinox6_pathnew3", hname, NULL, NULL, pathnew);
632                                       
633                                                tmpstr4 = gethttp("kinox.to", pathnew, 80, NULL, NULL, 10000, NULL, 0);
634                                                if(ostrstr(tmpstr4, "503 Service Temporarily Unavailable") != NULL)
635                                                {
636                                                        sleep(1);
637                                                        tmpstr4 = gethttp("kinox.to", pathnew, 80, NULL, NULL, 10000, NULL, 0);
638                                                }
639                                                free(pathnew), pathnew = NULL;
640
641                                                titheklog(debuglevel, "/tmp/kinox7_tmpstr4", hname, NULL, NULL, tmpstr4);
642
643                                                tmpstr4 = string_replace_all("\\", "", tmpstr4, 1);
644                                                if(ostrstr(tmpstr4, "iframe src") != NULL)
645                                                        url3 = string_resub("<iframe src=\"", "\"", tmpstr4, 0);
646                                                else
647                                                        url3 = string_resub("<a href=\"", "\"", tmpstr4, 0);
648        //                                      url3 = ostrcat(tmpstr4, NULL, 0, 0);
649        ////////////////
650                                                free(pathnew), pathnew = NULL;
651                                                pathnew = ostrcat("/aGET/Mirror/", hlink, 0, 0);
652                                                pathnew = ostrcat(pathnew, "&Part=4", 1, 0);
653
654                                                titheklog(debuglevel, "/tmp/kinox6_pathnew4", hname, NULL, NULL, pathnew);
655                                       
656                                                tmpstr5 = gethttp("kinox.to", pathnew, 80, NULL, NULL, 10000, NULL, 0);
657                                                if(ostrstr(tmpstr5, "503 Service Temporarily Unavailable") != NULL)
658                                                {
659                                                        sleep(1);
660                                                        tmpstr5 = gethttp("kinox.to", pathnew, 80, NULL, NULL, 10000, NULL, 0);
661                                                }
662                                                free(pathnew), pathnew = NULL;
663
664                                                titheklog(debuglevel, "/tmp/kinox7_tmpstr5", hname, NULL, NULL, tmpstr5);
665
666                                                int cloudflare = 1;
667        int localhoster = 1;    tmpstr5 = string_replace_all("\\", "", tmpstr5, 1);
668                                                if(ostrstr(tmpstr5, "iframe src") != NULL)
669                                                        url4 = string_resub("<iframe src=\"", "\"", tmpstr5, 0);
670                                                else
671                                                        url4 = string_resub("<a href=\"", "\"", tmpstr5, 0);                                   
672        //                                      url4 = ostrcat(tmpstr5, NULL, 0, 0);
673        ////////////////
674*/
675                                                type = 14;
676                                                if(localhoster == 1)
677                                                        type = 111;
678
679                                                debug(99, "-------------------------------");
680//                                              if(ostrcmp(url, url2) != 0)
681//                                              {
682//                                                      debug(99, "(%d/%d) (%d/%d) %s (Part1) url: %s extra: %s",i ,max ,j ,mirrormax ,hname ,url ,extra);
683//                                              }
684//                                              else
685//                                              {
686                                                        debug(99, "(%d/%d) (%d/%d) %s url: %s extra: %s",i ,max ,j ,mirrormax ,hname ,url ,extra);
687//                                              }
688                                                debug(99, "-------------------------------");
689
690                                                incount += 1;
691                                                line = ostrcat(line, hname, 1, 0);
692
693                                                if(url == NULL)
694                                                        line = ostrcat(line, " (Error)", 1, 0);
695                                       
696                                                if(url2 != NULL && ostrcmp(url, url2) != 0)
697                                                        line = ostrcat(line, " (Part1)", 1, 0);
698                                                if(extra != NULL)
699                                                {
700                                                        line = ostrcat(line, " (", 1, 0);                                       
701                                                        line = ostrcat(line, extra, 1, 0);                                     
702                                                        line = ostrcat(line, ")", 1, 0);                                       
703                                                }
704
705                                                line = ostrcat(line, " (Mirror ", 1, 0);                                       
706                                                line = ostrcat(line, oitoa(j), 1, 1);
707                                                line = ostrcat(line, "/", 1, 0);                                       
708                                                line = ostrcat(line, oitoa(mirrormax), 1, 1);
709                                                line = ostrcat(line, ")", 1, 0);                                       
710
711                               
712                                                line = ostrcat(line, "#", 1, 0);
713                                                if(!ostrncmp("//", url, 2))
714                                                        line = ostrcat(line, "http:", 1, 0);
715                                                line = ostrcat(line, url, 1, 0);
716                                                line = ostrcat(line, "#", 1, 0);
717                                                line = ostrcat(line, "http://atemio.dyndns.tv/mediathek/menu/", 1, 0);
718                                                line = ostrcat(line, pichname, 1, 0);
719                                                line = ostrcat(line, ".jpg#kinox_", 1, 0);
720                                                line = ostrcat(line, pichname, 1, 0);
721                                                line = ostrcat(line, ".jpg#KinoX - ", 1, 0);
722                                                line = ostrcat(line, title, 1, 0);
723                                                line = ostrcat(line, "#", 1, 0);
724                                                line = ostrcat(line, oitoa(type), 1, 0);
725                                                line = ostrcat(line, "\n", 1, 0);
726/*
727                                                if((url != NULL && url2 != NULL) && ostrcmp(url, url2) != 0)
728                                                {
729                                                        free(tmpstr2), tmpstr2 = NULL;
730                                                        free(hname), hname = NULL;
731                                                        hname = string_resub("<div class=\"Named\">", "</div>", ret1[i].part, 0);
732                                                        pichname = ostrcat(hname, NULL, 0, 0);
733                                                        string_tolower(pichname);
734                                                        pichname = stringreplacecharonce(pichname, '\n', '\0');
735
736                                                        type = 14;
737
738                                                        debug(99, "-------------------------------");
739                                                        debug(99, "(%d/%d) %s (Part2) url: %s extra: %s",i ,max, hname, url2, extra);
740
741                                                        incount += 1;
742                                                        line = ostrcat(line, hname, 1, 0);
743                                                        line = ostrcat(line, " (Part2)", 1, 0);
744                                                        if(extra != NULL)
745                                                        {
746                                                                line = ostrcat(line, " (", 1, 0);                                       
747                                                                line = ostrcat(line, extra, 1, 0);                                     
748                                                                line = ostrcat(line, ")", 1, 0);                                       
749                                                        }
750                                                        line = ostrcat(line, "#", 1, 0);
751                                                        line = ostrcat(line, url2, 1, 0);
752                                                        line = ostrcat(line, "#", 1, 0);
753                                                        line = ostrcat(line, "http://atemio.dyndns.tv/mediathek/menu/", 1, 0);
754                                                        line = ostrcat(line, pichname, 1, 0);
755                                                        line = ostrcat(line, ".jpg#kinox_", 1, 0);
756                                                        line = ostrcat(line, pichname, 1, 0);
757                                                        line = ostrcat(line, ".jpg#KinoX - ", 1, 0);
758                                                        line = ostrcat(line, title, 1, 0);
759                                                        line = ostrcat(line, "#", 1, 0);
760                                                        line = ostrcat(line, oitoa(type), 1, 0);
761                                                        line = ostrcat(line, "\n", 1, 0);
762                                                        free(tmpstr2), tmpstr2 = NULL;
763                                                }
764
765                                                if((url != NULL && url3 != NULL) && ostrcmp(url, url3) != 0 && ostrcmp(url2, url3) != 0)
766                                                {
767                                                        free(tmpstr2), tmpstr2 = NULL;
768                                                        free(hname), hname = NULL;
769                                                        hname = string_resub("<div class=\"Named\">", "</div>", ret1[i].part, 0);
770                                                        pichname = ostrcat(hname, NULL, 0, 0);
771                                                        string_tolower(pichname);
772                                                        pichname = stringreplacecharonce(pichname, '\n', '\0');
773                                                int cloudflare = 1;
774        int localhoster = 1;            type = 14;
775
776                                                        debug(99, "-------------------------------");
777                                                        debug(99, "(%d/%d) %s (Part3) url: %s extra: %s",i ,max , hname, url3, extra);
778                                                                                       
779                                                        incount += 1;
780                                                        line = ostrcat(line, hname, 1, 0);
781                                                        if(extra != NULL)
782                                                        line = ostrcat(line, " (Part3)", 1, 0);                                 
783                                                        if(extra != NULL)
784                                                        {
785                                                                line = ostrcat(line, " (", 1, 0);                                       
786                                                                line = ostrcat(line, extra, 1, 0);                                     
787                                                                line = ostrcat(line, ")", 1, 0);                                       
788                                                        }
789                                                        line = ostrcat(line, "#", 1, 0);
790                                                        line = ostrcat(line, url3, 1, 0);
791                                                        line = ostrcat(line, "#", 1, 0);
792                                                        line = ostrcat(line, "http://atemio.dyndns.tv/mediathek/menu/", 1, 0);
793                                                        line = ostrcat(line, pichname, 1, 0);
794                                                        line = ostrcat(line, ".jpg#kinox_", 1, 0);
795                                                        line = ostrcat(line, pichname, 1, 0);
796                                                        line = ostrcat(line, ".jpg#KinoX - ", 1, 0);
797                                                        line = ostrcat(line, title, 1, 0);
798                                                        line = ostrcat(line, "#", 1, 0);
799                                                        line = ostrcat(line, oitoa(type), 1, 0);
800                                                        line = ostrcat(line, "\n", 1, 0);
801                                                        free(tmpstr2), tmpstr2 = NULL;
802                                                }
803
804                                                if((url != NULL && url4 != NULL) && ostrcmp(url, url4) != 0 && ostrcmp(url2, url4) != 0 && ostrcmp(url3, url4) != 0)
805                                                {
806                                                        free(tmpstr2), tmpstr2 = NULL;
807                                                        free(hname), hname = NULL;
808                                                        hname = string_resub("<div class=\"Named\">", "</div>", ret1[i].part, 0);
809                                                        pichname = ostrcat(hname, NULL, 0, 0);
810                                                        string_tolower(pichname);
811                                                        pichname = stringreplacecharonce(pichname, '\n', '\0');
812                                                        type = 14;
813
814                                                int cloudflare = 1;
815        int localhoster = 1;            debug(99, "-------------------------------");
816                                                        debug(99, "(%d/%d) %s (Part4) url: %s extra: %s",i ,max , hname, url4, extra);
817
818                                                        incount += 1;
819                                                        line = ostrcat(line, hname, 1, 0);
820                                                        line = ostrcat(line, " (Part4)", 1, 0);
821                                                        if(extra != NULL)
822                                                        {
823                                                                line = ostrcat(line, " (", 1, 0);                                       
824                                                                line = ostrcat(line, extra, 1, 0);                                     
825                                                                line = ostrcat(line, ")", 1, 0);                                       
826                                                        }               
827                                                        line = ostrcat(line, "#", 1, 0);
828                                                        line = ostrcat(line, url4, 1, 0);
829                                                        line = ostrcat(line, "#", 1, 0);
830                                                        line = ostrcat(line, "http://atemio.dyndns.tv/mediathek/menu/", 1, 0);
831                                                        line = ostrcat(line, pichname, 1, 0);
832                                                        line = ostrcat(line, ".jpg#kinox_", 1, 0);
833                                                        line = ostrcat(line, pichname, 1, 0);
834                                                        line = ostrcat(line, ".jpg#KinoX - ", 1, 0);
835                                                        line = ostrcat(line, title, 1, 0);
836                                                        line = ostrcat(line, "#", 1, 0);
837                                                        line = ostrcat(line, oitoa(type), 1, 0);
838                                                        line = ostrcat(line, "\n", 1, 0);
839                                                        free(tmpstr2), tmpstr2 = NULL;
840                                                }
841*/                                     
842                                                free(tmpstr1), tmpstr1 = NULL;
843                                                free(tmpstr2), tmpstr2 = NULL;
844                                                free(tmpstr3), tmpstr3 = NULL;
845                                                free(tmpstr4), tmpstr4 = NULL;
846                                                free(tmpstr5), tmpstr5 = NULL;
847                                                free(hname), hname = NULL;
848                                                free(hnr), hnr = NULL;
849                                                free(hlink), hlink = NULL;                                                                             
850                                                free(url), url = NULL;
851                                                free(url2), url2 = NULL;
852                                                free(url3), url3 = NULL;
853                                                free(url4), url4 = NULL;
854                                                free(pathnew), pathnew = NULL;
855                                                free(pichname), pichname = NULL;
856                                                free(extra), extra = NULL;
857                                        }
858                                        debug(99, "### END #####################################################");
859                                }
860                        }
861                        free(ret1), ret1 = NULL;
862                }
863        }
864        free(tmpstr), tmpstr = NULL;   
865
866        if(line != NULL)
867        {
868                line = string_replace_all("http://atemio.dyndns.tv/", "http://imageshack.us/md/up/grd/", line, 1);
869                if(series == 0)
870                {
871                        tmpstr = ostrcat("/tmp/tithek/kinox.hoster.", oitoa(time(NULL)), 0, 1);
872                        tmpstr = ostrcat(tmpstr, ".list", 1, 0);
873                }
874                else
875                {
876                        tmpstr = ostrcat("/tmp/tithek/kinox.hoster.ser.", oitoa(time(NULL)), 0, 1);
877                        tmpstr = ostrcat(tmpstr, ".list", 1, 0);
878                }
879                writesys(tmpstr, line, 0);
880
881                titheklog(debuglevel, "/tmp/kinox8_line", NULL, NULL, NULL, line);
882                                       
883                struct tithek* tnode = (struct tithek*)listbox->select->handle;
884                createtithek(tnode, tnode->title,  tmpstr, tnode->pic, tnode->localname, tnode->menutitle, tnode->flag);
885                ret = 0;
886        }
887
888        return ret;
889}
890
891int kinox_hoster_series(struct skin* grid, struct skin* listbox, struct skin* countlabel, struct skin* load, char* link, char* title)
892{
893        debug(99, "link: %s", link);
894        int debuglevel = getconfigint("debuglevel", NULL);
895        int ret = 1;
896        char* ip = NULL, *pathnew = NULL, *seriesid = NULL, *searchname = NULL, *url = NULL, *session = NULL, *episode = NULL, *pos = NULL, *path = NULL, *tmpstr = NULL, *tmpstr1 = NULL, *tmpstr2 = NULL, *line = NULL;               
897        char* pichname = NULL, *extra= NULL;
898        char* newurl = NULL;
899        char *cmd = NULL;
900
901        if(listbox == NULL || listbox->select == NULL || listbox->select->handle == NULL)
902                return ret;
903
904        int count0 = 0;
905        struct splitstr* ret0 = NULL;
906        ret0 = strsplit(link, ";", &count0);
907        if(ret0 != NULL && count0 >= 3)
908        {
909                url = ostrcat(url, ret0[0].part, 1, 0);
910                debug(99, "url: %s", url);
911
912                session = ostrcat(session, ret0[1].part, 1, 0);
913                debug(99, "Season: %s", session);
914
915                episode = ostrcat(episode, ret0[2].part, 1, 0);
916                debug(99, "episode: %s", episode);
917
918                searchname = ostrcat(searchname, ret0[0].part, 1, 0);
919
920                searchname = string_replace("kinox.to", "", searchname, 0);
921                searchname = string_replace(getconfig("tithek_kinox_url", NULL), "", searchname, 0);
922                searchname = string_replace("http:////Stream/", "", searchname, 0);
923                searchname = string_replace("http:///Stream/", "", searchname, 0);
924                searchname = string_replace("http://Stream/", "", searchname, 0);
925                searchname = string_replace("https:////Stream/", "", searchname, 0);
926                searchname = string_replace("https:///Stream/", "", searchname, 0);
927                searchname = string_replace("https://Stream/", "", searchname, 0);
928                searchname = string_replace("//Stream/", "", searchname, 0);
929                searchname = string_replace("/Stream/", "", searchname, 0);
930                searchname = string_replace(".html", "", searchname, 0);
931                debug(99, "searchname: %s", searchname);
932                free(searchname), searchname = NULL;
933
934                searchname = oregex("://.*/Stream/(.*).html.*", ret0[0].part);
935                debug(99, "new searchname: %s", searchname);
936        }
937        free(ret0), ret0 = NULL;
938
939        ip = string_replace("http://", "", url, 0);
940
941        if(ip != NULL)
942                pos = strchr(ip, '/');
943        if(pos != NULL)
944        {
945                pos[0] = '\0';
946                path = pos + 1;
947        }
948
949        pathnew = oregex("://.*/(.*).*", link);
950        printf("new pathnew: %s\n",pathnew);
951
952        int cloudflare = 1;
953        int localhoster = 1;
954        newurl = ostrcat(getconfig("tithek_kinox_url", NULL), "/", 0, 0);
955        newurl = ostrcat(newurl, pathnew, 1, 0);
956
957        if(cloudflare == 0)
958        {
959//              tmpstr = gethttp(ip, path, 80, NULL, NULL, 10000, NULL, 0);
960//              tmpstr = gethttps(link, NULL, NULL, NULL, NULL, NULL, 1);
961                tmpstr = gethttps(newurl, NULL, NULL, NULL, NULL, NULL, 1);
962        }
963        else
964        {
965// new start
966                cmd = ostrcat("/tmp/localhoster/hoster.sh get '", newurl, 0, 0);
967                cmd = ostrcat(cmd, "'", 1, 0);
968                debug(99, "cmd: %s", cmd);
969                tmpstr = command(cmd);
970                free(cmd), cmd = NULL;
971// new end
972        }
973
974        debug(99, "tmpstr: %s", tmpstr);
975        free(newurl), newurl = NULL;
976
977        if(tmpstr != NULL)
978        {
979                drawscreen(load, 0, 0);
980               
981                seriesid = string_resub("SeriesID=", "\"", tmpstr, 0);
982                debug(99, "seriesid: %s", seriesid);
983                       
984                pathnew = ostrcat("/aGET/MirrorByEpisode/&?Addr=", searchname, 0, 0);
985                pathnew = ostrcat(pathnew, "&SeriesID=", 1, 0);
986                pathnew = ostrcat(pathnew, seriesid, 1, 0);
987                pathnew = ostrcat(pathnew, "&Season=", 1, 0);
988                pathnew = ostrcat(pathnew, session, 1, 0);
989                pathnew = ostrcat(pathnew, "&Episode=", 1, 0);
990                pathnew = ostrcat(pathnew, episode, 1, 0);
991                debug(99, "pathnew: %s", pathnew);
992       
993                free(tmpstr), tmpstr = NULL;
994//              tmpstr = gethttp(getconfig("tithek_kinox_url", NULL, pathnew, 80, NULL, NULL, 10000, NULL, 0);
995                newurl = ostrcat(getconfig("tithek_kinox_url", NULL), "/", 0, 0);
996                newurl = ostrcat(newurl, pathnew, 1, 0);
997//              tmpstr = gethttps(newurl, NULL, NULL, NULL, NULL, NULL, 1);
998// new start
999                cmd = ostrcat("/tmp/localhoster/hoster.sh get '", newurl, 0, 0);
1000                cmd = ostrcat(cmd, "'", 1, 0);
1001                debug(99, "cmd: %s", cmd);
1002                tmpstr = command(cmd);
1003                free(cmd), cmd = NULL;
1004// new end
1005                free(newurl), newurl = NULL;
1006
1007                free(pathnew), pathnew = NULL;
1008       
1009                if(tmpstr != NULL)
1010                {
1011                        tmpstr = string_resub("<ul id=\"HosterList\" class=\"Sortable\">", "</ul>", tmpstr, 0);
1012               
1013                        int type = 14;
1014                        int count = 0;
1015                        int incount = 0;
1016                        int i;
1017                        struct splitstr* ret1 = NULL;
1018                        ret1 = strsplit(tmpstr, "\n", &count);
1019               
1020                        char* hname = NULL;
1021                        char* hnr = NULL;
1022                        char* hlink = NULL;
1023                       
1024                        if(ret1 != NULL && count > 0)
1025                        {
1026                                int max = count;
1027                                for(i = 0; i < max; i++)
1028                                {
1029                                        char *mirrormaxtmp = NULL;
1030                                        char *pathnewtmp = NULL;
1031                                        char *season = NULL;
1032                                        int mirrormax = 1;
1033                                        int j = 0;
1034
1035                                        mirrormaxtmp = oregex("<b>Mirror</b>: .*/(.*)<br.*", ret1[i].part);
1036                                       
1037                                        if(mirrormaxtmp != NULL)
1038                                                mirrormax = atoi(mirrormaxtmp);
1039                                        free(mirrormaxtmp), mirrormaxtmp= NULL;
1040
1041                                        debug(99, "### START ####################################################");
1042
1043                                        for(j = 1; j < mirrormax + 1; j++)
1044                                        {
1045                                                debug(99, "(%d/%d) (%d/%d) ret1[i].part: %s",i ,max ,j ,mirrormax, ret1[i].part);
1046
1047                                                hnr = string_resub("<li id=\"Hoster_", "\"", ret1[i].part, 0);
1048
1049//                                              hlink = string_resub("rel=\"", "amp;Mirror", ret1[i].part, 0);
1050//                                              hlink = string_replace_all("amp;Hoster", "Hoster", hlink, 1);
1051//                                              hlink = ostrcat(hlink, "Mirror=", 0, 0);
1052
1053//////////
1054                                                hlink = string_resub("rel=\"", "amp;Mirror", ret1[i].part, 0);
1055
1056                                                if (hlink == NULL)
1057                                                {
1058                                                        hlink = string_resub("rel=\"", "\">", ret1[i].part, 0);
1059                                                        hlink = string_replace_all("amp;Hoster", "Hoster", hlink, 1);
1060                                                        hname = string_resub("<div class=\"Named\">", "</div>", ret1[i].part, 0);
1061                                                        pathnewtmp = ostrcat(getconfig("tithek_kinox_url", NULL), "/aGET/Mirror/", 0, 0);
1062                                                        pathnewtmp = ostrcat(pathnewtmp, hlink, 1, 0);
1063                                                        pathnew = ostrcat(pathnewtmp, NULL, 0, 0);
1064                                                }
1065                                                else
1066                                                {
1067                                                        hlink = string_replace_all("amp;Hoster", "Hoster", hlink, 1);
1068                                                        hlink = ostrcat(hlink, "Mirror=", 0, 0);
1069                                                        hname = string_resub("<div class=\"Named\">", "</div>", ret1[i].part, 0);
1070                                                        pathnewtmp = ostrcat(getconfig("tithek_kinox_url", NULL), "/aGET/Mirror/", 0, 0);
1071                                                        pathnewtmp = ostrcat(pathnewtmp, hlink, 1, 0);
1072                                                        pathnew = ostrcat(pathnewtmp, oitoa(j), 0, 1);
1073                                                }
1074                                                debug(99, "(%d/%d) (%d/%d)hnr: %s hlink: %s hname: %s pathnewtmp: %s",i ,max ,j ,mirrormax ,hnr ,hlink ,hname ,pathnewtmp);
1075                                                free(pathnewtmp), pathnewtmp = NULL;
1076//////////
1077//                                              hname = string_resub("<div class=\"Named\">", "</div>", ret1[i].part, 0);
1078//                                              pathnewtmp = ostrcat("/aGET/Mirror/", hlink, 0, 0);
1079
1080                                                season = string_resub("&amp;Season=", "\">", ret1[i].part, 0);
1081                                                season = string_replace_all("amp;", "", season, 1);
1082
1083//                                              pathnew = ostrcat(pathnewtmp, oitoa(j), 0, 1);
1084                                                pathnew = ostrcat(pathnew, "&Season=", 1, 0);
1085                                                pathnew = ostrcat(pathnew, season, 1, 0);
1086
1087                                                debug(99, "(%d/%d) (%d/%d) hnr: %s hlink: %s season: %s hname: %s pathnewtmp: %s",i ,max ,j ,mirrormax ,hnr ,hlink ,season ,hname ,pathnewtmp);
1088 
1089                                                free(season), season= NULL;
1090                                                free(pathnewtmp), pathnewtmp = NULL;
1091
1092                                                pichname = ostrcat(hname, NULL, 0, 0);
1093                                                string_tolower(pichname);
1094                                                pichname = stringreplacecharonce(pichname, '.', '\0');
1095
1096                                                extra = string_resub("<b>Vom</b>: ", "</div>", ret1[i].part, 0);
1097
1098                                                hlink = string_replace("kinox.to", "", hlink, 1);                                       
1099                                                hlink = string_replace(getconfig("tithek_kinox_url", NULL), "", hlink, 1);                                     
1100                                                hlink = string_replace("http:////Stream/", "", hlink, 1);                                       
1101                                                hlink = string_replace("http:///Stream/", "", hlink, 1);
1102                                                hlink = string_replace("https:////Stream/", "", hlink, 1);                                     
1103                                                hlink = string_replace("https:///Stream/", "", hlink, 1);
1104
1105                                                if(cloudflare == 0)
1106                                                {
1107//                                                      tmpstr1 = gethttp("kinox.to", pathnew, 80, NULL, NULL, 10000, NULL, 0);
1108                                                        tmpstr1 = gethttps(pathnew, NULL, NULL, NULL, NULL, NULL, 1);
1109                                                }
1110                                                else if(localhoster == 1)
1111                                                {
1112                                                        cmd = ostrcat("/tmp/localhoster/hoster.sh hoster '", pathnew, 0, 0);
1113                                                        cmd = ostrcat(cmd, "'", 1, 0);
1114                                                        debug(99, "cmd: %s", cmd);
1115                                                        url = ostrcat(cmd, NULL, 0, 0);
1116                                                }
1117                                                else
1118                                                {
1119// new start
1120                                                        cmd = ostrcat("/tmp/localhoster/hoster.sh get '", pathnew, 0, 0);
1121                                                        cmd = ostrcat(cmd, "'", 1, 0);
1122                                                        debug(99, "cmd: %s", cmd);
1123                                                        tmpstr1 = command(cmd);
1124                                                        free(cmd), cmd = NULL;
1125// new end
1126                                                }
1127/*                     
1128//                                              debug(99, "pathnew: %s", pathnew);
1129//                                              tmpstr1 = gethttp("kinox.to", pathnew, 80, NULL, NULL, 10000, NULL, 0);
1130//                                              tmpstr1 = gethttps(pathnew, NULL, NULL, NULL, NULL, NULL, 1);
1131// new start
1132                                                cmd = ostrcat("/tmp/localhoster/hoster.sh get '", pathnew, 0, 0);
1133                                                cmd = ostrcat(cmd, "'", 1, 0);
1134                                                debug(99, "cmd: %s", cmd);
1135                                                tmpstr1 = command(cmd);
1136                                                free(cmd), cmd = NULL;
1137// new end
1138//                                              debug(99, "tmpstr1 1: %s", tmpstr1);
1139*/
1140                                                tmpstr1 = string_replace_all("\\", "", tmpstr1, 1);
1141//                                              debug(99, "tmpstr1 2: %s", tmpstr1);
1142
1143                                                if(localhoster == 0)
1144                                                {
1145                                                        if(ostrstr(tmpstr1, "<iframe src=") != NULL)
1146                                                        {
1147                                                                url = string_resub("<iframe src=\"", "\"", tmpstr1, 0);
1148        //                                                      debug(99, "iframe1.1 url: %s", url);
1149                                                        }
1150                                                        else if(ostrstr(tmpstr1, "/iframe>") != NULL)
1151                                                        {
1152                                                                free(pathnew), pathnew = NULL;
1153                                                                pathnew = ostrcat(getconfig("tithek_kinox_url", NULL), "/aGET/Mirror/", 0, 0);
1154                                                                pathnew = ostrcat(pathnew, hlink, 1, 0);
1155        //                                                      debug(99, "iframe2.1 pathnew: %s", pathnew);
1156                                                                free(tmpstr1), tmpstr1 = NULL;
1157        //                                                      tmpstr1 = gethttps(pathnew, NULL, NULL, NULL, NULL, NULL, 1);
1158        // new start
1159                                                                cmd = ostrcat("/tmp/localhoster/hoster.sh get '", pathnew, 0, 0);
1160                                                                cmd = ostrcat(cmd, "'", 1, 0);
1161                                                                debug(99, "cmd: %s", cmd);
1162                                                                tmpstr1 = command(cmd);
1163                                                                free(cmd), cmd = NULL;
1164        // new end
1165        //                                                      debug(99, "iframe2.2 tmpstr1: %s", tmpstr1);
1166                                                                tmpstr1 = string_replace_all("\\", "", tmpstr1, 1);
1167        //                                                      debug(99, "iframe2.3 tmpstr1: %s", tmpstr1);
1168
1169                                                                if(ostrstr(tmpstr1, "<iframe src=") != NULL)
1170                                                                {
1171                                                                        url = string_resub("<iframe src=\"", "\"", tmpstr1, 0);
1172        //                                                              debug(99, "iframe2.4 url: %s", url);
1173                                                                }
1174                                                        }
1175                                                        else
1176                                                        {
1177                                                                tmpstr1 = string_resub("<a href=\"", "\"", tmpstr1, 0);
1178        //                                                      debug(99, "tmpstr1 3: %s", tmpstr1);
1179                                                                url = ostrcat(tmpstr1, NULL, 0, 0);
1180                                                        }
1181                                                }
1182       
1183                                                type = 14;
1184                                                if(localhoster == 1)
1185                                                        type = 111;
1186
1187                                                debug(99, "-------------------------------");
1188                                                debug(99, "(%d/%d) (%d/%d) %s url: %s extra: %s", i, max, j, mirrormax, hname, url, extra);
1189                                                debug(99, "-------------------------------");
1190                                                       
1191                                                incount += 1;
1192
1193                                                line = ostrcat(line, hname, 1, 0);
1194
1195                                                if(url == NULL)
1196                                                        line = ostrcat(line, " (Error)", 1, 0);
1197
1198                                                if(extra != NULL)
1199                                                {
1200                                                        line = ostrcat(line, " (", 1, 0);                                       
1201                                                        line = ostrcat(line, extra, 1, 0);                                     
1202                                                        line = ostrcat(line, ")", 1, 0);                                       
1203                                                }
1204
1205                                                line = ostrcat(line, " (Mirror ", 1, 0);                                       
1206                                                line = ostrcat(line, oitoa(j), 1, 1);
1207                                                line = ostrcat(line, "/", 1, 0);                                       
1208                                                line = ostrcat(line, oitoa(mirrormax), 1, 1);
1209                                                line = ostrcat(line, ")", 1, 0);
1210
1211
1212                                                line = ostrcat(line, "#", 1, 0);
1213                                                line = ostrcat(line, url, 1, 0);
1214                                                line = ostrcat(line, "#", 1, 0);
1215                                                line = ostrcat(line, "http://atemio.dyndns.tv/mediathek/menu/", 1, 0);
1216                                                line = ostrcat(line, pichname, 1, 0);
1217                                                line = ostrcat(line, ".jpg#kinox_", 1, 0);
1218                                                line = ostrcat(line, pichname, 1, 0);
1219                                                line = ostrcat(line, ".jpg#KinoX - ", 1, 0);
1220                                                line = ostrcat(line, title, 1, 0);
1221                                                line = ostrcat(line, "#", 1, 0);
1222                                                line = ostrcat(line, oitoa(type), 1, 0);
1223                                                line = ostrcat(line, "\n", 1, 0);
1224
1225                                                free(tmpstr1), tmpstr1 = NULL;                                                 
1226                                                free(tmpstr2), tmpstr2 = NULL;                                 
1227                                                free(hname), hname = NULL;
1228                                                free(hnr), hnr = NULL;
1229                                                free(hlink), hlink = NULL;                                                                             
1230                                                free(url), url = NULL; 
1231                                                free(pathnew), pathnew = NULL;
1232                                                free(pichname), pichname = NULL;
1233                                                free(extra), extra = NULL;
1234                                        }
1235                                        debug(99, "### END #####################################################");
1236                                }
1237                        }
1238                        free(ret1), ret1 = NULL;
1239                }
1240        }
1241
1242        free(tmpstr), tmpstr = NULL;   
1243        if(line != NULL)
1244        {
1245                line = string_replace_all("http://atemio.dyndns.tv/", "http://imageshack.us/md/up/grd/", line, 1);
1246                tmpstr = ostrcat("/tmp/tithek/kinox.hoster.series.", oitoa(time(NULL)), 0, 1);
1247                tmpstr = ostrcat(tmpstr, ".list", 1, 0);
1248                       
1249                writesys(tmpstr, line, 0);
1250
1251                titheklog(debuglevel, "/tmp/kinox9_line", NULL, NULL, NULL, line);
1252
1253                struct tithek* tnode = (struct tithek*)listbox->select->handle;
1254                createtithek(tnode, tnode->title,  tmpstr, tnode->pic, tnode->localname, tnode->menutitle, tnode->flag);
1255                ret = 0;
1256        }
1257
1258        return ret;
1259}
1260
1261int kinox_search_cast(struct skin* grid, struct skin* listbox, struct skin* countlabel, struct skin* load, char* link, char* title, char* searchstr)
1262{
1263        int debuglevel = getconfigint("debuglevel", NULL);
1264        int ret = 1;
1265
1266        if(listbox == NULL || listbox->select == NULL || listbox->select->handle == NULL)
1267                return ret;
1268
1269        char* search = NULL;
1270        if(searchstr == NULL)
1271                search = textinputhist(_("Search"), " ", "searchhist");
1272        else
1273                search = textinputhist(_("Search"), searchstr, "searchhist");
1274       
1275        if(search != NULL)
1276        {
1277                drawscreen(load, 0, 0);
1278                search = strstrip(search);
1279                search = stringreplacechar(search, ' ', '+');
1280                debug(99, "search: %s", search);
1281
1282                char* tmpstr = NULL;
1283                char* tmpstr1 = NULL;
1284                char* ip = NULL;
1285                char* path = NULL;
1286
1287                char* line = NULL;
1288                char* menu = NULL;
1289
1290                ip = ostrcat("www.imdb.com", NULL, 0, 0);
1291                path = ostrcat("find?q=", search, 0, 0);
1292                path = ostrcat(path, "&s=nm", 1, 0);
1293
1294                tmpstr = gethttp(ip, path, 80, NULL, NULL, 10000, NULL, 0);
1295                titheklog(debuglevel, "/tmp/kinox10_cast_tmpstr1", NULL, NULL, NULL, tmpstr);
1296                tmpstr = string_replace_all("<td class=\"primary_photo\"> <a href=\"/name/", "\nfound=\"", tmpstr, 1);
1297                titheklog(debuglevel, "/tmp/kinox10_cast_tmpstr2", NULL, NULL, NULL, tmpstr);
1298
1299                tmpstr1 = string_resub("<table class=\"findList\">", "</div>", tmpstr, 0);
1300                titheklog(debuglevel, "/tmp/kinox10_cast_tmpstr3", NULL, NULL, NULL, tmpstr1);
1301                free(tmpstr), tmpstr = NULL;
1302
1303                int count = 0;
1304                int incount = 0;
1305                int i;
1306                struct splitstr* ret1 = NULL;
1307                ret1 = strsplit(tmpstr1, "\n", &count);
1308       
1309                char* url = NULL;
1310                char* pic = NULL;
1311                char* name = NULL;
1312               
1313                if(ret1 != NULL && count > 0)
1314                {
1315                        int max = count;
1316                        for(i = 0; i < max; i++)
1317                        {
1318                                url = string_resub("found=\"", "/", ret1[i].part, 0);
1319                                pic = string_resub("<img src=\"", "\"", ret1[i].part, 0);
1320
1321                                tmpstr = string_resub("found=\"", "<small>", ret1[i].part, 0);
1322//                              name = oregex(".*<a href=\"/name/nm.*\ >(.*)</a>", tmpstr);
1323                                name = oregex(".*<a href=\"/name/nm.* >(.*)</a>", tmpstr);
1324
1325                                debug(99, "(%d/%d) name: %s url: %s pic: %s\n",i, count, name, url, pic);
1326                                debug(99, "-------------------------------");
1327                                                                       
1328                                pic = string_replace_all(",", "%2C", pic, 1);
1329
1330                                if(url != NULL)
1331                                {
1332                                        incount++;
1333                                        line = ostrcat(line, name, 1, 0);
1334                                        line = ostrcat(line, "#", 1, 0);
1335                                        line = ostrcat(line, getconfig("tithek_kinox_url", NULL), 1, 0);
1336                                        line = ostrcat(line, "/People/", 1, 0);
1337                                        line = ostrcat(line, url, 1, 0);
1338                                        line = ostrcat(line, "#", 1, 0);
1339                                        line = ostrcat(line, pic, 1, 0);
1340                                        line = ostrcat(line, "#kinox_search_", 1, 0);
1341                                        line = ostrcat(line, oitoa(incount + time(NULL)), 1, 1);
1342                                        line = ostrcat(line, ".jpg#KinoX - Cast Search#32\n", 1, 0);
1343                                }
1344                               
1345                                free(url), url = NULL;
1346                                free(pic), pic = NULL;
1347                                free(name), name = NULL;                               
1348                                free(tmpstr), tmpstr = NULL;
1349                        }
1350
1351                        free(ret1), ret1 = NULL;
1352                        if(line != NULL)
1353                        {
1354                                line = string_replace_all("http://atemio.dyndns.tv/", "http://imageshack.us/md/up/grd/", line, 1);
1355                                menu = ostrcat("/tmp/tithek/kinox.search.cast.", oitoa(time(NULL)), 0, 1);
1356                                menu = ostrcat(menu, ".list", 1, 0);
1357                       
1358                                writesys(menu, line, 0);
1359                                struct tithek* tnode = (struct tithek*)listbox->select->handle;
1360                                createtithek(tnode, tnode->title,  menu, tnode->pic, tnode->localname, tnode->menutitle, tnode->flag);
1361                                ret = 0;
1362                        }
1363
1364                }
1365                free(tmpstr), tmpstr = NULL;
1366                free(ip), ip = NULL;
1367        }
1368        free(search), search = NULL;
1369        return ret;
1370}
1371
1372#endif
Note: See TracBrowser for help on using the repository browser.