/mnt/web601/b3/14/57451114/htdocs/httpdocs/admin/coupon_admin.php
<?php
/* --------------------------------------------------------------
coupon_admin.php 2023-03-29
Gambio GmbH
http://www.gambio.de
Copyright (c) 2023 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
IMPORTANT! THIS FILE IS DEPRECATED AND WILL BE REPLACED IN THE FUTURE.
MODIFY IT ONLY FOR FIXES. DO NOT APPEND IT WITH NEW FEATURES, USE THE
NEW GX-ENGINE LIBRARIES INSTEAD.
--------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project (earlier name of osCommerce)
(c) 2002-2003 osCommerce(coupon_admin.php); www.oscommerce.com
(c) 2003 XT-Commerce - community made shopping http://www.xt-commerce.com ($Id: coupon_admin.php 1084 2005-07-23 18:36:08Z matthias $)
Released under the GNU General Public License
-----------------------------------------------------------------------------------------
Third Party contribution:
Credit Class/Gift Vouchers/Discount Coupons (Version 5.10)
http://www.oscommerce.com/community/contributions,282
Copyright (c) Strider | Strider@oscworks.com
Copyright (c Nick Stanko of UkiDev.com, nick@ukidev.com
Copyright (c) Andre ambidex@gmx.net
Copyright (c) 2001,2002 Ian C Wilson http://www.phesis.org
Released under the GNU General Public License
---------------------------------------------------------------------------------------*/
require('includes/application_top.php');
$t_page_token = $_SESSION['coo_page_token']->generate_token();
require(DIR_WS_CLASSES . 'currencies.php');
$currencies = new currencies();
require_once(DIR_FS_INC . 'xtc_php_mail.inc.php');
// initiate template engine for mail
$smarty = MainFactory::create('GXSmarty');
// bof gm
$gm_logo_mail = MainFactory::create_object('GMLogoManager', array("gm_logo_mail"));
if($gm_logo_mail->logo_use == '1') {
$smarty->assign('gm_logo_mail', $gm_logo_mail->get_logo());
}
// eof gm
if ($_GET['selected_box'] ?? null) {
$_GET['action']='';
$_GET['old_action']='';
}
if ((($_GET['action'] ?? '') == 'send_email_to_user') && ($_POST['customers_email_address'] ?? null) && !($_POST['back'] ?? null)) {
if($_SESSION['coo_page_token']->is_valid($_POST['page_token']))
{
switch ($_POST['customers_email_address']) {
case '***':
$mail_query = xtc_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS);
$mail_sent_to = TEXT_ALL_CUSTOMERS;
break;
case '**D':
$mail_query = xtc_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_newsletter = '1'");
$mail_sent_to = TEXT_NEWSLETTER_CUSTOMERS;
break;
default:
$customers_email_address = xtc_db_prepare_input($_POST['customers_email_address']);
$mail_query = xtc_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_email_address = '" . xtc_db_input($customers_email_address) . "'");
$mail_sent_to = $_POST['customers_email_address'];
break;
}
$coupon_query = xtc_db_query("select coupon_code from " . TABLE_COUPONS . " where coupon_id = '" . (int)$_GET['cid'] . "'");
$coupon_result = xtc_db_fetch_array($coupon_query);
$coupon_name_query = xtc_db_query("select coupon_name from " . TABLE_COUPONS_DESCRIPTION . " where coupon_id = '" . (int)$_GET['cid'] . "' and language_id = '" . $_SESSION['languages_id'] . "'");
$coupon_name = xtc_db_fetch_array($coupon_name_query);
$from = xtc_db_prepare_input($_POST['from']);
$subject = xtc_db_prepare_input($_POST['subject']);
while ($mail = xtc_db_fetch_array($mail_query)) {
// assign language to template for caching
$smarty->assign('language', $_SESSION['language']);
$smarty->caching = false;
// set dirs manual
$smarty->template_dir=DIR_FS_CATALOG . StaticGXCoreLoader::getThemeControl()->getThemeHtmlPath();
$smarty->config_dir=DIR_FS_CATALOG.'lang';
$themeControl = StaticGXCoreLoader::getThemeControl();
$smarty->assign('tpl_path', DIR_FS_CATALOG . StaticGXCoreLoader::getThemeControl()->getThemeHtmlPath());
$smarty->assign('logo_path', HTTP_SERVER . DIR_WS_CATALOG . $themeControl->getThemeImagePath());
$smarty->assign('MESSAGE', $_POST['message']);
$smarty->assign('COUPON_ID', $coupon_result['coupon_code']);
$smarty->assign('WEBSITE', HTTP_SERVER . DIR_WS_CATALOG);
if (defined('EMAIL_SIGNATURE') && defined('EMAIL_HTML_SIGNATURE')) {
$smarty->assign('EMAIL_SIGNATURE_HTML', EMAIL_HTML_SIGNATURE);
$smarty->assign('EMAIL_SIGNATURE_TEXT', EMAIL_SIGNATURE);
}
$html_mail = fetch_email_template($smarty, 'send_coupon', 'html');
$txt_mail = fetch_email_template($smarty, 'send_coupon', 'txt');
xtc_php_mail(EMAIL_BILLING_ADDRESS,EMAIL_BILLING_NAME, $mail['customers_email_address'] , $mail['customers_firstname'] . ' ' . $mail['customers_lastname'] , '', EMAIL_BILLING_REPLY_ADDRESS, EMAIL_BILLING_REPLY_ADDRESS_NAME, '', '', $subject, $html_mail , $txt_mail);
}
xtc_redirect(xtc_href_link(FILENAME_COUPON_ADMIN, 'mail_sent_to=' . urlencode($mail_sent_to)));
}
}
if ( (($_GET['action'] ?? '') == 'preview_email') && (!($_POST['customers_email_address'] ?? false)) ) {
$_GET['action'] = 'email';
$messageStack->add(ERROR_NO_CUSTOMER_SELECTED, 'error');
}
if ($_GET['mail_sent_to'] ?? false) {
$messageStack->add(sprintf(NOTICE_EMAIL_SENT_TO, $_GET['mail_sent_to']), 'notice');
}
switch ($_GET['action'] ?? '') {
// BOF GM_MOD
case 'voucher_set_inactive':
if($_SESSION['coo_page_token']->is_valid($_GET['page_token']))
{
xtc_db_query("update " . TABLE_COUPONS . " set coupon_active = 'N' where coupon_id='".(int)$_GET['cid']."'");
}
break;
case 'voucher_set_active':
$getCouponCodeQuery = xtc_db_query("SELECT coupon_code FROM " . TABLE_COUPONS . " WHERE coupon_id = '" . (int)$_GET['cid'] . "'");
$result = xtc_db_fetch_array($getCouponCodeQuery);
$couponCode = $result['coupon_code'];
$checkDuplicateCode = xtc_db_query("SELECT coupon_code FROM " . TABLE_COUPONS . " WHERE coupon_code = '" . xtc_db_input($couponCode) . "'");
if($_SESSION['coo_page_token']->is_valid($_GET['page_token']) && xtc_db_num_rows($checkDuplicateCode) <= 1)
{
xtc_db_query("update " . TABLE_COUPONS . " set coupon_active = 'Y' where coupon_id='".(int)$_GET['cid']."'");
}
else
{
$messageStack->add(ERROR_COUPON_EXISTS, 'error');
}
break;
case 'confirmdelete':
if($_SESSION['coo_page_token']->is_valid($_GET['page_token']))
{
xtc_db_query("DELETE FROM " . TABLE_COUPONS . " WHERE coupon_id='".(int)$_GET['cid']."'");
xtc_db_query("DELETE FROM coupons_description WHERE coupon_id='".(int)$_GET['cid']."'");
xtc_db_query("DELETE FROM coupon_email_track WHERE coupon_id='".(int)$_GET['cid']."'");
xtc_db_query("DELETE FROM coupon_redeem_track WHERE coupon_id='".(int)$_GET['cid']."'");
xtc_redirect(xtc_href_link('coupon_admin.php'));
}
break;
// EOF GM_MOD
case 'update':
if($_SESSION['coo_page_token']->is_valid($_POST['page_token']))
{
// get all _POST and validate
$_POST['coupon_code'] = trim($_POST['coupon_code']);
$languages = xtc_get_languages();
for ($i = 0, $n = sizeof($languages); $i < $n; $i++)
{
$language_id = $languages[$i]['id'];
if(array_key_exists($language_id, $_POST['coupon_name']) && array_key_exists($language_id, $_POST['coupon_desc']))
{
$_POST['coupon_name'][$language_id] = trim($_POST['coupon_name'][$language_id]);
$_POST['coupon_desc'][$language_id] = trim($_POST['coupon_desc'][$language_id]);
}
else
{
$_POST['coupon_name'][$language_id] = trim($_POST['coupon_name'][(string)$defaultLanguageId]);
$_POST['coupon_desc'][$language_id] = trim($_POST['coupon_desc'][(string)$defaultLanguageId]);
}
}
$_POST['coupon_amount'] = trim($_POST['coupon_amount']);
$update_errors = 0;
if (isset($_POST['coupon_name']) == false || isset($_POST['coupon_name'][$language_id]) == false)
{
$update_errors = 1;
$messageStack->add(ERROR_NO_COUPON_NAME, 'error');
}
if ((!$_POST['coupon_amount']) && (!$_POST['coupon_free_ship']))
{
$update_errors = 1;
$messageStack->add(ERROR_NO_COUPON_AMOUNT, 'error');
}
if (!empty($_POST['coupon_free_ship']) && (strpos($_POST['coupon_amount'], '%') !== false))
{
$update_errors = 1;
$messageStack->add(ERROR_PERCENT_VALUE_AND_FREE_SHIPPING, 'error');
}
if (!$_POST['coupon_code'])
{
$coupon_code = create_coupon_code();
}
else
{
$coupon_code = xtc_db_prepare_input($_POST['coupon_code']);
$query1 = xtc_db_query("select * from " . TABLE_COUPONS . " where coupon_code = '" . xtc_db_input($coupon_code) . "'");
if (xtc_db_num_rows($query1) > 0 && xtc_db_fetch_array($query1)['coupon_id'] !== $_GET['cid'])
{
$update_errors = 1;
$messageStack->add(ERROR_COUPON_EXISTS, 'error');
}
}
if ($update_errors != 0 && $_GET['oldaction'] !== 'new')
{
$_GET['action'] = 'voucheredit';
}
elseif ($update_errors != 0 && $_GET['oldaction'] === 'new')
{
$_GET['action'] = 'new';
}
else
{
$_GET['action'] = 'update_preview';
}
}
break;
case 'update_confirm':
if($_SESSION['coo_page_token']->is_valid($_POST['page_token']))
{
if ( !empty($_POST['back']) )
{
$_GET['action'] = $_GET['oldaction'];
unset($_GET['oldaction']);
}
else
{
$coupon_type = "F";
if (substr($_POST['coupon_amount'], -1) == '%')
$coupon_type='P';
if ($_POST['coupon_free_ship'] && empty($_POST['coupon_free_ship']) == false)
$coupon_type = 'S';
$sql_data_array = array('coupon_code' => xtc_db_prepare_input($_POST['coupon_code']),
'coupon_amount' => xtc_db_prepare_input($_POST['coupon_amount']),
'coupon_type' => xtc_db_prepare_input($coupon_type),
'uses_per_coupon' => xtc_db_prepare_input($_POST['coupon_uses_coupon']),
'uses_per_user' => xtc_db_prepare_input($_POST['coupon_uses_user']),
'coupon_minimum_order' => xtc_db_prepare_input($_POST['coupon_min_order']),
'restrict_to_products' => xtc_db_prepare_input($_POST['coupon_products']),
'restrict_to_categories' => xtc_db_prepare_input($_POST['coupon_categories']),
'coupon_start_date' => $_POST['coupon_startdate'],
'coupon_expire_date' => $_POST['coupon_finishdate'],
'date_created' => 'now()',
'date_modified' => 'now()');
$languages = xtc_get_languages();
for ($i = 0, $n = sizeof($languages); $i < $n; $i++)
{
$language_id = $languages[$i]['id'];
$sql_data_marray[$i] = array('coupon_name' => xtc_db_prepare_input($_POST['coupon_name'][$language_id]),
'coupon_description' => xtc_db_prepare_input($_POST['coupon_desc'][$language_id])
);
}
// $query = xtc_db_query("select coupon_code from " . TABLE_COUPONS . " where coupon_code = '" . xtc_db_prepare_input($_POST['coupon_code']) . "'");
// if (!xtc_db_num_rows($query)) {
if ($_GET['oldaction']=='voucheredit')
{
xtc_db_perform(TABLE_COUPONS, $sql_data_array, 'update', "coupon_id='" . (int)$_GET['cid']."'");
for ($i = 0, $n = count($languages); $i < $n; $i++)
{
if((bool)$languages[$i]['status_admin'] !== true) { continue; }
$language_id = $languages[$i]['id'];
$update = xtc_db_query("update " . TABLE_COUPONS_DESCRIPTION . " set coupon_name = '" . xtc_db_input($_POST['coupon_name'][$language_id]) . "', coupon_description = '" . xtc_db_input($_POST['coupon_desc'][$language_id]) . "' where coupon_id = '" . (int)$_GET['cid'] . "' and language_id = '" . (int)$language_id . "'");
}
}
else
{
$query = xtc_db_perform(TABLE_COUPONS, $sql_data_array);
$insert_id = xtc_db_insert_id();
for ($i = 0, $n = count($languages); $i < $n; $i++)
{
$language_id = $languages[$i]['id'];
$sql_data_marray[$i]['coupon_id'] = $insert_id;
$sql_data_marray[$i]['language_id'] = $language_id;
xtc_db_perform(TABLE_COUPONS_DESCRIPTION, $sql_data_marray[$i]);
}
// }
}
}
}
}
$t_status = 'Y';
if(isset($_GET['status']))
{
$t_status = $_GET['status'];
}
$t_page = 1;
if(isset($_GET['page']) && (int)$_GET['page'] > 0)
{
$t_page = (int)$_GET['page'];
}
$languageProvider = MainFactory::create('LanguageProvider', StaticGXCoreLoader::getDatabaseQueryBuilder());
$defaultLanguageId = $languageProvider->getDefaultLanguageId();
$GLOBALS['messageStack']->add_additional_class('breakpoint-large');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="x-ua-compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $_SESSION['language_charset']; ?>">
<title><?php echo TITLE; ?></title>
<link rel="stylesheet" type="text/css" href="html/assets/styles/legacy/stylesheet.css">
<script type="text/javascript" src="html/assets/javascript/legacy/gm/general.js"></script>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->
<!-- body //-->
<table border="0" style="width:100%; height:100%;" cellspacing="2" cellpadding="2">
<tr>
<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
</table></td>
<!-- body_text //-->
<?php
switch ($_GET['action'] ?? '') {
case 'voucherreport':
?>
<td class="boxCenter" width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td>
<div class="pageHeading"><?php echo TEXT_HEADING_COUPON_REPORT; ?></div>
</td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td valign="top"><table class="gx-modules-table left-table" border="0" width="100%" cellspacing="0" cellpadding="2">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent"><?php echo CUSTOMER_ID; ?></td>
<td class="dataTableHeadingContent" align="center"><?php echo CUSTOMER_NAME; ?></td>
<td class="dataTableHeadingContent" align="center"><?php echo IP_ADDRESS; ?></td>
<td class="dataTableHeadingContent" align="center"><?php echo REDEEM_DATE; ?></td>
<td class="dataTableHeadingContent"></td>
</tr>
<?php
$cc_query_raw = "select * from " . TABLE_COUPON_REDEEM_TRACK . " where coupon_id = '" . (int)$_GET['cid'] . "'";
$cc_split = new splitPageResults($_GET['page'], '20', $cc_query_raw, $cc_query_numrows);
$cc_query = xtc_db_query($cc_query_raw);
if(xtc_db_num_rows($cc_query) == 0)
{
$gmLangEditTextManager = MainFactory::create('LanguageTextManager', 'gm_lang_edit', $_SESSION['languages_id']);
echo '
<tr class="gx-container no-hover">
<td colspan="5" class="text-center">' . $gmLangEditTextManager->get_text('TEXT_NO_RESULT') . '</td>
</tr>
';
}
while ($cc_list = xtc_db_fetch_array($cc_query)) {
$rows++;
if (strlen($rows) < 2) {
$rows = '0' . $rows;
}
if (((!$_GET['uid']) || (@$_GET['uid'] == $cc_list['unique_id'])) && (!$cInfo)) {
$cInfo = new objectInfo($cc_list);
}
if ( (is_object($cInfo)) && ($cc_list['unique_id'] == $cInfo->unique_id) ) {
echo ' <tr class="dataTableRowSelected active" data-gx-extension="link" data-link-url="' . xtc_href_link('coupon_admin.php', xtc_get_all_get_params(array('cid', 'action', 'uid')) . 'cid=' . $cInfo->coupon_id . '&action=voucherreport&uid=' . $cinfo->unique_id) . '">' . "\n";
} else {
echo ' <tr class="dataTableRow" data-gx-extension="link" data-link-url="' . xtc_href_link('coupon_admin.php', xtc_get_all_get_params(array('cid', 'action', 'uid')) . 'cid=' . $cc_list['coupon_id'] . '&action=voucherreport&uid=' . $cc_list['unique_id']) . '">' . "\n";
}
$customer_query = xtc_db_query("select customers_firstname, customers_lastname from " . TABLE_CUSTOMERS . " where customers_id = '" . $cc_list['customer_id'] . "'");
$customer = xtc_db_fetch_array($customer_query);
?>
<td class="dataTableContent"><?php echo $cc_list['customer_id']; ?></td>
<td class="dataTableContent" align="left"><?php echo $customer['customers_firstname'] . ' ' . $customer['customers_lastname']; ?> </td>
<td class="dataTableContent" align="left"><?php echo $cc_list['redeem_ip']; ?> </td>
<td class="dataTableContent" align="left"><?php echo xtc_date_short($cc_list['redeem_date']); ?></td>
<td class="dataTableContent"></td>
</tr>
<?php
}
?>
</table>
<?php if (is_object($cc_split)) { ?>
<table border="0" cellspacing="3" cellpadding="3" class="gx-container paginator left-table">
<tr>
<td class="pagination-control">
<?php echo $cc_split->display_count($cc_query_numrows, '20', $_GET['page'],
TEXT_DISPLAY_NUMBER_OF_COUPONS); ?>
<span class="page-number-information">
<?php echo $cc_split->display_links($cc_query_numrows, '20',
MAX_DISPLAY_PAGE_LINKS, $_GET['page'],
xtc_get_all_get_params(array(
'page',
'uid'
))); ?>
</span>
</td>
</tr>
</table>
<?php } ?>
<?php
$heading = array();
$contents = array();
$buttons = '';
$formIsEditable = false;
$formAction = '';
$formMethod = 'post';
$formAttributes = '';
$coupon_description_query = xtc_db_query("select coupon_name from " . TABLE_COUPONS_DESCRIPTION . " where coupon_id = '" . (int)$_GET['cid'] . "' and language_id = '" . $_SESSION['languages_id'] . "'");
$coupon_desc = xtc_db_fetch_array($coupon_description_query);
$count_customers = xtc_db_query("select * from " . TABLE_COUPON_REDEEM_TRACK . " where coupon_id = '" . (int)$_GET['cid'] . "' and customer_id = '" . (isset($cInfo) ? $cInfo->customer_id : 0). "'");
$heading[] = array('text' => '<b>[' . (int)$_GET['cid'] . '] ' . COUPON_NAME . ': ' . $coupon_desc['coupon_name'] . '</b>');
$contents[] = array('text' => '<b>' . TEXT_REDEMPTIONS . '</b>');
$contents[] = array('text' => TEXT_REDEMPTIONS_TOTAL . ' = ' . xtc_db_num_rows($cc_query));
$contents[] = array('text' => TEXT_REDEMPTIONS_CUSTOMER . ' = ' . xtc_db_num_rows($count_customers));
$contents[] = array('text' => '');
$configurationBoxContentView = MainFactory::create_object('ConfigurationBoxContentView');
$configurationBoxContentView->setOldSchoolHeading($heading);
$configurationBoxContentView->setOldSchoolContents($contents);
$configurationBoxContentView->set_content_data('buttons', $buttons);
$configurationBoxContentView->setFormEditable($formIsEditable);
$configurationBoxContentView->setFormAction($formAction);
echo $configurationBoxContentView->get_html();
echo '</td></tr>
</table></td>' . "\n";
break;
case 'preview_email':
if($_SESSION['coo_page_token']->is_valid($_POST['page_token']))
{
$coupon_query = xtc_db_query("select coupon_code from " .TABLE_COUPONS . " where coupon_id = '" . (int)$_GET['cid'] . "'");
$coupon_result = xtc_db_fetch_array($coupon_query);
$coupon_name_query = xtc_db_query("select coupon_name from " . TABLE_COUPONS_DESCRIPTION . " where coupon_id = '" . (int)$_GET['cid'] . "' and language_id = '" . $_SESSION['languages_id'] . "'");
$coupon_name = xtc_db_fetch_array($coupon_name_query);
switch ($_POST['customers_email_address'])
{
case '***':
$mail_sent_to = TEXT_ALL_CUSTOMERS;
break;
case '**D':
$mail_sent_to = TEXT_NEWSLETTER_CUSTOMERS;
break;
default:
$mail_sent_to = $_POST['customers_email_address'];
break;
}
?>
<td class="boxCenter" width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0" class="gx-container breakpoint-large">
<tr>
<td>
<div class="pageHeading" style="background-image:url(html/assets/images/legacy/gm_icons/hilfsprogr2.png)"><?php echo HEADING_TITLE; ?></div>
</td>
</tr>
<tr>
<tr><?php echo xtc_draw_form('mail', FILENAME_COUPON_ADMIN, 'action=send_email_to_user&cid=' . (int)$_GET['cid']); ?>
<td><table border="0" width="100%" cellpadding="0" cellspacing="2" class="gm_border dataTableRow gx-configuration left-table" style="background-color: transparent; border: 0; width: 100%;">
<tr>
<td class="configuration-label"><?php echo TEXT_CUSTOMER; ?></td>
<td><?php echo $mail_sent_to; ?></td>
</tr>
<tr>
<td class="configuration-label"><?php echo TEXT_COUPON; ?></td>
<td><?php echo htmlspecialchars_wrapper(stripslashes($coupon_name['coupon_name'])); ?></td>
</tr>
<tr>
<td class="configuration-label"><?php echo TEXT_FROM; ?></td>
<td><?php echo htmlspecialchars_wrapper(stripslashes($_POST['from'])); ?></td>
</tr>
<tr>
<td class="configuration-label"><?php echo TEXT_SUBJECT; ?></td>
<td><?php echo htmlspecialchars_wrapper(stripslashes($_POST['subject'])); ?></td>
</tr>
<tr>
<td class="configuration-label"><?php echo TEXT_MESSAGE; ?></td>
<td><?php echo nl2br(htmlspecialchars_wrapper(stripslashes($_POST['message']))); ?></td>
</tr>
</table>
<div class="text-right bottom-save-bar-content" style="padding-right: 12px;">
<?php echo '<a class="button" onClick="this.blur();" href="' . xtc_href_link(FILENAME_COUPON_ADMIN) . '">' . BUTTON_CANCEL . '</a>'; ?>
<?php echo '<input type="submit" class="btn btn-primary" onClick="this.blur();" value="' . BUTTON_SEND_EMAIL . '"/>'; ?>
</div>
<?php
/* Re-Post all POST'ed variables */
reset($_POST);
foreach($_POST as $key => $value)
{
if (!is_array($_POST[$key]))
{
if($key != 'page_token')
echo xtc_draw_hidden_field($key, htmlspecialchars_wrapper(stripslashes($value)));
}
}
echo xtc_draw_hidden_field('page_token', $t_page_token);
?>
</td>
</form></tr>
<?php
break;
}
case 'email':
$coupon_query = xtc_db_query("select coupon_code from " . TABLE_COUPONS . " where coupon_id = '" . (int)$_GET['cid'] . "'");
$coupon_result = xtc_db_fetch_array($coupon_query);
$coupon_name_query = xtc_db_query("select coupon_name from " . TABLE_COUPONS_DESCRIPTION . " where coupon_id = '" . (int)$_GET['cid'] . "' and language_id = '" . $_SESSION['languages_id'] . "'");
$coupon_name = xtc_db_fetch_array($coupon_name_query);
?>
<td class="boxCenter" width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2" class="breakpoint-large gx-container">
<tr>
<td width="100%">
<div class="pageHeading" style="background-image:url(html/assets/images/legacy/gm_icons/hilfsprogr2.png)"><?php echo HEADING_TITLE; ?></div>
</td>
</tr>
<tr>
<tr><?php echo xtc_draw_form('mail', FILENAME_COUPON_ADMIN, 'action=preview_email&cid='. (int)$_GET['cid']); ?>
<td><table width="100%" border="0" cellpadding="0" cellspacing="2" class="gm_border dataTableRow left-table gx-configuration" style="background-color: transparent; border: 0; width: 100%;">
<?php
$customers = array();
$customers[] = array('id' => '', 'text' => TEXT_SELECT_CUSTOMER);
$customers[] = array('id' => '***', 'text' => TEXT_ALL_CUSTOMERS);
$customers[] = array('id' => '**D', 'text' => TEXT_NEWSLETTER_CUSTOMERS);
$mail_query = xtc_db_query("select customers_email_address, customers_firstname, customers_lastname from " . TABLE_CUSTOMERS . " order by customers_lastname");
if(xtc_db_num_rows($mail_query) == 0)
{
$gmLangEditTextManager = MainFactory::create('LanguageTextManager', 'gm_lang_edit', $_SESSION['languages_id']);
echo '
<tr class="gx-container no-hover">
<td colspan="2" class="text-center">' . $gmLangEditTextManager->get_text('TEXT_NO_RESULT') . '</td>
</tr>
';
}
while($customers_values = xtc_db_fetch_array($mail_query)) {
$customers[] = array('id' => $customers_values['customers_email_address'],
'text' => $customers_values['customers_lastname'] . ', ' . $customers_values['customers_firstname'] . ' (' . $customers_values['customers_email_address'] . ')');
}
?>
<tr>
<td class="main configuration-label"><?php echo TEXT_COUPON; ?> </td>
<td><?php echo htmlspecialchars_wrapper(stripslashes($coupon_name['coupon_name'])); ?></td>
</tr>
<tr>
<td class="main configuration-label"><?php echo TEXT_CUSTOMER; ?> </td>
<td><?php echo xtc_draw_pull_down_menu('customers_email_address', $customers, $_GET['customer'] ?? null);?></td>
</tr>
<tr>
<td class="main configuration-label"><?php echo TEXT_FROM; ?> </td>
<td><?php echo xtc_draw_input_field('from', EMAIL_FROM); ?></td>
</tr>
<?php
/*
<tr>
<td class="main"><?php echo TEXT_RESTRICT; ?> </td>
<td><?php echo xtc_draw_checkbox_field('customers_restrict', $customers_restrict);?></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
*/
?>
<tr>
<td class="main configuration-label"><?php echo TEXT_SUBJECT; ?> </td>
<td><?php echo xtc_draw_input_field('subject'); ?></td>
</tr>
<tr style="height: 100px;">
<td valign="top" class="main configuration-label"><?php echo TEXT_MESSAGE; ?> </td>
<td>
<textarea name="message" id="message" style="height: 100px;"></textarea>
</td>
</tr>
</table>
<div class="text-right bottom-save-bar-content" style="padding-right: 12px;">
<?php echo xtc_draw_hidden_field('page_token', $t_page_token); ?>
<?php echo '<a class="button" onClick="this.blur();" href="' . xtc_href_link(FILENAME_COUPON_ADMIN) . '">' . BUTTON_CANCEL . '</a>'; ?>
<?php echo '<input type="submit" class="btn btn-primary" onClick="this.blur();" value="' . BUTTON_SEND_EMAIL . '"/>'; ?>
</div>
</td>
</form></tr>
</tr>
</td>
<?php
break;
case 'update_preview':
?>
<td class="boxCenter" width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2" class="breakpoint-large">
<tr>
<td width="100%">
<div class="pageHeading" style="background-image:url(html/assets/images/legacy/gm_icons/hilfsprogr2.png)"><?php echo HEADING_TITLE; ?></div>
</td>
</tr>
<tr>
<td class="dataTableRow gx-container">
<?php echo xtc_draw_form('coupon', 'coupon_admin.php', 'action=update_confirm&oldaction=' . $_GET['oldaction'] . '&cid=' . (int)$_GET['cid'] . '&page='.$t_page.'&status='.$t_status); ?>
<table border="0" width="100%" cellspacing="0" cellpadding="2" class="gx-configuration breakpoint-large" style="background-color: transparent; border: 0; width: 100%;">
<?php
$languages = xtc_get_languages();
for ($i = 0, $n = count($languages); $i < $n; $i++) {
if((bool)$languages[$i]['status_admin'] !== true) { continue; }
$language_id = $languages[$i]['id'];
?>
<tr>
<td class="main" width="150" align="left configuration-label"><?php echo COUPON_NAME; ?></td>
<td class="main" align="left"><?php echo htmlspecialchars_wrapper(stripslashes($_POST['coupon_name'][$language_id])); ?></td>
</tr>
<?php
}
$languages = xtc_get_languages();
for ($i = 0, $n = count($languages); $i < $n; $i++) {
if((bool)$languages[$i]['status_admin'] !== true) { continue; }
$language_id = $languages[$i]['id'];
?>
<tr>
<td class="main" align="left configuration-label"><?php echo COUPON_DESC; ?></td>
<td class="main" align="left"><?php echo htmlspecialchars_wrapper(stripslashes($_POST['coupon_desc'][$language_id])); ?></td>
</tr>
<?php
}
?>
<tr>
<td class="main" align="left configuration-label"><?php echo COUPON_AMOUNT; ?></td>
<td class="main" align="left"><?php echo htmlspecialchars_wrapper(stripslashes($_POST['coupon_amount'])); ?></td>
</tr>
<tr>
<td class="main" align="left configuration-label"><?php echo COUPON_MIN_ORDER; ?></td>
<td class="main" align="left"><?php echo htmlspecialchars_wrapper(stripslashes($_POST['coupon_min_order'])); ?></td>
</tr>
<tr>
<td class="main" align="left configuration-label"><?php echo COUPON_FREE_SHIP; ?></td>
<?php
if (!empty($_POST['coupon_free_ship'])) {
?>
<td class="main" align="left configuration-label"><?php echo TEXT_FREE_SHIPPING; ?></td>
<?php
} else {
?>
<td class="main" align="left configuration-label"><?php echo TEXT_NO_FREE_SHIPPING; ?></td>
<?php
}
?>
</tr>
<tr>
<td class="main" align="left configuration-label"><?php echo COUPON_CODE; ?></td>
<?php
if ($_POST['coupon_code']) {
$c_code = htmlspecialchars_wrapper(stripslashes($_POST['coupon_code']));
} else {
$c_code = $coupon_code;
}
?>
<td class="main" align="left configuration-label"><?php echo $coupon_code; ?></td>
</tr>
<tr>
<td class="main" align="left configuration-label"><?php echo COUPON_USES_COUPON; ?></td>
<td class="main" align="left"><?php echo htmlspecialchars_wrapper(stripslashes($_POST['coupon_uses_coupon'])); ?></td>
</tr>
<tr>
<td class="main" align="left configuration-label"><?php echo COUPON_USES_USER; ?></td>
<td class="main" align="left"><?php echo htmlspecialchars_wrapper(stripslashes($_POST['coupon_uses_user'])); ?></td>
</tr>
<tr>
<td class="main" align="left configuration-label"><?php echo COUPON_PRODUCTS; ?></td>
<td class="main" align="left"><?php echo htmlspecialchars_wrapper(stripslashes($_POST['coupon_products'])); ?></td>
</tr>
<tr>
<td class="main" align="left configuration-label"><?php echo COUPON_CATEGORIES; ?></td>
<td class="main" align="left"><?php echo htmlspecialchars_wrapper(stripslashes($_POST['coupon_categories'])); ?></td>
</tr>
<tr>
<td class="main" align="left configuration-label"><?php echo COUPON_STARTDATE; ?></td>
<?php
$start_date = date(DATE_FORMAT, mktime(0, 0, 0, $_POST['coupon_startdate_month'],$_POST['coupon_startdate_day'] ,$_POST['coupon_startdate_year'] ));
?>
<td class="main" align="left"><?php echo $start_date; ?></td>
</tr>
<tr>
<td class="main" align="left configuration-label"><?php echo COUPON_FINISHDATE; ?></td>
<?php
$finish_date = date(DATE_FORMAT, mktime(0, 0, 0, $_POST['coupon_finishdate_month'],$_POST['coupon_finishdate_day'] ,$_POST['coupon_finishdate_year'] ));
// echo date('Y-m-d', mktime(0, 0, 0, $_POST['coupon_startdate_month'],$_POST['coupon_startdate_day'] ,$_POST['coupon_startdate_year'] ));
?>
<td class="main" align="left configuration-label"><?php echo $finish_date; ?></td>
</tr>
<tr>
</tr>
<tr>
<td colspan="3" class="text-right bottom-save-bar-content">
<?php
$languages = xtc_get_languages();
for ($i = 0, $n = count($languages); $i < $n; $i++) {
$language_id = $languages[$i]['id'];
if(!empty($_POST['coupon_name'][$language_id]) && !empty($_POST['coupon_desc'][$language_id]))
{
echo xtc_draw_hidden_field('coupon_name[' . $languages[$i]['id'] . ']', $_POST['coupon_name'][$language_id]);
echo xtc_draw_hidden_field('coupon_desc[' . $languages[$i]['id'] . ']', $_POST['coupon_desc'][$language_id]);
}
else
{
echo xtc_draw_hidden_field('coupon_name[' . $languages[$i]['id'] . ']', $_POST['coupon_name'][(string)$defaultLanguageId]);
echo xtc_draw_hidden_field('coupon_desc[' . $languages[$i]['id'] . ']', $_POST['coupon_desc'][(string)$defaultLanguageId]);
}
}
echo xtc_draw_hidden_field('coupon_amount', $_POST['coupon_amount']);
echo xtc_draw_hidden_field('coupon_min_order', $_POST['coupon_min_order']);
if(isset($_POST['coupon_free_ship']) && empty($_POST['coupon_free_ship']) == false)
{
echo xtc_draw_hidden_field('coupon_free_ship', $_POST['coupon_free_ship']);
}
else
{
echo xtc_draw_hidden_field('coupon_free_ship', '');
}
echo xtc_draw_hidden_field('coupon_code', $c_code);
echo xtc_draw_hidden_field('coupon_uses_coupon', $_POST['coupon_uses_coupon']);
echo xtc_draw_hidden_field('coupon_uses_user', $_POST['coupon_uses_user']);
echo xtc_draw_hidden_field('coupon_products', $_POST['coupon_products']);
echo xtc_draw_hidden_field('coupon_categories', $_POST['coupon_categories']);
echo xtc_draw_hidden_field('coupon_startdate', date('Y-m-d', mktime(0, 0, 0, $_POST['coupon_startdate_month'],$_POST['coupon_startdate_day'] ,$_POST['coupon_startdate_year'] )));
echo xtc_draw_hidden_field('coupon_finishdate', date('Y-m-d', mktime(0, 0, 0, $_POST['coupon_finishdate_month'],$_POST['coupon_finishdate_day'] ,$_POST['coupon_finishdate_year'] )));
?>
<?php echo xtc_draw_hidden_field('page_token', $t_page_token); ?>
<?php echo '<input type="submit" name="back" class="btn" onClick="this.blur();" value="' . BUTTON_BACK . '"/>'; ?>
<?php echo '<input type="submit" class="btn btn-primary" onClick="this.blur();" value="' . BUTTON_CONFIRM . '"/>'; ?>
</td>
</tr>
</table>
</form>
</tr>
</table></td>
<?php
break;
case 'voucheredit':
$languages = xtc_get_languages();
for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {
$language_id = $languages[$i]['id'];
$coupon_query = xtc_db_query("select coupon_name,coupon_description from " . TABLE_COUPONS_DESCRIPTION . " where coupon_id = '" . (int)$_GET['cid'] . "' and language_id = '" . $language_id . "'");
$coupon = xtc_db_fetch_array($coupon_query);
$coupon_name[$language_id] = $coupon['coupon_name'];
$coupon_desc[$language_id] = $coupon['coupon_description'];
}
$coupon_query = xtc_db_query("select coupon_code, coupon_amount, coupon_type, coupon_minimum_order, coupon_start_date, coupon_expire_date, uses_per_coupon, uses_per_user, restrict_to_products, restrict_to_categories from " . TABLE_COUPONS . " where coupon_id = '" . (int)$_GET['cid'] . "'");
$coupon = xtc_db_fetch_array($coupon_query);
$coupon_amount = $coupon['coupon_amount'];
if ($coupon['coupon_type']=='P') {
$coupon_amount .= '%';
}
if ($coupon['coupon_type']=='S') {
$coupon_free_ship .= true;
}
$coupon_min_order = $coupon['coupon_minimum_order'];
$coupon_code = $coupon['coupon_code'];
$coupon_uses_coupon = $coupon['uses_per_coupon'];
$coupon_uses_user = $coupon['uses_per_user'];
$coupon_products = $coupon['restrict_to_products'];
$coupon_categories = $coupon['restrict_to_categories'];
// BOF GM_MOD
$coupon_start_date = substr($coupon['coupon_start_date'], 0, 10);
$coupon_expire_date = substr($coupon['coupon_expire_date'], 0, 10);
// EOF GM_MOD
case 'new':
// set some defaults
// BOF GM_MOD
if($_GET['action'] == 'new')
{
$t_page = 1;
$t_status = 'Y';
}
if($_POST)
{
$languages = xtc_get_languages();
for ($i = 0, $n = count($languages); $i < $n; $i++) {
$language_id = $languages[$i]['id'];
$coupon_name[$language_id] = $_POST['coupon_name'][(string)$defaultLanguageId];
$coupon_desc[$language_id] = $_POST['coupon_description'][(string)$defaultLanguageId];
if(isset($_POST['coupon_name']) && array_key_exists($language_id, $_POST['coupon_name']) && isset($_POST['coupon_description']) && array_key_exists($language_id, $_POST['coupon_description']))
{
$coupon_name[$language_id] = $_POST['coupon_name'][$language_id];
$coupon_desc[$language_id] = $_POST['coupon_description'][$language_id];
}
}
$coupon_amount = $_POST['coupon_amount'];
if ($coupon['coupon_type']=='P') {
$coupon_amount .= '%';
}
$coupon_free_ship = false;
if(isset($_POST['coupon_free_ship']) && empty($_POST['coupon_free_ship']) == false)
{
$coupon_free_ship = true;
}
$coupon_min_order = $_POST['coupon_minimum_order'];
$coupon_code = $_POST['coupon_code'];
$coupon_uses_coupon = $_POST['uses_per_coupon'];
$coupon_uses_user = $_POST['uses_per_user'];
$coupon_products = $_POST['restrict_to_products'];
$coupon_categories = $_POST['restrict_to_categories'];
// BOF GM_MOD
$coupon_start_date = substr($_POST['coupon_start_date'], 0, 10);
$coupon_expire_date = substr($_POST['coupon_expire_date'], 0, 10);
// EOF GM_MOD
}
if (!isset($coupon_uses_user)) $coupon_uses_user=1;
elseif(empty($coupon_uses_user)) $coupon_uses_user='';
if(empty($coupon_uses_coupon)) $coupon_uses_coupon='';
// EOF GM_MOD
?>
<td class="boxCenter" width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td width="100%">
<div class="pageHeading" style="background-image:url(html/assets/images/legacy/gm_icons/hilfsprogr2.png)"><?php echo HEADING_TITLE; ?></div>
</td>
</tr>
<tr>
<td class="gx-container breakpoint-large">
<?php
echo xtc_draw_form('coupon', 'coupon_admin.php', 'action=update&oldaction='.($_GET['action']??'') . '&cid=' . (int)($_GET['cid']??null) . '&page='.$t_page.'&status='.$t_status,'post', 'enctype="multipart/form-data"');
?>
<table border="0" width="100%" cellspacing="0" cellpadding="6" class="gm_border dataTableRow left-table gx-configuration" style="background-color:transparent; border: 0; width: 100%;" data-gx-widget="checkbox">
<?php
$languages = xtc_get_languages();
for ($i = 0, $n = count($languages); $i < $n; $i++) {
if((bool)$languages[$i]['status_admin'] !== true) { continue; }
$language_id = $languages[$i]['id'];
?>
<tr>
<td align="left" class="main configuration-label"><?php if ($i==0) echo COUPON_NAME; ?></td>
<td align="left"><?php echo xtc_draw_input_field('coupon_name[' . $languages[$i]['id'] . ']', (isset($coupon_name)?$coupon_name[$language_id]:''))?> <span class="flag-icon flag-icon-<?= $languages[$i]['code'] ?>"></span></td>
<td align="left" class="main" width="40%"><?php if ($i==0) echo COUPON_NAME_HELP; ?></td>
</tr>
<?php
}
$languages = xtc_get_languages();
for ($i = 0, $n = count($languages); $i < $n; $i++) {
if((bool)$languages[$i]['status_admin'] !== true) { continue; }
$language_id = $languages[$i]['id'];
?>
<tr>
<td align="left" valign="top" class="main configuration-label"><?php if ($i==0) echo COUPON_DESC; ?></td>
<td align="left" valign="top"><?php echo xtc_draw_textarea_field('coupon_desc[' . $languages[$i]['id'] . ']','physical','24','3', (isset($coupon_desc)?$coupon_desc[$language_id]:null))?> <span class="flag-icon flag-icon-<?= $languages[$i]['code'] ?>"></span></td>
<td align="left" valign="top" class="main"><?php if ($i==0) echo COUPON_DESC_HELP; ?></td>
</tr>
<?php
}
?>
<tr>
<td align="left" class="main configuration-label"><?php echo COUPON_AMOUNT; ?></td>
<td align="left"><?php echo xtc_draw_input_field('coupon_amount', $coupon_amount??''); ?></td>
<td align="left" class="main"><?php echo COUPON_AMOUNT_HELP; ?></td>
</tr>
<tr>
<td align="left" class="main configuration-label"><?php echo COUPON_MIN_ORDER; ?></td>
<td align="left"><?php echo xtc_draw_input_field('coupon_min_order', $coupon_min_order??''); ?></td>
<td align="left" class="main"><?php echo COUPON_MIN_ORDER_HELP; ?></td>
</tr>
<tr>
<td align="left" class="main configuration-label"><?php echo COUPON_FREE_SHIP; ?></td>
<td align="left"><?php echo xtc_draw_checkbox_field('coupon_free_ship', $coupon_free_ship??''); ?></td>
<td align="left" class="main"><?php echo COUPON_FREE_SHIP_HELP; ?></td>
</tr>
<tr>
<td align="left" class="main configuration-label"><?php echo COUPON_CODE; ?></td>
<td align="left"><?php echo xtc_draw_input_field('coupon_code', $coupon_code??''); ?></td>
<td align="left" class="main"><?php echo COUPON_CODE_HELP; ?></td>
</tr>
<tr>
<td align="left" class="main configuration-label"><?php echo COUPON_USES_COUPON; ?></td>
<td align="left"><?php echo xtc_draw_input_field('coupon_uses_coupon', $coupon_uses_coupon??''); ?></td>
<td align="left" class="main"><?php echo COUPON_USES_COUPON_HELP; ?></td>
</tr>
<tr>
<td align="left" class="main configuration-label"><?php echo COUPON_USES_USER; ?></td>
<td align="left"><?php echo xtc_draw_input_field('coupon_uses_user', $coupon_uses_user??''); ?></td>
<td align="left" class="main"><?php echo COUPON_USES_USER_HELP; ?></td>
</tr>
<tr>
<td align="left" class="main configuration-label"><?php echo COUPON_PRODUCTS; ?></td>
<td align="left"><?php echo xtc_draw_input_field('coupon_products', $coupon_products??''); ?> <A HREF="validproducts.php" TARGET="_blank" ONCLICK="window.open('validproducts.php', 'Valid_Products', 'scrollbars=yes,resizable=yes,menubar=yes,width=600,height=600'); return false"><?php echo GM_VIEW; // BOF GM_MOD EOF ?></A></td>
<td align="left" class="main"><?php echo COUPON_PRODUCTS_HELP; ?></td>
</tr>
<tr>
<td align="left" class="main configuration-label"><?php echo COUPON_CATEGORIES; ?></td>
<td align="left"><?php echo xtc_draw_input_field('coupon_categories', $coupon_categories??''); ?> <A HREF="validcategories.php" TARGET="_blank" ONCLICK="window.open('validcategories.php', 'Valid_Categories', 'scrollbars=yes,resizable=yes,menubar=yes,width=600,height=600'); return false"><?php echo GM_VIEW; // BOF GM_MOD EOF ?></A></td>
<td align="left" class="main"><?php echo COUPON_CATEGORIES_HELP; ?></td>
</tr>
<tr>
<?php
// BOF GM_MOD
if(!empty($coupon_start_date)){
$coupon_startdate = explode('-', $coupon_start_date);
}
// EOF GM_MOD
elseif (!($_POST['coupon_startdate']??null)) {
$coupon_startdate = explode('-', date('Y-m-d'));
}
else {
$coupon_startdate = explode('-', $_POST['coupon_startdate']??'');
}
// BOF GM_MOD
if(!empty($coupon_expire_date)){
$coupon_finishdate = explode('-', $coupon_expire_date);
}
// EOF GM_MOD
elseif (!($_POST['coupon_finishdate']??null)) {
$coupon_finishdate = explode('-', date('Y-m-d'));
$coupon_finishdate[0] = $coupon_finishdate[0] + 1;
}
else {
$coupon_finishdate = explode('-', $_POST['coupon_finishdate']??'');
}
?>
<td align="left" class="main configuration-label"><?php echo COUPON_STARTDATE; ?></td>
<td align="left" class="date-selector-wrapper"><?php echo xtc_draw_date_selector('coupon_startdate', mktime(0,0,0, $coupon_startdate[1], $coupon_startdate[2], $coupon_startdate[0])); ?></td>
<td align="left" class="main"><?php echo COUPON_STARTDATE_HELP; ?></td>
</tr>
<tr>
<td align="left" class="main configuration-label"><?php echo COUPON_FINISHDATE; ?></td>
<td align="left" class="date-selector-wrapper"><?php echo xtc_draw_date_selector('coupon_finishdate', mktime(0,0,0, $coupon_finishdate[1], $coupon_finishdate[2], $coupon_finishdate[0])); ?></td>
<td align="left" class="main"><?php echo COUPON_FINISHDATE_HELP; ?></td>
</tr>
<tr>
<td class="text-right bottom-save-bar-content" colspan="3">
<?php echo xtc_draw_hidden_field('page_token', $t_page_token); ?>
<a class="btn btn-default" onClick="this.blur();" href="<?php echo xtc_href_link('coupon_admin.php', 'page='.$t_page.'&status='.$t_status); ?>"><?php echo BUTTON_CANCEL; ?></a>
<input type="submit" style="margin: 0 0 0 12px" class="btn btn-primary" onClick="this.blur();" value="<?php echo BUTTON_PREVIEW; ?>"/>
</td>
</tr>
</table>
</form>
</tr>
</table></td>
<?php
break;
default:
if ($_GET['status'] ?? false) {
$status = xtc_db_prepare_input($_GET['status']);
} else {
$status = 'Y';
}
?>
<td class="boxCenter" width="100%" valign="top">
<div class="gx-container create-new-wrapper left-table">
<div class="create-new-container pull-right">
<a href="<?php echo xtc_href_link('coupon_admin.php', 'page=' . ($_GET['page'] ?? '1') . '&cID=' . (isset($cInfo) ? $cInfo->coupon_id : '') . '&action=new') ?>" class="btn btn-success"><i class="fa fa-plus"></i> <?php echo $GLOBALS['languageTextManager']->get_text('create', 'buttons'); ?></a>
</div>
</div>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="100%">
<div class="pageHeading" style="float:left; background-image:url(html/assets/images/legacy/gm_icons/hilfsprogr2.png)">
<?php echo HEADING_TITLE; ?>
</div>
</td>
</tr>
</table></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td valign="top"><table class="gx-modules-table left-table" data-gx-extension="toolbar_icons" border="0" width="100%" cellspacing="0" cellpadding="2">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent"><?php echo COUPON_NAME; ?></td>
<td class="dataTableHeadingContent" align="center"><?php echo COUPON_AMOUNT; ?></td>
<td class="dataTableHeadingContent" align="center"><?php echo COUPON_CODE; ?></td>
<td class="dataTableHeadingContent"></td>
</tr>
<?php
if (($_GET['page'] ?? 1) > 1) $rows = ($_GET['page'] ?? 1) * 20 - 20;
if ($status != '*') {
$cc_query_raw = "select coupon_id, coupon_code, coupon_amount, coupon_type, coupon_start_date,coupon_expire_date,uses_per_user,uses_per_coupon,restrict_to_products, restrict_to_categories, date_created,date_modified from " . TABLE_COUPONS ." where coupon_active='" . xtc_db_input($status) . "' and coupon_type != 'G' ORDER BY coupon_id DESC";
} else {
$cc_query_raw = "select coupon_id, coupon_code, coupon_amount, coupon_type, coupon_start_date,coupon_expire_date,uses_per_user,uses_per_coupon,restrict_to_products, restrict_to_categories, date_created,date_modified from " . TABLE_COUPONS . " where coupon_type != 'G' ORDER BY coupon_id DESC";
}
$cc_split = new splitPageResults($_GET['page'], '20', $cc_query_raw, $cc_query_numrows);
$cc_query = xtc_db_query($cc_query_raw);
if(xtc_db_num_rows($cc_query) == 0)
{
$gmLangEditTextManager = MainFactory::create('LanguageTextManager', 'gm_lang_edit', $_SESSION['languages_id']);
echo '
<tr class="gx-container no-hover">
<td colspan="5" class="text-center">' . $gmLangEditTextManager->get_text('TEXT_NO_RESULT') . '</td>
</tr>
';
}
while ($cc_list = xtc_db_fetch_array($cc_query)) {
if (!isset($rows)) $rows = 0;
$rows++;
if (strlen($rows) < 2) {
$rows = '0' . $rows;
}
if (((!($_GET['cid']??null)) || (@($_GET['cid']??null) == ($cc_list['coupon_id']??null))) && (!isset($cInfo))) {
$cInfo = new objectInfo($cc_list);
}
if ( (isset($cInfo) && is_object($cInfo)) && (($cc_list['coupon_id']??null) == $cInfo->coupon_id) ) {
echo ' <tr class="dataTableRowSelected active" data-gx-extension="link" data-link-url="' . xtc_href_link('coupon_admin.php', xtc_get_all_get_params(array('cid', 'action')) . 'cid=' . $cInfo->coupon_id . '&action=edit') . '">' . "\n";
} else {
echo ' <tr class="dataTableRow" data-gx-extension="link" data-link-url="' . xtc_href_link('coupon_admin.php', xtc_get_all_get_params(array('cid', 'action')) . 'cid=' . $cc_list['coupon_id'] . '&action=edit') . '">' . "\n";
}
$coupon_description_query = xtc_db_query("select coupon_name from " . TABLE_COUPONS_DESCRIPTION . " where coupon_id = '" . $cc_list['coupon_id'] . "' and language_id = '" . $_SESSION['languages_id'] . "'");
$coupon_desc = xtc_db_fetch_array($coupon_description_query);
?>
<td class="dataTableContent"><?php echo htmlspecialchars($coupon_desc['coupon_name']); ?></td>
<td class="dataTableContent" align="left">
<?php
if ($cc_list['coupon_type'] == 'P') {
echo $cc_list['coupon_amount'] . '%';
} elseif ($cc_list['coupon_type'] == 'S') {
echo TEXT_FREE_SHIPPING;
} else {
echo $currencies->format($cc_list['coupon_amount']);
}
?>
</td>
<td class="dataTableContent" align="left"><?php echo $cc_list['coupon_code']; ?></td>
<td class="dataTableContent"></td>
</tr>
<?php
}
?>
</table>
<?php if (is_object($cc_split)) { ?>
<table border="0" cellspacing="3" cellpadding="3" class="gx-container paginator left-table">
<tr>
<td>
<?php echo xtc_draw_form('status', FILENAME_COUPON_ADMIN, '', 'get', 'class="control-element"'); ?>
<?php
$status_array[] = array('id' => 'Y', 'text' => TEXT_COUPON_ACTIVE);
$status_array[] = array('id' => 'N', 'text' => TEXT_COUPON_INACTIVE);
$status_array[] = array('id' => '*', 'text' => TEXT_COUPON_ALL);
if ($_GET['status'] ?? false) {
$status = xtc_db_prepare_input($_GET['status']);
} else {
$status = 'Y';
}
echo HEADING_TITLE_STATUS . ' ' . xtc_draw_pull_down_menu('status', $status_array, $status, 'class="number_of_orders_per_page" onChange="this.form.submit();"');
?>
</form>
</td>
<td class="pagination-control">
<?php echo $cc_split->display_count($cc_query_numrows, '20', $_GET['page'], TEXT_DISPLAY_NUMBER_OF_COUPONS); ?>
<span class="page-number-information">
<?php echo $cc_split->display_links($cc_query_numrows, '20', MAX_DISPLAY_PAGE_LINKS, $_GET['page'], 'status=' . $t_status); ?>
</span>
</td>
</tr>
</table>
<?php } ?>
</td>
</tr>
</table></td>
</tr>
<?php
}
?>
</tr>
</table></td>
<!-- body_text_eof //-->
</tr>
</table>
<!-- body_eof //-->
<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
<div class="hidden">
<?php
$heading = array();
$contents = array();
$buttons = '';
$formIsEditable = false;
$formAction = '';
$formMethod = 'post';
$formAttributes = '';
switch ($_GET['action'] ?? '') {
case 'release':
break;
case 'voucherreport':
$heading[] = array('text' => '<b>' . TEXT_HEADING_COUPON_REPORT . '</b>');
$contents[] = array('text' => TEXT_NEW_INTRO);
break;
case 'new':
$heading[] = array('text' => '<b>' . TEXT_HEADING_NEW_COUPON . '</b>');
$contents[] = array('text' => TEXT_NEW_INTRO);
$contents[] = array('text' => '<br />' . COUPON_NAME . '<br />' . xtc_draw_input_field('name'));
$contents[] = array('text' => '<br />' . COUPON_AMOUNT . '<br />' . xtc_draw_input_field('voucher_amount'));
$contents[] = array('text' => '<br />' . COUPON_CODE . '<br />' . xtc_draw_input_field('voucher_code'));
$contents[] = array('text' => '<br />' . COUPON_USES_COUPON . '<br />' . xtc_draw_input_field('voucher_number_of'));
break;
default:
$editButton = '<a class="btn btn-primary btn-edit" href="' . xtc_href_link('coupon_admin.php','action=voucheredit&cid='.(isset($cInfo)?$cInfo->coupon_id:null) . '&page='.$t_page.'&status='.$t_status,'NONSSL') . '">' . BUTTON_EDIT . '</a>';
$deleteButton = '<a class="btn btn-delete" href="' . xtc_href_link('coupon_admin.php','action=voucherdelete&cid='.(isset($cInfo)?$cInfo->coupon_id:null).(isset($gm_status)?$gm_status:null),'NONSSL') . '">' . BUTTON_DELETE . '</a>';
$buttons = $editButton . $deleteButton;
$heading[] = array('text'=>'['.(isset($cInfo)?$cInfo->coupon_id:'').'] '.(isset($cInfo)?$cInfo->coupon_code:''));
$amount = isset($cInfo)?$cInfo->coupon_amount:'';
if (isset($cInfo) && $cInfo->coupon_type == 'P') {
$amount .= '%';
} else {
$amount = $currencies->format($amount);
}
if (($_GET['action'] ?? '') == 'voucherdelete') {
$buttons = '<a class="btn btn-primary" onClick="this.blur();" href="'.xtc_href_link('coupon_admin.php','action=confirmdelete&cid='.(int)$_GET['cid'].'&page_token='.$t_page_token,'NONSSL').'">'.BUTTON_DELETE.'</a>' .
'<a class="btn" onClick="this.blur();" href="'.xtc_href_link('coupon_admin.php','cid='.$cInfo->coupon_id,'NONSSL').'">'.BUTTON_CANCEL.'</a>';
} else {
$prod_details = NONE;
if (isset($cInfo) && $cInfo->restrict_to_products) {
$prod_details = '<A HREF="listproducts.php?cid=' . $cInfo->coupon_id . '" TARGET="_blank" ONCLICK="window.open(\'listproducts.php?cid=' . $cInfo->coupon_id . '\', \'Valid_Categories\', \'scrollbars=yes,resizable=yes,menubar=yes,width=600,height=600\'); return false">View</A>';
}
$cat_details = NONE;
if (isset($cInfo) && $cInfo->restrict_to_categories) {
$cat_details = '<A HREF="listcategories.php?cid=' . $cInfo->coupon_id . '" TARGET="_blank" ONCLICK="window.open(\'listcategories.php?cid=' . $cInfo->coupon_id . '\', \'Valid_Categories\', \'scrollbars=yes,resizable=yes,menubar=yes,width=600,height=600\'); return false">View</A>';
}
$coupon_name_query = xtc_db_query("select coupon_name from " . TABLE_COUPONS_DESCRIPTION . " where coupon_id = '" . (isset($cInfo) ? $cInfo->coupon_id : 0) . "' and language_id = '" . ($_SESSION['languages_id'] ?? '') . "'");
$coupon_name = xtc_db_fetch_array($coupon_name_query);
//BOF GM_MOD
$gm_status = '';
if(($_GET['status'] ?? '') == 'N'){
$gm_change_coupon_status = '<a class="btn" onClick="this.blur();" href="'.xtc_href_link('coupon_admin.php','action=voucher_set_active&cid='.(isset($cInfo)?$cInfo->coupon_id:0) . '&page_token='.$t_page_token,'NONSSL').'">'.BUTTON_STATUS_ON.'</a>';
$gm_status = '&status=N';
}
else
{
$gm_change_coupon_status = '<a class="btn" onClick="this.blur();" href="'.xtc_href_link('coupon_admin.php','action=voucher_set_inactive&cid='.(isset($cInfo)?$cInfo->coupon_id:0) . '&page_token='.$t_page_token,'NONSSL').'">'.BUTTON_STATUS_OFF.'</a>';
}
if (isset($cInfo)) {
$contents[] = array('text'=>COUPON_NAME . ': ' . htmlspecialchars($coupon_name['coupon_name']??'') . '<br />' .
COUPON_AMOUNT . ': ' . $amount . '<br />' .
COUPON_STARTDATE . ': ' . xtc_date_short($cInfo->coupon_start_date) . '<br />' .
COUPON_FINISHDATE . ': ' . xtc_date_short($cInfo->coupon_expire_date) . '<br />' .
COUPON_USES_COUPON . ': ' . $cInfo->uses_per_coupon . '<br />' .
COUPON_USES_USER . ': ' . $cInfo->uses_per_user . '<br />' .
COUPON_PRODUCTS . ': ' . $prod_details . '<br />' .
COUPON_CATEGORIES . ': ' . $cat_details . '<br />' .
DATE_CREATED . ': ' . xtc_date_short($cInfo->date_created) . '<br />' .
DATE_MODIFIED . ': ' . xtc_date_short($cInfo->date_modified) . '<br /><br />'
);
$buttons .= '<a class="button btn" onClick="this.blur();" href="'.xtc_href_link('coupon_admin.php','action=email&cid='.$cInfo->coupon_id,'NONSSL').'">'.BUTTON_EMAIL.'</a>' .
$gm_change_coupon_status .
'<a class="button btn" onClick="this.blur();" href="'.xtc_href_link('coupon_admin.php','action=voucherreport&cid='.$cInfo->coupon_id,'NONSSL').'">'.BUTTON_REPORT.'</a>';
}
// EOF GM_MOD
}
break;
}
if(($_GET['action']??'') != 'voucherreport')
{
$oldaction = $_GET['oldaction'] ?? '';
$configurationBoxContentView = MainFactory::create_object('ConfigurationBoxContentView');
$configurationBoxContentView->setOldSchoolHeading($heading);
$configurationBoxContentView->setOldSchoolContents($contents);
$configurationBoxContentView->set_content_data('buttons', $buttons);
$configurationBoxContentView->setFormEditable($formIsEditable);
$configurationBoxContentView->setFormAction($formAction);
echo 'old: ' . $oldaction . 'new: ' . ($_GET['action']??'');
if (isset($_GET['action'])
&& $_GET['action'] != 'new'
&& ($oldaction != 'new' || $_GET['action'] != 'update_preview')
&& $_GET['action'] != 'voucheredit'
&& ($oldaction != 'voucheredit' || $_GET['action'] != 'update_preview')
&& $_GET['action'] != 'email'
&& $_GET['action'] != 'preview_email'
) {
echo $configurationBoxContentView->get_html();
}
}
?>
</div>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Unexpected error occurred...
Class "main_ORIGIN" not found