Skip to content
8 changes: 6 additions & 2 deletions ajax/editActivity.php
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,11 @@
$activityMinute = trim(urldecode($_REQUEST['minute']));
$activityAMPM = trim(urldecode($_REQUEST['ampm']));

if (!DateUtility::validate('-', $activityDate, DATE_FORMAT_MMDDYY))
$dateFormatFlag = $_SESSION['CATS']->isDateDMY()
? DATE_FORMAT_DDMMYY
: DATE_FORMAT_MMDDYY;

if (!DateUtility::validate('-', $activityDate, $dateFormatFlag))
{
die('Invalid availability date.');
return;
Expand All @@ -87,7 +91,7 @@
$date = sprintf(
'%s %s',
DateUtility::convert(
'-', $activityDate, DATE_FORMAT_MMDDYY, DATE_FORMAT_YYYYMMDD
'-', $activityDate, $dateFormatFlag, DATE_FORMAT_YYYYMMDD
),
date('H:i:00', $time)
);
Expand Down
3 changes: 2 additions & 1 deletion js/activity.js
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,8 @@ function Activity_editEntry(activityID, dataItemID, dataItemType, sessionCookie)
/* Date editor. */
var dateSpan = document.createElement('span');
var dateAndTime = unEscapeHTML(dateTD.innerHTML.replace(/(<([^>]+)>)/ig,""));
dateSpan.innerHTML = DateInputForDOM('dateEditActivity' + activityID, true, 'MM-DD-YY', dateAndTime.substr(0,dateAndTime.indexOf(' ')), -1);
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(':'));
Expand Down
82 changes: 58 additions & 24 deletions lib/ExtraFields.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
*/

include_once(LEGACY_ROOT . '/lib/Site.php');
include_once(LEGACY_ROOT . '/lib/DateUtility.php');

/**
* Extra Fields Library
Expand Down Expand Up @@ -555,26 +556,7 @@
break;

case EXTRA_FIELD_DATE:
$dmy = false;

if (isset($_SESSION['CATS']) && $_SESSION['CATS']->isLoggedIn())
{
if ($_SESSION['CATS']->isDateDMY())
{
$dmy = true;
}
}
else
{
// Look up the sites preference. (This would happen on careersUI)
$site = new Site($this->_siteID);
$siteRS = $site->getSiteBySiteID($this->_siteID);

if ($siteRS['dateFormatDDMMYY'] == 1)
{
$dmy = true;
}
}
$dmy = $this->_isDateDMY();

if ($dmy)
{
Expand Down Expand Up @@ -677,7 +659,8 @@
break;

case EXTRA_FIELD_DATE:
$extraFields[$index]['addHTML'] = '<script type="text/javascript">DateInput(\'extraField'.$index.'\', false, \'MM-DD-YY\', \'\');</script>';
$dateFormat = $this->_isDateDMY() ? 'DD-MM-YY' : 'MM-DD-YY';
$extraFields[$index]['addHTML'] = '<script type="text/javascript">DateInput(\'extraField'.$index.'\', false, \''.$dateFormat.'\', \'\');</script>';
break;

case EXTRA_FIELD_TEXT:
Expand Down Expand Up @@ -867,7 +850,15 @@
break;

case EXTRA_FIELD_DATE:
$extraFields[$index]['editHTML'] = '<script type="text/javascript">DateInput(\'extraField'.$index.'\', false, \'MM-DD-YY\', \''.$data['value'].'\');</script>';
$userDateFormat = $this->_isDateDMY() ? 'DD-MM-YY' : 'MM-DD-YY';
$userDateValue = $data['value'];
if (!empty($userDateValue) && $userDateFormat == 'DD-MM-YY')
{
$userDateValue = DateUtility::convert(

Check warning on line 857 in lib/ExtraFields.php

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

lib/ExtraFields.php#L857

Avoid using static access to class 'DateUtility' in method 'getValuesForEdit'.
'-', $userDateValue, DATE_FORMAT_MMDDYY, DATE_FORMAT_DDMMYY
);
}
$extraFields[$index]['editHTML'] = '<script type="text/javascript">DateInput(\'extraField'.$index.'\', false, \''.$userDateFormat.'\', \''.htmlspecialchars($userDateValue, ENT_QUOTES).'\');</script>';
break;

case EXTRA_FIELD_TEXT:
Expand All @@ -893,11 +884,40 @@
{
$extraFields = $this->_getValuesWithSettings($dataItemID);

$dateFormatFlag = $this->_isDateDMY()
? DATE_FORMAT_DDMMYY
: DATE_FORMAT_MMDDYY;

for ($i = 0; $i < count($extraFields); $i++)
{
if (isset($_POST['extraField' . $i]) && $extraFields[$i]['value'] != $_POST['extraField' . $i])
if (!isset($_POST['extraField' . $i]))
{
continue;
}

$newValue = $_POST['extraField' . $i];

if ($extraFields[$i]['extraFieldType'] == EXTRA_FIELD_DATE)
{
$this->setValue($extraFields[$i]['fieldName'], $_POST['extraField' . $i], $dataItemID);
$newValue = trim($newValue);

if (!empty($newValue) &&
!DateUtility::validate('-', $newValue, $dateFormatFlag))

Check warning on line 905 in lib/ExtraFields.php

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

lib/ExtraFields.php#L905

Avoid using static access to class 'DateUtility' in method 'setValuesOnEdit'.
{
continue;
}

if (!empty($newValue))
{
$newValue = DateUtility::convert(

Check warning on line 912 in lib/ExtraFields.php

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

lib/ExtraFields.php#L912

Avoid using static access to class 'DateUtility' in method 'setValuesOnEdit'.
'-', $newValue, $dateFormatFlag, DATE_FORMAT_MMDDYY
);
}
}

if ($extraFields[$i]['value'] != $newValue)
{
$this->setValue($extraFields[$i]['fieldName'], $newValue, $dataItemID);
}
}
}
Expand All @@ -908,6 +928,20 @@
*
* @return array extra fields
*/
private function _isDateDMY()

Check warning on line 931 in lib/ExtraFields.php

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

lib/ExtraFields.php#L931

_isDateDMY accesses the super-global variable $_SESSION.
{
if (isset($_SESSION['CATS']) && $_SESSION['CATS']->isLoggedIn())
{
return $_SESSION['CATS']->isDateDMY();
}

/* Careers portal / unauthenticated: fall back to site preference. */
$site = new Site($this->_siteID);
$siteRS = $site->getSiteBySiteID($this->_siteID);

return ($siteRS['dateFormatDDMMYY'] == 1);
}

public static function getValuesTypes()
{
return array (
Expand Down
7 changes: 5 additions & 2 deletions modules/calendar/Calendar.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
<?php TemplateUtility::printHeader('Calendar', array('modules/calendar/Calendar.css', 'js/highlightrows.js', 'modules/calendar/Calendar.js', 'modules/calendar/CalendarUI.js', 'modules/calendar/validator.js')); ?>
<?php TemplateUtility::printHeaderBlock(); ?>
<?php TemplateUtility::printTabs($this->active); ?>
<script type="text/javascript">
window.CATSUserDateFormat = '<?php echo($_SESSION['CATS']->isDateDMY() ? 'DD-MM-YY' : 'MM-DD-YY'); ?>';
</script>
<div id="main">
<?php TemplateUtility::printQuickSearch(); ?>

Expand Down Expand Up @@ -84,7 +87,7 @@
<label id="dateLabel" for="date">Date:</label>
</td>
<td nowrap="nowrap" class="tdData">
<script type="text/javascript">DateInput('dateAdd', true, 'MM-DD-YY', '<?php echo($this->currentDateMDY); ?>', -1);</script>
<script type="text/javascript">DateInput('dateAdd', true, (typeof window.CATSUserDateFormat !== 'undefined' ? window.CATSUserDateFormat : 'MM-DD-YY'), '<?php echo($_SESSION['CATS']->isDateDMY() ? DateUtility::getAdjustedDate('d-m-y') : $this->currentDateMDY); ?>', -1);</script>
</td>
</tr>

Expand Down Expand Up @@ -234,7 +237,7 @@
<label id="dateLabel" for="date">Date:</label>
</td>
<td nowrap="nowrap" class="tdData">
<script type="text/javascript">DateInput('dateEdit', true, 'MM-DD-YY', '<?php echo($this->currentDateMDY); ?>', -1);</script>
<script type="text/javascript">DateInput('dateEdit', true, (typeof window.CATSUserDateFormat !== 'undefined' ? window.CATSUserDateFormat : 'MM-DD-YY'), '<?php echo($_SESSION['CATS']->isDateDMY() ? DateUtility::getAdjustedDate('d-m-y') : $this->currentDateMDY); ?>', -1);</script>
</td>
</tr>

Expand Down
14 changes: 10 additions & 4 deletions modules/calendar/CalendarUI.js
Original file line number Diff line number Diff line change
Expand Up @@ -188,8 +188,11 @@ function calendarEditEvent(entry)
dayString = '0' + dayString;
}

var dateString = monthString + '-' + dayString + '-' + yearString;
SetDateInputDate('dateEdit', 'MM-DD-YY', dateString);
var userDateFormat = (typeof window.CATSUserDateFormat !== 'undefined' ? window.CATSUserDateFormat : 'MM-DD-YY');
var dateString = (userDateFormat == 'DD-MM-YY'
? dayString + '-' + monthString + '-' + yearString
: monthString + '-' + dayString + '-' + yearString);
SetDateInputDate('dateEdit', userDateFormat, dateString);

if (entry.getData('allDay') != '1')
{
Expand Down Expand Up @@ -377,8 +380,11 @@ function addEventByDay(year, month, day, hour)
dayString = '0' + dayString;
}

var dateString = monthString + '-' + dayString + '-' + yearString;
SetDateInputDate('dateAdd', 'MM-DD-YY', dateString);
var userDateFormat = (typeof window.CATSUserDateFormat !== 'undefined' ? window.CATSUserDateFormat : 'MM-DD-YY');
var dateString = (userDateFormat == 'DD-MM-YY'
? dayString + '-' + monthString + '-' + yearString
: monthString + '-' + dayString + '-' + yearString);
SetDateInputDate('dateAdd', userDateFormat, dateString);

document.getElementById('publicEntry').checked = defaultPublic;

Expand Down
18 changes: 12 additions & 6 deletions modules/calendar/CalendarUI.php
Original file line number Diff line number Diff line change
Expand Up @@ -349,8 +349,11 @@ private function onAddEvent()

/* Bail out if we received an invalid date. */
$trimmedDate = $this->getTrimmedInput('dateAdd', $_POST);
$dateFormatFlag = $_SESSION['CATS']->isDateDMY()
? DATE_FORMAT_DDMMYY
: DATE_FORMAT_MMDDYY;
if (empty($trimmedDate) ||
!DateUtility::validate('-', $trimmedDate, DATE_FORMAT_MMDDYY))
!DateUtility::validate('-', $trimmedDate, $dateFormatFlag))
{
CommonErrors::fatal(COMMONERROR_BADFIELDS, $this, 'Invalid date.');
}
Expand Down Expand Up @@ -409,7 +412,7 @@ private function onAddEvent()
if ($allDay)
{
$date = DateUtility::convert(
'-', $trimmedDate, DATE_FORMAT_MMDDYY, DATE_FORMAT_YYYYMMDD
'-', $trimmedDate, $dateFormatFlag, DATE_FORMAT_YYYYMMDD
);

$hour = 12;
Expand Down Expand Up @@ -450,7 +453,7 @@ private function onAddEvent()
$date = sprintf(
'%s %s',
DateUtility::convert(
'-', $trimmedDate, DATE_FORMAT_MMDDYY, DATE_FORMAT_YYYYMMDD
'-', $trimmedDate, $dateFormatFlag, DATE_FORMAT_YYYYMMDD
),
date('H:i:00', $time)
);
Expand Down Expand Up @@ -554,8 +557,11 @@ private function onEditEvent()

/* Bail out if we received an invalid date. */
$trimmedDate = $this->getTrimmedInput('dateEdit', $_POST);
$dateFormatFlag = $_SESSION['CATS']->isDateDMY()
? DATE_FORMAT_DDMMYY
: DATE_FORMAT_MMDDYY;
if (empty($trimmedDate) ||
!DateUtility::validate('-', $trimmedDate, DATE_FORMAT_MMDDYY))
!DateUtility::validate('-', $trimmedDate, $dateFormatFlag))
{
CommonErrors::fatal(COMMONERROR_BADFIELDS, $this, 'Invalid date.');
}
Expand Down Expand Up @@ -599,7 +605,7 @@ private function onEditEvent()
if ($allDay)
{
$date = DateUtility::convert(
'-', $trimmedDate, DATE_FORMAT_MMDDYY, DATE_FORMAT_YYYYMMDD
'-', $trimmedDate, $dateFormatFlag, DATE_FORMAT_YYYYMMDD
);

$hour = 12;
Expand Down Expand Up @@ -640,7 +646,7 @@ private function onEditEvent()
$date = sprintf(
'%s %s',
DateUtility::convert(
'-', $trimmedDate, DATE_FORMAT_MMDDYY, DATE_FORMAT_YYYYMMDD
'-', $trimmedDate, $dateFormatFlag, DATE_FORMAT_YYYYMMDD
),
date('H:i:00', $time)
);
Expand Down
6 changes: 5 additions & 1 deletion modules/candidates/Add.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@

<?php endif; ?>

<script type="text/javascript">
window.CATSUserDateFormat = '<?php echo($_SESSION['CATS']->isDateDMY() ? 'DD-MM-YY' : 'MM-DD-YY'); ?>';
</script>

<p class="note<?php if ($this->isModal): ?>Unsized<?php endif; ?>">Basic Information</p>

<table style="font-weight:bold; border: 1px solid #000; background-color: #ffed1a; padding:5px; display:none; margin-bottom:7px;" width="100%" id="candidateAlreadyInSystemTable">
Expand Down Expand Up @@ -416,7 +420,7 @@
<label id="dateAvailableLabel" for="dateAvailable">Date Available:</label>
</td>
<td class="tdData">
<script type="text/javascript">DateInput('dateAvailable', false, 'MM-DD-YY', '', <?php echo($tabIndex++); ?>);</script>
<script type="text/javascript">DateInput('dateAvailable', false, (typeof window.CATSUserDateFormat !== 'undefined' ? window.CATSUserDateFormat : 'MM-DD-YY'), '', <?php echo($tabIndex++); ?>);</script>

<?php /* DateInput()s take up 3 tabindexes. */ ?>
<?php $tabIndex += 2; ?>
Expand Down
3 changes: 2 additions & 1 deletion modules/candidates/AddActivityChangeStatusModal.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<?php if (!$this->isFinishedMode): ?>

<script type="text/javascript">
window.CATSUserDateFormat = '<?php echo($_SESSION['CATS']->isDateDMY() ? 'DD-MM-YY' : 'MM-DD-YY'); ?>';
<?php if ($this->isJobOrdersMode): ?>
statusesArray = new Array(1);
jobOrdersArray = new Array(1);
Expand Down Expand Up @@ -154,7 +155,7 @@
</div>

<div style="margin-bottom: 4px;">
<script type="text/javascript">DateInput('dateAdd', true, 'MM-DD-YY', '', -1);</script>
<script type="text/javascript">DateInput('dateAdd', true, (typeof window.CATSUserDateFormat !== 'undefined' ? window.CATSUserDateFormat : 'MM-DD-YY'), '', -1);</script>
</div>

<div style="margin-bottom: 4px;">
Expand Down
Loading
Loading