1,7 → 1,4 |
//èäåÿ - ëåâûå ôàéëû îòêðûâàòü ñîîòâåòñòâóþùèìè ïðîãàìè |
//ol - öèôåðêè |
|
|
int downloader_id; |
|
dword j, |
11,9 → 8,8 |
int i; |
|
char download_path[]="/rd/1/.download"; |
//char search_path[]="http://nova.rambler.ru/search?words="; |
char search_path[]="http://nigma.ru/index.php?s="; |
char version[]=" Text-based Browser 0.9b"; |
char version[]=" Text-based Browser 0.92"; |
|
|
struct TWebBrowser { |
56,20 → 52,15 |
if (id > 399) |
{ |
GetURLfromPageLinks(id); |
|
//ýòó âñþ õðåíü íóæíî â GetNewUrl() ïåðåìåñòèòü |
IF (URL[0] == '#') { //ìû íå óìååì ïåðåõîäèòü ïî ññûëêå âíóòðè äîêóìåíòà. Ïîêà ÷òî... |
if (URL[0] == '#') { //ìû íå óìååì ïåðåõîäèòü ïî ññûëêå âíóòðè äîêóìåíòà. Ïîêà ÷òî... |
copystr(BrowserHistory.CurrentUrl(), #editURL); |
copystr(#URL, #editURL + strlen(#editURL)); |
|
//edit1.size = edit1.pos = strlen(#editURL); |
//edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà |
|
copystr(BrowserHistory.CurrentUrl(), #URL); |
ShowPage(#URL); |
return; |
} |
URL[find_symbol(#URL, '#')-1] = 0x00; //çàãëóøêà, ëó÷øå, ÷åì íè÷åãî (õàáð, íàïðèìåð, áóäåò ðàáîòàòü) //ýòî íå ñîâñåì ïðàâèëüíî - â åäèòóðë äîëæíî îñòàâàòüñÿ |
URL[find_symbol(#URL, '#')-1] = 0x00; //çàãëóøêà, íî ýòî íå ñîâñåì ïðàâèëüíî - â åäèòóðë äîëæíî îñòàâàòüñÿ |
|
GetNewUrl(); |
|
116,9 → 107,7 |
Draw_Window(); |
return; |
} |
copystr(#URL, #editURL); |
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad(); |
ShowPage(#URL); |
OpenPage(); //îò ñåðäöà îòðûâàþ, çäåñü íóæíî za_kadrom ñòàðîå |
return; |
case 014: //Ctrl+N íîâîå îêíî |
case 020: //Ctrl+T íîâàÿ âêëàäêà |
177,16 → 166,8 |
ParseHTML(buf, filesize); |
} |
|
void OpenPage() |
{ |
if (GetProcessSlot(downloader_id)<>0) PutPaletteImage(#toolbar,200,42,0,0,8,#toolbar_pal); |
KillProcess(downloader_id); |
copystr(#URL, #editURL); |
za_kadrom = count = 0; |
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad(); |
WB1.ShowPage(#URL); |
} |
|
|
void GetNewUrl(){ |
IF (!strcmp(get_URL_part(2),"./")) copystr(#URL+2,#URL); //èãíîðèì :) |
|
216,24 → 197,7 |
} |
|
|
void HttpLoad() |
{ |
//count = 0; ÿ äóìàþ åìó ìåñòî çäåñü |
copystr(#version, #header); |
KillProcess(downloader_id); //óáèâàåì ñòàðûé ïðîöåññ |
DeleteFile(#download_path); |
IF (URL[strlen(#URL)-1]=='/') URL[strlen(#URL)-1]=''; |
downloader_id = RunProgram("/sys/network/downloader", #URL); |
//ýòî ãåíèàëüíî è ýòî ïèçäåö!!! |
Pause(60); |
KillProcess(downloader_id); //óáèâàåì ñòàðûé ïðîöåññ |
downloader_id = RunProgram("/sys/network/downloader", #URL); |
// |
IF (downloader_id<0) RunProgram("@notify", "Error running Downloader. Internet unavilable."); |
Draw_Window(); |
} |
|
|
void ReadHtml() |
{ |
if (!strcmp(get_URL_part(5),"http:"))) |
242,7 → 206,8 |
file_size stdcall (#URL); |
|
filesize = EBX; |
if (!filesize) /*{Pause(200); ReadHtml();}*/ return; |
if (!filesize) return; |
|
mem_Free(buf); |
buf = mem_Alloc(filesize); |
if (!strcmp(get_URL_part(5),"http:"))) |
252,18 → 217,44 |
} |
|
|
void OpenPage() |
{ |
if (GetProcessSlot(downloader_id)<>0) PutPaletteImage(#toolbar,200,42,0,0,8,#toolbar_pal); |
KillProcess(downloader_id); |
copystr(#URL, #editURL); |
BrowserHistory.AddUrl(); |
za_kadrom = count = 0; |
if (!strcmp(get_URL_part(5),"http:"))) |
{ |
copystr(#version, #header); |
KillProcess(downloader_id); //óáèâàåì ñòàðûé ïðîöåññ |
DeleteFile(#download_path); |
IF (URL[strlen(#URL)-1]=='/') URL[strlen(#URL)-1]=''; |
downloader_id = RunProgram("/sys/network/downloader", #URL); |
//ýòî ãåíèàëüíî è ýòî ïèçäåö!!! |
Pause(60); |
if (GetProcessSlot(downloader_id)<>0) |
{ |
WriteDebug("Browser Hack v2.0: Killing downloader and trying to run it one more!"); |
KillProcess(downloader_id); //óáèâàåì ñòàðûé ïðîöåññ |
downloader_id = RunProgram("/sys/network/downloader", #URL); |
} |
// |
IF (downloader_id<0) RunProgram("@notify", "Error running Downloader. Internet unavilable."); |
Draw_Window(); |
return; |
} |
ReadHtml(); |
if (filesize) wintodos(buf); |
WB1.ShowPage(#URL); |
} |
|
void TWebBrowser::ShowPage(dword adress) { |
max_kolvo_stolbcov = width - 30 / 6; |
max_kolvo_strok = height - 3 / 10 - 2; |
|
void TWebBrowser::ShowPage(dword adress) |
{ |
edit1.size = edit1.pos = strlen(#editURL); |
edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà |
|
BrowserHistory.AddUrl(); |
|
//LETS_LOAD |
ReadHtml(); |
|
if (!filesize) |
{ |
DrawBar(left, top, width+4, height, 0xFFFFFF); //çàêðàøèâàåì âñ¸ äîíèçó |
277,7 → 268,6 |
return; |
} |
|
wintodos(buf); |
ParseHTML(buf, filesize); |
IF (!strcmp(#version, #header)) DrawTitle(#header); |
} |