X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=inc%2Flibs%2Fmediadata_functions.php;h=65ad9e015899ae15a28e616dc483852829e0c262;hb=ac3ce5eb46bd9f7e5f6f41b930f7ebdc17089ed2;hp=fc06a8e4a0c9609bf059198d430932a66a6d4774;hpb=6978d0347a3ef94c4ceeca92f588f9ff9dd2fc7f;p=mailer.git
diff --git a/inc/libs/mediadata_functions.php b/inc/libs/mediadata_functions.php
index fc06a8e4a0..65ad9e0158 100644
--- a/inc/libs/mediadata_functions.php
+++ b/inc/libs/mediadata_functions.php
@@ -14,8 +14,6 @@
* $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 *
@@ -44,35 +42,64 @@ if (!defined('__SECURITY')) {
// Update an entry
function updateMediadataEntry ($keys_array, $mode, $value) {
+ // Default is nothing added/updated
+ $added = null;
+
+ // Do we have 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__);
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__);
+ 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__);
+ 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__);
+ 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;
}
// Getter for entry
@@ -95,7 +122,10 @@ function getMediadataEntry ($key) {
// Filter for updating media data
function FILTER_UPDATE_MEDIADATA_ENTRY ($data) {
// Execute the filter function
- updateMediadataEntry(array('total_points'), $data['mode'], $data['points']);
+ $data['added'] = ($data['added'] && updateMediadataEntry(array('total_points'), $data['mode'], $data['points']));
+
+ // Return data
+ return $data;
}
//