Example #1
0
		public CanUseAsBannerReturn CanUseAsBanner(Banner.Positions position)
		{
			CanUseAsBannerReturn ret = new CanUseAsBannerReturn();
			ret.CanUseNow = true;
			ret.CanUseAfterAdminCheck = false;
			ret.LinkTagWarning = false;

			if (position.Equals(Banner.Positions.Leaderboard))
			{
				#region Leaderboard specs
				if (this.Extention.Equals("jpg"))
				{
					if (this.Size > (150 * 1024))
					{
						ret.CanUseNow = false;
						ret.Errors.Add("File size must not be over 100KB");
					}
					if (this.Height != 90 || this.Width != 728)
					{
						ret.CanUseNow = false;
						ret.Errors.Add("Image must be 728x90 pixels");
					}
				}
				else if (this.Extention.Equals("gif"))
				{
					if (this.Size > (150 * 1024))
					{
						ret.CanUseNow = false;
						ret.Errors.Add("File size must not be over 100KB");
					}
					if (this.Height != 90 || this.Width != 728)
					{
						ret.CanUseNow = false;
						ret.Errors.Add("Image must be 728x90 pixels");
					}
					if (this.NeedsAuth)
					{
						if (ret.CanUseNow)
						{
							ret.CanUseNow = false;
							ret.CanUseAfterAdminCheck = true;
						}
					}
				}
				else if (this.Extention.Equals("swf"))
				{
					if (this.Size > (150 * 1024))
					{
						ret.CanUseNow = false;
						ret.Errors.Add("File size must not be over 100KB");
					}
					if (this.NeedsAuth)
					{
						if (ret.CanUseNow)
						{
							ret.CanUseNow = false;
							ret.CanUseAfterAdminCheck = true;
						}
					}
					else
					{
						if (!this.BannerLinkTag)
						{
							ret.LinkTagWarning = true;
						}
						if (this.BannerBroken)
						{
							ret.CanUseNow = false;
							ret.Errors.Add("One of our admins failed the banner");
							ret.BrokenError = this.BannerBrokenReason;
						}
					}
				}
				#endregion
			}
			else if (position.Equals(Banner.Positions.Hotbox))
			{
				#region Hotbox specs
				if (this.Extention.Equals("jpg"))
				{
					if (this.Size > (150 * 1024))
					{
						ret.CanUseNow = false;
						ret.Errors.Add("File size must not be over 100KB");
					}
					if ((this.Height != 191 && this.Height != 250) || (this.Width != 191 && this.Width != 300))
					{
						ret.CanUseNow = false;
						ret.Errors.Add("Image must be 300x250 pixels");
					}
				}
				else if (this.Extention.Equals("gif"))
				{
					if (this.Size > (150 * 1024))
					{
						ret.CanUseNow = false;
						ret.Errors.Add("File size must not be over 100KB");
					}
					if ((this.Height != 191 && this.Height != 250) || (this.Width != 191 && this.Width != 300))
					{
						ret.CanUseNow = false;
						ret.Errors.Add("Image must be 300x250 pixels");
					}
					if (this.NeedsAuth)
					{
						if (ret.CanUseNow)
						{
							ret.CanUseNow = false;
							ret.CanUseAfterAdminCheck = true;
						}
					}
				}
				else if (this.Extention.Equals("swf"))
				{
					if (this.Size > (150 * 1024))
					{
						ret.CanUseNow = false;
						ret.Errors.Add("File size must not be over 100KB");
					}
					if (this.NeedsAuth)
					{
						if (ret.CanUseNow)
						{
							ret.CanUseNow = false;
							ret.CanUseAfterAdminCheck = true;
						}
					}
					else
					{
						if (!this.BannerLinkTag)
						{
							ret.LinkTagWarning = true;
						}
						if (this.BannerBroken)
						{
							ret.CanUseNow = false;
							ret.Errors.Add("One of our admins failed the banner");
							ret.BrokenError = this.BannerBrokenReason;
						}
					}
				}
				#endregion
			}
			else if (position.Equals(Banner.Positions.Skyscraper))
			{
				#region Skyscraper specs
				if (this.Extention.Equals("jpg"))
				{
					if (this.Size > (150 * 1024))
					{
						ret.CanUseNow = false;
						ret.Errors.Add("File size must not be over 100KB");
					}
					//XMAS
					if (this.Height != 250 || this.Width != 300)
					{
						ret.CanUseNow = false;
						ret.Errors.Add("Image must be 300x250 pixels");
					}
					//if (this.Height != 600 || (this.Width != 120 && this.Width != 160 && this.Width != 300))
					//{
					//    ret.CanUseNow = false;
					//    ret.Errors.Add("Image must be 300x600, 160x600, 120x600 pixels");
					//}
				}
				else if (this.Extention.Equals("gif"))
				{
					if (this.Size > (150 * 1024))
					{
						ret.CanUseNow = false;
						ret.Errors.Add("File size must not be over 100KB");
					}
					//XMAS
					if (this.Height != 250 || this.Width != 300)
					{
						ret.CanUseNow = false;
						ret.Errors.Add("Image must be 300x250 pixels");
					}
					//if (this.Height != 600 || (this.Width != 120 && this.Width != 160 && this.Width != 300))
					//{
					//    ret.CanUseNow = false;
					//    ret.Errors.Add("Image must be 300x600, 160x600, 120x600 pixels");
					//}
					if (this.NeedsAuth)
					{
						if (ret.CanUseNow)
						{
							ret.CanUseNow = false;
							ret.CanUseAfterAdminCheck = true;
						}
					}
				}
				else if (this.Extention.Equals("swf"))
				{
					if (this.Size > (150 * 1024))
					{
						ret.CanUseNow = false;
						ret.Errors.Add("File size must not be over 100KB");
					}
					if (this.NeedsAuth)
					{
						if (ret.CanUseNow)
						{
							ret.CanUseNow = false;
							ret.CanUseAfterAdminCheck = true;
						}
					}
					else
					{
						if (!this.BannerLinkTag)
						{
							ret.LinkTagWarning = true;
						}
						if (this.BannerBroken)
						{
							ret.CanUseNow = false;
							ret.Errors.Add("One of our admins failed the banner");
							ret.BrokenError = this.BannerBrokenReason;
						}
					}
				}
				#endregion
			}
			else if (position.Equals(Banner.Positions.PhotoBanner))
			{
				#region PhotoBanner specs
				if (this.Extention.Equals("jpg"))
				{
					if (this.Size > (30 * 1024))
					{
						ret.CanUseNow = false;
						ret.Errors.Add("File size must not be over 20KB");
					}
					if (this.Height != 50 || this.Width != 450)
					{
						ret.CanUseNow = false;
						ret.Errors.Add("Image must be 450x50 pixels");
					}
				}
				else if (this.Extention.Equals("gif"))
				{
					if (this.Size > (30 * 1024))
					{
						ret.CanUseNow = false;
						ret.Errors.Add("File size must not be over 20KB");
					}
					if (this.Height != 50 || this.Width != 450)
					{
						ret.CanUseNow = false;
						ret.Errors.Add("Image must be 450x50 pixels");
					}
					if (this.NeedsAuth)
					{
						if (ret.CanUseNow)
						{
							ret.CanUseNow = false;
							ret.CanUseAfterAdminCheck = true;
						}
					}
				}
				else if (this.Extention.Equals("swf"))
				{
					if (this.Size > (30 * 1024))
					{
						ret.CanUseNow = false;
						ret.Errors.Add("File size must not be over 20KB");
					}
					if (this.NeedsAuth)
					{
						if (ret.CanUseNow)
						{
							ret.CanUseNow = false;
							ret.CanUseAfterAdminCheck = true;
						}
					}
					else
					{
						if (!this.BannerLinkTag)
						{
							ret.LinkTagWarning = true;
						}
						if (this.BannerBroken)
						{
							ret.CanUseNow = false;
							ret.Errors.Add("One of our admins failed the banner");
							ret.BrokenError = this.BannerBrokenReason;
						}
					}
				}
				#endregion
			}
			else if (position.Equals(Banner.Positions.EmailBanner))
			{
				#region EmailBanner specs
				if (this.Extention.Equals("jpg"))
				{
					if (this.Size > (40 * 1024))
					{
						ret.CanUseNow = false;
						ret.Errors.Add("File size must not be over 30KB");
					}
					if (this.Height != 51 || this.Width != 331)
					{
						ret.CanUseNow = false;
						ret.Errors.Add("Image must be 331x51 pixels");
					}
				}
				else if (this.Extention.Equals("gif"))
				{
					if (this.Size > (40 * 1024))
					{
						ret.CanUseNow = false;
						ret.Errors.Add("File size must not be over 30KB");
					}
					if (this.Height != 51 || this.Width != 331)
					{
						ret.CanUseNow = false;
						ret.Errors.Add("Image must be 331x51 pixels");
					}
					if (this.NeedsAuth)
					{
						if (ret.CanUseNow)
						{
							ret.CanUseNow = false;
							ret.CanUseAfterAdminCheck = true;
						}
					}
				}
				else if (this.Extention.Equals("swf"))
				{
					ret.CanUseNow = false;
					ret.Errors.Add("Flash banners not supported in emails");
				}
				#endregion
			}
			return ret;
		}
Example #2
0
		public static int GetCreditsPerDay(Banner.ExposureLevels exposureLevel)
		{
			if (exposureLevel.Equals(Banner.ExposureLevels.Light))
				return 15;
			else if (exposureLevel.Equals(Banner.ExposureLevels.Medium))
				return 30;
			else if (exposureLevel.Equals(Banner.ExposureLevels.Heavy))
				return 50;
			else
				return 0;
		}