Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
<?php
// Before:
function getStartDate() {
return preg_match("/^\d\d\d\d-\d\d-\d\d$/", $_GET['dStartDate']) ? $_GET['dStartDate'] : date("Y-m-d", time() - 60 * 60 * 24 * 7);
}
function getEndDate() {
return preg_match("/^\d\d\d\d-\d\d-\d\d$/", $_GET['dEndDate']) ? $_GET['dEndDate'] : date("Y-m-d");
}
// After:
function getStartDate() {
return normalizedDate($_GET['dStartDate'], time() - 60 * 60 * 24 * 7);
}
function getEndDate() {
return normalizedDate($_GET['dEndDate'], time());
}
function normalizedDate($dateString, $defaultTimestamp) {
return isProperlyFormattedDate($dateString) ? $dateString : formatDate($defaultTimestamp);
}
function isProperlyFormattedDate($dateString) {
return preg_match("/^\d\d\d\d-\d\d-\d\d$/", $dateString);
}
function formatDate($timestamp) {
return date("Y-m-d", $timestamp);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment