2ab761bdb651eccb98de545d6c0a2aab1c93647c
[atutor.git] / mods / atsocial_iphone_app / Classes / CommonFunctions.m
1 //
2 //  CommonFunctions.m
3 //  ATutor
4 //
5 //  Created by Quang Anh Do on 30/05/2010.
6 //  Copyright 2010 Quang Anh Do. All rights reserved.
7 //
8
9 #import "CommonFunctions.h"
10
11 #import <SystemConfiguration/SystemConfiguration.h>
12 #import "SFHFKeychainUtils.h"
13
14 @implementation CommonFunctions
15
16 void alertMessage(NSString *title, NSString *message) {
17         UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:TTLocalizedString(title, @"")
18                                                                                                                 message:TTLocalizedString(message, @"")
19                                                                                                            delegate:nil cancelButtonTitle:TTLocalizedString(@"OK", @"") otherButtonTitles:nil];
20         [alertView show];       
21         [alertView release];
22 }
23
24 BOOL dataSourceAvailable() {
25         Boolean success;    
26         const char *host_name = "www.google.com";
27         
28         SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithName(NULL, host_name);
29         SCNetworkReachabilityFlags flags;
30         success = SCNetworkReachabilityGetFlags(reachability, &flags);
31         BOOL _isDataSourceAvailable = success && (flags & kSCNetworkFlagsReachable) && !(flags & kSCNetworkFlagsConnectionRequired);
32         CFRelease(reachability);
33         
34     return _isDataSourceAvailable;
35
36
37 NSString *applicationDocumentsDirectory() {
38         return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
39 }
40
41 BOOL isLoggedIn() {
42         return ![[SFHFKeychainUtils getPasswordForUsername:@"accessToken" andServiceName:kATutor error:nil] isEqualToString:@""] 
43         && ![[SFHFKeychainUtils getPasswordForUsername:@"requestToken" andServiceName:kATutor error:nil] isEqualToString:@""];
44 }
45
46 NSString *shortLinkToContact(int id) {
47         return [NSString stringWithFormat:@"atutor://contact/%d", id];
48 }
49
50 NSString *linkToContact(int id, NSString *name) {
51         return [NSString stringWithFormat:@"atutor://contact/%d/%@", id, [name stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
52 }
53
54 NSString *rewriteURLStrings(NSString *content) {
55         NSMutableString *retVal = [NSMutableString stringWithString:content];
56         
57         // Links to contacts
58         [retVal replaceOccurrencesOfString:[NSString stringWithFormat:@"%@/mods/_standard/social/sprofile.php?id=", kATutorURL] 
59                                                         withString:@"atutor://contact/"
60                                                            options:NSCaseInsensitiveSearch
61                                                                  range:NSMakeRange(0, [retVal length])];
62         
63         return retVal;
64 }
65
66 NSString *niceTimeString(NSString *timeString) {
67         NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
68         [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
69         
70         NSDate *date = [dateFormatter dateFromString:timeString];
71         [dateFormatter setDateStyle:NSDateFormatterShortStyle];
72         
73         return [dateFormatter stringFromDate:date];
74 }
75
76 @end