From c853fc75a1db418b3c892f2e82e723b63489d35e Mon Sep 17 00:00:00 2001
From: Stephen Rees-Carter <stephen@rees-carter.net>
Date: Thu, 6 Oct 2011 10:31:05 +1100
Subject: [PATCH] BUGFIX: removed the hard-coded Continent selection for
 Calendar Timezones.

---
 apps/calendar/templates/settings.php | 50 +++++++++++++++-------------
 1 file changed, 26 insertions(+), 24 deletions(-)

diff --git a/apps/calendar/templates/settings.php b/apps/calendar/templates/settings.php
index 19a1a543b4..afc35bf7f3 100644
--- a/apps/calendar/templates/settings.php
+++ b/apps/calendar/templates/settings.php
@@ -11,34 +11,36 @@ OC_UTIL::addStyle('', 'jquery.multiselect');
 ?>
 <form id="calendar">
         <fieldset class="personalblock">
-		<table class="nostyle">
-			<tr><td><label for="timezone" class="bold"><?php echo $l->t('Timezone');?></label></td><td><select style="display: none;" id="timezone" name="timezone">
+        <table class="nostyle">
+            <tr><td><label for="timezone" class="bold"><?php echo $l->t('Timezone');?></label></td><td><select style="display: none;" id="timezone" name="timezone">
                 <?php
-		$continent = '';
-		foreach($_['timezones'] as $timezone):
-			if ( preg_match( '/^(America|Antartica|Arctic|Asia|Atlantic|Europe|Indian|Pacific)\//', $timezone ) ):
-				$ex=explode('/', $timezone, 2);//obtain continent,city
-				if ($continent!=$ex[0]):
-					if ($continent!="") echo '</optgroup>';
-					echo '<optgroup label="'.$ex[0].'">';
-				endif;
-				$city=$ex[1];
-				$continent=$ex[0];
-				echo '<option value="'.$timezone.'"'.($_['timezone'] == $timezone?' selected="selected"':'').'>'.$city.'</option>';
-			endif;
+                $continent = '';
+                foreach($_['timezones'] as $timezone):
+                    $ex=explode('/', $timezone, 2);//obtain continent,city
+                    if (!isset($ex[1])) {
+                            $ex[1] = $ex[0];
+                            $ex[0] = "Other";
+                    }
+                    if ($continent!=$ex[0]):
+                        if ($continent!="") echo '</optgroup>';
+                        echo '<optgroup label="'.$ex[0].'">';
+                    endif;
+                    $city=$ex[1];
+                    $continent=$ex[0];
+                    echo '<option value="'.$timezone.'"'.($_['timezone'] == $timezone?' selected="selected"':'').'>'.$city.'</option>';
                 endforeach;?>
-                </select></td></tr>
+            </select></td></tr>
 
-			<tr><td><label for="timeformat" class="bold"><?php echo $l->t('Timeformat');?></label></td><td>
-				<select style="display: none;" id="timeformat" title="<?php echo "timeformat"; ?>" name="timeformat">
-					<option value="24" id="24h"><?php echo $l->t("24h"); ?></option>
-					<option value="ampm" id="ampm"><?php echo $l->t("12h"); ?></option>
-				</select>
-			</td></tr>
+            <tr><td><label for="timeformat" class="bold"><?php echo $l->t('Timeformat');?></label></td><td>
+                <select style="display: none;" id="timeformat" title="<?php echo "timeformat"; ?>" name="timeformat">
+                    <option value="24" id="24h"><?php echo $l->t("24h"); ?></option>
+                    <option value="ampm" id="ampm"><?php echo $l->t("12h"); ?></option>
+                </select>
+            </td></tr>
 
-		</table>
+        </table>
 
-		<?php echo $l->t('Calendar CalDAV syncing address:');?> 
-  		<?php echo OC_Helper::linkTo('apps/calendar', 'caldav.php', null, true); ?><br />
+        <?php echo $l->t('Calendar CalDAV syncing address:');?>
+        <?php echo OC_Helper::linkTo('apps/calendar', 'caldav.php', null, true); ?><br />
         </fieldset>
 </form>
-- 
GitLab