X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Flibs%2Fmediadata_functions.php;h=617d69d38ccdedfa89acc8553bdc775bcb60b16f;hp=db14350b4d8cd085bedb9a358eb5921cdfe6c8b2;hb=2df9f7a53f8b1dd5164f87824a324ccb3b6634cb;hpb=c85ddc06cc16f2cd38ddd7d4c142a3f578bbab69 diff --git a/inc/libs/mediadata_functions.php b/inc/libs/mediadata_functions.php index db14350b4d..617d69d38c 100644 --- a/inc/libs/mediadata_functions.php +++ b/inc/libs/mediadata_functions.php @@ -14,12 +14,10 @@ * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * * $Author:: $ * - * Needs to be in all Files and every File needs "svn propset * - * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009, 2010 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2012 by Mailer Developer Team * + * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -40,39 +38,64 @@ // Some security stuff... if (!defined('__SECURITY')) { die(); -} +} // END - if // Update an entry function updateMediadataEntry ($keys_array, $mode, $value) { + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'keys_array[]=' . gettype($keys_array) . ',mode=' . $mode . ',value=' . $value . ' - ENTERED!'); + // Default is nothing added/updated + $added = false; + + // Are there entries? if (is_array($keys_array) && ($value > 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__); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key=' . $key . ',SQL_NUMROWS()=' . SQL_NUMROWS($result_media)); 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')", - array($key, $value), __FUNCTION__, __LINE__); + 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", - array($value, $key), __FUNCTION__, __LINE__); + 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", - array($value, $key), __FUNCTION__, __LINE__); + 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__); } } - } - } + + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'added=' . intval($added)); + $added = (!SQL_HASZEROAFFECTED()); + //* DEBUG: */ logDebugMessage(__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 + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'keys_array[]=' . gettype($keys_array) . ',mode=' . $mode . ',value=' . $value . ',added=' . intval($added) . ' - EXIT!'); + return $added; } // Getter for entry @@ -81,8 +104,10 @@ function getMediadataEntry ($key) { $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__); + + // Is there one? if (SQL_NUMROWS($result) == 1) { // Load data list($value) = SQL_FETCHROW($result); @@ -92,11 +117,5 @@ function getMediadataEntry ($key) { return $value; } -// Filter for updating media data -function FILTER_UPDATE_MEDIADATA_ENTRY ($data) { - // Execute the filter function - updateMediadataEntry(array('total_points'), $data['mode'], $data['points']); -} - -// +// [EOF] ?>