// Private function to replace the code
function replaceExpressionCode ($data, $replacer) {
// Replace the code
- // @TODO is escapeQuotes() enougth for strings with single/double quotes?
+ // @TODO is escapeQuotes() enough for strings with single/double quotes?
return str_replace($data['matches'][0][$data['key']], $replacer, escapeQuotes($data['code']));
}
// And cache it
$GLOBALS['expression_function_available'][$entry] = FALSE;
}
- } elseif ($GLOBALS['expression_function_available'][$entry] == FALSE) {
- // Debug message
+ } elseif (($GLOBALS['expression_function_available'][$entry] == FALSE) && (isDebugModeEnabled())) {
+ // Debug message in debug mode
logDebugMessage(__FUNCTION__, __LINE__, 'Expression function for entry ' . $entry . ' requested but does not exist.');
}
// Getter for above expression function
function getExpressionFunction ($data) {
// Get the enty we need
- $entry = $data['matches'][4][$data['key']];
+ $entry = trim($data['matches'][4][$data['key']]);
// Return it
return $GLOBALS['expression_function_name'][$entry];
// Expression call-back for template functions
function doExpressionTemplate ($data) {
// Construct call-back function name
- $callbackFunction = 'doTemplate' . $data['callback'];
+ $callbackFunction = 'doTemplate' . ucfirst($data['callback']);
// Init replacer
$replacer = '<!-- [' . __FUNCTION__ . ':' . __LINE__.'] Call-back function ' . $callbackFunction . ' does not exist. //-->';
if ($value == 'formmethodpost') {
// Use it
$data['__form_method'] = 'post';
- } elseif (($value == 'formmethodget') && (!isSpider()) && (!isSessionValid())) {
+ } elseif (($value == 'formmethodpost') && (!isSpider()) && (!isSessionValid())) {
// Then expand 'value' with session id
if (strpos($data['value'], '?') !== FALSE) {
// '?' is set
$data['__form_id'] = substr($value, 6);
} elseif (substr($value, 0, 6) == 'server') {
// {%server,foo%} found
- $data['__server'] = '{%server=' . substr($value, 6) . '%}';
+ $data['__server'] = '{%server,' . substr($value, 6) . '%}';
}
} // END - foreach
// Expression call-back to handle jquery inclusion
function doExpressionJquery ($data) {
// Default is compressed
- $jquery = 'jquery.js';
+ $jquery = 'jquery';
+ $data['output_mode'] = '';
+
+ // Is there JS-mode?
+ if ($data['callback'] == 'js') {
+ // Switch to it
+ $data['output_mode'] = ',js';
+ } // END - if
+
+ // Is there a value?
+ if ($data['callback'] == 'js') {
+ // Then load special library
+ $jquery .= '-' . $data['value'];
+ } // END - if
// Is debug mode enabled?
if ((isGetRequestElementSet('jquery')) || (isSessionVariableSet('jquery'))) {
// Then use uncompressed
- $jquery = 'jquery-uncompressed.js';
+ $jquery .= '.uncompressed';
// Remember it in session
setSession('jquery', '1');
} // END - if
// Add {%url%} around it
- $replacer = '{%url=js/' . $jquery . '?dummy=1%}';
+ $replacer = '{%url' . $data['output_mode'] . '=js/' . $jquery . '.js?dummy=1%}';
// Replace the code
$code = replaceExpressionCode($data, $replacer);