<?php
/************************************************************************
- * MXChange v0.2.1 Start: 10/29/2003 *
- * =============== Last change: 01/06/2006 *
+ * Mailer v0.2.1-FINAL Start: 10/29/2003 *
+ * =================== Last change: 01/06/2006 *
* *
* -------------------------------------------------------------------- *
* File : order.php *
* -------------------------------------------------------------------- *
* Kurzbeschreibung : Sendet die Buchung an die Administratoren *
* -------------------------------------------------------------------- *
- * *
+ * $Revision:: $ *
+ * $Date:: $ *
+ * $Tag:: 0.2.1-FINAL $ *
+ * $Author:: $ *
* -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * For more information visit: http://www.mxchange.org *
+ * Copyright (c) 2003 - 2009 by Roland Haeder *
+ * Copyright (c) 2009 - 2012 by Mailer Developer Team *
+ * For more information visit: http://mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
************************************************************************/
// Some security stuff...
-$URL = "";
-if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
-} elseif ((!EXT_IS_ACTIVE("order")) && (!IS_ADMIN())) {
- ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "order");
+$url = '';
+if (!defined('__SECURITY')) {
+ exit();
+} elseif ((!isExtensionActive('order')) && (!isAdmin())) {
+ displayMessage('{%pipe,generateExtensionInactiveNotInstalledMessage=order%}');
return;
-} elseif (!IS_MEMBER()) {
+} elseif (!isMember()) {
// Sorry, no guest access!
- $URL = URL."/modules.php?module=index";
-} elseif (empty($_GET['order'])) {
+ $url = 'modules.php?module=index';
+} elseif (!isGetRequestElementSet('order')) {
// You cannot call this module directly!
- $URL = URL."/modules.php?module=login&what=order";
+ $url = 'modules.php?module=login&what=order';
}
// When URL is empty nothing bad happend here
-if (empty($URL)) {
+if (empty($url)) {
+ // Auto-send is inactive
+ $content['admin_autosend'] = '{--ADMIN_AUTOSEND_INACTIVE--}';
+ $content['member_autosend'] = '{--MEMBER_AUTOSEND_INACTIVE--}';
+ $type = 'ADMIN';
+
// Is the auto-send mechanism active or inactive?
- if ($_CONFIG['autosend_active'] == "Y") {
+ if (getConfig('autosend_active') == 'Y') {
// Auto-send is active
- define('ADMIN_AUTOSEND', COMPILE_CODE(ADMIN_AUTOSEND_ACTIVE));
- define('MEMBER_AUTOSEND', COMPILE_CODE(MEMBER_AUTOSEND_ACTIVE));
- $type = "NEW";
- } else {
- // Auto-send is inactive
- define('ADMIN_AUTOSEND', COMPILE_CODE(ADMIN_AUTOSEND_INACTIVE));
- define('MEMBER_AUTOSEND', COMPILE_CODE(MEMBER_AUTOSEND_INACTIVE));
- $type = "ADMIN";
- }
-
- // Update sending pool
- $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_pool SET data_type='%s' WHERE id=%s AND sender=%s AND data_type='TEMP' LIMIT 1",
- array($type, bigintval($_GET['order']), $GLOBALS['userid']), __FILE__, __LINE__);
+ $content['admin_autosend'] = '{--ADMIN_AUTOSEND_ACTIVE--}';
+ $content['member_autosend'] = '{--MEMBER_AUTOSEND_ACTIVE--}';
+ $type = 'NEW';
+ } // END - if
- // Finally is the entry valid?
- if (SQL_AFFECTEDROWS() == 1) {
- // Update his login data
- UPDATE_LOGIN_DATA();
+ // Update pool data and check if the entry is valid
+ if (!updatePoolDataById(getRequestElement('order'), 'data_type', $type, NULL, sprintf(" AND `sender`=%s AND `data_type`='TEMP'", getMemberId()))) {
+ // Merge array with pool data
+ // @TODO Unused: timestamp
+ $content = merge_array($content, getPoolDataFromId(getRequestElement('order')));
- // Load personal data...
- $result = SQL_QUERY_ESC("SELECT sex, surname, family, email FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1",
- array($GLOBALS['userid']), __FILE__, __LINE__);
- list($sex, $sname, $fname, $email) = SQL_FETCHROW($result);
- SQL_FREERESULT($result);
-
- // Load mail again... 0 1 2 3 4 5 6 7
- $result = SQL_QUERY_ESC("SELECT subject, text, receivers, payment_id, timestamp, url, cat_id, target_send FROM "._MYSQL_PREFIX."_pool WHERE id=%s AND sender=%s LIMIT 1",
- array(bigintval($_GET['order']), $GLOBALS['userid']), __FILE__, __LINE__);
- $DATA = SQL_FETCHROW($result);
- SQL_FREERESULT($result);
- if (empty($DATA[0])) $DATA[0] = DEFAULT_SUBJECT_LINE;
+ // Fix empty subject line
+ if (empty($content['subject'])) {
+ $content['subject'] = '{--DEFAULT_SUBJECT--}';
+ } // END - if
// Calculate used points
- $USED = $DATA[7] * GET_PAY_POINTS($DATA[3]);
+ $content['payed_points'] = $content['target_send'] * getPaymentPrice($content['payment_id']);
- // Update used points
- $ADD = "";
- if ($_CONFIG['order_max_full'] == "ORDER") $ADD = ", mail_orders=mail_orders+1";
- SUB_POINTS($GLOBALS['userid'], $USED);
+ // Subtract them from the user's account and ignore return status
+ subtractPoints('order', getMemberId(), $content['payed_points']);
- // Update mediadata as well
- if (GET_EXT_VERSION("mediadata") >= "0.0.4") {
- // Update database
- MEDIA_UPDATE_ENTRY(array("total_points"), "sub", $USED);
- }
+ // Update used points
+ $add = '';
+ if ((isExtensionInstalledAndNewer('order', '0.1.1')) && (getConfig('order_max_full') == 'ORDER')) {
+ $add = ',`mail_orders`=`mail_orders`+1';
+ } // END - if
// Send an email to the user
- $msg_mem = LOAD_EMAIL_TEMPLATE("order-member", "", $GLOBALS['userid']);
- SEND_EMAIL($email, MEMBER_NEW_QUEUE, $msg_mem);
+ $message_mem = loadEmailTemplate('member_order_normal', $content, getMemberId());
+ sendEmail(getMemberId(), '{--MEMBER_NEW_QUEUE--}', $message_mem);
// Notify admins about this
- SEND_ADMIN_NOTIFICATION(ADMIN_NEW_QUEUE, "order-admin", "", $GLOBALS['userid']);
+ sendAdminNotification('{--ADMIN_NEW_QUEUE--}', 'admin_order_normal', $content, getMemberId());
+
+ // Create new task (we ignore the task id here)
+ createNewTask(
+ '{--ADMIN_NEW_QUEUE--}',
+ '<pre>' . loadEmailTemplate('admin_order_normal', $content, getMemberId()) . '</pre>',
+ 'MEMBER_ORDER',
+ getMemberId(),
+ 0,
+ false
+ );
// Output back bottom
- LOAD_TEMPLATE("member_order-back", false);
+ loadTemplate('member_order_thanks');
} else {
- // Matching line not found or already "placed" in send queue
- $URL = URL."/modules.php?module=login";
- LOAD_URL($URL);
+ // Matching line not found or already 'placed' in send queue
+ redirectToUrl('modules.php?module=login');
}
} else {
// Redirect...
- LOAD_URL($URL);
+ redirectToUrl($url);
}
-//
+
+// [EOF]
?>