diff --git a/airtime_mvc/application/models/Schedule.php b/airtime_mvc/application/models/Schedule.php
index 176c88f3c..6699946b4 100644
--- a/airtime_mvc/application/models/Schedule.php
+++ b/airtime_mvc/application/models/Schedule.php
@@ -356,9 +356,9 @@ SQL;
                 ." SET media_item_played=TRUE";
         // we need to update 'broadcasted' column as well
         // check the current switch status
-        $live_dj = Application_Model_Preference::GetSourceSwitchStatus('live_dj') == 'on'?true:false;
-        $master_dj = Application_Model_Preference::GetSourceSwitchStatus('master_dj') == 'on'?true:false;
-        $scheduled_play = Application_Model_Preference::GetSourceSwitchStatus('scheduled_play') == 'on'?true:false;
+        $live_dj        = Application_Model_Preference::GetSourceSwitchStatus('live_dj')        == 'on';
+        $master_dj      = Application_Model_Preference::GetSourceSwitchStatus('master_dj')      == 'on';
+        $scheduled_play = Application_Model_Preference::GetSourceSwitchStatus('scheduled_play') == 'on';
 
         if (!$live_dj && !$master_dj && $scheduled_play) {
             $sql .= ", broadcasted=1";
@@ -616,23 +616,23 @@ SQL;
             $temp = explode('.', Application_Model_Preference::GetDefaultTransitionFade());
             // we round down transition time since PHP cannot handle millisecond. We need to
             // handle this better in the future
-            $transition_time = intval($temp[0]);
+            $transition_time   = intval($temp[0]);
             $switchOffDataTime = new DateTime($kick_time, $utcTimeZone);
-            $switch_off_time = $switchOffDataTime->sub(new DateInterval('PT'.$transition_time.'S'));
-            $switch_off_time = $switch_off_time->format("Y-m-d H:i:s");
+            $switch_off_time   = $switchOffDataTime->sub(new DateInterval('PT'.$transition_time.'S'));
+            $switch_off_time   = $switch_off_time->format("Y-m-d H:i:s");
 
             $kick_start = Application_Model_Schedule::AirtimeTimeToPypoTime($kick_time);
-            $data["media"][$kick_start]['start'] = $kick_start;
-            $data["media"][$kick_start]['end'] = $kick_start;
-            $data["media"][$kick_start]['event_type'] = "kick_out";
-            $data["media"][$kick_start]['type'] = "event";
+            $data["media"][$kick_start]['start']             = $kick_start;
+            $data["media"][$kick_start]['end']               = $kick_start;
+            $data["media"][$kick_start]['event_type']        = "kick_out";
+            $data["media"][$kick_start]['type']              = "event";
             $data["media"][$kick_start]['independent_event'] = true;
 
             if ($kick_time !== $switch_off_time) {
                 $switch_start = Application_Model_Schedule::AirtimeTimeToPypoTime($switch_off_time);
-                $data["media"][$switch_start]['start'] = $switch_start;
-                $data["media"][$switch_start]['end'] = $switch_start;
-                $data["media"][$switch_start]['event_type'] = "switch_off";
+                $data["media"][$switch_start]['start']             = $switch_start;
+                $data["media"][$switch_start]['end']               = $switch_start;
+                $data["media"][$switch_start]['event_type']        = "switch_off";
                 $data["media"][$switch_start]['independent_event'] = true;
             }
         }
@@ -757,12 +757,12 @@ SQL;
     {
         $isSaas = Application_Model_Preference::GetPlanLevel() == 'disabled'?false:true;
 
-        $formWhat = new Application_Form_AddShowWhat();
-        $formWho = new Application_Form_AddShowWho();
-        $formWhen = new Application_Form_AddShowWhen();
+        $formWhat    = new Application_Form_AddShowWhat();
+        $formWho     = new Application_Form_AddShowWho();
+        $formWhen    = new Application_Form_AddShowWhen();
         $formRepeats = new Application_Form_AddShowRepeats();
-        $formStyle = new Application_Form_AddShowStyle();
-        $formLive = new Application_Form_AddShowLiveStream();
+        $formStyle   = new Application_Form_AddShowStyle();
+        $formLive    = new Application_Form_AddShowLiveStream();
 
         $formWhat->removeDecorator('DtDdWrapper');
         $formWho->removeDecorator('DtDdWrapper');
@@ -813,12 +813,12 @@ SQL;
     {
         $isSaas = (Application_Model_Preference::GetPlanLevel() != 'disabled');
 
-        $formWhat = new Application_Form_AddShowWhat();
-        $formWhen = new Application_Form_AddShowWhen();
+        $formWhat    = new Application_Form_AddShowWhat();
+        $formWhen    = new Application_Form_AddShowWhen();
         $formRepeats = new Application_Form_AddShowRepeats();
-        $formWho = new Application_Form_AddShowWho();
-        $formStyle = new Application_Form_AddShowStyle();
-        $formLive = new Application_Form_AddShowLiveStream();
+        $formWho     = new Application_Form_AddShowWho();
+        $formStyle   = new Application_Form_AddShowStyle();
+        $formLive    = new Application_Form_AddShowLiveStream();
 
         $formWhat->removeDecorator('DtDdWrapper');
         $formWhen->removeDecorator('DtDdWrapper');
@@ -898,12 +898,12 @@ SQL;
         $isSaas = (Application_Model_Preference::GetPlanLevel() != 'disabled');
         $record = false;
 
-        $formWhat = new Application_Form_AddShowWhat();
-        $formWho = new Application_Form_AddShowWho();
-        $formWhen = new Application_Form_AddShowWhen();
+        $formWhat    = new Application_Form_AddShowWhat();
+        $formWho     = new Application_Form_AddShowWho();
+        $formWhen    = new Application_Form_AddShowWhen();
         $formRepeats = new Application_Form_AddShowRepeats();
-        $formStyle = new Application_Form_AddShowStyle();
-        $formLive = new Application_Form_AddShowLiveStream();
+        $formStyle   = new Application_Form_AddShowStyle();
+        $formLive    = new Application_Form_AddShowLiveStream();
 
         $formWhat->removeDecorator('DtDdWrapper');
         $formWho->removeDecorator('DtDdWrapper');
diff --git a/airtime_mvc/application/models/Show.php b/airtime_mvc/application/models/Show.php
index d0cb8e9c9..d9c6c834c 100644
--- a/airtime_mvc/application/models/Show.php
+++ b/airtime_mvc/application/models/Show.php
@@ -475,10 +475,9 @@ class Application_Model_Show
             ->filterByDbShowId($this->_showId)
             ->findOne();
 
-        if (!is_null($showDaysRow)) {
+        if (!is_null($showDaysRow))  
             return $showDaysRow->getDbRepeatType();
-        } else
-
+        else
             return -1;
     }
 
@@ -607,31 +606,36 @@ class Application_Model_Show
      * Get the start date of the current show in UTC timezone.
      *
      * @return string
-     *      The start date in the format YYYY-MM-DD
+     *      The start date in the format YYYY-MM-DD or empty string in case
+     *      start date could not be found
      */
     public function getStartDateAndTime()
     {
         $con = Propel::getConnection();
 
         $showId = $this->getId();
-        $sql = "SELECT first_show, start_time, timezone FROM cc_show_days"
-            ." WHERE show_id = $showId"
+        $stmt = $con->prepare(
+            "SELECT first_show, start_time, timezone FROM cc_show_days"
+            ." WHERE show_id = :showId"
             ." ORDER BY first_show"
-            ." LIMIT 1";
+            ." LIMIT 1");
 
-        $query = $con->query($sql);
+        $stmt->bindParam(':showId', $showId);
+        $stmt->execute();
 
-        if ($query->rowCount() == 0) {
+        //$query = $con->query($sql);
+
+        if (!$stmt) {
             return "";
-        } else {
-            $rows = $query->fetchAll();
-            $row = $rows[0];
-
-            $dt = new DateTime($row["first_show"]." ".$row["start_time"], new DateTimeZone($row["timezone"]));
-            $dt->setTimezone(new DateTimeZone("UTC"));
-
-            return $dt->format("Y-m-d H:i");
         }
+
+        $rows = $stmt->fetchAll();
+        $row = $rows[0];
+
+        $dt = new DateTime($row["first_show"]." ".$row["start_time"], new DateTimeZone($row["timezone"]));
+        $dt->setTimezone(new DateTimeZone("UTC"));
+
+        return $dt->format("Y-m-d H:i");
     }
 
     /**
@@ -670,12 +674,12 @@ class Application_Model_Show
      */
     public function getEndDate()
     {
-        $startDate = $this->getStartDate();
-        $startTime = $this->getStartTime();
-        $duration = $this->getDuration();
+        $startDate     = $this->getStartDate();
+        $startTime     = $this->getStartTime();
+        $duration      = $this->getDuration();
 
         $startDateTime = new DateTime($startDate.' '.$startTime);
-        $duration = explode(":", $duration);
+        $duration      = explode(":", $duration);
 
         $endDate = $startDateTime->add(new DateInterval('PT'.$duration[0].'H'.$duration[1].'M'));
 
@@ -877,7 +881,7 @@ class Application_Model_Show
             $ccShow = CcShowQuery::create()->findPK($this->_showId);
             $info['custom_username'] = $ccShow->getDbLiveStreamUser();
             $info['cb_airtime_auth'] = $ccShow->getDbLiveStreamUsingAirtimeAuth();
-            $info['cb_custom_auth'] = $ccShow->getDbLiveStreamUsingCustomAuth();
+            $info['cb_custom_auth']  = $ccShow->getDbLiveStreamUsingCustomAuth();
             $info['custom_username'] = $ccShow->getDbLiveStreamUser();
             $info['custom_password'] = $ccShow->getDbLiveStreamPass();
 
@@ -1064,8 +1068,8 @@ class Application_Model_Show
         $ccShow->setDbGenre($data['add_show_genre']);
         $ccShow->setDbColor($data['add_show_color']);
         $ccShow->setDbBackgroundColor($data['add_show_background_color']);
-        $ccShow->setDbLiveStreamUsingAirtimeAuth($data['cb_airtime_auth'] == 1?true:false);
-        $ccShow->setDbLiveStreamUsingCustomAuth($data['cb_custom_auth'] == 1?true:false);
+        $ccShow->setDbLiveStreamUsingAirtimeAuth($data['cb_airtime_auth'] == 1);
+        $ccShow->setDbLiveStreamUsingCustomAuth($data['cb_custom_auth'] == 1);
         $ccShow->setDbLiveStreamUser($data['custom_username']);
         $ccShow->setDbLiveStreamPass($data['custom_password']);
         $ccShow->save();
@@ -1250,6 +1254,8 @@ class Application_Model_Show
      */
     private static function populateShow($p_showDaysRow, $p_populateUntilDateTime)
     {
+        // TODO : use constants instead of int values here? or maybe php will
+        // get enum types by the time somebody gets around to fix this. -- RG
         if ($p_showDaysRow["repeat_type"] == -1) {
             Application_Model_Show::populateNonRepeatingShow($p_showDaysRow, $p_populateUntilDateTime);
         } elseif ($p_showDaysRow["repeat_type"] == 0) {
@@ -1730,17 +1736,18 @@ class Application_Model_Show
     {
         $event = array();
 
-        $event["id"] = intval($show["instance_id"]);
-        $event["title"] = $show["name"];
-        $event["start"] = $startDateTime->format("Y-m-d H:i:s");
-        $event["startUnix"] = $startsEpoch;
-        $event["end"] = $endDateTime->format("Y-m-d H:i:s");
-        $event["endUnix"] = $endsEpoch;
-        $event["allDay"] = false;
-        $event["showId"] = intval($show["show_id"]);
-        $event["record"] = intval($show["record"]);
-        $event["rebroadcast"] = intval($show["rebroadcast"]);
-        $event["soundcloud_id"] = is_null($show["soundcloud_id"]) ? -1 : $show["soundcloud_id"];
+        $event["id"]            = intval($show["instance_id"]);
+        $event["title"]         = $show["name"];
+        $event["start"]         = $startDateTime->format("Y-m-d H:i:s");
+        $event["startUnix"]     = $startsEpoch;
+        $event["end"]           = $endDateTime->format("Y-m-d H:i:s");
+        $event["endUnix"]       = $endsEpoch;
+        $event["allDay"]        = false;
+        $event["showId"]        = intval($show["show_id"]);
+        $event["record"]        = intval($show["record"]);
+        $event["rebroadcast"]   = intval($show["rebroadcast"]);
+        $event["soundcloud_id"] = is_null($show["soundcloud_id"])
+            ? -1 : $show["soundcloud_id"];
 
         //event colouring
         if ($show["color"] != "") {
diff --git a/airtime_mvc/application/models/StreamSetting.php b/airtime_mvc/application/models/StreamSetting.php
index 2ffe7b829..c17b1ef92 100644
--- a/airtime_mvc/application/models/StreamSetting.php
+++ b/airtime_mvc/application/models/StreamSetting.php
@@ -175,15 +175,13 @@ class Application_Model_StreamSetting
      */
     public static function setStreamSetting($data)
     {
-        $con = Propel::getConnection();
-
         foreach ($data as $key => $d) {
             if ($key == "output_sound_device" || $key == "icecast_vorbis_metadata") {
-                $v = $d == 1?"true":"false";
+                $v = ($d == 1) ? "true" : "false";
 
                 self::saveStreamSetting($key, $v);
             } elseif ($key == "output_sound_device_type") {
-                self::saveStreamSetting($key, $v);
+                self::saveStreamSetting($key, $d);
             } elseif (is_array($d)) {
                 $temp = explode('_', $key);
                 $prefix = $temp[0];
diff --git a/airtime_mvc/application/models/Webstream.php b/airtime_mvc/application/models/Webstream.php
index 476ee5490..8c74dca5a 100644
--- a/airtime_mvc/application/models/Webstream.php
+++ b/airtime_mvc/application/models/Webstream.php
@@ -168,6 +168,9 @@ class Application_Model_Webstream implements Application_Model_LibraryEditable
         if ($result == 0) {
             $valid['url'][0] = false;
             $valid['url'][1] = 'URL should be of form "http://domain"';
+        } elseif (strlen($url) > 512) {
+            $valid['url'][0] = false;
+            $valid['url'][1] = 'URL should be 512 characters or less';      
         } else {
 
             try {
diff --git a/airtime_mvc/application/views/scripts/dashboard/help.phtml b/airtime_mvc/application/views/scripts/dashboard/help.phtml
index e6a4c4824..0ac5f80dc 100644
--- a/airtime_mvc/application/views/scripts/dashboard/help.phtml
+++ b/airtime_mvc/application/views/scripts/dashboard/help.phtml
@@ -4,7 +4,7 @@
 <p>Here's how you can get started using Airtime to automate your broadcasts: </p>
 
 <ol>
-    <li>Add your files to the library using the "Add Media" button. You can drag and drop your files to this window too.</li>
+    <li>Begin by adding your files to the library using the "Add Media" menu button. You can drag and drop your files to this window too.</li>
     <li>Create a show by going to "Calendar" in the menu bar, and then clicking the "+ Show" icon. This can be either a one-time or repeating show. Only admins and program managers can add shows.</li>
     <li>Add media to the show by going to your show in the Schedule calendar, left-clicking on it and selecting "Add / Remove Content".</li>
     <li>Select your media from the left pane and drag them to your show in the right pane.</li>
diff --git a/airtime_mvc/build/schema.xml b/airtime_mvc/build/schema.xml
index 844452866..b03e14011 100644
--- a/airtime_mvc/build/schema.xml
+++ b/airtime_mvc/build/schema.xml
@@ -420,7 +420,7 @@
     <column name="name" phpName="DbName" type="VARCHAR" size="255" required="true" />
     <!-- TODO, remove hardlimit on this column length? -->
     <column name="description" phpName="DbDescription" type="VARCHAR" size="255" required="true" />
-    <column name="url" phpName="DbUrl" type="VARCHAR" size="255" required="true" />
+    <column name="url" phpName="DbUrl" type="VARCHAR" size="512" required="true" />
     <column name="length" phpName="DbLength" type="VARCHAR" sqlType="interval" required="true" defaultValue="00:00:00"/>
     <column name="creator_id" phpName="DbCreatorId" type="INTEGER" required="true" />
     <column name="mtime" phpName="DbMtime" type="TIMESTAMP" size="6" required="true" />
diff --git a/install_minimal/upgrades/airtime-2.2.0/data/upgrade.sql b/install_minimal/upgrades/airtime-2.2.0/data/upgrade.sql
index aad2502f3..c2f8ba70b 100644
--- a/install_minimal/upgrades/airtime-2.2.0/data/upgrade.sql
+++ b/install_minimal/upgrades/airtime-2.2.0/data/upgrade.sql
@@ -95,7 +95,7 @@ CREATE TABLE cc_webstream (
 	id integer DEFAULT nextval('cc_webstream_id_seq'::regclass) NOT NULL,
 	name character varying(255) NOT NULL,
 	description character varying(255) NOT NULL,
-	url character varying(255) NOT NULL,
+	url character varying(512) NOT NULL,
 	length interval DEFAULT '00:00:00'::interval NOT NULL,
 	creator_id integer NOT NULL,
 	mtime timestamp(6) without time zone NOT NULL,