`html_msg`
) VALUES (
'%s',
- %s',
+ '%s',
'%s',
%s,
%s,
} // END - if
// Debug message
- //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',columnName[' . gettype($columnName) . ']=' . $columnName . ',filterFunctions=' . $filterFunctions[$key] . ',extraValues=' . intval(isset($extraValues[$key])) . ',extraValuesName=' . intval(isset($extraValues[$columnName . '_list'])) . '<br />');
+ //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',columnName[' . gettype($columnName) . ']=' . $columnName . ',filterFunctions=' . $filterFunctions[$key] . ',extraValues=' . intval(isset($extraValues[$key])) . ',extraValuesName=' . intval(isset($extraValues[$columnName . '_list'])));
// Copy entry securely to the final arrays
$sqlColumns[$key] = SQL_ESCAPE($columnName);
$sqlValues[$key] = SQL_ESCAPE(postRequestElement($columnName));
- // Send data through the filter function if found
- if ((isset($filterFunctions[$key])) && (isset($extraValues[$key . '_list']))) {
- // Debug mode enabled?
- if (isDebugModeEnabled()) {
- // Then log it
- //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'columnName=' . $columnName . ',sqlValues[' . $key . '][' . gettype($sqlValues[$key]) . ']=' . $sqlValues[$key] . ' - BEFORE!');
- } // END - if
-
- // Filter function set, so run it
- $sqlValues[$key] = call_user_func_array($filterFunctions[$key], merge_array(array($columnName), $extraValues[$key . '_list']));
-
- // Debug mode enabled?
- if (isDebugModeEnabled()) {
- // Then log it
- //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'columnName=' . $columnName . ',sqlValues[' . $key . '][' . gettype($sqlValues[$key]) . ']=' . $sqlValues[$key] . ' - AFTER!');
- } // END - if
- } elseif ((isset($filterFunctions[$key])) && (!empty($filterFunctions[$key])) && (!empty($sqlValues[$key]))) {
- // Debug mode enabled?
- if (isDebugModeEnabled()) {
- // Then log it
- //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'columnName=' . $columnName . ',sqlValues[' . $key . '][' . gettype($sqlValues[$key]) . ']=' . $sqlValues[$key] . ' - BEFORE!');
- } // END - if
-
- // Run through an extra filter
- $sqlValues[$key] = handleExtraValues($filterFunctions[$key], $sqlValues[$key], NULL);
-
- // Debug mode enabled?
- if (isDebugModeEnabled()) {
- // Then log it
- //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'columnName=' . $columnName . ',sqlValues[' . $key . '][' . gettype($sqlValues[$key]) . ']=' . $sqlValues[$key] . ' - AFTER!');
- } // END - if
-
- }
+ // Try to handle call-back functions and/or extra values on the list
+ $sqlValues[$key] = doHandleExtraValues($filterFunctions, $extraValues, $key . '_list', $sqlValues[$key], $userIdColumn, key(search_array($columns, 'column', $key)));
// Is the value not a number?
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'sqlValues[' . $key . '][' . gettype($sqlValues[$key]) . ']=' . $sqlValues[$key]);
// Run the SQL query
SQL_QUERY($sql, __FUNCTION__, __LINE__);
- // Add id
+ // Add id number
setPostRequestElement('id', SQL_INSERTID());
// Prepare filter data array
// Edit rows by given id numbers
function doGenericEditEntriesConfirm ($tableName, $columns = array(), $filterFunctions = array(), $extraValues = array(), $timeColumns = array(), $editNow = array(FALSE), $idColumn = array('id'), $userIdColumn = array('userid'), $rawUserId = array('userid'), $cacheFiles = array(), $subject = '') {
+ // Is there "time columns"?
+ if (count($timeColumns) > 0) {
+ // Then "walk" through all entries
+ foreach ($timeColumns as $column) {
+ // Convert all (possible) selections
+ convertSelectionsToEpocheTimeInPostData($column . '_ye');
+ } // END - foreach
+ } // END - if
+
// Change them all
$affected = '0';
foreach (postRequestElement($idColumn[0]) as $id => $sel) {
// "Walk" through all entries
foreach (postRequestArray() as $key => $entries) {
// Skip raw userid which is always invalid
- if ($key == $rawUserId[0]) {
+ if (($key == $rawUserId[0]) || ($key == 'do_edit')) {
// Continue with next field
//* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',idColumn[0]=' . $idColumn[0] . ',rawUserId=' . $rawUserId[0]);
continue;
} // END - if
// Debug message
- //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',idColumn[0]=' . $idColumn[0] . ',entries=<pre>'.print_r($entries,TRUE).'</pre>');
+ /* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',id=' . $id . ',idColumn[0]=' . $idColumn[0] . ',entries=<pre>'.print_r($entries,TRUE).'</pre>');
// Is entries an array?
if (($key != $idColumn[0]) && (is_array($entries)) && (isset($entries[$id]))) {
- //die($key.'/'.$id.'=<pre>'.print_r($columns,TRUE).'</pre><pre>'.print_r($filterFunctions,TRUE).'</pre>');
// Search for the right array index
$search = key(search_array($columns, 'column', $key));
// Add this entry to content
$content[$key] = $entries[$id];
- // Send data through the filter function if found
- if ($key == $userIdColumn[0]) {
- // Is the userid, we have to process it with convertZeroToNull()
- $entries[$id] = convertZeroToNull($entries[$id]);
- } elseif ((isset($filterFunctions[$key])) && (isset($extraValues[$key]))) {
- // Filter function + extra value set
- $entries[$id] = handleExtraValues($filterFunctions[$key], $entries[$id], $extraValues[$key]);
- } elseif (isset($filterFunctions[$search])) {
- // Debug mode enabled?
- if (isDebugModeEnabled()) {
- // Then log it
- //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'search=' . $search . ',filterFunctions=' . $filterFunctions[$search] . ',key=' . $key . ',id=' . $id . ',entries[' . gettype($entries[$id]) . ']=' . $entries[$id] . ' - BEFORE!');
- } // END - if
-
- // Handle extra values
- $entries[$id] = handleExtraValues($filterFunctions[$search], $entries[$id], NULL);
-
- // Debug mode enabled?
- if (isDebugModeEnabled()) {
- // Then log it
- //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'search=' . $search . ',filterFunctions=' . $filterFunctions[$search] . ',key=' . $key . ',id=' . $id . ',entries[' . gettype($entries[$id]) . ']=' . $entries[$id] . ' - AFTER!');
- } // END - if
-
- // Make sure entries[id] is not bool, then something went wrong
- assert(!is_bool($entries[$id]));
- }
+ // Debug message
+ //* BUG: */ die($key.'/'.$id.'/'.$search.'=<pre>'.print_r($columns,TRUE).'</pre><pre>'.print_r($filterFunctions,TRUE).'</pre>');
- // Is the value NULL?
- if ($entries[$id] == 'NULL') {
- // Add it directly
- $sql .= sprintf(' `%s`=NULL,',
- SQL_ESCAPE($key)
- );
- } else {
- // Else add the value covered
- $sql .= sprintf(" `%s`='%s',",
- SQL_ESCAPE($key),
- SQL_ESCAPE($entries[$id])
- );
- }
+ // Handle possible call-back functions and/or extra values
+ $entries[$id] = doHandleExtraValues($filterFunctions, $extraValues, $key, $entries[$id], $userIdColumn, $search);
+
+ // Add key/value pair to SQL string
+ $sql .= addKeyValueSql($key, $entries[$id]);
} elseif (($key != $idColumn[0]) && (!is_array($entries))) {
- // Add normal entries as well!
- $content[$key] = $entries;
+ // Search for it
+ $search = key(search_array($columns, 'column', $key));
+ //* BUG: */ die($key.'/<pre>'.print_r($search, TRUE).'</pre>=<pre>'.print_r($columns, TRUE).'</pre>');
+
+ // Debug message
+ /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',entries[' . gettype($entries) . ']=' . $entries . ',search=' . $search . ' - BEFORE!');
+
+ // Add normal entries as well
+ $content[$key] = $entries;
+
+ // Handle possible call-back functions and/or extra values
+ $entries = doHandleExtraValues($filterFunctions, $extraValues, $key, $entries, $userIdColumn, $search);
+
+ // Debug message
+ /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',entries[' . gettype($entries) . ']=' . $entries . ',search=' . $search . ' - AFTER!');
+
+ // Add key/value pair to SQL string
+ $sql .= addKeyValueSql($key, $entries);
}
} // END - foreach
$sql .= " LIMIT 1";
// Run this query
+ //* BUG: */ die($sql.'<pre>'.print_r(postRequestArray(), TRUE).'</pre>');
SQL_QUERY($sql, __FUNCTION__, __LINE__);
// Add affected rows
} // END - if
// Delete them all
- //* BUG: */ die($sql.'<br /><pre>'.print_r($tableName,TRUE).'</pre><pre>'.print_r($columns,TRUE).'</pre><pre>'.print_r($filterFunctions,TRUE).'</pre><pre>'.print_r($extraValues,TRUE).'</pre><pre>'.print_r($deleteNow,TRUE).'</pre><pre>'.print_r($idColumn,TRUE).'</pre>');
+ //* BUG: */ die($sql.'<pre>'.print_r($tableName,TRUE).'</pre><pre>'.print_r($columns,TRUE).'</pre><pre>'.print_r($filterFunctions,TRUE).'</pre><pre>'.print_r($extraValues,TRUE).'</pre><pre>'.print_r($deleteNow,TRUE).'</pre><pre>'.print_r($idColumn,TRUE).'</pre>');
$idList = '';
foreach (postRequestElement($idColumn[0]) as $id => $sel) {
// Is id zero?
$GLOBALS[$prefix . '_list_builder_id_value'] = bigintval($value);
} // END - if
- // Is there a call-back function and extra-value pair?
- if ((isset($filterFunctions[$idx])) && (isset($extraValues[$idx]))) {
- // Handle the call in external function
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',fucntion=' . $filterFunctions[$idx] . ',value=' . $value);
- $content[$key] = handleExtraValues(
- $filterFunctions[$idx],
- $value,
- $extraValues[$idx]
- );
- } elseif ((isset($columns[$idx]['name'])) && (isset($filterFunctions[$columns[$idx]['name']])) && (isset($extraValues[$columns[$idx]['name']]))) {
- // Handle the call in external function
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',fucntion=' . $filterFunctions[$columns[$idx]['name']] . ',value=' . $value);
- $content[$key] = handleExtraValues(
- $filterFunctions[$columns[$idx]['name']],
- $value,
- $extraValues[$columns[$idx]['name']]
- );
- }
+ // Try to handle call-back functions and/or extra values
+ $content[$key] = doHandleExtraValues($filterFunctions, $extraValues, $idx, $content[$key], $userIdColumn, $idx);
} // END - foreach
// Then list it
return $listed;
}
+// Adds key/value pair to a working SQL string together
+function addKeyValueSql ($key, $value) {
+ // Init SQL
+ $sql = '';
+
+ // Is it NULL?
+ if (($value == 'NULL') || (is_null($value))) {
+ // Add key with NULL
+ $sql .= sprintf(' `%s`=NULL,',
+ SQL_ESCAPE($key)
+ );
+ } elseif ((is_double($value)) || (is_float($value)) || (is_int($value))) {
+ // Is a number, so addd it directly
+ $sql .= sprintf(" `%s`=%s,",
+ SQL_ESCAPE($key),
+ $value
+ );
+ } else {
+ // Else add the value escape'd
+ $sql .= sprintf(" `%s`='%s',",
+ SQL_ESCAPE($key),
+ SQL_ESCAPE($value)
+ );
+ }
+
+ // Return SQL string
+ return $sql;
+}
+
// [EOF]
?>