1/* SOGoIEConditional.m - this file is part of SOGo 2 * 3 * Copyright (C) 2007-2013 Inverse inc. 4 * 5 * Author: Inverse <info@inverse.ca> 6 * 7 * This file is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2, or (at your option) 10 * any later version. 11 * 12 * This file is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; see the file COPYING. If not, write to 19 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 20 * Boston, MA 02111-1307, USA. 21 */ 22 23#import <NGObjWeb/WOContext.h> 24#import <NGObjWeb/WOResponse.h> 25#import <NGObjWeb/WOAssociation.h> 26 27#import "SOGoIEConditional.h" 28 29@implementation SOGoIEConditional 30 31- (id) initWithName: (NSString *) name 32 associations: (NSDictionary *) associations 33 template: (WOElement *) newTemplate 34{ 35 if ((self = [super initWithName: name 36 associations: associations 37 template: newTemplate])) 38 { 39 ASSIGN (template, newTemplate); 40 lte = OWGetProperty(associations, @"lte"); 41 } 42 43 return self; 44} 45 46- (void) dealloc 47{ 48 [template release]; 49 [lte release]; 50 [super dealloc]; 51} 52 53- (void) appendToResponse: (WOResponse *) response 54 inContext: (WOContext *) context 55{ 56 NSString *condition; 57 58 if (lte) 59 condition = [NSString stringWithFormat: @"<!--[if lte IE %d ]>", [lte intValueInComponent: [context component]]]; 60 else 61 condition = @"<!--[if IE]>"; 62 63 [response appendContentString: condition]; 64 [template appendToResponse: response inContext: context]; 65 [response appendContentString: @"<![endif]-->"]; 66} 67 68@end 69