Basic Travel Listing Website

Purpose
=========

To provide a platform for travel agents, travel agencies & travel companies to place their tour offers/ holiday ads with photos on the website which can be viewed by the end user.

Guest Features
==============
– Search (quick & advance) ads/offers placed by the travel agents, travel agencies & travel companies. The search should be based on location, no. of days, price, date of travel, accommodation, activities, connectivity, specialty, Travel agent/agency/company
– View contact/profile information in the detail of ad/offer placed by a particular travel agent, travel agency & travel company
– Request a callback (only in offer detailed view) so that travel agent, travel agency or travel company can contact back the guest/customer
– Tell a friend, RSS & social bookmarks

Features for Travel agent/agency/company
=========================================
– Login and Place ads/offers with photos in Normal area or featured area as per the limit set by the administrator
– Option to modify the basic profile set by the administrator. Updation only post admin approval
– Report on total number of customers who clicked on view contact/profile information button along with IP address,location (based on IP address)

Admin Features
==============
– User management. Add/Modify/Delete any client (travel agent/agency/company), Reset password for any user and assign/modify/remove subscription types – time based fee or count based fee
– Approve/disapprove ads/offers placed by the travel agent, travel agency & travel company
– Option to add, delete, modify advertisements for the website
– Create/modify/delete any ads/offers placed on the website.
– Search fields should be customizable with option to create/modify/delete locations, speciality, travel agent/agency/company,connectivity modes & other search parameters etc
– Option to create/modify/delete email templates, notifications mail templates, registration mail templates, subscription expiry templates
– Report on total number of customers who clicked on view contact/profile information button along with IP address,location (based on IP address), report on travel agents/agency/company login information, ads posting information, usage information, report on user search pattern.

Site Requirements
====================
– Generic Contact form for travel agents/agencies/companies for registration or for requesting advertisements to be placed on the website
– Site should use extensive AJAX for user convienance
– Site should use Mysql DB and preferably PHP.
– NDA, code & copyright required on the work done
– Site should be standards-compliance
– content/graphics/layout/code should NOT infringe upon any copyright(s) in any country/location whatsoever

For further details pls refer to attached document

Quick Tip: The Singleton Pattern

In this Quick Tip we are going to talk about the Singleton design pattern and how it can help you to optimize your code when you need exactly one instance of a class.


Step 1: Introduction

As a programmer you must be aware that there are some cases where you want to use an instance of a class, but you want to create just one and keep it throughout the entire program. Well, that’s what Singletons are for.


Step 2: What is a Singleton?

A Singleton is a Object-Oriented Design Pattern used by many programmers; it lets you create a sort of “global” instance of a class. It is created in such a way that only one unique instance can exist, so that all instances of that class are in exactly the same state.


Step 3: Why Would We Use it?

The most common example would be a score – for example a football score. You would have a Score class, with properties homeTeamScore and awayTeamScore and a method like increaseScore(team:Team).

Both teams must be able to increase their score when they make a goal, but you can’t give each team their own Score instance; you want both to access and modify the same one.

This is a case where a Singleton is a perfect solution, since it could work as a global instance that anybody can access; you will have just one instance for everyone, so you don’t have to worry that each team will be modifying a different score.


Step 4: Singleton Class

Now let’s start creating a singleton in AS3, but first remember the key elements of a singleton:

  • Anyone must be able to access it.
  • Just one instance can be created.

Create a new AS3 class and call it Singleton.as.

(Not familiar with class-based coding? Check out this quick intro.)

Here’s the basic Singleton code:

package  {

	public class Singleton {

		private static var instance:Singleton;		//This will be the unique instance created by the class
		private static var isOkayToCreate:Boolean=false;	//This variable will help us to determine whether the instance can be created

		public function Singleton() {
			//If we can't create an instance, throw an error so no instance is created
			if(!isOkayToCreate) throw new Error(this + " is a Singleton. Access using getInstance()");
		}

		//With this method we will create and access the instance of the method
		public static function getInstance():Singleton
		{
			//If there's no instance, create it
			if (!instance)
			{
				//Allow the creation of the instance, and after it is created, stop any more from being created
				isOkayToCreate = true;
				instance = new Singleton();
				isOkayToCreate = false;
				trace("Singleton instance created!");
			}
			return instance;
		}
	}
}

Step 5: Create a Flash Project

Now let’s go and test the Singleton, first create a new Flash file named Main.fla. On the properties panel set the class also to Main.


Step 6: Create a Singleton

Create a new class named “Main” and create an instance of Singleton using the constructor:

package
{

	import flash.display.MovieClip;

	public class Main extends MovieClip
	{
		public function Main()
		{
			var testSingleton:Singleton = new Singleton();
		}
	}
}

Save and run it, you will see that it throws an error telling us to use the getInstance() function instead, so go ahead and do that:

package
{

	import flash.display.MovieClip;

	public class Main exends MovieClip
	{
		public function Main()
		{
			var testSingleton:Singleton = Singleton.getInstance();
		}
	}
}

Save and run it, there’s no error now, and you can see in the console the text “Singleton instance created!”, meaning that it was created successfully.

So when you use a Singleton class, you cannot use new Singleton(), you have to use Singleton.getInstance() instead.


Step 7: Add Properties to the Class

The Singleton isn’t very useful at the minute. Let’s add a property:

package  {

	public class Singleton {

		private static var instance:Singleton;		//This will be the unique instance created by the class
		private static var isOkayToCreate:Boolean=false;	//This variable will help us to determine whether the instance can be created

		//new example property:
		public var exampleProperty:String = "This is an example";

		public function Singleton() {
			//If we can't create an instance, throw an error so no instance is created
			if(!isOkayToCreate) throw new Error(this + " is a Singleton. Access using getInstance()");
		}

		//With this method we will create and access the instance of the method
		public static function getInstance():Singleton
		{
			//If there's no instance, create it
			if (!instance)
			{
				//Allow the creation of the instance, and after it is created, stop any more from being created
				isOkayToCreate = true;
				instance = new Singleton();
				isOkayToCreate = false;
				trace("Singleton instance created!");
			}
			return instance;
		}
	}
}

Now, in Main.as, you can access testSingleton.exampleProperty just as if it were a normal class. Try tracing it out.


Step 7: Try Creating Another Singleton

To prove that the Singleton does what it’s supposed to do, create another singleton and change the example property of one of them:

package
{

	import flash.display.MovieClip;

	public class Main exends MovieClip
	{
		public function Main()
		{
			var testSingleton:Singleton = Singleton.getInstance();
			var anotherSingleton:Singleton = Singleton.getInstance();
			anotherSingleton.exampleProperty = "This is set in anotherSingleton";
			trace(testSingleton.exampleProperty, anotherSingleton.exampleProperty);
		}
	}
}

What do you think will happen?

This even works if you create the Singleton variables in different classes.


Conclusion

The singleton pattern can be used on any code, and I highly recommend it if you are going to use just one instance of a class since it gives you better control of it. I hope you liked this Quick Tip, thanks for reading!

Saludos -Eduardo

8 Magical Methods for Adding Mood to Your Photos

With today’s modern digital cameras, it’s easy to take a well-exposed photo. But how do you take it a step further and capture an image that encompasses the mood you felt at the time? In this tutorial I’m going to explore some techniques you can use to inject mood and emotion into your photographs.

There are several methods you can use to express the feelings that a scene evoked in you. They all involve creative input from the photographer – by exploring these techniques you will stop ‘taking’ photos and start ‘making’ them instead.

It all starts with being selective about what you photograph. Just because you can take a photo doesn’t mean you should. Good photographers are selective about what they photograph. You should be too – your photos will improve.

For example, if you find a beautiful location that you want to photograph, but you happen to be there at midday, you know the light isn’t at its best. Coming back in the late afternoon or early morning – when the sun is low in the sky and there is a beautiful, raking light illuminating the scene – will really improve your photo.

This one technique alone will dramatically improve your photos. But most photographers know this already – so here are some more ideas for you to explore.


Step 1. Use a Wide Aperture

Try using the widest aperture on your lens. If you use zoom lenses, this will be between f2.8 and f5.6. This technique works best with standard and telephoto lenses because these lenses have less depth-of-field.

The idea is to focus sharply on your subject and throw the background out of focus. This is a technique used in portraiture – focus on the subject’s eyes and use a wide aperture so that part of the face and the background is out of focus.

The out of focus background is moody because we can’t see what it’s supposed to be. We have to use our imagination to fill in the gaps. The technique works best when the background is darker than the subject – shadows are moodier than bright highlights.

This photo was taken with an 85mm f1.8 prime lens. I used a close-up lens to get close to the dandelion. The combination of the wide aperture, close focusing distance and telephoto lens gives a very narrow depth-of-field that has thrown the background completely out of focus.


Step 2. Shoot in Low Light

Try shooting when the light is low. Low light is moody and evocative. If you’re shooting static subjects like landscapes you can put your camera on a tripod and use a cable release to avoid camera shake.

If you’re shooting something that moves, like people, you’ll need to use a high ISO and a wide aperture to get a shutter speed fast enough to avoid camera shake. Don’t be afraid of high ISOs – noise can add mood to your photos, just like grain did when people used film.

In low light you can also use slower shutter speeds to introduce blur into your photos. It’s another way of creating a moody image. Andrew F is good at this.

You can experiment with hand holding long shutter speeds of around two seconds – take a look at Chris Friel’s landscapes to see what I mean.

This photo was taken at dusk in the city of Potosi, Bolivia.


Step 3. Adjust Your Colour Temperature

Shoot in RAW and adjust the colour temperature in post-processing. This means you can decide the optimum colour temperature afterwards and don’t have to worry about setting it correctly in camera.

It also gives you another significant advantage – you can make more than one interpretation of an image. Your RAW file is just a starting point, much like a negative in the hands of a skilled black and white darkroom printer.

Take a look at the following photos. They were produced from the same RAW file, but with different colour temperatures. One has very warm colours, the other a cool palette. Both photos are extremely moody – but the mood in each is completely different.

Portland Bill, Dorset, UK: Processed with cool colour temperature.

Portland Bill, Dorset, UK: Processed with warm colour temperature.


Step 4. Shoot Into the Light

Backlighting is a dramatic and moody type of lighting. It works because the exposure range is outside what your camera can handle. There are several approaches – you can expose for the light source (normally the sun in the sky, but it could be a flash in a studio or a window indoors) and if the light source is strong whatever is in the foreground will be silhouetted or semi-silhouetted.

Another approach is to expose for the foreground, and the background will be overexposed. Two different techniques, two different types of mood.

A third approach is to shoot a backlit portrait and use flash to light your subject from the front or side. This technique is used when you don’t want to overexpose the background too much and still show detail in your subject’s face.

For moody photos, avoid HDR techniques in backlit situations. You create mood when there are details in the photo that get filled in by the viewer’s imagination. HDR photos provide all the detail, and leave nothing to the imagination.

San Antonio de los Cobres, Argentina. See how the backlighting picks out the smoke and makes highlights around the people in the photo? You wouldn’t get this effect with another type of lighting.


Step 5. Sunset and Sunrise

Photographing sunsets has the potential to be one of the most boring clichés in photography. But do it well and it’s a technique that you can use to make some incredibly beautiful landscape photos.

It works best when there is water in the photo. This is because a good sunset lights up the sky with amazing colours, which are reflected in the water.

The light from the setting sun is very warm. If you’re photographing a sunset, make sure you look behind you to see what the sun is illuminating. There may be a photo that’s even better than the sunset itself.

The best light comes after the sun has set, especially if there is water in the photo to reflect the colours in the sky.

If you’re by the sea during the day and you find a beautiful location, imagine how it will look after the sun has set. It will almost always look better in this light, and it’s worth coming back in the evening to take photos.

You can also take photos at sunrise. The light has a different quality at this time because the air is clearer and the colours will be different.

Tip: The Photographer’s Ephemeris is a free tool for Windows, Mac and Linux that calculates sunset and sunrise times and locations anywhere in the world.

Colonia del Sacramento, Uruguay. The colours of the sunset are reflected in the water.


Step 6. Use a Long Exposure

I’m talking a really long exposure – two seconds or more. This is a technique for landscape photos. Make sure the camera is on a sturdy tripod and use a cable release and mirror lock-up to avoid camera shake. If it’s windy, stand between your camera and the wind.

Long exposures work best when there is something in the photo that is moving, such as the sea, water in a waterfall or grass blowing in the wind. The moving elements are contrasted against the still elements of the scene. You combine this technique with shooting in low light and shooting at or just after sunset.

It’s also effective in urban landscapes taken in the evening with cars moving through the picture. The lights from the cars leave trails. Take this kind of photos when there is still some light in the sky so that the sky retains some colour – it will come out dark blue rather than black.

San Antonio de Areco, Argentina. A long shutter speed captured the lights of passing cars as light trails.


Step 7. Convert to Black and White

Black and white photos are moody. This technique is best used in conjunction with the others in this article. The idea is to make your already moody photo look extra moody by converting it to black and white.

Learn how to convert your photos to black and white here: 7 Black and White Photoshop Conversion Techniques.

Once you’ve converted your photos to black and white you can make them look extra moody by toning them. Sepia toning is good for landscapes and portraits. Blue toning is good for subjects with a cold feel – such as winter landscapes.

Learn how to tone your black and white photos here: Mastering the Art of Black and White Toning

I converted this photo of a flower to black and white and split toned it. The contrast of the white flower against a dark, out of focus background helps create mood.


Step 8. Add Textures

Adding textures is a good technique for creating moody photos. You can combine this with converting to black and white and toning. Like converting to black and white, it’s essential that you start off with a photo that’s already moody. The aim is to go as far as you can and see just how moody you can make your photo.

Use this technique selectively. It doesn’t suit every photo, and if you add textures to all your photos it soon becomes boring. Ideal subjects are portraits, nude studies, still lifes and some landscapes.

How do you add textures to your photos? You’ll need Photoshop, or another editing program that supports layers. You simply paste the texture as a new layer over the original photos, and then adjust the opacity and layer blending modes to get the effect you want.

We wrote a full tutorial on it here: Mastering the Art of Adding Textures to Your Photos.

You can find textures to use here: 100 Terrific Photographic Textures

You can apply textures to part of a photo, such as the background. You do this by adding the texture as a new layer in Photoshop then erasing the parts you don’t want. This is a good technique for a subject like portraiture – you can apply the texture to the background but not the face.

I added selectively added texture to the photo, by erasing the texture layer where it covered my model’s face.


Get Moody!

Combine a few of these techniques, and the result will be a moody image that you’re allowed to be proud of. Do you have an example you’d like to share? Feel free to include a link in a comment below!

Graphic Design Package LAW 17 Jun 2010 by dmkeith2

I need someone that can create images for websites for me. Up to 20 images per website. Budget for this is $30. This will include banner size images and small images up to 20 images, any images over 20 will get $1.50 per additional image created… (Budget: $30-250, Jobs: Graphic Design, Logo Design, Photoshop, Photoshop Design, Website Design)