More improved SQL queries
[mailer.git] / inc / modules / member / what-refback.php
index 5a965b6723ae0025c0212b29ea359bbd377f7dae..e751a5a9d2bcef7c11e75094154b160c9a71d2a4 100644 (file)
@@ -39,15 +39,14 @@ if (!defined('__SECURITY')) {
        // User is not logged in
        LOAD_URL("modules.php?module=index");
 } elseif ((!EXT_IS_ACTIVE("refback")) && (!IS_ADMIN())) {
-       // Extension "refback" is not active
-       ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "refback");
+       addFatalMessage(EXTENSION_PROBLEM_EXT_INACTIVE, "refback");
        return;
 }
 
 // Is the refback system enabled?
-if ($_CONFIG['refback_enabled'] == "N") {
+if (getConfig('refback_enabled') == "N") {
        // Output message
-       LOAD_TEMPLATE("admin_settings_saved", false, MEMBER_REFBACK_DISABLED);
+       LOAD_TEMPLATE("admin_settings_saved", false, getMessage('MEMBER_REFBACK_DISABLED'));
        // Abort here
        return false;
 } // END - if
@@ -59,29 +58,39 @@ ADD_DESCR("member", __FILE__);
 if ((isset($_POST['edit'])) && (isset($_POST['id']))) {
        // Okay, has the user entered some values?
        if (isset($_POST['percents'])) {
-               // Change ref-back for this direct id
-               $status = REFBACK_CHANGE_MEMBER_PERCENTS($_POST['id'], $_POST['percents']);
-
-               // Check status
-               if (isset($status['ok'])) {
-                       // No message found
-                       LOAD_TEMPLATE("admin_settings_saved", false, MEMBER_REFBACK_DONE);
-               } elseif (isset($status['message'])) {
-                       // Something went wrong with error message
-                       LOAD_TEMPLATE("admin_settings_saved", false, sprintf(MEMBER_REFBACK_ERROR_MESSAGE, $status['message']));
+               // Revert german commta for testing
+               $percents = REVERT_COMMA($_POST['percents']);
+
+               // Validate percents
+               if ((($percents >= getConfig('refback_min_perc')) || (round($percents) == 0)) && ($percents <= getConfig('refback_max_perc'))) {
+                       // Change ref-back for this direct id
+                       $status = REFBACK_CHANGE_MEMBER_PERCENTS($_POST['id'], $_POST['percents']);
+
+                       // Check status
+                       if (isset($status['ok'])) {
+                               // No message found
+                               LOAD_TEMPLATE("admin_settings_saved", false, getMessage('MEMBER_REFBACK_DONE'));
+                       } elseif (isset($status['message'])) {
+                               // Something went wrong with error message
+                               LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('MEMBER_REFBACK_ERROR_MESSAGE'), $status['message']));
+                       } else {
+                               // No message found
+                               LOAD_TEMPLATE("admin_settings_saved", false, getMessage('MEMBER_REFBACK_ERROR_EMPTY_MESSAGE'));
+                       }
                } else {
-                       // No message found
-                       LOAD_TEMPLATE("admin_settings_saved", false, MEMBER_REFBACK_ERROR_EMPTY_MESSAGE);
+                       // Percents out-of-bounds ;-)
+                       LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('MEMBER_REFBACK_ERROR_OUT_OF_BOUNDS'), getConfig('refback_min_perc'), getConfig('refback_max_perc')));
                }
 
                // Insert line
-               OUTPUT_HTML("<br />");
        } else {
                // Read data from refback table
                $content = GET_USER_REF_ENTRY($_POST['id']);
 
                // Translate comma
                $content['refback'] = TRANSLATE_COMMA($content['refback']);
+               $content['min']     = TRANSLATE_COMMA(getConfig('refback_min_perc').".0");
+               $content['max']     = TRANSLATE_COMMA(getConfig('refback_max_perc').".0");
 
                // Load form for editing
                LOAD_TEMPLATE("member_refback_edit", false, $content);
@@ -90,7 +99,7 @@ if ((isset($_POST['edit'])) && (isset($_POST['id']))) {
 
 // Load all referal levels
 $result = SQL_QUERY_ESC("SELECT r.level, r.percents
-FROM "._MYSQL_PREFIX."_refdepths AS r
+FROM `{!_MYSQL_PREFIX!}_refdepths` AS r
 WHERE r.level > 0
 ORDER BY r.level ASC",
        array($GLOBALS['userid']), __FILE__, __LINE__);
@@ -143,7 +152,7 @@ if (SQL_NUMROWS($result) > 0) {
        LOAD_TEMPLATE("member_refback_list", false, $OUT);
 } else {
        // No entries
-       LOAD_TEMPLATE("admin_settings_saved", false, MEMBER_REFBACK_NO_ENTRIES);
+       LOAD_TEMPLATE("admin_settings_saved", false, getMessage('MEMBER_REFBACK_NO_ENTRIES'));
 }
 
 // Free result