X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/dde16144878c81f06c7da19d7d4432ccd397f3e0..9d8dbcc95c9e3ea959f034d5ddb2edcc71fe1f59:/MTBlingController.m diff --git a/MTBlingController.m b/MTBlingController.m new file mode 100755 index 0000000..bc20477 --- /dev/null +++ b/MTBlingController.m @@ -0,0 +1,146 @@ +// +// MTBlingController.m +// MenuTunes +// +// Created by Matthew L. Judy on Tue Aug 19 2003. +// Copyright (c) 2003 iThink Software. All rights reserved. +// + +#import "MTBlingController.h" +#import "MTeSerialNumber.h" + +#define APP_SUPPORT_PATH_STRING [@"~/Library/Application Support/MenuTunes/" stringByExpandingTildeInPath] +#define LICENSE_PATH_STRING [APP_SUPPORT_PATH_STRING stringByAppendingString:@"/.license"] + + +@interface MTBlingController (Private) +- (void)showPanel; +@end + + +@implementation MTBlingController + + +- (void)_HEY {} +- (void)_SUCKA {} +- (void)_QUIT {} +- (void)_HACKING {} +- (void)_AND {} +- (void)_GO {} +- (void)_BUY {} +- (void)_IT {} +- (void)_YOU {} +- (void)_TIGHTWAD {} + +- (id)init +{ + if ( ( self = [super init] ) ) { + checkDone = 0; + } + return self; +} + + +- (void)showPanel +{ + if ( ! window ) { + window = [MTShizzleWindow sharedWindowForSender:self]; + } + + [window center]; + [window makeKeyAndOrderFront:nil]; + [window setLevel:NSStatusWindowLevel]; +} + +- (void)showPanelIfNeeded +{ + if ( ! (checkDone == 2475) ) { + if ( ! ([self checkKeyFile] == 7465) ) { + [self showPanel]; + } else { + checkDone = 2475; + } + } +} + +- (void)goToTheStore:(id)sender +{ + [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://store.eSellerate.net/s.asp?s=STR090894476"]]; +} + +- (void)registerLater:(id)sender +{ + [window orderOut:self]; +} + +- (void)verifyKey:(id)sender +{ + NSString *o = [window owner]; + NSString *k = [window key]; + + MTeSerialNumber *s = [[[MTeSerialNumber alloc] initWithSerialNumber:k + name:o + extra:nil + publisher:@"04611"] autorelease]; + if ( [s isValid] == ITeSerialNumberIsValid && ( [[s infoDictionary] objectForKey:@"appIdentifier"] == @"MT" ) ) { + + NSFileManager *fm = [NSFileManager defaultManager]; + + if ( ! [fm fileExistsAtPath:APP_SUPPORT_PATH_STRING] ) { + [fm createDirectoryAtPath:APP_SUPPORT_PATH_STRING attributes:nil]; + } + + [[NSDictionary dictionaryWithObjectsAndKeys: + o, @"Owner", + k, @"Key", + nil] writeToFile:LICENSE_PATH_STRING atomically:YES]; + + checkDone = 2475; + + NSBeginInformationalAlertSheet(NSLocalizedString(@"validated_title", @"Validated Title"), + @"Thank You!", nil, nil, + window, + self, + @selector(finishValidSheet:returnCode:contextInfo:), + nil, + nil, + NSLocalizedString(@"validated_msg", @"Validated Message")); + + } else { + + NSBeginAlertSheet(NSLocalizedString(@"failed_title", @"Failed Title"), + @"Try Again", nil, nil, + window, + self, + nil, nil, nil, + NSLocalizedString(@"failed_msg", @"Failed Message")); + } + +} + +- (int)checkKeyFile +{ + NSString *p = LICENSE_PATH_STRING; + MTeSerialNumber *k = [[[MTeSerialNumber alloc] initWithContentsOfFile:p + extra:@"" + publisher:@"04611"] autorelease]; + if ( k && [k isValid] == ITeSerialNumberIsValid && ( [[k infoDictionary] objectForKey:@"appIdentifier"] == @"MT" )) { + return 7465; + } else { + [[NSFileManager defaultManager] removeFileAtPath:p handler:nil]; + return 0; + } + +} + +- (int)checkDone +{ + return checkDone; +} + +- (void)finishValidSheet:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo +{ + [window orderOut:self]; +} + +@end