diff --git a/Files/AlbumViewController.m b/Files/AlbumViewController.m index 2edb90e..f9178a5 100755 --- a/Files/AlbumViewController.m +++ b/Files/AlbumViewController.m @@ -28,7 +28,6 @@ - (void)didReceiveMemoryWarning - (IBAction)refresh:(id)sender { - NSLog(@"Showing Refresh HUD"); refreshHUD = [[MBProgressHUD alloc] initWithView:self.view]; [self.view addSubview:refreshHUD]; @@ -162,7 +161,7 @@ - (IBAction)cameraButtonTapped:(id)sender else{ // Device has no camera - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Your device has no camera" delegate:self cancelButtonTitle:@"O.K" otherButtonTitles:nil, nil]; + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Your device has no camera" delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:nil, nil]; [alert show]; } } diff --git a/Files/Animal.m b/Files/Animal.m index 278ede0..a5b6592 100644 --- a/Files/Animal.m +++ b/Files/Animal.m @@ -8,7 +8,6 @@ #import "Animal.h" #import "Exhibit.h" -#import "JerusalemBiblicalZooAppDelegate.h" @implementation Animal @@ -56,7 +55,7 @@ +(BOOL)updateFromParseAnimalObject:(PFObject*)animal inContext:(NSManagedObjectC if ([availableKeys containsObject:key]) { [animalEntity setValue:animal[key] forKey:key]; } - if ([Helper isEnglish]) { + if (![Helper isRightToLeft]) { animalEntity.nameEn = animal[@"name"]; } animalEntity.createdAt = animal.createdAt; diff --git a/Files/AnimalAddPostView.m b/Files/AnimalAddPostView.m index 44b8088..53c605a 100644 --- a/Files/AnimalAddPostView.m +++ b/Files/AnimalAddPostView.m @@ -103,7 +103,7 @@ -(void)notifEditingEnd{ -(void)sendPost{ if (![self verifyPost]) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Post Attantion", nil) - message:NSLocalizedString(@"Post Missing Data Massege", nill) delegate:self cancelButtonTitle:NSLocalizedString(@"O.K", nil) otherButtonTitles:nil]; + message:NSLocalizedString(@"Post Missing Data Massege", nill) delegate:self cancelButtonTitle:NSLocalizedString(@"Dismiss", nil) otherButtonTitles:nil]; [alert show]; return; } @@ -117,10 +117,9 @@ -(void)sendPost{ NSString * userNameAndCity = [NSString stringWithFormat:@"%@, %@",self.userName.text,self.cityField.text]; userPost[@"user"] = userNameAndCity; userPost[@"animal_id"] = self.animal.objectId; - userPost[@"visible"] = @YES; + userPost[@"visible"] = @NO; - [userPost saveInBackground]; - //[userPost saveEventually]; + [userPost saveEventually]; [self.postView resignFirstResponder]; [self.cityField resignFirstResponder]; @@ -128,7 +127,7 @@ -(void)sendPost{ [self notifEditingEnd]; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Post Tanks", nil) - message:NSLocalizedString(@"Post Suscess Massege", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"O.K", nil) otherButtonTitles:nil]; + message:NSLocalizedString(@"Post Suscess Massege", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"Dismiss", nil) otherButtonTitles:nil]; [alert show]; } diff --git a/Files/AnimalAudioGuideView.m b/Files/AnimalAudioGuideView.m index 4f4505a..ab78e77 100644 --- a/Files/AnimalAudioGuideView.m +++ b/Files/AnimalAudioGuideView.m @@ -21,12 +21,10 @@ @implementation AnimalAudioGuideView -(void)initializePlayer{ NSString *fileName = [NSString stringWithFormat:@"%@_%@",animal.nameEn,[Helper isRightToLeft]?@"he":@"en"]; - NSLog(@"file name = %@",fileName); fileName = [[fileName stringByReplacingOccurrencesOfString:@" " withString:@"_"] lowercaseString]; NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:@"m4a"];//[path stringByAppendingPathComponent:@"lion.m4a"]; if([[NSFileManager defaultManager] fileExistsAtPath:path]){ - NSLog(@"path = %@",path); NSURL *fileUrl = [NSURL fileURLWithPath:path]; NSError *error; @@ -39,11 +37,8 @@ -(void)initializePlayer{ } else { //Make sure the system follows our playback status - [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; - [[AVAudioSession sharedInstance] setActive: YES error: nil]; - [[AVAudioSession sharedInstance] setDelegate:self]; + //Load the audio into memory - [self.player prepareToPlay]; label.text = @"Ready"; } }else{ @@ -62,47 +57,58 @@ - (id)initWithFrame:(CGRect)frame withAniaml:(Animal*)anAnimal UIButton *btn = [[UIButton alloc] init]; [btn setFrame:CGRectMake(self.bounds.size.width/2-70, 30, 140, 140)]; - btn.backgroundColor = UIColorFromRGB(0x5E939D); + btn.backgroundColor = UIColorFromRGB(0xC95000); btn.layer.cornerRadius = btn.bounds.size.width/2; btn.tag =kPlay; [btn addTarget:self action:@selector(btnPressed:) forControlEvents:UIControlEventTouchUpInside]; self.playButton = btn; [self addSubview:self.playButton]; + UIImageView *playImage = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"play.png"]]; + playImage.frame = CGRectMake(35, 30, 80, 80); + [self.playButton addSubview:playImage]; + btn = [[UIButton alloc] init]; [btn setFrame:CGRectMake(15, 70, 60, 60)]; btn.backgroundColor = UIColorFromRGB(0x3B2F24); - btn.layer.cornerRadius = btn.bounds.size.width/2; + btn.layer.cornerRadius = btn.bounds.size.width/2; btn.tag =kStop; [btn addTarget:self action:@selector(btnPressed:) forControlEvents:UIControlEventTouchUpInside]; - [self addSubview:btn]; + playImage = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"stop.png"]]; + playImage.frame = CGRectMake(15, 15, 30, 30); + [btn addSubview:playImage]; + btn = [[UIButton alloc] init]; [btn setFrame:CGRectMake(245, 70, 60, 60)]; - btn.backgroundColor = UIColorFromRGB(0x3B2F24); - btn.layer.cornerRadius = btn.bounds.size.width/2; + btn.backgroundColor = UIColorFromRGB(0x3B2F24); + btn.layer.cornerRadius = btn.bounds.size.width/2; btn.tag =kPause; [btn addTarget:self action:@selector(btnPressed:) forControlEvents:UIControlEventTouchUpInside]; - [self addSubview:btn]; + playImage = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"pouse.png"]]; + playImage.frame = CGRectMake(15, 15, 30, 30); + [btn addSubview:playImage]; self.progressSlider = [[UISlider alloc] initWithFrame:CGRectMake(40, 180, 240, 40)]; self.progressSlider.maximumValue =1; self.progressSlider.minimumValue =0; self.progressSlider.value = 0; self.progressSlider.thumbTintColor = UIColorFromRGB(0x48382E); - self.progressSlider.minimumTrackTintColor = UIColorFromRGB(0x5E939D); + self.progressSlider.minimumTrackTintColor = UIColorFromRGB(0xC95000); self.progressSlider.maximumTrackTintColor = UIColorFromRGB(0x3B2F24); [self.progressSlider addTarget:self action:@selector(sliderChanged:) forControlEvents:UIControlEventValueChanged]; [self addSubview: self.progressSlider]; - label = [[UILabel alloc] initWithFrame:CGRectMake(150, 0, 100, 50)]; + label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 25)]; + label.font = [UIFont fontWithName:@"Futura" size:14]; label.textAlignment = UITextAlignmentCenter; + label.textColor = UIColorFromRGB(0x3B2F24); label.backgroundColor = [UIColor clearColor]; [self addSubview:label]; - [self initializePlayer]; + } return self; @@ -120,8 +126,17 @@ -(void)togglePlayPause{ } } -(void)play{ + if (self.player==nil) { + [self initializePlayer]; + } + [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; + [[AVAudioSession sharedInstance] setActive: YES error: nil]; + [[AVAudioSession sharedInstance] setDelegate:self]; + [self.player prepareToPlay]; + [self.player play]; self.player.delegate = self; + label.text = @"Playing"; [self.playButton.layer addAnimation:[Animations pulseAnimation:1.05] forKey:@"pulse"]; sliderTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateSlider) userInfo:nil repeats:YES]; @@ -147,6 +162,8 @@ -(void)pause{ label.text = @"Paused"; } -(void)stop{ + [[AVAudioSession sharedInstance] setActive: NO error: nil]; + [[AVAudioSession sharedInstance] setDelegate:nil]; [self.player stop]; [self.player setCurrentTime:0]; [self.playButton.layer removeAllAnimations]; diff --git a/Files/AnimalDataScrollView.h b/Files/AnimalDataScrollView.h index ab389b3..9a8c69f 100644 --- a/Files/AnimalDataScrollView.h +++ b/Files/AnimalDataScrollView.h @@ -22,7 +22,7 @@ @property (nonatomic, weak) Animal *animal; @property (nonatomic, strong) AnimalAudioGuideView *audioGuide; @property (nonatomic, retain) AnimalPostView *postView; -- (id)initWithFrame:(CGRect)frame withAnimal:(Animal*)anAnimal; +- (id)initWithFrame:(CGRect)frame withAnimal:(Animal*)anAnimal withParentController:(AnimalViewController *)animalController; -(void)play; -(void)pause; -(void)stop; diff --git a/Files/AnimalDataScrollView.m b/Files/AnimalDataScrollView.m index 75869a3..30714f6 100644 --- a/Files/AnimalDataScrollView.m +++ b/Files/AnimalDataScrollView.m @@ -15,17 +15,20 @@ #import "AnimalViewController.h" #import "AnimalQuestionsTableView.h" #import "Exhibit.h" +#import "AnimalSpecificQuestionsTableView.h" + @implementation AnimalDataScrollView @synthesize animal; @synthesize audioGuide; @synthesize parentController; @synthesize postView; -- (id)initWithFrame:(CGRect)frame withAnimal:(Animal*)anAnimal +- (id)initWithFrame:(CGRect)frame withAnimal:(Animal*)anAnimal withParentController:(AnimalViewController *)animalController { self = [super initWithFrame:frame]; if (self) { + self.parentController = animalController; self.contentSize =CGSizeMake(320*6, IS_IPHONE_5? 240 : 226); @@ -53,14 +56,19 @@ - (id)initWithFrame:(CGRect)frame withAnimal:(Animal*)anAnimal [self addSubview:descriptionView]; + + //future feature /*****************************************/ - /*Zoo Description view*/ + /*AnimalSpecificQuestionsTableView view*/ /*****************************************/ - AnimalDescriptionWebView *zooDescriptionView = [[AnimalDescriptionWebView alloc] initWithFrame:CGRectMake(640, 0, 320, self.contentSize.height) withAnimal:anAnimal]; - [self addSubview:zooDescriptionView]; - + // AnimalDescriptionWebView *zooDescriptionView = [[AnimalDescriptionWebView alloc] initWithFrame:CGRectMake(640, 0, 320, self.contentSize.height) withAnimal:anAnimal]; + // [self addSubview:zooDescriptionView]; + AnimalSpecificQuestionsTableView *animalQuestionsView = [[AnimalSpecificQuestionsTableView alloc] initWithFrame:CGRectMake(640, 0, 320, self.contentSize.height) withAnimal:anAnimal withParentController:self.parentController]; + + [self addSubview:animalQuestionsView]; + /*****************************************/ /* map view*/ diff --git a/Files/AnimalDataTableView.m b/Files/AnimalDataTableView.m index c47b4ac..1714f32 100644 --- a/Files/AnimalDataTableView.m +++ b/Files/AnimalDataTableView.m @@ -83,17 +83,35 @@ - (void)drawRect:(CGRect)rect #pragma mark - Table view data source -(CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ - + NSString *key = tableViewdata[indexPath.row][0]; if (indexPath.row==1 && [animal.verse length]>0) { NSString *str = animal.verse; CGSize size = [str sizeWithFont:[UIFont fontWithName:@"Futura" size:18] constrainedToSize:CGSizeMake(300, 999) lineBreakMode:UILineBreakModeWordWrap]; NSLog(@"%f",size.height); - return size.height + 60; + return size.height + 40; // return 120; + }else if ([animal.diet length]>0 && [key isEqualToString:NSLocalizedString(@"Diet",nil)]){ + + NSString *str = animal.diet; + CGSize size = [str sizeWithFont:[UIFont fontWithName:@"Futura" size:18] constrainedToSize:CGSizeMake(300, 999) lineBreakMode:UILineBreakModeWordWrap]; + NSLog(@"%f",size.height); + return size.height + 40; + }else if ([animal.socialStructure length]>0 && [key isEqualToString:NSLocalizedString(@"Social Structure",nil)]){ + + NSString *str = animal.socialStructure; + CGSize size = [str sizeWithFont:[UIFont fontWithName:@"Futura" size:18] constrainedToSize:CGSizeMake(300, 999) lineBreakMode:UILineBreakModeWordWrap]; + NSLog(@"%f",size.height); + return size.height + 40; + }else if ([animal.habitat length]>0 && [key isEqualToString:NSLocalizedString(@"Habitat",nil)]){ + + NSString *str = animal.habitat; + CGSize size = [str sizeWithFont:[UIFont fontWithName:@"Futura" size:18] constrainedToSize:CGSizeMake(300, 999) lineBreakMode:UILineBreakModeWordWrap]; + NSLog(@"%f",size.height); + return size.height + 40; } - return 60; + return 70; } - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView diff --git a/Files/AnimalDataTableViewCell.m b/Files/AnimalDataTableViewCell.m index efecdb3..a2bd000 100644 --- a/Files/AnimalDataTableViewCell.m +++ b/Files/AnimalDataTableViewCell.m @@ -68,7 +68,6 @@ - (void)drawRect:(CGRect)rect - (void)layoutSubviews { [super layoutSubviews]; - if ([[Helper currentLang] isEqualToString:@"en"]) { self.labelView.frame = CGRectMake(10,6,CGRectGetWidth(self.frame)-10,CGRectGetHeight(self.frame)/4); self.detailLableView.frame = CGRectMake(10,CGRectGetMaxY(self.labelView.frame),CGRectGetWidth(self.frame)-10,CGRectGetHeight(self.labelView.frame)*3);; diff --git a/Files/AnimalPostView.m b/Files/AnimalPostView.m index b82bb2b..9cdfc4d 100644 --- a/Files/AnimalPostView.m +++ b/Files/AnimalPostView.m @@ -7,10 +7,8 @@ // #import "AnimalPostView.h" -#import "Animal.h" #import "AnimalUserPostsViewer.h" -#import -#import "AnimalAddPostView.h" + @implementation AnimalPostView @synthesize viewPosts; @@ -37,7 +35,7 @@ - (id)initWithFrame:(CGRect)frame withAnimal:(Animal*)anAnimal buttonsBackgroundView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)]; - buttonsBackgroundView.backgroundColor = UIColorFromRGB(0x3B2F24); + buttonsBackgroundView.backgroundColor = UIColorFromRGB(0xC95000); [self addSubview:buttonsBackgroundView]; @@ -87,7 +85,7 @@ - (id)initWithFrame:(CGRect)frame withAnimal:(Animal*)anAnimal postExplainLabel.backgroundColor = [UIColor clearColor]; postExplainLabel.textColor = UIColorFromRGB(0x281502); postExplainLabel.editable = NO; - if(![Helper isRightToLeft]) { + if([Helper isRightToLeft]) { postExplainLabel.font = [UIFont fontWithName:@"ArialHebrew" size:14]; }else{ postExplainLabel.font = [UIFont fontWithName:@"Futura" size:14]; @@ -158,7 +156,7 @@ -(void)getPosts:(BOOL)fromButton{ initWithTitle:NSLocalizedString(@"No Posts For Animal",nil) message:NSLocalizedString(@"Be the first to add an interesting fact, joke, song. any thing that might interest other visitors.",nil) delegate:nil - cancelButtonTitle:NSLocalizedString(@"okay",nil) + cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) otherButtonTitles:nil]; [alert show]; } @@ -177,9 +175,9 @@ -(void)getPosts:(BOOL)fromButton{ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"No Internet Connection",nil) - message:NSLocalizedString(@"If you don't have intenrt services you can find an Internet acsses in the enternce to the zoo",nil) + message:NSLocalizedString(@"No Internet alert body",nil) delegate:nil - cancelButtonTitle:NSLocalizedString(@"okay",nil) + cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) otherButtonTitles:nil]; [alert show]; } diff --git a/Files/AnimalQuestionAnswerViewController.m b/Files/AnimalQuestionAnswerViewController.m index 9167db3..e261919 100644 --- a/Files/AnimalQuestionAnswerViewController.m +++ b/Files/AnimalQuestionAnswerViewController.m @@ -21,21 +21,26 @@ - (void)viewDidLoad { [super viewDidLoad]; NSString *directionalString; - NSString *quest = self.questionObject[@"question"]; - if(quest != nil){ + NSString *key = [Helper isRightToLeft]? @"question":@"question_en"; + NSString *quest = self.questionObject[key]; + if(quest != nil && [Helper isRightToLeft]){ directionalString = [@"\u200F" stringByAppendingString:quest]; - }else{ + }else if([Helper isRightToLeft]){ directionalString=@""; + }else{ + directionalString=quest; } - + [self.questionLabel setText:directionalString]; - - NSString *answer = self.questionObject[@"answer"]; - if(answer != nil){ + key = [Helper isRightToLeft]? @"answer":@"answer_en"; + NSString *answer = self.questionObject[key]; + if(answer != nil && [Helper isRightToLeft]){ directionalString = [@"\u200F" stringByAppendingString:answer]; - }else{ + }else if([Helper isRightToLeft]){ directionalString=@""; + }else{ + directionalString=quest; } self.answerTextView.text = directionalString; // Do any additional setup after loading the view from its nib. diff --git a/Files/AnimalQuestionsCell.m b/Files/AnimalQuestionsCell.m index be6997d..bc3dd9e 100644 --- a/Files/AnimalQuestionsCell.m +++ b/Files/AnimalQuestionsCell.m @@ -58,12 +58,12 @@ - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reus - (void)layoutSubviews { [super layoutSubviews]; if (![Helper isRightToLeft]) { - CGRect rect = CGRectMake(10,(self.bounds.size.height-86)/2, 86, 86); + CGRect rect = CGRectMake(10,(self.bounds.size.height-60)/2, 60, 60); self.imageView.frame = rect; - rect = CGRectMake(rect.size.width+20,CGRectGetHeight(self.bounds)*0.1,CGRectGetWidth(self.bounds)*0.5,CGRectGetHeight(self.bounds)*0.4); + rect = CGRectMake(rect.size.width+20,5,240,70); labelView.frame = rect; - rect.origin.y = rect.origin.y+ CGRectGetHeight(self.bounds)*0.3; - rect.size.height = CGRectGetHeight(self.bounds)*0.5; + rect.origin.y = rect.origin.y+ 70; + rect.size.height = 20; detailLableView.textAlignment= UITextAlignmentLeft; labelView.textAlignment= UITextAlignmentLeft; detailLableView.frame = rect; @@ -108,9 +108,9 @@ -(void)setQuestion:(PFObject *)aQuestion atIndex:(NSInteger)cellIndex{ [gradientLayer_ setContentsScale:[[UIScreen mainScreen] scale]]; gradientLayer_.colors =@[cellColors[index], cellColors[index++]]; - - NSLog(@"question = %@",questionObject[@"question"]); - NSString *title = questionObject[@"question"]; + + NSString *key = [Helper isRightToLeft]? @"question":@"question_en"; + NSString *title = questionObject[key]; NSString *subtitle = questionObject[@"user_name"]; self.labelView.text = title; diff --git a/Files/AnimalQuestionsTableView.m b/Files/AnimalQuestionsTableView.m index 3e2a288..3e644b4 100644 --- a/Files/AnimalQuestionsTableView.m +++ b/Files/AnimalQuestionsTableView.m @@ -5,9 +5,7 @@ // Created by shani hajbi on 12/21/12. // -#import #import "AnimalQuestionsTableView.h" -#import #import "AnimalQuestionsCell.h" #import "Reachability.h" #import "AnimalQuestionAnswerViewController.h" @@ -53,14 +51,29 @@ -(void)refreshObjects{ }else{ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"No Internet Connection",nil) - message:NSLocalizedString(@"If you don't have intenrt services you can find an Internet acsses in the enternce to the zoo",nil) + message:NSLocalizedString(@"No Internet alert body",nil) delegate:nil - cancelButtonTitle:NSLocalizedString(@"okay",nil) + cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) otherButtonTitles:nil]; [alert show]; } } +- (PFQuery *)queryForTable { + PFQuery *query = [PFQuery queryWithClassName:self.className]; + + // If no objects are loaded in memory, we look to the cache first to fill the table + // and then subsequently do a query against the network. + if (self.objects.count == 0) { + query.cachePolicy = kPFCachePolicyCacheThenNetwork; + } + + [query orderByDescending:@"createdAt"]; + NSString *key = [Helper isRightToLeft]? @"visible":@"visible_en"; + [query whereKey:key equalTo:@YES]; + + return query; +} #pragma mark - View lifecycle @@ -155,18 +168,19 @@ -(BOOL)verifyPost{ -(void)sendQuestion{ if (![self verifyPost]) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Post Attantion", nil) - message:NSLocalizedString(@"Post Missing Data Massege", nill) delegate:self cancelButtonTitle:NSLocalizedString(@"O.K", nil) otherButtonTitles:nil]; + message:NSLocalizedString(@"Post Missing Data Massege", nill) delegate:self cancelButtonTitle:NSLocalizedString(@"Dismiss", nil) otherButtonTitles:nil]; [alert show]; return; } // Create the object. PFObject *userQuestion = [PFObject objectWithClassName:@"AnimalQuestions"]; - userQuestion[@"question"] = self.textView.text; + NSString *key = [Helper isRightToLeft]?@"question":@"question_en"; + userQuestion[key] = self.textView.text; NSString * userNameAndCity = [NSString stringWithFormat:@"%@, %@",self.nameTF.text,self.cityTF.text]; userQuestion[@"user_name"] = userNameAndCity; - userQuestion[@"visible"] = @YES; + userQuestion[@"visible"] = @NO; [userQuestion saveEventually]; @@ -179,7 +193,7 @@ -(void)sendQuestion{ [self resignKeyboard]; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Question Tanks", nil) - message:NSLocalizedString(@"Question Suscess Massege", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"O.K", nil) otherButtonTitles:nil]; + message:NSLocalizedString(@"Question Suscess Massege", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"Dismiss", nil) otherButtonTitles:nil]; [alert show]; } -(void)toggleQuestionFromView{ @@ -271,18 +285,6 @@ - (void)objectsWillLoad { [refreshHUD show:YES]; // This method is called before a PFQuery is fired to get more objects } -// Override to customize what kind of query to perform on the class. The default is to query for -// all objects ordered by createdAt descending. -- (PFQuery *)queryForTable { - PFQuery *query = [PFQuery queryWithClassName:self.className]; - - if (self.objects.count == 0) { - query.cachePolicy = kPFCachePolicyCacheThenNetwork; - } - [query orderByDescending:@"createdAt"]; - - return query; -} /* - (void)configureCell:(AnimalQuestionsCell *)cell atIndexPath:(NSIndexPath *)indexPath { @@ -334,9 +336,9 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"No Internet Connection",nil) - message:NSLocalizedString(@"If you don't have intenrt services you can find an Internet acsses in the enternce to the zoo",nil) + message:NSLocalizedString(@"No Internet alert body",nil) delegate:nil - cancelButtonTitle:NSLocalizedString(@"okay",nil) + cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) otherButtonTitles:nil]; [alert show]; return; diff --git a/Files/AnimalSpecificQuestionsTableView.h b/Files/AnimalSpecificQuestionsTableView.h new file mode 100644 index 0000000..ddcf662 --- /dev/null +++ b/Files/AnimalSpecificQuestionsTableView.h @@ -0,0 +1,22 @@ +// +// AnimalSpecificQuestionsTableView.h +// JerusalemBiblicalZoo +// +// Created by shani hajbi on 1/20/13. +// +// + +#import +#import "AnimalViewController.h" + +@interface AnimalSpecificQuestionsTableView : UIView{ + MBProgressHUD *refreshHUD; +} + +@property (nonatomic,assign) Animal *animal; +@property (nonatomic,strong) NSArray *tableViewdata; +@property (nonatomic, strong) AnimalViewController *parentController; +- (id)initWithFrame:(CGRect)frame withAnimal:(Animal*)anAnimal withParentController:(AnimalViewController*)animalController; + + +@end diff --git a/Files/AnimalSpecificQuestionsTableView.m b/Files/AnimalSpecificQuestionsTableView.m new file mode 100644 index 0000000..4a51adb --- /dev/null +++ b/Files/AnimalSpecificQuestionsTableView.m @@ -0,0 +1,193 @@ +// +// AnimalSpecificQuestionsTableView.m +// JerusalemBiblicalZoo +// +// Created by shani hajbi on 1/20/13. +// +// + +#import "AnimalSpecificQuestionsTableView.h" +#import "AnimalQuestionsCell.h" +#import "AnimalQuestionAnswerViewController.h" +#import "AnimalViewController.h" + +@implementation AnimalSpecificQuestionsTableView +@synthesize animal; +@synthesize tableViewdata; +@synthesize parentController; + +- (id)initWithFrame:(CGRect)frame withAnimal:(Animal*)anAnimal withParentController:(AnimalViewController*)animalController +{ + self = [super initWithFrame:frame]; + if (self) { + refreshHUD = [[MBProgressHUD alloc]initWithView:self]; + refreshHUD.delegate = self; + [refreshHUD show:YES]; + + self.parentController = animalController; + //add atable view for the animal descrption + UITableView *dataTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 240) style:UITableViewStylePlain]; + dataTableView.delegate=self; + dataTableView.dataSource = self; + dataTableView.backgroundColor = UIColorFromRGB(0xf8eddf); + dataTableView.rowHeight = 100; + dataTableView.separatorStyle = UITableViewCellSeparatorStyleNone; + [dataTableView setCanCancelContentTouches:YES]; + [self addSubview:dataTableView]; + + self.animal = anAnimal; + self.tableViewdata = [NSArray array]; + PFQuery *query = [PFQuery queryWithClassName:@"AnimalQuestions"]; + query.cachePolicy = kPFCachePolicyCacheThenNetwork; + [query whereKey:@"animal_en_name" equalTo:anAnimal.nameEn]; + NSString * key = [Helper isRightToLeft]?@"visible":@"visible_en"; + [query whereKey:key equalTo:@YES]; + [query orderByDescending:@"createdAt"]; + [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { + if (!error) { + // The find succeeded. + self.tableViewdata = objects; + if ([self.tableViewdata count]==0) { + [self indicateNoQuestionsForTableView:dataTableView forNoQuestions:YES]; + }else{ + [self indicateNoQuestionsForTableView:dataTableView forNoQuestions:NO]; + } + [dataTableView reloadData]; + [refreshHUD hide:YES]; + } else { + // Log details of the failure + NSLog(@"Error: %@ %@", error, [error userInfo]); + } + }]; + + + } + return self; +} + +-(void)indicateNoQuestionsForTableView:(UITableView*)table forNoQuestions:(BOOL)noQuestions{ + CGRect labelRect; + CGRect iconRect; + CGRect secondRect; + UIFont * font; + UIFont *secondFont; + UITextAlignment textAlign; + CGFloat height = noQuestions? 100:50; + if ([Helper isRightToLeft]) { + labelRect = CGRectMake(0, 0, 320, 50); + secondRect = CGRectMake(20, 45, 280, 40); + iconRect = CGRectMake(265, 10, 30, 30); + font = [UIFont fontWithName:@"ArialHebrew-Bold" size:20]; + secondFont = [UIFont fontWithName:@"ArialHebrew" size:14]; + textAlign = UITextAlignmentCenter; + }else{ + labelRect = CGRectMake(0, 0, 320, 50); + secondRect = CGRectMake(20, 45, 280, 40); + iconRect = CGRectMake(25, 10, 30, 30); + font = [UIFont fontWithName:@"Futura" size:20]; + secondFont = [UIFont fontWithName:@"Futura" size:14]; + textAlign = UITextAlignmentCenter; + } + UIView * headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, height)]; + headerView.backgroundColor = [UIColor whiteColor]; + UIButton * headerButton = [UIButton buttonWithType:UIButtonTypeCustom]; + headerButton.frame = CGRectMake(0, 0, 320, 60); + + UIImageView *headerButtonIconView = [[UIImageView alloc] initWithFrame:iconRect]; + + UILabel * headerButtonLabel = [[UILabel alloc] initWithFrame:labelRect]; + headerButtonLabel.backgroundColor = [UIColor clearColor]; + headerButtonLabel.textColor = [UIColor whiteColor]; + headerButtonLabel.font= font; + + headerButtonLabel.textAlignment = textAlign; + UILabel * headerButtonLabel2; + if (noQuestions) { + + headerButtonLabel2 = [[UILabel alloc] initWithFrame:secondRect]; + headerButtonLabel2.backgroundColor = [UIColor clearColor]; + headerButtonLabel2.textColor = [UIColor whiteColor]; + headerButtonLabel2.lineBreakMode = NSLineBreakByWordWrapping; + headerButtonLabel2.font= secondFont; + headerButtonLabel2.numberOfLines=2; + headerButtonLabel2.textAlignment = UITextAlignmentCenter; + [headerButton addSubview:headerButtonLabel2]; + + } + [headerButton addSubview:headerButtonLabel]; + [headerButton addSubview:headerButtonIconView]; + [headerView addSubview:headerButton]; + + headerView.backgroundColor = UIColorFromRGB(0xC95000); + [headerButton addTarget:self action:@selector(goToQuestions) forControlEvents:UIControlEventTouchUpInside]; + [headerButtonIconView setImage:[UIImage imageNamed:@"248-QuestionCircleAlt_2.png"]]; + headerButtonLabel.text = NSLocalizedString(@"Ask a question",nil); + headerButtonLabel2.text = NSLocalizedString(@"No questions alert body",nil); + table.tableHeaderView = headerView; +} + +-(void)goToQuestions{ + self.parentController.navigationController.tabBarController.selectedIndex =4; +} +#pragma mark - +#pragma mark - Table view data source + +-(CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ + + return 100; +} + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + // Return the number of sections. + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + // Return the number of rows in the section. + return [tableViewdata count]; +} + + + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + static NSString *CellIdentifier = @"Cell"; + + + AnimalQuestionsCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; + if (!cell) { + cell = [[AnimalQuestionsCell alloc] initWithStyle:UITableViewCellStyleSubtitle + reuseIdentifier:CellIdentifier]; + } + PFObject *object = [self.tableViewdata objectAtIndex:indexPath.row]; + [cell setQuestion:object atIndex:indexPath.row]; + + + return cell; +} + +#pragma mark - Table view delegate + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath +{ + PFObject *questionObject = (self.tableViewdata)[indexPath.row]; + AnimalQuestionAnswerViewController * answerController = [[AnimalQuestionAnswerViewController alloc] initWithNibName:@"AnimalQuestionAnswerViewController" bundle:nil]; + answerController.questionObject = questionObject; + [self.parentController.navigationController setNavigationBarHidden:NO animated:NO]; + self.parentController.navigationController.navigationBar.translucent =NO; + [self.parentController.navigationController pushViewController:answerController animated:YES]; + +} + +#pragma mark - +#pragma mark MBProgressHUDDelegate methods + +- (void)hudWasHidden:(MBProgressHUD *)hud { + // Remove HUD from screen when the HUD hides + [hud removeFromSuperview]; + hud = nil; +} + +@end diff --git a/Files/AnimalUserPostsViewer.m b/Files/AnimalUserPostsViewer.m index bb164e9..91d7de0 100644 --- a/Files/AnimalUserPostsViewer.m +++ b/Files/AnimalUserPostsViewer.m @@ -7,7 +7,6 @@ // #import "AnimalUserPostsViewer.h" -#import @implementation AnimalUserPostsViewer @synthesize postLabel; diff --git a/Files/AnimalViewController.m b/Files/AnimalViewController.m index 31525be..7bbf11e 100644 --- a/Files/AnimalViewController.m +++ b/Files/AnimalViewController.m @@ -13,9 +13,10 @@ #import "AnimalViewToolbar.h" #import "TPKeyboardAvoidingScrollView.h" #import "Exhibit.h" +#import "AnimalQuestionsCell.h" + #define kDataTable 0 #define kGeneralDescription 1 -//#define kZooDescription 2 #define kMap 2 #define kAudioGuide 3 #define kPosts 4 @@ -56,10 +57,17 @@ - (id)init{ name:@"PostEditingEnded" object:nil]; + UIBarButtonItem *mapButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"088-Map_white.png"] style:UIBarButtonItemStyleDone target:self action:@selector(showOnMap)]; + + self.navigationItem.rightBarButtonItem = mapButton; + } return self; } +-(void)showOnMap{ + [Helper setCurrentExhibit:self.animal.exhibit]; +} - (void)toggleFullscreen { if(!IS_IPHONE_5){ @@ -77,7 +85,12 @@ - (void)toggleFullscreen { - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; + if(!IS_IPHONE_5){ + self.navigationController.navigationBar.translucent =YES; + [self.navigationController setNavigationBarHidden:YES animated:YES]; + } [self performSelector:@selector(toggleFullscreen) withObject:nil afterDelay:.5]; + //Once the view has loaded then we can register o begin recieving controls and we can become the first responder [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; [self becomeFirstResponder]; @@ -160,15 +173,14 @@ - (void)viewDidLoad [scroolKeyboardView addSubview:imagesScrollView]; if(IS_IPHONE_5){ - self.animalDataScrollView = [[AnimalDataScrollView alloc] initWithFrame:CGRectMake(0, 218, 320, 240) withAnimal:self.animal]; + self.animalDataScrollView = [[AnimalDataScrollView alloc] initWithFrame:CGRectMake(0, 218, 320, 240) withAnimal:self.animal withParentController:self]; }else{ - self.animalDataScrollView = [[AnimalDataScrollView alloc] initWithFrame:CGRectMake(0, 210, 320, 220) withAnimal:self.animal]; + self.animalDataScrollView = [[AnimalDataScrollView alloc] initWithFrame:CGRectMake(0, 210, 320, 220) withAnimal:self.animal withParentController:self]; } self.animalDataScrollView.scrollsToTop = NO; self.animalDataScrollView.scrollEnabled =NO; self.animalDataScrollView.delegate = self; - self.animalDataScrollView.parentController = self; [scroolKeyboardView addSubview:animalDataScrollView]; @@ -192,6 +204,7 @@ - (void)viewDidLoad } + - (void) receivePostEditingNotification:(NSNotification *) notification { if ([[notification name] isEqualToString:@"PostEditingStarted"]){ @@ -205,7 +218,7 @@ - (void) receivePostEditingNotification:(NSNotification *) notification -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ - if ([[touch.view superclass] isSubclassOfClass:[UIControl class]] || !toolbarEnabeld) { + if ([[touch.view superclass] isSubclassOfClass:[UIControl class]] || !toolbarEnabeld || [touch.view.superview isKindOfClass:[AnimalQuestionsCell class]]) { return NO; } return YES; @@ -214,8 +227,7 @@ - (void)viewDidUnload { [super viewDidUnload]; [[NSNotificationCenter defaultCenter] removeObserver:self]; - // Release any retained subviews of the main view. - // e.g. self.myOutlet = nil; + } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation diff --git a/Files/AnimalViewToolbar.m b/Files/AnimalViewToolbar.m index b055cc1..eb0c79b 100644 --- a/Files/AnimalViewToolbar.m +++ b/Files/AnimalViewToolbar.m @@ -11,7 +11,7 @@ #define kDataTable 0 #define kGeneralDescription 1 -#define kZooDescription 2 +#define kQuestions 2 #define kMap 3 #define kPosts 4 #define kAudioGuide 5 @@ -43,17 +43,13 @@ - (id)initWithFrame:(CGRect)frame withAudioGuide:(BOOL)hasAudioGuide withDisTrib [buttonsArray addObject:flexItem]; - - - - - if (hasZooDescription) { - btn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"zoodes"] style:UIBarButtonItemStylePlain target:self action:@selector(buttonTapped:)]; - btn.tag = kZooDescription; + + btn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"248-QuestionCircleAlt"] style:UIBarButtonItemStylePlain target:self action:@selector(buttonTapped:)]; + btn.tag = kQuestions; [buttonsArray addObject:btn]; [buttonsArray addObject:flexItem]; - } + if(hasMap){ btn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"dis_map"] style:UIBarButtonItemStylePlain target:self action:@selector(buttonTapped:)]; diff --git a/Files/AnimalsImagesScrollView.m b/Files/AnimalsImagesScrollView.m index dfe5173..a92cb45 100644 --- a/Files/AnimalsImagesScrollView.m +++ b/Files/AnimalsImagesScrollView.m @@ -7,8 +7,7 @@ // #import "AnimalsImagesScrollView.h" -#import "OMPageControl.h" -#import "Animal.h" + @implementation AnimalsImagesScrollView @dynamic animal; @synthesize scrollView; @@ -22,9 +21,7 @@ - (id)initWithFrame:(CGRect)frame withAnimal:(Animal*)anAnimal /* sets the images*/ /*****************************************/ ////load the images of the animal to the scroll view - NSLog(@"animal =%@",anAnimal.nameEn); NSArray *images = [NSArray arrayWithArray:[anAnimal images]]; - NSLog(@"images = %@",images); self.scrollView = [[UIScrollView alloc] initWithFrame:self.bounds]; self.scrollView.contentSize =CGSizeMake(320*[images count], 190); self.scrollView.scrollEnabled=YES; diff --git a/Files/Animations.m b/Files/Animations.m index 7c44fb1..eac43f4 100644 --- a/Files/Animations.m +++ b/Files/Animations.m @@ -7,7 +7,6 @@ // #import "Animations.h" -#import @implementation Animations diff --git a/Files/BugSense-iOS.framework/BugSense-iOS b/Files/BugSense-iOS.framework/BugSense-iOS new file mode 120000 index 0000000..dba38ab --- /dev/null +++ b/Files/BugSense-iOS.framework/BugSense-iOS @@ -0,0 +1 @@ +Versions/Current/BugSense-iOS \ No newline at end of file diff --git a/Files/BugSense-iOS.framework/Headers b/Files/BugSense-iOS.framework/Headers new file mode 120000 index 0000000..a177d2a --- /dev/null +++ b/Files/BugSense-iOS.framework/Headers @@ -0,0 +1 @@ +Versions/Current/Headers \ No newline at end of file diff --git a/Files/BugSense-iOS.framework/Resources b/Files/BugSense-iOS.framework/Resources new file mode 120000 index 0000000..953ee36 --- /dev/null +++ b/Files/BugSense-iOS.framework/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/Files/BugSense-iOS.framework/Versions/A/BugSense-iOS b/Files/BugSense-iOS.framework/Versions/A/BugSense-iOS new file mode 100644 index 0000000..ffa89f0 Binary files /dev/null and b/Files/BugSense-iOS.framework/Versions/A/BugSense-iOS differ diff --git a/Files/BugSense-iOS.framework/Versions/A/Headers/BugSenseController.h b/Files/BugSense-iOS.framework/Versions/A/Headers/BugSenseController.h new file mode 100644 index 0000000..4da5d4b --- /dev/null +++ b/Files/BugSense-iOS.framework/Versions/A/Headers/BugSenseController.h @@ -0,0 +1,208 @@ +/* + + BugSenseController.h + BugSense-iOS + + Copyright (c) 2012 BugSense Inc. + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following + conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + Author: Nick Toumpelis, nick@bugsense.com + Author: John Lianeris, jl@bugsense.com + + */ + +/** + The [BugSenseController](BugSenseController) class provides a centralized point of access to BugSense's + reporting facilities. + + Every application can have exactly one instance of BugSenseController. This instance should be created at the + start of the application's lifecycle; typically application:didFinishLaunchingWithOptions:. + This instance can only be created using one of the parameter-taking sharedControllerWith... constructors. Thereafter, you + can access this instance using the sharedController method. + + The main role of the controller is to send crash reports to the BugSense service. These are sent either immediately + after the crash, or on relaunch. Typically, crashes are reported with partially symbolicated stack traces, that contain + the function/method names and program counter offsets. Fully symbolicated stack traces would included the file and + line for each call in the stack, but obviously this is impossible to take place on the device. Typically, information + of this kind is recorded in the dSYM bundle (DWARF) during the archiving process (Xcode). If the dSYM is uploaded in the + user's dashboard, and the plugin is configured to not symbolicate stack traces on the device, it will be fully + symbolicated on the server (depending on the user's subscription plan). + + The controller also provides a facility for informing users of updates for the crashing apps. This can be enabled by + the developer, through the [BugSense Dashboard](http://bugsense.com/). The controller also provides a facility for + logging exceptions with tags. + + Priority is given to the proper execution/crashing of the app, hence, no guarantee is given that all crashes will be + reported accurately and at all times. Experience has shown that, meddling with the crashing process may result to all + kinds of errors and data corruption. We avoid this by not meddling too much with the app itself. + + Immediate dispatch for apps that are live on the App Store is discouraged; immediate dispatch is not 100% safe. This is + because it takes place inside the signal handler and it's not async-safe. Immediate dispatch is recommended for beta + testing only. + */ + +#define BUGSENSE_LOG(__EXCEPTION, __EXTRADATA) [BugSenseController logException:__EXCEPTION withExtraData:__EXTRADATA]; + +OBJC_EXPORT @interface BugSenseController : NSObject + +/** @name Creating a shared controller instance */ + +/** + Creates and returns a singleton crash controller instance with the given API key. If a singleton has already been + created, this method has no effect. + + @param APIKey The BugSense API key + + @return A new singleton crash controller with the given API key, or an existing controller with no changes to it (has + the API key of its original call). + */ ++ (BugSenseController *) sharedControllerWithBugSenseAPIKey:(NSString *)APIKey; + +/** + Creates and returns a singleton crash controller instance with the given API key and user dictionary. If a singleton + has already been created, this method has no effect. + + @param APIKey The BugSense API key + + @param userDictionary A dictionary containing custom, user-defined data. + + @return A new singleton crash controller with the given values, or an existing controller with no changes to it (has + the values of its original call). + */ ++ (BugSenseController *) sharedControllerWithBugSenseAPIKey:(NSString *)APIKey + userDictionary:(NSDictionary *)userDictionary; + +/** + Creates and returns a singleton crash controller instance with the given API key, user dictionary and option whether to + send crash reports immediately or not. If a singleton has already been created, this method has no effect. + + @warning This is the designated initializer. + + @param APIKey The BugSense API key + + @param userDictionary A dictionary containing custom, user-defined data. + + @param immediately A value indicating whether the reports should be sent immediately to the service (if YES) or + on relaunch (if NO). + + @return A new singleton crash controller with the given values, or an existing controller with no changes to it (has + the values of its original call). + */ ++ (BugSenseController *) sharedControllerWithBugSenseAPIKey:(NSString *)APIKey + userDictionary:(NSDictionary *)userDictionary + sendImmediately:(BOOL)immediately; + +/** @name Getting the shared controller instance */ + +/** + Returns the singleton crash controller instance. + + @warning This method cannot be used to create a new instance. It can only be used to refer to an existing singleton + crash controller instance, in conjunction with any of the instance methods specified for this class. + + @return The existing singleton crash controller instance or nil, if none was found. + */ ++ (BugSenseController *) sharedController; + +/** @name Advanced Options */ + +/** + Configures the plugin to use an alternate url endpoint, mainly for users in China and other countries where the IPs that BugSense normally uses are blocked. + + @param flag A boolean specifying if the alternate url endpoint should be enabled or not. + */ ++ (void) setUsesProxy:(BOOL)flag; + +/** + Configures the log messages line count to be sent along with crashes. + + @param count An unsigned long specifying the maximum lines that should be saved. + + */ ++ (void) setLogMessagesCount:(unsigned long)count; + +/** + Configures the log messages logging level to be sent along with crashes. + + @param level An unsigned long specifying the level of the log messages that are saved. + + */ ++ (void) setLogMessagesLevel:(unsigned long)level; + +/** + Forces the plugin to show a predefined fix notification to the user. + + @param title The title of the fix notification to be shown. + + @param message The message of the fix notification to be shown. + + */ ++ (void) setFixNotificationsTitle:(NSString *)title message:(NSString *)message; + +/** @name Logging exceptions */ + +/** + Logs a given exception to the service asynchronously, reports its stacktrace and adds extra data as defined by the developer. + + @param exception The exception to log. + + @param extraData A dictionary containing extra data to be sent along with the exception. + + @return A boolean indicating whether the method completed successfully. This doesn't necessarily mean that the + exception was logged successfully on the server, only that exception data was generated appropriately and that an + attempt to send them was made. + */ ++ (BOOL) logException:(NSException *)exception withExtraData:(NSDictionary *)extraData; + +/** @name Breadcrumbs */ + +/** + Appends a new breadcrumb to the current breadcrumb trail, allowing you to keep track of the user's path in the application. These are transmitted along with crash reports. + + @param breadcrumb A string describing the user's location. + + @return A boolean indicating whether the breadcrumb was successfully saved on the device. + +*/ + ++ (BOOL) leaveBreadcrumb:(NSString *)breadcrumb; + +/** @name Quality Metrics */ + +/** + Sends an event, usually after the user has done an action in the application. + + @param tag A tag describing the event. Maximum length is 256 characters. + + @return A boolean indicating whether the event was generated successfully. It doesn't necessarily mean that it was sent and received successfully by the server. + + */ + ++ (BOOL) sendCustomEventWithTag:(NSString *)tag; + ++ (NSString *)apiKey; ++ (NSString *)endpointURL; + ++ (BOOL) usesProxy; + +@end diff --git a/Files/BugSense-iOS.framework/Versions/A/Resources/AppledocSettings.plist b/Files/BugSense-iOS.framework/Versions/A/Resources/AppledocSettings.plist new file mode 100644 index 0000000..42a97a7 Binary files /dev/null and b/Files/BugSense-iOS.framework/Versions/A/Resources/AppledocSettings.plist differ diff --git a/Files/BugSense-iOS.framework/Versions/A/Resources/Info.plist b/Files/BugSense-iOS.framework/Versions/A/Resources/Info.plist new file mode 100644 index 0000000..e49f2b4 Binary files /dev/null and b/Files/BugSense-iOS.framework/Versions/A/Resources/Info.plist differ diff --git a/Files/BugSense-iOS.framework/Versions/A/Resources/en.lproj/InfoPlist.strings b/Files/BugSense-iOS.framework/Versions/A/Resources/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..3967e06 Binary files /dev/null and b/Files/BugSense-iOS.framework/Versions/A/Resources/en.lproj/InfoPlist.strings differ diff --git a/Files/BugSense-iOS.framework/Versions/Current b/Files/BugSense-iOS.framework/Versions/Current new file mode 120000 index 0000000..8c7e5a6 --- /dev/null +++ b/Files/BugSense-iOS.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/Files/CapturedImageViewController.m b/Files/CapturedImageViewController.m index a186b9e..7d66a79 100644 --- a/Files/CapturedImageViewController.m +++ b/Files/CapturedImageViewController.m @@ -7,7 +7,6 @@ // #import "CapturedImageViewController.h" -#import @implementation CapturedImageViewController diff --git a/Files/ConservasionStatusIndicator.m b/Files/ConservasionStatusIndicator.m index 511de48..56ee99f 100644 --- a/Files/ConservasionStatusIndicator.m +++ b/Files/ConservasionStatusIndicator.m @@ -10,7 +10,7 @@ #import #import "Animal.h" #import "Animations.h" -#import "Helper.h" + @implementation ConservasionStatusIndicator @synthesize animal; diff --git a/Files/Default-568h@2x.png b/Files/Default-568h@2x.png new file mode 100644 index 0000000..e50af8b Binary files /dev/null and b/Files/Default-568h@2x.png differ diff --git a/Files/Default.png b/Files/Default.png new file mode 100644 index 0000000..2cd824b Binary files /dev/null and b/Files/Default.png differ diff --git a/Files/Default@2x.png b/Files/Default@2x.png new file mode 100644 index 0000000..66ffb85 Binary files /dev/null and b/Files/Default@2x.png differ diff --git a/Files/Event.m b/Files/Event.m index ef63d7d..f7a9464 100644 --- a/Files/Event.m +++ b/Files/Event.m @@ -175,7 +175,6 @@ +(NSDictionary*)repeatDictionaryFromString:(NSString*)string{ for (NSString * component in components) { NSArray * keyVal = [component componentsSeparatedByString:@"="]; - NSLog(@"keyVal = %@",keyVal); if(keyVal.count>1){ repaetDictionary[keyVal[0]] = keyVal[1]; } @@ -314,31 +313,32 @@ +(EventTypes)eventTypeFromString:(NSString*)string{ -(NSArray*)colors{ NSArray * cellColors; - NSLog(@"EventType = %d",[self.type integerValue]); switch ([self.type intValue]) { case kEventTypeFeeding: - cellColors = @[(id)[UIColorFromRGB(0x8C9544) CGColor],//feedings - (id)[UIColorFromRGB(0x8C9544) CGColor]]; + cellColors = @[(id)[UIColorFromRGB(0xDED4C8) CGColor],//feedings + (id)[UIColorFromRGB(0xDED4C8) CGColor]]; + //0x8C817B nice purple brown color break; case kEventTypeExhibition: cellColors = @[(id)[UIColorFromRGB(0xBDB38C) CGColor], (id)[UIColorFromRGB(0xBDB38C) CGColor]]; break; case kEventTypeKids: - cellColors = @[(id)[UIColorFromRGB(0x777A55) CGColor],//kids - (id)[UIColorFromRGB(0x777A55) CGColor]]; + cellColors = @[(id)[UIColorFromRGB(0xD4963E) CGColor],//kids + (id)[UIColorFromRGB(0xD4963E) CGColor]]; break; case kEventTypeMusic: - cellColors = @[(id)[UIColorFromRGB(0xBFAB27) CGColor], - (id)[UIColorFromRGB(0xBFAB27) CGColor]]; + //0x749FC1 nice blue + cellColors = @[(id)[UIColorFromRGB(0x62736F) CGColor], + (id)[UIColorFromRGB(0x62736F) CGColor]]; break; case kEventTypeShow: cellColors = @[(id)(id)[UIColorFromRGB(0xBDB38C) CGColor], (id)[UIColorFromRGB(0xBDB38C) CGColor]]; break; case kEventTypeWorkShop: - cellColors = @[(id)[UIColorFromRGB(0xBDB38C) CGColor], - (id)[UIColorFromRGB(0xBDB38C) CGColor]]; + cellColors = @[(id)[UIColorFromRGB(0x7F7960) CGColor], + (id)[UIColorFromRGB(0x7F7960) CGColor]]; break; } diff --git a/Files/EventDetailsViewController.h b/Files/EventDetailsViewController.h index 3ef773b..e86c3c8 100644 --- a/Files/EventDetailsViewController.h +++ b/Files/EventDetailsViewController.h @@ -31,9 +31,14 @@ @property (nonatomic, strong) IBOutlet UIImageView *iconView; @property (nonatomic, strong) IBOutlet UIButton *callBtn; @property (nonatomic, strong) IBOutlet UIButton *saveBtn; +@property (nonatomic, strong) IBOutlet UIButton *saveBtnBig; +@property (nonatomic, strong) IBOutlet UIButton *shareButton; +@property (nonatomic, strong) IBOutlet UILabel *notifLabel; +@property (nonatomic, strong) IBOutlet UILabel *shareLabel; +@property (nonatomic, strong) IBOutlet UILabel *callLabel; -(IBAction)callZoo:(id)sender; -(IBAction)saveToDiary:(id)sender; -(IBAction)shareEvent:(id)sender; --(IBAction)dissmis:(id)sender; +-(IBAction)dismiss:(id)sender; @end diff --git a/Files/EventDetailsViewController.m b/Files/EventDetailsViewController.m index e0f4fba..4dcd7c4 100644 --- a/Files/EventDetailsViewController.m +++ b/Files/EventDetailsViewController.m @@ -7,27 +7,27 @@ // #import "EventDetailsViewController.h" -#import -#import -#import "NSDate-Utilities.h" -#import "Event.h" + @interface EventDetailsViewController () @end @implementation EventDetailsViewController -@synthesize typeLabel = _typeLabel; -@synthesize titleLabel = _titleLabel; -@synthesize locationLabel = _LocationLabel; -@synthesize dateLabel = _dateLabel; -@synthesize timeLabel = _timeLabel; -@synthesize descriptionView = _descriptionView; -@synthesize iconView = _iconView; -@synthesize callBtn = _callBtn; -@synthesize saveBtn = _saveBtn; +@synthesize typeLabel; +@synthesize titleLabel; +@synthesize locationLabel; +@synthesize dateLabel; +@synthesize timeLabel; +@synthesize descriptionView; +@synthesize iconView; +@synthesize callBtn; +@synthesize saveBtn; +@synthesize shareButton; @synthesize event; - - +@synthesize notifLabel; +@synthesize callLabel; +@synthesize shareLabel; +@synthesize saveBtnBig; - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { @@ -59,12 +59,19 @@ - (void)viewDidLoad if (![[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel:+11111"]]){ self.callBtn.hidden = YES; + [self.callBtn removeFromSuperview]; + self.callLabel.hidden = YES; + [self.callLabel removeFromSuperview]; + // self.saveBtn.frame = CGRectOffset(self.saveBtn.frame, -90, 0); + // self.saveBtnBig.frame = CGRectOffset(self.saveBtnBig.frame, -90, 0); + // self.notifLabel.frame = CGRectOffset(self.notifLabel.frame, -90, 0); } - +#warning add in the future + self.shareLabel.hidden = YES; + self.shareButton.hidden =YES; } --(IBAction)dissmis:(id)sender{ - NSLog(@"Dissmis"); +-(IBAction)dismiss:(id)sender{ [self dismissModalViewControllerAnimated:YES]; } -(IBAction)callZoo:(id)sender{ @@ -75,17 +82,23 @@ -(IBAction)callZoo:(id)sender{ -(IBAction)saveToDiary:(id)sender{ UILocalNotification *localNotification = [[UILocalNotification alloc] init]; //Create the localNotification object - NSDate *newDate = [[event.startDate toLocalTime] dateByAddingTimeInterval:-60*1]; - [localNotification setFireDate:[[NSDate date] dateByAddingTimeInterval:10]]; + NSDate *alertDate = [event.startDate dateByAddingTimeInterval:-1200]; + [localNotification setFireDate:alertDate]; NSLog(@"fire date = %@",localNotification.fireDate); - [localNotification setAlertAction:@"Launch"]; - [localNotification setAlertBody:@"local notif test"]; - [localNotification setSoundName:@"notification_sound"]; + [localNotification setAlertAction:NSLocalizedString(@"Launch",nil)]; + NSString * localString = NSLocalizedString(@"Will start in 20 minutes",nil); + NSString * str = [NSString stringWithFormat:@"%@ %@",event.title,localString]; + [localNotification setAlertBody:str]; + [localNotification setSoundName:@"notification_sound.aif"]; [localNotification setHasAction: YES]; //Set that pushing the button will launch the application [localNotification setApplicationIconBadgeNumber:[[UIApplication sharedApplication] applicationIconBadgeNumber]+1]; [localNotification setUserInfo:@{@"test":[self.event title]}]; [[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; - + [BugSenseController sendCustomEventWithTag:@"seted alert to event"]; + + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Great", nil) + message:NSLocalizedString(@"Your notification had been set", nill) delegate:nil cancelButtonTitle:NSLocalizedString(@"Dismiss", nil) otherButtonTitles:nil]; + [alert show]; } -(IBAction)shareEvent:(id)sender{ diff --git a/Files/EventTableViewCell.m b/Files/EventTableViewCell.m index b15f12d..720d46b 100644 --- a/Files/EventTableViewCell.m +++ b/Files/EventTableViewCell.m @@ -8,10 +8,8 @@ #import "EventTableViewCell.h" #import -#import "Event.h" #define D_DAY 86400 #define D_WEEK 604800 -#define D_MONTH 2419200 @implementation EventTableViewCell @synthesize event; diff --git a/Files/EventsTableViewController.m b/Files/EventsTableViewController.m index 2dc8e3c..eada664 100644 --- a/Files/EventsTableViewController.m +++ b/Files/EventsTableViewController.m @@ -10,12 +10,11 @@ #import "EventTableViewCell.h" #import "EventDetailsViewController.h" #import "SectionHeaderView.h" -#import "NSDate-Utilities.h" -#import "Madad.h" + #import "MadadExplinationViewController.h" #import "Reachability.h" #import "CGICalendar.h" -#define GOOGLE_CALENDAR_DAY_AMOUNT 14 + @interface EventsTableViewController () // -(void)beginFetchingEventsFromCalendar:(GDataEntryCalendar *)calendar; @end @@ -82,9 +81,9 @@ -(void)updateCalendar{ }else{ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"No Internet Connection",nil) - message:NSLocalizedString(@"If you don't have intenrt services you can find an Internet acsses in the enternce to the zoo",nil) + message:NSLocalizedString(@"No Internet alert body",nil) delegate:nil - cancelButtonTitle:NSLocalizedString(@"okay",nil) + cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) otherButtonTitles:nil]; [alert show]; } @@ -168,7 +167,8 @@ - (void)viewDidLoad self.tableView.delegate=self; - + self.tableView.backgroundColor = UIColorFromRGB(0x8C817B); + //segmentedController segmentedControl = [[UISegmentedControl alloc] initWithFrame:CGRectMake(0, 0, 300, 30)]; diff --git a/Files/Exhibit.m b/Files/Exhibit.m index 80be153..bf83cb2 100644 --- a/Files/Exhibit.m +++ b/Files/Exhibit.m @@ -10,9 +10,7 @@ #import "Exhibit.h" #import "Animal.h" -#import "JerusalemBiblicalZooAppDelegate.h" #import "UIImage+Helper.h" -#import @implementation Exhibit diff --git a/Files/ExhibitAnimalsViewController.m b/Files/ExhibitAnimalsViewController.m index b876d7f..6084721 100644 --- a/Files/ExhibitAnimalsViewController.m +++ b/Files/ExhibitAnimalsViewController.m @@ -7,10 +7,9 @@ // #import "ExhibitAnimalsViewController.h" -#import "Animal.h" -#import "Exhibit.h" #import "AnimalViewController.h" #import "AnimalTableViewCell.h" + @interface ExhibitAnimalsViewController () @end @@ -85,7 +84,7 @@ -(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; self.navigationController.navigationBar.barStyle = UIBarStyleBlack; self.navigationController.navigationBar.translucent =NO; - self.tableView.backgroundColor = UIColorFromRGB(0x95bdc2); + self.tableView.backgroundColor = UIColorFromRGB(0x7F7960); self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine; self.tableView.separatorColor = UIColorFromRGBA(0xffffff, .2); self.tableView.rowHeight = 60; @@ -158,7 +157,7 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath initWithTitle:NSLocalizedString(@"oops Error",nil) message:NSLocalizedString(@"There is a problem with this exhibit we will fix it as soon as possible",nil) delegate:nil - cancelButtonTitle:NSLocalizedString(@"okay",nil) + cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) otherButtonTitles:nil]; [alert show]; } diff --git a/Files/ExhibitAnnotation.m b/Files/ExhibitAnnotation.m index 176924f..32d257f 100644 --- a/Files/ExhibitAnnotation.m +++ b/Files/ExhibitAnnotation.m @@ -7,7 +7,6 @@ // #import #import "ExhibitAnnotation.h" -#import "Exhibit.h" @implementation ExhibitAnnotation @synthesize exhibit; @@ -38,4 +37,5 @@ - (NSString *)subtitle } + @end diff --git a/Files/ExhibitTableViewCell.m b/Files/ExhibitTableViewCell.m index 3e86984..5f2eef9 100644 --- a/Files/ExhibitTableViewCell.m +++ b/Files/ExhibitTableViewCell.m @@ -7,7 +7,6 @@ // #import "ExhibitTableViewCell.h" -#import "Exhibit.h" #import "UIImage+Helper.h" @implementation ExhibitTableViewCell diff --git a/Files/ExhibitsViewController.m b/Files/ExhibitsViewController.m index 13e7b46..126f88d 100644 --- a/Files/ExhibitsViewController.m +++ b/Files/ExhibitsViewController.m @@ -9,13 +9,9 @@ #import "ExhibitsViewController.h" #import "AnimalViewController.h" #import "ExhibitAnimalsViewController.h" -#import "Exhibit.h" -#import "Animal.h" #import "OpeningScreenViewController.h" -#import #import "ExhibitTableViewCell.h" #import "UIView+i7Rotate360.h" -#import "SSZipArchive.h" #import "Reachability.h" #import "ZooInfoViewController.h" @@ -41,14 +37,15 @@ - (id)initWithStyle:(UITableViewStyle)style if (DEBUG) { UIBarButtonItem *barItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(updateAnimalsData)]; self.navigationItem.rightBarButtonItem = barItem; - if(![Helper isLion]){ - [[NSNotificationCenter defaultCenter] addObserver:self selector: @selector(unlock) name:@"unlock-feature" object: nil]; - } - - UIBarButtonItem *infoBarItem = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Info", nil) style:UIBarButtonItemStyleDone target:self action:@selector(showInfoController)]; - self.navigationItem.leftBarButtonItem = infoBarItem; - } + + if(![Helper isLion]){ + [[NSNotificationCenter defaultCenter] addObserver:self selector: @selector(unlock) name:@"unlock-feature" object: nil]; + } + + UIBarButtonItem *infoBarItem = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Info", nil) style:UIBarButtonItemStyleDone target:self action:@selector(showInfoController)]; + self.navigationItem.leftBarButtonItem = infoBarItem; + } return self; } @@ -97,8 +94,8 @@ - (void)viewDidLoad UITextAlignment textAlign; if ([Helper isRightToLeft]) { - labelRect = CGRectMake(0, 0, 250, 60); - iconRect = CGRectMake(270, 15, 30, 30); + labelRect = CGRectMake(0, 7, 260, 60); + iconRect = CGRectMake(275, 15, 30, 30); font = [UIFont fontWithName:@"ArialHebrew-Bold" size:20]; textAlign = UITextAlignmentRight; }else{ @@ -148,15 +145,14 @@ -(void)updateHeaderView{ exhibitsHasPendingUpdates = [[NSUserDefaults standardUserDefaults] boolForKey:@"exhibitsNeedsUpdates"]; if(![Helper isLion]){ - self.headerButton.backgroundColor = UIColorFromRGB(0xFF6343); + self.headerButton.backgroundColor = UIColorFromRGB(0xC95000); [self.headerButton addTarget:self action:@selector(buyFullApp) forControlEvents:UIControlEventTouchUpInside]; [self.headerButtonIconView setImage:[UIImage imageNamed:@"302-Unlock.png"]]; - self.headerButtonLabel.text = NSLocalizedString(@"Buy full app",nil); + self.headerButtonLabel.text = NSLocalizedString(@"Buy Full App",nil); }else if (exhibitsHasPendingUpdates) { // Do any additional setup after loading the view, typically from a nib. self.headerButton.backgroundColor = UIColorFromRGB(0x3A2E23); - [self.headerButton addTarget:self action:@selector(updateAnimalsData) forControlEvents:UIControlEventTouchUpInside]; [self.headerButtonIconView setImage:[UIImage imageNamed:@"156-Cycle"]]; if(exhibitsHasPendingUpdates)self.headerButtonLabel.text = NSLocalizedString(@"Update available for exhibits",nil); @@ -183,7 +179,9 @@ -(void)updateAnimalsData{ - (void)findNearestExhibit { - + BOOL locationAllowed = [CLLocationManager locationServicesEnabled]; + if (locationAllowed) { + [self.headerButtonIconView rotate360WithDuration:.5 repeatCount:100 timingMode:i7Rotate360TimingModeLinear]; self.headerButtonLabel.text = NSLocalizedString(@"Finding your location",nil); @@ -193,6 +191,14 @@ - (void)findNearestExhibit locationManager.desiredAccuracy = kCLLocationAccuracyBest; locationManager.distanceFilter = kCLDistanceFilterNone; [locationManager startUpdatingLocation]; + }else{ + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"location services error title",nil) + message:NSLocalizedString(@"location services error body",nil) + delegate:self + cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) + otherButtonTitles:nil, nil]; + [alert show]; + } } @@ -264,7 +270,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N - (void)showExhibit:(Exhibit*)exhibit; { [self.headerButtonIconView.layer removeAllAnimations]; - self.headerButtonLabel.text = NSLocalizedString(@"Show Nearest Exhibit",nil); + [self updateHeaderView]; NSArray *animals = [exhibit localAnimals]; if ([animals count]==1) { AnimalViewController *anialViewController = [[AnimalViewController alloc] init]; @@ -285,7 +291,7 @@ - (void)showExhibit:(Exhibit*)exhibit; initWithTitle:NSLocalizedString(@"oops Error",nil) message:NSLocalizedString(@"There is a problem with this exhibit we will fix it as soon as possible",nil) delegate:nil - cancelButtonTitle:NSLocalizedString(@"okay",nil) + cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) otherButtonTitles:nil]; [alert show]; @@ -342,11 +348,13 @@ -(void) locationManager: (CLLocationManager *)manager didUpdateToLocation: (CLLo -(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{ [self.headerButtonIconView.layer removeAllAnimations]; - self.headerButtonLabel.text = NSLocalizedString(@"Show Nearest exhibit",nil); - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Alert",nil) - message:NSLocalizedString(@"Failed to find your location ",nil) + [self updateHeaderView]; + //Unable to determine your location + //Please check your location settings in the iphone settings + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"location services error title",nil) + message:NSLocalizedString(@"location services error body",nil) delegate:self - cancelButtonTitle:NSLocalizedString(@"O.K",nil) + cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) otherButtonTitles:nil, nil]; [alert show]; } @@ -428,9 +436,9 @@ -(void)updateExhibitsAndAnimalsImManagedContext:(NSManagedObjectContext*)moc upd }else{ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"No Internet Connection",nil) - message:NSLocalizedString(@"If you don't have intenrt services you can find an Internet acsses in the enternce to the zoo",nil) + message:NSLocalizedString(@"No Internet alert body",nil) delegate:nil - cancelButtonTitle:NSLocalizedString(@"okay",nil) + cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) otherButtonTitles:nil]; [alert show]; } diff --git a/Files/Final resize zoo images/asian_lion_3@2x.jpg b/Files/Final resize zoo images/asian_lion_3@2x.jpg index ead8c3e..c9d0369 100644 Binary files a/Files/Final resize zoo images/asian_lion_3@2x.jpg and b/Files/Final resize zoo images/asian_lion_3@2x.jpg differ diff --git a/Files/Final resize zoo images/bayit_hai_1@2x.jpg b/Files/Final resize zoo images/bayit_hai_1@2x.jpg index 31b8d53..7dae0b1 100644 Binary files a/Files/Final resize zoo images/bayit_hai_1@2x.jpg and b/Files/Final resize zoo images/bayit_hai_1@2x.jpg differ diff --git a/Files/Final resize zoo images/bayit_hai_2@2x.jpg b/Files/Final resize zoo images/bayit_hai_2@2x.jpg index c6c34aa..898fdbc 100644 Binary files a/Files/Final resize zoo images/bayit_hai_2@2x.jpg and b/Files/Final resize zoo images/bayit_hai_2@2x.jpg differ diff --git a/Files/Final resize zoo images/bayit_hai_3@2x.jpg b/Files/Final resize zoo images/bayit_hai_3@2x.jpg index ad593a6..8260a86 100644 Binary files a/Files/Final resize zoo images/bayit_hai_3@2x.jpg and b/Files/Final resize zoo images/bayit_hai_3@2x.jpg differ diff --git a/Files/Final resize zoo images/bayit_hai_4@2x.jpg b/Files/Final resize zoo images/bayit_hai_4@2x.jpg index b4df3e4..8835fe2 100644 Binary files a/Files/Final resize zoo images/bayit_hai_4@2x.jpg and b/Files/Final resize zoo images/bayit_hai_4@2x.jpg differ diff --git a/Files/Final resize zoo images/bayit_hai_5@2x.jpg b/Files/Final resize zoo images/bayit_hai_5@2x.jpg index 8b71e8f..48e0365 100644 Binary files a/Files/Final resize zoo images/bayit_hai_5@2x.jpg and b/Files/Final resize zoo images/bayit_hai_5@2x.jpg differ diff --git a/Files/Final resize zoo images/children's_zoo_1@2x.jpg b/Files/Final resize zoo images/children's_zoo_1@2x.jpg index c750788..65e9db2 100644 Binary files a/Files/Final resize zoo images/children's_zoo_1@2x.jpg and b/Files/Final resize zoo images/children's_zoo_1@2x.jpg differ diff --git a/Files/Final resize zoo images/children's_zoo_2@2x.jpg b/Files/Final resize zoo images/children's_zoo_2@2x.jpg index 9b33c4e..af17b94 100644 Binary files a/Files/Final resize zoo images/children's_zoo_2@2x.jpg and b/Files/Final resize zoo images/children's_zoo_2@2x.jpg differ diff --git a/Files/Final resize zoo images/children's_zoo_3@2x.jpg b/Files/Final resize zoo images/children's_zoo_3@2x.jpg index bed1505..eaee3da 100644 Binary files a/Files/Final resize zoo images/children's_zoo_3@2x.jpg and b/Files/Final resize zoo images/children's_zoo_3@2x.jpg differ diff --git a/Files/Final resize zoo images/children's_zoo_4@2x.jpg b/Files/Final resize zoo images/children's_zoo_4@2x.jpg index 6eab7c7..2c28271 100644 Binary files a/Files/Final resize zoo images/children's_zoo_4@2x.jpg and b/Files/Final resize zoo images/children's_zoo_4@2x.jpg differ diff --git a/Files/Final resize zoo images/southern_cassowary_1@2x.jpg b/Files/Final resize zoo images/double-wattled_cassowary_1@2x.jpg similarity index 100% rename from Files/Final resize zoo images/southern_cassowary_1@2x.jpg rename to Files/Final resize zoo images/double-wattled_cassowary_1@2x.jpg diff --git a/Files/Final resize zoo images/southern_cassowary_2@2x.jpg b/Files/Final resize zoo images/double-wattled_cassowary_2@2x.jpg similarity index 100% rename from Files/Final resize zoo images/southern_cassowary_2@2x.jpg rename to Files/Final resize zoo images/double-wattled_cassowary_2@2x.jpg diff --git a/Files/Final resize zoo images/southern_cassowary_3@2x.jpg b/Files/Final resize zoo images/double-wattled_cassowary_3@2x.jpg similarity index 100% rename from Files/Final resize zoo images/southern_cassowary_3@2x.jpg rename to Files/Final resize zoo images/double-wattled_cassowary_3@2x.jpg diff --git a/Files/Final resize zoo images/southern_cassowary_4@2x.jpg b/Files/Final resize zoo images/double-wattled_cassowary_4@2x.jpg similarity index 100% rename from Files/Final resize zoo images/southern_cassowary_4@2x.jpg rename to Files/Final resize zoo images/double-wattled_cassowary_4@2x.jpg diff --git a/Files/Final resize zoo images/hatchery_1.jpg b/Files/Final resize zoo images/hatchery_1.jpg new file mode 100644 index 0000000..16d2252 Binary files /dev/null and b/Files/Final resize zoo images/hatchery_1.jpg differ diff --git a/Files/Final resize zoo images/hatchery_2.jpg b/Files/Final resize zoo images/hatchery_2.jpg new file mode 100644 index 0000000..246fedc Binary files /dev/null and b/Files/Final resize zoo images/hatchery_2.jpg differ diff --git a/Files/Final resize zoo images/hatchery_3.jpg b/Files/Final resize zoo images/hatchery_3.jpg new file mode 100644 index 0000000..bc279ff Binary files /dev/null and b/Files/Final resize zoo images/hatchery_3.jpg differ diff --git a/Files/Final resize zoo images/meerkat_1@2x.jpg b/Files/Final resize zoo images/meerkat_1@2x.jpg index adab6de..b5578f3 100644 Binary files a/Files/Final resize zoo images/meerkat_1@2x.jpg and b/Files/Final resize zoo images/meerkat_1@2x.jpg differ diff --git a/Files/Final resize zoo images/scarlet_macaw_1@2x.jpg b/Files/Final resize zoo images/scarlet_macaw_1@2x.jpg new file mode 100644 index 0000000..dee36e7 Binary files /dev/null and b/Files/Final resize zoo images/scarlet_macaw_1@2x.jpg differ diff --git a/Files/Final resize zoo images/scarlet_macaw_1@2x.png b/Files/Final resize zoo images/scarlet_macaw_1@2x.png new file mode 100644 index 0000000..f78d02c Binary files /dev/null and b/Files/Final resize zoo images/scarlet_macaw_1@2x.png differ diff --git a/Files/Final resize zoo images/scarlet_macaw_2@2x.jpg b/Files/Final resize zoo images/scarlet_macaw_2@2x.jpg new file mode 100644 index 0000000..15bdb0c Binary files /dev/null and b/Files/Final resize zoo images/scarlet_macaw_2@2x.jpg differ diff --git a/Files/Final resize zoo images/scarlet_macaw_2@2x.png b/Files/Final resize zoo images/scarlet_macaw_2@2x.png new file mode 100644 index 0000000..882466c Binary files /dev/null and b/Files/Final resize zoo images/scarlet_macaw_2@2x.png differ diff --git a/Files/FunAnimalImageOverlayViewController.h b/Files/FunAnimalImageOverlayViewController.h index 2d928b9..d865c27 100644 --- a/Files/FunAnimalImageOverlayViewController.h +++ b/Files/FunAnimalImageOverlayViewController.h @@ -11,7 +11,9 @@ #import #import -@interface FunAnimalImageOverlayViewController : UIViewController +@interface FunAnimalImageOverlayViewController : UIViewController{ + MBProgressHUD *refreshHUD; +} @property (nonatomic, strong) UIImagePickerController *imagePicker; @property (nonatomic, strong) UIScrollView * overlayesScrollView; @property (nonatomic, strong) NSArray *overlayImages; diff --git a/Files/FunAnimalImageOverlayViewController.m b/Files/FunAnimalImageOverlayViewController.m index 84079ab..28218ca 100644 --- a/Files/FunAnimalImageOverlayViewController.m +++ b/Files/FunAnimalImageOverlayViewController.m @@ -7,10 +7,10 @@ // #import "FunAnimalImageOverlayViewController.h" -#import "ImageOverLayHandleViewController.h" #import "UIImage+Helper.h" #import #import +#import #define kNext 0 #define kPrev 1 @@ -184,6 +184,10 @@ -(void)toggleImagePicker{ [self.view addSubview:self.imagePicker.view]; [self.view addSubview:closeButton]; self.imagePicker.view.transform = CGAffineTransformIdentity; + self.capturedImageViewController = nil; + [[self.uniteImagesView subviews] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { + [obj removeFromSuperview]; + }]; } } completion:^(BOOL finished) { @@ -204,7 +208,7 @@ -(void)image:(UIImage *)image initWithTitle: @"Save failed" message: @"Failed to save image" delegate: nil - cancelButtonTitle:@"OK" + cancelButtonTitle:@"Dismiss" otherButtonTitles:nil]; [alert show]; } @@ -272,24 +276,30 @@ - (void)saveToAlbum - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo { + [refreshHUD hide:YES]; UIAlertView *alert; // Unable to save the image if (error) alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",nil) message:NSLocalizedString(@"Unable to save image to Photo Album." ,nil) - delegate:self cancelButtonTitle:NSLocalizedString(@"Ok",nil) + delegate:self cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) otherButtonTitles:nil]; else // All is well alert = [[UIAlertView alloc] initWithTitle:@"Success" message:@"Image saved to Photo Album." - delegate:self cancelButtonTitle:@"Ok" + delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:nil]; [alert show]; } - +-(void)showHud{ + refreshHUD = [[MBProgressHUD alloc] initWithView:self.view]; + [self.view addSubview:refreshHUD]; + refreshHUD.delegate = self; + [refreshHUD show:YES]; +} #pragma mark - #pragma mark Compose Mail @@ -297,6 +307,8 @@ - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error context // Displays an email composition interface inside the application. Populates all the Mail fields. -(void)displayComposerSheet { + [refreshHUD hide:YES]; + if ([MFMailComposeViewController canSendMail]){ self.imagesContainer.alpha=1; MFMailComposeViewController *mailComposer = [[MFMailComposeViewController alloc] init]; mailComposer.mailComposeDelegate = self; @@ -314,7 +326,18 @@ -(void)displayComposerSheet [mailComposer setMessageBody:emailBody isHTML:YES]; - [self presentModalViewController:mailComposer animated:YES]; + [self presentViewController:mailComposer animated:YES completion:^{[refreshHUD hide:YES];}]; + + + }else{ + UIAlertView * alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",nil) + message:NSLocalizedString(@"Your email is not configured.",nil) + delegate:nil cancelButtonTitle:NSLocalizedString(@"Dismiss" ,nil) + otherButtonTitles:nil]; + [alert show]; + + + } } @@ -328,14 +351,14 @@ - (void)mailComposeController:(MFMailComposeViewController*)controller didFinish if (result==MFMailComposeResultFailed){ alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",nil) message:NSLocalizedString(@"Unable to send Email.",nil) - delegate:self cancelButtonTitle:NSLocalizedString(@"O.K" ,nil) + delegate:self cancelButtonTitle:NSLocalizedString(@"Dismiss" ,nil) otherButtonTitles:nil]; [alert show]; } else if(result==MFMailComposeResultSent){ alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Success",nil) message:NSLocalizedString(@"Email sent.",nil) - delegate:self cancelButtonTitle:NSLocalizedString(@"O.K",nil) + delegate:self cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) otherButtonTitles:nil]; [alert show]; } @@ -348,37 +371,68 @@ - (void)mailComposeController:(MFMailComposeViewController*)controller didFinish #pragma mark FaceBook -(void)postWall{ + UIImage *image = [UIImage imageWithView:self.uniteImagesView]; - if ([PFUser currentUser] && // Check if a user is cached - [PFFacebookUtils isLinkedWithUser:[PFUser currentUser]]) // Check if user is linked to Facebook - { - - UIImage *image = [UIImage imageWithView:self.uniteImagesView]; - - NSData *imageData = UIImageJPEGRepresentation(image, 100); - - NSString *massege = NSLocalizedString(@"photo title", nil); - NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: - massege, @"message", - imageData, @"picture", - @"Get the app on - http://itunes.com/apps/jerusalemBiblicalZoo", @"caption", - @"Jerusalem Biblical Zoo", @"name", - nil]; - [[PFFacebookUtils facebook] requestWithGraphPath:@"me/photos" andParams:params andHttpMethod:@"POST" andDelegate:self]; - }else{ - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"EROR" - message:@"You are not loged in to Facebook" - delegate:self cancelButtonTitle:@"Ok" - otherButtonTitles:@"Login", nil]; - - alert.tag = 1; - [alert show]; - } + if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0")) { + + SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; + + SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result){ + if (result == SLComposeViewControllerResultCancelled) { + + NSLog(@"Cancelled"); + + } else + + { + NSLog(@"Done"); + } + + [controller dismissViewControllerAnimated:YES completion:Nil]; + }; + controller.completionHandler =myBlock; + + NSString *localizedText = NSLocalizedString(@"photo sharing text",nil); + [controller setInitialText:localizedText]; + [controller addURL:[NSURL URLWithString:@"http://itunes.apple.com/app/id591193554"]]; + [controller addImage:image]; + [self presentViewController:controller animated:YES completion:^{ + [refreshHUD hide:YES]; + }]; + + + }else{ + if ([PFUser currentUser] && // Check if a user is cached + [PFFacebookUtils isLinkedWithUser:[PFUser currentUser]]) // Check if user is linked to Facebook + { + + + + NSData *imageData = UIImageJPEGRepresentation(image, 100); + + NSString *massege = NSLocalizedString(@"photo title", nil); + NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: + massege, @"message", + imageData, @"picture", + @"Get the app on - http://itunes.com/apps/jerusalemBiblicalZoo", @"caption", + @"Jerusalem Biblical Zoo", @"name", + nil]; + [[PFFacebookUtils facebook] requestWithGraphPath:@"me/photos" andParams:params andHttpMethod:@"POST" andDelegate:self]; + }else{ + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"EROR" + message:@"You are not loged in to Facebook" + delegate:self cancelButtonTitle:@"Dismiss" + otherButtonTitles:@"Login", nil]; + + alert.tag = 1; + [alert show]; + } + } } -(void)showBuyFullAppAlert{ - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Buy Full App", nil) message:NSLocalizedString(@"Buy full app description", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"Dissmis", nil) otherButtonTitles:NSLocalizedString(@"Buy Now", nil), nil]; + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Buy Full App", nil) message:NSLocalizedString(@"Buy full app description", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"Later", nil) otherButtonTitles:NSLocalizedString(@"Buy Now", nil), nil]; alert.tag = 2; [alert show]; } @@ -410,14 +464,15 @@ -(void)request:(PF_FBRequest *)request didReceiveResponse:(NSURLResponse *)respo } -(void)request:(PF_FBRequest *)request didLoad:(id)result{ + [refreshHUD hide:YES]; NSLog(@" [result objectForKey] = %@", result[@"post_id"]); NSLog(@"result class %@",[result class]); UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Sucsses" message:@"Image posted on Facebook." - delegate:self cancelButtonTitle:@"Ok" + delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:nil]; [alert show]; - + } @@ -425,9 +480,10 @@ -(void)requestLoading:(PF_FBRequest *)request{ NSLog(@"%@",request); } -(void)request:(PF_FBRequest *)request didFailWithError:(NSError *)error{ + [refreshHUD hide:YES]; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Failed" message:@"Uploading to FaceBook Failed, Please try again." - delegate:self cancelButtonTitle:@"Ok" + delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:nil]; [alert show]; NSLog(@"%@",[error description]); @@ -438,6 +494,7 @@ - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger switch (buttonIndex) { case 1: [self saveToAlbum]; + [self showHud]; break; case 2: @@ -446,14 +503,19 @@ - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger case 3: [self postWall]; + [self showHud]; break; } + } -// NSLog(@"image size = %@",NSStringFromCGSize(photoImage.size)); -//2160 3840 -//CGSize size= photoImage.size; -//UIImage *croppedImage = [photoImage crop:CGRectMake((size.height / 4), (size.width / 3), -// (size.height / 4), (size.width /3))]; +#pragma mark - +#pragma mark MBProgressHUDDelegate methods + +- (void)hudWasHidden:(MBProgressHUD *)hud { + // Remove HUD from screen when the HUD hides + [hud removeFromSuperview]; + hud = nil; +} @end diff --git a/Files/FunViewController.h b/Files/FunViewController.h index 45714f7..b8899e7 100644 --- a/Files/FunViewController.h +++ b/Files/FunViewController.h @@ -7,13 +7,13 @@ // #import +#import +#import -@interface FunViewController : UIViewController{ - - NSMutableData *imageData; +@interface FunViewController : UIViewController{ UIBarButtonItem *facebookButton; - } + @property (nonatomic, strong) IBOutlet UIScrollView *scrollView; @property (nonatomic, strong) UIImagePickerController *imagePicker; @property (nonatomic, strong) IBOutlet UIButton *signBtn; @@ -21,13 +21,14 @@ @property (nonatomic, strong) IBOutlet UIButton *zooCamera; @property (nonatomic, strong) IBOutlet UIButton *questionsButton; @property (nonatomic, strong) IBOutlet UILabel *facebookName; -@property (nonatomic, strong) IBOutlet UIImageView *facebookImage; @property (nonatomic, strong) IBOutlet UIView *facebookView; @property (nonatomic, strong) IBOutlet UILabel *animalisticCameraLabel; @property (nonatomic, strong) IBOutlet UILabel *simpleCameraLabel; @property (nonatomic, strong) IBOutlet UILabel *signLabel; -(IBAction)opsenSignGenerator:(id)sender; --(IBAction)openCamera:(id)sender; --(IBAction)opsenShareCaera:(id)sender; +-(IBAction)openZooPhotographerCamera:(id)sender; +-(IBAction)openShareCamera:(id)sender; -(IBAction)openQuestions:(id)sender; +@property (nonatomic, retain) ACAccountStore *accountStore; +@property (nonatomic, retain) ACAccount *facebookAccount; @end diff --git a/Files/FunViewController.m b/Files/FunViewController.m index 23f8e7b..de77472 100644 --- a/Files/FunViewController.m +++ b/Files/FunViewController.m @@ -8,11 +8,9 @@ #import "FunViewController.h" #import "SignForFreindViewController.h" -#import "AlbumViewController.h" -#import -#import "ImageOverLayHandleViewController.h" #import "FunAnimalImageOverlayViewController.h" #import "AnimalQuestionsTableView.h" +#import #define kNext 0 #define kPrev 1 #define kPreview 2 @@ -26,7 +24,6 @@ @implementation FunViewController @synthesize cameraBtn; @synthesize questionsButton; @synthesize facebookName; -@synthesize facebookImage; @synthesize facebookView; @synthesize animalisticCameraLabel; @synthesize simpleCameraLabel; @@ -34,19 +31,25 @@ @implementation FunViewController @synthesize imagePicker; @synthesize scrollView; @synthesize zooCamera; +@synthesize accountStore; +@synthesize facebookAccount; - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { - self.title = NSLocalizedString(@"Fun",nil); - facebookButton = [[UIBarButtonItem alloc] initWithTitle:@"Facebook" style:UIBarButtonItemStyleDone target:self action:@selector(loginToFacebook)]; - self.navigationItem.rightBarButtonItem = facebookButton; - + self.title = NSLocalizedString(@"More",nil); + + if(SYSTEM_VERSION_LESS_THAN(@"6.0")){ + facebookButton = [[UIBarButtonItem alloc] initWithTitle:@"Facebook" style:UIBarButtonItemStyleDone target:self action:@selector(loginToFacebook)]; + self.navigationItem.rightBarButtonItem = facebookButton; + } if(![Helper isLion]){ [[NSNotificationCenter defaultCenter] addObserver:self selector: @selector(unlock) name:@"unlock-feature" object: nil]; } + + } return self; } @@ -68,13 +71,7 @@ -(IBAction)opsenSignGenerator:(id)sender{ } } --(IBAction)openCamera:(id)sender{ - if([Helper isLion]){ - - }else{ - [self showBuyFullAppAlert]; -} -} + -(IBAction)openQuestions:(id)sender{ if([Helper isLion]){ @@ -86,7 +83,140 @@ -(IBAction)openQuestions:(id)sender{ } --(IBAction)opsenShareCaera:(id)sender{ +-(IBAction)openZooPhotographerCamera:(id)sender{ + + if([Helper isLion]){ + if ([UIImagePickerController isSourceTypeAvailable: + UIImagePickerControllerSourceTypeCamera]){ + UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:nil destructiveButtonTitle:NSLocalizedString(@"Cancel",nil) otherButtonTitles: + NSLocalizedString(@"From Camera", nil), + NSLocalizedString(@"From Album", nil), + nil]; + [actionSheet showFromTabBar:self.tabBarController.tabBar]; + }else{ + [self openPhotographerCamera:UIImagePickerControllerSourceTypePhotoLibrary]; + } + + }else{ + [self showBuyFullAppAlert]; + } + +} + + +- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{ + switch (buttonIndex) { + case 1: + [self openPhotographerCamera:UIImagePickerControllerSourceTypeCamera]; + + break; + case 2: + [self openPhotographerCamera:UIImagePickerControllerSourceTypeSavedPhotosAlbum]; + break; + + } +} + +-(void)openPhotographerCamera:(UIImagePickerControllerSourceType)type{ + if([Helper isLion]){ + self.imagePicker = [[UIImagePickerController alloc] init]; + self.imagePicker.delegate = self; + + if (type == UIImagePickerControllerSourceTypeCamera) { + self.imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; + imagePicker.allowsEditing=YES; + imagePicker.showsCameraControls = YES; + }else{ + self.imagePicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; + imagePicker.allowsEditing=YES; + } + [self presentModalViewController:self.imagePicker animated:YES]; + + + + }else{ + [self showBuyFullAppAlert]; + } +} + +- (void) imagePickerController: (UIImagePickerController *) picker + didFinishPickingMediaWithInfo: (NSDictionary *) info { + + UIImage *editedImage; + + + editedImage = (UIImage *) [info objectForKey: + UIImagePickerControllerEditedImage]; + + + [self dismissViewControllerAnimated:YES completion:^{ + [self mailToZooWithImage:editedImage]; + }]; +} + + +#pragma mark - +#pragma mark Compose Mail + +// Displays an email composition interface inside the application. Populates all the Mail fields. +-(void)mailToZooWithImage:(UIImage *)image{ + if ([MFMailComposeViewController canSendMail]){ + MFMailComposeViewController *mailComposer = [[MFMailComposeViewController alloc] init]; + mailComposer.mailComposeDelegate = self; + + [mailComposer setSubject:NSLocalizedString(@"A graet image from [ENTER YOUR NAME HERE]!",nil)]; + [mailComposer setToRecipients:@[@"tsurischoffman@gmail.com"]]; + NSData *data = UIImageJPEGRepresentation(image, 100); + + //NSInteger mb = [data length] / (1024*1024); + + [mailComposer addAttachmentData:data mimeType:@"image/jpg" + fileName:@"JerusalemBibilicalZoo.jpg"]; + + // Fill out the email body text + NSString *emailBody = NSLocalizedString(@"Zoo photographer email massege",nil); + [mailComposer setMessageBody:emailBody isHTML:NO]; + + [self.navigationController presentModalViewController:mailComposer animated:YES]; + }else{ + UIAlertView * alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",nil) + message:NSLocalizedString(@"Your email is not configured.",nil) + delegate:nil cancelButtonTitle:NSLocalizedString(@"Dismiss" ,nil) + otherButtonTitles:nil]; + [alert show]; + } +} + + +// Dismisses the email composition interface when users tap Cancel or Send. Proceeds to update the message field with the result of the operation. +- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error +{ + UIAlertView *alert; + + // Unable to save the image + if (result==MFMailComposeResultFailed){ + alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",nil) + message:NSLocalizedString(@"Unable to send Email.",nil) + delegate:nil cancelButtonTitle:NSLocalizedString(@"Dismiss" ,nil) + otherButtonTitles:nil]; + [alert show]; + } + else if(result==MFMailComposeResultSent){ + alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Success",nil) + message:NSLocalizedString(@"Email sent.",nil) + delegate:nil cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) + otherButtonTitles:nil]; + [alert show]; + } + + [self dismissModalViewControllerAnimated:YES]; +} + + + +///share camera + +-(IBAction)openShareCamera:(id)sender{ if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) { @@ -112,58 +242,63 @@ - (void)viewDidLoad self.facebookView.transform = CGAffineTransformTranslate(self.facebookView.transform, 0, -self.facebookView.bounds.size.height); - self.scrollView.contentSize = CGSizeMake(320, 500); + if (IS_IPHONE_5) { + self.scrollView.frame = CGRectMake(0, 44, 320, 410); + self.scrollView.contentSize = CGSizeMake(320, 410); + }else{ + self.scrollView.contentSize = CGSizeMake(320, 410); + } //labels - self.animalisticCameraLabel.text = NSLocalizedString(@"animalistic camera label",nil); - self.simpleCameraLabel.text = NSLocalizedString(@"simple camera label",nil); - self.signLabel.text = NSLocalizedString(@"sign maker label",nil); - + // Create request for user's facebook data - - if ([PFUser currentUser] && // Check if a user is cached - [PFFacebookUtils isLinkedWithUser:[PFUser currentUser]]) // Check if user is linked to Facebook - { - NSLog(@"[PFFacebookUtils session] = %@",[PFFacebookUtils session]); - // [self loginToFacebook]; - - [PFFacebookUtils reauthorizeUser:[PFUser currentUser] withPublishPermissions:@[@"publish_stream"] audience:PF_FBSessionDefaultAudienceFriends block:^(BOOL succeeded, NSError *error) { - if (succeeded) { - [self requestUserData]; - }else{ - NSLog(@"Problem autorizing user"); - } - }]; - + if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0")){ + [self toggleFacebookViewForIOS6]; }else{ - if([Helper isLion]){ - //set alert to connect to facebook - UIAlertView *alert = [[UIAlertView alloc] - initWithTitle:NSLocalizedString(@"FaceBook connection",nil) - message:NSLocalizedString(@"facebook connection messege",nil) - delegate:self - cancelButtonTitle:NSLocalizedString(@"Not now",nil) - otherButtonTitles:NSLocalizedString(@"Connect",nil), nil]; - alert.tag=1; - [alert show]; + if ([PFUser currentUser] && // Check if a user is cached + [PFFacebookUtils isLinkedWithUser:[PFUser currentUser]]) // Check if user is linked to Facebook + { + [self requestUserData]; + NSLog(@"[PFFacebookUtils session] = %@",[PFFacebookUtils session]); + // [self loginToFacebook]; + /* + [PFFacebookUtils reauthorizeUser:[PFUser currentUser] withPublishPermissions:@[@"publish_stream"] audience:PF_FBSessionDefaultAudienceFriends block:^(BOOL succeeded, NSError *error) { + if (succeeded) { + [self requestUserData]; + }else{ + NSLog(@"Problem autorizing user"); + } + }]; + */ + }else{ + if([Helper isLion]){ + //set alert to connect to facebook + UIAlertView *alert = [[UIAlertView alloc] + initWithTitle:NSLocalizedString(@"FaceBook connection",nil) + message:NSLocalizedString(@"facebook connection messege",nil) + delegate:self + cancelButtonTitle:NSLocalizedString(@"Not now",nil) + otherButtonTitles:NSLocalizedString(@"Connect",nil), nil]; + alert.tag=1; + [alert show]; + } + } - + [self toggleFacebookButton]; } - [self toggleFacebookButton]; } -(void)showBuyFullAppAlert{ - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Buy Full App", nil) message:NSLocalizedString(@"Buy full app description", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"Dissmis", nil) otherButtonTitles:NSLocalizedString(@"Buy Now", nil), nil]; + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Buy Full App", nil) message:NSLocalizedString(@"Buy full app description", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"Dismiss", nil) otherButtonTitles:NSLocalizedString(@"Buy Now", nil), nil]; alert.tag=2; [alert show]; } -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ if(alertView.tag == 2){ - NSLog(@"%i",buttonIndex); if (buttonIndex==1) { [[Helper appDelegate] buyFullApp]; } @@ -184,6 +319,10 @@ -(void)viewWillAppear:(BOOL)animated{ [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone]; [[self navigationController] setNavigationBarHidden:NO animated:NO]; + if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0")) { + [self getMeButtonTapped]; + } + // self.tabBarController.tabBar.hidden=NO; } @@ -218,6 +357,19 @@ -(void)toggleFacebookView{ } } +-(void)toggleFacebookViewForIOS6{ + [UIView animateWithDuration:1 animations:^{ + [self.facebookView setHidden:NO]; + self.facebookView.transform = CGAffineTransformIdentity; + }]; + if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) + { + self.facebookName.text = NSLocalizedString(@"Device connected to FaceBook",nil); + }else{ + self.facebookName.text = NSLocalizedString(@"Device dicconected from FaceBook",nil); + } +} + - (void)loginToFacebook { @@ -259,9 +411,7 @@ - (void)logoutFacebook } -(void)requestUserData{ - - - + // Create request for user's Facebook data NSString *requestPath = @"me/?fields=name,location"; @@ -271,24 +421,10 @@ -(void)requestUserData{ if (!error) { NSDictionary *userData = (NSDictionary *)result; // The result is a dictionary - NSString *facebookId = userData[@"id"]; NSString *name = userData[@"name"]; NSLog(@"location %@",userData[@"location"]); facebookName.text = [NSString stringWithFormat:@"%@ %@",NSLocalizedString(@"Connected as", nil),name]; - - // Download the user's facebook profile picture - imageData = [[NSMutableData alloc] init]; // the data will be loaded in here - - // URL should point to https://graph.facebook.com/{facebookId}/picture?type=large&return_ssl_resources=1 - NSURL *pictureURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large&return_ssl_resources=1", facebookId]]; - - NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:pictureURL - cachePolicy:NSURLRequestUseProtocolCachePolicy - timeoutInterval:2.0f]; - // Run network request asynchronously - NSURLConnection *urlConnection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self]; - NSLog(@"%@",urlConnection); }else{ NSLog(@"Error request = %@",[error description]); @@ -309,20 +445,6 @@ -(void)request:(PF_FBRequest *)request didFailWithError:(NSError *)error { } } -// Called every time a chunk of the data is received --(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { - [imageData appendData:data]; // Build the image - [self toggleFacebookView]; -} - -// Called when the entire image is finished downloading --(void)connectionDidFinishLoading:(NSURLConnection *)connection { - // Set the image in the header imageView - [UIView animateWithDuration:1 animations:^{ - [facebookImage setImage:[UIImage imageWithData:imageData]]; - }]; - -} - (void)viewDidUnload { @@ -336,4 +458,56 @@ - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interface return (interfaceOrientation == UIInterfaceOrientationPortrait); } +- (void)getMeButtonTapped { + + + if (self.accountStore == nil) { + self.accountStore = [[ACAccountStore alloc] init]; + } + ACAccountType * facebookAccountType = [self.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook]; + + NSDictionary * dict = @{ACFacebookAppIdKey : @"312934405399723", ACFacebookAudienceKey : ACFacebookAudienceEveryone}; + [self.accountStore requestAccessToAccountsWithType:facebookAccountType options:dict completion:^(BOOL granted, NSError *error) { + if (granted) { + NSArray * accounts = [self.accountStore accountsWithAccountType:facebookAccountType]; + self.facebookAccount = [accounts lastObject]; + //NSLog(@"account is: %@", self.facebookAccount); + [self me]; + } + else { + NSLog(@"error is: %@", [error debugDescription]); + } + }]; +} + +- (void)me{ + NSURL *meurl = [NSURL URLWithString:@"https://graph.facebook.com/me"]; + + SLRequest *merequest = [SLRequest requestForServiceType:SLServiceTypeFacebook + requestMethod:SLRequestMethodGET + URL:meurl + parameters:nil]; + + merequest.account = self.facebookAccount; + + [merequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) { + if (error) { + NSLog(@"%@", [error debugDescription]); + }else{ + NSDictionary*dic = [NSJSONSerialization JSONObjectWithData:responseData + options:kNilOptions + error:nil]; + if(dic!=nil){ + self.facebookName.text = [NSString stringWithFormat:@"%@ %@",NSLocalizedString(@"Connected as ", nil),dic[@"name"]]; + } + } + + + + + }]; + + +} + @end diff --git a/Files/Helpers/Helper.h b/Files/Helpers/Helper.h index 7a32c3c..f3e3732 100644 --- a/Files/Helpers/Helper.h +++ b/Files/Helpers/Helper.h @@ -30,5 +30,9 @@ +(NSString*)audioGuideFilesPath; +(NSString*)tempFilesPath; +(BOOL)isLion; ++(BOOL)bugsenseOn; ++(void)setCurrentExhibit:(Exhibit*)exhibit; ++(BOOL)isRetina; ++(NSString*)visitoresChannelName; @end diff --git a/Files/Helpers/Helper.m b/Files/Helpers/Helper.m index 2f5868a..6e3b03a 100644 --- a/Files/Helpers/Helper.m +++ b/Files/Helpers/Helper.m @@ -7,9 +7,8 @@ // #import "Helper.h" -#import "JerusalemBiblicalZooAppDelegate.h" -#import "Animal.h" #import "NSFileManager+DirectoryLocations.h" +#import "Exhibit.h" @implementation Helper +(JerusalemBiblicalZooAppDelegate*)appDelegate{ @@ -221,6 +220,28 @@ +(NSString*)audioGuideFilesPath{ +(NSString*)tempFilesPath{ NSString *path =[[NSFileManager defaultManager] applicationTempDirectory]; return path; + +} + ++(BOOL)bugsenseOn{ + return [[NSUserDefaults standardUserDefaults] boolForKey:@"agreedBugsense"]; +} + ++(void)setCurrentExhibit:(Exhibit*)exhibit{ + [[[self appDelegate] mapController] setCenterLocationAndShowMapForExhibit:exhibit]; +} ++(BOOL)isRetina{ + return ([[UIScreen mainScreen] respondsToSelector:@selector(displayLinkWithTarget:selector:)] && + ([UIScreen mainScreen].scale == 2.0)); +} ++(NSString*)visitoresChannelName{ + NSString *visitorsCahnnel; + if(![Helper isRightToLeft]){ + visitorsCahnnel = @"Visitors_En"; + }else{ + visitorsCahnnel = @"Visitors_He"; + } + return visitorsCahnnel; } @end diff --git a/Files/Helpers/MKMapView+ZoomLevel.h b/Files/Helpers/MKMapView+ZoomLevel.h index c87fe64..5e21d45 100755 --- a/Files/Helpers/MKMapView+ZoomLevel.h +++ b/Files/Helpers/MKMapView+ZoomLevel.h @@ -7,6 +7,10 @@ zoomLevel:(NSUInteger)zoomLevel animated:(BOOL)animated; +- (void)setCenterCoordinate:(CLLocationCoordinate2D)centerCoordinate + zoomLevel:(NSUInteger)zoomLevel + animated:(BOOL)animated completion:(void (^)(BOOL finished))completion; + -(MKCoordinateRegion)coordinateRegionWithMapView:(MKMapView *)mapView centerCoordinate:(CLLocationCoordinate2D)centerCoordinate andZoomLevel:(NSUInteger)zoomLevel; diff --git a/Files/Helpers/MKMapView+ZoomLevel.m b/Files/Helpers/MKMapView+ZoomLevel.m index f6ba926..76223aa 100755 --- a/Files/Helpers/MKMapView+ZoomLevel.m +++ b/Files/Helpers/MKMapView+ZoomLevel.m @@ -78,7 +78,7 @@ - (MKCoordinateSpan)coordinateSpanWithMapView:(MKMapView *)mapView - (void)setCenterCoordinate:(CLLocationCoordinate2D)centerCoordinate zoomLevel:(NSUInteger)zoomLevel - animated:(BOOL)animated + animated:(BOOL)animated { // clamp large numbers to 28 zoomLevel = MIN(zoomLevel, 28); @@ -90,7 +90,25 @@ - (void)setCenterCoordinate:(CLLocationCoordinate2D)centerCoordinate // set the region like normal [self setRegion:region animated:animated]; } - +- (void)setCenterCoordinate:(CLLocationCoordinate2D)centerCoordinate + zoomLevel:(NSUInteger)zoomLevel + animated:(BOOL)animated completion:(void (^)(BOOL finished))completion{ + + // clamp large numbers to 28 + zoomLevel = MIN(zoomLevel, 28); + + // use the zoom level to compute the region + MKCoordinateSpan span = [self coordinateSpanWithMapView:self centerCoordinate:centerCoordinate andZoomLevel:zoomLevel]; + MKCoordinateRegion region = MKCoordinateRegionMake(centerCoordinate, span); + + // set the region like normal + [self setRegion:region animated:animated]; + + BOOL finished = YES; + if (completion) { + completion(finished); + } + } //KMapView cannot display tiles that cross the pole (as these would involve wrapping the map from top to bottom, something that a Mercator projection just cannot do). -(MKCoordinateRegion)coordinateRegionWithMapView:(MKMapView *)mapView centerCoordinate:(CLLocationCoordinate2D)centerCoordinate diff --git a/Files/Helpers/UsefulMacros.h b/Files/Helpers/UsefulMacros.h index 93ea9be..ad59871 100644 --- a/Files/Helpers/UsefulMacros.h +++ b/Files/Helpers/UsefulMacros.h @@ -55,7 +55,7 @@ UIAlertView *__versionAlert = \ @"devices running iOS 4.0 or higher.", \ __featureName] \ delegate:nil \ - cancelButtonTitle:@"OK" \ + cancelButtonTitle:@"Dismiss" \ otherButtonTitles:nil] autorelease]; \ [__versionAlert show]; diff --git a/Files/ImageOverLayHandleViewController.h b/Files/ImageOverLayHandleViewController.h deleted file mode 100644 index 2a2e9ff..0000000 --- a/Files/ImageOverLayHandleViewController.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// ImageOverLayHandleViewController.h -// ParseStarterProject -// -// Created by shani hajbi on 14/06/12. -// Copyright (c) 2012 shannpga@me.com. All rights reserved. -// - -#import -#import -#import -@class CapturedImageViewController; -@interface ImageOverLayHandleViewController : UIViewController{ - UIImageView *photoImageView; - UIImage *photoImage; - UIBarButtonItem *previewButton; - BOOL stopLoop; -} -@property (nonatomic,strong) UIImageView *photoImageView; -@property (nonatomic,strong) UIImage *photoImage; -@property (nonatomic,strong) UIImage *selectedOverLay; -@property (nonatomic,strong) UIImageView *imagesContainer; -@property (nonatomic,strong) UIView *uniteImagesView ; -@property (nonatomic,strong) CapturedImageViewController * capturedImageViewController; -@property (nonatomic) BOOL fullscreen; -@end diff --git a/Files/ImageOverLayHandleViewController.m b/Files/ImageOverLayHandleViewController.m deleted file mode 100644 index f30fc9a..0000000 --- a/Files/ImageOverLayHandleViewController.m +++ /dev/null @@ -1,328 +0,0 @@ -// -// ImageOverLayHandleViewController.m -// ParseStarterProject -// -// Created by shani hajbi on 14/06/12. -// Copyright (c) 2012 shannpga@me.com. All rights reserved. -// - -#import "ImageOverLayHandleViewController.h" -#import "CapturedImageViewController.h" -#import "UIImage+Helper.h" -#import -#import - -#define kNext 0 -#define kPrev 1 -#define kPreview 2 -@interface ImageOverLayHandleViewController () -- (void)showSavingOptions; -- (void)saveToAlbum; --(void)displayComposerSheet; --(void)postWall; -@end - - -@implementation ImageOverLayHandleViewController -@synthesize photoImageView; -@synthesize photoImage; -@synthesize selectedOverLay; -@synthesize imagesContainer; -@synthesize fullscreen = _fullscreen; -@synthesize uniteImagesView; -@synthesize capturedImageViewController; - -// Define at top of implementation file -CGImageRef UIGetScreenImage(void); - -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil -{ - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; - if (self) { - - - - } - return self; -} - - - - -- (void)viewDidLoad -{ - [super viewDidLoad]; - - - self.uniteImagesView = [[UIView alloc] initWithFrame:self.view.frame]; - - - // Do any additional setup after loading the view from its nib. - self.imagesContainer = [[UIImageView alloc] initWithFrame:self.view.frame]; - self.imagesContainer.userInteractionEnabled = NO; - self.imagesContainer.alpha = 1; - - [self.imagesContainer setImage:selectedOverLay]; - - - NSLog(@"image size = %@",NSStringFromCGSize(photoImage.size)); - //2160 3840 - //CGSize size= photoImage.size; - //UIImage *croppedImage = [photoImage crop:CGRectMake((size.height / 4), (size.width / 3), - // (size.height / 4), (size.width /3))]; - - self.capturedImageViewController = [[CapturedImageViewController alloc] initWithImage:photoImage]; - - [self.uniteImagesView addSubview:self.capturedImageViewController.view]; - [self.uniteImagesView addSubview:self.imagesContainer]; - - [self.view addSubview:uniteImagesView]; - - /* - UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height-44, 320, 44)]; - toolbar.barStyle = UIBarStyleBlackTranslucent; - - - UIBarButtonItem *flexItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; - - previewButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Move and Scale",nil) style:UIBarButtonItemStyleDone target:self action:@selector(tooglePreviewEdit:)]; - previewButton.tag = kPreview; - - // Custom initialization - UIBarButtonItem *share = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(showSavingOptions)]; - - UIBarButtonItem *close = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(showSavingOptions)]; - - flexItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; - - - - [toolbar setItems:@[share,flexItem,previewButton,flexItem,close]]; - [self.view addSubview:toolbar]; - */ -} --(void)tooglePreviewEdit:(UIBarButtonItem*)sender{ - - if (self.imagesContainer.alpha < 1) { - self.imagesContainer.alpha=1; - self.imagesContainer.userInteractionEnabled = NO; - previewButton.title = NSLocalizedString(@"Move and Scale",nil); - }else{ - self.imagesContainer.alpha=.7; - self.imagesContainer.userInteractionEnabled = YES; - previewButton.title = NSLocalizedString(@"Done",nil); - } -} - - -- (void)viewDidUnload -{ - [super viewDidUnload]; - // Release any retained subviews of the main view. - // e.g. self.myOutlet = nil; -} - -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation -{ - return (interfaceOrientation == UIInterfaceOrientationPortrait); -} - -////////////// - -- (void)showSavingOptions -{ - UIActionSheet *sheet; - - - sheet =[[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:nil destructiveButtonTitle:NSLocalizedString(@"Cancel",nil) otherButtonTitles: - NSLocalizedString(@"Save to album", nil), - NSLocalizedString(@"Send email", nil), - NSLocalizedString(@"Save to FaceBook",nil), - nil]; - - - [sheet showFromRect:CGRectMake(0, 0, 200, 200) inView:self.view animated:YES]; - -} - - - --(void)emailImage:(UIImage*)image{ - -} - - -- (void)saveToAlbum -{ - - NSThread *thread = [NSThread mainThread]; - [self performSelector:@selector(toggleFullscreen) onThread:thread withObject:nil waitUntilDone:YES]; - - UIImage *image = [UIImage imageWithView:self.uniteImagesView]; - // Save the captured image to photo album - UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil); -} - -- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo -{ - UIAlertView *alert; - - // Unable to save the image - if (error) - alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",nil) - message:NSLocalizedString(@"Unable to save image to Photo Album." ,nil) - delegate:self cancelButtonTitle:NSLocalizedString(@"Ok",nil) - otherButtonTitles:nil]; - else // All is well - alert = [[UIAlertView alloc] initWithTitle:@"Success" - message:@"Image saved to Photo Album." - delegate:self cancelButtonTitle:@"Ok" - otherButtonTitles:nil]; - [alert show]; -} - - - - -#pragma mark - -#pragma mark Compose Mail - -// Displays an email composition interface inside the application. Populates all the Mail fields. --(void)displayComposerSheet -{ - self.imagesContainer.alpha=1; - MFMailComposeViewController *mailComposer = [[MFMailComposeViewController alloc] init]; - mailComposer.mailComposeDelegate = self; - - [mailComposer setSubject:NSLocalizedString(@"photo email subject",nil)]; - UIImage *image = [UIImage imageWithView:self.uniteImagesView]; - - NSData *data = UIImageJPEGRepresentation(image, 100); - - [mailComposer addAttachmentData:data mimeType:@"image/jpg" - fileName:@"JerusalemBibilicalZoo.jpg"]; - - // Fill out the email body text - NSString *emailBody = NSLocalizedString(@"photo email body",nil); - [mailComposer setMessageBody:emailBody isHTML:YES]; - - - [self presentModalViewController:mailComposer animated:YES]; -} - - -// Dismisses the email composition interface when users tap Cancel or Send. Proceeds to update the message field with the result of the operation. -- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error -{ - - UIAlertView *alert; - - // Unable to save the image - if (result==MFMailComposeResultFailed){ - alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",nil) - message:NSLocalizedString(@"Unable to send Email.",nil) - delegate:self cancelButtonTitle:NSLocalizedString(@"O.K" ,nil) - otherButtonTitles:nil]; - [alert show]; - } - else if(result==MFMailComposeResultSent){ - alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Success",nil) - message:NSLocalizedString(@"Email sent.",nil) - delegate:self cancelButtonTitle:NSLocalizedString(@"O.K",nil) - otherButtonTitles:nil]; - [alert show]; - } - - - [self dismissModalViewControllerAnimated:YES]; -} - -#pragma mark - -#pragma mark FaceBook - --(void)postWall{ - - if ([PFUser currentUser] && // Check if a user is cached - [PFFacebookUtils isLinkedWithUser:[PFUser currentUser]]) // Check if user is linked to Facebook - { - - UIImage *image = [UIImage imageWithView:self.uniteImagesView]; - - NSData *imageData = UIImageJPEGRepresentation(image, 100); - - NSString *massege = NSLocalizedString(@"photo title", nil); - NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: - massege, @"message", - imageData, @"picture", - @"Get the app on - http://itunes.com/apps/jerusalemBiblicalZoo", @"caption", - @"Jerusalem Biblical Zoo", @"name", - nil]; - [[PFFacebookUtils facebook] requestWithGraphPath:@"me/photos" andParams:params andHttpMethod:@"POST" andDelegate:self]; - }else{ - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"EROR" - message:@"You are not loged in to Facebook" - delegate:self cancelButtonTitle:@"Ok" - otherButtonTitles:@"Login", nil]; - - [alert show]; - } -} - --(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ - switch (buttonIndex) { - case 1: - NSLog(@"connectToFacebook"); - break; - - } -} --(void)request:(PF_FBRequest *)request didLoadRawResponse:(NSData *)data{ - //NSLog(@"data = %@",data); -} --(void)request:(PF_FBRequest *)request didReceiveResponse:(NSURLResponse *)response{ - //NSLog(@"response = %@",[response description]); - -} --(void)request:(PF_FBRequest *)request didLoad:(id)result{ - NSLog(@" [result objectForKey] = %@", result[@"post_id"]); - NSLog(@"result class %@",[result class]); - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Sucsses" - message:@"Image posted on Facebook." - delegate:self cancelButtonTitle:@"Ok" - otherButtonTitles:nil]; - [alert show]; - - - -} --(void)requestLoading:(PF_FBRequest *)request{ - NSLog(@"%@",request); -} --(void)request:(PF_FBRequest *)request didFailWithError:(NSError *)error{ - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Failed" - message:@"Uploading to FaceBook Failed, Please try again." - delegate:self cancelButtonTitle:@"Ok" - otherButtonTitles:nil]; - [alert show]; - NSLog(@"%@",[error description]); -} - - -- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{ - switch (buttonIndex) { - case 1: - [self saveToAlbum]; - - break; - case 2: - [self displayComposerSheet]; - break; - case 3: - - [self postWall]; - break; - } -} - - -@end diff --git a/Files/ImageOverLayHandleViewController.xib b/Files/ImageOverLayHandleViewController.xib deleted file mode 100644 index 7c3513e..0000000 --- a/Files/ImageOverLayHandleViewController.xib +++ /dev/null @@ -1,135 +0,0 @@ - - - - 1296 - 11E53 - 2182 - 1138.47 - 569.00 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 - - - IBProxyObject - IBUIView - - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - PluginDependencyRecalculationVersion - - - - - IBFilesOwner - IBCocoaTouchFramework - - - IBFirstResponder - IBCocoaTouchFramework - - - - 274 - {{0, 20}, {320, 460}} - - - - - 3 - MQA - - 2 - - - - IBCocoaTouchFramework - - - - - - - view - - - - 3 - - - - - - 0 - - - - - - 1 - - - - - - -1 - - - File's Owner - - - -2 - - - - - - - ImageOverLayHandleViewController - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIResponder - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - - - 7 - - - - - ImageOverLayHandleViewController - UIViewController - - photoImageView - UIImageView - - - photoImageView - - photoImageView - UIImageView - - - - IBProjectSource - ./Classes/ImageOverLayHandleViewController.h - - - - - 0 - IBCocoaTouchFramework - - com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS - - - YES - 3 - 1181 - - diff --git a/Files/JerusalemBiblicalZoo-Info.plist b/Files/JerusalemBiblicalZoo-Info.plist index b27040b..4b64bae 100644 --- a/Files/JerusalemBiblicalZoo-Info.plist +++ b/Files/JerusalemBiblicalZoo-Info.plist @@ -5,24 +5,20 @@ CFBundleDevelopmentRegion he CFBundleDisplayName - ${PRODUCT_NAME} + Biblical Zoo CFBundleExecutable ${EXECUTABLE_NAME} - CFBundleIconFile - icon.png - CFBundleIconFiles - - - Icon.png - Icon@2x.png - CFBundleIcons CFBundlePrimaryIcon CFBundleIconFiles - + Icon-Small.png + Icon-Small@2x.png + Icon-72.png + Icon-72@2x.png + Icon-Small-50.png Icon.png Icon@2x.png @@ -30,6 +26,10 @@ + LSHasLocalizedDisplayName + + UILaunchImageFile + Opening.png CFBundleIdentifier com.shannoga.${PRODUCT_NAME:rfc1034identifier} CFBundleInfoDictionaryVersion @@ -61,10 +61,15 @@ MainWindow UIBackgroundModes + location audio UIPrerenderedIcon + UIRequiredDeviceCapabilities + + location-services + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/Files/JerusalemBiblicalZoo-Prefix.pch b/Files/JerusalemBiblicalZoo-Prefix.pch index b798cf9..368bb11 100644 --- a/Files/JerusalemBiblicalZoo-Prefix.pch +++ b/Files/JerusalemBiblicalZoo-Prefix.pch @@ -22,4 +22,5 @@ #import "Helper.h" #import "CoreData+MagicalRecord.h" #import "MBProgressHUD.h" + #import #endif diff --git a/Files/JerusalemBiblicalZoo.xcodeproj/project.pbxproj b/Files/JerusalemBiblicalZoo.xcodeproj/project.pbxproj index cce1d15..de6a919 100644 --- a/Files/JerusalemBiblicalZoo.xcodeproj/project.pbxproj +++ b/Files/JerusalemBiblicalZoo.xcodeproj/project.pbxproj @@ -22,6 +22,18 @@ 3906EE8A167A089200108162 /* style-news.css in Resources */ = {isa = PBXBuildFile; fileRef = 3906EE88167A089200108162 /* style-news.css */; }; 3906EE8B167A089200108162 /* style.css in Resources */ = {isa = PBXBuildFile; fileRef = 3906EE89167A089200108162 /* style.css */; }; 390A6FBF159221CC00F57F9B /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 390A6FBE159221CC00F57F9B /* MessageUI.framework */; }; + 391AF40B16B9D7AF00EAC84E /* opening_screen_day_he_5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 391AF3FF16B9D7AF00EAC84E /* opening_screen_day_he_5@2x.png */; }; + 391AF40C16B9D7AF00EAC84E /* opening_screen_day_he.png in Resources */ = {isa = PBXBuildFile; fileRef = 391AF40016B9D7AF00EAC84E /* opening_screen_day_he.png */; }; + 391AF40D16B9D7AF00EAC84E /* opening_screen_day_he@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 391AF40116B9D7AF00EAC84E /* opening_screen_day_he@2x.png */; }; + 391AF40E16B9D7AF00EAC84E /* opening_screen_night_en_5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 391AF40216B9D7AF00EAC84E /* opening_screen_night_en_5@2x.png */; }; + 391AF40F16B9D7AF00EAC84E /* opening_screen_night_en.png in Resources */ = {isa = PBXBuildFile; fileRef = 391AF40316B9D7AF00EAC84E /* opening_screen_night_en.png */; }; + 391AF41016B9D7AF00EAC84E /* opening_screen_night_en@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 391AF40416B9D7AF00EAC84E /* opening_screen_night_en@2x.png */; }; + 391AF41116B9D7AF00EAC84E /* opening_screen_night_he_5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 391AF40516B9D7AF00EAC84E /* opening_screen_night_he_5@2x.png */; }; + 391AF41216B9D7AF00EAC84E /* opening_screen_night_he.png in Resources */ = {isa = PBXBuildFile; fileRef = 391AF40616B9D7AF00EAC84E /* opening_screen_night_he.png */; }; + 391AF41316B9D7AF00EAC84E /* opening_screen_night_he@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 391AF40716B9D7AF00EAC84E /* opening_screen_night_he@2x.png */; }; + 391DA98616AC779400D9012D /* notification_sound.aif in Resources */ = {isa = PBXBuildFile; fileRef = 391DA98516AC779400D9012D /* notification_sound.aif */; }; + 391DA98916AC955000D9012D /* AnimalSpecificQuestionsTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 391DA98816AC955000D9012D /* AnimalSpecificQuestionsTableView.m */; }; + 391DA98A16AD137400D9012D /* AnimalQuestionAnswerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 391DA98C16AD137400D9012D /* AnimalQuestionAnswerViewController.xib */; }; 39209F1E1699A6D4004DFC9E /* 302-Unlock@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39209F1D1699A6D4004DFC9E /* 302-Unlock@2x.png */; }; 39209F231699CF58004DFC9E /* 013-Alram@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39209F201699CF58004DFC9E /* 013-Alram@2x.png */; }; 39209F241699CF58004DFC9E /* exhibits.png in Resources */ = {isa = PBXBuildFile; fileRef = 39209F211699CF58004DFC9E /* exhibits.png */; }; @@ -36,6 +48,7 @@ 39217B14158A2D3500DEA44C /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 39217B13158A2D3500DEA44C /* AssetsLibrary.framework */; }; 39217B16158A2D4900DEA44C /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 39217B15158A2D4900DEA44C /* AVFoundation.framework */; }; 392CB4DD16791A8B005A1E8C /* JerusalemBiblicalZooSeed.sqlite in Resources */ = {isa = PBXBuildFile; fileRef = 392CB4DC16791A8B005A1E8C /* JerusalemBiblicalZooSeed.sqlite */; }; + 3937993716B7FF7200559EA1 /* facebook_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3937993616B7FF7200559EA1 /* facebook_icon@2x.png */; }; 3940506915B95F3300FCE4D6 /* EventKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3940506815B95F3300FCE4D6 /* EventKit.framework */; }; 394B348716766C9D0021C507 /* Accounts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 394B348616766C9D0021C507 /* Accounts.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; 394B348916766CA60021C507 /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 394B348816766CA60021C507 /* Social.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; @@ -46,6 +59,9 @@ 39559478167DE0AA00F3737C /* AnimalAddPostView.m in Sources */ = {isa = PBXBuildFile; fileRef = 39559477167DE0A900F3737C /* AnimalAddPostView.m */; }; 3955947A167DEFEC00F3737C /* 155-Revert@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39559479167DEFEC00F3737C /* 155-Revert@2x.png */; }; 39579B00158878A700DCCFD9 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 39579AFF158878A700DCCFD9 /* CoreData.framework */; }; + 395DD4D416B13A450091F66F /* play@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 395DD4D216B13A450091F66F /* play@2x.png */; }; + 395DD4D516B13A450091F66F /* pouse@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 395DD4D316B13A450091F66F /* pouse@2x.png */; }; + 395DD4D716B13A860091F66F /* stop@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 395DD4D616B13A860091F66F /* stop@2x.png */; }; 39650F2116839D81008EA096 /* Icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39650F2016839D81008EA096 /* Icon@2x.png */; }; 39650F2416839D8A008EA096 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 39650F2316839D8A008EA096 /* Icon.png */; }; 39650F2716839F47008EA096 /* Icon-Small.png in Resources */ = {isa = PBXBuildFile; fileRef = 39650F2516839F47008EA096 /* Icon-Small.png */; }; @@ -99,6 +115,16 @@ 398F3D6D1681CCC2009FE911 /* zoo_logo600@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 398F3D6C1681CCBF009FE911 /* zoo_logo600@2x.png */; }; 3999F4131679070E00F18518 /* nav_tile@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3999F4121679070E00F18518 /* nav_tile@2x.png */; }; 39A39B86169724C500B37A06 /* MapAnnotationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 39A39B85169724C500B37A06 /* MapAnnotationView.m */; }; + 39A51D8A16A333D100247B7C /* BugSense-iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 39A51D8916A333D100247B7C /* BugSense-iOS.framework */; }; + 39A51D8F16A337E800247B7C /* hatchery_1.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39A51D8C16A337E800247B7C /* hatchery_1.jpg */; }; + 39A51D9016A337E800247B7C /* hatchery_2.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39A51D8D16A337E800247B7C /* hatchery_2.jpg */; }; + 39A51D9116A337E800247B7C /* hatchery_3.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39A51D8E16A337E800247B7C /* hatchery_3.jpg */; }; + 39A77F6E16BD9EAA008A0A4A /* Opening-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39A77F6816BD9EAA008A0A4A /* Opening-568h@2x.png */; }; + 39A77F6F16BD9EAA008A0A4A /* Opening.png in Resources */ = {isa = PBXBuildFile; fileRef = 39A77F6A16BD9EAA008A0A4A /* Opening.png */; }; + 39A77F7016BD9EAA008A0A4A /* Opening@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39A77F6C16BD9EAA008A0A4A /* Opening@2x.png */; }; + 39A77F7916BDA0E8008A0A4A /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 39A77F7616BDA0E8008A0A4A /* Icon-72.png */; }; + 39A77F7A16BDA0E8008A0A4A /* Icon-72@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39A77F7716BDA0E8008A0A4A /* Icon-72@2x.png */; }; + 39A77F7B16BDA0E8008A0A4A /* Icon-Small-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 39A77F7816BDA0E8008A0A4A /* Icon-Small-50.png */; }; 39A94AF316773DE3008A9CF6 /* jerusalemBiblicalZoo.xcdatamodel in Sources */ = {isa = PBXBuildFile; fileRef = 39A94AF116773DA6008A9CF6 /* jerusalemBiblicalZoo.xcdatamodel */; }; 39A94B091677BB96008A9CF6 /* LBYouTubeExtractor.m in Sources */ = {isa = PBXBuildFile; fileRef = 39A94B061677BB96008A9CF6 /* LBYouTubeExtractor.m */; }; 39A94B0A1677BB96008A9CF6 /* LBYouTubePlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 39A94B081677BB96008A9CF6 /* LBYouTubePlayerController.m */; }; @@ -186,8 +212,6 @@ 39ABDF6716772BE600025349 /* ExhibitsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDF4116772BE600025349 /* ExhibitsViewController.xib */; }; 39ABDF6816772BE600025349 /* ExhibitTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 39ABDF4316772BE600025349 /* ExhibitTableViewCell.m */; }; 39ABDF6916772BE600025349 /* FunViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 39ABDF4516772BE600025349 /* FunViewController.m */; }; - 39ABDF6B16772BE600025349 /* ImageOverLayHandleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 39ABDF4816772BE600025349 /* ImageOverLayHandleViewController.m */; }; - 39ABDF6C16772BE600025349 /* ImageOverLayHandleViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDF4916772BE600025349 /* ImageOverLayHandleViewController.xib */; }; 39ABDF9416772C0D00025349 /* Madad.m in Sources */ = {isa = PBXBuildFile; fileRef = 39ABDF6E16772C0D00025349 /* Madad.m */; }; 39ABDF9516772C0D00025349 /* MadadExplinationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 39ABDF7016772C0D00025349 /* MadadExplinationViewController.m */; }; 39ABDF9616772C0D00025349 /* MadadExplinationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDF7116772C0D00025349 /* MadadExplinationViewController.xib */; }; @@ -219,7 +243,6 @@ 39ABDFE616772C2D00025349 /* cloudsTile@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDFB616772C2D00025349 /* cloudsTile@2x.png */; }; 39ABDFE716772C2D00025349 /* conservation-indicator@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDFB716772C2D00025349 /* conservation-indicator@2x.png */; }; 39ABDFE816772C2D00025349 /* data@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDFB816772C2D00025349 /* data@2x.png */; }; - 39ABDFE916772C2D00025349 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDFB916772C2D00025349 /* Default-568h@2x.png */; }; 39ABDFEA16772C2D00025349 /* default-map-icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDFBA16772C2D00025349 /* default-map-icon@2x.png */; }; 39ABDFEB16772C2D00025349 /* description@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDFBB16772C2D00025349 /* description@2x.png */; }; 39ABDFEC16772C2D00025349 /* dis_map@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDFBC16772C2D00025349 /* dis_map@2x.png */; }; @@ -228,8 +251,6 @@ 39ABDFF916772C2D00025349 /* nearest@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDFC916772C2D00025349 /* nearest@2x.png */; }; 39ABDFFA16772C2D00025349 /* news_big_placeholder@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDFCA16772C2D00025349 /* news_big_placeholder@2x.png */; }; 39ABDFFB16772C2D00025349 /* news_placeholder@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDFCB16772C2D00025349 /* news_placeholder@2x.png */; }; - 39ABDFFC16772C2D00025349 /* opened_zoo_screen@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDFCC16772C2D00025349 /* opened_zoo_screen@2x.png */; }; - 39ABDFFD16772C2D00025349 /* opened_zoo_screen_en@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDFCD16772C2D00025349 /* opened_zoo_screen_en@2x.png */; }; 39ABDFFF16772C2D00025349 /* PagesBG@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDFCF16772C2D00025349 /* PagesBG@2x.png */; }; 39ABE00016772C2D00025349 /* PagesBG_clouds@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDFD016772C2D00025349 /* PagesBG_clouds@2x.png */; }; 39ABE00116772C2D00025349 /* pencil@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDFD116772C2D00025349 /* pencil@2x.png */; }; @@ -244,9 +265,7 @@ 39ABE00A16772C2D00025349 /* trees_bg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDFDA16772C2D00025349 /* trees_bg@2x.png */; }; 39ABE00B16772C2D00025349 /* zoodes@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39ABDFDB16772C2D00025349 /* zoodes@2x.png */; }; 39ABE01216772C7700025349 /* EventDetailsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE00C16772C7700025349 /* EventDetailsViewController.xib */; }; - 39ABE01316772C7700025349 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE00E16772C7700025349 /* Localizable.strings */; }; 39ABE01416772C7700025349 /* OpeningScreenViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE01016772C7700025349 /* OpeningScreenViewController.xib */; }; - 39ABE01A16772C8400025349 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE01616772C8400025349 /* InfoPlist.strings */; }; 39ABE02216772DC400025349 /* JerusalemBiblicalZooAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 39ABE02116772DBF00025349 /* JerusalemBiblicalZooAppDelegate.m */; }; 39ABE02A1677320E00025349 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 39ABE0291677320E00025349 /* main.m */; }; 39ABE02C1677326100025349 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE02B1677326100025349 /* MainWindow.xib */; }; @@ -490,10 +509,10 @@ 39ABE237167732BA00025349 /* south_african_giraffe_2@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE11C167732B900025349 /* south_african_giraffe_2@2x.jpg */; }; 39ABE238167732BA00025349 /* south_african_giraffe_3@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE11D167732B900025349 /* south_african_giraffe_3@2x.jpg */; }; 39ABE239167732BA00025349 /* south_african_giraffe_4@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE11E167732B900025349 /* south_african_giraffe_4@2x.jpg */; }; - 39ABE23A167732BA00025349 /* southern_cassowary_1@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE11F167732B900025349 /* southern_cassowary_1@2x.jpg */; }; - 39ABE23B167732BA00025349 /* southern_cassowary_2@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE120167732B900025349 /* southern_cassowary_2@2x.jpg */; }; - 39ABE23C167732BA00025349 /* southern_cassowary_3@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE121167732B900025349 /* southern_cassowary_3@2x.jpg */; }; - 39ABE23D167732BA00025349 /* southern_cassowary_4@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE122167732B900025349 /* southern_cassowary_4@2x.jpg */; }; + 39ABE23A167732BA00025349 /* double-wattled_cassowary_1@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE11F167732B900025349 /* double-wattled_cassowary_1@2x.jpg */; }; + 39ABE23B167732BA00025349 /* double-wattled_cassowary_2@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE120167732B900025349 /* double-wattled_cassowary_2@2x.jpg */; }; + 39ABE23C167732BA00025349 /* double-wattled_cassowary_3@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE121167732B900025349 /* double-wattled_cassowary_3@2x.jpg */; }; + 39ABE23D167732BA00025349 /* double-wattled_cassowary_4@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE122167732B900025349 /* double-wattled_cassowary_4@2x.jpg */; }; 39ABE23E167732BA00025349 /* spider_monkey_1@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE123167732B900025349 /* spider_monkey_1@2x.jpg */; }; 39ABE23F167732BA00025349 /* spider_monkey_2@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE124167732B900025349 /* spider_monkey_2@2x.jpg */; }; 39ABE240167732BA00025349 /* spider_monkey_3@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE125167732B900025349 /* spider_monkey_3@2x.jpg */; }; @@ -534,9 +553,14 @@ 39ABE263167732BA00025349 /* xenopus_frog_2@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE148167732B900025349 /* xenopus_frog_2@2x.jpg */; }; 39ABE264167732BA00025349 /* xenopus_frog_3@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE149167732B900025349 /* xenopus_frog_3@2x.jpg */; }; 39ABE265167732BA00025349 /* yellow_striped_poison_dart_frog_1@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39ABE14A167732B900025349 /* yellow_striped_poison_dart_frog_1@2x.jpg */; }; + 39B0517D16B5B24C004C9987 /* scarlet_macaw_1@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39B0517B16B5B24C004C9987 /* scarlet_macaw_1@2x.jpg */; }; + 39B0517E16B5B24C004C9987 /* scarlet_macaw_2@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39B0517C16B5B24C004C9987 /* scarlet_macaw_2@2x.jpg */; }; + 39B0518016B5BF1D004C9987 /* 088-Map_white@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39B0517F16B5BF1D004C9987 /* 088-Map_white@2x.png */; }; + 39B0518216B5C1BA004C9987 /* 248-QuestionCircleAlt_2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39B0518116B5C1BA004C9987 /* 248-QuestionCircleAlt_2@2x.png */; }; + 39B0518416B5CA56004C9987 /* info_en.html in Resources */ = {isa = PBXBuildFile; fileRef = 39B0518316B5CA56004C9987 /* info_en.html */; }; + 39B0518616B5CA6C004C9987 /* info_en.css in Resources */ = {isa = PBXBuildFile; fileRef = 39B0518516B5CA6C004C9987 /* info_en.css */; }; 39CCD3AB1693054B00CBD40A /* question@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39CCD3AA1693054B00CBD40A /* question@2x.png */; }; 39CCD3B2169306E800CBD40A /* AnimalQuestionAnswerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 39CCD3B0169306E400CBD40A /* AnimalQuestionAnswerViewController.m */; }; - 39CCD3B3169306E800CBD40A /* AnimalQuestionAnswerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 39CCD3B1169306E600CBD40A /* AnimalQuestionAnswerViewController.xib */; }; 39CCD3B5169430EA00CBD40A /* questions@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39CCD3B4169430EA00CBD40A /* questions@2x.png */; }; 39CCD3B81694375300CBD40A /* camera_en@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39CCD3B61694375300CBD40A /* camera_en@2x.png */; }; 39CCD3B91694375300CBD40A /* camera_he@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 39CCD3B71694375300CBD40A /* camera_he@2x.png */; }; @@ -551,7 +575,6 @@ 39CCD3CF1694596600CBD40A /* children's_zoo_2@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39CCD3CB1694596500CBD40A /* children's_zoo_2@2x.jpg */; }; 39CCD3D01694596600CBD40A /* children's_zoo_3@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39CCD3CC1694596500CBD40A /* children's_zoo_3@2x.jpg */; }; 39CCD3D11694596600CBD40A /* children's_zoo_4@2x.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 39CCD3CD1694596600CBD40A /* children's_zoo_4@2x.jpg */; }; - 39CCD3D51694A0E500CBD40A /* notification_sound.m4a in Resources */ = {isa = PBXBuildFile; fileRef = 39CCD3D41694A0E500CBD40A /* notification_sound.m4a */; }; 39ED9E831587AFB200C7D43D /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 39ED9E821587AFB200C7D43D /* MapKit.framework */; }; 39FC1655169AF1A600E60F99 /* ZooInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 39FC1654169AF1A600E60F99 /* ZooInfoViewController.m */; }; 39FC165C169AF22300E60F99 /* info.html in Resources */ = {isa = PBXBuildFile; fileRef = 39FC165B169AF22300E60F99 /* info.html */; }; @@ -579,6 +602,20 @@ 3906EE88167A089200108162 /* style-news.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = "style-news.css"; sourceTree = SOURCE_ROOT; }; 3906EE89167A089200108162 /* style.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = style.css; sourceTree = SOURCE_ROOT; }; 390A6FBE159221CC00F57F9B /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; }; + 391AF3FF16B9D7AF00EAC84E /* opening_screen_day_he_5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "opening_screen_day_he_5@2x.png"; sourceTree = ""; }; + 391AF40016B9D7AF00EAC84E /* opening_screen_day_he.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = opening_screen_day_he.png; sourceTree = ""; }; + 391AF40116B9D7AF00EAC84E /* opening_screen_day_he@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "opening_screen_day_he@2x.png"; sourceTree = ""; }; + 391AF40216B9D7AF00EAC84E /* opening_screen_night_en_5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "opening_screen_night_en_5@2x.png"; sourceTree = ""; }; + 391AF40316B9D7AF00EAC84E /* opening_screen_night_en.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = opening_screen_night_en.png; sourceTree = ""; }; + 391AF40416B9D7AF00EAC84E /* opening_screen_night_en@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "opening_screen_night_en@2x.png"; sourceTree = ""; }; + 391AF40516B9D7AF00EAC84E /* opening_screen_night_he_5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "opening_screen_night_he_5@2x.png"; sourceTree = ""; }; + 391AF40616B9D7AF00EAC84E /* opening_screen_night_he.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = opening_screen_night_he.png; sourceTree = ""; }; + 391AF40716B9D7AF00EAC84E /* opening_screen_night_he@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "opening_screen_night_he@2x.png"; sourceTree = ""; }; + 391DA98516AC779400D9012D /* notification_sound.aif */ = {isa = PBXFileReference; lastKnownFileType = file; path = notification_sound.aif; sourceTree = ""; }; + 391DA98716AC955000D9012D /* AnimalSpecificQuestionsTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnimalSpecificQuestionsTableView.h; sourceTree = ""; }; + 391DA98816AC955000D9012D /* AnimalSpecificQuestionsTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AnimalSpecificQuestionsTableView.m; sourceTree = ""; }; + 391DA98B16AD137400D9012D /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/AnimalQuestionAnswerViewController.xib; sourceTree = ""; }; + 391DA98D16AD137600D9012D /* he */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = he; path = he.lproj/AnimalQuestionAnswerViewController.xib; sourceTree = ""; }; 39209F1D1699A6D4004DFC9E /* 302-Unlock@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "302-Unlock@2x.png"; sourceTree = ""; }; 39209F201699CF58004DFC9E /* 013-Alram@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "013-Alram@2x.png"; sourceTree = ""; }; 39209F211699CF58004DFC9E /* exhibits.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = exhibits.png; sourceTree = ""; }; @@ -593,6 +630,7 @@ 39217B13158A2D3500DEA44C /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; }; 39217B15158A2D4900DEA44C /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; 392CB4DC16791A8B005A1E8C /* JerusalemBiblicalZooSeed.sqlite */ = {isa = PBXFileReference; lastKnownFileType = file; path = JerusalemBiblicalZooSeed.sqlite; sourceTree = ""; }; + 3937993616B7FF7200559EA1 /* facebook_icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "facebook_icon@2x.png"; sourceTree = ""; }; 3940506815B95F3300FCE4D6 /* EventKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = EventKit.framework; path = System/Library/Frameworks/EventKit.framework; sourceTree = SDKROOT; }; 394B348616766C9D0021C507 /* Accounts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accounts.framework; path = System/Library/Frameworks/Accounts.framework; sourceTree = SDKROOT; }; 394B348816766CA60021C507 /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; }; @@ -604,6 +642,9 @@ 39559477167DE0A900F3737C /* AnimalAddPostView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AnimalAddPostView.m; sourceTree = ""; }; 39559479167DEFEC00F3737C /* 155-Revert@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "155-Revert@2x.png"; sourceTree = ""; }; 39579AFF158878A700DCCFD9 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; + 395DD4D216B13A450091F66F /* play@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "play@2x.png"; sourceTree = ""; }; + 395DD4D316B13A450091F66F /* pouse@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pouse@2x.png"; sourceTree = ""; }; + 395DD4D616B13A860091F66F /* stop@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stop@2x.png"; sourceTree = ""; }; 39650F2016839D81008EA096 /* Icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon@2x.png"; sourceTree = ""; }; 39650F2316839D8A008EA096 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = ""; }; 39650F2516839F47008EA096 /* Icon-Small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-Small.png"; path = "../Icon-Small.png"; sourceTree = ""; }; @@ -664,6 +705,20 @@ 3999F4121679070E00F18518 /* nav_tile@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "nav_tile@2x.png"; sourceTree = ""; }; 39A39B84169724C500B37A06 /* MapAnnotationView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapAnnotationView.h; sourceTree = ""; }; 39A39B85169724C500B37A06 /* MapAnnotationView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MapAnnotationView.m; sourceTree = ""; }; + 39A51D8916A333D100247B7C /* BugSense-iOS.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = "BugSense-iOS.framework"; sourceTree = ""; }; + 39A51D8C16A337E800247B7C /* hatchery_1.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = hatchery_1.jpg; sourceTree = ""; }; + 39A51D8D16A337E800247B7C /* hatchery_2.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = hatchery_2.jpg; sourceTree = ""; }; + 39A51D8E16A337E800247B7C /* hatchery_3.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = hatchery_3.jpg; sourceTree = ""; }; + 39A77F6916BD9EAA008A0A4A /* en */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = en; path = "en.lproj/Opening-568h@2x.png"; sourceTree = ""; }; + 39A77F6B16BD9EAA008A0A4A /* en */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = en; path = en.lproj/Opening.png; sourceTree = ""; }; + 39A77F6D16BD9EAA008A0A4A /* en */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = en; path = "en.lproj/Opening@2x.png"; sourceTree = ""; }; + 39A77F7116BD9EB9008A0A4A /* he */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = he; path = "he.lproj/Opening-568h@2x.png"; sourceTree = ""; }; + 39A77F7216BD9EB9008A0A4A /* he */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = he; path = he.lproj/Opening.png; sourceTree = ""; }; + 39A77F7316BD9EB9008A0A4A /* he */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = he; path = "he.lproj/Opening@2x.png"; sourceTree = ""; }; + 39A77F7616BDA0E8008A0A4A /* Icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-72.png"; path = "../Icon-72.png"; sourceTree = ""; }; + 39A77F7716BDA0E8008A0A4A /* Icon-72@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-72@2x.png"; path = "../Icon-72@2x.png"; sourceTree = ""; }; + 39A77F7816BDA0E8008A0A4A /* Icon-Small-50.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-Small-50.png"; path = "../Icon-Small-50.png"; sourceTree = ""; }; + 39A77F7C16BDA27E008A0A4A /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/InfoPlist.strings; sourceTree = SOURCE_ROOT; }; 39A94AE516773455008A9CF6 /* he */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = he; path = he.lproj/EventDetailsViewController.xib; sourceTree = SOURCE_ROOT; }; 39A94AF116773DA6008A9CF6 /* jerusalemBiblicalZoo.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = jerusalemBiblicalZoo.xcdatamodel; path = jerusalemBiblicalZoo.xcdatamodeld/jerusalemBiblicalZoo.xcdatamodel; sourceTree = SOURCE_ROOT; }; 39A94AF81677416B008A9CF6 /* EventsTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventsTableViewController.h; sourceTree = ""; }; @@ -842,9 +897,6 @@ 39ABDF4316772BE600025349 /* ExhibitTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ExhibitTableViewCell.m; sourceTree = SOURCE_ROOT; }; 39ABDF4416772BE600025349 /* FunViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FunViewController.h; sourceTree = SOURCE_ROOT; }; 39ABDF4516772BE600025349 /* FunViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FunViewController.m; sourceTree = SOURCE_ROOT; }; - 39ABDF4716772BE600025349 /* ImageOverLayHandleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageOverLayHandleViewController.h; sourceTree = SOURCE_ROOT; }; - 39ABDF4816772BE600025349 /* ImageOverLayHandleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ImageOverLayHandleViewController.m; sourceTree = SOURCE_ROOT; }; - 39ABDF4916772BE600025349 /* ImageOverLayHandleViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ImageOverLayHandleViewController.xib; sourceTree = SOURCE_ROOT; }; 39ABDF6D16772C0D00025349 /* Madad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Madad.h; sourceTree = SOURCE_ROOT; }; 39ABDF6E16772C0D00025349 /* Madad.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Madad.m; sourceTree = SOURCE_ROOT; }; 39ABDF6F16772C0D00025349 /* MadadExplinationViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MadadExplinationViewController.h; sourceTree = SOURCE_ROOT; }; @@ -891,7 +943,6 @@ 39ABDFB616772C2D00025349 /* cloudsTile@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "cloudsTile@2x.png"; sourceTree = ""; }; 39ABDFB716772C2D00025349 /* conservation-indicator@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "conservation-indicator@2x.png"; sourceTree = ""; }; 39ABDFB816772C2D00025349 /* data@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "data@2x.png"; sourceTree = ""; }; - 39ABDFB916772C2D00025349 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; 39ABDFBA16772C2D00025349 /* default-map-icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "default-map-icon@2x.png"; sourceTree = ""; }; 39ABDFBB16772C2D00025349 /* description@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "description@2x.png"; sourceTree = ""; }; 39ABDFBC16772C2D00025349 /* dis_map@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "dis_map@2x.png"; sourceTree = ""; }; @@ -900,8 +951,6 @@ 39ABDFC916772C2D00025349 /* nearest@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "nearest@2x.png"; sourceTree = ""; }; 39ABDFCA16772C2D00025349 /* news_big_placeholder@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "news_big_placeholder@2x.png"; sourceTree = ""; }; 39ABDFCB16772C2D00025349 /* news_placeholder@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "news_placeholder@2x.png"; sourceTree = ""; }; - 39ABDFCC16772C2D00025349 /* opened_zoo_screen@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "opened_zoo_screen@2x.png"; sourceTree = ""; }; - 39ABDFCD16772C2D00025349 /* opened_zoo_screen_en@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "opened_zoo_screen_en@2x.png"; sourceTree = ""; }; 39ABDFCF16772C2D00025349 /* PagesBG@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PagesBG@2x.png"; sourceTree = ""; }; 39ABDFD016772C2D00025349 /* PagesBG_clouds@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PagesBG_clouds@2x.png"; sourceTree = ""; }; 39ABDFD116772C2D00025349 /* pencil@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pencil@2x.png"; sourceTree = ""; }; @@ -915,11 +964,8 @@ 39ABDFD916772C2D00025349 /* small_logo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "small_logo@2x.png"; sourceTree = ""; }; 39ABDFDA16772C2D00025349 /* trees_bg@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "trees_bg@2x.png"; sourceTree = ""; }; 39ABDFDB16772C2D00025349 /* zoodes@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "zoodes@2x.png"; sourceTree = ""; }; - 39ABE00F16772C7700025349 /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/Localizable.strings; sourceTree = SOURCE_ROOT; }; 39ABE01116772C7700025349 /* he */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = he; path = he.lproj/OpeningScreenViewController.xib; sourceTree = SOURCE_ROOT; }; 39ABE01516772C8400025349 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/EventDetailsViewController.xib; sourceTree = SOURCE_ROOT; }; - 39ABE01716772C8400025349 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = SOURCE_ROOT; }; - 39ABE01816772C8400025349 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = SOURCE_ROOT; }; 39ABE01916772C8400025349 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/OpeningScreenViewController.xib; sourceTree = SOURCE_ROOT; }; 39ABE02016772DBF00025349 /* JerusalemBiblicalZooAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JerusalemBiblicalZooAppDelegate.h; sourceTree = ""; }; 39ABE02116772DBF00025349 /* JerusalemBiblicalZooAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JerusalemBiblicalZooAppDelegate.m; sourceTree = ""; }; @@ -1165,10 +1211,10 @@ 39ABE11C167732B900025349 /* south_african_giraffe_2@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "south_african_giraffe_2@2x.jpg"; sourceTree = ""; }; 39ABE11D167732B900025349 /* south_african_giraffe_3@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "south_african_giraffe_3@2x.jpg"; sourceTree = ""; }; 39ABE11E167732B900025349 /* south_african_giraffe_4@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "south_african_giraffe_4@2x.jpg"; sourceTree = ""; }; - 39ABE11F167732B900025349 /* southern_cassowary_1@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "southern_cassowary_1@2x.jpg"; sourceTree = ""; }; - 39ABE120167732B900025349 /* southern_cassowary_2@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "southern_cassowary_2@2x.jpg"; sourceTree = ""; }; - 39ABE121167732B900025349 /* southern_cassowary_3@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "southern_cassowary_3@2x.jpg"; sourceTree = ""; }; - 39ABE122167732B900025349 /* southern_cassowary_4@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "southern_cassowary_4@2x.jpg"; sourceTree = ""; }; + 39ABE11F167732B900025349 /* double-wattled_cassowary_1@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "double-wattled_cassowary_1@2x.jpg"; sourceTree = ""; }; + 39ABE120167732B900025349 /* double-wattled_cassowary_2@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "double-wattled_cassowary_2@2x.jpg"; sourceTree = ""; }; + 39ABE121167732B900025349 /* double-wattled_cassowary_3@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "double-wattled_cassowary_3@2x.jpg"; sourceTree = ""; }; + 39ABE122167732B900025349 /* double-wattled_cassowary_4@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "double-wattled_cassowary_4@2x.jpg"; sourceTree = ""; }; 39ABE123167732B900025349 /* spider_monkey_1@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "spider_monkey_1@2x.jpg"; sourceTree = ""; }; 39ABE124167732B900025349 /* spider_monkey_2@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "spider_monkey_2@2x.jpg"; sourceTree = ""; }; 39ABE125167732B900025349 /* spider_monkey_3@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "spider_monkey_3@2x.jpg"; sourceTree = ""; }; @@ -1209,10 +1255,15 @@ 39ABE148167732B900025349 /* xenopus_frog_2@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "xenopus_frog_2@2x.jpg"; sourceTree = ""; }; 39ABE149167732B900025349 /* xenopus_frog_3@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "xenopus_frog_3@2x.jpg"; sourceTree = ""; }; 39ABE14A167732B900025349 /* yellow_striped_poison_dart_frog_1@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "yellow_striped_poison_dart_frog_1@2x.jpg"; sourceTree = ""; }; + 39B0517B16B5B24C004C9987 /* scarlet_macaw_1@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "scarlet_macaw_1@2x.jpg"; sourceTree = ""; }; + 39B0517C16B5B24C004C9987 /* scarlet_macaw_2@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "scarlet_macaw_2@2x.jpg"; sourceTree = ""; }; + 39B0517F16B5BF1D004C9987 /* 088-Map_white@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "088-Map_white@2x.png"; sourceTree = ""; }; + 39B0518116B5C1BA004C9987 /* 248-QuestionCircleAlt_2@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "248-QuestionCircleAlt_2@2x.png"; sourceTree = ""; }; + 39B0518316B5CA56004C9987 /* info_en.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = info_en.html; sourceTree = SOURCE_ROOT; }; + 39B0518516B5CA6C004C9987 /* info_en.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = info_en.css; sourceTree = SOURCE_ROOT; }; 39CCD3AA1693054B00CBD40A /* question@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "question@2x.png"; sourceTree = ""; }; 39CCD3AF169306E400CBD40A /* AnimalQuestionAnswerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnimalQuestionAnswerViewController.h; sourceTree = ""; }; 39CCD3B0169306E400CBD40A /* AnimalQuestionAnswerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AnimalQuestionAnswerViewController.m; sourceTree = ""; }; - 39CCD3B1169306E600CBD40A /* AnimalQuestionAnswerViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AnimalQuestionAnswerViewController.xib; sourceTree = ""; }; 39CCD3B4169430EA00CBD40A /* questions@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "questions@2x.png"; sourceTree = ""; }; 39CCD3B61694375300CBD40A /* camera_en@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "camera_en@2x.png"; sourceTree = ""; }; 39CCD3B71694375300CBD40A /* camera_he@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "camera_he@2x.png"; sourceTree = ""; }; @@ -1228,7 +1279,6 @@ 39CCD3CB1694596500CBD40A /* children's_zoo_2@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "children's_zoo_2@2x.jpg"; sourceTree = ""; }; 39CCD3CC1694596500CBD40A /* children's_zoo_3@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "children's_zoo_3@2x.jpg"; sourceTree = ""; }; 39CCD3CD1694596600CBD40A /* children's_zoo_4@2x.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "children's_zoo_4@2x.jpg"; sourceTree = ""; }; - 39CCD3D41694A0E500CBD40A /* notification_sound.m4a */ = {isa = PBXFileReference; lastKnownFileType = file; name = notification_sound.m4a; path = "UI images/notification_sound.m4a"; sourceTree = SOURCE_ROOT; }; 39ED9E821587AFB200C7D43D /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; }; 39FC1653169AF1A600E60F99 /* ZooInfoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZooInfoViewController.h; sourceTree = ""; }; 39FC1654169AF1A600E60F99 /* ZooInfoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZooInfoViewController.m; sourceTree = ""; }; @@ -1242,6 +1292,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 39A51D8A16A333D100247B7C /* BugSense-iOS.framework in Frameworks */, 394B348F16766D5B0021C507 /* AdSupport.framework in Frameworks */, 09BEF34C13D51C3F001BBCDB /* Security.framework in Frameworks */, 394B348D16766D100021C507 /* libsqlite3.dylib in Frameworks */, @@ -1279,15 +1330,25 @@ 09ABC06213A1D52D009C3FCF = { isa = PBXGroup; children = ( + 39A77F6816BD9EAA008A0A4A /* Opening-568h@2x.png */, + 39A77F6A16BD9EAA008A0A4A /* Opening.png */, + 39A77F6C16BD9EAA008A0A4A /* Opening@2x.png */, + 391DA98716AC955000D9012D /* AnimalSpecificQuestionsTableView.h */, + 391DA98816AC955000D9012D /* AnimalSpecificQuestionsTableView.m */, + 391DA98416AC779400D9012D /* UI Sounds */, + 39A51D8916A333D100247B7C /* BugSense-iOS.framework */, 39FC1653169AF1A600E60F99 /* ZooInfoViewController.h */, 39FC1654169AF1A600E60F99 /* ZooInfoViewController.m */, 39CCD3AF169306E400CBD40A /* AnimalQuestionAnswerViewController.h */, 39CCD3B0169306E400CBD40A /* AnimalQuestionAnswerViewController.m */, - 39CCD3B1169306E600CBD40A /* AnimalQuestionAnswerViewController.xib */, + 391DA98C16AD137400D9012D /* AnimalQuestionAnswerViewController.xib */, 39650F2316839D8A008EA096 /* Icon.png */, 39650F2016839D81008EA096 /* Icon@2x.png */, 39650F2516839F47008EA096 /* Icon-Small.png */, 39650F2616839F47008EA096 /* Icon-Small@2x.png */, + 39A77F7616BDA0E8008A0A4A /* Icon-72.png */, + 39A77F7716BDA0E8008A0A4A /* Icon-72@2x.png */, + 39A77F7816BDA0E8008A0A4A /* Icon-Small-50.png */, 398F3D4F167F7B1E009FE911 /* FunAnimalImageOverlayViewController.h */, 398F3D50167F7B1E009FE911 /* FunAnimalImageOverlayViewController.m */, 392CB4DC16791A8B005A1E8C /* JerusalemBiblicalZooSeed.sqlite */, @@ -1319,8 +1380,8 @@ 39ABDF1C16772BE600025349 /* AnimalUserPostsViewer.h */, 39ABDF1D16772BE600025349 /* AnimalUserPostsViewer.m */, 39ABDF1E16772BE600025349 /* AnimalViewController.h */, - 39ABDF4016772BE600025349 /* ExhibitsViewController.m */, 39ABDF1F16772BE600025349 /* AnimalViewController.m */, + 39ABDF4016772BE600025349 /* ExhibitsViewController.m */, 39ABDF2016772BE600025349 /* AnimalViewToolbar.h */, 39ABDF2116772BE600025349 /* AnimalViewToolbar.m */, 39ABDF2216772BE600025349 /* Animations.h */, @@ -1350,9 +1411,6 @@ 39ABDF4316772BE600025349 /* ExhibitTableViewCell.m */, 39ABDF4416772BE600025349 /* FunViewController.h */, 39ABDF4516772BE600025349 /* FunViewController.m */, - 39ABDF4716772BE600025349 /* ImageOverLayHandleViewController.h */, - 39ABDF4816772BE600025349 /* ImageOverLayHandleViewController.m */, - 39ABDF4916772BE600025349 /* ImageOverLayHandleViewController.xib */, 39ABDF6D16772C0D00025349 /* Madad.h */, 39ABDF6E16772C0D00025349 /* Madad.m */, 39ABDF6F16772C0D00025349 /* MadadExplinationViewController.h */, @@ -1395,9 +1453,7 @@ 39CCD3BC169437EA00CBD40A /* FunViewController.xib */, 398F3D6216811056009FE911 /* SignForFreindViewController.xib */, 39ABE00C16772C7700025349 /* EventDetailsViewController.xib */, - 39ABE00E16772C7700025349 /* Localizable.strings */, 39ABE02B1677326100025349 /* MainWindow.xib */, - 39ABE01616772C8400025349 /* InfoPlist.strings */, 39ABE01016772C7700025349 /* OpeningScreenViewController.xib */, 39ABDE7A16772BA800025349 /* Extaernal */, 39ABDE5016772B7700025349 /* Helpers */, @@ -1457,8 +1513,9 @@ isa = PBXGroup; children = ( 39FC165D169AF65500E60F99 /* info.css */, + 39B0518516B5CA6C004C9987 /* info_en.css */, 39FC165B169AF22300E60F99 /* info.html */, - 39CCD3D41694A0E500CBD40A /* notification_sound.m4a */, + 39B0518316B5CA56004C9987 /* info_en.html */, 39650F5116844327008EA096 /* audio guides */, 3906EE88167A089200108162 /* style-news.css */, 3906EE89167A089200108162 /* style.css */, @@ -1477,6 +1534,14 @@ path = ParseStarterProject; sourceTree = ""; }; + 391DA98416AC779400D9012D /* UI Sounds */ = { + isa = PBXGroup; + children = ( + 391DA98516AC779400D9012D /* notification_sound.aif */, + ); + path = "UI Sounds"; + sourceTree = ""; + }; 39650F5116844327008EA096 /* audio guides */ = { isa = PBXGroup; children = ( @@ -1733,6 +1798,20 @@ 39ABDFAB16772C2D00025349 /* UI images */ = { isa = PBXGroup; children = ( + 391AF3FF16B9D7AF00EAC84E /* opening_screen_day_he_5@2x.png */, + 391AF40016B9D7AF00EAC84E /* opening_screen_day_he.png */, + 391AF40116B9D7AF00EAC84E /* opening_screen_day_he@2x.png */, + 391AF40216B9D7AF00EAC84E /* opening_screen_night_en_5@2x.png */, + 391AF40316B9D7AF00EAC84E /* opening_screen_night_en.png */, + 391AF40416B9D7AF00EAC84E /* opening_screen_night_en@2x.png */, + 391AF40516B9D7AF00EAC84E /* opening_screen_night_he_5@2x.png */, + 391AF40616B9D7AF00EAC84E /* opening_screen_night_he.png */, + 391AF40716B9D7AF00EAC84E /* opening_screen_night_he@2x.png */, + 3937993616B7FF7200559EA1 /* facebook_icon@2x.png */, + 39B0517F16B5BF1D004C9987 /* 088-Map_white@2x.png */, + 395DD4D616B13A860091F66F /* stop@2x.png */, + 395DD4D216B13A450091F66F /* play@2x.png */, + 395DD4D316B13A450091F66F /* pouse@2x.png */, 39209F201699CF58004DFC9E /* 013-Alram@2x.png */, 39209F211699CF58004DFC9E /* exhibits.png */, 39209F221699CF58004DFC9E /* exhibits@2x.png */, @@ -1762,7 +1841,6 @@ 39ABDFB616772C2D00025349 /* cloudsTile@2x.png */, 39ABDFB716772C2D00025349 /* conservation-indicator@2x.png */, 39ABDFB816772C2D00025349 /* data@2x.png */, - 39ABDFB916772C2D00025349 /* Default-568h@2x.png */, 39ABDFBA16772C2D00025349 /* default-map-icon@2x.png */, 39ABDFBB16772C2D00025349 /* description@2x.png */, 398F3D5E168109FB009FE911 /* fun_friend_sign@2x.png */, @@ -1775,8 +1853,6 @@ 39209F281699D5B4004DFC9E /* 088-Map@2x.png */, 39ABDFCB16772C2D00025349 /* news_placeholder@2x.png */, 39209F261699D595004DFC9E /* 056-PlusCircle@2x.png */, - 39ABDFCC16772C2D00025349 /* opened_zoo_screen@2x.png */, - 39ABDFCD16772C2D00025349 /* opened_zoo_screen_en@2x.png */, 39ABDFCF16772C2D00025349 /* PagesBG@2x.png */, 39ABDFD016772C2D00025349 /* PagesBG_clouds@2x.png */, 39ABDFD116772C2D00025349 /* pencil@2x.png */, @@ -1793,6 +1869,7 @@ 39ABDFD916772C2D00025349 /* small_logo@2x.png */, 39ABDFDA16772C2D00025349 /* trees_bg@2x.png */, 39ABDFDB16772C2D00025349 /* zoodes@2x.png */, + 39B0518116B5C1BA004C9987 /* 248-QuestionCircleAlt_2@2x.png */, ); path = "UI images"; sourceTree = SOURCE_ROOT; @@ -1800,6 +1877,11 @@ 39ABE02F167732B900025349 /* Final resize zoo images */ = { isa = PBXGroup; children = ( + 39B0517B16B5B24C004C9987 /* scarlet_macaw_1@2x.jpg */, + 39B0517C16B5B24C004C9987 /* scarlet_macaw_2@2x.jpg */, + 39A51D8C16A337E800247B7C /* hatchery_1.jpg */, + 39A51D8D16A337E800247B7C /* hatchery_2.jpg */, + 39A51D8E16A337E800247B7C /* hatchery_3.jpg */, 39CCD3CA1694596400CBD40A /* children's_zoo_1@2x.jpg */, 39CCD3CB1694596500CBD40A /* children's_zoo_2@2x.jpg */, 39CCD3CC1694596500CBD40A /* children's_zoo_3@2x.jpg */, @@ -2049,10 +2131,10 @@ 39ABE11C167732B900025349 /* south_african_giraffe_2@2x.jpg */, 39ABE11D167732B900025349 /* south_african_giraffe_3@2x.jpg */, 39ABE11E167732B900025349 /* south_african_giraffe_4@2x.jpg */, - 39ABE11F167732B900025349 /* southern_cassowary_1@2x.jpg */, - 39ABE120167732B900025349 /* southern_cassowary_2@2x.jpg */, - 39ABE121167732B900025349 /* southern_cassowary_3@2x.jpg */, - 39ABE122167732B900025349 /* southern_cassowary_4@2x.jpg */, + 39ABE11F167732B900025349 /* double-wattled_cassowary_1@2x.jpg */, + 39ABE120167732B900025349 /* double-wattled_cassowary_2@2x.jpg */, + 39ABE121167732B900025349 /* double-wattled_cassowary_3@2x.jpg */, + 39ABE122167732B900025349 /* double-wattled_cassowary_4@2x.jpg */, 39ABE123167732B900025349 /* spider_monkey_1@2x.jpg */, 39ABE124167732B900025349 /* spider_monkey_2@2x.jpg */, 39ABE125167732B900025349 /* spider_monkey_3@2x.jpg */, @@ -2164,7 +2246,6 @@ 39ABDF4B16772BE600025349 /* AlbumViewController.xib in Resources */, 39ABDF6716772BE600025349 /* ExhibitsViewController.xib in Resources */, 39CCD3BA169437EA00CBD40A /* FunViewController.xib in Resources */, - 39ABDF6C16772BE600025349 /* ImageOverLayHandleViewController.xib in Resources */, 39ABDF9616772C0D00025349 /* MadadExplinationViewController.xib in Resources */, 39ABDF9E16772C0D00025349 /* PhotoDetailViewController.xib in Resources */, 39ABDFA816772C0D00025349 /* TileMapViewController.xib in Resources */, @@ -2181,7 +2262,6 @@ 39ABDFE616772C2D00025349 /* cloudsTile@2x.png in Resources */, 39ABDFE716772C2D00025349 /* conservation-indicator@2x.png in Resources */, 39ABDFE816772C2D00025349 /* data@2x.png in Resources */, - 39ABDFE916772C2D00025349 /* Default-568h@2x.png in Resources */, 39ABDFEA16772C2D00025349 /* default-map-icon@2x.png in Resources */, 39ABDFEB16772C2D00025349 /* description@2x.png in Resources */, 39ABDFEC16772C2D00025349 /* dis_map@2x.png in Resources */, @@ -2190,8 +2270,6 @@ 39ABDFF916772C2D00025349 /* nearest@2x.png in Resources */, 39ABDFFA16772C2D00025349 /* news_big_placeholder@2x.png in Resources */, 39ABDFFB16772C2D00025349 /* news_placeholder@2x.png in Resources */, - 39ABDFFC16772C2D00025349 /* opened_zoo_screen@2x.png in Resources */, - 39ABDFFD16772C2D00025349 /* opened_zoo_screen_en@2x.png in Resources */, 39ABDFFF16772C2D00025349 /* PagesBG@2x.png in Resources */, 39ABE00016772C2D00025349 /* PagesBG_clouds@2x.png in Resources */, 39ABE00116772C2D00025349 /* pencil@2x.png in Resources */, @@ -2206,9 +2284,7 @@ 39ABE00A16772C2D00025349 /* trees_bg@2x.png in Resources */, 39ABE00B16772C2D00025349 /* zoodes@2x.png in Resources */, 39ABE01216772C7700025349 /* EventDetailsViewController.xib in Resources */, - 39ABE01316772C7700025349 /* Localizable.strings in Resources */, 39ABE01416772C7700025349 /* OpeningScreenViewController.xib in Resources */, - 39ABE01A16772C8400025349 /* InfoPlist.strings in Resources */, 398F3D6016811056009FE911 /* SignForFreindViewController.xib in Resources */, 39ABE02C1677326100025349 /* MainWindow.xib in Resources */, 39ABE02E1677328300025349 /* Tiles in Resources */, @@ -2451,10 +2527,10 @@ 39ABE237167732BA00025349 /* south_african_giraffe_2@2x.jpg in Resources */, 39ABE238167732BA00025349 /* south_african_giraffe_3@2x.jpg in Resources */, 39ABE239167732BA00025349 /* south_african_giraffe_4@2x.jpg in Resources */, - 39ABE23A167732BA00025349 /* southern_cassowary_1@2x.jpg in Resources */, - 39ABE23B167732BA00025349 /* southern_cassowary_2@2x.jpg in Resources */, - 39ABE23C167732BA00025349 /* southern_cassowary_3@2x.jpg in Resources */, - 39ABE23D167732BA00025349 /* southern_cassowary_4@2x.jpg in Resources */, + 39ABE23A167732BA00025349 /* double-wattled_cassowary_1@2x.jpg in Resources */, + 39ABE23B167732BA00025349 /* double-wattled_cassowary_2@2x.jpg in Resources */, + 39ABE23C167732BA00025349 /* double-wattled_cassowary_3@2x.jpg in Resources */, + 39ABE23D167732BA00025349 /* double-wattled_cassowary_4@2x.jpg in Resources */, 39ABE23E167732BA00025349 /* spider_monkey_1@2x.jpg in Resources */, 39ABE23F167732BA00025349 /* spider_monkey_2@2x.jpg in Resources */, 39ABE240167732BA00025349 /* spider_monkey_3@2x.jpg in Resources */, @@ -2535,7 +2611,7 @@ 39650F501684431F008EA096 /* wet_side_story_he.m4a in Resources */, 39650F681684663B008EA096 /* 248-QuestionCircleAlt@2x.png in Resources */, 39CCD3AB1693054B00CBD40A /* question@2x.png in Resources */, - 39CCD3B3169306E800CBD40A /* AnimalQuestionAnswerViewController.xib in Resources */, + 391DA98A16AD137400D9012D /* AnimalQuestionAnswerViewController.xib in Resources */, 39CCD3B5169430EA00CBD40A /* questions@2x.png in Resources */, 39CCD3B81694375300CBD40A /* camera_en@2x.png in Resources */, 39CCD3B91694375300CBD40A /* camera_he@2x.png in Resources */, @@ -2549,7 +2625,6 @@ 39CCD3CF1694596600CBD40A /* children's_zoo_2@2x.jpg in Resources */, 39CCD3D01694596600CBD40A /* children's_zoo_3@2x.jpg in Resources */, 39CCD3D11694596600CBD40A /* children's_zoo_4@2x.jpg in Resources */, - 39CCD3D51694A0E500CBD40A /* notification_sound.m4a in Resources */, 39209F1E1699A6D4004DFC9E /* 302-Unlock@2x.png in Resources */, 39209F231699CF58004DFC9E /* 013-Alram@2x.png in Resources */, 39209F241699CF58004DFC9E /* exhibits.png in Resources */, @@ -2559,6 +2634,35 @@ 39209F2B1699D653004DFC9E /* 121-Mic@2x.png in Resources */, 39FC165C169AF22300E60F99 /* info.html in Resources */, 39FC165E169AF65500E60F99 /* info.css in Resources */, + 39A51D8F16A337E800247B7C /* hatchery_1.jpg in Resources */, + 39A51D9016A337E800247B7C /* hatchery_2.jpg in Resources */, + 39A51D9116A337E800247B7C /* hatchery_3.jpg in Resources */, + 391DA98616AC779400D9012D /* notification_sound.aif in Resources */, + 395DD4D416B13A450091F66F /* play@2x.png in Resources */, + 395DD4D516B13A450091F66F /* pouse@2x.png in Resources */, + 395DD4D716B13A860091F66F /* stop@2x.png in Resources */, + 39B0517D16B5B24C004C9987 /* scarlet_macaw_1@2x.jpg in Resources */, + 39B0517E16B5B24C004C9987 /* scarlet_macaw_2@2x.jpg in Resources */, + 39B0518016B5BF1D004C9987 /* 088-Map_white@2x.png in Resources */, + 39B0518216B5C1BA004C9987 /* 248-QuestionCircleAlt_2@2x.png in Resources */, + 39B0518416B5CA56004C9987 /* info_en.html in Resources */, + 39B0518616B5CA6C004C9987 /* info_en.css in Resources */, + 3937993716B7FF7200559EA1 /* facebook_icon@2x.png in Resources */, + 391AF40B16B9D7AF00EAC84E /* opening_screen_day_he_5@2x.png in Resources */, + 391AF40C16B9D7AF00EAC84E /* opening_screen_day_he.png in Resources */, + 391AF40D16B9D7AF00EAC84E /* opening_screen_day_he@2x.png in Resources */, + 391AF40E16B9D7AF00EAC84E /* opening_screen_night_en_5@2x.png in Resources */, + 391AF40F16B9D7AF00EAC84E /* opening_screen_night_en.png in Resources */, + 391AF41016B9D7AF00EAC84E /* opening_screen_night_en@2x.png in Resources */, + 391AF41116B9D7AF00EAC84E /* opening_screen_night_he_5@2x.png in Resources */, + 391AF41216B9D7AF00EAC84E /* opening_screen_night_he.png in Resources */, + 391AF41316B9D7AF00EAC84E /* opening_screen_night_he@2x.png in Resources */, + 39A77F6E16BD9EAA008A0A4A /* Opening-568h@2x.png in Resources */, + 39A77F6F16BD9EAA008A0A4A /* Opening.png in Resources */, + 39A77F7016BD9EAA008A0A4A /* Opening@2x.png in Resources */, + 39A77F7916BDA0E8008A0A4A /* Icon-72.png in Resources */, + 39A77F7A16BDA0E8008A0A4A /* Icon-72@2x.png in Resources */, + 39A77F7B16BDA0E8008A0A4A /* Icon-Small-50.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2650,7 +2754,6 @@ 39ABDF6616772BE600025349 /* ExhibitsViewController.m in Sources */, 39ABDF6816772BE600025349 /* ExhibitTableViewCell.m in Sources */, 39ABDF6916772BE600025349 /* FunViewController.m in Sources */, - 39ABDF6B16772BE600025349 /* ImageOverLayHandleViewController.m in Sources */, 39ABDF9416772C0D00025349 /* Madad.m in Sources */, 39ABDF9516772C0D00025349 /* MadadExplinationViewController.m in Sources */, 39ABDF9716772C0D00025349 /* NewsCell.m in Sources */, @@ -2680,6 +2783,7 @@ 39CCD3B2169306E800CBD40A /* AnimalQuestionAnswerViewController.m in Sources */, 39A39B86169724C500B37A06 /* MapAnnotationView.m in Sources */, 39FC1655169AF1A600E60F99 /* ZooInfoViewController.m in Sources */, + 391DA98916AC955000D9012D /* AnimalSpecificQuestionsTableView.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2699,10 +2803,20 @@ isa = PBXVariantGroup; children = ( 3902F06215AB6D0E002517C5 /* en */, + 39A77F7C16BDA27E008A0A4A /* he */, ); name = InfoPlist.strings; sourceTree = ""; }; + 391DA98C16AD137400D9012D /* AnimalQuestionAnswerViewController.xib */ = { + isa = PBXVariantGroup; + children = ( + 391DA98B16AD137400D9012D /* en */, + 391DA98D16AD137600D9012D /* he */, + ); + name = AnimalQuestionAnswerViewController.xib; + sourceTree = ""; + }; 398F3D6216811056009FE911 /* SignForFreindViewController.xib */ = { isa = PBXVariantGroup; children = ( @@ -2712,42 +2826,50 @@ name = SignForFreindViewController.xib; sourceTree = ""; }; - 39ABE00C16772C7700025349 /* EventDetailsViewController.xib */ = { + 39A77F6816BD9EAA008A0A4A /* Opening-568h@2x.png */ = { isa = PBXVariantGroup; children = ( - 39ABE01516772C8400025349 /* en */, - 39A94AE516773455008A9CF6 /* he */, + 39A77F6916BD9EAA008A0A4A /* en */, + 39A77F7116BD9EB9008A0A4A /* he */, ); - name = EventDetailsViewController.xib; - path = ParseStarterProject; + name = "Opening-568h@2x.png"; sourceTree = ""; }; - 39ABE00E16772C7700025349 /* Localizable.strings */ = { + 39A77F6A16BD9EAA008A0A4A /* Opening.png */ = { isa = PBXVariantGroup; children = ( - 39ABE00F16772C7700025349 /* he */, - 39ABE01816772C8400025349 /* en */, + 39A77F6B16BD9EAA008A0A4A /* en */, + 39A77F7216BD9EB9008A0A4A /* he */, ); - name = Localizable.strings; - path = ParseStarterProject; + name = Opening.png; sourceTree = ""; }; - 39ABE01016772C7700025349 /* OpeningScreenViewController.xib */ = { + 39A77F6C16BD9EAA008A0A4A /* Opening@2x.png */ = { isa = PBXVariantGroup; children = ( - 39ABE01116772C7700025349 /* he */, - 39ABE01916772C8400025349 /* en */, + 39A77F6D16BD9EAA008A0A4A /* en */, + 39A77F7316BD9EB9008A0A4A /* he */, ); - name = OpeningScreenViewController.xib; + name = "Opening@2x.png"; + sourceTree = ""; + }; + 39ABE00C16772C7700025349 /* EventDetailsViewController.xib */ = { + isa = PBXVariantGroup; + children = ( + 39ABE01516772C8400025349 /* en */, + 39A94AE516773455008A9CF6 /* he */, + ); + name = EventDetailsViewController.xib; path = ParseStarterProject; sourceTree = ""; }; - 39ABE01616772C8400025349 /* InfoPlist.strings */ = { + 39ABE01016772C7700025349 /* OpeningScreenViewController.xib */ = { isa = PBXVariantGroup; children = ( - 39ABE01716772C8400025349 /* en */, + 39ABE01116772C7700025349 /* he */, + 39ABE01916772C8400025349 /* en */, ); - name = InfoPlist.strings; + name = OpeningScreenViewController.xib; path = ParseStarterProject; sourceTree = ""; }; @@ -2827,7 +2949,7 @@ "-lxml2", ); PRODUCT_NAME = JerusalemBiblicalZoo; - PROVISIONING_PROFILE = "9EBF18A2-9BAE-4C77-8FCB-C3AB6DA9C67D"; + PROVISIONING_PROFILE = "CBEBBA8F-D2D9-435E-B894-E069BC1610B7"; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "9EBF18A2-9BAE-4C77-8FCB-C3AB6DA9C67D"; TARGETED_DEVICE_FAMILY = 1; USER_HEADER_SEARCH_PATHS = ""; @@ -2860,7 +2982,7 @@ "-lxml2", ); PRODUCT_NAME = JerusalemBiblicalZoo; - PROVISIONING_PROFILE = "9EBF18A2-9BAE-4C77-8FCB-C3AB6DA9C67D"; + PROVISIONING_PROFILE = "CBEBBA8F-D2D9-435E-B894-E069BC1610B7"; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "9EBF18A2-9BAE-4C77-8FCB-C3AB6DA9C67D"; TARGETED_DEVICE_FAMILY = 1; USER_HEADER_SEARCH_PATHS = ""; diff --git a/Files/JerusalemBiblicalZooAppDelegate.h b/Files/JerusalemBiblicalZooAppDelegate.h index 257bca5..d00d234 100644 --- a/Files/JerusalemBiblicalZooAppDelegate.h +++ b/Files/JerusalemBiblicalZooAppDelegate.h @@ -2,8 +2,9 @@ #import #import +#import "TileMapViewController.h" -@interface JerusalemBiblicalZooAppDelegate : NSObject { +@interface JerusalemBiblicalZooAppDelegate : NSObject { CLLocationManager *locationManager; } //core data @@ -11,8 +12,7 @@ @property (nonatomic, strong) UITabBarController *tabBarController; @property (nonatomic,retain) IBOutlet UIWindow *window; - - +@property (nonatomic, retain) TileMapViewController *mapController; - (void)subscribeFinished:(NSNumber *)result error:(NSError *)error; -(void)buyFullApp; @end diff --git a/Files/JerusalemBiblicalZooAppDelegate.m b/Files/JerusalemBiblicalZooAppDelegate.m index 432cb53..06b1acf 100644 --- a/Files/JerusalemBiblicalZooAppDelegate.m +++ b/Files/JerusalemBiblicalZooAppDelegate.m @@ -7,24 +7,18 @@ #import "NewsListViewController.h" #import "FunViewController.h" #import "ExhibitsViewController.h" -#import "Animal.h" -#import "Exhibit.h" -#import "Event.h" -#import "ParseHelper.h" -#import "NSManagedObject+Helper.h" -#import "OpeningScreenViewController.h" -#import "NSFileManager+DirectoryLocations.h" #import "Reachability.h" + @implementation JerusalemBiblicalZooAppDelegate @synthesize tabBarController; @synthesize window; - - +@synthesize mapController; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + //set up core data [self setUpMagicalRecord]; //set up parse @@ -36,32 +30,46 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( //check for updates [self checkForUpdates]; [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; - // [[UIApplication sharedApplication] cancelAllLocalNotifications]; - NSLog(@"notifications = %@",[[UIApplication sharedApplication] scheduledLocalNotifications]); - if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"5.0")){ - //exclude the audio guide folder from backup - [[NSFileManager defaultManager] applicationSupportDirectory:NO]; - }else{ - [[NSFileManager defaultManager] applicationTempDirectory]; - } - - + //[[UIApplication sharedApplication] cancelAllLocalNotifications]; + // NSLog(@"notifications = %@",[[UIApplication sharedApplication] scheduledLocalNotifications]); + [application registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge| UIRemoteNotificationTypeAlert| UIRemoteNotificationTypeSound]; [self setUpTabBarControllers]; - for (Event *event in [Event findAll]) { - NSLog(@"event.typeString %@",event.typeString); - + + BOOL askedUser = [[NSUserDefaults standardUserDefaults] boolForKey:@"answeredBugsense"]; + BOOL agreed = [[NSUserDefaults standardUserDefaults] boolForKey:@"agreedBugsense"]; + + if(!askedUser){ + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Help us better this app" message:@"Do you agree to send us data abpult the app functionality" delegate:self cancelButtonTitle:nil otherButtonTitles:@"No Thanks",@"O.K", nil]; + [alert show]; + }else if(agreed){ + [BugSenseController sharedControllerWithBugSenseAPIKey:@"e12a5b10"]; } - - + if([Helper bugsenseOn]) [BugSenseController leaveBreadcrumb:@"app did launch"]; return YES; } +-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ + [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"answeredBugsense"]; + + switch (buttonIndex) { + case 0: + [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"agreedBugsense"]; + break; + case 1: + [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"agreedBugsense"]; + [BugSenseController sharedControllerWithBugSenseAPIKey:@"e12a5b10"]; + break; + } + [[NSUserDefaults standardUserDefaults] synchronize]; +} + -(void)startLocationServices{ + if([CLLocationManager locationServicesEnabled]){ if (locationManager==nil) { locationManager = [[CLLocationManager alloc] init]; @@ -71,63 +79,126 @@ -(void)startLocationServices{ } } + + - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{ - - NSString *visitorsCahnnel; - - if(![Helper isRightToLeft]){ - visitorsCahnnel = @"Visitors_En"; - }else{ - visitorsCahnnel = @"Visitors_He"; - } - + CLLocation * mapCenterLocation = [[CLLocation alloc] initWithLatitude:31.746233 longitude:35.174095]; if( [newLocation distanceFromLocation:mapCenterLocation]<1000){ NSLog(@"user is in zoo"); - [PFPush subscribeToChannelInBackground:visitorsCahnnel block:^(BOOL succeeded, NSError *error) { - if (succeeded) { - NSLog(@"Successfully subscribed to the Visitors channel."); - } else { - NSLog(@"Failed to subscribe to the Visitors channel."); - } - }]; - - + [self subscribeForVisitorNotification]; }else{ NSLog(@"user is not in the zoo"); - [PFPush unsubscribeFromChannelInBackground:visitorsCahnnel block:^(BOOL succeeded, NSError *error) { - if (succeeded) { - NSLog(@"Successfully Unsubscribed to the Visitors channel."); + [self unsubscribeForVisitorNotification]; + [locationManager stopUpdatingLocation]; + } + + +} + +-(void)startMonitoringZooRegion +{ + BOOL monitoring = NO; + if ( [CLLocationManager regionMonitoringAvailable] ) { + if ( [CLLocationManager regionMonitoringEnabled] ) { + if( [CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized ) { + monitoring = YES; + if (locationManager==nil) { + locationManager = [[CLLocationManager alloc] init]; + locationManager.delegate = self; + } } else { - NSLog(@"Failed to Unsubscribe to the Visitors channel."); + NSLog( @"app is not authorized for location monitoring" ); } - }]; + } else { + NSLog( @"region monitoring is not enabled" ); + } + } else { + NSLog( @"region monitoring is not available" ); } + if( !monitoring ) return; + CLLocationCoordinate2D center = CLLocationCoordinate2DMake(31.746233, 35.174095); + CLRegion *region = [[CLRegion alloc] initCircularRegionWithCenter:center + radius:1000 + identifier:@"zooRegion"]; + NSLog( @"trying to start monitoring for region %@", region ); + [locationManager startMonitoringForRegion:region desiredAccuracy:kCLLocationAccuracyBest]; +} + +-(void)locationManager:(CLLocationManager*)manager didStartMonitoringForRegion:(CLRegion*)region +{ + NSLog( @"region monitoring started" ); +} + +- (void)locationManager:(CLLocationManager *)manager +monitoringDidFailForRegion:(CLRegion *)region + withError:(NSError *)error +{ + NSLog( @"region monitoring failed" ); +} + +-(void) locationManager:(CLLocationManager*)manager didEnterRegion:(CLRegion*)region +{ + NSLog( @"did enter region" ); +} + +-(void) locationManager:(CLLocationManager*)manager didExitRegion:(CLRegion*)region +{ + NSLog( @"did exit region" ); + [locationManager stopMonitoringForRegion:region]; [locationManager stopUpdatingLocation]; - [locationManager startMonitoringSignificantLocationChanges]; + //add alert for bye bye +} + +-(void)subscribeForVisitorNotification{ + + [PFPush subscribeToChannelInBackground:[Helper visitoresChannelName] block:^(BOOL succeeded, NSError *error) { + if (succeeded) { + NSLog(@"Successfully subscribed to the Visitors channel."); + } else { + NSLog(@"Failed to subscribe to the Visitors channel."); + } + }]; + +} +-(void)unsubscribeForVisitorNotification{ + + [PFPush unsubscribeFromChannelInBackground:[Helper visitoresChannelName] block:^(BOOL succeeded, NSError *error) { + if (succeeded) { + NSLog(@"Successfully Unsubscribed to the Visitors channel."); + } else { + NSLog(@"Failed to Unsubscribe to the Visitors channel."); + } + }]; + } - (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{ if(error.code == kCLErrorDenied) { [locationManager stopUpdatingLocation]; - } else if(error.code == kCLErrorLocationUnknown) { - [locationManager startUpdatingLocation]; - } else { - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error retrieving location" - message:[error localizedDescription] - delegate:nil - cancelButtonTitle:@"OK" - otherButtonTitles:nil]; + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"location services error title",nil) + message:NSLocalizedString(@"location services error body",nil) + delegate:self + cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) + otherButtonTitles:nil, nil]; + [alert show]; + }else{ + [locationManager stopUpdatingLocation]; + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"location services error title",nil) + message:NSLocalizedString(@"location services error body",nil) + delegate:self + cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) + otherButtonTitles:nil, nil]; [alert show]; } } -(void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status{ if (status == kCLAuthorizationStatusDenied) { - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert" - message:@"Location serviced disabled" + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"location services error title" + message:@"location services error body" delegate:nil - cancelButtonTitle:@"OK" + cancelButtonTitle:@"Dismiss" otherButtonTitles:nil]; [alert show]; } @@ -146,7 +217,7 @@ -(void)setUpAppearence{ [[UINavigationBar appearance] setTintColor:UIColorFromRGB(0x8C9544)]; [[UIToolbar appearance] setTintColor:UIColorFromRGB(0xBDB38C)]; - [[UITabBar appearance] setSelectedImageTintColor:UIColorFromRGB(0x8C9544)]; + [[UITabBar appearance] setSelectedImageTintColor:UIColorFromRGB(0xC95000)]; [[UITableView appearance] setBackgroundColor:UIColorFromRGB(0xBDB38C)]; } -(void)setUpMagicalRecord{ @@ -174,12 +245,9 @@ -(void)setUpMagicalRecord{ [MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"JerusalemBiblicalZooSeed.sqlite"]; if (firstLunch) { - + [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"agreedBugsense"]; + [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"answeredBugsense"]; [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"exhibitsNeedsUpdates"]; - [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"audioGuidesNeedsUpdates"]; - - - [[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"audioGuideLocalUpdateIndex"]; [[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"exhibitLocalUpdateIndex"]; } @@ -205,7 +273,8 @@ -(void)setUpParse{ // Use the product identifier from iTunes to register a handler. [PFPurchase addObserverForProduct:@"Pro" block:^(SKPaymentTransaction *transaction) { // Write business logic that should run once this product is purchased. - NSLog(@"parchused"); + if([Helper bugsenseOn]) [BugSenseController sendCustomEventWithTag:@"app purchesed"]; + if([Helper bugsenseOn]) [BugSenseController leaveBreadcrumb:@"app purchesed"]; }]; } @@ -228,9 +297,9 @@ -(void)setUpTabBarControllers{ nc = [[UINavigationController alloc]initWithRootViewController:eventsTableViewController]; [localViewControllersArray addObject:nc]; - TileMapViewController *mapViewController = [[TileMapViewController alloc] initWithNibName:@"TileMapViewController" bundle:nil]; - mapViewController.tabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"Map", nil) image:[UIImage imageNamed:@"088-Map"] tag:2]; - nc = [[UINavigationController alloc]initWithRootViewController:mapViewController]; + self.mapController = [[TileMapViewController alloc] initWithNibName:@"TileMapViewController" bundle:nil]; + self.mapController.tabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"Map", nil) image:[UIImage imageNamed:@"088-Map"] tag:2]; + nc = [[UINavigationController alloc]initWithRootViewController:self.mapController]; [localViewControllersArray addObject:nc]; NewsListViewController *news = [[NewsListViewController alloc] init]; @@ -312,11 +381,11 @@ -(void)buyFullApp{ [[NSUserDefaults standardUserDefaults] synchronize]; [[NSNotificationCenter defaultCenter] postNotification:[NSNotification notificationWithName:@"unlock-feature" object:nil]]; // Run UI logic that informs user the product has been purchased, such as displaying an alert view. - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Thank You", nil) message:NSLocalizedString(@"Buying Thanks", nil) delegate:nil cancelButtonTitle:NSLocalizedString(@"Dissmis", nil) otherButtonTitles:nil, nil]; + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Thank You", nil) message:NSLocalizedString(@"Buying Thanks", nil) delegate:nil cancelButtonTitle:NSLocalizedString(@"Dismiss", nil) otherButtonTitles:nil, nil]; [alert show]; }else{ NSLog(@"error = %@",[error description]); - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Alert", nil) message:NSLocalizedString(@"Perchase failed", nil) delegate:nil cancelButtonTitle:NSLocalizedString(@"Dissmis", nil) otherButtonTitles:nil, nil]; + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Alert", nil) message:NSLocalizedString(@"Perchase failed", nil) delegate:nil cancelButtonTitle:NSLocalizedString(@"Dismiss", nil) otherButtonTitles:nil, nil]; [alert show]; } }]; @@ -430,8 +499,4 @@ - (void)applicationWillTerminate:(UIApplication *)application - - - - @end diff --git a/Files/JerusalemBiblicalZooSeed.sqlite b/Files/JerusalemBiblicalZooSeed.sqlite index 61963fa..a8b1797 100644 Binary files a/Files/JerusalemBiblicalZooSeed.sqlite and b/Files/JerusalemBiblicalZooSeed.sqlite differ diff --git a/Files/Madad.m b/Files/Madad.m index ea930b1..2e30135 100644 --- a/Files/Madad.m +++ b/Files/Madad.m @@ -8,7 +8,6 @@ #import "Madad.h" #import "NSDate-Utilities.h" -#import "JerusalemBiblicalZooAppDelegate.h" #import "CGICalendar.h" #define START_DATE @"DTSTART" diff --git a/Files/MadadExplinationViewController.m b/Files/MadadExplinationViewController.m index 33838c2..865bf9d 100644 --- a/Files/MadadExplinationViewController.m +++ b/Files/MadadExplinationViewController.m @@ -15,14 +15,6 @@ @interface MadadExplinationViewController () @implementation MadadExplinationViewController @synthesize titleLabel; @synthesize webView; -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil -{ - self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; - if (self) { - // Custom initialization - } - return self; -} - (void)viewDidLoad { diff --git a/Files/NewsListViewController.m b/Files/NewsListViewController.m index 2f59572..d5e8e4c 100644 --- a/Files/NewsListViewController.m +++ b/Files/NewsListViewController.m @@ -9,7 +9,6 @@ #import #import "NewsListViewController.h" -#import #import "NewsWebViewController.h" #import "NewsCell.h" #import "Reachability.h" @@ -28,7 +27,7 @@ - (id)initWithStyle:(UITableViewStyle)style // The className to query on self.className = @"News"; - + self.tableView.backgroundColor = UIColorFromRGB(0x8C817B); // Whether the built-in pull-to-refresh is enabled self.pullToRefreshEnabled = NO; @@ -53,9 +52,9 @@ -(void)refreshObjects{ }else{ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"No Internet Connection",nil) - message:NSLocalizedString(@"If you don't have intenrt services you can find an Internet acsses in the enternce to the zoo",nil) + message:NSLocalizedString(@"No Internet alert body",nil) delegate:nil - cancelButtonTitle:NSLocalizedString(@"okay",nil) + cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) otherButtonTitles:nil]; [alert show]; } @@ -197,9 +196,9 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"No Internet Connection",nil) - message:NSLocalizedString(@"If you don't have intenrt services you can find an Internet acsses in the enternce to the zoo",nil) + message:NSLocalizedString(@"No Internet alert body",nil) delegate:nil - cancelButtonTitle:NSLocalizedString(@"okay",nil) + cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) otherButtonTitles:nil]; [alert show]; return; diff --git a/Files/NewsWebViewController.m b/Files/NewsWebViewController.m index 4dcca8e..f79adbd 100644 --- a/Files/NewsWebViewController.m +++ b/Files/NewsWebViewController.m @@ -7,10 +7,7 @@ // #import "NewsWebViewController.h" -#import -#import "NSData+Encoding.h" #import -#import "LBYouTubePlayerController.h" @implementation NewsWebViewController @synthesize news; @@ -121,12 +118,12 @@ - (void)viewDidLoad { [descriptionView loadHTMLString:html baseURL:baseURL]; [scrollView addSubview:descriptionView]; - + /* self.navigationItem.rightBarButtonItem =[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(share)]; - + */ } #pragma mark - @@ -139,7 +136,7 @@ -(void)youTubePlayerViewController:(LBYouTubePlayerController *)controller didSu -(void)youTubePlayerViewController:(LBYouTubePlayerController *)controller failedExtractingYouTubeURLWithError:(NSError *)error{ NSLog(@"Error extracting video error = %@",[error description]); UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Attantion", nil) - message:NSLocalizedString(@"Problem Loading Video", nill) delegate:self cancelButtonTitle:NSLocalizedString(@"O.K", nil) otherButtonTitles:nil]; + message:NSLocalizedString(@"Problem Loading Video", nill) delegate:self cancelButtonTitle:NSLocalizedString(@"Dismiss", nil) otherButtonTitles:nil]; [alert show]; } diff --git a/Files/OpeningScreenViewController.h b/Files/OpeningScreenViewController.h index 2157571..b4d5b2a 100644 --- a/Files/OpeningScreenViewController.h +++ b/Files/OpeningScreenViewController.h @@ -8,19 +8,14 @@ #import -@interface OpeningScreenViewController : UIViewController{ - IBOutlet UIImageView * imageview; - IBOutlet UIButton * madad; - IBOutlet UIButton * enter; - MBProgressHUD *HUD; - MBProgressHUD *refreshHUD; - IBOutlet UISegmentedControl *langSwitch; +@interface OpeningScreenViewController : UIViewController{ + } @property (nonatomic,retain) IBOutlet UIImageView * imageview; @property (nonatomic,retain) IBOutlet UIButton * madad; -@property (nonatomic,retain) IBOutlet UIButton * enter; -@property (nonatomic,retain) IBOutlet UIButton * info; +@property (nonatomic,retain) IBOutlet UIButton * enterBtn; +@property (nonatomic,retain) IBOutlet UIButton * directionsBtn; -(IBAction)showMadad:(id)sender; -(IBAction)enter:(id)sender; -(IBAction)showInfo:(id)sender; diff --git a/Files/OpeningScreenViewController.m b/Files/OpeningScreenViewController.m index aace652..eee52da 100644 --- a/Files/OpeningScreenViewController.m +++ b/Files/OpeningScreenViewController.m @@ -7,11 +7,8 @@ // #import "OpeningScreenViewController.h" -#import -#import "SSZipArchive.h" -#import #import - +#import "NSDate-Utilities.h" @interface OpeningScreenViewController () @end @@ -19,8 +16,8 @@ @interface OpeningScreenViewController () @implementation OpeningScreenViewController @synthesize madad; @synthesize imageview; -@synthesize enter; -@synthesize info; +@synthesize enterBtn; +@synthesize directionsBtn; @@ -39,26 +36,97 @@ - (void)viewDidUnload -(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; + + NSDate *currentDateTime = [NSDate date]; + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + [dateFormatter setDateFormat:@"HH"]; + NSString *dateInStringFormated = [dateFormatter stringFromDate:currentDateTime]; + + NSInteger time = [dateInStringFormated intValue]; + if (time >= 9 && time < 17) { + if ([Helper isRightToLeft]) { + if (IS_IPHONE_5) { + self.imageview.image = [UIImage imageNamed:@"Default-568h.png"]; + }else{ + self.imageview.image = [UIImage imageNamed:@"Default.png"]; + + } + }else{ + if (IS_IPHONE_5) { + self.imageview.image = [UIImage imageNamed:@"opening_screen_day_en_5"]; + }else{ + self.imageview.image = [UIImage imageNamed:@"opening_screen_day_en"]; + + } + } + }else{ + if ([Helper isRightToLeft]) { + if (IS_IPHONE_5) { + self.imageview.image = [UIImage imageNamed:@"opening_screen_night_he_5"]; + }else{ + self.imageview.image = [UIImage imageNamed:@"opening_screen_night_he"]; + + } + }else{ + if (IS_IPHONE_5) { + self.imageview.image = [UIImage imageNamed:@"opening_screen_night_en_5"]; + }else{ + self.imageview.image = [UIImage imageNamed:@"opening_screen_night_en"]; + + } + } + } + + if (IS_IPHONE_5) { + self.directionsBtn.frame = CGRectOffset(self.directionsBtn.frame, 0, 60); + self.enterBtn.frame = CGRectOffset(self.enterBtn.frame, 0, 60); + } // [self cloudScroll]; } -(IBAction)showInfo:(id)sender{ - - // Check for iOS 6 - Class mapItemClass = [MKMapItem class]; - if (mapItemClass && [mapItemClass respondsToSelector:@selector(openMapsWithItems:launchOptions:)]) - { - // Create an MKMapItem to pass to the Maps app - CLLocationCoordinate2D coordinate = - CLLocationCoordinate2DMake(16.775, -3.009); - MKPlacemark *placemark = [[MKPlacemark alloc] initWithCoordinate:coordinate - addressDictionary:nil]; - MKMapItem *mapItem = [[MKMapItem alloc] initWithPlacemark:placemark]; - [mapItem setName:@"My Place"]; - // Pass the map item to the Maps app - [mapItem openInMapsWithLaunchOptions:nil]; - } + if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"waze://"]]) { + NSString *urlStr = @"waze://?ll=31.745636,35.177048&navigate=yes"; + [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]]; + if([Helper bugsenseOn]) [BugSenseController sendCustomEventWithTag:@"waze used"]; + if([Helper bugsenseOn]) [BugSenseController leaveBreadcrumb:@"waze used"]; + }else if ([MKMapItem class] && [[MKMapItem class] respondsToSelector:@selector(openMapsWithItems:launchOptions:)]) + { + CLGeocoder *geocoder = [[CLGeocoder alloc] init]; + [geocoder geocodeAddressString:@"Biblical Zoo, Jerusalem, Israel" + completionHandler:^(NSArray *placemarks, NSError *error) { + + // Convert the CLPlacemark to an MKPlacemark + // Note: There's no error checking for a failed geocode + CLPlacemark *geocodedPlacemark = [placemarks objectAtIndex:0]; + MKPlacemark *placemark = [[MKPlacemark alloc] + initWithCoordinate:geocodedPlacemark.location.coordinate + addressDictionary:geocodedPlacemark.addressDictionary]; + + // Create a map item for the geocoded address to pass to Maps app + MKMapItem *mapItem = [[MKMapItem alloc] initWithPlacemark:placemark]; + [mapItem setName:geocodedPlacemark.name]; + + // Set the directions mode to "Driving" + // Can use MKLaunchOptionsDirectionsModeWalking instead + NSDictionary *launchOptions = @{MKLaunchOptionsDirectionsModeKey : MKLaunchOptionsDirectionsModeDriving}; + + // Get the "Current User Location" MKMapItem + MKMapItem *currentLocationMapItem = [MKMapItem mapItemForCurrentLocation]; + + // Pass the current location and destination map items to the Maps app + // Set the direction mode in the launchOptions dictionary + [MKMapItem openMapsWithItems:@[currentLocationMapItem, mapItem] launchOptions:launchOptions]; + + }]; + }else{ + //ios 5 + NSString* address = @"https://maps.google.com/maps?f=q&q=31.745636,35.177048"; + NSURL* url = [[NSURL alloc] initWithString:[address stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; + [[UIApplication sharedApplication] openURL:url]; + + } } @@ -67,6 +135,7 @@ -(IBAction)showMadad:(id)sender{ } -(IBAction)enter:(id)sender{ NSLog(@"enter"); + if([Helper bugsenseOn]) [BugSenseController leaveBreadcrumb:@"entered app"]; [self dismissModalViewControllerAnimated:YES]; } diff --git a/Files/SectionHeaderView.m b/Files/SectionHeaderView.m index f8bb3ef..4555ffb 100644 --- a/Files/SectionHeaderView.m +++ b/Files/SectionHeaderView.m @@ -2,8 +2,7 @@ #import "SectionHeaderView.h" #import -#import "Event.h" -#import "Madad.h" + @implementation SectionHeaderView @synthesize dateLabelView; diff --git a/Files/SignForFreindViewController.h b/Files/SignForFreindViewController.h index 1f9f8f1..a9a1e39 100644 --- a/Files/SignForFreindViewController.h +++ b/Files/SignForFreindViewController.h @@ -10,7 +10,7 @@ #import "TPKeyboardAvoidingScrollView.h" #import #import -@interface SignForFreindViewController : UIViewController { +@interface SignForFreindViewController : UIViewController { IBOutlet TPKeyboardAvoidingScrollView *scrollView; IBOutlet UITextField *nameTF; IBOutlet UITextField *latinNameTF; @@ -30,6 +30,8 @@ BOOL shouldGoUp; BOOL fullscreen; + + MBProgressHUD * progressHUD; } @property (nonatomic,retain) IBOutlet TPKeyboardAvoidingScrollView *scrollView; @property (nonatomic,retain) IBOutlet UITextField *nameTF; @@ -51,7 +53,7 @@ @property (nonatomic,retain) UIImage *generatedImage; @property (nonatomic,retain) IBOutlet UIView *captureView; -@property (nonatomic,retain) UIImageView * previewView; +@property (nonatomic,retain) UIView * previewView; @property (nonatomic) BOOL fullscreen; -(IBAction)showSignPreview:(id)sender; diff --git a/Files/SignForFreindViewController.m b/Files/SignForFreindViewController.m index 064abc3..38b80bd 100644 --- a/Files/SignForFreindViewController.m +++ b/Files/SignForFreindViewController.m @@ -9,8 +9,8 @@ #import "SignForFreindViewController.h" #import "UIImage+Helper.h" #import "SignForFriendView.h" -#import -#import +#import + @interface SignForFreindViewController () @end @@ -41,6 +41,7 @@ - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil if (self) { self.hidesBottomBarWhenPushed = YES; shouldGoUp = NO; + self.view.backgroundColor =UIColorFromRGB(0x3D3227); } return self; } @@ -50,7 +51,7 @@ - (void)viewDidLoad [super viewDidLoad]; scrollView.contentSize = CGSizeMake(CGRectGetWidth(self.view.frame), 700); - UIBarButtonItem *previewBtn = [[UIBarButtonItem alloc] initWithTitle:@"Create sign" style:UIBarButtonItemStyleDone target:self action:@selector(showSignPreview:)]; + UIBarButtonItem *previewBtn = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Generate Sign",nil) style:UIBarButtonItemStyleDone target:self action:@selector(showSignPreview:)]; self.navigationItem.rightBarButtonItem = previewBtn; } @@ -67,41 +68,62 @@ -(void)viewDidAppear:(BOOL)animated{ [super viewDidAppear:animated]; } + -(void)showSignPreview:(id)sender{ - + if(self.nameTF.text.length>0 && self.latinNameTF.text.length>0 && self.habitatTV.text.length>0 && self.dietTV.text.length>0 && self.socialStructureTV.text.length>0 && self.descriptionTV.text.length>0){ - NSDictionary *signDic = @{ - @"name":self.nameTF.text, - @"binomialName":self.latinNameTF.text, - @"habitat":self.habitatTV.text, - @"diet":self.dietTV.text, - @"social":self.socialStructureTV.text, - @"description":self.descriptionTV.text}; - [self.view endEditing:YES]; - self.generatedImage = [self createImage:signDic]; - [self previewSign]; + + + NSDictionary * signDic = @{ + @"name":self.nameTF.text, + @"binomialName":self.latinNameTF.text, + @"habitat":self.habitatTV.text, + @"diet":self.dietTV.text, + @"social":self.socialStructureTV.text, + @"description":self.descriptionTV.text}; + [self.view endEditing:YES]; + self.generatedImage = [self createImageWithDic:signDic]; + [self previewSignWithDic:signDic]; + + }else{ UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Fill all fields." - delegate:self cancelButtonTitle:@"Ok" + delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:nil]; [alert show]; } - } --(void)previewSign{ - UIImage *previewImage = self.generatedImage; - self.previewView = [[UIImageView alloc] initWithImage:previewImage]; - self.previewView.frame = CGRectMake(5,0,224,144.8); - self.previewView.alpha =0; +-(IBAction)showCamera:(id)sender{ + //future feature +} + +-(void)previewSignWithDic:dic{ + + self.previewView = nil; + + + self.previewView = [[UIView alloc] initWithFrame:self.view.bounds]; + self.previewView.alpha= 0; + self.previewView.backgroundColor = UIColorFromRGB(0x3D3227); + [self showHud]; + UIView *imageView = [[SignForFriendView alloc] initWithFrame:CGRectMake(0, 0, 2240, 1448) WithSignDic:dic]; + CGAffineTransform transform = CGAffineTransformScale(imageView.transform, .15, .15); + imageView.transform = transform; + imageView.frame = CGRectOffset(imageView.frame, -imageView.frame.origin.x, -imageView.frame.origin.y+10); + [self.previewView addSubview:imageView]; + + [self.view addSubview:self.previewView]; - [UIView animateWithDuration:1 animations:^{ + + [UIView animateWithDuration:2 animations:^{ self.previewView.alpha =1; }]; [self showSavingOptions]; + [progressHUD hide:YES]; } - (void)showSavingOptions { @@ -123,14 +145,14 @@ - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger switch (buttonIndex) { case 1: [self saveToAlbum]; - + [self showHud]; break; case 2: [self displayComposerSheet]; break; case 3: - // [self postWall]; + [self postOnFacebook]; break; } [UIView animateWithDuration:1 animations:^{ @@ -150,18 +172,19 @@ - (void)saveToAlbum - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo { + [progressHUD hide:YES]; UIAlertView *alert; // Unable to save the image if (error) alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",nil) message:NSLocalizedString(@"Unable to save image to Photo Album." ,nil) - delegate:self cancelButtonTitle:NSLocalizedString(@"Ok",nil) + delegate:self cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) otherButtonTitles:nil]; else // All is well alert = [[UIAlertView alloc] initWithTitle:@"Success" message:@"Image saved to Photo Album." - delegate:self cancelButtonTitle:@"Ok" + delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:nil]; [alert show]; } @@ -192,7 +215,7 @@ -(void)displayComposerSheet fileName:@"JerusalemBibilicalZoo.jpg"]; // Fill out the email body text - NSString *emailBody = @"We are in the jerusalem biblical zoo"; + NSString *emailBody = NSLocalizedString(@"We are in the Jerusalem Biblical Zoo",nil); [mailComposer setMessageBody:emailBody isHTML:NO]; [self presentModalViewController:mailComposer animated:YES]; @@ -209,14 +232,14 @@ - (void)mailComposeController:(MFMailComposeViewController*)controller didFinish if (result==MFMailComposeResultFailed){ alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",nil) message:NSLocalizedString(@"Unable to send Email.",nil) - delegate:self cancelButtonTitle:NSLocalizedString(@"O.K" ,nil) + delegate:self cancelButtonTitle:NSLocalizedString(@"Dismiss" ,nil) otherButtonTitles:nil]; [alert show]; } else if(result==MFMailComposeResultSent){ alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Success",nil) message:NSLocalizedString(@"Email sent.",nil) - delegate:self cancelButtonTitle:NSLocalizedString(@"O.K",nil) + delegate:self cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) otherButtonTitles:nil]; [alert show]; } @@ -225,13 +248,16 @@ - (void)mailComposeController:(MFMailComposeViewController*)controller didFinish [self dismissModalViewControllerAnimated:YES]; } + + + -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ } --(UIImage*)createImage:(NSDictionary*)dic +-(UIImage*)createImageWithDic:(NSDictionary*)dic { SignForFriendView *signview = [[SignForFriendView alloc] initWithFrame:CGRectMake(0, 0, 2240, 1448) WithSignDic:dic]; UIImage *image = [UIImage imageWithView:signview]; @@ -239,7 +265,33 @@ -(UIImage*)createImage:(NSDictionary*)dic return image; } - +-(void)postOnFacebook{ + if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0")) { + + SLComposeViewController *controller = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; + + SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result){ + if (result == SLComposeViewControllerResultCancelled) { + NSLog(@"Cancelled"); + } else{ + NSLog(@"Done"); + } + [controller dismissViewControllerAnimated:YES completion:Nil]; + }; + controller.completionHandler =myBlock; + + NSString *localizedText = NSLocalizedString(@"Share sign text",nil); + [controller setInitialText:localizedText]; + [controller addURL:[NSURL URLWithString:@"http://itunes.apple.com/app/id591193554"]]; + [controller addImage:self.generatedImage]; + + [self presentViewController:controller animated:YES completion:Nil]; + + }else{ + //add parse facebook share + } + +} @@ -329,10 +381,24 @@ -(void)textViewDidBeginEditing:(UITextView *)textView{ -(void)textFieldDidBeginEditing:(UITextField *)textField { - [self.scrollView adjustOffsetToIdealIfNeeded]; + // [self.scrollView adjustOffsetToIdealIfNeeded]; } +#pragma mark - +#pragma mark MBProgressHUDDelegate methods + +-(void)showHud{ + progressHUD = [[MBProgressHUD alloc] initWithView:self.view]; + [self.view addSubview:progressHUD]; + progressHUD.delegate = self; + [progressHUD show:YES]; +} +- (void)hudWasHidden:(MBProgressHUD *)hud { + // Remove HUD from screen when the HUD hides + [hud removeFromSuperview]; + hud = nil; +} @end diff --git a/Files/SignForFriendView.m b/Files/SignForFriendView.m index 4157d6c..d9fe28e 100644 --- a/Files/SignForFriendView.m +++ b/Files/SignForFriendView.m @@ -7,8 +7,8 @@ // #import "SignForFriendView.h" -#import #import "UIImage+Helper.h" + @implementation SignForFriendView @synthesize signDic; @@ -145,12 +145,12 @@ - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error context if (error) alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",nil) message:NSLocalizedString(@"Unable to save image to Photo Album." ,nil) - delegate:self cancelButtonTitle:NSLocalizedString(@"Ok",nil) + delegate:self cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) otherButtonTitles:nil]; else // All is well alert = [[UIAlertView alloc] initWithTitle:@"Success" message:@"Image saved to Photo Album." - delegate:self cancelButtonTitle:@"Ok" + delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:nil]; [alert show]; } diff --git a/Files/TileMapViewController.h b/Files/TileMapViewController.h index 30e75c9..a9f4d11 100644 --- a/Files/TileMapViewController.h +++ b/Files/TileMapViewController.h @@ -48,18 +48,20 @@ #import #import - +#import "Exhibit.h" @interface TileMapViewController : UIViewController { MKMapRect lastGoodMapRect; BOOL manuallyChangingMapRect; MKPolygon *bg; MKCoordinateRegion lastGoodRegion; + } @property (nonatomic,unsafe_unretained) IBOutlet MKMapView *map; @property (strong, nonatomic) CLLocationManager *locationManager; -@property (strong, nonatomic) CLLocation *currentLocation; @property (nonatomic, strong) NSMutableArray *mapAnnotations; @property (nonatomic, strong) NSArray *services; +-(void)setCenterLocationAndShowMapForExhibit:(Exhibit*)exhibit; + @end diff --git a/Files/TileMapViewController.m b/Files/TileMapViewController.m index c4554ea..bf4d22d 100644 --- a/Files/TileMapViewController.m +++ b/Files/TileMapViewController.m @@ -56,16 +56,13 @@ #import "AnimalViewController.h" #import "ExhibitAnimalsViewController.h" #import "MapAnnotationView.h" - +#import "ExhibitAnnotation.h" @implementation TileMapViewController @synthesize locationManager; -@synthesize currentLocation; @synthesize mapAnnotations; @synthesize services; @synthesize map; - - #pragma mark - + (CGFloat)annotationPadding; @@ -96,9 +93,9 @@ - (void)viewDidLoad { if([Helper isLion]){ - [map setShowsUserLocation:YES]; + [map setShowsUserLocation:YES]; }else{ - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Buy Full App", nil) message:NSLocalizedString(@"Buy full app map description", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"Dissmis", nil) otherButtonTitles:NSLocalizedString(@"Buy Now", nil), nil]; + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Buy Full App", nil) message:NSLocalizedString(@"Buy full app map description", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"Later", nil) otherButtonTitles:NSLocalizedString(@"Buy Now", nil), nil]; [alert show]; } @@ -112,14 +109,7 @@ - (void)viewDidLoad CLLocationCoordinate2DMake(31.751065,35.181082) }; - CLLocationCoordinate2D coordsBg2[5]={ - CLLocationCoordinate2DMake(31.78,35.2), - CLLocationCoordinate2DMake(31.72,35.2), - CLLocationCoordinate2DMake(31.72,35.14), - CLLocationCoordinate2DMake(31.78,35.14), - CLLocationCoordinate2DMake(31.78,35.2) - }; - + bg=[MKPolygon polygonWithCoordinates:coordsBg count:5]; @@ -230,7 +220,6 @@ - (void) viewWillAppear:(BOOL)animated } [locationManager startUpdatingLocation]; } - } @@ -457,7 +446,7 @@ - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLoca UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"You are out of the zoo",nil) message:NSLocalizedString(@"Come visit us soon",nil) delegate:nil - cancelButtonTitle:NSLocalizedString(@"Dissmis",nil) + cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) otherButtonTitles:nil]; [alert show]; }); @@ -473,16 +462,41 @@ - (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError * } else if(error.code == kCLErrorLocationUnknown) { // retry } else { - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error retrieving location title",nil) - message:[error description] - delegate:NSLocalizedString(@"Error retrieving location text",nil) - cancelButtonTitle:NSLocalizedString(@"Dissmis",nil) - otherButtonTitles:nil]; + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"location services error title",nil) + message:NSLocalizedString(@"location services error body",nil) + delegate:self + cancelButtonTitle:NSLocalizedString(@"Dismiss",nil) + otherButtonTitles:nil, nil]; [alert show]; } } +-(void)setCenterLocationAndShowMapForExhibit:(Exhibit *)exhibit{ + + [self.navigationController.tabBarController setSelectedIndex:2]; + + CLLocationCoordinate2D location = CLLocationCoordinate2DMake([exhibit.latitude doubleValue], [exhibit.longitude doubleValue]); + [self.map setCenterCoordinate:location zoomLevel:17 animated:YES]; + [self performSelector:@selector(showAnnotationForExhibit:) withObject:exhibit afterDelay:1]; + + + +} +-(void)showAnnotationForExhibit:(Exhibit*)exhibit{ + + for (ExhibitAnnotation *annotation in self.map.annotations) { + if (MKMapRectContainsPoint(self.map.visibleMapRect, MKMapPointForCoordinate(annotation.coordinate))) + { + if (annotation.exhibit == exhibit) { + [self openAnnotation:annotation]; + } + } + } + + + +} @end diff --git a/Files/UI Sounds/notification_sound.aif b/Files/UI Sounds/notification_sound.aif new file mode 100644 index 0000000..30082d7 Binary files /dev/null and b/Files/UI Sounds/notification_sound.aif differ diff --git a/Files/UI images/088-Map_white@2x.png b/Files/UI images/088-Map_white@2x.png new file mode 100644 index 0000000..86c5132 Binary files /dev/null and b/Files/UI images/088-Map_white@2x.png differ diff --git a/Files/UI images/248-QuestionCircleAlt_2@2x.png b/Files/UI images/248-QuestionCircleAlt_2@2x.png new file mode 100644 index 0000000..7dcc26c Binary files /dev/null and b/Files/UI images/248-QuestionCircleAlt_2@2x.png differ diff --git a/Files/UI images/facebook_icon@2x.png b/Files/UI images/facebook_icon@2x.png new file mode 100644 index 0000000..709593a Binary files /dev/null and b/Files/UI images/facebook_icon@2x.png differ diff --git a/Files/UI images/notification_sound.m4a b/Files/UI images/notification_sound.caf similarity index 100% rename from Files/UI images/notification_sound.m4a rename to Files/UI images/notification_sound.caf diff --git a/Files/UI images/opened_zoo_screen@2x.png b/Files/UI images/opened_zoo_screen@2x.png deleted file mode 100644 index bbd4ada..0000000 Binary files a/Files/UI images/opened_zoo_screen@2x.png and /dev/null differ diff --git a/Files/UI images/opened_zoo_screen_en@2x.png b/Files/UI images/opened_zoo_screen_en@2x.png deleted file mode 100644 index 2a6f242..0000000 Binary files a/Files/UI images/opened_zoo_screen_en@2x.png and /dev/null differ diff --git a/Files/UI images/opening_screen_day_en.png b/Files/UI images/opening_screen_day_en.png new file mode 100644 index 0000000..76009fa Binary files /dev/null and b/Files/UI images/opening_screen_day_en.png differ diff --git a/Files/UI images/opening_screen_day_en@2x.png b/Files/UI images/opening_screen_day_en@2x.png new file mode 100644 index 0000000..0c63cc3 Binary files /dev/null and b/Files/UI images/opening_screen_day_en@2x.png differ diff --git a/Files/UI images/opening_screen_day_en_5@2x.png b/Files/UI images/opening_screen_day_en_5@2x.png new file mode 100644 index 0000000..e50af8b Binary files /dev/null and b/Files/UI images/opening_screen_day_en_5@2x.png differ diff --git a/Files/UI images/opening_screen_day_he.png b/Files/UI images/opening_screen_day_he.png new file mode 100644 index 0000000..2cd824b Binary files /dev/null and b/Files/UI images/opening_screen_day_he.png differ diff --git a/Files/UI images/opening_screen_day_he@2x.png b/Files/UI images/opening_screen_day_he@2x.png new file mode 100644 index 0000000..66ffb85 Binary files /dev/null and b/Files/UI images/opening_screen_day_he@2x.png differ diff --git a/Files/UI images/opening_screen_day_he_5@2x.png b/Files/UI images/opening_screen_day_he_5@2x.png new file mode 100644 index 0000000..5615ffb Binary files /dev/null and b/Files/UI images/opening_screen_day_he_5@2x.png differ diff --git a/Files/UI images/opening_screen_night_en.png b/Files/UI images/opening_screen_night_en.png new file mode 100644 index 0000000..71eac96 Binary files /dev/null and b/Files/UI images/opening_screen_night_en.png differ diff --git a/Files/UI images/opening_screen_night_en@2x.png b/Files/UI images/opening_screen_night_en@2x.png new file mode 100644 index 0000000..d3b97ce Binary files /dev/null and b/Files/UI images/opening_screen_night_en@2x.png differ diff --git a/Files/UI images/opening_screen_night_en_5@2x.png b/Files/UI images/opening_screen_night_en_5@2x.png new file mode 100644 index 0000000..d99e50a Binary files /dev/null and b/Files/UI images/opening_screen_night_en_5@2x.png differ diff --git a/Files/UI images/opening_screen_night_he.png b/Files/UI images/opening_screen_night_he.png new file mode 100644 index 0000000..b43d15d Binary files /dev/null and b/Files/UI images/opening_screen_night_he.png differ diff --git a/Files/UI images/opening_screen_night_he@2x.png b/Files/UI images/opening_screen_night_he@2x.png new file mode 100644 index 0000000..9ed2304 Binary files /dev/null and b/Files/UI images/opening_screen_night_he@2x.png differ diff --git a/Files/UI images/opening_screen_night_he_5@2x.png b/Files/UI images/opening_screen_night_he_5@2x.png new file mode 100644 index 0000000..55f3258 Binary files /dev/null and b/Files/UI images/opening_screen_night_he_5@2x.png differ diff --git a/Files/UI images/play@2x.png b/Files/UI images/play@2x.png new file mode 100644 index 0000000..394f586 Binary files /dev/null and b/Files/UI images/play@2x.png differ diff --git a/Files/UI images/pouse@2x.png b/Files/UI images/pouse@2x.png new file mode 100644 index 0000000..7c09e02 Binary files /dev/null and b/Files/UI images/pouse@2x.png differ diff --git a/Files/UI images/stop@2x.png b/Files/UI images/stop@2x.png new file mode 100644 index 0000000..46ade33 Binary files /dev/null and b/Files/UI images/stop@2x.png differ diff --git a/Files/ZooInfoViewController.m b/Files/ZooInfoViewController.m index 74128e3..e3d5fc1 100644 --- a/Files/ZooInfoViewController.m +++ b/Files/ZooInfoViewController.m @@ -17,14 +17,16 @@ @implementation ZooInfoViewController - (void)viewDidLoad { + self.view.backgroundColor = UIColorFromRGB(0xF8EDDF); [super viewDidLoad]; // Do any additional setup after loading the view. - UIWebView *web = [[UIWebView alloc] initWithFrame:CGRectMake(0, 40, 320, 440)]; + UIWebView *web = [[UIWebView alloc] initWithFrame:CGRectMake(0, 70, 320, 410)]; if(IS_IPHONE_5){ - web.frame = CGRectMake(0, 40, 320, 528); + web.frame = CGRectMake(0, 70, 320, 508); } + NSString * fileName = [Helper isRightToLeft]? @"info":@"info_en"; [web loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] - pathForResource:@"info" ofType:@"html"]isDirectory:NO]]]; + pathForResource:fileName ofType:@"html"]isDirectory:NO]]]; [self.view addSubview:web]; } diff --git a/Files/en.lproj/AnimalQuestionAnswerViewController.xib b/Files/en.lproj/AnimalQuestionAnswerViewController.xib new file mode 100644 index 0000000..696c816 --- /dev/null +++ b/Files/en.lproj/AnimalQuestionAnswerViewController.xib @@ -0,0 +1,274 @@ + + + + 1536 + 12C3012 + 2844 + 1187.34 + 625.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 1930 + + + IBProxyObject + IBUILabel + IBUITextView + IBUIView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 274 + + + + 292 + + + + 292 + {{20, 9}, {280, 96}} + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Label + + 3 + MQA + + + 0 + 0 + + Futura-Medium + Futura + 0 + 20 + + + Futura-Medium + 20 + 16 + + NO + 280 + + + {{0, 5}, {320, 114}} + + + _NS:9 + + 1 + MC4yODI2MDg2OTU3IDAuMjE0MTMyOTU0MyAwLjE3MzEwNzU2MTYAA + + IBCocoaTouchFramework + + + + 292 + {{15, 133}, {285, 259}} + + + _NS:9 + YES + YES + IBCocoaTouchFramework + NO + + Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda. + + + + 2 + IBCocoaTouchFramework + + + Futura-Medium + Futura + 0 + 15 + + + Futura-Medium + 15 + 16 + + + + {{0, 64}, {320, 416}} + + + + 1 + MC41NDkwMTk2MDc4IDAuNTA1ODgyMzUyOSAwLjQ4MjM1Mjk0MTIAA + + + + NO + + + IBUIScreenMetrics + + YES + + + + + + {320, 480} + {480, 320} + + + IBCocoaTouchFramework + Retina 3.5 Full Screen + 0 + + IBCocoaTouchFramework + + + + + + + view + + + + 3 + + + + answerTextView + + + + 7 + + + + questionLabel + + + + 6 + + + + + + 0 + + + + + + 1 + + + + + + + + + -1 + + + File's Owner + + + -2 + + + + + 5 + + + + + 8 + + + + + + + + 4 + + + + + + + AnimalQuestionAnswerViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 8 + + + + + AnimalQuestionAnswerViewController + UIViewController + + UITextView + UILabel + + + + answerTextView + UITextView + + + questionLabel + UILabel + + + + IBProjectSource + ./Classes/AnimalQuestionAnswerViewController.h + + + + + 0 + IBCocoaTouchFramework + YES + 3 + 1930 + + diff --git a/Files/en.lproj/EventDetailsViewController.xib b/Files/en.lproj/EventDetailsViewController.xib index e5d21f8..f26d77d 100644 --- a/Files/en.lproj/EventDetailsViewController.xib +++ b/Files/en.lproj/EventDetailsViewController.xib @@ -92,7 +92,7 @@ 292 - {{270, 18}, {30, 30}} + {{270, 21}, {30, 30}} @@ -176,12 +176,9 @@ {{17, 239}, {280, 119}} - + _NS:9 - - 1 - MC45MzA4NjM0ODg3IDEgMC44MzE5MzQ3NzE3AA - + YES YES IBCocoaTouchFramework @@ -221,7 +218,10 @@ NO IBCocoaTouchFramework location - + + 1 + MC4yODI2MDg2OTU3IDAuMjE0MTMyOTU0MyAwLjE3MzEwNzU2MTYAA + 0 10 @@ -252,10 +252,7 @@ NO IBCocoaTouchFramework Where : - - 2 - MSAxIDEAA - + 0 10 @@ -277,10 +274,7 @@ NO IBCocoaTouchFramework When : - - 2 - MSAxIDEAA - + 0 10 @@ -302,10 +296,7 @@ NO IBCocoaTouchFramework More Information : - - 2 - MSAxIDEAA - + 0 10 @@ -327,10 +318,7 @@ NO IBCocoaTouchFramework / - - 2 - MSAxIDEAA - + 0 10 @@ -352,7 +340,7 @@ NO IBCocoaTouchFramework time - + 0 10 @@ -373,7 +361,7 @@ NO IBCocoaTouchFramework date - + 0 10 @@ -386,7 +374,7 @@ {{54, 384}, {30, 30}} - + _NS:9 NO IBCocoaTouchFramework @@ -420,15 +408,22 @@ 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA NSImage 013-Alram@2x.png - - + + 2 + 2 + + + Helvetica-Bold + 18 + 16 + @@ -470,9 +465,9 @@ NO IBCocoaTouchFramework Call the zoo - + 2 - MSAxIDEAA + MC4yOTQxMTc2NTkzIDAuMjExNzY0NzIzMSAwLjE1Njg2Mjc1MDYAA 0 @@ -496,7 +491,7 @@ {{126, 419}, {67, 21}} - + _NS:9 NO YES @@ -504,10 +499,7 @@ NO IBCocoaTouchFramework Share - - 2 - MSAxIDEAA - + 0 10 @@ -518,7 +510,7 @@ 292 - {{209, 419}, {98, 35}} + {{203, 419}, {98, 35}} @@ -529,10 +521,7 @@ NO IBCocoaTouchFramework reminder 20 minutes before start - - 2 - MSAxIDEAA - + 0 10 @@ -542,6 +531,72 @@ 98 + + + 292 + {{203, 366}, {97, 84}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MCAwAA + + + + + + + 292 + {{113, 371}, {87, 84}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{0, 371}, {105, 84}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + {{0, 20}, {320, 460}} @@ -637,6 +692,46 @@ 20 + + + callLabel + + + + 51 + + + + notifLabel + + + + 52 + + + + shareLabel + + + + 53 + + + + shareButton + + + + 54 + + + + saveBtnBig + + + + 55 + callZoo: @@ -666,12 +761,39 @@ - dissmis: + dismiss: 7 - 39 + 42 + + + + saveToDiary: + + + 7 + + 56 + + + + shareEvent: + + + 7 + + 50 + + + + callZoo: + + + 7 + + 49 @@ -702,6 +824,9 @@ + + + @@ -816,6 +941,21 @@ + + 43 + + + + + 45 + + + + + 47 + + + @@ -840,6 +980,9 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -850,7 +993,7 @@ - 41 + 56 @@ -859,7 +1002,7 @@ UIViewController id - id + id id id @@ -868,8 +1011,8 @@ callZoo: id - - dissmis: + + dismiss: id @@ -883,11 +1026,16 @@ UIButton + UILabel UILabel UITextView UIImageView UILabel + UILabel UIButton + UIButton + UIButton + UILabel UILabel UILabel UILabel @@ -897,6 +1045,10 @@ callBtn UIButton + + callLabel + UILabel + dateLabel UILabel @@ -913,10 +1065,26 @@ locationLabel UILabel + + notifLabel + UILabel + saveBtn UIButton + + saveBtnBig + UIButton + + + shareButton + UIButton + + + shareLabel + UILabel + timeLabel UILabel diff --git a/Files/en.lproj/FunViewController.xib b/Files/en.lproj/FunViewController.xib index f9dd5fb..773b8c0 100644 --- a/Files/en.lproj/FunViewController.xib +++ b/Files/en.lproj/FunViewController.xib @@ -1,14 +1,14 @@ - 1536 + 1552 12C3012 - 2844 + 3084 1187.34 625.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1930 + 2083 IBProxyObject @@ -38,77 +38,81 @@ 274 - + 292 - - + + 292 - - - - 292 - {{8, 5}, {31, 30}} - - - - _NS:9 - NO - IBCocoaTouchFramework - - - - 292 - {{56, 9}, {255, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Label - - 3 - MQA - - - 0 - 10 - - STHeitiTC-Medium - Heiti TC - 2 - 14 - - - STHeitiTC-Medium - 14 - 16 - - - - {{20, 20}, {320, 37}} - + {{52, 8}, {258, 21}} + - + _NS:9 - - 1 - MC4zNjg2Mjc0NTEgMC41NzY0NzA1ODgyIDAuNjE1Njg2Mjc0NQA + NO + YES + 7 + NO + IBCocoaTouchFramework + Not connected to FaceBook + + 3 + MQA + + 0 + 10 + + STHeitiTC-Medium + Heiti TC + 2 + 14 + + + STHeitiTC-Medium + 14 + 16 + + + + + 292 + {{9, 4}, {30, 30}} + + + + _NS:9 + NO IBCocoaTouchFramework + + NSImage + facebook_icon@2x.png + + + {{0, 4}, {320, 40}} + + + + _NS:9 + + 1 + MC4zNjg2Mjc0NTEgMC41NzY0NzA1ODgyIDAuNjE1Njg2Mjc0NQA + + IBCocoaTouchFramework + + + + 292 + 292 - {{195, 87}, {107, 80}} + {{176, 36}, {107, 80}} - + _NS:9 NO IBCocoaTouchFramework @@ -141,7 +145,7 @@ 292 - {{56, 236}, {107, 80}} + {{37, 221}, {107, 80}} @@ -173,10 +177,10 @@ 292 - {{69, 73}, {80, 107}} + {{48, 20}, {80, 107}} - + _NS:9 3 @@ -203,10 +207,10 @@ 292 - {{52, 174}, {115, 37}} + {{32, 129}, {115, 37}} - + _NS:9 NO YES @@ -236,10 +240,10 @@ 292 - {{52, 322}, {115, 38}} + {{33, 304}, {115, 38}} - + _NS:9 NO YES @@ -260,17 +264,17 @@ 292 - {{193, 166}, {115, 54}} + {{172, 124}, {115, 54}} - + _NS:9 NO YES 7 NO IBCocoaTouchFramework - Friend Sign + Friend Sign Maker 0 @@ -281,10 +285,115 @@ 115 + + + 292 + {{172, 165}, {115, 41}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + create your own sign and share it + + + 0 + 10 + 4 + 1 + + STHeitiTC-Light + Heiti TC + 0 + 11 + + + STHeitiTC-Light + 11 + 16 + + 115 + + + + 292 + {{31, 158}, {115, 35}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Snap an animalistic photo and share it + + + 0 + 10 + 4 + 1 + + + 115 + + + + 292 + {{31, 346}, {115, 28}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Becone a Biblical Zoo photographer + + + 0 + 10 + 4 + 1 + + + 115 + + + + 292 + {{176, 336}, {115, 57}} + + + + _NS:9 + NO + YES + 7 + NO + IBCocoaTouchFramework + Have a question about an animal? Send it to the zoo experts + + + 0 + 10 + 4 + 1 + + + 115 + 292 - {{195, 322}, {115, 54}} + {{178, 297}, {115, 54}} @@ -308,9 +417,10 @@ 292 - {{210, 223}, {80, 107}} + {{195, 208}, {80, 107}} + _NS:9 NO IBCocoaTouchFramework @@ -330,9 +440,10 @@ - {{-20, -18}, {360, 396}} + {{0, 45}, {320, 322}} + _NS:10 YES YES @@ -352,6 +463,23 @@ NO + + IBUIScreenMetrics + + YES + + + + + + {320, 480} + {480, 320} + + + IBCocoaTouchFramework + Retina 3.5 Full Screen + 0 + IBCocoaTouchFramework @@ -365,30 +493,6 @@ 3 - - - facebookView - - - - 30 - - - - facebookName - - - - 18 - - - - facebookImage - - - - 17 - signBtn @@ -437,6 +541,22 @@ 42 + + + facebookName + + + + 18 + + + + facebookView + + + + 30 + opsenSignGenerator: @@ -448,21 +568,21 @@ - openCamera: + openZooPhotographerCamera: 7 - 38 + 43 - opsenShareCaera: + openShareCamera: 7 - 23 + 44 @@ -486,6 +606,7 @@ 1 + @@ -501,30 +622,14 @@ - - 41 - - - - - - - - - - - - - - 29 - + - + 15 @@ -532,23 +637,47 @@ - 16 - + 45 + - 4 - + 41 + + + + + + + + + + + + + + + + + + + 34 + - 5 - + 39 + - 6 - + 22 + + + + + 40 + @@ -557,23 +686,38 @@ - 40 - + 6 + - 22 - + 5 + - 39 - + 4 + - 34 - + 46 + + + + + 47 + + + + + 48 + + + + + 49 + @@ -585,7 +729,6 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -595,6 +738,11 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -603,7 +751,7 @@ - 42 + 49 @@ -611,22 +759,22 @@ FunViewController UIViewController - id id - id + id + id id - - openCamera: - id - openQuestions: id - - opsenShareCaera: + + openShareCamera: + id + + + openZooPhotographerCamera: id @@ -637,7 +785,6 @@ UILabel UIButton - UIImageView UILabel UIView UIButton @@ -645,6 +792,7 @@ UIButton UILabel UILabel + UIButton @@ -655,10 +803,6 @@ cameraBtn UIButton - - facebookImage - UIImageView - facebookName UILabel @@ -687,6 +831,10 @@ simpleCameraLabel UILabel + + zooCamera + UIButton + IBProjectSource @@ -701,10 +849,11 @@ 3 {400, 300} + {60, 60} {200, 268} {268, 200} {200, 268} - 1930 + 2083 diff --git a/Files/en.lproj/InfoPlist.strings b/Files/en.lproj/InfoPlist.strings index 477b28f..71b7134 100644 --- a/Files/en.lproj/InfoPlist.strings +++ b/Files/en.lproj/InfoPlist.strings @@ -1,2 +1,3 @@ /* Localized versions of Info.plist keys */ +"CFBundleDisplayName"="Biblical Zoo"; \ No newline at end of file diff --git a/Files/en.lproj/Localizable.strings b/Files/en.lproj/Localizable.strings index 050c2cc..0f6d8cd 100644 --- a/Files/en.lproj/Localizable.strings +++ b/Files/en.lproj/Localizable.strings @@ -23,10 +23,6 @@ /* Conservation Status */ "EX" = "Extinct"; -"Tylototriton verrucosus" = "Hymalayan Newt"; - -"Testudo werneri" = "Negev Tortoise"; - /* Toggle camera button title */ "Camera" = "Camera"; @@ -48,9 +44,6 @@ /* No comment provided by engineer. */ "Family" = "Family"; -/* Fun */ -"Fun" = "Fun"; - /* No comment provided by engineer. */ "Habitat" = "Habitat"; @@ -60,18 +53,12 @@ /* No comment provided by engineer. */ "In the zoo" = "In the zoo"; -/* Video recording unavailable failure reason */ -"Movies recorded on this device will only contain audio. They will be accessible through iTunes file sharing." = "Movies recorded on this device will only contain audio. They will be accessible through iTunes file sharing."; - /* News */ "News" = "News"; /* No Description */ "No Description" = "No Description"; -/* OK button title */ -"OK" = "O.K"; - /* Capture still image button title */ "Photo" = "Photo"; @@ -79,7 +66,7 @@ "Record" = "Record"; /* No comment provided by engineer. */ -"Sientific Name" = "Sientific Name"; +"Sientific Name" = "Scientific Name"; /* No comment provided by engineer. */ "Social Structure" = "Social Structure"; @@ -138,7 +125,7 @@ "Album" = "Album"; /* No comment provided by engineer. */ -"animalistic camera label" = "animalistic camera label"; +"animalistic camera label" = "Animalistic camera"; /* No comment provided by engineer. */ "City / Country" = "City / Country"; @@ -147,7 +134,7 @@ "Email" = "Email"; /* No comment provided by engineer. */ -"Exhibits animals" = "Exhibits animals"; +"Exhibits animals" = "Exhibit's animals"; /* No comment provided by engineer. */ "FaceBook" = "FaceBook"; @@ -156,40 +143,28 @@ "Name" = "Name"; /* No comment provided by engineer. */ -"O.K" = "O.K"; - -/* No comment provided by engineer. */ -"photo title" = "photo title"; - -/* No comment provided by engineer. */ -"Post Attantion" = "Post Attantion"; +"photo title" = "Photo from the Biblical Zoo"; /* No comment provided by engineer. */ -"Post Label Text" = "Post Label Text"; +"Post Attantion" = "Attention"; /* No comment provided by engineer. */ -"Post Missing Data Massege" = "Post Missing Data Massege"; +"Post Missing Data Massege" = "Please fill in all the fields"; /* No comment provided by engineer. */ "Post Suscess Massege" = "Thanks for sharing"; /* No comment provided by engineer. */ -"Post Tanks" = "Post Tanks"; +"Post Tanks" = "Create your own sign and share it"; /* No comment provided by engineer. */ "Post" = "Post"; /* No comment provided by engineer. */ -"sign maker label" = "sign maker label"; - -/* No comment provided by engineer. */ -"simple camera label" = "simple camera label"; +"Tap to see animal" = "Tap to see exhibit data"; /* No comment provided by engineer. */ -"Tap to see animal" = "Tap to see animal"; - -/* No comment provided by engineer. */ -"PostLabel" = "Jokes, Songs & Interesting facts and more from Zoo visitors."; +"PostLabel" = "Jokes, Songs, Interesting facts and more from Zoo visitors."; /* No comment provided by engineer. */ "A.M" = "A.M"; @@ -212,9 +187,6 @@ /* No comment provided by engineer. */ "Creating Exhibits" = "Creating Exhibits"; -/* No comment provided by engineer. */ -"Dissmis" = "Dissmis"; - /* No comment provided by engineer. */ "Download Audio Guides" = "Download Audio Guides"; @@ -222,7 +194,7 @@ "Download Zoo Exhibits" = "Download Zoo Exhibits"; /* No comment provided by engineer. */ -"Downloading Animals" = "Downloading Animals"; +"Downloading Animals" = "Downloading Animals Data"; /* No comment provided by engineer. */ "Email sent." = "Email sent."; @@ -234,16 +206,16 @@ "Event Created" = "Event Created"; /* No comment provided by engineer. */ -"Exhibit animals" = "Exhibit animals"; +"Exhibit animals" = "Exhibit's animals"; /* No comment provided by engineer. */ -"Failed to find your location " = "Failed to find your location "; +"Failed to find your location" = "Failed to find your location"; /* No comment provided by engineer. */ "Flowing" = "Flowing"; /* No comment provided by engineer. */ -"If you don't have intenrt services you can find an Internet acsses in the enternce to the zoo" = "If you don't have intenrt services you can find an Internet acsses in the enternce to the zoo"; +"No Internet alert body" = "If you don't have an internet connection you can find an Internet access in the entrance to the zoo"; /* No comment provided by engineer. */ "Lively" = "Lively"; @@ -255,13 +227,7 @@ "No Internet Connection" = "No Internet Connection"; /* No comment provided by engineer. */ -"No Valeu" = "No Valeu"; - -/* No comment provided by engineer. */ -"okay" = "O.K"; - -/* No comment provided by engineer. */ -"Okay" = "O.K"; +"No Valeu" = "No Value"; /* No comment provided by engineer. */ "oops Error" = "oops Error"; @@ -269,9 +235,6 @@ /* No comment provided by engineer. */ "P.M" = "P.M"; -/* No comment provided by engineer. */ -"Post label" = "Post label"; - /* No comment provided by engineer. */ "Problem Creating Event" = "Problem Creating Event"; @@ -291,10 +254,7 @@ "There is a problem with this exhibit we will fix it as soon as possible" = "There is a problem with this exhibit we will fix it as soon as possible"; /* No comment provided by engineer. */ -"Unable to send Email." = "Unable to send Email."; - -/* No comment provided by engineer. */ -"Update Audio Guides" = "Update Audio Guides"; +"Unable to send Email." = "Unable to send Email!"; /* No comment provided by engineer. */ "Update Zoo Exhibits" = "Tap to update exhibits!"; @@ -306,10 +266,10 @@ "Yay!?" = "Yay!?"; /* No comment provided by engineer. */ -"Attantion" = "Attantion"; +"Attantion" = "Attention"; /* No comment provided by engineer. */ -"Be the first to add an interesting fact, joke, song. any thing that might interest other visitors." = "Be the first to add an interesting fact, joke, song. any thing that might interest other visitors."; +"Be the first to add an interesting fact, joke, song. any thing that might interest other visitors." = "Be the first to add an interesting fact, joke, song or any thing that might interest other visitors."; /* No comment provided by engineer. */ "Cancel" = "Cancel"; @@ -324,22 +284,22 @@ "Connected as" = "Connected as"; /* No comment provided by engineer. */ -"description" = "description"; +"description" = "Description"; /* No comment provided by engineer. */ -"diet" = "diet"; +"diet" = "Diet"; /* No comment provided by engineer. */ "Done" = "Done"; /* No comment provided by engineer. */ -"Event allready added" = "Event allready added"; +"Event allready added" = "Event already added"; /* No comment provided by engineer. */ -"facebook connection messege" = "facebook connection messege"; +"facebook connection messege" = "Connect to FaceBook to share images and zoo signs with your friends."; /* No comment provided by engineer. */ -"FaceBook connection" = "FaceBook connection"; +"FaceBook connection" = "Connect to FaceBook to share images and zoo signs with your friends."; /* No comment provided by engineer. */ "habitat" = "Habitat"; @@ -354,25 +314,22 @@ "name" = "Name"; /* No comment provided by engineer. */ -"No Posts For Animal" = "No Posts For Animal"; +"No Posts For Animal" = "No posts For this animal"; /* No comment provided by engineer. */ "Not now" = "Not now"; /* No comment provided by engineer. */ -"Ok" = "O.K"; - -/* No comment provided by engineer. */ -"photo email body" = "photo email body"; +"photo email body" = "We are having fun at the Jerusalem Biblical Zoo."; /* No comment provided by engineer. */ -"photo email subject" = "photo email subject"; +"photo email subject" = "An animalistic image from the Jerusalem Biblical Zoo."; /* No comment provided by engineer. */ -"Question Suscess Massege" = "Question Suscess Massege"; +"Question Suscess Massege" = "We got your question, we will publish the best questions in the app"; /* No comment provided by engineer. */ -"Question Tanks" = "Question Tanks"; +"Question Tanks" = "Thank You"; /* No comment provided by engineer. */ "Questions" = "Questions"; @@ -381,7 +338,7 @@ "Save to album" = "Save to album"; /* No comment provided by engineer. */ -"Save to FaceBook" = "Save to FaceBook"; +"Save to FaceBook" = "Publish to FaceBook"; /* No comment provided by engineer. */ "Send a Question" = "Send a Question"; @@ -402,32 +359,20 @@ "Unable to save image to Photo Album." = "Unable to save image to Photo Album."; /* No comment provided by engineer. */ -"Buy full app description" = "Buy full app description"; - -/* No comment provided by engineer. */ -"Buy full app map description" = "Buy full app map description"; - -/* No comment provided by engineer. */ -"Buy Full App" = "Buy Full App"; +"Buy full app map description" = "Buy the full app to view your location on the map."; /* No comment provided by engineer. */ -"Buy full version" = "Buy full version"; +"Buy Full App" = "Buy The Full App!"; /* No comment provided by engineer. */ "Buy Now" = "Buy Now"; /* No comment provided by engineer. */ -"Buying Thanks" = "Thank you for buing the app. We hope you will enjoy it."; +"Buying Thanks" = "Thank you for buying the app. We hope you will enjoy it."; /* No comment provided by engineer. */ "Come visit us soon" = "Come visit us soon"; -/* No comment provided by engineer. */ -"Error retrieving location text" = "Error retrieving location text"; - -/* No comment provided by engineer. */ -"Error retrieving location title" = "Error retrieving location title"; - /* No comment provided by engineer. */ "Loading Video" = "Loading Video"; @@ -435,7 +380,7 @@ "More" = "More"; /* No comment provided by engineer. */ -"Perchase failed" = "Perchase failed"; +"Perchase failed" = "Purchase failed"; /* nill */ "Problem Loading Video" = "Problem Loading Video"; @@ -453,8 +398,86 @@ "Finding your location" = "Finding your location"; /* No comment provided by engineer. */ -"Buy full app" = "Buy full app"; +"Downloading Exhibits" = "Downloading Exhibits"; /* No comment provided by engineer. */ -"Downloading Exhibits" = "Downloading Exhibits"; +"A graet image from [ENTER YOUR NAME HERE]!" = "A graet image from [ENTER YOUR NAME HERE]!"; + +/* No comment provided by engineer. */ +"Ask a question" = "Ask a question"; + +/* No comment provided by engineer. */ +"From Album" = "From Album"; + +/* No comment provided by engineer. */ +"From Camera" = "From Camera"; + +/* No comment provided by engineer. */ +"Generate Sign" = "Generate Sign"; + +/* No comment provided by engineer. */ +"Great" = "Great"; + +/* No comment provided by engineer. */ +"Zoo photographer email massege" = "Here is a great image we took while visiting the zoo. If you like it you can use it in your App and Website"; + +/* No comment provided by engineer. */ +"Info" = "Visitors info"; + +/* No comment provided by engineer. */ +"Launch" = "Launch"; + +/* No comment provided by engineer. */ +"photo sharing text" = "A great photo from the Jerusalem Biblical Zoo."; + +/* No comment provided by engineer. */ +"Share sign text" = "A sign we made in the Jerusalem Biblical Zoo App!"; + +/* No comment provided by engineer. */ +"There are no questions for this animal yet, Be the first to ask" = "There are no questions for this animal , Be the first to ask one and our experts will be happy to answer the bets ones!"; + +/* No comment provided by engineer. */ +"We are in the Jerusalem Biblical Zoo" = "We are in the Jerusalem Biblical Zoo"; + +/* No comment provided by engineer. */ +"Will start in 20 minutes" = "will start in 20 minutes"; + +/* No comment provided by engineer. */ +"Your email is not configured." = "Your email is not configured."; + +/* nill */ +"Your notification had been set" = "Your notification has been set"; + +/* No comment provided by engineer. */ +"Dismiss" = "Dismiss"; + +/* No comment provided by engineer. */ +"location services error body" = "Go to your device Settings>Privacy>Location Services, and enable this app."; + +/* No comment provided by engineer. */ +"location services error title" = "Location Services Disabled"; + +/* No comment provided by engineer. */ +"No questions alert body" = "There are no questions for this animal, Be the first to ask a question!"; + +/* No comment provided by engineer. */ +"Buy full app description" = "Buy the full app to unlock this feature."; + +/* No comment provided by engineer. */ +"Later" = "Later"; + +/* No comment provided by engineer. */ +"Connected as " = "Connected as "; + +/* No comment provided by engineer. */ +"Device connected to FaceBook" = "Device connected to FaceBook"; + +/* No comment provided by engineer. */ +"Device dicconected from FaceBook" = "Device diconnected from FaceBook"; + +/* No comment provided by engineer. */ +"Error retrieving location title" = "Error retrieving location title"; + +/* No comment provided by engineer. */ +"simple camera label" = "simple camera label"; diff --git a/Files/en.lproj/Opening-568h@2x.png b/Files/en.lproj/Opening-568h@2x.png new file mode 100644 index 0000000..e50af8b Binary files /dev/null and b/Files/en.lproj/Opening-568h@2x.png differ diff --git a/Files/en.lproj/Opening.png b/Files/en.lproj/Opening.png new file mode 100644 index 0000000..76009fa Binary files /dev/null and b/Files/en.lproj/Opening.png differ diff --git a/Files/en.lproj/Opening@2x.png b/Files/en.lproj/Opening@2x.png new file mode 100644 index 0000000..0c63cc3 Binary files /dev/null and b/Files/en.lproj/Opening@2x.png differ diff --git a/Files/en.lproj/OpeningScreenViewController.xib b/Files/en.lproj/OpeningScreenViewController.xib index 88c7d02..2400e74 100644 --- a/Files/en.lproj/OpeningScreenViewController.xib +++ b/Files/en.lproj/OpeningScreenViewController.xib @@ -1,14 +1,14 @@ - 1536 + 1552 12C3012 - 2844 + 3084 1187.34 625.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1930 + 2083 IBProxyObject @@ -47,7 +47,7 @@ IBCocoaTouchFramework NSImage - opened_zoo_screen@2x.png + Default-568h@2x.png @@ -55,6 +55,7 @@ 292 {{135, 121}, {94, 61}} + _NS:9 NO IBCocoaTouchFramework @@ -82,7 +83,7 @@ 292 - {{85, 405}, {154, 43}} + {{9, 408}, {98, 43}} _NS:9 NO @@ -91,6 +92,10 @@ 0 0 1 + + 1 + MC4yODI2MDg2OTU3IDAuMjE0MTMyOTU0MyAwLjE3MzEwNzU2MTYAA + Enter @@ -98,18 +103,45 @@ MC4yODI2MDg2OTU3IDAuMjE0MTMyOTU0MyAwLjE3MzEwNzU2MTYAA - + Futura-Medium Futura 0 22 - + Futura-Medium 22 16 + + + 292 + {{114, 405}, {202, 46}} + + + _NS:9 + NO + 0.80000001192092896 + IBCocoaTouchFramework + 0 + 0 + 1 + + 1 + MC4yODI2MDg2OTU3IDAuMjE0MTMyOTU0MyAwLjE3MzEwNzU2MTYAA + + Show me the way + + + 1 + MC4yODI2MDg2OTU3IDAuMjE0MTMyOTU0MyAwLjE3MzEwNzU2MTYAA + + + + + {{0, 20}, {320, 460}} @@ -153,11 +185,19 @@ - enter + directionsBtn + + + + 26 + + + + enterBtn - 10 + 27 @@ -177,6 +217,15 @@ 11 + + + showInfo: + + + 7 + + 25 + @@ -193,6 +242,7 @@ + @@ -222,6 +272,11 @@ + + 23 + + + @@ -230,6 +285,7 @@ UIResponder com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -238,21 +294,21 @@ - 22 + 27 0 IBCocoaTouchFramework com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS - + YES 3 - opened_zoo_screen@2x.png - {640, 960} + Default-568h@2x.png + {16, 16} - 1930 + 2083 diff --git a/Files/en.lproj/SignForFreindViewController.xib b/Files/en.lproj/SignForFreindViewController.xib index b180136..710d075 100644 --- a/Files/en.lproj/SignForFreindViewController.xib +++ b/Files/en.lproj/SignForFreindViewController.xib @@ -107,7 +107,7 @@ YES IBCocoaTouchFramework NO - Your freind social structure + 3 MQA @@ -172,7 +172,7 @@ 292 - {{13, 27}, {295, 60}} + {{13, 25}, {295, 60}} @@ -185,7 +185,7 @@ YES IBCocoaTouchFramework NO - Your friend habitat + 2 @@ -211,7 +211,7 @@ YES IBCocoaTouchFramework NO - Your friend diet + 3 MQA @@ -297,9 +297,9 @@ 0 Latin Name - - 3 - MAA + + 2 + MC4yOTQxMTc2NTkzIDAuMjExNzY0NzIzMSAwLjE1Njg2Mjc1MDYAA YES 16 @@ -333,7 +333,10 @@ 0 Name - + + 2 + MC4yOTQxMTc2NTkzIDAuMjExNzY0NzIzMSAwLjE1Njg2Mjc1MDYAA + YES 16 @@ -353,7 +356,6 @@ {{13, 37}, {295, 200}} - _NS:9 1 @@ -363,7 +365,7 @@ YES IBCocoaTouchFramework NO - Your freind description + 2 @@ -693,10 +695,10 @@ - + @@ -760,13 +762,13 @@ - 39 - + 43 + - 43 - + 39 + diff --git a/Files/AnimalQuestionAnswerViewController.xib b/Files/he.lproj/AnimalQuestionAnswerViewController.xib similarity index 97% rename from Files/AnimalQuestionAnswerViewController.xib rename to Files/he.lproj/AnimalQuestionAnswerViewController.xib index cea675c..d063928 100644 --- a/Files/AnimalQuestionAnswerViewController.xib +++ b/Files/he.lproj/AnimalQuestionAnswerViewController.xib @@ -43,9 +43,10 @@ 292 - {{20, 20}, {280, 73}} + {{20, 10}, {280, 93}} + _NS:9 NO YES @@ -77,6 +78,7 @@ {{0, 5}, {320, 114}} + _NS:9 1 @@ -94,6 +96,7 @@ YES YES IBCocoaTouchFramework + NO Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda. @@ -117,10 +120,10 @@ {{0, 64}, {320, 416}} - + 1 - MC4zNjg2Mjc0NTEgMC41NzY0NzA1ODgyIDAuNjE1Njg2Mjc0NQA + MC41NDkwMTk2MDc4IDAuNTA1ODgyMzUyOSAwLjQ4MjM1Mjk0MTIAA diff --git a/Files/he.lproj/EventDetailsViewController.xib b/Files/he.lproj/EventDetailsViewController.xib index a12f3df..0ef6d30 100644 --- a/Files/he.lproj/EventDetailsViewController.xib +++ b/Files/he.lproj/EventDetailsViewController.xib @@ -139,11 +139,11 @@ {{20, 245}, {280, 130}} - + _NS:9 - - 2 - MSAxIDEAA + + 3 + MQA YES YES @@ -185,7 +185,10 @@ NO IBCocoaTouchFramework מיקום - + + 2 + MC4xODAzOTIxNjEgMC4xMzcyNTQ5MDg3IDAuMDkwMTk2MDgwNTEAA + 0 10 @@ -203,7 +206,7 @@ 292 - {{-4, 193}, {159, 21}} + {{-30, 193}, {159, 21}} @@ -214,7 +217,7 @@ NO IBCocoaTouchFramework שעה - + 0 10 @@ -225,7 +228,7 @@ 292 - {{176, 193}, {61, 20}} + {{155, 193}, {82, 20}} @@ -236,7 +239,7 @@ NO IBCocoaTouchFramework תאריך - + 0 10 @@ -256,10 +259,7 @@ IBCocoaTouchFramework 0 0 - - 3 - MQA - + 1 MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA @@ -310,7 +310,7 @@ 292 - {{20, 103}, {30, 30}} + {{20, 104}, {30, 30}} @@ -372,10 +372,7 @@ NO IBCocoaTouchFramework תיאור : - - 2 - MSAxIDEAA - + 0 10 @@ -389,7 +386,7 @@ {{35, 416}, {67, 21}} - + _NS:9 NO YES @@ -397,10 +394,7 @@ NO IBCocoaTouchFramework התקשר לגן - - 2 - MSAxIDEAA - + 0 10 @@ -423,7 +417,7 @@ {{126, 419}, {67, 21}} - + _NS:9 NO YES @@ -431,10 +425,7 @@ NO IBCocoaTouchFramework שתף - - 2 - MSAxIDEAA - + 0 10 @@ -456,10 +447,7 @@ NO IBCocoaTouchFramework הזכר לי 20 דקות לפני תחילת האירוע - - 2 - MSAxIDEAA - + 0 10 @@ -483,13 +471,7 @@ NO IBCocoaTouchFramework איפה : - - 1 - MSAxIDEAA - - 1 - - + 0 @@ -499,7 +481,7 @@ 292 - {{163, 194}, {5, 21}} + {{142, 194}, {5, 21}} @@ -510,11 +492,7 @@ NO IBCocoaTouchFramework / - - 1 - MSAxIDEAA - - + 0 @@ -535,17 +513,76 @@ NO IBCocoaTouchFramework מתי : - - 1 - MSAxIDEAA - - + 0 NO + + + 292 + {{208, 383}, {84, 72}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{115, 381}, {84, 72}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{18, 381}, {84, 72}} + + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + {{0, 20}, {320, 460}} @@ -642,6 +679,46 @@ 20 + + + callLabel + + + + 45 + + + + notifLabel + + + + 46 + + + + shareLabel + + + + 47 + + + + shareButton + + + + 48 + + + + saveBtnBig + + + + 49 + callZoo: @@ -671,12 +748,39 @@ - dissmis: + dismiss: 7 - 36 + 38 + + + + saveToDiary: + + + 7 + + 50 + + + + shareEvent: + + + 7 + + 44 + + + + callZoo: + + + 7 + + 42 @@ -695,7 +799,6 @@ - @@ -704,10 +807,14 @@ - + + + + + @@ -821,6 +928,21 @@ + + 39 + + + + + 40 + + + + + 41 + + + @@ -844,7 +966,10 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -855,7 +980,7 @@ - 37 + 50 @@ -864,7 +989,7 @@ UIViewController id - id + id id id @@ -873,8 +998,8 @@ callZoo: id - - dissmis: + + dismiss: id @@ -888,11 +1013,16 @@ UIButton + UILabel UILabel UITextView UIImageView UILabel + UILabel UIButton + UIButton + UIButton + UILabel UILabel UILabel UILabel @@ -902,6 +1032,10 @@ callBtn UIButton + + callLabel + UILabel + dateLabel UILabel @@ -918,10 +1052,26 @@ locationLabel UILabel + + notifLabel + UILabel + saveBtn UIButton + + saveBtnBig + UIButton + + + shareButton + UIButton + + + shareLabel + UILabel + timeLabel UILabel diff --git a/Files/he.lproj/FunViewController.xib b/Files/he.lproj/FunViewController.xib index a070163..128cab6 100644 --- a/Files/he.lproj/FunViewController.xib +++ b/Files/he.lproj/FunViewController.xib @@ -1,14 +1,14 @@ - 1536 + 1552 12C3012 - 2844 + 3084 1187.34 625.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1930 + 2083 IBProxyObject @@ -38,77 +38,82 @@ 274 - + 292 - - + + 292 - - - - 292 - {{8, 5}, {31, 30}} - - - - _NS:9 - NO - IBCocoaTouchFramework - - - - 292 - {{56, 9}, {255, 21}} - - - - _NS:9 - NO - YES - 7 - NO - IBCocoaTouchFramework - Label - - 3 - MQA - - - 0 - 10 - - STHeitiTC-Medium - Heiti TC - 2 - 14 - - - STHeitiTC-Medium - 14 - 16 - - - - {320, 37} - + {{0, 1}, {271, 35}} + - + _NS:9 - - 1 - MC4zNjg2Mjc0NTEgMC41NzY0NzA1ODgyIDAuNjE1Njg2Mjc0NQA + NO + YES + 7 + NO + IBCocoaTouchFramework + חשבון הפייסבוק אינו מחובר + + 3 + MQA + + + 0 + 10 + 2 + + STHeitiTC-Medium + Heiti TC + 2 + 14 + + + STHeitiTC-Medium + 14 + 16 + + + + 292 + {{280, 5}, {30, 30}} + + + + _NS:9 + NO IBCocoaTouchFramework + + NSImage + facebook_icon@2x.png + + + {{0, 4}, {320, 40}} + + + + _NS:9 + + 1 + MC4zNjg2Mjc0NTEgMC41NzY0NzA1ODgyIDAuNjE1Njg2Mjc0NQA + + IBCocoaTouchFramework + + + + 292 + 292 - {{182, 70}, {107, 80}} + {{182, 14}, {107, 80}} - + _NS:9 NO IBCocoaTouchFramework @@ -141,7 +146,7 @@ 292 - {{38, 278}, {107, 80}} + {{38, 222}, {107, 80}} @@ -173,10 +178,10 @@ 292 - {{48, 64}, {80, 107}} + {{48, 8}, {80, 107}} - + _NS:9 3 @@ -203,7 +208,7 @@ 292 - {{29, 164}, {115, 37}} + {{29, 108}, {115, 37}} @@ -236,7 +241,7 @@ 292 - {{44, 358}, {86, 19}} + {{44, 302}, {86, 19}} @@ -260,7 +265,7 @@ 292 - {{29, 375}, {124, 58}} + {{29, 319}, {124, 58}} @@ -293,7 +298,7 @@ 292 - {{176, 375}, {124, 76}} + {{176, 319}, {124, 76}} @@ -317,7 +322,7 @@ 292 - {{169, 187}, {124, 44}} + {{169, 131}, {124, 44}} @@ -341,7 +346,7 @@ 292 - {{20, 194}, {124, 44}} + {{20, 138}, {124, 44}} @@ -365,7 +370,7 @@ 292 - {{163, 151}, {137, 42}} + {{163, 95}, {137, 42}} @@ -389,7 +394,7 @@ 292 - {{181, 366}, {115, 36}} + {{181, 310}, {115, 36}} @@ -413,10 +418,9 @@ 292 - {{200, 265}, {80, 107}} + {{200, 209}, {80, 107}} - _NS:9 NO IBCocoaTouchFramework @@ -436,20 +440,20 @@ - {320, 455} + {{0, 44}, {320, 323}} - + _NS:10 YES YES IBCocoaTouchFramework - {{0, 64}, {320, 455}} + {{0, 64}, {320, 367}} - + 1 MC4yODI2MDg2OTU3IDAuMjE0MTMyOTU0MyAwLjE3MzEwNzU2MTYAA @@ -468,13 +472,13 @@ - {320, 568} - {568, 320} + {320, 480} + {480, 320} IBCocoaTouchFramework - Retina 4 Full Screen - 2 + Retina 3.5 Full Screen + 0 IBCocoaTouchFramework @@ -489,30 +493,6 @@ 3 - - - facebookView - - - - 30 - - - - facebookImage - - - - 17 - - - - facebookName - - - - 18 - signBtn @@ -569,6 +549,30 @@ 69 + + + facebookName + + + + 18 + + + + facebookView + + + + 30 + + + + simpleCameraLabel + + + + 73 + opsenSignGenerator: @@ -580,21 +584,21 @@ - openCamera: + openZooPhotographerCamera: 7 - 38 + 70 - opsenShareCaera: + openShareCamera: 7 - 23 + 71 @@ -630,57 +634,51 @@ + + + 29 + + + + + + + + + 15 + + + 46 - + - - + + + - - - - 22 - - - - - 45 - - - 43 - 21 - - - - - 6 - - - - - 4 - + 22 + @@ -714,22 +712,28 @@ - 29 - - - - - + 45 + - 16 - - + 21 + + - 15 - + 6 + + + + + 4 + + + + + 72 + @@ -741,7 +745,6 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -758,12 +761,13 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 69 + 73 @@ -771,22 +775,22 @@ FunViewController UIViewController - id id - id + id + id id - - openCamera: - id - openQuestions: id - - opsenShareCaera: + + openShareCamera: + id + + + openZooPhotographerCamera: id @@ -797,7 +801,6 @@ UILabel UIButton - UIImageView UILabel UIView UIButton @@ -816,10 +819,6 @@ cameraBtn UIButton - - facebookImage - UIImageView - facebookName UILabel @@ -866,10 +865,11 @@ 3 {400, 300} + {60, 60} {200, 268} {268, 200} {200, 268} - 1930 + 2083 diff --git a/Files/he.lproj/InfoPlist.strings b/Files/he.lproj/InfoPlist.strings new file mode 100644 index 0000000..7959d02 --- /dev/null +++ b/Files/he.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* Localized versions of Info.plist keys */ + +"CFBundleDisplayName"="גן החיות התנכ\"י"; \ No newline at end of file diff --git a/Files/he.lproj/Localizable.strings b/Files/he.lproj/Localizable.strings index 7116095..1800ad8 100644 --- a/Files/he.lproj/Localizable.strings +++ b/Files/he.lproj/Localizable.strings @@ -5,11 +5,11 @@ Copyright 2010 shani hajbi. All rights reserved. */ /* conservation ststus localizable */ -"LC" = "Least Concern"; +"LC" = "ללא חשש"; "NT" = "קרוב לאיום"; -"VU" = "Vulnerable"; +"VU" = "פגיע"; /* Conservation Status */ "EN" = "תלוי שימור"; @@ -23,10 +23,6 @@ /* Conservation Status */ "EX" = "נכחד"; -"Tylototriton verrucosus" = "Hymalayan Newt"; - -"Testudo werneri" = "Negev Tortoise"; - /* Toggle camera button title */ "Camera" = "מצלמה"; @@ -48,9 +44,6 @@ /* No comment provided by engineer. */ "Family" = "משפחה"; -/* Fun */ -"Fun" = "הפתעות"; - /* No comment provided by engineer. */ "Habitat" = "סביבת מחיה"; @@ -60,18 +53,12 @@ /* No comment provided by engineer. */ "In the zoo" = "בגן החיות"; -/* Video recording unavailable failure reason */ -"Movies recorded on this device will only contain audio. They will be accessible through iTunes file sharing." = "No need"; - /* News */ "News" = "חדשות"; /* No Description */ "No Description" = "חסר תיאור"; -/* OK button title */ -"OK" = "אישור"; - /* Capture still image button title */ "Photo" = "תמונה"; @@ -155,17 +142,11 @@ /* No comment provided by engineer. */ "Name" = "שם"; -/* No comment provided by engineer. */ -"O.K" = "אישור"; - /* No comment provided by engineer. */ "photo title" = "כותרת התמונה"; /* No comment provided by engineer. */ -"Post Attantion" = "יש להזין את כל הפרטים"; - -/* No comment provided by engineer. */ -"Post Label Text" = "יש לכם בדיחה או עובדה מעניינת על חיה זו, שלחו אלינו ואנו נפרסם את הטובות ביותר."; +"Post Attantion" = "שימו לב"; /* No comment provided by engineer. */ "Post Missing Data Massege" = "חובה למלא את כל השדות (תוכן, עיר ושם) !"; @@ -180,13 +161,7 @@ "Post" = "פוסט"; /* No comment provided by engineer. */ -"sign maker label" = "הוסיפו חברים לגן החיות"; - -/* No comment provided by engineer. */ -"simple camera label" = "מצלמה"; - -/* No comment provided by engineer. */ -"Tap to see animal" = "הקש בכדי לצפות בפרטים על החיה"; +"Tap to see animal" = "הקש בכדי לצפות בפרטים על התצוגה"; /* No comment provided by engineer. */ "PostLabel" = "עובדות מעניינות, שירים ובדיחות ממבקרי הגן."; @@ -212,9 +187,6 @@ /* No comment provided by engineer. */ "Creating Exhibits" = "מתקין תצוגות"; -/* No comment provided by engineer. */ -"Dissmis" = "שחרר"; - /* No comment provided by engineer. */ "Download Audio Guides" = "הורד קבצי הדרכה קולית"; @@ -237,13 +209,13 @@ "Exhibit animals" = "חיות בתצוגה"; /* No comment provided by engineer. */ -"Failed to find your location " = "איתור מיקומך נכשל"; +"Failed to find your location" = "איתור מיקומך נכשל"; /* No comment provided by engineer. */ "Flowing" = "זורם"; /* No comment provided by engineer. */ -"If you don't have intenrt services you can find an Internet acsses in the enternce to the zoo" = "במידה ואין לכם גישה לאינטרנט תוכלו להתחבר לאינטרנט בכניסה לגן החיות."; +"No Internet alert body" = "במידה ואין לכם גישה לאינטרנט תוכלו להתחבר לאינטרנט בכניסה לגן החיות."; /* No comment provided by engineer. */ "Lively" = "שוקק"; @@ -257,12 +229,6 @@ /* No comment provided by engineer. */ "No Valeu" = "אין ערך"; -/* No comment provided by engineer. */ -"okay" = "אישור"; - -/* No comment provided by engineer. */ -"Okay" = "אישור"; - /* No comment provided by engineer. */ "oops Error" = "אופס… שגיאה !"; @@ -330,7 +296,10 @@ "Event allready added" = "האירוע קיים כבר בלוח השנה שלך"; /* No comment provided by engineer. */ -"FaceBook connection" = "חיבור לפייסבוק"; +"facebook connection messege" = "התחברו לפייסבוק בכדי לשתף תמונות ושלטים שתיצרו עם חבריכם."; + +/* No comment provided by engineer. */ +"FaceBook connection" = "התחברו לפייסבוק בכדי לשתף תמונות ושלטים שתיצרו עם חבריכם."; /* No comment provided by engineer. */ "habitat" = "סביבת מחיה"; @@ -350,9 +319,6 @@ /* No comment provided by engineer. */ "Not now" = "לא כעת"; -/* No comment provided by engineer. */ -"Ok" = "אישור"; - /* No comment provided by engineer. */ "photo email body" = "אנו מבקרים ונהנים בגן החיות התנכ\"י בירושלים "; @@ -392,17 +358,11 @@ /* No comment provided by engineer. */ "Unable to save image to Photo Album." = "שמירת התמונה נכשלה, אנא נסו שוב."; -/* No comment provided by engineer. */ -"Buy full app description" = "באפליקציה המלאה תוכלו לצפות בכל תצוגות הגן, לנווט בעזרת המפה ועוד."; - /* No comment provided by engineer. */ "Buy full app map description" = "רכשו את האפליקציה בכדי לראות את מיקומכם על המפה !"; /* No comment provided by engineer. */ -"Buy Full App" = "תכונה זו אינה זמינה בגרסת הניסיון !"; - -/* No comment provided by engineer. */ -"Buy full version" = "תכונה זו אינה זמינה בגרסת הניסיון !"; +"Buy Full App" = "רכוש את הגרסה המלאה!"; /* No comment provided by engineer. */ "Buy Now" = "קנה עכשיו"; @@ -413,12 +373,6 @@ /* No comment provided by engineer. */ "Come visit us soon" = "אנו מצפים לראותכם בגן בקרוב."; -/* No comment provided by engineer. */ -"Error retrieving location text" = "ארעה שגיאה באיתור מיקומכם, אנא ודאו כי הגדרות המכשיר מאפשרות לאפליציה זו לקבל מידע על מיקומכם !"; - -/* No comment provided by engineer. */ -"Error retrieving location title" = "איתור מיקומכם נכשל"; - /* No comment provided by engineer. */ "Loading Video" = "טוען וידאו"; @@ -444,8 +398,80 @@ "Finding your location" = "מאתר את מיקומכם "; /* No comment provided by engineer. */ -"Buy full app" = "רכוש את האפליקציה המלאה"; +"Downloading Exhibits" = "מוריד מידע תצוגות"; /* No comment provided by engineer. */ -"Downloading Exhibits" = "מוריד מידע תצוגות"; +"A graet image from [ENTER YOUR NAME HERE]!" = "תמונה נהדרת מ [כתוב כאן את שמך]!"; + +/* No comment provided by engineer. */ +"Ask a question" = "שאל שאלה!"; + +/* No comment provided by engineer. */ +"From Album" = "אלבום תמונות"; + +/* No comment provided by engineer. */ +"From Camera" = "מצלמה"; + +/* No comment provided by engineer. */ +"Generate Sign" = "צור את השלט"; + +/* No comment provided by engineer. */ +"Great" = "מעולה"; + +/* No comment provided by engineer. */ +"Zoo photographer email massege" = "תמונה שצילמנו במהלך הביקור וחשבנו שתעניין אתכם. נשמח אם תפרסמו אותה באפליקציה או באתר של הגן."; + +/* No comment provided by engineer. */ +"Info" = "מידע למבקרים"; + +/* No comment provided by engineer. */ +"Launch" = "פתח"; + +/* No comment provided by engineer. */ +"photo sharing text" = "תמונה נהדרת מביקור בגן החיות התנכ\"י בירושלים"; + +/* No comment provided by engineer. */ +"Share sign text" = "שלט שהכנו באפליקציית גן החיות התנכ\"י!"; + +/* No comment provided by engineer. */ +"There are no questions for this animal yet, Be the first to ask" = "אין עדיין שאלות על חיה זו, היו הראשונים לשלוח שאלה והמומחים שלנו יענו לכם בשמחה !"; + +/* No comment provided by engineer. */ +"We are in the Jerusalem Biblical Zoo" = "אנחנו נמצאים בגן החיות התנכ\"י בירושלים"; + +/* No comment provided by engineer. */ +"Will start in 20 minutes" = "יתחיל בעוד 20 דקות"; + +/* No comment provided by engineer. */ +"Your email is not configured." = "תיבת המייל שלך אינה מוגדרת במכשיר בו אתה משתמש!"; + +/* nill */ +"Your notification had been set" = "התזכורת נקבעה בהצלחה, המשך ביקור נעים."; + +/* No comment provided by engineer. */ +"Dismiss" = "אישור"; + +/* No comment provided by engineer. */ +"location services error body" = "כנס להגדרות > פרטיות > שירותי מיקום ואפשר את האפליקציה הזו."; + +/* No comment provided by engineer. */ +"location services error title" = "שירותי מיקום מכובים"; + +/* No comment provided by engineer. */ +"No questions alert body" = "לא נשאלו שאלות על חיה זו, היו הראשונים לשאול שאלה!"; + +/* No comment provided by engineer. */ +"Buy full app description" = "רכוש את האפליקציה בכדי להשתמש בתכונה זו."; + +/* No comment provided by engineer. */ +"Later" = "לא כעת"; + +/* No comment provided by engineer. */ +"Connected as " = "מחובר כ"; + +/* No comment provided by engineer. */ +"Device connected to FaceBook" = "מכשיר זה מחובר לפייסבוק"; + +/* No comment provided by engineer. */ +"Device dicconected from FaceBook" = "מכשיר זה אינו מחובר לפייסבוק"; diff --git a/Files/he.lproj/Opening-568h@2x.png b/Files/he.lproj/Opening-568h@2x.png new file mode 100644 index 0000000..5615ffb Binary files /dev/null and b/Files/he.lproj/Opening-568h@2x.png differ diff --git a/Files/he.lproj/Opening.png b/Files/he.lproj/Opening.png new file mode 100644 index 0000000..2cd824b Binary files /dev/null and b/Files/he.lproj/Opening.png differ diff --git a/Files/he.lproj/Opening@2x.png b/Files/he.lproj/Opening@2x.png new file mode 100644 index 0000000..66ffb85 Binary files /dev/null and b/Files/he.lproj/Opening@2x.png differ diff --git a/Files/he.lproj/OpeningScreenViewController.xib b/Files/he.lproj/OpeningScreenViewController.xib index 101135c..91935e0 100644 --- a/Files/he.lproj/OpeningScreenViewController.xib +++ b/Files/he.lproj/OpeningScreenViewController.xib @@ -1,14 +1,14 @@ - 1536 + 1552 12C3012 - 2844 + 3084 1187.34 625.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1930 + 2083 IBProxyObject @@ -41,7 +41,6 @@ 274 {320, 460} - _NS:9 NO @@ -56,8 +55,7 @@ 292 {{135, 121}, {94, 61}} - - + _NS:9 NO IBCocoaTouchFramework @@ -72,11 +70,11 @@ MCAwAA - + 2 15 - + Helvetica-Bold 15 16 @@ -85,9 +83,8 @@ 292 - {{83, 409}, {154, 37}} + {{187, 408}, {113, 44}} - _NS:9 NO 0.80000001192092896 @@ -95,53 +92,60 @@ 0 0 1 - כניסה + + 1 + MC4yODI2MDg2OTU3IDAuMjE0MTMyOTU0MyAwLjE3MzEwNzU2MTYAA + + כניסה 1 MC4yODI2MDg2OTU3IDAuMjE0MTMyOTU0MyAwLjE3MzEwNzU2MTYAA - - + + 3 + MC41AA + + 2 - 22 + 2 - + Helvetica-Bold - 22 + 18 16 - + 292 - {{117, 344}, {86, 44}} + {{20, 408}, {154, 44}} - _NS:9 NO + 0.80000001192092896 IBCocoaTouchFramework 0 0 1 - מידע חיוני + + 1 + MC4yODI2MDg2OTU3IDAuMjE0MTMyOTU0MyAwLjE3MzEwNzU2MTYAA + + קח אותי לגן 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - 3 - MC41AA + MC4yODI2MDg2OTU3IDAuMjE0MTMyOTU0MyAwLjE3MzEwNzU2MTYAA - - + + + {{0, 20}, {320, 460}} - 3 @@ -182,19 +186,19 @@ - enter + directionsBtn - + - 10 + 29 - info + enterBtn - + - 24 + 30 @@ -217,11 +221,11 @@ showInfo: - + 7 - 25 + 28 @@ -239,7 +243,7 @@ - + @@ -270,8 +274,8 @@ - 23 - + 26 + @@ -282,89 +286,32 @@ UIResponder com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + - 25 - - - - - OpeningScreenViewController - UIViewController - - id - id - id - - - - enter: - id - - - showInfo: - id - - - showMadad: - id - - - - UIButton - UIImageView - UIButton - UISegmentedControl - UIButton - - - - enter - UIButton - - - imageview - UIImageView - - - info - UIButton - - - langSwitch - UISegmentedControl - - - madad - UIButton - - - - IBProjectSource - ./Classes/OpeningScreenViewController.h - - - + 30 + 0 IBCocoaTouchFramework com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS - + YES 3 opened_zoo_screen@2x.png - {640, 960} + {16, 16} - 1930 + 2083 diff --git a/Files/he.lproj/SignForFreindViewController.xib b/Files/he.lproj/SignForFreindViewController.xib index 6c30103..a9fd5f4 100644 --- a/Files/he.lproj/SignForFreindViewController.xib +++ b/Files/he.lproj/SignForFreindViewController.xib @@ -289,7 +289,7 @@ 292 - {{7, 55}, {208, 42}} + {{7, 54}, {208, 42}} @@ -300,9 +300,9 @@ 0 שם מדעי - - 3 - MAA + + 2 + MC4yOTQxMTc2NTkzIDAuMjExNzY0NzIzMSAwLjE1Njg2Mjc1MDYAA 2 YES @@ -337,7 +337,10 @@ 0 שם - + + 2 + MC4yOTQxMTc2NTkzIDAuMjExNzY0NzIzMSAwLjE1Njg2Mjc1MDYAA + 2 YES 16 @@ -434,7 +437,7 @@ IBCocoaTouchFramework - {320, 548} + {320, 617} @@ -704,8 +707,8 @@ - + diff --git a/Files/iTunesArtwork1024 b/Files/iTunesArtwork1024 deleted file mode 100644 index 9414a2f..0000000 Binary files a/Files/iTunesArtwork1024 and /dev/null differ diff --git a/Files/iTunesArtwork512 b/Files/iTunesArtwork512 deleted file mode 100644 index 0a951d0..0000000 Binary files a/Files/iTunesArtwork512 and /dev/null differ diff --git a/Files/info.css b/Files/info.css index 4145ac6..9e50aa0 100755 --- a/Files/info.css +++ b/Files/info.css @@ -24,7 +24,7 @@ body { direction: rtl; width: 320px; height: auto; - background-color: #95BDC2; + background-color: #F8EDDF; font-family: Arial; } @@ -84,16 +84,6 @@ textarea { resize: vertical; } -/* ========================================================================== - Chrome Frame prompt - ========================================================================== */ - -.chromeframe { - margin: 0.2em 0; - background: #ccc; - color: #000; - padding: 0.2em 0; -} /* ========================================================================== Author's custom styles @@ -118,10 +108,12 @@ td.price,td.time{ font-weight: normal; } tbody tr:nth-child(odd) { - background-color: #ccc; + background-color: #BDB38C; } - +a{ + color:#C95000; +} diff --git a/Files/info.html b/Files/info.html index c28e452..2c5e5c4 100644 --- a/Files/info.html +++ b/Files/info.html @@ -14,7 +14,7 @@ -

מידע כללי

+

מידע כללי

שעות פתיחה

@@ -67,6 +67,7 @@

מחיר כניסה

+

איך מגיעים לגן?


בתחבורה ציבורית
@@ -95,8 +96,16 @@

מחיר כניסה

• אין להכניס בעלי חיים לשטח הגן.
• אין להכניס אופניים, גלגליות, קורקינטים, סקייטבורד, רכבים ממונעים וכדומה.
 

+ +

נגישות

+

+גן החיות שבילי הליכה ללא מדרגות והינו מקום בעל נגישות מלאה לכסאות גלגלים ולעגלות. +ניתן לשאול כסאות גלגלים בהגיעכם על בסיס מקום פנוי (יש להפקיד תעודה מזהה). + +רכבת גן החיות מסייעת למתקשים בהליכה (ניתן להעלות כסא גלגלים אחד בכל נסיעה ברכבת). +

ביקור מהנה!

-Directions +


לקבלת פרטים נוספים ניתן להתקשר לטלפון: 02-6750111 

 

diff --git a/Files/info_en.css b/Files/info_en.css new file mode 100755 index 0000000..35d2060 --- /dev/null +++ b/Files/info_en.css @@ -0,0 +1,314 @@ +/* + * HTML5 Boilerplate + * + * What follows is the result of much research on cross-browser styling. + * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal, + * Kroc Camen, and the H5BP dev community and team. + */ + +/* ========================================================================== + Base styles: opinionated defaults + ========================================================================== */ + +html, +button, +input, +select, +textarea { + color: #222; +} + +body { + font-size: 1em; + line-height: 1.4; + direction: ltr; + width: 310px; + height: auto; + background-color: #F8EDDF; + font-family: Arial; + +} + +/* + * Remove text-shadow in selection highlight: h5bp.com/i + * These selection declarations have to be separate. + * Customize the background color to match your design. + */ + +::-moz-selection { + background: #b3d4fc; + text-shadow: none; +} + +::selection { + background: #b3d4fc; + text-shadow: none; +} + +/* + * A better looking default horizontal rule + */ + +hr { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #ccc; + margin: 1em 0; + padding: 0; +} + +/* + * Remove the gap between images and the bottom of their containers: h5bp.com/i/440 + */ + +img { + vertical-align: middle; +} + +/* + * Remove default fieldset styles. + */ + +fieldset { + border: 0; + margin: 0; + padding: 0; +} + +/* + * Allow only vertical resizing of textareas. + */ + +textarea { + resize: vertical; +} + + +/* ========================================================================== + Author's custom styles + ========================================================================== */ + + +table{ + width:320px; + text-align: left; + font-size: 14px; +} +tr{ + color: #3D3227; +} +td{ + padding: 10px; + font-weight: bold; +} +td.price,td.time{ + width: 100px; + text-align: left; + font-weight: normal; +} +tbody tr:nth-child(odd) { + background-color: #BDB38C; +} + +a{ + color:#C95000; +} + + + + + + + + + + + +/* ========================================================================== + Helper classes + ========================================================================== */ + +/* + * Image replacement + */ + +.ir { + background-color: transparent; + border: 0; + overflow: hidden; + /* IE 6/7 fallback */ + *text-indent: -9999px; +} + +.ir:before { + content: ""; + display: block; + width: 0; + height: 100%; +} + +/* + * Hide from both screenreaders and browsers: h5bp.com/u + */ + +.hidden { + display: none !important; + visibility: hidden; +} + +/* + * Hide only visually, but have it available for screenreaders: h5bp.com/v + */ + +.visuallyhidden { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +/* + * Extends the .visuallyhidden class to allow the element to be focusable + * when navigated to via the keyboard: h5bp.com/p + */ + +.visuallyhidden.focusable:active, +.visuallyhidden.focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; +} + +/* + * Hide visually and from screenreaders, but maintain layout + */ + +.invisible { + visibility: hidden; +} + +/* + * Clearfix: contain floats + * + * For modern browsers + * 1. The space content is one way to avoid an Opera bug when the + * `contenteditable` attribute is included anywhere else in the document. + * Otherwise it causes space to appear at the top and bottom of elements + * that receive the `clearfix` class. + * 2. The use of `table` rather than `block` is only necessary if using + * `:before` to contain the top-margins of child elements. + */ + +.clearfix:before, +.clearfix:after { + content: " "; /* 1 */ + display: table; /* 2 */ +} + +.clearfix:after { + clear: both; +} + +/* + * For IE 6/7 only + * Include this rule to trigger hasLayout and contain floats. + */ + +.clearfix { + *zoom: 1; +} + +/* ========================================================================== + EXAMPLE Media Queries for Responsive Design. + Theses examples override the primary ('mobile first') styles. + Modify as content requires. + ========================================================================== */ + +@media only screen and (min-width: 35em) { + /* Style adjustments for viewports that meet the condition */ +} + +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (min-resolution: 144dpi) { + /* Style adjustments for high resolution devices */ +} + +/* ========================================================================== + Print styles. + Inlined to avoid required HTTP connection: h5bp.com/r + ========================================================================== */ + +@media print { + * { + background: transparent !important; + color: #000 !important; /* Black prints faster: h5bp.com/s */ + box-shadow: none !important; + text-shadow: none !important; + } + + a, + a:visited { + text-decoration: underline; + } + + a[href]:after { + content: " (" attr(href) ")"; + } + + abbr[title]:after { + content: " (" attr(title) ")"; + } + + /* + * Don't show links for images, or javascript/internal links + */ + + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + + thead { + display: table-header-group; /* h5bp.com/t */ + } + + tr, + img { + page-break-inside: avoid; + } + + img { + max-width: 100% !important; + } + + @page { + margin: 0.5cm; + } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { + page-break-after: avoid; + } +} diff --git a/Files/info_en.html b/Files/info_en.html new file mode 100644 index 0000000..33bc9c9 --- /dev/null +++ b/Files/info_en.html @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + +

General Information

+ +
+

Opening Hours

+ + + + + + + + + + + + + + + + + + +
Sunday - Thursday9:00 - 17:00
Friday and Holiday Eves9:00 - 16:30
Saturday and Holidays10:00 - 17:00
+
+ +
+

Ticket Prices

+ + + + + + + + + + + + + + + + + + + + + +
Children (0 - 3)ללא תשלום
Children (3 - 18)38 NIS
Adults (age 18 and up)49 NIS
Senior citizen, Student, Soldier, Policeman, Handicapped presenting a card38 NIS
+ + +
+ +

How to get to the zoo ?

+ +
By public bus:
+The number 33 Bus, from Har Nof and Bayit VeGan
+
The number 26A bus from/to  Bayit VeGan and Ramat Sharet neighborhoods
+The No. 99 Bus, also known as the Circle Route or the Tourist Route
+For time table and more information enter the egged bus website:  http://www.egged.co.il/Eng/
+

+By train:
+
Try a fun and relaxing route and forget about the traffic.
+Israel rail operates a train that stops at the zoo or at malcha mall which is close to the zoo.
+The zoo offers spcial rates for those traveling by train: Same day Israel Rail ticket holders recieve approx.10% discount at the zoo ticket booths.
+

Take the Israel Rail train to the zoo and enjoy the scenic route and discounts at the zoo!

+

For time table and more information enter the israel rail website: www.rail.co.il

+

 General regulations during your visit:
+• Please do not feed the animals
+• Ball games are not allowed in zoo premises
+• Lighting fire is not permitted in zoo premises
+• Pets are not allowed in zoo premises
+• Bikes, skates, skateboards, powered vehicles and similar are not allowed
+• Help us keep the zoo clean
+
+ +

Accessibility

+

+The zoo is built on two main levels that house most of the animal exhibits. One main, circular route extends the length of both levels and connects most of the sites on the zoo grounds. Additional side paths also connect the two levels, and exhibits are situated along these paths as well. All exhibits and amenities are accessible to wheelchairs and strollers. Wheelchairs may be borrowed on a first-come – first-serve basis) for the duration of your visit (you will be requested to leave an ID card). +

+Enjoy your visit !

+


+For more information please call: 02-6750111 

+

 

+ + + + + + diff --git "a/Icon\r" "b/Icon\r" new file mode 100644 index 0000000..e69de29 diff --git a/Icon-72.png b/Icon-72.png new file mode 100644 index 0000000..324c23c Binary files /dev/null and b/Icon-72.png differ diff --git a/Icon-72@2x.png b/Icon-72@2x.png new file mode 100644 index 0000000..83843e4 Binary files /dev/null and b/Icon-72@2x.png differ diff --git a/Icon-Small-50.png b/Icon-Small-50.png new file mode 100644 index 0000000..a5ab14d Binary files /dev/null and b/Icon-Small-50.png differ diff --git a/Icon-Small.png b/Icon-Small.png index eeb5cd6..a21b0a7 100644 Binary files a/Icon-Small.png and b/Icon-Small.png differ diff --git a/Icon-Small@2x.png b/Icon-Small@2x.png index 138a7a8..fcd58cd 100644 Binary files a/Icon-Small@2x.png and b/Icon-Small@2x.png differ diff --git a/Icon.png b/Icon.png new file mode 100644 index 0000000..adb4850 Binary files /dev/null and b/Icon.png differ diff --git a/Icon@2x.png b/Icon@2x.png new file mode 100644 index 0000000..1e2be3a Binary files /dev/null and b/Icon@2x.png differ