]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/member/what-order.php
More language strings renamed, TODOs.txt updated:
[mailer.git] / inc / modules / member / what-order.php
index ed49e2e4e92a63dd5c493da1e891feda855cb243..1b1dd1984c29df084f31ad63e4dd97a93faa967c 100644 (file)
@@ -27,8 +27,6 @@
  * (at your option) any later version.                                  *
  *                                                                      *
  * This program is distributed in the hope that it will be useful,      *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
  * GNU General Public License for more details.                         *
  *                                                                      *
  * You should have received a copy of the GNU General Public License    *
@@ -52,51 +50,20 @@ if ((!isExtensionActive('order')) && (!isAdmin())) {
        return;
 } // END - if
 
-$URL = ''; $id = '0';
-$whereStatement = " WHERE `visible`='Y'";
-
-// Set undefined array elements
-if (isAdmin()) $whereStatement = '';
+$url = ''; $id = '0';
 
 // Count unconfirmed mails
 $links = countSumTotalData(getMemberId(), 'user_links', 'id', 'userid', true);
 
-// Do we have ext-holiday installed?
-// @TODO Rewrite this to a filter
-$extraColumn = 'userid';
-if ((isExtensionActive('holiday')) && (getExtensionVersion('holiday') >= '0.1.3')) {
-       // Fetch also holiday activation data
-       $extraColumn = 'holiday_active';
-} // END - if
-
-$result_mmails = SQL_QUERY_ESC("SELECT
-       `userid`, `receive_mails`, `mail_orders`, `".$extraColumn."`
-FROM
-       `{?_MYSQL_PREFIX?}_user_data`
-WHERE
-       `userid`=%s AND
-       `max_mails` > 0
-LIMIT 1",
-       array(getMemberId()), __FILE__, __LINE__);
-
-$mmails = SQL_NUMROWS($result_mmails);
-list($DMY, $MAXI, $ORDERS, $HOLIDAY) = SQL_FETCHROW($result_mmails);
-
-// Free result
-SQL_FREERESULT($result_mmails);
-
-// Fix non-existent ext-holidy
-if ($HOLIDAY == $DMY) $HOLIDAY = 'N';
-
-$ALLOWED = $MAXI - $ORDERS;
-if (getConfig('order_max_full') == 'MAX') $ALLOWED = $MAXI;
+$ALLOWED = getUserData('receive_mails') - getUserData('mail_orders');
+if (getConfig('order_max_full') == 'MAX') $ALLOWED = getUserData('receive_mails');
 
 // Now check his points amount
-$total = countSumTotalData(getMemberId(), 'user_points', 'points') - countSumTotalData(getMemberId(), 'user_data', 'used_points');;
+$total = getTotalPoints(getMemberId());
 
-if (($HOLIDAY == 'Y') && (getExtensionVersion('holiday') >= '0.1.3')) {
+if ((isExtensionInstalledAndNewer('holiday', '0.1.3')) && (getUserData('holiday_active') == 'Y')) {
        // Holiday is active!
-       loadTemplate('admin_settings_saved', false, getMessage('HOLIDAY_ORDER_NOT_POSSIBLE'));
+       loadTemplate('admin_settings_saved', false, '{--MEMBER_HOLIDAY_ORDER_NOT_POSSIBLE--}');
 } elseif ((isPostRequestParameterSet('frametester')) && ($ALLOWED > 0) && (postRequestParameter('receiver') > 0)) {
        // Continue with the frametester, we first need to store the data temporary in the pool
        //
@@ -107,12 +74,11 @@ FROM
 WHERE
        `sender`=%s AND
        `url`='%s' AND
-       `timestamp` > (UNIX_TIMESTAMP() - %s)
+       `timestamp` > (UNIX_TIMESTAMP() - {?url_tlock?})
 LIMIT 1",
                array(
                        getMemberId(),
-                       postRequestParameter('url'),
-                       getConfig('url_tlock')
+                       postRequestParameter('url')
                ), __FILE__, __LINE__);
 
        $type = 'TEMP'; $id = '0';
@@ -127,12 +93,12 @@ LIMIT 1",
        if ($type == 'TEMP') {
                // No entry found, so we need to check out the stats table as well... :)
                // We have to add that suff here, now we continue WITHOUT checking and check the text and subject against some filters
-               $URL = '';
+               $url = '';
                if (getConfig('allow_url_in_text') == 'Y') {
                        // Test submitted text against some filters (length, URLs in text etc.)
                        if ((strpos(strtolower(postRequestParameter('text')), 'https://') > -1) || (strpos(strtolower(postRequestParameter('text')), 'http://') > -1) || (strpos(strtolower(postRequestParameter('text')), "www") > -1)) {
                                // URL found!
-                               $URL = 'modules.php?module=login&what=order&code=' . getCode('URL_FOUND');
+                               $url = 'modules.php?module=login&what=order&code=' . getCode('URL_FOUND');
                        } // END - if
 
                        // Remove new-line and carriage-return characters
@@ -141,7 +107,7 @@ LIMIT 1",
                        // Text length within allowed length?
                        if (strlen($TEST) > getConfig('max_tlength')) {
                                // Text is too long!
-                               $URL = 'modules.php?module=login&what=order&code=' . getCode('OVERLENGTH');
+                               $url = 'modules.php?module=login&what=order&code=' . getCode('OVERLENGTH');
                        } // END - if
                } // END - if
 
@@ -151,7 +117,7 @@ LIMIT 1",
                        setPostRequestParameter('subject', str_replace("\\", '[nl]', substr(postRequestParameter('subject'), 0, 200)));
                        if ((strpos(strtolower(postRequestParameter('subject')), 'http://') > -1) || (strpos(strtolower(postRequestParameter('subject')), "www") > -1)) {
                                // URL in subject found
-                               $URL = 'modules.php?module=login&what=order&code=' . getCode('SUBJ_URL');
+                               $url = 'modules.php?module=login&what=order&code=' . getCode('SUBJECT_URL');
                        } // END - if
                } // END - if
 
@@ -166,7 +132,7 @@ LIMIT 1",
                                list($blist) = SQL_FETCHROW($result);
 
                                // Create redirect-URL
-                               $URL = 'modules.php?module=login&what=order&code=' . getCode('BLIST_URL') . '&blist=' . $blist;
+                               $url = 'modules.php?module=login&what=order&code=' . getCode('BLIST_URL') . '&blist=' . $blist;
                        } // END - if
 
                        // Free result
@@ -176,13 +142,13 @@ LIMIT 1",
                // Enougth receivers entered?
                if ((postRequestParameter('receiver') < getConfig('order_min')) && (!isAdmin())) {
                        // Less than allowed receivers entered!
-                       $URL = 'modules.php?module=login&amp;what=order&amp;code=' . getCode('MORE_RECEIVERS3');
+                       $url = 'modules.php?module=login&amp;what=order&amp;code=' . getCode('MORE_RECEIVERS3');
                } // END - if
 
                // Validate URL
                if (!isUrlValid(postRequestParameter('url'))) {
                        // URL is invalid!
-                       $URL = 'modules.php?module=login&amp;what=order&amp;code=' . getCode('INVALID_URL');
+                       $url = 'modules.php?module=login&amp;what=order&amp;code=' . getCode('INVALID_URL');
                } // END - if
 
                // Probe for HTML extension
@@ -193,7 +159,7 @@ LIMIT 1",
                                setPostRequestParameter('text', checkHtmlTags(postRequestParameter('text')));
 
                                // Maybe invalid tags found?
-                               if (!isPostRequestParameterSet('text')) $URL = 'modules.php?module=login&amp;what=order&amp;code=' . getCode('INVALID_TAGS')."&amp;id=".$id;
+                               if (!isPostRequestParameterSet('text')) $url = 'modules.php?module=login&amp;what=order&amp;code=' . getCode('INVALID_TAGS')."&amp;id=".$id;
                        } else {
                                // Remove any HTML code
                                setPostRequestParameter('text', str_replace('<', '{OPEN_HTML}', str_replace('>', '{CLOSE_HTML}', postRequestParameter('text'))));
@@ -203,20 +169,22 @@ LIMIT 1",
                // 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');
+                       $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;
+               $url = 'modules.php?module=login&amp;what=order&amp;code=' . getCode('URL_TLOCK') . '&amp;id=' . $id;
        }
 
        // Still no error?
-       if (empty($URL)) {
+       if (empty($url)) {
                // Check if category and number of receivers is okay
                $add = '';
                if ((getConfig('order_multi_page') == 'Y') && (isPostRequestParameterSet('zip')) && (postRequestParameter('zip') != '')) {
                        // Choose recipients by ZIP code
-                       $add = " AND d.zip LIKE '".bigintval(postRequestParameter('zip'))."{PER}'";
+                       $add = sprintf(" AND d.zip LIKE '%s%%'",
+                               bigintval(postRequestParameter('zip'))
+                       );
                } // END - if
 
                // Check for userids
@@ -248,7 +216,7 @@ ORDER BY
                        // Load receivers from database
                        $TEST = array(); $cnt = '0';
                        while ($holidayContent = SQL_FETCHARRAY($result)) {
-                               if (getExtensionVersion('holiday') >= '0.1.3') {
+                               if (isExtensionInstalledAndNewer('holiday', '0.1.3')) {
                                        // Check for his holiday status
                                        $result_holiday = SQL_QUERY_ESC("SELECT
        `id`
@@ -412,26 +380,32 @@ LIMIT 1",
                                } // END - if
 
                                // id is received so we can redirect the user, used points will be added when he send's out the mail
-                               $URL = 'modules.php?module=frametester&amp;order=' . $id;
+                               $url = 'modules.php?module=frametester&amp;order=' . $id;
                        } elseif ($content['target_send'] == '0') {
                                // Not enougth receivers found which can receive mails
-                               $URL = 'modules.php?module=login&amp;what=order&amp;code=' . getCode('MORE_RECEIVERS2');
+                               $url = 'modules.php?module=login&amp;what=order&amp;code=' . getCode('MORE_RECEIVERS2');
                        } else {
                                // No enougth points left!
-                               $URL = 'modules.php?module=login&amp;what=order&amp;code=' . getCode('MORE_POINTS');
+                               $url = 'modules.php?module=login&amp;what=order&amp;code=' . getCode('MORE_POINTS');
                        }
                } else  {
                        // Ordered more mails than he can send in this category
-                       $URL = 'modules.php?module=login&amp;what=order&amp;code=' . getCode('NO_RECS_LEFT');
+                       $url = 'modules.php?module=login&amp;what=order&amp;code=' . getCode('NO_RECS_LEFT');
                }
        }
 } elseif (postRequestParameter('receiver') == '0') {
        // Not enougth receivers selected
-       $URL = 'modules.php?module=login&amp;what=order&amp;code=' . getCode('MORE_RECEIVERS1');
+       $url = 'modules.php?module=login&amp;what=order&amp;code=' . getCode('MORE_RECEIVERS1');
 } elseif (($ALLOWED == '0') && (getConfig('order_max_full') == 'ORDER')) {
        // No more mail orders allowed
-       loadTemplate('admin_settings_saved', false, getMessage('MEMBER_ORDER_ALLOWED_EXHAUSTED'));
-} elseif (($links < getConfig('unconfirmed')) && ($mmails == 1)) {
+       loadTemplate('admin_settings_saved', false, '{--MEMBER_ORDER_ALLOWED_EXHAUSTED--}');
+} elseif ($links < getConfig('unconfirmed')) {
+       // Show only enabled categories to the user ...
+       $whereStatement = " WHERE `visible`='Y'";
+
+       // ... but all to the admin
+       if (isAdmin()) $whereStatement = '';
+
        // Display order form
        $result_cats = SQL_QUERY("SELECT
        `id`, `cat`
@@ -440,7 +414,7 @@ FROM
 ".$whereStatement."
 ORDER BY
        `sort` ASC", __FILE__, __LINE__);
-       if (SQL_NUMROWS($result_cats) > 0) {
+       if (!SQL_HASZERONUMS($result_cats)) {
                if ($total > 0) {
                        // Initialize array...
                        $categories = array(
@@ -470,11 +444,13 @@ ORDER BY
                                $userid_cnt = '0';
                                while (list($ucat) = SQL_FETCHROW($result_userids)) {
                                        // Check for holiday system
-                                       $HOL_ACTIVE = false;
-                                       if (getExtensionVersion('holiday') >= '0.1.3') {
+                                       $isHolidayActive = false;
+                                       if (isExtensionInstalledAndNewer('holiday', '0.1.3')) {
                                                // Check user's holiday status
                                                $result_holiday = SQL_QUERY_ESC("SELECT
-       d.userid FROM `{?_MYSQL_PREFIX?}_user_data` AS d
+       COUNT(d.userid) AS `cnt`
+FROM
+       `{?_MYSQL_PREFIX?}_user_data` AS d
 LEFT JOIN
        `{?_MYSQL_PREFIX?}_user_holidays` AS h
 ON
@@ -489,14 +465,17 @@ WHERE
 LIMIT 1",
                                                        array(bigintval($ucat)), __FILE__, __LINE__);
 
-                                               // Is holiday is active?
-                                               $HOL_ACTIVE = (SQL_NUMROWS($result_holiday) == 1);
+                                               // Fetch entry
+                                               list($cnt) = SQL_FETCHROW($result);
 
                                                // Free memory
                                                SQL_FREERESULT($result_holiday);
+
+                                               // Is holiday is active?
+                                               $isHolidayActive = ($cont == 1);
                                        } // END - if
 
-                                       if ($HOL_ACTIVE === false) {
+                                       if ($isHolidayActive === false) {
                                                // Check if the user want's to receive mails?
                                                $result_ver = SQL_QUERY_ESC("SELECT `zip` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `userid`=%s".$HTML." AND `receive_mails` > 0 AND `status`='CONFIRMED' LIMIT 1",
                                                        array(bigintval($ucat)), __FILE__, __LINE__);
@@ -530,7 +509,7 @@ LIMIT 1",
                        $result = SQL_QUERY("SELECT `id`, `price`, `payment`, `mail_title` FROM `{?_MYSQL_PREFIX?}_payments` ORDER BY `payment` ASC", __FILE__, __LINE__);
 
                        $types = array();
-                       if (SQL_NUMROWS($result) > 0) {
+                       if (!SQL_HASZERONUMS($result)) {
                                // Check for message id in URL
                                $message = getMessageFromErrorCode(getRequestParameter('code'));
 
@@ -553,16 +532,16 @@ LIMIT 1",
                                // Check how many mail orders he has placed today and how many he's allowed to send
                                switch (getConfig('order_max_full')) {
                                        case 'MAX': // He is allowed to send as much as possible
-                                               $content['order_max_full'] = getMessage('MEMBER_ORDER_ALLOWED_MAX');
+                                               $content['order_max_full'] = '{--MEMBER_ORDER_ALLOWED_MAX--}';
                                                break;
 
                                        case 'ORDER': // He is allowed to send as much as he setup the receiving value
-                                               $content['order_max_full'] = sprintf(getMessage('MEMBER_ORDER_ALLOWED_RECEIVE'), $ALLOWED, $MAXI);
+                                               $content['order_max_full'] = sprintf(getMessage('MEMBER_ORDER_ALLOWED_RECEIVE'), $ALLOWED, getUserData('receive_mails'));
                                                break;
 
                                        default: // Unknown/invalid
                                                logDebugMessage(__FILE__, __LINE__, sprintf("Unknown order_mas_full config detected.", getConfig('order_max_full')));
-                                               $content['order_max_full'] = getMessage('MEMBER_ORDER_ALLOWED_UNKNOWN');
+                                               $content['order_max_full'] = '{--MEMBER_ORDER_ALLOWED_UNKNOWN--}';
                                                break;
                                } // END - switch
 
@@ -613,9 +592,9 @@ LIMIT 1",
                                        // Pre-output categories
                                        $content['category_selection'] = '';
                                        foreach ($categories['id'] as $key => $value) {
-                                               $content['category_selection'] .= "      <option value=\"".$value."\"";
+                                               $content['category_selection'] .= '      <option value="' . $value . '"';
                                                if (($OLD_ORDER) && ($content['cat_id'] == $value)) $content['category_selection'] .= ' selected="selected"';
-                                               $content['category_selection'] .= ">".$categories['name'][$key]." (".$categories['userids'][$key]." {--USER_IN_CAT--})</option>\n";
+                                               $content['category_selection'] .= '>' . $categories['name'][$key]." (".$categories['userids'][$key] . ' {--USER_IN_CAT--})</option>';
                                        } // END - foreach
 
                                        // Mail type
@@ -624,9 +603,9 @@ LIMIT 1",
                                                $P = translateComma($types[$key][1]);
                                                if (is_array($value)) {
                                                        // Output option line
-                                                       $content['type_selection'] .= "      <option value=\"".$types[$key][0]."\"";
+                                                       $content['type_selection'] .= '      <option value="' . $types[$key][0] . '"';
                                                        if (($OLD_ORDER) && ($content['payment_id'] == $types[$key][0])) $content['type_selection'] .= ' selected="selected"';
-                                                       $content['type_selection'] .= ">".$P." {--PER_MAIL--} - ".$types[$key][3]." - ".round($types[$key][2])." {--PAYMENT--}</option>\n";
+                                                       $content['type_selection'] .= '>' . $P . ' {--PER_MAIL--} - ' . $types[$key][3] . ' - ' . round($types[$key][2]) . ' {--PAYMENT--}</option>';
                                                } // END - if
                                        } // END - foreach
 
@@ -690,19 +669,16 @@ LIMIT 1",
                }
        } else {
                // No cateogries are defined yet
-               loadTemplate('admin_settings_saved', false, '<span class="member_failed">{--MEMBER_NO_CATS--}</span>');
+               loadTemplate('admin_settings_saved', false, '<span class="member_failed">{--MEMBER_NO_CATEGORIES--}</span>');
        }
-} elseif ($mmails == '0') {
-       // Please set more than 0 mails per day
-       loadTemplate('admin_settings_saved', false, getMessage('MEMBER_HAS_ZERO_MMAILS'));
 } else {
        // Please confirm some mails first
        loadTemplate('admin_settings_saved', false, getMaskedMessage('MEMBER_LINKS_LEFT'), $links);
 }
 
-if (!empty($URL)) {
+if (!empty($url)) {
        // Redirect to requested URL
-       redirectToUrl($URL);
+       redirectToUrl($url);
 } // END - if
 
 // [EOF]