Subversion Repositories Kolibri OS

Rev

Rev 2839 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2839 Rev 2840
Line 7... Line 7...
7
int i;
7
int i;
8
 
8
 
Line 9... Line 9...
9
char download_path[]="/rd/1/.download";
9
char download_path[]="/rd/1/.download";
10
char search_path[]="http://nigma.ru/index.php?s=";
10
char search_path[]="http://nigma.ru/index.php?s=";
11
char version[]=" Text-based Browser 0.94u";
11
char version[]=" Text-based Browser 0.94z";
Line 12... Line 12...
12
 
12
 
13
 
13
 
14
struct TWebBrowser {
14
struct TWebBrowser {
Line 83... Line 83...
83
		
83
		
Line 84... Line 84...
84
		if (!strcmp(#URL + strlen(#URL) - 4, ".gif")) || (!strcmp(#URL + strlen(#URL) - 4, ".png")) || (!strcmp(#URL + strlen(#URL) - 4, ".jpg"))
84
		if (!strcmp(#URL + strlen(#URL) - 4, ".gif")) || (!strcmp(#URL + strlen(#URL) - 4, ".png")) || (!strcmp(#URL + strlen(#URL) - 4, ".jpg"))
85
		{
85
		{
86
			RunProgram("/sys/media/kiv", #URL);
86
			RunProgram("/sys/media/kiv", #URL);
-
 
87
			strcpy(#editURL, BrowserHistory.CurrentUrl());
87
			strcpy(#URL, BrowserHistory.CurrentUrl());
88
			strcpy(#URL, BrowserHistory.CurrentUrl());
88
			return;
89
			return;
89
		}
90
		}
Line 90... Line 91...
90
 
91
 
Line 318... Line 319...
318
	if (!strcmp(#URL + strlen(#URL) - 4, ".mht")) ignor_text = 1;
319
	if (!strcmp(#URL + strlen(#URL) - 4, ".mht")) ignor_text = 1;
319
	
320
	
Line 320... Line 321...
320
	debug("Start parsing");
321
	debug("Start parsing");
Line 321... Line 322...
321
	
322
	
-
 
323
	for ( ; buf+filesize > bword; bword++;)
322
	for ( ; buf+filesize > bword; bword++;) {//ESBYTE[bword]
324
	{
-
 
325
		bukva = ESBYTE[bword];
323
	  bukva = ESBYTE[bword];
326
		if (ignor_text) && (bukva<>'<') continue;
-
 
327
		switch (bukva)
324
	  switch (bukva) {
328
		{
325
		case 0x0a:
329
		case 0x0a:
326
			if (pre_text)
330
			if (pre_text)
327
			{
331
			{
328
				bukva = '';
-
 
329
				temp = '';
332
				bukva = temp = '';
330
				goto NEXT_MARK;
333
				goto NEXT_MARK;
331
			}
334
			}
332
		case '\9':
335
		case '\9':
333
			if (pre_text) //èíà÷å èä¸ì íà 0x0d	
336
			if (pre_text) //èíà÷å èä¸ì íà 0x0d	
Line 362... Line 365...
362
			while (ESBYTE[bword] <>'>') && (bword < buf + filesize) //ïîëó÷àåì òåã è åãî ïàðàìåòðû
365
			while (ESBYTE[bword] <>'>') && (bword < buf + filesize) //ïîëó÷àåì òåã è åãî ïàðàìåòðû
363
			{
366
			{
364
				bukva = ESBYTE[bword];
367
				bukva = ESBYTE[bword];
365
				if (bukva == '\9') || (bukva == '\x0a') || (bukva == '\x0d') bukva = ' ';
368
				if (bukva == '\9') || (bukva == '\x0a') || (bukva == '\x0d') bukva = ' ';
366
				if (!ignor_param) && (bukva <>' ') strcat(#tag, #bukva);
369
				if (!ignor_param) && (bukva <>' ')
367
				else
370
				{
-
 
371
					if (strlen(#tag)
-
 
372
				}
-
 
373
				else
368
				{
374
				{
369
					ignor_param = true;
375
					ignor_param = true;
370
					strcat(#tagparam, #bukva);
376
					if (!ignor_text) && (strlen(#tagparam)+1
371
				}
377
				}
372
				bword++;
378
				bword++;
373
			}
379
			}
374
			lowcase(#tag);
380
			lowcase(#tag);
375
			lowcase(#tagparam);
381
			lowcase(#tagparam);
376
 
382
 
Line 399... Line 405...
399
			if (bukva) goto DEFAULT_MARK;
405
			if (bukva) goto DEFAULT_MARK;
400
			break;
406
			break;
401
			
407
			
Line 402... Line 408...
402
		case '&': //îáðàáîòêà òåãîâ òèïà  
408
		case '&': //îáðàáîòêà òåãîâ òèïà  
403
			if (ignor_text) break;
-
 
404
			bword++;
409
			bword++;
405
			tag='';
410
			tag='';
406
			for (j=0;  (ESBYTE[bword] <>';') && (j < 7);     j++, bword++;)
411
			for (j=0;  (ESBYTE[bword] <>';') && (j < 7);     j++, bword++;)
407
			{
412
			{
408
				bukva = ESBYTE[bword];
413
				bukva = ESBYTE[bword];
Line 429... Line 434...
429
			strcat(#line,#tag); //âûâîäèì íà ýêðàí íåîáðàáîòàííûé òåã, òàê áðàóçåðû çà÷åì-òî äåëàþò
434
			strcat(#line,#tag); //âûâîäèì íà ýêðàí íåîáðàáîòàííûé òåã, òàê áðàóçåðû çà÷åì-òî äåëàþò
430
			break;
435
			break;
431
		default:
436
		default:
432
			DEFAULT_MARK:
437
			DEFAULT_MARK:
433
			if (ignor_text) break;
438
			if (!pre_text) && (bukva == ' ') && (line[strlen(#line)-1]==' ') break;
434
			if (!pre_text) && (bukva == ' ') && (line[strlen(#line)-1]==' ') break;
-
 
435
			//
439
			//
436
			if (stolbec + strlen(#line) > lines.column_max)
440
			if (stolbec + strlen(#line) > lines.column_max)
437
			{
441
			{
438
				perenos_num = strrchr(#line, ' ');
442
				perenos_num = strrchr(#line, ' ');
439
				strcpy(#temp, #line + perenos_num); //ïåðåíîñ ïî ñëîâàì
443
				strcpy(#temp, #line + perenos_num); //ïåðåíîñ ïî ñëîâàì
Line 499... Line 503...
499
		if (stroka==0) DrawTitle(#header);
503
		if (stroka==0) DrawTitle(#header);
500
		return;
504
		return;
501
	}
505
	}
502
	
506
	
Line 503... Line 507...
503
	IF (ignor_text == 1) return;
507
	IF (ignor_text) return;
Line 504... Line 508...
504
 
508
 
Line 505... Line 509...
505
	IF(!chTag("q")) strcat(#line, "\"");
509
	IF(!chTag("q")) strcat(#line, "\"");
506
	
510
	
Line 557... Line 561...
557
		}
561
		}
558
		
562
		
Line 559... Line 563...
559
		return;
563
		return;
560
	}
564
	}
561
	//////////////////////////
-
 
-
 
565
 
562
	if (!chTag("a"))
566
	if (!chTag("a"))
563
	{
567
	{
564
		if (rez)
568
		if (rez)
565
		{
569
		{
566
			text_color_index++;
570
			text_color_index++;
Line 595... Line 599...
595
			IF(text_color_index > 0) text_color_index--;
599
			IF(text_color_index > 0) text_color_index--;
596
		}
600
		}
597
		return;
601
		return;
598
	}
602
	}
599
	/////////////////////////
603
 
600
	if (!chTag("font"))
-
 
-
 
604
	if (!chTag("font"))
601
	{
605
	{
602
		if (rez)
606
		if (rez)
603
		{
607
		{
604
			text_color_index++;
608
			text_color_index++;
605
			text_colors[text_color_index] = text_colors[text_color_index-1];
609
			text_colors[text_color_index] = text_colors[text_color_index-1];
Line 617... Line 621...
617
		else
621
		else
618
			if (text_color_index > 0) text_color_index--;
622
			if (text_color_index > 0) text_color_index--;
619
		return;
623
		return;
620
	}
624
	}
621
	//////////////////////////
625
 
622
	if(!chTag("tr")) || (!chTag("br")) {
-
 
-
 
626
	if(!chTag("tr")) || (!chTag("br")) {
623
		TextGoDown(left1, top1, width1);
627
		TextGoDown(left1, top1, width1);
624
		return;
628
		return;
625
	}
629
	}
626
	if (!chTag("div")) {
630
	if (!chTag("div")) {
627
		IF(oldtag[0] <>'h') TextGoDown(left1, top1, width1);
631
		IF(oldtag[0] <>'h') TextGoDown(left1, top1, width1);
Line 632... Line 636...
632
		TextGoDown(left1, top1, width1);
636
		TextGoDown(left1, top1, width1);
633
		IF(rez) TextGoDown(left1, top1 + 10, width1);
637
		IF(rez) TextGoDown(left1, top1 + 10, width1);
634
		return;
638
		return;
635
	}
639
	}
636
	////////////////////////////
640
 
637
	if (!chTag("h1")) || (!chTag("h2")) || (!chTag("h3")) || (!chTag("h4")) {
-
 
-
 
641
	if (!chTag("h1")) || (!chTag("h2")) || (!chTag("h3")) || (!chTag("h4")) {
638
		TextGoDown(left1, top1, width1);
642
		TextGoDown(left1, top1, width1);
639
		IF(rez) TextGoDown(left1, top1 + 10, width1);
643
		IF(rez) TextGoDown(left1, top1 + 10, width1);
640
		b_text = rez;
644
		b_text = rez;
641
		strcpy(#oldtag, #tag);
645
		strcpy(#oldtag, #tag);
642
		return;
646
		return;