Advertisement
Guest User

Untitled

a guest
Dec 9th, 2016
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //
  2. //  MenuItemManager.m
  3. //  ET Grow
  4. //
  5. //  Created by Bryan Rolfe on 2016-06-23.
  6. //  Copyright © 2016 Extreme Technology. All rights reserved.
  7. //
  8.  
  9. #import "MenuItemManager.h"
  10.  
  11. @implementation MenuItemManager
  12.  
  13. + (id)instance {
  14.     static MenuItemManager *sharedManager = nil;
  15.     @synchronized(self) {
  16.         if (sharedManager == nil)
  17.             sharedManager = [[self alloc] init];
  18.     }
  19.     return sharedManager;
  20. }
  21.  
  22. - (id)init {
  23.   if (self = [super init]) {
  24.      
  25.   }
  26.   return self;
  27. }
  28.  
  29. -(M13OrderedDictionary*) getAllItemsWithIcons {
  30.     M13MutableOrderedDictionary *allItems = [[M13MutableOrderedDictionary alloc] initWithContentsOfDictionary:@{@"Watch" : @"k",
  31.                                                                                                          @"Pray" : @"l",
  32.                                                                                                          @"Directory" : @"c",
  33.                                                                                                          @"Give" : @"b",
  34.                                                                                                          @"Events" : @"d",
  35.                                                                                                          @"Ministries" : @"o",
  36.                                                                                                          @"Connected" : @"e",
  37.                                                                                                          @"Today" : @"F",
  38.                                                                                                          @"Bible" : @"h",
  39.                                                                                                          @"About" : @"u",
  40.                                                                                                          @"Contact" : @"f"}];
  41.    
  42.     Church *selectedChurch = [Helper getSelectedChurch];
  43.    
  44.     if(selectedChurch && !selectedChurch.sharePrayers){
  45.         [allItems removeObjectForKey:@"Pray"];
  46.     }
  47.    
  48.     if(selectedChurch && !selectedChurch.shareDirectory){
  49.         [allItems removeObjectForKey:@"Directory"];
  50.     }
  51.    
  52.     return allItems;
  53. }
  54.  
  55. -(NSArray*) getAllItemNames {
  56.     return [[self getAllItemsWithIcons] allKeys];
  57. }
  58.  
  59. -(NSArray*) getAllItemNamesExcluding:(NSArray*)remove {
  60.     NSMutableArray *remaining = [[self getAllItemNames] mutableCopy];
  61.     [remaining removeObjectsInArray:remove];
  62.    
  63.     return [[remaining reverseObjectEnumerator] allObjects];
  64. }
  65.  
  66. -(NSArray*) getTabItems {
  67.     Church *selectedChurch = [Helper getSelectedChurch];
  68.     NSMutableArray *tabs = [[NSMutableArray alloc] init];
  69.    
  70.     // Guest
  71.     if([Helper isGuest] && ![Helper isAdmin]){
  72.         [tabs addObject:@"Watch"];
  73.         [tabs addObject:@"Pray"];
  74.         [tabs addObject:@"Give"];
  75.         [tabs addObject:@"Ministries"];
  76.         [tabs addObject:@"Today"];
  77.         [tabs addObject:@"Connected"];
  78.     } else {
  79.         // Verified User or Admin
  80.         [tabs addObject:@"Watch"];
  81.        
  82.         if(selectedChurch && selectedChurch.sharePrayers){
  83.             [tabs addObject:@"Pray"];
  84.         }
  85.        
  86.         if(selectedChurch && selectedChurch.shareDirectory){
  87.             [tabs addObject:@"Directory"];
  88.         }
  89.        
  90.         [tabs addObject:@"Give"];
  91.         [tabs addObject:@"Events"];
  92. //      [tabs addObject:@"Connected"];
  93.     }
  94.    
  95.     int blankTabs = 6 % tabs.count;
  96.     if(blankTabs){
  97.         NSArray *remaining = [self getAllItemNamesExcluding:tabs];
  98.         [tabs addObjectsFromArray:[remaining subarrayWithRange:NSMakeRange(0, blankTabs)]];
  99.     }
  100.    
  101.     return tabs;
  102. }
  103.  
  104. -(NSArray*) getMoreItems {
  105.     return [self getAllItemNamesExcluding:[self getTabItems]];
  106. }
  107.  
  108. -(NSString*)getIconForLabel:(NSString*)label {
  109.  
  110.     NSString *name = [[self getAllItemsWithIcons] objectForKey:label];
  111.    
  112.     if(name == nil){
  113.         NSPredicate *searchPred = [NSPredicate predicateWithFormat:@"self LIKE[cd] %@", label];
  114.         NSArray *searchedKeys=[[[self getAllItemsWithIcons] allKeys] filteredArrayUsingPredicate:searchPred];
  115.        
  116.         if(searchedKeys.count>0){
  117.             name=[[self getAllItemsWithIcons] objectForKey:[searchedKeys objectAtIndex:0]];
  118.            
  119.         }
  120.     }
  121.    
  122.     return name?:@"w";
  123. }
  124.  
  125. @end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement