Fix for 'Problem with number found. ret=0, num='
[mailer.git] / inc / modules / member / what-order.php
index 1ba7228f043febb1a9cee3dc5370a8defca543bc..9a6e74c712be87f998a5e4d66b63182a0b7e5dda 100644 (file)
@@ -18,6 +18,7 @@
  * 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                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
@@ -62,14 +63,14 @@ $links = countSumTotalData(getMemberId(), 'user_links', 'id', 'userid', true);
 
 // Do we have ext-holiday installed?
 // @TODO Rewrite this to a filter
-$HOLIDAY = 'userid';
+$extraColumn = 'userid';
 if ((isExtensionActive('holiday')) && (getExtensionVersion('holiday') >= '0.1.3')) {
        // Fetch also holiday activation data
-       $HOLIDAY = 'holiday_active';
+       $extraColumn = 'holiday_active';
 } // END - if
 
 $result_mmails = SQL_QUERY_ESC("SELECT
-       `userid`, `receive_mails`, `mail_orders`, `".$HOLIDAY."`
+       `userid`, `receive_mails`, `mail_orders`, `".$extraColumn."`
 FROM
        `{?_MYSQL_PREFIX?}_user_data`
 WHERE
@@ -197,7 +198,13 @@ LIMIT 1",
                                // Remove any HTML code
                                setPostRequestParameter('text', str_replace('<', '{OPEN_HTML}', str_replace('>', '{CLOSE_HTML}', postRequestParameter('text'))));
                        }
-               }
+               } // END - if
+
+               // Is mail type set?
+               if ((!isPostRequestParameterSet('mail_type')) || (postRequestParameter('mail_type') < 1)) {
+                       // Not correctly set
+                       $URL = 'modules.php?module=login&amp;what=order&amp;code=' . getCode('NO_MAIL_TYPE');
+               } // END - if
        } elseif (!isAdmin()) {
                // He has already sent a mail within a specific time
                $URL = 'modules.php?module=login&amp;what=order&amp;code=' . getCode('URL_TLOCK') . '&amp;id=' . $id;
@@ -207,7 +214,7 @@ LIMIT 1",
        if (empty($URL)) {
                // Check if category and number of receivers is okay
                $add = '';
-               if ((getConfig('order_multi_page') == 'Y') && (isPostRequestParameterSet('zip'))) {
+               if ((getConfig('order_multi_page') == 'Y') && (isPostRequestParameterSet('zip')) && (postRequestParameter('zip') != '')) {
                        // Choose recipients by ZIP code
                        $add = " AND d.zip LIKE '".bigintval(postRequestParameter('zip'))."{PER}'";
                } // END - if
@@ -222,7 +229,11 @@ LEFT JOIN
 ON
        c.userid=d.userid
 WHERE
-       c.cat_id=%s AND c.userid != '%s' AND d.`status`='CONFIRMED' AND d.receive_mails > 0".$add."
+       c.cat_id=%s AND
+       c.userid != '%s' AND
+       d.`status`='CONFIRMED' AND
+       d.receive_mails > 0
+       ".$add."
 ORDER BY
        d.%s %s",
                        array(
@@ -234,17 +245,10 @@ ORDER BY
 
                // Do we enougth receivers left?
                if (SQL_NUMROWS($result) >= postRequestParameter('receiver')) {
-                       // Check for holiday extensions
-                       $HOLIDAY = false;
-                       if (getExtensionVersion('holiday') >= '0.1.3') {
-                               // Include checking for users in holiday
-                               $HOLIDAY = true;
-                       } // END - if
-
                        // Load receivers from database
                        $TEST = array(); $cnt = '0';
                        while ($holidayContent = SQL_FETCHARRAY($result)) {
-                               if ($HOLIDAY) {
+                               if (getExtensionVersion('holiday') >= '0.1.3') {
                                        // Check for his holiday status
                                        $result_holiday = SQL_QUERY_ESC("SELECT
        `id`
@@ -284,7 +288,7 @@ LIMIT 1",
                        if ($content['target_send'] > postRequestParameter('receiver')) $content['target_send'] = bigintval(postRequestParameter('receiver'));
 
                        // Calculate used points
-                       $USED = $content['target_send'] * getPaymentPoints(bigintval(postRequestParameter('type')));
+                       $USED = $content['target_send'] * getPaymentPoints(bigintval(postRequestParameter('mail_type')));
 
                        // Fix empty zip code
                        if (!isPostRequestParameterSet('zip')) setPostRequestParameter('zip', 0);
@@ -298,33 +302,33 @@ LIMIT 1",
                                        if (isExtensionActive('html_mail')) {
                                                // HTML extension is active
                                                SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_pool` (`sender`, `subject`, `text`, `receivers`, `payment_id`, `data_type`, `timestamp`, `url`, `cat_id`, `target_send`, `zip`, `html_msg`)
- VALUES ('%s','%s','%s','%s','%s','TEMP',UNIX_TIMESTAMP(),'%s','%s','%s','%s','%s')",
+VALUES (%s,'%s','%s','%s','%s','TEMP',UNIX_TIMESTAMP(),'%s',%s,%s,%s,'%s')",
                                                        array(
                                                                getMemberId(),
                                                                postRequestParameter('subject'),
                                                                postRequestParameter('text'),
                                                                $receiver,
-                                                               bigintval(postRequestParameter('type')),
+                                                               bigintval(postRequestParameter('mail_type')),
                                                                postRequestParameter('url'),
                                                                bigintval(postRequestParameter('cat')),
                                                                $content['target_send'],
-                                                               bigintval(postRequestParameter('zip')),
+                                                               bigintval(postRequestParameter('zip'), true false),
                                                                postRequestParameter('html')
                                                        ), __FILE__, __LINE__);
                                        } else {
                                                // No HTML extension is active
                                                SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_pool` (`sender`, `subject`, `text`, `receivers`, `payment_id`, `data_type`, `timestamp`, `url`, `cat_id`, `target_send`, `zip`)
- VALUES ('%s','%s','%s','%s','%s','TEMP',UNIX_TIMESTAMP(),'%s','%s','%s','%s')",
+VALUES (%s,'%s','%s','%s','%s','TEMP',UNIX_TIMESTAMP(),'%s',%s,%s,%s)",
                                                        array(
                                                                getMemberId(),
                                                                postRequestParameter('subject'),
                                                                postRequestParameter('text'),
                                                                $receiver,
-                                                               bigintval(postRequestParameter('type')),
+                                                               bigintval(postRequestParameter('mail_type')),
                                                                postRequestParameter('url'),
                                                                bigintval(postRequestParameter('cat')),
                                                                $content['target_send'],
-                                                               bigintval(postRequestParameter('zip')),
+                                                               bigintval(postRequestParameter('zip'), true false),
                                                        ), __FILE__, __LINE__);
                                        }
                                } else {
@@ -351,7 +355,7 @@ LIMIT 1",
                                                                postRequestParameter('subject'),
                                                                postRequestParameter('text'),
                                                                $receiver,
-                                                               bigintval(postRequestParameter('type')),
+                                                               bigintval(postRequestParameter('mail_type')),
                                                                postRequestParameter('url'),
                                                                bigintval(postRequestParameter('cat')),
                                                                $content['target_send'],
@@ -380,7 +384,7 @@ LIMIT 1",
                                                                postRequestParameter('subject'),
                                                                postRequestParameter('text'),
                                                                $receiver,
-                                                               bigintval(postRequestParameter('type')),
+                                                               bigintval(postRequestParameter('mail_type')),
                                                                postRequestParameter('url'),
                                                                bigintval(postRequestParameter('cat')),
                                                                $content['target_send'],
@@ -397,7 +401,7 @@ LIMIT 1",
                                                array(
                                                        getMemberId(),
                                                        postRequestParameter('subject'),
-                                                       bigintval(postRequestParameter('type'))
+                                                       bigintval(postRequestParameter('mail_type'))
                                                ), __FILE__, __LINE__);
 
                                        // Get pool id
@@ -447,11 +451,11 @@ ORDER BY
 
                        // Enable HTML checking
                        // @TODO Rewrite this to a filter
-                       $HTML = ''; $HOLIDAY = false; $HOL_STRING = '';
+                       $HTML = ''; $HOL_STRING = '';
                        if ((isExtensionActive('html_mail')) && (postRequestParameter('html') == 'Y')) $HTML = " AND `html`='Y'";
-                       if (getExtensionVersion('holiday') >= '0.1.3') {
+                       if (isExtensionInstalledAndNewer('holiday', '0.1.3')) {
                                // Extension's version is fine
-                               $HOLIDAY = true; $HOL_STRING = " AND `holiday_active`='N'";
+                               $HOL_STRING = " AND `holiday_active`='N'";
                        } // END - if
 
                        // ... and begin loading stuff
@@ -467,7 +471,7 @@ ORDER BY
                                while (list($ucat) = SQL_FETCHROW($result_userids)) {
                                        // Check for holiday system
                                        $HOL_ACTIVE = false;
-                                       if ($HOLIDAY) {
+                                       if (getExtensionVersion('holiday') >= '0.1.3') {
                                                // Check user's holiday status
                                                $result_holiday = SQL_QUERY_ESC("SELECT
        d.userid FROM `{?_MYSQL_PREFIX?}_user_data` AS d