X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-unlock_sponsor.php;h=3a1852f82561ac98ef5512ffd68d79ce115d7d1a;hp=0aaba4551f2699f43b469ed3efe16bacfb73b9a8;hb=391c98ab7233ff3e640d8b9fad8df92ce45e9b31;hpb=357b2ca133fc1f89db74097955c366cb4bee6996 diff --git a/inc/modules/admin/what-unlock_sponsor.php b/inc/modules/admin/what-unlock_sponsor.php index 0aaba4551f..3a1852f825 100644 --- a/inc/modules/admin/what-unlock_sponsor.php +++ b/inc/modules/admin/what-unlock_sponsor.php @@ -1,7 +1,7 @@ 0) { + if (ifPostContainsSelections('id')) { // At least one entry selected - foreach ($_POST['id'] as $id => $sel) { - // Secure ID number - $id = bigintval($id); + foreach (postRequestParameter('id') as $id => $selected) { + // Secure id number and init $content + $content = array( + 'id' => bigintval($id), + 'refid' => 0 + ); // Load his personal data - $result_main = SQL_QUERY_ESC("SELECT gender, surname, family, email, remote_addr, sponsor_created, points_amount, refid -FROM "._MYSQL_PREFIX."_sponsor_data -WHERE status='PENDING' AND id='%s' LIMIT 1", - array($id), __FILE__, __LINE__); - $refid = 0; + $result_main = SQL_QUERY_ESC("SELECT + `id`, `gender`, `surname`, `family`, `email`, `remote_addr`, + UNIX_TIMESTAMP(`sponsor_created`) AS `sponsor_created`, + `points_amount`, `points_used`, + (`points_amount` + `points_used`) AS `points`, + `refid` +FROM + `{?_MYSQL_PREFIX?}_sponsor_data` +WHERE + `status` IN('PENDING','UNCONFIRMED') AND + `id`=%s +LIMIT 1", + array($content['id']), __FILE__, __LINE__); + + /// Is there an entry? if (SQL_NUMROWS($result_main) == 1) { - // Load data and free memory - list($gender, $sname, $fname, $email, $ip, $created, $points, $refid) = SQL_FETCHROW($result_main); + // Load data + $content = SQL_FETCHARRAY($result_main); // Check for open payments and close them - $result = SQL_QUERY_ESC("SELECT DISTINCT so.aid, so.pay_count, so.pay_ordered, so.pay_status, -sp.pay_name, sp.pay_rate, sp.pay_currency -FROM "._MYSQL_PREFIX."_sponsor_orders AS so -LEFT JOIN "._MYSQL_PREFIX."_sponsor_paytypes AS sp -ON sp.id=so.payid -WHERE so.sponsorid='%s' -ORDER BY sp.pay_name", - array($id), __FILE__, __LINE__); - if (SQL_NUMROWS($result) > 0) { + $result = SQL_QUERY_ESC("SELECT + so.admin_id, so.pay_count, + UNIX_TIMESTAMP(so.pay_ordered) AS `pay_ordered`, + so.pay_status, sp.pay_name, sp.pay_rate, sp.pay_currency +FROM + `{?_MYSQL_PREFIX?}_sponsor_orders` AS so +LEFT JOIN + `{?_MYSQL_PREFIX?}_sponsor_paytypes` AS sp +ON + sp.id=so.payment_id +WHERE + so.sponsor_id=%s +ORDER BY + sp.pay_name ASC", + array($content['id']), __FILE__, __LINE__); + if (!SQL_HASZERONUMS($result)) { // Payment does exist - while(list($aid, $count, $ordered, $status, $pname, $prate, $pcurr) = SQL_FETCHROW($result)) - { - if ($aid == "0") { - // No admin assigned! - $aid = SPONSOR_NO_ADMIN; - } else { + while ($content2 = SQL_FETCHARRAY($result)) { + // Merge both arrays + $content = merge_array($content, $content2); + + // Set default email + $content['email'] = '{--SPONSOR_NO_ADMIN--}'; + if ($content['admin_id'] > 0) { // Load admin's email address for contact - $aid = GET_ADMIN_EMAIL(GET_ADMIN_LOGIN(($aid)); - } + $content['email'] = getAdminEmail($content['admin_id']); + } // END - if // Transfer data to array - $content = array( - 'aid' => $aid, - 'order' => ($count * $prate)." ".$pcurr, - 'stamp' => MAKE_DATETIME($ordered, "2"), - 'pname' => $pname, + $data = array( + 'admin_id' => $content['email'], + 'order' => ($content['pay_count'] * $content['pay_rate']) . ' ' . $content['pay_currency'], + 'stamp' => generateDateTime($content['pay_ordered'], 2), + 'pname' => $content['pay_name'], ); - + // Load email template - $content['msg'] = LOAD_EMAIL_TEMPLATE("sponsor_unlock_sponsor_pay", $content, $id); + $content['message'] = loadEmailTemplate('sponsor_unlock_sponsor_pay', $data, $content['id']); } } else { // No payments found - $content['msg'] = SPONSOR_NO_PAYMENTS_FOUND; + $content['message'] = '{--SPONSOR_NO_PAYMENTS_FOUND--}'; } // Free memory SQL_FREERESULT($result); + } else { + // Not found + displayMessage(getMaskedMessage('ADMIN_SPONSOR_ACCOUNT_404_ALREADY_CONFIRMED', $content['id'])); + return; } // Free memory SQL_FREERESULT($result_main); // Unlock sponsor account - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_sponsor_data SET status='CONFIRMED' -WHERE id='%s' AND status='PENDING' LIMIT 1", - array($id), __FILE__, __LINE__); + SQL_QUERY_ESC("UPDATE + `{?_MYSQL_PREFIX?}_sponsor_data` +SET + `status`='CONFIRMED' +WHERE + `id`=%s AND + `status` IN('PENDING','UNCONFIRMED') +LIMIT 1", + array($content['id']), __FILE__, __LINE__); // Update, if applyable, referal count and points - if (($refid > 0) && ($refid != $id)) { + if ((isValidUserId($content['refid'])) && ($content['refid'] != $content['id'])) { // Update referal account - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_sponsor_data -SET points_amount=points_amount+%s, ref_count=ref_count+1 -WHERE id='%s' LIMIT 1", - array($_CONFIG['sponsor_ref_points'], bigintval($refid)), __FILE__, __LINE__); + SQL_QUERY_ESC("UPDATE + `{?_MYSQL_PREFIX?}_sponsor_data` +SET + `points_amount`=`points_amount`+{?sponsor_ref_points?}, `ref_count`=`ref_count`+1 +WHERE + `id`=%s +LIMIT 1", + array(bigintval($content['refid'])), __FILE__, __LINE__); // Whas that update fine? - if (SQL_AFFECTEDROWS() == 1) { + if (!SQL_HASZEROAFFECTED()) { // Load referal's data - $result = SQL_QUERY_ESC("SELECT id, gender, surname, family, email, -(points_amount - points_used) AS points, receive_warnings, ref_count AS refs -FROM "._MYSQL_PREFIX."_sponsor_data -WHERE id='%s' LIMIT 1", - array(bigintval($refid)), __FILE__, __LINE__); - $REFERRAL = SQL_FETCHARRAY($result); + $result = SQL_QUERY_ESC("SELECT + `id`, `gender`, `surname`, `family`, `email`, + (`points_amount` - `points_used`) AS `points`, + `receive_warnings`, `ref_count` AS refs +FROM + `{?_MYSQL_PREFIX?}_sponsor_data` +WHERE + `id`=%s +LIMIT 1", + array(bigintval($content['refid'])), __FILE__, __LINE__); + $REFERAL = SQL_FETCHARRAY($result); // Send warnings out? - if ($REFERRAL['receive_warnings'] == "Y") { - // Translate some data - $REFERRAL['points'] = TRANSLATE_COMMA($REFERRAL['points']); - $REFERRAL['ref_points'] = TRANSLATE_COMMA($_CONFIG['sponsor_ref_points']); - $REFERRAL['gender'] = TRANSLATE_GENDER($REFERRAL['gender']); - + if ($REFERAL['receive_warnings'] == 'Y') { // Send notification to referal - $REF_MSG = LOAD_EMAIL_TEMPLATE("sponsor_ref_notify", $REFERRAL); - SEND_EMAIL($REFERRAL['email'], SPONSOR_REF_NOTIFY_SUBJ, $REF_MSG); - } + $REFERAL_MSG = loadEmailTemplate('sponsor_ref_notify', $REFERAL); + sendEmail($REFERAL['email'], '{--SPONSOR_REFERAL_NOTIFY_SUBJECT--}', $REFERAL_MSG); + } // END - if // Free memory SQL_FREERESULT($result); - } - } - - // Transfer data to array - $content['gender'] = TRANSLATE_GENDER($gender); - $content['surname'] = $sname; - $content['family'] = $fname; - $content['sponsor'] = $id; - $content['points'] = TRANSLATE_COMMA($points); + } // END - if + } // END - if // So let's send the email away - $msg = LOAD_EMAIL_TEMPLATE("sponsor_unlocked", $content); - SEND_EMAIL($email, SPONSOR_UNLOCKED_SUBJ, $msg); - } + $message = loadEmailTemplate('sponsor_unlocked', $content); + sendEmail($content['email'], '{--SPONSOR_UNLOCKED_SUBJECT--}', $message); + } // END - foreach } else { // Nothing selected - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_SPONSOR_NONE_SELECTED_UNLOCK); + displayMessage('{--ADMIN_SPONSOR_NONE_SELECTED_UNLOCK--}'); } - - // Add seperator - OUTPUT_HTML("
"); -} +} // END - if // Begin listing of all pending sponsor accounts -$result = SQL_QUERY("SELECT id, gender, surname, family, email, remote_addr, sponsor_created -FROM "._MYSQL_PREFIX."_sponsor_data -WHERE status='PENDING' ORDER BY id", __FILE__, __LINE__); - -if (SQL_NUMROWS($result) > 0) { +$result = SQL_QUERY("SELECT + `id`, `gender`, `surname`, `family`, `email`, `remote_addr`, + UNIX_TIMESTAMP(`sponsor_created`) AS `sponsor_created` +FROM + `{?_MYSQL_PREFIX?}_sponsor_data` +WHERE + `status` IN('PENDING','UNCONFIRMED') +ORDER BY + `id`", __FILE__, __LINE__); + +if (!SQL_HASZERONUMS($result)) { // Entries found so let's list them! - $OUT = ""; $SW = 2; - while(list($id, $gender, $sname, $fname, $email, $ip, $created) = SQL_FETCHROW($result)) { - // Transfer data to array - $content = array( - 'sw' => $SW, - 'id' => $id, - 'gender' => TRANSLATE_GENDER($gender), - 'surname' => $sname, - 'family' => $fname, - 'email' => "mailto:".$email, - 'remote' => $ip, - 'created' => MAKE_DATETIME($created, "2"), - ); + $OUT = ''; + while ($content = SQL_FETCHARRAY($result)) { + // Translate some data + $content['sponsor_created'] = generateDateTime($content['sponsor_created'], 2); // Load row template and switch colors - $OUT .= LOAD_TEMPLATE("admin_unlock_sponsor_row", true, $content); - $SW = 3 - $SW; - } - define('__SPONSOR_ROWS', $OUT); + $OUT .= loadTemplate('admin_unlock_sponsor_row', true, $content); + } // END - while // Load template - LOAD_TEMPLATE("admin_unlock_sponsor"); + loadTemplate('admin_unlock_sponsor', false, $OUT); } else { // No pending accounts found - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_SPONSOR_NONE_PENDING); + displayMessage('{--ADMIN_SPONSOR_NONE_PENDING--}'); } // Free memory SQL_FREERESULT($result); -// +// [EOF] ?>