diff --git a/pages/run.php b/pages/run.php index 499aee9..6f0e832 100644 --- a/pages/run.php +++ b/pages/run.php @@ -21,6 +21,31 @@ $strSelection = urldecode($strSelection); $strFileData = file_get_contents("{$strQueryDir}/{$strSelection}"); + // Translate occurrences of {{ Date: next monday }} into yyyy-MM-dd format: + // Can be used in string literals or default values in comments! + preg_match_all( + "/\{\{\s*?Date\:\s*?(.*)\s*?\}\}/i", + $strFileData, + $varDateReplacements); + + for ($i = 0; $i < count($varDateReplacements[0]); $i++) + { + try + { + $strMatch = $varDateReplacements[0][$i]; + $strMatchSafe = preg_quote($strMatch); + $strDateString = $varDateReplacements[1][$i]; + $strFileData = preg_replace( + "/{$strMatchSafe}/i", + date_create($strDateString)->format("Y-m-d"), + $strFileData); + } + catch (Exception $x) {} + } + + //foreach ($varReplacements as $k => $v) + // $strFileData = preg_replace("/\{\{{$k}\}\}/i", $v, $strFileData); + // Get the inputs: preg_match_all( "/declare\s+\@([A-Za-z0-9]{1,})\s+(.+)\s+=\s+\?;(\s+-- Default\:\s(.*))?/i", @@ -128,7 +153,7 @@