Please enter your default phone country calling code.
diff --git a/modules/settings/SettingsUI.php b/modules/settings/SettingsUI.php
index cdf07fd2c..8bc84fe73 100755
--- a/modules/settings/SettingsUI.php
+++ b/modules/settings/SettingsUI.php
@@ -2089,6 +2089,7 @@ private function customizeCalendar()
$calendarSettingsRS = $calendarSettings->getAll();
$this->_template->assign('calendarSettingsRS', $calendarSettingsRS);
+ $this->_template->assign('isTimeFormat24', $_SESSION['CATS']->isTimeFormat24());
$this->_template->assign('active', $this);
$this->_template->assign('subActive', 'Administration');
$this->_template->display('./modules/settings/CustomizeCalendar.tpl');
@@ -2435,6 +2436,7 @@ private function administration()
$this->_template->assign('timeZone', $_SESSION['CATS']->getTimeZone());
$this->_template->assign('isDateDMY', $_SESSION['CATS']->isDateDMY());
+ $this->_template->assign('isTimeFormat24', $_SESSION['CATS']->isTimeFormat24());
// Default phone country calling code for the localization settings page.
$defaultPhoneCountryCode = $_SESSION['CATS']->getDefaultPhoneCountryCode();
@@ -2593,8 +2595,10 @@ private function onAdministration()
$isDMY = true;
}
+ $isTimeFormat24 = (isset($_POST['timeFormat']) && $_POST['timeFormat'] === '24');
+
$site = new Site($this->_siteID);
- $site->setLocalization($timeZone, $isDMY);
+ $site->setLocalization($timeZone, $isDMY, $isTimeFormat24);
// Default phone country calling code (E.164) for the site.
if (isset($_POST['defaultPhoneCountryCodeDigits']))
@@ -2647,11 +2651,13 @@ private function onAspLocalization()
$isDMY = true;
}
+ $isTimeFormat24 = (isset($_POST['timeFormat']) && $_POST['timeFormat'] === '24');
+
$site = new Site($this->_siteID);
- $site->setLocalization($timeZone, $dateFormat);
+ $site->setLocalization($timeZone, $isDMY, $isTimeFormat24);
/* Reload the new data for the session. */
- $_SESSION['CATS']->setTimeDateLocalization($timeZone, $isDMY);
+ $_SESSION['CATS']->setTimeDateLocalization($timeZone, $isDMY, $isTimeFormat24);
$this->_template->assign('inputType', 'conclusion');
$this->_template->assign('title', 'Localization Settings Saved!');
From dd962c5445cdc250ad9aae620649e82963a19690 Mon Sep 17 00:00:00 2001
From: anonymoususer72041
<247563575+anonymoususer72041@users.noreply.github.com>
Date: Tue, 16 Jun 2026 11:00:00 +0200
Subject: [PATCH 3/7] Add time format option to localization wizard
---
js/wizardIntro.js | 4 +++-
modules/login/wizard/Localization.tpl | 10 ++++++++++
modules/settings/NewInstallWizard.tpl | 12 ++++++++++++
modules/settings/SettingsUI.php | 4 +++-
modules/wizard/WizardUI.php | 1 +
5 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/js/wizardIntro.js b/js/wizardIntro.js
index 07afad017..69c8be03d 100755
--- a/js/wizardIntro.js
+++ b/js/wizardIntro.js
@@ -91,10 +91,12 @@ function extendedNext()
// This is the localization page
var timeZone = document.getElementById("timeZone");
var dateFormat = document.getElementById("dateFormat");
+ var timeFormatEl = document.getElementById("timeFormat");
+ var timeFormat = timeFormatEl ? timeFormatEl.value : "12";
failAction = "alert(\"Unable to set your localization settings! Please try again.\");";
userActionSuccess = "funcNext();";
failAction = "";
- userAction("Localization&timeZone=" + escape(timeZone.value) + "&dateFormat=" + escape(dateFormat.value));
+ userAction("Localization&timeZone=" + escape(timeZone.value) + "&dateFormat=" + escape(dateFormat.value) + "&timeFormat=" + escape(timeFormat));
return false;
}
diff --git a/modules/login/wizard/Localization.tpl b/modules/login/wizard/Localization.tpl
index 8e5875879..d8d650aab 100755
--- a/modules/login/wizard/Localization.tpl
+++ b/modules/login/wizard/Localization.tpl
@@ -16,6 +16,16 @@
+
+
+
Time Format
+
+
+
+
These settings will effect how you see dates and times in OpenCATS.
diff --git a/modules/settings/NewInstallWizard.tpl b/modules/settings/NewInstallWizard.tpl
index 90c8f6d8f..7c71e186d 100755
--- a/modules/settings/NewInstallWizard.tpl
+++ b/modules/settings/NewInstallWizard.tpl
@@ -80,6 +80,18 @@
+
+
+
Please choose your preferred time format.
+
+
+
+
+
+
diff --git a/modules/settings/SettingsUI.php b/modules/settings/SettingsUI.php
index 8bc84fe73..e251c2cff 100755
--- a/modules/settings/SettingsUI.php
+++ b/modules/settings/SettingsUI.php
@@ -3091,8 +3091,10 @@ private function wizard_localization()
$isDMY = true;
}
+ $isTimeFormat24 = (isset($_GET['timeFormat']) && $_GET['timeFormat'] === '24');
+
$site = new Site($this->_siteID);
- $site->setLocalization($timeZone, $isDMY);
+ $site->setLocalization($timeZone, $isDMY, $isTimeFormat24);
$site->setLocalizationConfigured();
echo 'Ok';
diff --git a/modules/wizard/WizardUI.php b/modules/wizard/WizardUI.php
index babf65a92..3bd00e89c 100755
--- a/modules/wizard/WizardUI.php
+++ b/modules/wizard/WizardUI.php
@@ -66,6 +66,7 @@ public function __construct()
$this->addPage('Localization', './modules/wizard/WizardIntroLocalization.tpl', '
$this->_template->assign(\'timeZone\', $_SESSION[\'CATS\']->getTimeZone());
$this->_template->assign(\'isDateDMY\', $_SESSION[\'CATS\']->isDateDMY());
+ $this->_template->assign(\'isTimeFormat24\', $_SESSION[\'CATS\']->isTimeFormat24());
');
$this->addJsInclude('./js/wizardIntro.js');
From f1dd7a0ae7360132684bd7e5e8cc70cd710cb728 Mon Sep 17 00:00:00 2001
From: anonymoususer72041
<247563575+anonymoususer72041@users.noreply.github.com>
Date: Tue, 16 Jun 2026 11:00:00 +0200
Subject: [PATCH 4/7] Add time format helpers
---
lib/DateUtility.php | 131 +++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 130 insertions(+), 1 deletion(-)
diff --git a/lib/DateUtility.php b/lib/DateUtility.php
index 7300398bf..5f98488f2 100755
--- a/lib/DateUtility.php
+++ b/lib/DateUtility.php
@@ -387,7 +387,136 @@ public static function getAdjustedDate($format = 'U', $date = false)
return date($format, $unixTime);
}
-
+
+ /**
+ * Returns the PHP time format string for the configured time format.
+ * Pass an explicit boolean to override the session value (useful in tests).
+ *
+ * @param boolean|null $isTimeFormat24 true=24h, false=12h, null=read from session
+ * @return string 'H:i' for 24-hour or 'g:i A' for 12-hour
+ */
+ public static function getTimeFormat($isTimeFormat24 = null)
+ {
+ if ($isTimeFormat24 === null)
+ {
+ $isTimeFormat24 = (isset($_SESSION['CATS']) && $_SESSION['CATS']->isTimeFormat24());
+ }
+
+ return $isTimeFormat24 ? 'H:i' : 'g:i A';
+ }
+
+ /**
+ * Returns a combined date + time PHP format string for the configured formats.
+ *
+ * @param string $dateFormat A PHP date format string for the date portion.
+ * @param boolean|null $isTimeFormat24 true=24h, false=12h, null=read from session
+ * @return string combined format, e.g. 'm-d-Y g:i A' or 'm-d-Y H:i'
+ */
+ public static function getDateTimeFormat($dateFormat, $isTimeFormat24 = null)
+ {
+ return $dateFormat . ' ' . self::getTimeFormat($isTimeFormat24);
+ }
+
+ /**
+ * Returns the MySQL DATE_FORMAT time-only format string for use inside
+ * a PHP sprintf() call (% signs are already doubled).
+ * 24-hour: '%%H:%%i' becomes MySQL %H:%i (e.g. 13:30)
+ * 12-hour: '%%h:%%i %%p' becomes MySQL %h:%i %p (e.g. 01:30 PM)
+ *
+ * @param boolean|null $isTimeFormat24 true=24h, false=12h, null=session
+ * @return string sprintf-escaped MySQL time format string
+ */
+ public static function getMysqlTimeFormat($isTimeFormat24 = null)
+ {
+ if ($isTimeFormat24 === null)
+ {
+ $isTimeFormat24 = (isset($_SESSION['CATS']) && $_SESSION['CATS']->isTimeFormat24());
+ }
+ return $isTimeFormat24 ? '%%H:%%i' : '%%h:%%i %%p';
+ }
+
+ /**
+ * Returns the MySQL DATE_FORMAT date+time format string for use inside
+ * a PHP sprintf() call (% signs are already doubled).
+ * 24-hour: '%%m-%%d-%%y (%%H:%%i)'
+ * 12-hour: '%%m-%%d-%%y (%%h:%%i %%p)'
+ *
+ * @param boolean|null $isTimeFormat24 true=24h, false=12h, null=session
+ * @return string sprintf-escaped MySQL datetime format string
+ */
+ public static function getMysqlDateTimeFormat($isTimeFormat24 = null)
+ {
+ if ($isTimeFormat24 === null)
+ {
+ $isTimeFormat24 = (isset($_SESSION['CATS']) && $_SESSION['CATS']->isTimeFormat24());
+ }
+ return $isTimeFormat24 ? '%%m-%%d-%%y (%%H:%%i)' : '%%m-%%d-%%y (%%h:%%i %%p)';
+ }
+
+ /**
+ * Returns the MySQL DATE_FORMAT date+time+seconds format string for use
+ * inside a PHP sprintf() call (% signs are already doubled).
+ * 24-hour: '%%m-%%d-%%y (%%H:%%i:%%s)'
+ * 12-hour: '%%m-%%d-%%y (%%h:%%i:%%s %%p)'
+ *
+ * @param boolean|null $isTimeFormat24 true=24h, false=12h, null=session
+ * @return string sprintf-escaped MySQL datetime+seconds format string
+ */
+ public static function getMysqlDateTimeSecondsFormat($isTimeFormat24 = null)
+ {
+ if ($isTimeFormat24 === null)
+ {
+ $isTimeFormat24 = (isset($_SESSION['CATS']) && $_SESSION['CATS']->isTimeFormat24());
+ }
+ return $isTimeFormat24 ? '%%m-%%d-%%y (%%H:%%i:%%s)' : '%%m-%%d-%%y (%%h:%%i:%%s %%p)';
+ }
+
+ /**
+ * Normalizes activity form time inputs to a 'HH:MM:00' string suitable
+ * for storage. Returns false when inputs are out of range.
+ *
+ * In 24-hour mode $hour must be 0-23; $meridiem is ignored.
+ * In 12-hour mode $hour must be 1-12 and $meridiem must be 'AM' or 'PM'.
+ *
+ * @param integer $hour Hour from the form
+ * @param integer $minute Minute from the form (0-59)
+ * @param string $meridiem 'AM' or 'PM' (ignored in 24-hour mode)
+ * @param boolean $is24 true for 24-hour mode
+ * @return string|false 'HH:MM:00' on success, false on invalid input
+ */
+ public static function normalizeActivityTime($hour, $minute, $meridiem, $is24)
+ {
+ $hour = (int) $hour;
+ $minute = (int) $minute;
+
+ if ($minute < 0 || $minute > 59)
+ {
+ return false;
+ }
+
+ if ($is24)
+ {
+ if ($hour < 0 || $hour > 23)
+ {
+ return false;
+ }
+ return sprintf('%02d:%02d:00', $hour, $minute);
+ }
+
+ if ($hour < 1 || $hour > 12 || ($meridiem !== 'AM' && $meridiem !== 'PM'))
+ {
+ return false;
+ }
+
+ $hour24 = $hour % 12; /* 12 AM becomes 0; 1-11 AM stay 1-11. */
+ if ($meridiem === 'PM')
+ {
+ $hour24 += 12; /* 12 PM stays 12; 1-11 PM become 13-23. */
+ }
+
+ return sprintf('%02d:%02d:00', $hour24, $minute);
+ }
+
/**
* Returns a human readable representation of a period of time in seconds.
*
From 4fa65ad2a3ee8206442f5a52001215ddd7f9a31a Mon Sep 17 00:00:00 2001
From: anonymoususer72041
<247563575+anonymoususer72041@users.noreply.github.com>
Date: Tue, 16 Jun 2026 11:00:00 +0200
Subject: [PATCH 5/7] Apply time format to all output
---
ajax/editActivity.php | 21 ++--
js/activity.js | 105 +++++++++++-------
lib/ActivityEntries.php | 10 +-
lib/Attachments.php | 4 +-
lib/Calendar.php | 10 +-
lib/Candidates.php | 4 +-
lib/Companies.php | 2 +-
lib/Contacts.php | 6 +-
lib/EmailTemplates.php | 5 +-
lib/History.php | 2 +-
lib/JobOrders.php | 4 +-
lib/LoginActivity.php | 2 +-
lib/Pipelines.php | 2 +-
lib/Site.php | 3 +-
lib/Statistics.php | 6 +-
lib/TemplateUtility.php | 5 +-
lib/Users.php | 14 +--
modules/activity/dataGrids.php | 4 +-
modules/calendar/Calendar.tpl | 29 ++++-
modules/calendar/CalendarUI.js | 57 ++++++----
modules/calendar/CalendarUI.php | 68 +++++++-----
.../AddActivityScheduleEventModal.tpl | 39 +++++--
modules/candidates/CandidatesUI.php | 77 ++++++-------
modules/candidates/Show.tpl | 3 +-
modules/companies/Show.tpl | 4 +
.../AddActivityScheduleEventModal.tpl | 39 +++++--
modules/contacts/ContactsUI.php | 73 ++++++------
modules/contacts/Show.tpl | 3 +-
modules/home/dataGrids.php | 9 +-
modules/import/Import.php | 2 +-
30 files changed, 360 insertions(+), 252 deletions(-)
diff --git a/ajax/editActivity.php b/ajax/editActivity.php
index cf27067ea..1e3645ba5 100755
--- a/ajax/editActivity.php
+++ b/ajax/editActivity.php
@@ -80,7 +80,6 @@
$activityDate = trim(urldecode($_POST['date']));
$activityHour = trim(urldecode($_POST['hour']));
$activityMinute = trim(urldecode($_POST['minute']));
-$activityAMPM = trim(urldecode($_POST['ampm']));
$dateFormatFlag = $_SESSION['CATS']->isDateDMY()
? DATE_FORMAT_DDMMYY
@@ -99,19 +98,17 @@
$jobOrderID = -1;
}
-/* Convert formatted time to UNIX timestamp. */
-$time = strtotime(
- sprintf('%02d:%02d %s', $activityHour, $activityMinute, $activityAMPM)
-);
+/* Convert time fields to a 'HH:MM:SS' string. */
+$is24 = $_SESSION['CATS']->isTimeFormat24();
+$activityAMPM = $is24 ? '' : trim(urldecode($_POST['ampm']));
+$timeStr = DateUtility::normalizeActivityTime($activityHour, $activityMinute, $activityAMPM, $is24);
+if ($timeStr === false)
+{
+ die('Invalid time.');
+}
/* Create MySQL date string w/ 24hr time (YYYY-MM-DD HH:MM:SS). */
-$date = sprintf(
- '%s %s',
- DateUtility::convert(
- '-', $activityDate, $dateFormatFlag, DATE_FORMAT_YYYYMMDD
- ),
- date('H:i:00', $time)
-);
+$date = DateUtility::convert('-', $activityDate, $dateFormatFlag, DATE_FORMAT_YYYYMMDD) . ' ' . $timeStr;
/* Save the new activity entry. */
$activityEntries = new ActivityEntries($siteID);
diff --git a/js/activity.js b/js/activity.js
index 40d4c99fb..39c65885c 100755
--- a/js/activity.js
+++ b/js/activity.js
@@ -296,31 +296,46 @@ function Activity_editEntry(activityID, dataItemID, dataItemType, sessionCookie)
var userDateFormat = (typeof window.CATSUserDateFormat !== "undefined" ? window.CATSUserDateFormat : "MM-DD-YY");
dateSpan.innerHTML = DateInputForDOM("dateEditActivity" + activityID, true, userDateFormat, dateAndTime.substr(0,dateAndTime.indexOf(" ")), -1);
- var timeString = dateAndTime.substr(dateAndTime.indexOf(" ")+2);
- var hourString = timeString.substr(0,timeString.indexOf(":"));
- var timeString = timeString.substr(timeString.indexOf(":")+1);
- var minuteString = timeString.substr(0,timeString.indexOf(" "));
- var timeString = timeString.substr(timeString.indexOf(" ")+1);
- var amPmString = timeString.substr(0,timeString.indexOf(")"));
-
- /* Time editor. */
+ /* Parse time from display string: strip date prefix and the opening "(". */
+ var timeSection = dateAndTime.substr(dateAndTime.indexOf("(") + 1);
+ var hourString, minuteString, amPmString;
+ if (window.CATSTimeFormat24)
+ {
+ /* 24-hour display: "(HH:MM)" */
+ hourString = timeSection.substr(0, timeSection.indexOf(":"));
+ minuteString = timeSection.substr(timeSection.indexOf(":") + 1, 2);
+ amPmString = "";
+ }
+ else
+ {
+ /* 12-hour display: "(H:MM AM)" or "(H:MM PM)" */
+ hourString = timeSection.substr(0, timeSection.indexOf(":"));
+ var rest = timeSection.substr(timeSection.indexOf(":") + 1);
+ minuteString = rest.substr(0, rest.indexOf(" "));
+ amPmString = rest.substr(rest.indexOf(" ") + 1, 2);
+ }
+
+ /* Time editor — hour select. */
var hourSelect = document.createElement("select");
hourSelect.setAttribute("id", "hourEditActivity" + activityID);
- for (var i = 1; i<= 12; ++i)
+ var hourMin = window.CATSTimeFormat24 ? 0 : 1;
+ var hourMax = window.CATSTimeFormat24 ? 23 : 12;
+ for (var i = hourMin; i <= hourMax; ++i)
{
var hourSelectOption = document.createElement("option");
hourSelectOption.value = i;
- hourSelectOption.innerHTML = i;
+ hourSelectOption.innerHTML = window.CATSTimeFormat24 ? (i < 10 ? '0' + i : '' + i) : i;
if (hourString * 1 == i)
{
hourSelectOption.selected = true;
}
hourSelect.appendChild(hourSelectOption);
}
-
+
+ /* Time editor — minute select. */
var minuteSelect = document.createElement("select");
minuteSelect.setAttribute("id", "minuteEditActivity" + activityID);
- for (var i = 0; i<= 59; ++i)
+ for (var i = 0; i <= 59; ++i)
{
var minuteSelectOption = document.createElement("option");
minuteSelectOption.value = i;
@@ -331,37 +346,45 @@ function Activity_editEntry(activityID, dataItemID, dataItemType, sessionCookie)
}
minuteSelect.appendChild(minuteSelectOption);
}
-
- var AMPMSelect = document.createElement("select");
- AMPMSelect.setAttribute("id", "ampmEditActivity" + activityID);
-
- var AMPMSelectOptionAM = document.createElement("option");
- AMPMSelectOptionAM.value = "AM";
- AMPMSelectOptionAM.innerHTML = "AM";
- if (amPmString == "AM")
- {
- AMPMSelectOptionAM.selected = true;
- }
- AMPMSelect.appendChild(AMPMSelectOptionAM);
-
- var AMPMSelectOptionPM = document.createElement("option");
- AMPMSelectOptionPM.value = "PM";
- AMPMSelectOptionPM.innerHTML = "PM";
- if (amPmString == "PM")
+
+ /* Time editor — AM/PM select (12-hour mode only). */
+ var AMPMSelect = null;
+ if (!window.CATSTimeFormat24)
{
- AMPMSelectOptionPM.selected = true;
+ AMPMSelect = document.createElement("select");
+ AMPMSelect.setAttribute("id", "ampmEditActivity" + activityID);
+
+ var AMPMSelectOptionAM = document.createElement("option");
+ AMPMSelectOptionAM.value = "AM";
+ AMPMSelectOptionAM.innerHTML = "AM";
+ if (amPmString == "AM")
+ {
+ AMPMSelectOptionAM.selected = true;
+ }
+ AMPMSelect.appendChild(AMPMSelectOptionAM);
+
+ var AMPMSelectOptionPM = document.createElement("option");
+ AMPMSelectOptionPM.value = "PM";
+ AMPMSelectOptionPM.innerHTML = "PM";
+ if (amPmString == "PM")
+ {
+ AMPMSelectOptionPM.selected = true;
+ }
+ AMPMSelect.appendChild(AMPMSelectOptionPM);
}
- AMPMSelect.appendChild(AMPMSelectOptionPM);
-
+
var dateTimeTable = document.createElement("table");
var dateTimeTableTr = document.createElement("tr");
var dateTimeTableTdLeft = document.createElement("td");
var dateTimeTableTdRight = document.createElement("td");
-
- dateTimeTableTdLeft.appendChild(dateSpan);
- dateTimeTableTdRight.appendChild(hourSelect);
- dateTimeTableTdRight.appendChild(minuteSelect);
- dateTimeTableTdRight.appendChild(AMPMSelect);
+
+ dateTimeTableTdLeft.appendChild(dateSpan);
+ dateTimeTableTdRight.appendChild(hourSelect);
+ dateTimeTableTdRight.appendChild(minuteSelect);
+ if (AMPMSelect)
+ {
+ dateTimeTableTdRight.appendChild(AMPMSelect);
+ }
dateTimeTableTr.appendChild(dateTimeTableTdLeft);
dateTimeTableTr.appendChild(dateTimeTableTdRight);
dateTimeTable.appendChild(dateTimeTableTr);
@@ -390,7 +413,7 @@ function Activity_editEntry(activityID, dataItemID, dataItemType, sessionCookie)
document.getElementById("dateEditActivity" + activityID).value,
document.getElementById("hourEditActivity" + activityID).value,
document.getElementById("minuteEditActivity" + activityID).value,
- document.getElementById("ampmEditActivity" + activityID).value,
+ AMPMSelect ? AMPMSelect.value : "",
oldEditRow,
newEditRow,
activityID,
@@ -861,6 +884,10 @@ function AS_onEventAllDayChange(allDayRadioID)
document.getElementById("hour").disabled = disableTime;
document.getElementById("minute").disabled = disableTime;
- document.getElementById("meridiem").disabled = disableTime;
+ var meridiem = document.getElementById("meridiem");
+ if (meridiem)
+ {
+ meridiem.disabled = disableTime;
+ }
document.getElementById("duration").disabled = disableTime;
}
diff --git a/lib/ActivityEntries.php b/lib/ActivityEntries.php
index 3f15df09e..5eb964225 100755
--- a/lib/ActivityEntries.php
+++ b/lib/ActivityEntries.php
@@ -64,12 +64,16 @@ class ActivityEntries
{
private $_db;
private $_siteID;
+ private $_mysqlDateTimeFormat;
public function __construct($siteID)
{
$this->_siteID = $siteID;
$this->_db = DatabaseConnection::getInstance();
+
+ $is24 = (isset($_SESSION['CATS']) && $_SESSION['CATS']->isTimeFormat24());
+ $this->_mysqlDateTimeFormat = DateUtility::getMysqlDateTimeFormat($is24);
}
@@ -430,7 +434,7 @@ public function get($activityID)
activity_type.short_description AS typeDescription,
activity.notes AS notes,
DATE_FORMAT(
- activity.date_occurred, '%%m-%%d-%%y (%%h:%%i %%p)'
+ activity.date_occurred, '" . $this->_mysqlDateTimeFormat . "'
) AS dateCreated,
entered_by_user.first_name AS enteredByFirstName,
entered_by_user.last_name AS enteredByLastName,
@@ -478,7 +482,7 @@ public function getAllByDataItem($dataItemID, $dataItemType)
activity.joborder_id AS jobOrderID,
activity.notes AS notes,
DATE_FORMAT(
- activity.date_occurred, '%%m-%%d-%%y (%%h:%%i %%p)'
+ activity.date_occurred, '" . $this->_mysqlDateTimeFormat . "'
) AS dateCreated,
activity.date_occurred AS dateCreatedSort,
activity.type AS type,
@@ -534,7 +538,7 @@ public function getAllByCompany($companyID)
activity.joborder_id AS jobOrderID,
activity.notes AS notes,
DATE_FORMAT(
- activity.date_occurred, '%%m-%%d-%%y (%%h:%%i %%p)'
+ activity.date_occurred, '" . $this->_mysqlDateTimeFormat . "'
) AS dateCreated,
activity.date_occurred AS dateCreatedSort,
activity.type AS type,
diff --git a/lib/Attachments.php b/lib/Attachments.php
index 90da43d10..6811c4391 100755
--- a/lib/Attachments.php
+++ b/lib/Attachments.php
@@ -526,7 +526,7 @@ public function getAll($dataItemType, $dataItemID)
directory_name AS directoryName,
md5_sum AS md5sum,
file_size_kb AS fileSizeKB,
- DATE_FORMAT(date_created, '%%m-%%d-%%y (%%h:%%i:%%s %%p)') AS dateCreated
+ DATE_FORMAT(date_created, '" . DateUtility::getMysqlDateTimeSecondsFormat() . "') AS dateCreated
FROM
attachment
WHERE
@@ -592,7 +592,7 @@ public function get($attachmentID, $verifySiteID = true)
directory_name AS directoryName,
md5_sum AS md5sum,
file_size_kb AS fileSizeKB,
- DATE_FORMAT(date_created, '%%m-%%d-%%y (%%h:%%i:%%s %%p)') AS dateCreated
+ DATE_FORMAT(date_created, '" . DateUtility::getMysqlDateTimeSecondsFormat() . "') AS dateCreated
FROM
attachment
WHERE
diff --git a/lib/Calendar.php b/lib/Calendar.php
index f6adce5f2..2b50b3f1d 100755
--- a/lib/Calendar.php
+++ b/lib/Calendar.php
@@ -111,7 +111,7 @@ public function getEventArray($month, $year)
calendar_event.date, '%%m-%%d-%%y'
) AS date,
DATE_FORMAT(
- calendar_event.date, '%%h:%%i %%p'
+ calendar_event.date, '" . DateUtility::getMysqlTimeFormat() . "'
) AS time,
DATE_FORMAT(
calendar_event.date, '%%H'
@@ -121,7 +121,7 @@ public function getEventArray($month, $year)
) AS minute,
calendar_event.date AS dateSort,
DATE_FORMAT(
- calendar_event.date_created, '%%m-%%d-%%y (%%h:%%i %%p)'
+ calendar_event.date_created, '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS dateCreated,
calendar_event_type.calendar_event_type_id AS eventType,
calendar_event_type.short_description AS eventTypeDescription,
@@ -626,7 +626,7 @@ public function getUpcomingEventsByDataItem($dataItemType, $dataItemID)
calendar_event.description AS description,
calendar_event.public AS public,
DATE_FORMAT(
- calendar_event.date, '%%m-%%d-%%y (%%h:%%i %%p)'
+ calendar_event.date, '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS dateShow,
DATE_FORMAT(
calendar_event.date, '%%d'
@@ -726,7 +726,7 @@ public function getUpcomingEventsHTML($limit, $flag = UPCOMING_FOR_CALENDAR)
calendar_event.date, '%%m-%%d-%%y'
) AS date,
DATE_FORMAT(
- calendar_event.date, '%%h:%%i %%p'
+ calendar_event.date, '" . DateUtility::getMysqlTimeFormat() . "'
) AS time,
calendar_event.date AS dateSort,
entered_by_user.user_id AS userID,
@@ -776,7 +776,7 @@ public function getUpcomingEventsHTML($limit, $flag = UPCOMING_FOR_CALENDAR)
calendar_event.date, '%%m-%%d-%%y'
) AS date,
DATE_FORMAT(
- calendar_event.date, '%%h:%%i %%p'
+ calendar_event.date, '" . DateUtility::getMysqlTimeFormat() . "'
) AS time,
calendar_event.date AS dateSort,
entered_by_user.user_id AS userID,
diff --git a/lib/Candidates.php b/lib/Candidates.php
index 5020326aa..7aa726dc7 100755
--- a/lib/Candidates.php
+++ b/lib/Candidates.php
@@ -494,10 +494,10 @@ public function get($candidateID)
candidate.is_hot AS isHot,
candidate.is_admin_hidden AS isAdminHidden,
DATE_FORMAT(
- candidate.date_created, '%%m-%%d-%%y (%%h:%%i %%p)'
+ candidate.date_created, '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS dateCreated,
DATE_FORMAT(
- candidate.date_modified, '%%m-%%d-%%y (%%h:%%i %%p)'
+ candidate.date_modified, '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS dateModified,
COUNT(
candidate_joborder.joborder_id
diff --git a/lib/Companies.php b/lib/Companies.php
index 6f4c3330a..0d2f6d918 100755
--- a/lib/Companies.php
+++ b/lib/Companies.php
@@ -341,7 +341,7 @@ public function get($companyID)
billing_contact.first_name, ' ', billing_contact.last_name
) AS billingContactFullName,
DATE_FORMAT(
- company.date_created, '%%m-%%d-%%y (%%h:%%i %%p)'
+ company.date_created, '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS dateCreated,
CONCAT(
entered_by_user.first_name, ' ', entered_by_user.last_name
diff --git a/lib/Contacts.php b/lib/Contacts.php
index 122a58cf1..961ac75e3 100755
--- a/lib/Contacts.php
+++ b/lib/Contacts.php
@@ -461,10 +461,10 @@ public function get($contactID)
reportsToContact.title as reportsToTitle,
company_department.name AS department,
DATE_FORMAT(
- contact.date_created, '%%m-%%d-%%y (%%h:%%i %%p)'
+ contact.date_created, '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS dateCreated,
DATE_FORMAT(
- contact.date_modified, '%%m-%%d-%%y (%%h:%%i %%p)'
+ contact.date_modified, '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS dateModified,
company.name AS companyName,
company.is_hot AS isHotCompany,
@@ -601,7 +601,7 @@ public function getAll($userID = -1, $companyID = -1)
contact.date_created, '%%m-%%d-%%y'
) AS dateCreated,
DATE_FORMAT(
- contact.date_modified, '%%m-%%d-%%y (%%h:%%i %%p)'
+ contact.date_modified, '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS dateModified,
owner_user.first_name AS ownerFirstName,
owner_user.last_name AS ownerLastName,
diff --git a/lib/EmailTemplates.php b/lib/EmailTemplates.php
index 338fe4458..8a9d36222 100755
--- a/lib/EmailTemplates.php
+++ b/lib/EmailTemplates.php
@@ -281,7 +281,7 @@ public function replaceVariables($text)
if ($isLoggedIn)
{
$replacementStrings = array(
- DateUtility::getAdjustedDate($dateFormat . ' g:i A'),
+ DateUtility::getAdjustedDate(DateUtility::getDateTimeFormat($dateFormat)),
$siteName,
$fullName,
''. $email .''
@@ -305,8 +305,9 @@ public function replaceVariables($text)
$siteName = $siteRS['name'];
+ $is24 = !empty($siteRS['timeFormat24']);
$replacementStrings = array(
- DateUtility::getAdjustedDate($dateFormat . ' g:i A'),
+ DateUtility::getAdjustedDate(DateUtility::getDateTimeFormat($dateFormat, $is24)),
$siteName,
'',
'' . $email . ''
diff --git a/lib/History.php b/lib/History.php
index a1aa86221..476fa5e10 100755
--- a/lib/History.php
+++ b/lib/History.php
@@ -273,7 +273,7 @@ public function getAll($dataItemType, $dataItemID)
entered_by_user.first_name, ' ', entered_by_user.last_name
) AS enteredByFullName,
DATE_FORMAT(
- set_date, '%%m-%%d-%%y (%%h:%%i %%p)'
+ set_date, '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS dateModified
FROM
history
diff --git a/lib/JobOrders.php b/lib/JobOrders.php
index 6a4b0ff93..0b5fa6dff 100755
--- a/lib/JobOrders.php
+++ b/lib/JobOrders.php
@@ -436,10 +436,10 @@ public function get($jobOrderID)
NOW(), joborder.date_created
) AS daysOld,
DATE_FORMAT(
- joborder.date_created, '%%m-%%d-%%y (%%h:%%i %%p)'
+ joborder.date_created, '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS dateCreated,
DATE_FORMAT(
- joborder.date_modified, '%%m-%%d-%%y (%%h:%%i %%p)'
+ joborder.date_modified, '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS dateModified,
COUNT(
candidate_joborder.joborder_id
diff --git a/lib/LoginActivity.php b/lib/LoginActivity.php
index 1ce2867e8..f167cfafe 100755
--- a/lib/LoginActivity.php
+++ b/lib/LoginActivity.php
@@ -125,7 +125,7 @@ public function getPage()
user_login.ip AS ip,
user_login.user_agent AS shortUserAgent,
DATE_FORMAT(
- user_login.date, '%%m-%%d-%%y (%%h:%%i %%p)'
+ user_login.date, '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS date,
user_login.date AS dateSort,
user_login.host AS hostname,
diff --git a/lib/Pipelines.php b/lib/Pipelines.php
index bacfb94ad..708528c3e 100755
--- a/lib/Pipelines.php
+++ b/lib/Pipelines.php
@@ -782,7 +782,7 @@ public function getPipelineDetails($candidateJobOrderID)
candidate_joborder.rating_value AS ratingValue,
entered_by_user.first_name AS enteredByFirstName,
entered_by_user.last_name AS enteredByLastName,
- DATE_FORMAT(activity.date_modified, '%%m-%%d-%%y (%%h:%%i:%%s %%p)') AS dateModified
+ DATE_FORMAT(activity.date_modified, '" . DateUtility::getMysqlDateTimeSecondsFormat() . "') AS dateModified
FROM
candidate_joborder
LEFT JOIN candidate
diff --git a/lib/Site.php b/lib/Site.php
index 978f97982..2828c6616 100755
--- a/lib/Site.php
+++ b/lib/Site.php
@@ -164,7 +164,8 @@ public function getSiteBySiteID($siteID)
user_licenses AS userLicenses,
entered_by AS enteredBy,
unix_name AS unixName,
- date_format_ddmmyy as dateFormatDDMMYY
+ date_format_ddmmyy as dateFormatDDMMYY,
+ time_format_24 AS timeFormat24
FROM
site
WHERE
diff --git a/lib/Statistics.php b/lib/Statistics.php
index d848ee5e2..cddf42dca 100755
--- a/lib/Statistics.php
+++ b/lib/Statistics.php
@@ -294,7 +294,7 @@ public function getSubmissionsByJobOrder($period, $jobOrderID)
owner_user.first_name, ' ', owner_user.last_name
) AS ownerFullName,
DATE_FORMAT(
- candidate_joborder_status_history.date, '%%m-%%d-%%y (%%h:%%i %%p)'
+ candidate_joborder_status_history.date, '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS dateSubmitted
FROM
candidate_joborder_status_history
@@ -404,7 +404,7 @@ public function getPlacementsByJobOrder($period, $jobOrderID)
owner_user.first_name, ' ', owner_user.last_name
) AS ownerFullName,
DATE_FORMAT(
- candidate_joborder_status_history.date, '%%m-%%d-%%y (%%h:%%i %%p)'
+ candidate_joborder_status_history.date, '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS dateSubmitted
FROM
candidate_joborder_status_history
@@ -616,7 +616,7 @@ public function getJobOrderReport($jobOrderID)
owner_user.first_name, ' ', owner_user.last_name
) AS ownerFullName,
DATE_FORMAT(
- joborder.date_created, '%%m-%%d-%%y (%%h:%%i %%p)'
+ joborder.date_created, '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS dateCreated,
COUNT(
candidate_joborder.joborder_id
diff --git a/lib/TemplateUtility.php b/lib/TemplateUtility.php
index d72f857bf..c401b04fa 100755
--- a/lib/TemplateUtility.php
+++ b/lib/TemplateUtility.php
@@ -860,8 +860,9 @@ public static function printReportFooter()
{
$build = $_SESSION['CATS']->getCachedBuild();
- // FIXME: LOCAL TIME ZONE!
- $date = date('l, F jS, Y \a\t h:i:s A T');
+ $isTimeFormat24 = isset($_SESSION['CATS']) && $_SESSION['CATS']->isTimeFormat24();
+ $timeFormat = $isTimeFormat24 ? 'H:i:s' : 'g:i:s A';
+ $date = DateUtility::getAdjustedDate('l, F jS, Y \a\t ' . $timeFormat . ' T');
if ($build > 0)
{
diff --git a/lib/Users.php b/lib/Users.php
index 9e83079c7..b681d989d 100644
--- a/lib/Users.php
+++ b/lib/Users.php
@@ -303,13 +303,13 @@ public function get($userID)
MAX(
IF(user_login.successful = 1, user_login.date, NULL)
),
- '%%m-%%d-%%y (%%h:%%i %%p)'
+ '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS successfulDate,
DATE_FORMAT(
MAX(
IF(user_login.successful = 0, user_login.date, NULL)
),
- '%%m-%%d-%%y (%%h:%%i %%p)'
+ '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS unsuccessfulDate,
force_logout as forceLogout
FROM
@@ -371,13 +371,13 @@ public function getForAdministration($userID, $aspSiteRule)
MAX(
IF(user_login.successful = 1, user_login.date, NULL)
),
- '%%m-%%d-%%y (%%h:%%i %%p)'
+ '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS successfulDate,
DATE_FORMAT(
MAX(
IF(user_login.successful = 0, user_login.date, NULL)
),
- '%%m-%%d-%%y (%%h:%%i %%p)'
+ '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS unsuccessfulDate,
force_logout as forceLogout
FROM
@@ -492,13 +492,13 @@ public function getAll()
MAX(
IF(user_login.successful = 1, user_login.date, NULL)
),
- '%%m-%%d-%%y (%%h:%%i %%p)'
+ '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS successfulDate,
DATE_FORMAT(
MAX(
IF(user_login.successful = 0, user_login.date, NULL)
),
- '%%m-%%d-%%y (%%h:%%i %%p)'
+ '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS unsuccessfulDate
FROM
user
@@ -1167,7 +1167,7 @@ public function getLoggedInUsers($limit, $siteID)
user.last_name AS lastName,
site.name AS siteName,
DATE_FORMAT(
- user_login.date_refreshed, '%%h:%%i %%p'
+ user_login.date_refreshed, '" . DateUtility::getMysqlTimeFormat() . "'
) AS lastRefresh,
IF(
user_login.date_refreshed > DATE_SUB(NOW(), INTERVAL 20 SECOND),
diff --git a/modules/activity/dataGrids.php b/modules/activity/dataGrids.php
index 812394f85..c86acf0a2 100644
--- a/modules/activity/dataGrids.php
+++ b/modules/activity/dataGrids.php
@@ -177,7 +177,7 @@ public function getSQL($selectSQL, $joinSQL, $whereSQL, $havingSQL, $orderSQL, $
activity.notes AS notes,
activity_type.short_description AS typeDescription,
DATE_FORMAT(
- activity.date_occurred, '%%m-%%d-%%y (%%h:%%i %%p)'
+ activity.date_occurred, '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS dateCreated,
activity.date_occurred AS dateCreatedSort,
entered_by_user.first_name AS enteredByFirstName,
@@ -226,7 +226,7 @@ public function getSQL($selectSQL, $joinSQL, $whereSQL, $havingSQL, $orderSQL, $
activity.notes AS notes,
activity_type.short_description AS typeDescription,
DATE_FORMAT(
- activity.date_occurred, '%%m-%%d-%%y (%%h:%%i %%p)'
+ activity.date_occurred, '" . DateUtility::getMysqlDateTimeFormat() . "'
) AS dateCreated,
activity.date_occurred AS dateCreatedSort,
entered_by_user.first_name AS enteredByFirstName,
diff --git a/modules/calendar/Calendar.tpl b/modules/calendar/Calendar.tpl
index 191a7d377..13116f292 100755
--- a/modules/calendar/Calendar.tpl
+++ b/modules/calendar/Calendar.tpl
@@ -4,6 +4,7 @@
active); ?>
@@ -98,9 +99,15 @@
+ isTimeFormat24()): ?>
+
All Day / No Specific Time
@@ -248,9 +257,15 @@
+ isTimeFormat24()): ?>
+
All Day / No Specific Time
diff --git a/modules/calendar/CalendarUI.js b/modules/calendar/CalendarUI.js
index f32857593..e1ed6b8f6 100755
--- a/modules/calendar/CalendarUI.js
+++ b/modules/calendar/CalendarUI.js
@@ -199,24 +199,31 @@ function calendarEditEvent(entry)
setCheckedValue(document.getElementById("editEventForm").elements["allDay"], "0");
setEditAllDayEnabled();
- if (entry.hour > 12)
+ if (window.CATSTimeFormat24)
{
- document.getElementById("hourEdit").value = entry.hour - 12;
+ document.getElementById("hourEdit").value = entry.hour;
}
else
{
- if (entry.hour == 0)
+ if (entry.hour > 12)
{
- document.getElementById("hourEdit").value = 12;
+ document.getElementById("hourEdit").value = entry.hour - 12;
}
else
{
- document.getElementById("hourEdit").value = entry.hour * 1;
+ if (entry.hour == 0)
+ {
+ document.getElementById("hourEdit").value = 12;
+ }
+ else
+ {
+ document.getElementById("hourEdit").value = entry.hour * 1;
+ }
+ }
+ if (entry.hour >= 12)
+ {
+ document.getElementById("meridiemEdit").value = "PM";
}
- }
- if (entry.hour >= 12)
- {
- document.getElementById("meridiemEdit").value = "PM";
}
var string = "" + entry.minute;
@@ -388,27 +395,33 @@ function addEventByDay(year, month, day, hour)
document.getElementById("publicEntry").checked = defaultPublic;
- if (hour > 12)
+ if (window.CATSTimeFormat24)
{
- document.getElementById("hour").value = hour - 12;
+ document.getElementById("hour").value = hour;
}
else
{
- if (hour == 0)
+ if (hour > 12)
{
- document.getElementById("hour").value = 12;
+ document.getElementById("hour").value = hour - 12;
}
else
{
- document.getElementById("hour").value = hour;
+ if (hour == 0)
+ {
+ document.getElementById("hour").value = 12;
+ }
+ else
+ {
+ document.getElementById("hour").value = hour;
+ }
+ }
+ if (hour >= 12)
+ {
+ document.getElementById("meridiem").value = "PM";
}
}
- if (hour >= 12)
- {
- document.getElementById("meridiem").value = "PM";
- }
-
//cleanUpUI();
document.getElementById("sendEmail").value = userEmail;
@@ -514,7 +527,8 @@ function setAddAllDayEnabled()
document.getElementById("hour").disabled = state;
document.getElementById("minute").disabled = state;
- document.getElementById("meridiem").disabled = state;
+ var mer = document.getElementById("meridiem");
+ if (mer) { mer.disabled = state; }
document.getElementById("duration").disabled = state;
}
@@ -529,7 +543,8 @@ function setEditAllDayEnabled()
document.getElementById("hourEdit").disabled = state;
document.getElementById("minuteEdit").disabled = state;
- document.getElementById("meridiemEdit").disabled = state;
+ var merEdit = document.getElementById("meridiemEdit");
+ if (merEdit) { merEdit.disabled = state; }
document.getElementById("durationEdit").disabled = state;
}
diff --git a/modules/calendar/CalendarUI.php b/modules/calendar/CalendarUI.php
index d373e03df..f442551a2 100755
--- a/modules/calendar/CalendarUI.php
+++ b/modules/calendar/CalendarUI.php
@@ -421,10 +421,6 @@ private function onAddEvent()
$date = DateUtility::convert(
'-', $trimmedDate, $dateFormatFlag, DATE_FORMAT_YYYYMMDD
);
-
- $hour = 12;
- $minute = 0;
- $meridiem = 'AM';
}
else
{
@@ -440,21 +436,29 @@ private function onAddEvent()
CommonErrors::fatal(COMMONERROR_BADFIELDS, $this, 'Invalid minute.');
}
- /* Bail out if we don't have a valid meridiem value. */
- if (!isset($_POST['meridiem']) ||
- ($_POST['meridiem'] != 'AM' && $_POST['meridiem'] != 'PM'))
+ $hour = $_POST['hour'];
+ $minute = $_POST['minute'];
+
+ if ($_SESSION['CATS']->isTimeFormat24())
{
- CommonErrors::fatal(COMMONERROR_BADFIELDS, $this, 'Invalid meridiem value.');
+ $time = strtotime(sprintf('%02d:%02d', $hour, $minute));
}
+ else
+ {
+ /* Bail out if we don't have a valid meridiem value. */
+ if (!isset($_POST['meridiem']) ||
+ ($_POST['meridiem'] != 'AM' && $_POST['meridiem'] != 'PM'))
+ {
+ CommonErrors::fatal(COMMONERROR_BADFIELDS, $this, 'Invalid meridiem value.');
+ }
- $hour = $_POST['hour'];
- $minute = $_POST['minute'];
- $meridiem = $_POST['meridiem'];
+ $meridiem = $_POST['meridiem'];
- /* Convert formatted time to UNIX timestamp. */
- $time = strtotime(
- sprintf('%s:%s %s', $hour, $minute, $meridiem)
- );
+ /* Convert formatted time to UNIX timestamp. */
+ $time = strtotime(
+ sprintf('%s:%s %s', $hour, $minute, $meridiem)
+ );
+ }
/* Create MySQL date string w/ 24hr time (YYYY-MM-DD HH:MM:SS). */
$date = sprintf(
@@ -627,10 +631,6 @@ private function onEditEvent()
$date = DateUtility::convert(
'-', $trimmedDate, $dateFormatFlag, DATE_FORMAT_YYYYMMDD
);
-
- $hour = 12;
- $minute = 0;
- $meridiem = 'AM';
}
else
{
@@ -646,21 +646,29 @@ private function onEditEvent()
CommonErrors::fatal(COMMONERROR_BADFIELDS, $this, 'Invalid minute.');
}
- /* Bail out if we don't have a valid meridiem value. */
- if (!isset($_POST['meridiem']) ||
- ($_POST['meridiem'] != 'AM' && $_POST['meridiem'] != 'PM'))
+ $hour = $_POST['hour'];
+ $minute = $_POST['minute'];
+
+ if ($_SESSION['CATS']->isTimeFormat24())
{
- CommonErrors::fatal(COMMONERROR_BADFIELDS, $this, 'Invalid meridiem value.');
+ $time = strtotime(sprintf('%02d:%02d', $hour, $minute));
}
+ else
+ {
+ /* Bail out if we don't have a valid meridiem value. */
+ if (!isset($_POST['meridiem']) ||
+ ($_POST['meridiem'] != 'AM' && $_POST['meridiem'] != 'PM'))
+ {
+ CommonErrors::fatal(COMMONERROR_BADFIELDS, $this, 'Invalid meridiem value.');
+ }
- $hour = $_POST['hour'];
- $minute = $_POST['minute'];
- $meridiem = $_POST['meridiem'];
+ $meridiem = $_POST['meridiem'];
- /* Convert formatted time to UNIX timestamp. */
- $time = strtotime(
- sprintf('%s:%s %s', $hour, $minute, $meridiem)
- );
+ /* Convert formatted time to UNIX timestamp. */
+ $time = strtotime(
+ sprintf('%s:%s %s', $hour, $minute, $meridiem)
+ );
+ }
/* Create MySQL date string w/ 24hr time (YYYY-MM-DD HH:MM:SS). */
$date = sprintf(
diff --git a/modules/candidates/AddActivityScheduleEventModal.tpl b/modules/candidates/AddActivityScheduleEventModal.tpl
index 0b61e9c54..5dd788028 100644
--- a/modules/candidates/AddActivityScheduleEventModal.tpl
+++ b/modules/candidates/AddActivityScheduleEventModal.tpl
@@ -39,9 +39,15 @@