[Soft] PHP PRO BID - 2 часть

Здравствуйте. Я только еще начинаю осваивать движок phpprobid, и по этому заранее прошу прощения за возможно глупые вопросы. Их несколько.
1. Как настроить на странице регистрации раздел настройка платежей, чтоб получилось как на скрине?
0bde18f68f38.jpg


Я пробовал через настройку доп полей в админке, но поля ввода кошельков получаются в строчку.

2. При регистрации нового пользователя с использованием почтовых сервисов МАЙЛ.РУ, Яндекс (рамблер не проверял), письмо подтверждения приходит в виде абракадабры. (кодировки сайта и БД настоены. На Gmail приходит в нормальном виде)

3. При попытке пользователя пополнить свой баланс на сайте, вверху страницы над сайтом, вылетает вот такая строчка Warning: Division by zero in /home/u11601/МОЙ САЙТ.ru/www/includes/class_fees.php on line 342. Что это и как это исправить?
Версия движка 6.10
Заранее спасибо за помощь. Вопросов еще много, но все в свое время.
 
Здравствуйте. Я только еще начинаю осваивать движок phpprobid, и по этому заранее прошу прощения за возможно глупые вопросы. Их несколько.
1. Как настроить на странице регистрации раздел настройка платежей, чтоб получилось как на скрине?
0bde18f68f38.jpg


Я пробовал через настройку доп полей в админке, но поля ввода кошельков получаются в строчку.

2. При регистрации нового пользователя с использованием почтовых сервисов МАЙЛ.РУ, Яндекс (рамблер не проверял), письмо подтверждения приходит в виде абракадабры. (кодировки сайта и БД настоены. На Gmail приходит в нормальном виде)

3. При попытке пользователя пополнить свой баланс на сайте, вверху страницы над сайтом, вылетает вот такая строчка Warning: Division by zero in /home/u11601/МОЙ САЙТ.ru/www/includes/class_fees.php on line 342. Что это и как это исправить?
Версия движка 6.10
Заранее спасибо за помощь. Вопросов еще много, но все в свое время.
1) Не понимаю зачем при регистрации это делать, там и так много полей. Ведь все это пользователю будет проще внести в личном кабинете в разделе управления платежной информацией. Если делать, то это надо править код в php файле страницы регистрации.
2) Тут несколько страниц назад выкладывали нормальные файлы mail.
3) У вас ошибка в файле /includes/class_fees.php номер строки 342
А модуль оплаты от 6,07 версии наверно. Я ранее выкладывал Для просмотра ссылки Войди или Зарегистрируйся модернизированные файлы
 
A Mysql error has occurred while running the script:
  • The query you are trying to run is invalid
  • Mysql Error Output: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 26
  • SQL Query: INSERT INTO probid_users (username, password, email, reg_date, payment_mode, balance, max_credit, salt, tax_account_type, tax_company_name, tax_reg_number, tax_apply_exempt, name, address, city, country, state, zip_code, phone, birthdate, birthdate_year, newsletter, pg_paypal_email, pg_worldpay_id, pg_checkout_id, pg_nochex_email, pg_ikobo_username, pg_ikobo_password, pg_protx_username, pg_protx_password, pg_authnet_username, pg_authnet_password, pg_mb_email, pg_paymate_merchant_id, pg_gc_merchant_id, pg_gc_merchant_key, pg_amazon_access_key, pg_amazon_secret_key, pg_alertpay_id, pg_alertpay_securitycode, pg_zpay_purse, pg_zpay_mk, pg_wsm_id, pg_wmr, pg_wmz, pg_wm_skey) VALUES ('Akrom', '60067106e733add948316be2570c3d78', 'x-files_21@mail.ru', 1346562294, 1, '0', '0', 'cfa', '0', '', '', '0', 'Исломов Акром Мияссорович', 'ул. А.Наваи дом 20 кв. 5', 'Иштыхан', '2086', 'Самарканд', '704250', '(99891) 2974206', '1988-03-21', '1988', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',)
при регистрация новый пользователя входит это, помогите с этим пожалуйста, все пробовал.
я переделал русский модуль оплаты на узбекский.
Установка будет успешно, настройка тоже. Вот регистрация тут проблема.
<?

class user extends custom_field
{
var $item;

function create_salt()
{
$rand = md5(rand(2, 99999999));
$output = substr($rand, 0, 3);

return $output;
}

function insert ($user_details, $page_handle = 'register')
{
$salt = $this->create_salt();
$password_hashed = password_hash($user_details['password'], $salt);

$payment_mode = ($this->setts['account_mode_personal'] == 1) ? $this->setts['init_acc_type'] : $this->setts['account_mode'];
$balance = ($payment_mode == 2) ? ((-1) * $this->setts['init_credit']) : 0;
$max_credit = ($payment_mode == 2) ? $this->setts['max_credit'] : 0;

$user_details = $this->rem_special_chars_array($user_details);

$phone = '(' . $user_details['phone_a'] . ') ' . $user_details['phone_b'];

if ($this->setts['birthdate_type'] == 1)
{
$birthdate = $user_details['birthdate_year'] . '-01-01'; // defaulted to jan 1st of the birthdate year.
$birthdate_year = $user_details['birthdate_year'];
}
else
{
$birthdate = $user_details['dob_year'] . '-' . $user_details['dob_month'] . '-' . $user_details['dob_day'];
$birthdate_year = $user_details['dob_year'];
}

$tax_apply_exempt = (!empty($user_details['tax_reg_number'])) ? 1 : 0;

$sql_insert_user = $this->query("INSERT INTO " . DB_PREFIX . "users
(username, password, email, reg_date, payment_mode, balance, max_credit,
salt, tax_account_type, tax_company_name, tax_reg_number, tax_apply_exempt,
name, address, city, country, state, zip_code, phone, birthdate, birthdate_year, newsletter,
pg_paypal_email, pg_worldpay_id, pg_checkout_id, pg_nochex_email,
pg_ikobo_username, pg_ikobo_password, pg_protx_username, pg_protx_password,
pg_authnet_username, pg_authnet_password, pg_mb_email, pg_paymate_merchant_id,
pg_gc_merchant_id, pg_gc_merchant_key, pg_amazon_access_key, pg_amazon_secret_key, pg_alertpay_id, pg_alertpay_securitycode, pg_zpay_purse, pg_zpay_mk, pg_wsm_id, pg_wmr,
pg_wmz, pg_wm_skey) VALUES
('" . $user_details['username'] . "', '" . $password_hashed . "', '" . $user_details['email'] . "',
" . CURRENT_TIME . ", " . $payment_mode . ", '" . $balance . "', '" . $max_credit . "',
'" . $salt . "', '" . $user_details['tax_account_type'] . "', '" . $user_details['tax_company_name'] . "',
'" . $user_details['tax_reg_number'] . "', '" . $tax_apply_exempt . "', '" . $user_details['name'] . "',
'" . $user_details['address'] . "', '" . $user_details['city'] . "',
'" . $user_details['country'] . "', '" . $user_details['state'] . "', '" . $user_details['zip_code'] . "',
'" . $phone . "', '" . $birthdate . "', '" . $birthdate_year . "', '" . $user_details['newsletter'] . "',
'" . $user_details['pg_paypal_email'] . "', '" . $user_details['pg_worldpay_id'] . "', '" . $user_details['pg_checkout_id'] . "',
'" . $user_details['pg_nochex_email'] . "', '" . $user_details['pg_ikobo_username'] . "',
'" . $user_details['pg_ikobo_password'] . "', '" . $user_details['pg_protx_username'] . "',
'" . $user_details['pg_protx_password'] . "', '" . $user_details['pg_authnet_username'] . "',
'" . $user_details['pg_authnet_password'] . "', '" . $user_details['pg_mb_email'] . "',
'" . $user_details['pg_paymate_merchant_id'] . "', '" . $user_details['pg_gc_merchant_id'] . "',
'" . $user_details['pg_gc_merchant_key'] . "',
'" . $user_details['pg_amazon_access_key'] . "', '" . $user_details['pg_amazon_secret_key'] . "',
'" . $user_details['pg_alertpay_id'] . "', '" . $user_details['pg_alertpay_securitycode'] . "', '" . $user_details['pg_zpay_purse'] ."', '" . $user_details['pg_zpay_mk'] ."', '" . $user_details['pg_wsm_id'] ."', '" . $user_details['pg_wmr'] . "', '" . $user_details['pg_wmz'] . "',
'" . $user_details['pg_wm_skey'] . "',)");

$user_id = $this->insert_id();

if ($tax_apply_exempt && IN_ADMIN != 1) ## if not in admin, notify admin of a tax exempt request.
{
$mail_input_id = $user_id;
include('language/' . $this->setts['site_lang'] . '/mails/tax_apply_exempt_notification.php');
}

$this->insert_page_data($user_id, $page_handle, $user_details);

return $user_id;
}

function update ($user_id, $user_details, $new_password = null, $page_handle = 'register', $admin_edit = false)
{

$user_details = $this->rem_special_chars_array($user_details);

$sql_update_query = "UPDATE " . DB_PREFIX . "users SET
name='" . $user_details['name'] . "', address='" . $user_details['address'] . "',
city='" . $user_details['city'] . "', country='" . $user_details['country'] . "',
state='" . $user_details['state'] . "', zip_code='" . $user_details['zip_code'] . "',
phone='" . $user_details['phone'] . "', email='" . $user_details['email'] . "',
tax_account_type='" . $user_details['tax_account_type'] . "',
tax_company_name='" . $user_details['tax_company_name'] . "',
tax_reg_number='" . $user_details['tax_reg_number'] . "',
newsletter='" . $user_details['newsletter'] . "',
pg_paypal_email = '" . $user_details['pg_paypal_email'] . "',
pg_worldpay_id = '" . $user_details['pg_worldpay_id'] . "',
pg_checkout_id = '" . $user_details['pg_checkout_id'] . "',
pg_nochex_email = '" . $user_details['pg_nochex_email'] . "',
pg_ikobo_username = '" . $user_details['pg_ikobo_username'] . "',
pg_ikobo_password = '" . $user_details['pg_ikobo_password'] . "',
pg_protx_username = '" . $user_details['pg_protx_username'] . "',
pg_protx_password = '" . $user_details['pg_protx_password'] . "',
pg_authnet_username = '" . $user_details['pg_authnet_username'] . "',
pg_authnet_password = '" . $user_details['pg_authnet_password'] . "',
pg_mb_email = '" . $user_details['pg_mb_email'] . "',

## для системы Z-PAYMENT:
pg_zpay_purse = '" . $user_details['pg_zpay_purse'] . "',
pg_zpay_mk = '" . $user_details['pg_zpay_mk'] . "',
## для системы WEBSUM:
pg_wsm_id = '" . $user_details['pg_wsm_id'] . "',
## для системы WebMoney:
pg_wmr = '" . $user_details['pg_wmr'] . "',
pg_wmz = '" . $user_details['pg_wmz'] . "',
pg_wm_skey = '" . $user_details['pg_wm_skey'] . "',


pg_paymate_merchant_id = '" . $user_details['pg_paymate_merchant_id'] . "',
pg_gc_merchant_id = '" . $user_details['pg_gc_merchant_id'] . "',
pg_gc_merchant_key = '" . $user_details['pg_gc_merchant_key'] . "',
pg_amazon_access_key = '" . $user_details['pg_amazon_access_key'] . "',
pg_amazon_secret_key = '" . $user_details['pg_amazon_secret_key'] . "',
pg_alertpay_id = '" . $user_details['pg_alertpay_id'] . "',
pg_alertpay_securitycode = '" . $user_details['pg_alertpay_securitycode'] . "'";


$user_old = $this->get_sql_row("SELECT balance, payment_mode, tax_apply_exempt FROM
" . DB_PREFIX . "users WHERE user_id=" . $user_id);

if (!$user_old['tax_apply_exempt'] && !empty($user_details['tax_reg_number']))
{
$sql_update_query .= ", tax_apply_exempt=1";
}

if ($admin_edit)
{
$sql_update_query .= ", payment_mode='" . $user_details['payment_mode'] . "'";

if ($user_old['payment_mode'] == 2)
{
$sql_update_query .= ", max_credit='" . $user_details['max_credit'] . "'";
// We can change here the balance and max_credit values. If the balance is changed, we will also create a line in the invoices table
$new_balance = $user_details['balance_type'] * $user_details['balance'];

if ($user_old['balance'] != $new_balance)
{
$sql_update_query .= ", balance='" . $new_balance . "'";

// now we create the invoice row
$invoice_amount = $new_balance - $user_old['balance'];

$fee_name = GMSG_ADMIN_CREDIT_ADJUSTMENT . ' [ ' . (($invoice_amount>=0) ? GMSG_DEBIT : GMSG_CREDIT) . ' ] ' .
((!empty($user_details['adjustment_reason'])) ? ' - ' . $this->rem_special_chars($user_details['adjustment_reason']) : '');

$sql_insert_invoice = $this->query("INSERT INTO " . DB_PREFIX . "invoices
(user_id, name, amount, invoice_date, current_balance, live_fee, credit_adjustment) VALUES
('" . $user_id . "', '" . $fee_name . "', '" . $invoice_amount . "',
'" . CURRENT_TIME . "', '" . $new_balance . "', '1', '1')");
}
}
}

if ($new_password)
{
$salt = $this->create_salt();
$password_hashed = password_hash($new_password, $salt);
$sql_update_query .= ", password='" . $password_hashed . "', salt='" . $salt . "'";
}

$sql_update_query .= " WHERE user_id=" . $user_id;

$sql_update_user = $this->query($sql_update_query);

if (!$user_old['tax_apply_exempt'] && !empty($user_details['tax_reg_number']) && IN_ADMIN != 1)
{
$mail_input_id = $user_id;
include('language/' . $this->setts['site_lang'] . '/mails/tax_apply_exempt_notification.php');
}

$this->update_page_data($user_id, $page_handle, $user_details);
}

function delete ($user_id, $page_handle = 'register')
{
## delete user and all the related fields including custom fields
$this->delete_data($user_id, $page_handle);

$this->item = new item();
$this->item->setts = $this->setts;

## now select all auctions that the user has listed
$sql_select_auctions = $this->query("SELECT auction_id FROM " . DB_PREFIX . "auctions WHERE owner_id=" . $user_id);

$delete_ids = null;

while ($deleted_details = $this->fetch_array($sql_select_auctions))
{
$delete_ids[] = $deleted_details['auction_id'];
}

$delete_array = $this->implode_array($delete_ids);

## delete all auctions the user has listed
$this->item->delete($delete_array, 0, true, true);

## now select all wanted ads that the user has listed
$sql_select_wanted_ads = $this->query("SELECT wanted_ad_id FROM " . DB_PREFIX . "wanted_ads WHERE owner_id=" . $user_id);

$delete_ids = null;

while ($deleted_details = $this->fetch_array($sql_select_wanted_ads))
{
$delete_ids[] = $deleted_details['wanted_ad_id'];
}

$delete_array = $this->implode_array($delete_ids);

## delete all wanted ads the user has listed
$this->item->delete_wanted_ad($delete_array, 0, true);

## delete the rest of the data
$this->query("DELETE u, fs, i, ip, r FROM " . DB_PREFIX . "users u
LEFT JOIN " . DB_PREFIX . "favourite_stores fs ON fs.user_id=u.user_id
LEFT JOIN " . DB_PREFIX . "invoices i ON i.user_id=u.user_id
LEFT JOIN " . DB_PREFIX . "iphistory ip ON ip.memberid=u.user_id
LEFT JOIN " . DB_PREFIX . "reputation r ON r.user_id=u.user_id
WHERE u.user_id=" . $user_id);
}

function account_status ($active, $approved)
{
(string) $display_output = null;

$display_output = ($approved) ? (($active) ? GMSG_ACTIVE : GMSG_SUSPENDED) : GMSG_NOT_APPROVED;

return $display_output;
}

function payment_mode_desc ($payment_mode)
{
(string) $display_output = null;

$payment_mode = ($this->setts['account_mode_personal'] == 1) ? (($payment_mode) ? $payment_mode : 1) : $this->setts['account_mode'];

switch ($payment_mode)
{
case 1:
$display_output = GMSG_LIVE;
break;
case 2:
$display_output = GMSG_ACCOUNT;
break;
default:
$display_output = GMSG_NA;
}

return $display_output;
}

function show_balance ($balance, $currency)
{
(string) $display_output = null;

$display_output = fees_main::display_amount(abs($balance), $currency, true) . ' ' . (($balance>0) ? GMSG_DEBIT : GMSG_CREDIT);

return $display_output;
}

function user_manage_direct_payment_methods ($user_details)
{

}

function direct_payment_methods_edit($user_details)
{
(string) $display_output = null;

$sql_select_pg = $this->query("SELECT pg_id, name, logo_url FROM
" . DB_PREFIX . "payment_gateways WHERE dp_enabled=1");

$background = 'c1';
while ($pg_details = $this->fetch_array($sql_select_pg))
{
switch ($pg_details['name'])
{
case 'PayPal':
$display_output .= '<tr class="' . $background . '"> '.
' <td>' . GMSG_PAYPAL_EMAIL . '</td> '.
' <td><input name="pg_paypal_email" type="text" value="' . $user_details['pg_paypal_email'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr> '.
' <td></td> '.
' <td class="' . $background . '">' . GMSG_PAYPAL_CALLBACK . ':<br><br><b>' . SITE_PATH . 'pp_paypal.php</b></td> '.
'</tr> ';
break;
case 'Worldpay':
$display_output .= '<tr class="' . $background . '"> '.
' <td>' . GMSG_WORLDPAY_ID . '</td> '.
' <td><input name="pg_worldpay_id" type="text" value="' . $user_details['pg_worldpay_id'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr> '.
' <td></td> '.
' <td class="' . $background . '">' . GMSG_WORLDPAY_CALLBACK . ':<br><br><b>' . SITE_PATH . 'pp_worldpay.php</b></td> '.
'</tr> ';
break;
case '2Checkout':
$display_output .= '<tr class="' . $background . '"> '.
' <td>' . GMSG_CHECKOUT_ID . '</td> '.
' <td><input name="pg_checkout_id" type="text" value="' . $user_details['pg_checkout_id'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr> '.
' <td></td> '.
' <td class="' . $background . '">' . GMSG_CHECKOUT_CALLBACK . ':<br><br><b>' . SITE_PATH . 'pp_checkout.php</b></td> '.
'</tr> ';
break;
case 'Nochex':
$display_output .= '<tr class="' . $background . '"> '.
' <td>' . GMSG_NOCHEX_EMAIL . '</td> '.
' <td><input name="pg_nochex_email" type="text" value="' . $user_details['pg_nochex_email'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr> '.
' <td></td> '.
' <td class="' . $background . '">' . GMSG_NOCHEX_CALLBACK . ':<br><br><b>' . SITE_PATH . 'pp_nochex.php</b></td> '.
'</tr> ';
break;
case 'Ikobo':
$display_output .= '<tr class="' . $background . '"> '.
' <td>' . GMSG_IKOBO_USERNAME . '</td> '.
' <td><input name="pg_ikobo_username" type="text" value="' . $user_details['pg_ikobo_username'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr class="' . $background . '"> '.
' <td>' . GMSG_IKOBO_PASSWORD . '</td> '.
' <td><input name="pg_ikobo_password" type="text" value="' . $user_details['pg_ikobo_password'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr> '.
' <td></td> '.
' <td class="' . $background . '">' . GMSG_IKOBO_CALLBACK . ':<br><br><b>' . SITE_PATH . 'pp_ikobo.php</b></td> '.
'</tr> ';
break;
case 'Protx':
$display_output .= '<tr class="' . $background . '"> '.
' <td>' . GMSG_PROTX_USERNAME . '</td> '.
' <td><input name="pg_protx_username" type="text" value="' . $user_details['pg_protx_username'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr class="' . $background . '"> '.
' <td>' . GMSG_PROTX_PASSWORD . '</td> '.
' <td><input name="pg_protx_password" type="text" value="' . $user_details['pg_protx_password'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr> '.
' <td></td> '.
' <td class="' . $background . '">' . GMSG_PROTX_CALLBACK . ':<br><br><b>' . SITE_PATH . 'pp_protx.php</b></td> '.
'</tr> ';
break;
case 'Authorize.net':
$display_output .= '<tr class="' . $background . '"> '.
' <td>' . GMSG_AUTHNET_USERNAME . '</td> '.
' <td><input name="pg_authnet_username" type="text" value="' . $user_details['pg_authnet_username'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr class="' . $background . '"> '.
' <td>' . GMSG_AUTHNET_PASSWORD . '</td> '.
' <td><input name="pg_authnet_password" type="text" value="' . $user_details['pg_authnet_password'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr> '.
' <td></td> '.
' <td class="' . $background . '">' . GMSG_AUTHNET_CALLBACK . ':<br><br><b>' . SITE_PATH . 'pp_authnet.php</b></td> '.
'</tr> ';
break;
case 'Moneybookers':
$display_output .= '<tr class="' . $background . '"> '.
' <td width="250">' . GMSG_MB_EMAIL . '</td> '.
' <td><input name="pg_mb_email" type="text" value="' . $user_details['pg_mb_email'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr> '.
' <td></td> '.
' <td class="' . $background . '">' . GMSG_MB_CALLBACK . ':<br><br><b>' . SITE_PATH . 'pp_moneybookers.php</b></td> '.
'</tr> ';
break;
case 'Paymate':
$display_output .= '<tr class="' . $background . '"> '.
' <td width="250">' . GMSG_PAYMATE_MERCHANT_ID . '</td> '.
' <td><input name="pg_paymate_merchant_id" type="text" value="' . $user_details['pg_paymate_merchant_id'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr> '.
' <td></td> '.
' <td class="' . $background . '">' . GMSG_PAYMATE_CALLBACK . ':<br><br><b>' . SITE_PATH . 'pp_paymate.php</b></td> '.
'</tr> ';
break;
case 'Google Checkout':
$display_output .= '<tr class="' . $background . '"> '.
' <td width="250">' . GMSG_GC_MERCHANT_ID . '</td> '.
' <td><input name="pg_gc_merchant_id" type="text" value="' . $user_details['pg_gc_merchant_id'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr class="' . $background . '"> '.
' <td width="250">' . GMSG_GC_MERCHANT_KEY . '</td> '.
' <td><input name="pg_gc_merchant_key" type="text" value="' . $user_details['pg_gc_merchant_key'] . '" size="50"></td> '.
'</tr> ';
if ($user_details['user_id'] > 0)
{
$display_output .= '<tr> '.
' <td></td> '.
' <td class="' . $background . '">' . GMSG_GC_CALLBACK . ':<br><br><b>' . SITE_PATH . 'pp_gc.php?user_id=' . $user_details['user_id'] . '</b></td> '.
'</tr> ';
}
break;





## для системы Z-PAYMENT
case 'Z-PAYMENT':
$display_output .= '<tr class="' . $background . '"> '.
' <td width="10">' . GMSG_ZPAYMENT_PURSE . '</td> '.
' <td><input name="pg_zpay_purse" type="text" value="' . $user_details['pg_zpay_purse'] . '" size="10"></td> '.
'</tr> ';
$display_output .= '<tr class="' . $background . '"> '.
' <td width="80">' . GMSG_ZPAYMENT_MERCHANT_KEY . '</td> '.
' <td><input type=password name="pg_zpay_mk" type="text" value="' . $user_details['pg_zpay_mk'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr> '.
' <td></td> '.
' <td class="' . $background . '">' . GMSG_ZPAYMENT_RESULT_URL . ': <b>' . SITE_PATH . 'pp_zpayment.php</b><br> '.
GMSG_SUCCESS_URL . ': <b>' . SITE_PATH . 'zpayment_success.php</b><br> '.
GMSG_FAIL_URL . ': <b>' . SITE_PATH . 'payment_failed.php</b><br> '.
' </td> '.
'</tr> ';
break;

## для системы WEBSUM
case 'WEBSUM':
$display_output .= '<tr class="' . $background . '"> '.
' <td width="10">' . GMSG_WEBSUM_PURSE . '</td> '.
' <td><input name="pg_wsm_id" type="text" value="' . $user_details['pg_wsm_id'] . '" size="10"></td> '.
'</tr> ';
$display_output .= '<tr> '.
' <td></td> '.
' <td class="' . $background . '">' . GMSG_WEBSUM_RESULT_URL . ': <b>' . SITE_PATH . 'pp_wsm.php</b><br> '.
GMSG_SUCCESS_URL . ': <b>' . SITE_PATH . 'wsm_success.php</b><br> '.
GMSG_FAIL_URL . ': <b>' . SITE_PATH . 'payment_failed.php</b><br> '.
' </td> '.
'</tr> ';
break;

## для системы WebMoney
case 'WebMoney':
$display_output .= '<tr class="' . $background . '"> '.
' <td width="10">' . GMSG_WM . '</td> '.
'<td>' . GMSG_WMR . '<input name="pg_wmr" type="text" value="' . $user_details['pg_wmr'] . '" size="12" maxlength="12"><br>' .
GMSG_WMZ . '<input name="pg_wmz" type="text" value="' . $user_details['pg_wmz'] . '" size="12" maxlength="12"><br>' .
'</td> '.
'</tr> ';
$display_output .= '<tr class="' . $background . '"> '.
' <td width="80">' . GMSG_WM_SKEY . '</td> '.
' <td><input type=password name="pg_wm_skey" type="text" value="' . $user_details['pg_wm_skey'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr> '.
' <td></td> '.
' <td class="' . $background . '">' . GMSG_WM_RESULT_URL . ': <b>' . SITE_PATH . 'pp_wm.php</b><br> '.
GMSG_SUCCESS_URL . ': <b>' . SITE_PATH . 'wm_success.php</b><br> '.
GMSG_FAIL_URL . ': <b>' . SITE_PATH . 'payment_failed.php</b><br> '.
'</td> '.
'</tr> ';
break;


case 'Amazon':
$display_output .= '<tr class="' . $background . '"> '.
' <td width="250">' . GMSG_AMAZON_ACCESS_KEY . '</td> '.
' <td><input name="pg_amazon_access_key" type="text" value="' . $user_details['pg_amazon_access_key'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr class="' . $background . '"> '.
' <td width="250">' . GMSG_AMAZON_SECRET_KEY . '</td> '.
' <td><input name="pg_amazon_secret_key" type="text" value="' . $user_details['pg_amazon_secret_key'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr> '.
' <td></td> '.
' <td class="' . $background . '">' . GMSG_AMAZON_CALLBACK . ':<br><br><b>' . SITE_PATH . 'pp_amazon.php</b></td> '.
'</tr> ';
break;
case 'AlertPay':
$display_output .= '<tr class="' . $background . '"> '.
' <td width="250">' . GMSG_ALERTPAY_ID . '</td> '.
' <td><input name="pg_alertpay_id" type="text" value="' . $user_details['pg_alertpay_id'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr class="' . $background . '"> '.
' <td width="250">' . GMSG_ALERTPAY_SECURITY_CODE . '</td> '.
' <td><input name="pg_alertpay_securitycode" type="text" value="' . $user_details['pg_alertpay_securitycode'] . '" size="50"></td> '.
'</tr> ';
$display_output .= '<tr> '.
' <td></td> '.
' <td class="' . $background . '">' . GMSG_ALERTPAY_CALLBACK . ':<br><br><b>' . SITE_PATH . 'pp_alertpay.php</b></td> '.
'</tr> ';
break;
}
}

return $display_output;
}

function birthdate_box($variables_array)
{
(string) $display_output = null;

$months_array = array('01' => GMSG_MTH_JANUARY, '02' => GMSG_MTH_FEBRUARY, '03' => GMSG_MTH_MARCH, '04' => GMSG_MTH_APRIL,
'05' => GMSG_MTH_MAY, '06' => GMSG_MTH_JUNE, '07' => GMSG_MTH_JULY, '08' => GMSG_MTH_AUGUST,
'09' => GMSG_MTH_SEPTEMBER, '10' => GMSG_MTH_OCTOBER, '11' => GMSG_MTH_NOVEMBER, '12' => GMSG_MTH_DECEMBER);

$days_array = array('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12',
'13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24',
'25', '26', '27', '28', '29', '30', '31');

if ($this->setts['birthdate_type'] == 1)
{
$dob_text = MSG_YEAR_OF_BIRTH;
$dob_expl = MSG_YEAR_OF_BIRTH_EXPL;

$birthdate_box = '<input name="birthdate_year" type="text" id="birthdate_year" value="' . $variables_array['birthdate_year'] . '" size="8" maxlength="4" /> ';
}
else
{
$dob_text = MSG_DATE_OF_BIRTH;
$dob_expl = MSG_DATE_OF_BIRTH_EXPL;

$birthdate_box .= '<select name="dob_month" id="dob_month" class="contentfont"> '.
'<option> </option> ';
foreach ($months_array as $key => $value)
{
$birthdate_box .= '<option value="' . $key . '" ' . (($key == $variables_array['dob_month']) ? 'selected' : '') . '>' . $value . '</option> ';
}
$birthdate_box .= '</select> ';

$birthdate_box .= '<select name="dob_day" id="dob_day" class="contentfont"> '.
'<option> </option> ';
foreach ($days_array as $value)
{
$birthdate_box .= '<option value="' . $value . '" ' . (($value == $variables_array['dob_day']) ? 'selected' : '') . '>' . $value . '</option> ';
}
$birthdate_box .= '</select> ';

$birthdate_box .= '<input name="dob_year" type="text" id="dob_year" value="' . $variables_array['dob_year'] . '" size="8" maxlength="4" /> ';
}

$display_output = '<br /> '.
'<table width="100%" border="0" cellpadding="3" cellspacing="2" class="border"> '.
' <tr class="c5"> '.
' <td><img src="themes/' . $this->setts['default_theme'] . '/img/pixel.gif" width="1" height="1" /></td> '.
' <td><img src="themes/' . $this->setts['default_theme'] . '/img/pixel.gif" width="1" height="1" /></td> '.
' </tr> '.
' <tr class="c1"> '.
' <td width="150" align="right" class="contentfont">' . $dob_text . '</td> '.
' <td class="contentfont">' . $birthdate_box . '</td> '.
' </tr> '.
' <tr class="reguser"> '.
' <td>&nbsp;</td> '.
' <td>' . $dob_expl . '</td> '.
' </tr> '.
'</table> ';

return $display_output;
}

function can_sell($is_seller)
{
$output = ($is_seller || $this->setts['enable_private_site'] == 0) ? true : false;

return $output;
}

function full_address($user_details)
{
(string) $display_output = null;

$state = ($user_details['state_name']) ? $user_details['state_name'] : $user_details['state'];
// state_name and country_name are presumed to be taken from the countries table from the initial query.
$display_output = $user_details['address'] . '<br>'.
$user_details['zip_code'] . ', ' . $user_details['city'] . '<br>'.
$state . ', ' . $user_details['country_name'];
$display_output = $user_details['address'] . '<br>'.
$user_details['city'] . ', ' . $state . '<br>'.
$user_details['zip_code'] . '<br>'.
$user_details['country_name'];

return $display_output;
}

function show_birthdate($user_details)
{
(string) $display_output = null;

if ($this->setts['birthdate_type'] == 1)
{
$display_output = $user_details['birthdate_year'] . ' ' . GMSG_DOB_YEAR;
}
else
{
$display_output = $user_details['birthdate'] . ' ' . GMSG_DOB_FULL;
}

return $display_output;
}

function postage_calc_save($postage_details, $user_id)
{
$user_id = intval($user_id);

$pc_postage_type = (in_array($postage_details['pc_postage_type'], array('item', 'weight', 'amount', 'flat'))) ? $postage_details['pc_postage_type'] : 'item';
$pc_postage_calc_type = (in_array($postage_details['pc_postage_calc_type'], array('default', 'custom'))) ? $postage_details['pc_postage_calc_type'] : 'default';
$pc_shipping_locations = (in_array($postage_details['pc_shipping_locations'], array('local', 'global'))) ? $postage_details['pc_shipping_locations'] : 'global';

$this->query("UPDATE " . DB_PREFIX . "users SET
pc_free_postage='" . intval($postage_details['pc_free_postage']) . "',
pc_free_postage_amount='" . doubleval($postage_details['pc_free_postage_amount']) . "',
pc_postage_type='" . $pc_postage_type . "',
pc_weight_unit='" . $this->rem_special_chars($postage_details['pc_weight_unit']) . "',
pc_postage_calc_type='" . $pc_postage_calc_type . "',
pc_shipping_locations='" . $pc_shipping_locations . "',
pc_flat_first='" . doubleval($postage_details['pc_flat_first']) . "',
pc_flat_additional='" . doubleval($postage_details['pc_flat_additional']) . "'
WHERE user_id='" . $user_id . "'");

/*
if ($postage_details['pc_shipping_locations'])
{
$this->query("UPDATE " . DB_PREFIX . "shipping_locations SET pc_default=0 WHERE user_id='" . $user_id . "'");
$this->query("UPDATE " . DB_PREFIX . "shipping_locations SET
pc_default='1' WHERE id='" . intval($postage_details['pc_default']) . "' AND user_id='" . $user_id . "'");
}
*/

if ($postage_details['pc_postage_type'] != 'item' && $postage_details['pc_postage_calc_type'] == 'custom')
{
$postage_details = convert_amount($postage_details, 'STN');

if (count($postage_details['tier_id']))
{
foreach ($postage_details['tier_id'] as $key => $value)
{
$sql_update_tiers = $this->query("UPDATE " . DB_PREFIX . "postage_calc_tiers SET
tier_from='" . $postage_details['tier_from'][$key] . "', tier_to='" . $postage_details['tier_to'][$key] . "',
postage_amount='" . $postage_details['postage_amount'][$key] . "' WHERE tier_id=" . $value . " AND user_id=" . $user_id);
}
}

if ($postage_details['new_tier_from'] >= 0 && $postage_details['new_tier_to'] > 0 && $postage_details['new_postage_amount'] > 0)
{
$sql_insert_tier = $this->query("INSERT INTO " . DB_PREFIX . "postage_calc_tiers
(tier_from, tier_to, postage_amount, user_id, tier_type) VALUES
('" . $postage_details['new_tier_from'] . "', '" . $postage_details['new_tier_to'] . "', '" . $postage_details['new_postage_amount'] . "',
'" . $user_id . "', '" . $pc_postage_type . "')");
}

if (count($postage_details['delete'])>0)
{
$delete_array = $this->implode_array($postage_details['delete']);

$sql_delete_increments = $this->query("DELETE FROM " . DB_PREFIX . "postage_calc_tiers WHERE
tier_id IN (" . $delete_array . ") AND user_id=" . $user_id);
}
}
}


}
?>

кто нибудь поможет на счет мой вопроса ?
 
1) Не понимаю зачем при регистрации это делать, там и так много полей. Ведь все это пользователю будет проще внести в личном кабинете в разделе управления платежной информацией. Если делать, то это надо править код в php файле страницы регистрации.
2) Тут несколько страниц назад выкладывали нормальные файлы mail.
3) У вас ошибка в файле /includes/class_fees.php номер строки 342
А модуль оплаты от 6,07 версии наверно. Я ранее выкладывал Для просмотра ссылки Войди или Зарегистрируйся модернизированные файлы
1.Файлы майл поправил, все заработало.
2. Попробовал Ваши файлы оплаты, эффект тот же. Ошибка в строчке 343.
И еще куча всяких глюков вылазит на версии 6.10. Решил протестировать версию 6.07. В целом вроде все нормально, хотя, при пополнении баланса та же ошибка. И при попытке выставить товар, на третьем шаге ошибка БД. У меня уже состояние близкое к истерике)) Либо скрипт глючный, либо модули русской оплаты кривой. Если есть у Вас движок рабочий (хотелось бы 6.07 все таки) Не сочтите за труд скинуть мне. буду благодарен.
 
1) Не понимаю зачем при регистрации это делать, там и так много полей.
Есть мод RapidRegister. Где-то тут лежит для 605. Я ставил на 610 - всё работает и жизнь становится прекрасной. Это по поводу много полей при регистрации.
 
1.Файлы майл поправил, все заработало.
2. Попробовал Ваши файлы оплаты, эффект тот же. Ошибка в строчке 343.
И еще куча всяких глюков вылазит на версии 6.10. Решил протестировать версию 6.07. В целом вроде все нормально, хотя, при пополнении баланса та же ошибка. И при попытке выставить товар, на третьем шаге ошибка БД. У меня уже состояние близкое к истерике)) Либо скрипт глючный, либо модули русской оплаты кривой. Если есть у Вас движок рабочий (хотелось бы 6.07 все таки) Не сочтите за труд скинуть мне. буду благодарен.
Не скину. У меня 6.11 лицензия. Переделанные модули полностью работают. Проверял всё на реальных оплатах. Скачайте прогу наподобе Lister, в ней отображаются номера строк и выделен код разными цветами. Найдите строку 343, и попробуйте с ней поэксперементировать.
 
Значит где то недоработка. Я просто пока этим не занимаюсь, но через месяцок внедрять буду.
До этого устанавливал, вроде работало.
А так совет тем, у кого лицензия, не парьтесь, отдайте этот модуль на фриланс, они вам его за полтора рубля думаю закинут, плюс еще полтора - и киви привяжут)))

Unknown column 'pg_smscoin_bank_id' in 'field list'
А у вас Для просмотра ссылки Войди или Зарегистрируйся ругается на SMSCoin , попробуйте заново его проинсталить.

Для просмотра ссылки Войди или Зарегистрируйся
За базу не бойтесь)))
После моей переделки могут не работать только буржуйские методы оплаты..
Лишь сейчас взялся за доработку проекта. Огромное спасибо за рабочие модули. Прекрасно ложится на версию 6.10
Все отлично работает!
 
Есть ли кто то, кто поставил или может поставить приватбанковский модуль?
 
Да, или если другой какой то есть приватовский с работой через карту.

Да, или если другой какой то есть приватовский с работой через карту.
 
Назад
Сверху