X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Flibs%2Fmediadata_functions.php;h=65ad9e015899ae15a28e616dc483852829e0c262;hp=dfa0e4f5fbb3131c01b2f7348e34848fa7396290;hb=e8ca54fe91872ab95a6ffdc4f1268bf18889021d;hpb=7b0f17cd637e388049d2167811e4332cec1e979b diff --git a/inc/libs/mediadata_functions.php b/inc/libs/mediadata_functions.php index dfa0e4f5fb..65ad9e0158 100644 --- a/inc/libs/mediadata_functions.php +++ b/inc/libs/mediadata_functions.php @@ -1,7 +1,7 @@ 0)) { // Is an array so we can run it through foreach ($keys_array as $key) { // First check if it does exist - $result_media = SQL_QUERY_ESC("SELECT media_key FROM `{!_MYSQL_PREFIX!}_mediadata` -WHERE media_key = '%s' LIMIT 1", array($key), __FUNCTION__, __LINE__); + $result_media = SQL_QUERY_ESC("SELECT + `media_key` +FROM + `{?_MYSQL_PREFIX?}_mediadata` +WHERE + `media_key` = '%s' +LIMIT 1", array($key), __FUNCTION__, __LINE__); if (SQL_NUMROWS($result_media) == 0) { // Not found so we create it (mode will be ignored here!) - SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_mediadata` (media_key, media_value) VALUES ('%s', '%s')", + SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_mediadata` (`media_key`, `media_value`) VALUES ('%s', '%s')", array($key, $value), __FUNCTION__, __LINE__); } else { // Update entry switch ($mode) { case 'add': $mode = '+'; break; case 'sub': $mode = '-'; break; - } + } // END - switch if ($mode == 'init') { // Initialize entry - SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_mediadata` SET media_value=%s WHERE media_key='%s' LIMIT 1", + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_mediadata` SET `media_value`=%s WHERE `media_key`='%s' LIMIT 1", array($value, $key), __FUNCTION__, __LINE__); } else { // Update entry - SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_mediadata` SET media_value=media_value".$mode."%s WHERE media_key='%s' LIMIT 1", + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_mediadata` SET `media_value`=`media_value`".$mode."%s WHERE `media_key`='%s' LIMIT 1", array($value, $key), __FUNCTION__, __LINE__); } } - } - } + + // Check affected rows + if (is_null($added)) { + //* DEBUG: */ debugOutput(__FUNCTION__ . '(' . __LINE__ . '):added='.intval($added)); + $added = (!SQL_HASZEROAFFECTED()); + //* DEBUG: */ debugOutput(__FUNCTION__ . '(' . __LINE__ . '):added='.intval($added)); + } else { + //* DEBUG: */ debugOutput(__FUNCTION__ . '(' . __LINE__ . '):added='.intval($added)); + $added = ($added && (!SQL_HASZEROAFFECTED())); + //* DEBUG: */ debugOutput(__FUNCTION__ . '(' . __LINE__ . '):added='.intval($added)); + } + } // END - foreach + } // END - if + + // Zero entries are always added + if ($value == 0) { + // Is zero value, so we need to set $added here to avoid wrong false result + $added = true; + } // END - if + + // Return result + return $added; } -// -function MEDIA_GET_ENTRY ($key) { +// Getter for entry +function getMediadataEntry ($key) { // Return nothing by default $value = ''; // Check for entry - $result = SQL_QUERY_ESC("SELECT media_value FROM `{!_MYSQL_PREFIX!}_mediadata` WHERE media_key='%s' LIMIT 1", + $result = SQL_QUERY_ESC("SELECT media_value FROM `{?_MYSQL_PREFIX?}_mediadata` WHERE media_key='%s' LIMIT 1", array($key), __FUNCTION__, __LINE__); if (SQL_NUMROWS($result) == 1) { // Load data list($value) = SQL_FETCHROW($result); - } + } // END - if // Return data return $value; } +// Filter for updating media data +function FILTER_UPDATE_MEDIADATA_ENTRY ($data) { + // Execute the filter function + $data['added'] = ($data['added'] && updateMediadataEntry(array('total_points'), $data['mode'], $data['points'])); + + // Return data + return $data; +} + // ?>