summaryrefslogtreecommitdiffstats
path: root/Classes/PhotoViewController.m
diff options
context:
space:
mode:
Diffstat (limited to 'Classes/PhotoViewController.m')
-rw-r--r--Classes/PhotoViewController.m150
1 files changed, 150 insertions, 0 deletions
diff --git a/Classes/PhotoViewController.m b/Classes/PhotoViewController.m
new file mode 100644
index 0000000..5999626
--- /dev/null
+++ b/Classes/PhotoViewController.m
@@ -0,0 +1,150 @@
+//
+// PhotoViewController.m
+// acidcow
+//
+// Created by Matthew Handler on 4/18/11.
+// Copyright 2011 Earl Industries. All rights reserved.
+//
+
+#import "PhotoViewController.h"
+#import "PhotoSource.h"
+
+@implementation PhotoViewController
+
+@synthesize photoList, topic;
+
+- (void)viewDidLoad {
+// [self convertArray];
+ [super viewDidLoad];
+
+ _acidcowPage = [[NSMutableData data] retain];
+
+ [self loadImages];
+}
+
+- (void)viewWillDisappear:(BOOL)animated {
+ self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
+}
+
+- (void)setPhotoList:(NSArray *)list {
+ photoList = list;
+ [self convertArray];
+}
+
+-(void)setTopic:(Topic *)t {
+ topic = t;
+ self.navigationItem.title = topic.title;
+ [self loadImages];
+ //NSLog(@"%@", topic.guid);
+}
+
+- (void)convertArray {
+ NSMutableArray *converted = [[NSMutableArray alloc] initWithCapacity:[photoList count]];
+ for (NSString *url in photoList) {
+ [converted addObject:[[[Photo alloc] initWithURL:url
+ smallURL:url
+ size:CGSizeMake(0, 0)] autorelease]];
+ }
+
+
+ self.photoSource = [[PhotoSource alloc]
+ initWithType:PhotoSourceNormal
+ title:topic.title
+ photos:converted
+ photos2:nil];
+}
+
+#pragma mark -
+#pragma mark URL Connection Stuff
+- (void)loadImages {
+
+ NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:topic.guid]
+ cachePolicy:NSURLRequestUseProtocolCachePolicy
+ timeoutInterval:3600.0];
+
+ if ([NSURLConnection connectionWithRequest:theRequest delegate:self]) {
+ [_acidcowPage setLength:0];
+ } else {
+ //[MBProgressHUD hideHUDForView:self.view animated:YES];
+ //[WerdMergeAppDelegate prompt:@"Error" withMessage:@"No internet connection" andButtonTitle:@"shucks" withDelegate:self];
+ }
+}
+
+- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
+ [_acidcowPage setLength:0];
+}
+
+- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
+ [_acidcowPage appendData:data];
+}
+
+- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
+
+ //[_receivedData release];
+
+ //[MBProgressHUD hideHUDForView:self.view animated:YES];
+ //[WerdMergeAppDelegate prompt:@"Error" withMessage:[error localizedDescription] andButtonTitle:@"Aww man..." withDelegate:self];
+ //[[error userInfo] objectForKey:NSURLErrorFailingURLStringErrorKey]);
+
+}
+
+- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
+ NSString *html = [[[NSString alloc] initWithData:_acidcowPage encoding:NSUTF8StringEncoding] autorelease];
+
+ NSRegularExpression* regex = [NSRegularExpression regularExpressionWithPattern:@"http://acidcow\\.com/pics[^ \"]+\\.(jpg|png|jpeg|gif)"
+ options:NSRegularExpressionCaseInsensitive
+ error:nil];
+ NSArray *results = [regex matchesInString:html options:0 range:NSMakeRange(0, [html length])];
+ NSMutableArray *strings = [[NSMutableArray alloc] initWithCapacity:[results count]];
+ for (NSTextCheckingResult *obj in results) {
+ [strings addObject:[html substringWithRange:[obj range]]];
+
+ //NSLog(@"found: %@", [html substringWithRange:[obj range]]);
+ }
+
+ //PhotoViewController *photoView = [[[PhotoViewController alloc] init] autorelease];
+ self.photoList = strings;
+ [self convertArray];
+ //[self.navigationController pushViewController:photoView animated:YES];
+ // [self.view addSubview:(UIView *)photoView];
+
+ // if ([results count] > 0) {
+ // NSString *title = [currentString substringWithRange:[[results objectAtIndex:0] range]];
+ // currentTopic.title = title;
+ // }
+
+ //[_tableData removeAllObjects];
+ //[_tableData addObjectsFromArray:[[json JSONValue] objectForKey:@"results"]];
+ //[json release];
+
+ // if ([_tableData count] > 0) {
+ // [tableView reloadData];
+ // [tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:NO];
+ // self.tableView.allowsSelection = YES;
+ // self.tableView.scrollEnabled = YES;
+ // }
+ // else {
+ // [WerdMergeAppDelegate prompt:@"No Results" withMessage:@"Sorry, that word isn't in our dictionary" andButtonTitle:@"Alright" withDelegate:self];
+ // }
+ //
+ // [MBProgressHUD hideHUDForView:self.view animated:YES];
+
+ //[_receivedData release];
+}
+
+
+/*
+// Only override drawRect: if you perform custom drawing.
+// An empty implementation adversely affects performance during animation.
+- (void)drawRect:(CGRect)rect {
+ // Drawing code.
+}
+*/
+
+- (void)dealloc {
+ [photoList release];
+ [super dealloc];
+}
+
+
+@end