Subversion Repositories spk

Rev

Rev 204 | Rev 214 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 204 Rev 206
Line 75... Line 75...
75
int		g_indent = 0;
75
int		g_indent = 0;
76
/*
76
/*
77
	Func:	GetInput
77
	Func:	GetInput
78
	Desc:	Gets an input from the user, ie, any settings required to be typed in
78
	Desc:	Gets an input from the user, ie, any settings required to be typed in
79
*/
79
*/
80
CyString GetInput ()
80
Utils::WString GetInput ()
81
{
81
{
82
//	g_read = true;
82
//	g_read = true;
83
 
83
 
84
	CyString line;
84
	Utils::WString line;
85
	char c = getchar();
85
	char c = getchar();
86
 
86
 
87
	while ( (c != '\n') && (c != '\0') )
87
	while ( (c != '\n') && (c != '\0') )
88
	{
88
	{
89
		line += c;
89
		line += Utils::WString(c);
90
		c = getchar();
90
		c = getchar();
91
	}
91
	}
92
 
92
 
93
	return line;
93
	return line;
94
}
94
}
Line 324... Line 324...
324
					break;
324
					break;
325
			}
325
			}
326
 
326
 
327
			if ( package->installText()->any() )
327
			if ( package->installText()->any() )
328
			{
328
			{
329
				Utils::String installtext = packages->getInstallBeforeText(package);
329
				Utils::WString installtext = packages->getInstallBeforeText(package);
330
				if ( !installtext.empty() )
330
				if ( !installtext.empty() )
331
				{
331
				{
332
					installtext = installtext.stripHtml();
332
					installtext = installtext.stripHtml();
333
					wprintf(L"Installing %s: %hs\n", packageName.c_str(), installtext.c_str() );
333
					wprintf(L"Installing %s: %s\n", packageName.c_str(), installtext.c_str() );
334
					printf ( "Do you want to continue with the install? " );
334
					printf ( "Do you want to continue with the install? " );
335
 
335
 
336
					if ( g_force )
336
					if ( g_force )
337
						printf ( "(FORCED)\n" );
337
						printf ( "(FORCED)\n" );
338
					else
338
					else
339
					{
339
					{
340
						Utils::String input = GetInput().ToLower().ToString();
340
						Utils::WString input = GetInput().lower();
341
 
341
 
342
						if ( input != "y" && input != "yes" )
342
						if ( input != "y" && input != "yes" )
343
						{
343
						{
344
							printf ( "\nInstallion aborted!!\n\n" );
344
							printf ( "\nInstallion aborted!!\n\n" );
345
							packages->RemovePreparedInstall(package);
345
							packages->RemovePreparedInstall(package);
Line 397... Line 397...
397
		retStr += package->getFullPackageName(packages->GetLanguage());
397
		retStr += package->getFullPackageName(packages->GetLanguage());
398
		retStr += L"\n";
398
		retStr += L"\n";
399
 
399
 
400
		if ( !packages->getInstallAfterText(package).empty() )
400
		if ( !packages->getInstallAfterText(package).empty() )
401
		{
401
		{
402
			Utils::String afterText = packages->getInstallAfterText(package).stripHtml();
402
			Utils::WString afterText = packages->getInstallAfterText(package).stripHtml();
403
			afterText = afterText.findReplace("\n", "\n\t");
403
			afterText = afterText.findReplace(L"\n", L"\n\t");
404
			retStr += L"\t";
404
			retStr += L"\t";
405
			retStr += afterText.toWString();
405
			retStr += afterText;
406
			retStr += L"\n";
406
			retStr += L"\n";
407
		}
407
		}
408
	}
408
	}
409
 
409
 
410
	return retStr;
410
	return retStr;
Line 419... Line 419...
419
	}
419
	}
420
 
420
 
421
	return 0;
421
	return 0;
422
}
422
}
423
 
423
 
424
bool UninstallPackage(int uninstallNum, Utils::WStringList *errors, CPackages *packages, Utils::String &endMessage)
424
bool UninstallPackage(int uninstallNum, Utils::WStringList *errors, CPackages *packages, Utils::WString &endMessage)
425
{
425
{
426
	CBaseFile *p = FindPackage(uninstallNum, packages);
426
	CBaseFile *p = FindPackage(uninstallNum, packages);
427
	if ( !p )
427
	if ( !p )
428
		return false;
428
		return false;
429
 
429
 
430
	// lets check for the uninstall text
430
	// lets check for the uninstall text
431
	Utils::String uText = packages->getUninstallBeforeText(p).stripHtml();
431
	Utils::WString uText = packages->getUninstallBeforeText(p).stripHtml();
432
	if (!uText.empty())
432
	if (!uText.empty())
433
	{
433
	{
434
		printf ( "Uninstalling: %s\n", uText.c_str() );
434
		wprintf(L"Uninstalling: %s\n", uText.c_str() );
435
		printf ( "Do you wish to continue with the uninstall? " );
435
		printf ( "Do you wish to continue with the uninstall? " );
436
		if ( g_force )
436
		if ( g_force )
437
			printf ( "(FORCED)\n" );
437
			printf ( "(FORCED)\n" );
438
		else
438
		else
439
		{
439
		{
440
			CyString input = GetInput().ToLower();
440
			Utils::WString input = GetInput().lower();
441
			if ( input != "y" && input != "yes" )
441
			if ( input != "y" && input != "yes" )
442
			{
442
			{
443
				printf ( "\nUninstallation has been aborted!!\n" );
443
				printf ( "\nUninstallation has been aborted!!\n" );
444
				return false;
444
				return false;
445
			}
445
			}
446
		}
446
		}
447
	}
447
	}
448
 
448
 
449
	CProgressConsole progress;
449
	CProgressConsole progress;
450
 
450
 
451
	endMessage = "Uninstalled: " + p->getFullPackageName(packages->GetLanguage()).toString();
451
	endMessage = L"Uninstalled: " + p->getFullPackageName(packages->GetLanguage());
452
	// add the uninstall after text
452
	// add the uninstall after text
453
	uText = packages->getUninstallAfterText(p).stripHtml();
453
	uText = packages->getUninstallAfterText(p).stripHtml();
454
	if (!uText.empty())
454
	if (!uText.empty())
455
	{
455
	{
456
		endMessage += "\n\n";
456
		endMessage += L"\n\n";
457
		endMessage += uText;
457
		endMessage += uText;
458
		endMessage += "\n";
458
		endMessage += L"\n";
459
	}
459
	}
460
 
460
 
461
	printf ( "  - Unistalling                    " );
461
	printf ( "  - Unistalling                    " );
462
	packages->PrepareUninstallPackage(p);
462
	packages->PrepareUninstallPackage(p);
463
	if ( packages->uninstallPreparedPackages(errors, &progress) )
463
	if ( packages->uninstallPreparedPackages(errors, &progress) )
464
	{
464
	{
465
		progress.Finish();
465
		progress.Finish();
466
	}
466
	}
467
	else
467
	else
468
	{
468
	{
469
		endMessage = "";
469
		endMessage = L"";
470
		printf ( "ERROR!\n" );
470
		printf ( "ERROR!\n" );
471
		return false;
471
		return false;
472
	}
472
	}
473
 
473
 
474
 
474
 
475
	return true;
475
	return true;
476
}
476
}
477
 
477
 
478
bool EnablePackage(int uninstallNum, Utils::WStringList *errors, CPackages *packages, Utils::String &endMessage)
478
bool EnablePackage(int uninstallNum, Utils::WStringList *errors, CPackages *packages, Utils::WString &endMessage)
479
{
479
{
480
	CBaseFile *p = FindPackage(uninstallNum, packages);
480
	CBaseFile *p = FindPackage(uninstallNum, packages);
481
	if ( !p )
481
	if ( !p )
482
		return false;
482
		return false;
483
 
483
 
484
	CProgressConsole progress;
484
	CProgressConsole progress;
485
 
485
 
486
	endMessage = "Enabled: " + p->getFullPackageName(packages->GetLanguage()).toString();
486
	endMessage = L"Enabled: " + p->getFullPackageName(packages->GetLanguage());
487
 
487
 
488
	printf ( "  - Enabling                       " );
488
	printf ( "  - Enabling                       " );
489
	if ( packages->enablePackage(p, errors, &progress) )
489
	if ( packages->enablePackage(p, errors, &progress) )
490
	{
490
	{
491
		progress.Finish();
491
		progress.Finish();
492
	}
492
	}
493
	else
493
	else
494
	{
494
	{
495
		int error = packages->GetError();
495
		int error = packages->GetError();
496
		endMessage = "";
496
		endMessage = "";
497
		printf ( "ERROR! " );
497
		printf ( "ERROR! " );
498
		if ( error == PKERR_NOPARENT )
498
		if ( error == PKERR_NOPARENT )
499
			printf ( "Parent package is disabled" );
499
			printf ( "Parent package is disabled" );
500
		printf ( "\n" );
500
		printf ( "\n" );
501
		return false;
501
		return false;
502
	}
502
	}
503
	return true;
503
	return true;
504
}
504
}
505
 
505
 
506
bool DisablePackage(int uninstallNum, Utils::WStringList *errors, CPackages *packages, Utils::String &endMessage)
506
bool DisablePackage(int uninstallNum, Utils::WStringList *errors, CPackages *packages, Utils::WString &endMessage)
507
{
507
{
508
	CBaseFile *p = FindPackage(uninstallNum, packages);
508
	CBaseFile *p = FindPackage(uninstallNum, packages);
509
	if ( !p )
509
	if ( !p )
510
		return false;
510
		return false;
511
 
511
 
512
	CProgressConsole progress;
512
	CProgressConsole progress;
513
 
513
 
514
	endMessage = "Disabled: " + p->getFullPackageName(packages->GetLanguage()).toString();
514
	endMessage = L"Disabled: " + p->getFullPackageName(packages->GetLanguage());
515
 
515
 
516
	printf ( "  - Disabling                      " );
516
	printf ( "  - Disabling                      " );
517
	if ( packages->disablePackage(p, errors, &progress) )
517
	if ( packages->disablePackage(p, errors, &progress) )
518
	{
518
	{
519
		progress.Finish();
519
		progress.Finish();
520
	}
520
	}
521
	else
521
	else
522
	{
522
	{
523
		endMessage = "";
523
		endMessage = L"";
524
		printf ( "ERROR!\n" );
524
		printf ( "ERROR!\n" );
525
		return false;
525
		return false;
526
	}
526
	}
527
	return true;
527
	return true;
528
}
528
}
Line 750... Line 750...
750
		else if ( checkCmd == "/removeunisntall" )
750
		else if ( checkCmd == "/removeunisntall" )
751
			c = 'r';
751
			c = 'r';
752
 
752
 
753
		if ( c == 'i' || c == 'l' || c == 'u' || c == 'e' || c == 'd' || c == 'r' || c == 's' )
753
		if ( c == 'i' || c == 'l' || c == 'u' || c == 'e' || c == 'd' || c == 'r' || c == 's' )
754
		{
754
		{
755
			Utils::String endMessage;
755
			Utils::WString endMessage;
756
 
756
 
757
			printf ( "                                   |0              100|\n\n");
757
			printf ( "                                   |0              100|\n\n");
758
			printf ( "  - Reading game directory         " );
758
			printf ( "  - Reading game directory         " );
759
 
759
 
760
			CProgressConsole progress;
760
			CProgressConsole progress;
Line 798... Line 798...
798
					{
798
					{
799
						Utils::WString aftertext = InstallPackage(&lArguments, &lErrors, &packages, disabled);
799
						Utils::WString aftertext = InstallPackage(&lArguments, &lErrors, &packages, disabled);
800
						if(!aftertext.empty())
800
						if(!aftertext.empty())
801
						{
801
						{
802
							prepare = true;
802
							prepare = true;
803
							endMessage = aftertext.toString();
803
							endMessage = aftertext;
804
						}
804
						}
805
						PrintDebug(&errors);
805
						PrintDebug(&errors);
806
					}
806
					}
807
					break;
807
					break;
808
 
808
 
Line 870... Line 870...
870
			else
870
			else
871
				packages.RestoreFakePatch();
871
				packages.RestoreFakePatch();
872
 
872
 
873
			printf ( "\nDone!\n" );
873
			printf ( "\nDone!\n" );
874
			if ( !endMessage.empty() )
874
			if ( !endMessage.empty() )
875
				printf ( "\n%s\n", endMessage.c_str() );
875
				wprintf(L"\n%s\n", endMessage.c_str() );
876
		}
876
		}
877
		else
877
		else
878
			printf ( "Unknown Command: %c\n", c );
878
			printf ( "Unknown Command: %c\n", c );
879
	}
879
	}
880
 
880