]> git.mxchange.org Git - mailer.git/blobdiff - inc/mysql-manager.php
Korn/csh support improved, if() block rewritten:
[mailer.git] / inc / mysql-manager.php
index 885b670ce1f68ded7d59f5e24be56f7ee4a0ee77..f6bc8baaeca843f8454a8a61ddd702ffc50030a0 100644 (file)
@@ -407,7 +407,7 @@ function isMember () {
                                $ret = true;
                        } else {
                                // Maybe got locked etc.
-                               //* DEBUG */ logDebugMessage(__FUNCTION__, __LINE__, 'status=' . getUserData('status') . ',' . $valPass . '(' . strlen($valPass) . ')/' . getSession('u_hash') . '(' . strlen(getSession('u_hash')) . ')/' . getUserData('password') . '(' . strlen(getUserData('password')) . ')');
+                               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'status=' . getUserData('status') . ',' . $valPass . '(' . strlen($valPass) . ')/' . getSession('u_hash') . '(' . strlen(getSession('u_hash')) . ')/' . getUserData('password') . '(' . strlen(getUserData('password')) . ')');
                                destroyMemberSession();
                        }
                } else {
@@ -693,10 +693,10 @@ function isMenuActionValid ($mode, $action, $what, $updateEntry=false) {
        // Should we look for affected rows (only update) or found rows?
        if ($updateEntry === true) {
                // Check updated/affected rows
-               $ret = (SQL_AFFECTEDROWS() == 1);
+               $ret = (!SQL_HASZEROAFFECTED());
        } else {
                // Check found rows
-               $ret = (SQL_NUMROWS($result) == 1);
+               $ret = (!SQL_HASZERONUMS($result));
        }
 
        // Free memory
@@ -822,7 +822,7 @@ function getPaymentTitlePrice ($pid, $full=false) {
                if ($full === false) {
                        $ret = $data['mail_title'];
                } else {
-                       $ret = $data['mail_title'] . ' / ' . translateComma($data['price']) . ' {?POINTS?}';
+                       $ret = $data['mail_title'] . ' / {%pipe,translateComma=' . $data['price'] . '%} {?POINTS?}';
                }
        }
 
@@ -995,6 +995,9 @@ function getReferalLevelPercents ($level) {
  *               for default value will cause no referal will get points ever!!!)
  */
 function addPointsThroughReferalSystem ($subject, $userid, $points, $sendNotify = false, $refid = '0', $add_mode = 'ref') {
+       // By default nothing has been added
+       $added = false;
+
        //* DEBUG: */ debugOutput('----------------------- <font color="#00aa00">' . __FUNCTION__ . ' - ENTRY</font> ------------------------<ul><li>');
        // Convert mode to lower-case
        $add_mode = strtolower($add_mode);
@@ -1057,13 +1060,17 @@ function addPointsThroughReferalSystem ($subject, $userid, $points, $sendNotify
                        //* DEBUG: */ debugOutput(__FUNCTION__ . '(<font color="#0000aa">' . __LINE__ . '</font>):data='.$data.',ref_points='.$ref_points.',userid='.$userid.',depth='.$GLOBALS['ref_level'].',mode='.$add_mode.' - UPDATE! ('.SQL_AFFECTEDROWS().')');
 
                        // No entry updated?
-                       if (SQL_AFFECTEDROWS() < 1) {
+                       if (SQL_HASZEROAFFECTED()) {
                                // First ref in this level! :-)
                                SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_points` (`userid`,`ref_depth`,`%s`) VALUES (%s,%s,%s)",
                                        array($data, bigintval($userid), bigintval($GLOBALS['ref_level']), $ref_points), __FUNCTION__, __LINE__);
                                //* DEBUG: */ debugOutput(__FUNCTION__ . '(<font color="#0000aa">' . __LINE__ . '</font>):data='.$data.',ref_points='.$ref_points.',userid='.$userid.',depth='.$GLOBALS['ref_level'].',mode='.$add_mode.' - INSERTED! ('.SQL_AFFECTEDROWS().')');
                        } // END - if
 
+                       // Check affected rows
+                       $added = SQL_AFFECTEDROWS();
+                       //* DEBUG: */ debugOutput(__FUNCTION__ . '(<font color="#0000aa">' . __LINE__ . '</font>):added='.intval($added));
+
                        // Prepare data for the filter
                        $filterData = array(
                                'subject'  => $subject,
@@ -1074,10 +1081,15 @@ function addPointsThroughReferalSystem ($subject, $userid, $points, $sendNotify
                                'locked'   => $locked,
                                'mode'     => 'add',
                                'sub_mode' => $add_mode,
+                               'added'    => $added
                        );
 
                        // Filter it now
-                       runFilterChain('add_points', $filterData);
+                       $filterData = runFilterChain('add_points', $filterData);
+
+                       // Extract $added
+                       $added = $filterData['added'];
+                       //* DEBUG: */ debugOutput(__FUNCTION__ . '(<font color="#0000aa">' . __LINE__ . '</font>):added='.intval($added));
 
                        // Points updated, maybe I shall send him an email?
                        if (($sendNotify === true) && (isValidUserId(getUserData('refid'))) && ($locked === false)) {
@@ -1115,12 +1127,13 @@ function addPointsThroughReferalSystem ($subject, $userid, $points, $sendNotify
                        if ((isValidUserId(getUserData('refid'))) && ($points > 0) && (getUserData('refid') != $userid) && ($add_mode == 'ref')) {
                                // Then let's credit him here...
                                //* DEBUG: */ debugOutput(__FUNCTION__ . '(<font color="#0000aa">' . __LINE__ . '</font>):userid='.$userid.',ref='.getUserData('refid').',points='.$points.' - ADVANCE!');
-                               addPointsThroughReferalSystem(sprintf("%s_ref:%s", $subject, $GLOBALS['ref_level']), getUserData('refid'), $points, $sendNotify, getUserData('refid'));
+                               $added = ($added && addPointsThroughReferalSystem(sprintf("%s_ref:%s", $subject, $GLOBALS['ref_level']), getUserData('refid'), $points, $sendNotify, getUserData('refid')));
                        } // END - if
                } // END - if
        } // END - if
 
-       //* DEBUG: */ debugOutput('</li></ul>----------------------- <font color="#aa0000">'.__FUNCTION__.' - EXIT</font> ------------------------<br />');
+       //* DEBUG: */ debugOutput('</li></ul>----------------------- <font color="#aa0000">'.__FUNCTION__.': added=' . intval($added) . ' - EXIT</font> ------------------------<br />');
+       return $added;
 }
 
 // Updates the referal counter
@@ -1135,10 +1148,13 @@ function updateReferalCounter ($userid) {
 
        // When no entry was updated then we have to create it here
        //* DEBUG: */ debugOutput(__FUNCTION__ . '(<font color="#0000aa">' . __LINE__ . '</font>):updated=' . SQL_AFFECTEDROWS());
-       if (SQL_AFFECTEDROWS() < 1) {
+       if (SQL_HASZEROAFFECTED()) {
                // First count!
                SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_refsystem` (`userid`, `level`, `counter`) VALUES (%s,%s,1)",
-                       array(bigintval($userid), $GLOBALS['cache_array']['ref_level'][$userid]), __FUNCTION__, __LINE__);
+                       array(
+                               bigintval($userid),
+                               $GLOBALS['cache_array']['ref_level'][$userid]
+                       ), __FUNCTION__, __LINE__);
                //* DEBUG: */ debugOutput(__FUNCTION__ . '(<font color="#0000aa">' . __LINE__ . '</font>):userid='.$userid);
        } // END - if
 
@@ -1598,11 +1614,15 @@ function subtractPoints ($subject, $userid, $points) {
                'subject' => $subject,
                'userid'  => $userid,
                'points'  => $points,
-               'mode'    => 'sub'
+               'mode'    => 'sub',
+               'added'   => (!SQL_HASZEROAFFECTED())
        );
 
        // Insert booking record
-       runFilterChain('sub_points', $filterData);
+       $filterData = runFilterChain('sub_points', $filterData);
+
+       // Return result
+       return $filterData['added'];
 }
 
 // "Getter" for total available receivers