A lot has been rewritten, ext-teams added, ext-forced continued:
[mailer.git] / inc / modules / admin / what-config_points.php
index ad1e6f2b675d7d7bbff7dc40f4600e61aec855f5..0c60e88fe5443a62958a637fd90fe6cb2e0c8101 100644 (file)
  * $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 - 2011 by Mailer Developer Team                   *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
 // Some security stuff...
 if ((!defined('__SECURITY')) || (!isAdmin())) {
        die();
-}
+} // END - if
 
 // Add description as navigation point
-addMenuDescription('admin', __FILE__);
+addYouAreHereLink('admin', __FILE__);
 
 // Init variables
 $message = '';
@@ -52,19 +51,19 @@ if (isGetRequestParameterSet('sub')) {
        // Yes, then do some sanity-checks
        switch (getRequestParameter('sub')) {
                case 'points':
-                       if ((!isPostRequestParameterSet(('points_register'))) || (!isPostRequestParameterSet(('points_ref')))) {
+                       if ((!isPostRequestParameterSet('points_register')) || (!isPostRequestParameterSet('points_ref'))) {
                                unsetPostRequestParameter('ok');
-                       }
+                       } // END - if
                        break;
 
                case 'ref':
                        if (isGetRequestParameterSet('do')) {
-                               if (((!isPostRequestParameterSet(('level'))) || (!isPostRequestParameterSet(('percents')))) && (getRequestParameter('do') == 'add')) {
+                               if (((!isPostRequestParameterSet('level')) || (!isPostRequestParameterSet('percents'))) && (getRequestParameter('do') == 'add')) {
                                        unsetPostRequestParameter('ok');
                                }
                        }
                        break;
-       }
+       } // END - switch
 } else {
        // Display overview
        setGetRequestParameter('sub', 'overview');
@@ -74,14 +73,13 @@ if (isFormSent()) {
        initSqls();
        switch (getRequestParameter('sub')) {
                case 'points':
-                       updateConfiguration(array('points_register', 'points_ref'), array(postRequestParameter('points_register'), postRequestParameter('points_ref')));
+                       adminSaveSettingsFromPostData();
                        break;
 
                case 'ref':
-                       switch (getRequestParameter('do'))
-                       {
+                       switch (getRequestParameter('do')) {
                                case 'add':
-                                       addSql("INSERT INTO `{?_MYSQL_PREFIX?}_refdepths` (`level`, `percents`) VALUES ('".postRequestParameter('level')."','".postRequestParameter('percents')."')");
+                                       addSql("INSERT INTO `{?_MYSQL_PREFIX?}_refdepths` (`level`,`percents`) VALUES ('".bigintval(postRequestParameter('level'))."','".bigintval(postRequestParameter('percents'))."')");
                                        break;
 
                                case 'edit': // Change entries
@@ -93,37 +91,39 @@ if (isFormSent()) {
                                                setPostRequestParameter('percents', array($id => convertCommaToDot(postRequestParameter('percents', $id))));
 
                                                // Update entry
-                                               SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_refdepths` SET `level`='%s', `percents`='%s' WHERE `id`=%s LIMIT 1",
-                                               array(bigintval($value), postRequestParameter('percents', $id), $id), __FILE__, __LINE__);
-                                       }
-                                       $message = getMessage('REF_DEPTHS_SAVED');
+                                               SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_refdepths` SET `level`=%s, `percents`=%s WHERE `id`=%s LIMIT 1",
+                                                       array(bigintval($value), convertCommaToDot(postRequestParameter('percents', $id)), $id), __FILE__, __LINE__);
+                                       } // END - foreach
+                                       $message = '{--ADMIN_REFERAL_DEPTHS_SAVED--}';
                                        break;
 
-                               case 'del':
+                               case 'delete':
                                        foreach (postRequestParameter('id') as $id => $value) {
                                                SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_refdepths` WHERE `id`=%s LIMIT 1",
                                                array(bigintval($id)), __FILE__, __LINE__);
-                                       }
-                                       $message = getMessage('REF_DEPTHS_DELETED');
+                                       } // END - foreach
+                                       $message = '{--ADMIN_REFERAL_DEPTHS_DELETED--}';
                                        break;
-                       }
+                       } // END - switch
 
                        // Update cache file
-                       if (getExtensionVersion('cache') >= '0.1.2') {
+                       // @TODO Rewrite this to a filter
+                       if (isExtensionInstalledAndNewer('cache', '0.1.2')) {
                                if ($GLOBALS['cache_instance']->loadCacheFile('refdepths')) $GLOBALS['cache_instance']->removeCacheFile();
-                       }
+                       } // END - if
                        break;
 
                case 'settings':
                        $REF = bigintval(postRequestParameter('ref_payout'));
                        updateConfiguration(
-                               array('allow_direct_pay', 'reg_points_mode', 'ref_payout'),
-                               array(postRequestParameter('allow_direct_pay'), postRequestParameter('reg_points_mode'), $REF)
+                               array('allow_direct_pay', 'ref_payout'),
+                               array(postRequestParameter('allow_direct_pay'), $REF)
                        );
                        if ((getConfig('ref_payout') == '0') && (postRequestParameter('ref_payout') > 0)) {
                                // Update account's ref_payout for "must-confirm"
                                addSql(sprintf("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `ref_payout`=(%s - `mails_confirmed`)
-WHERE `mails_confirmed` < %s", $REF, $REF));
+WHERE
+       `mails_confirmed` < %s", $REF, $REF));
                        } elseif ((getConfig('ref_payout') > 0) && (postRequestParameter('ref_payout') == '0')) {
                                // Update account's ref_payout for "not-must-confirm"
                                addSql("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `ref_payout`=0 WHERE `ref_payout` > 0");
@@ -131,11 +131,11 @@ WHERE `mails_confirmed` < %s", $REF, $REF));
                                addSql("UPDATE `{?_MYSQL_PREFIX?}_user_points` SET `locked_points`=0 WHERE `locked_points` > 0");
                        }
                        break;
-       }
+       } // END - switch
 
        if ((isSqlsValid()) && (isSqlsValid())) {
                if (strpos($GLOBALS['sqls'][0], 'INSERT') > -1) {
-                       $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_refdepths` WHERE `level`='%s' LIMIT 1",
+                       $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_refdepths` WHERE `level`=%s LIMIT 1",
                                array(bigintval(postRequestParameter('level'))), __FILE__, __LINE__);
                        SQL_FREERESULT($result);
                } // END - if
@@ -145,13 +145,13 @@ WHERE `mails_confirmed` < %s", $REF, $REF));
                        runFilterChain('run_sqls');
 
                        // Entry saved...
-                       $message = getMessage('SETTINGS_SAVED');
+                       $message = '{--SETTINGS_SAVED--}';
 
                        // Destroy config cache file here...
                        rebuildCache('config', 'config');
                } else {
                        // Prepare failed-message
-                       $message = '<span class="admin_failed">{--SETTINGS_NOT_SAVED--}</span>';
+                       $message = '<span class="notice">{--SETTINGS_NOT_SAVED--}</span>';
                }
 
                // Remove SQL queries
@@ -161,8 +161,8 @@ WHERE `mails_confirmed` < %s", $REF, $REF));
        // Shall we display a message?
        if (!empty($message)) {
                // When do so...
-               loadTemplate('admin_settings_saved', false, $message);
-       }
+               displayMessage($message);
+       } // END - if
 } elseif (getRequestParameter('sub') == 'settings') {
        // Setup some settings like direct pay and so on
        // Including new add-mode for one-time referal bonus
@@ -172,87 +172,58 @@ WHERE `mails_confirmed` < %s", $REF, $REF));
                $content[$entry . '_' . strtolower(getConfig($entry))] = ' checked="checked"';
        } // END - foreach
 
-       // One-time referal bonus add-mode
-       foreach (array('reg_points_mode_ref','reg_points_mode_direct') as $entry) {
-               $content[$entry] = '';
-       } // END - if
-       $content['reg_points_mode_' . strtolower(getConfig('reg_points_mode'))] = ' checked="checked"';
-
        // Load template
        loadTemplate('admin_config_point_settings', false, $content);
 } elseif (getRequestParameter('sub') == 'ref') {
-       // 12                  3     32    2                  3     32    2               3            4     43    21
-       if ((isPostRequestParameterSet('del')) && (isPostRequestParameterSet('sel')) && (countPostSelection() > 0)) {
+       // 12          3     32    2                        3321
+       if ((isFormSent('delete')) && (ifPostContainsSelections())) {
                // Delete entries
-               $OUT = ''; $SW = 2;
+               $OUT = '';
                foreach (postRequestParameter('sel') as $id => $value) {
-                       $result = SQL_QUERY_ESC("SELECT `level`, `percents` FROM `{?_MYSQL_PREFIX?}_refdepths` WHERE `id`=%s LIMIT 1",
+                       $result = SQL_QUERY_ESC("SELECT `id`,`level`,`percents` FROM `{?_MYSQL_PREFIX?}_refdepths` WHERE `id`=%s LIMIT 1",
                                array(bigintval($id)), __FILE__, __LINE__);
                        $content = SQL_FETCHARRAY($result);
                        SQL_FREERESULT($result);
 
-                       // Prepare data for the row template
-                       $content = array(
-                               'sw'       => $SW,
-                               'id'       => $id,
-                               'level'    => $content['level'],
-                               'percents' => translateComma($content['percents']),
-                       );
-
                        // Load row template and switch color
-                       $OUT .= loadTemplate('admin_points_del_row', true, $content);
-                       $SW = 3 - $SW;
-               }
+                       $OUT .= loadTemplate('admin_delete_reflevel_row', true, $content);
+               } // END - foreach
 
                // Load main template
-               loadTemplate('admin_points_del', false, $OUT);
-       } elseif ((isPostRequestParameterSet('edit')) && (isPostRequestParameterSet('sel')) && (countPostSelection() > 0)) {
+               loadTemplate('admin_delete_reflevel', false, $OUT);
+       } elseif ((isFormSent('edit')) && (ifPostContainsSelections())) {
                // Edit entries
-               $OUT = ''; $SW = 2;
+               $OUT = '';
                foreach (postRequestParameter('sel') as $id => $value) {
-                       $result = SQL_QUERY_ESC("SELECT `level`, `percents` FROM `{?_MYSQL_PREFIX?}_refdepths` WHERE `id`=%s LIMIT 1",
+                       $result = SQL_QUERY_ESC("SELECT `id`,`level`,`percents` FROM `{?_MYSQL_PREFIX?}_refdepths` WHERE `id`=%s LIMIT 1",
                                array(bigintval($id)), __FILE__, __LINE__);
                        $content = SQL_FETCHARRAY($result);
                        SQL_FREERESULT($result);
 
-                       // Prepare data for the row template
-                       $content = array(
-                               'sw'       => $SW,
-                               'id'       => $id,
-                               'level'    => $content['level'],
-                               'percents' => translateComma($content['percents']),
-                       );
-
                        // Load row template and switch color
-                       $OUT .= loadTemplate('admin_points_edit_row', true, $content);
-                       $SW = 3 - $SW;
-               }
+                       $OUT .= loadTemplate('admin_edit_reflevel_row', true, $content);
+               } // END - foreach
 
                // Load main template
-               loadTemplate('admin_points_edit', false, $OUT);
+               loadTemplate('admin_edit_reflevel', false, $OUT);
        } else {
                // Referal levels
-               $result = SQL_QUERY("SELECT `id`, `level`, `percents` FROM `{?_MYSQL_PREFIX?}_refdepths` ORDER BY `level` ASC", __FILE__, __LINE__);
-               if (SQL_NUMROWS($result) > 0) {
+               $result = SQL_QUERY("SELECT `id`,`level`,`percents` FROM `{?_MYSQL_PREFIX?}_refdepths` ORDER BY `level` ASC", __FILE__, __LINE__);
+               if (!SQL_HASZERONUMS($result)) {
                        // Make referal levels editable and deletable
-                       $OUT = ''; $SW = 2;
+                       $OUT = '';
 
                        // List already existing categories for editing
                        while ($content = SQL_FETCHARRAY($result)) {
-                               // Prepare data for the row template
-                               $content['sw']       = $SW;
-                               $content['percents'] = translateComma($content['percents']);
-
                                // Load row template and switch color
-                               $OUT .= loadTemplate('admin_points_row', true, $content);
-                               $SW = 3 - $SW;
-                       }
+                               $OUT .= loadTemplate('admin_list_reflevel_row', true, $content);
+                       } // END - while
 
                        // Free memory
                        SQL_FREERESULT($result);
 
                        // Load main template
-                       loadTemplate('admin_points', false, $OUT);
+                       loadTemplate('admin_list_reflevel', false, $OUT);
                }
 
                // Form for adding new referal levels