Skip to content

Commit

Permalink
3.0 - Add support for new format donation license keys. Fix crash
Browse files Browse the repository at this point in the history
when a user logs in and haven't set a profile name
Add discord rich presence start and end dates.
  • Loading branch information
moyitpro committed Jun 14, 2018
1 parent 0d03a92 commit 52b77eb
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 8 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,5 @@ Hachidori.xcodeproj/project.xcworkspace/xcuserdata/*.*
.idea/scopes/*.*
Hachidori.xcodeproj/xcuserdata/kirimasharo.xcuserdatad/xcschemes/xcschememanagement.plist
Hachidori.xcodeproj/xcuserdata/tedezarize.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
ClientConstants.m
ClientConstants.m
DonationCheck_KeyOnly.framework/**
4 changes: 2 additions & 2 deletions DiscordManager.m
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ - (void)UpdatePresence:(NSString *)state withDetails:(NSString *)details {
DiscordRichPresence discordPresence;
discordPresence.state = state.UTF8String;
discordPresence.details = details.UTF8String;
discordPresence.startTimestamp = 1;
discordPresence.endTimestamp = 3600;
discordPresence.startTimestamp = [NSDate date].timeIntervalSince1970;
discordPresence.endTimestamp = [NSDate dateWithTimeIntervalSinceNow:86400].timeIntervalSince1970;
discordPresence.largeImageKey = "default";
discordPresence.smallImageKey = "default";
discordPresence.largeImageText = "";
Expand Down
2 changes: 1 addition & 1 deletion DonationWindowController.m
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ - (IBAction)validate:(id)sender{
// Check donation key
[Utility checkDonationKey:key.stringValue name:name.stringValue completion:^(int success) {
if (success == 1) {
[Utility showsheetmessage:NSLocalizedString(@"Registered",nil) explaination:NSLocalizedString(@"Thank you for donating. The donation reminder will no longer appear for every two weeks when MAL Sync is enabled.",nil) window:nil];
[Utility showsheetmessage:NSLocalizedString(@"Registered",nil) explaination:NSLocalizedString(@"Thank you for donating. The donation reminder will no longer appear and exclusive features are unlocked.",nil) window:nil];
// Add to the preferences
[[NSUserDefaults standardUserDefaults] setObject:name.stringValue forKey:@"donor"];
[[NSUserDefaults standardUserDefaults] setObject:key.stringValue forKey:@"donatekey"];
Expand Down
4 changes: 2 additions & 2 deletions Hachidori-Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>3.0-alpha4</string>
<string>3.0-alpha5</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>20180611</string>
<string>20180614</string>
<key>Fabric</key>
<dict>
<key>APIKey</key>
Expand Down
9 changes: 8 additions & 1 deletion Hachidori.m
Original file line number Diff line number Diff line change
Expand Up @@ -699,7 +699,14 @@ - (void)retrieveUserID:(void (^)(int userid, NSString *username, NSString *score
else {
scoreformat = ratingSimple;
}
completionHandler(((NSNumber *)d[@"id"]).intValue,d[@"attributes"][@"slug"], @(scoreformat).stringValue);
NSString *username = @"Unknown User";
if (d[@"attributes"][@"name"] != [NSNull null]) {
username = d[@"attributes"][@"name"];
}
else if (d[@"attributes"][@"slug"] != [NSNull null]) {
username = d[@"attributes"][@"slug"];
}
completionHandler(((NSNumber *)d[@"id"]).intValue,username, @(scoreformat).stringValue);
}
else {
completionHandler(-1,@"",@"");
Expand Down
8 changes: 8 additions & 0 deletions Hachidori.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,9 @@
91D1170520BCB4D7006E4271 /* Hachidori+AniListUpdate.m in Sources */ = {isa = PBXBuildFile; fileRef = 91D1170420BCB4D7006E4271 /* Hachidori+AniListUpdate.m */; };
91FA52091E79EC98002DF0AB /* AFNetworking.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 91041A671E79EC8000F268FE /* AFNetworking.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
F847DF312022575E005419BE /* AFNetworking.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 91041A671E79EC8000F268FE /* AFNetworking.framework */; };
F8531F1320D2A80700CE78D9 /* DonationCheck_KeyOnly.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F8531F1220D2A80700CE78D9 /* DonationCheck_KeyOnly.framework */; };
F8531F1420D2A84F00CE78D9 /* DonationCheck_KeyOnly.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F8531F1220D2A80700CE78D9 /* DonationCheck_KeyOnly.framework */; };
F8531F1520D2A84F00CE78D9 /* DonationCheck_KeyOnly.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = F8531F1220D2A80700CE78D9 /* DonationCheck_KeyOnly.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
F88D55DD20B3178D00DB84B9 /* AnimeRelations.m in Sources */ = {isa = PBXBuildFile; fileRef = F88D55DB20B3178C00DB84B9 /* AnimeRelations.m */; };
/* End PBXBuildFile section */

Expand Down Expand Up @@ -160,6 +163,7 @@
912859581E7B3033005E9A2B /* MASPreferences.framework in CopyFiles */,
2D621EC91F81436C003274F2 /* MSWeakTimer_macOS.framework in CopyFiles */,
9128595C1E7B35A3005E9A2B /* MASShortcut.framework in CopyFiles */,
F8531F1520D2A84F00CE78D9 /* DonationCheck_KeyOnly.framework in CopyFiles */,
9126068020BEEFAE0052CB30 /* TwitterManagerKit.framework in CopyFiles */,
2D621ECC1F8143EB003274F2 /* PingNotifier.framework in CopyFiles */,
59D5037C1CB016D90002532D /* Sparkle.framework in CopyFiles */,
Expand Down Expand Up @@ -436,6 +440,7 @@
91D1170120BCB4C8006E4271 /* Hachidori+KitsuUpdate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "Hachidori+KitsuUpdate.m"; sourceTree = "<group>"; };
91D1170320BCB4D7006E4271 /* Hachidori+AniListUpdate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Hachidori+AniListUpdate.h"; sourceTree = "<group>"; };
91D1170420BCB4D7006E4271 /* Hachidori+AniListUpdate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "Hachidori+AniListUpdate.m"; sourceTree = "<group>"; };
F8531F1220D2A80700CE78D9 /* DonationCheck_KeyOnly.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = DonationCheck_KeyOnly.framework; sourceTree = "<group>"; };
F88D55DA20B3121F00DB84B9 /* MAL_Updater_OS_X_DataModel 7.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MAL_Updater_OS_X_DataModel 7.xcdatamodel"; sourceTree = "<group>"; };
F88D55DB20B3178C00DB84B9 /* AnimeRelations.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AnimeRelations.m; sourceTree = "<group>"; };
F88D55DC20B3178D00DB84B9 /* AnimeRelations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnimeRelations.h; sourceTree = "<group>"; };
Expand All @@ -460,6 +465,7 @@
914AE2D21F113AD4009E43FC /* XMLReader.framework in Frameworks */,
2DF623D81EDB2C0900E9B7AD /* DetectionKit.framework in Frameworks */,
F847DF312022575E005419BE /* AFNetworking.framework in Frameworks */,
F8531F1420D2A84F00CE78D9 /* DonationCheck_KeyOnly.framework in Frameworks */,
9126066B20BEE0150052CB30 /* TorrentBrowser.framework in Frameworks */,
912859561E7B2F0E005E9A2B /* MASPreferences.framework in Frameworks */,
91CA043D1E901494006B0727 /* Fabric.framework in Frameworks */,
Expand All @@ -470,6 +476,7 @@
824693A719FD35AE00CFA12A /* Carbon.framework in Frameworks */,
8227C1141A1D89FB005F3301 /* anitomy-osx.framework in Frameworks */,
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
F8531F1320D2A80700CE78D9 /* DonationCheck_KeyOnly.framework in Frameworks */,
2DF623D31EDB27CA00E9B7AD /* Reachability.framework in Frameworks */,
9126066920BEDD900052CB30 /* TorrentBrowser.framework in Frameworks */,
9126067E20BEEFAC0052CB30 /* TwitterManagerKit.framework in Frameworks */,
Expand Down Expand Up @@ -559,6 +566,7 @@
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
isa = PBXGroup;
children = (
F8531F1220D2A80700CE78D9 /* DonationCheck_KeyOnly.framework */,
9126067D20BEEFAB0052CB30 /* TwitterManagerKit.framework */,
9126067920BEED8C0052CB30 /* DiscordRPC.framework */,
9126066820BEDD900052CB30 /* TorrentBrowser.framework */,
Expand Down
7 changes: 6 additions & 1 deletion Utility.m
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

#import "Utility.h"
#import <AFNetworking/AFNetworking.h>
#import <DonationCheck_KeyOnly/DonationKeyVerify.h>

@implementation Utility
+ (int)checkMatch:(NSString *)title
Expand Down Expand Up @@ -115,7 +116,11 @@ + (void)setReminderDate{
NSDate * reminderdate = [now dateByAddingTimeInterval:60*60*24*7];
[[NSUserDefaults standardUserDefaults] setObject:reminderdate forKey:@"donatereminderdate"];
}
+ (void)checkDonationKey:(NSString *)key name:(NSString *)name completion:(void (^)(int success)) completionHandler{
+ (void)checkDonationKey:(NSString *)key name:(NSString *)name completion:(void (^)(int success)) completionHandler {
if ([DonationKeyVerify checkHachidoriLicense:name withDonationKey:key]) {
completionHandler(1);
return;
}
AFHTTPSessionManager *manager = [self jsonmanager];
[manager POST:@"https://licensing.malupdaterosx.moe/check_hachidori.php" parameters:@{@"name" : name, @"key" : key} progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
int valid = ((NSNumber *)responseObject[@"valid"]).intValue;
Expand Down

0 comments on commit 52b77eb

Please sign in to comment.