PDA

Shop Support News Archive - Shopbetreiber News -> Forum : xt eCommerce Templates Module SEO Support: Open Source Shoppingcart ERP CRMNewsletter Kann Nicht Gewaehlt Werden Bei Anmeldun


Khussa
20.04.2006, 01:05
Hi.

Danke erst mal für das Forum hier.. Woanders wird man ja ständig mit irgendwelchen Links bombadiert die dir dann sagen, dass dieser Club nicht für dich gedacht ist :rolleyes:

Mein Problem.. Ich möchte gerne, dass neue Kunden bei der Anmeldung wählen können ob Sie die Newsletter abonieren möchten oder nicht. Weiss jemand eine Lösung?

Danke und Gruß

tjgames
20.04.2006, 08:06
Bei xtc 3.04 ist eine Auswahlmöglichkeit bei der Aneldung nicht drin. Bei xtc 2 ist eine Auswahlmöglichkeit enthalten.

Momentan habe ich keinen Zugriff auf irgendwelche Dateien, so dass ich erst heute Abend nachsehen kann, falls dir bis dahin keiner eine Lösung vorschlagen konnte.

Du könntest aber in den code der xtc 2 sehen und den entsprechenden code in den create_account.php dateien usw. Einfügen und Anpassen.

Was Probleme Fragen und so angeht bist du in diesem Forum meiner Erfahrung nach sehr gut aufgehoben :)

bluemoon
20.04.2006, 11:30
die Funktion, den Newsletter direkt bei der Anmeldung auswählen zu können, wurde aufgrund der gesetzlichen Bestimmungen aus 3.04 entfernt

Der Kunde muss sich explizit anmelden und dann auch explizit bestätigen.

tjgames
20.04.2006, 13:33
Der Kunde muss duch auf Ja klicken um den Newsletter zu bestellen. Standarmäßig müsste auf nein stehen. Zusätzlich müsste man es so einprogrogrammieren, dass der Kunde seine Auswahl bei der Registrieraung erst bestätigen muss, bevor er entgültig für den Newsletter eingetragen wird

Khussa
21.04.2006, 01:25
Hallo,

Danke erst mal für eure Antworten.. Habe ein wenig rumgebastelt und es hingekriegt.


Viellenicht kann man noch ein paar Raffinessen einbauen, wie tjgames sagte.

Dieses Double-Opt-In-Verfahren ist nicht zwingend erforderlich..
Siehe hier: http://www.verbaende.com/files/fuer_verbae...67BFF3B8EC9.htm (http://anonym.to/?http://www.verbaende.com/files/fuer_verbaende/DBE0EA64076740B6992A167BFF3B8EC9.htm)


Gruss

bluemoon
21.04.2006, 08:48
''>ZITAT(Khussa @ Apr 21 2006, 1:25) 3777
Hallo,

Danke erst mal für eure Antworten.. Habe ein wenig rumgebastelt und es hingekriegt:
http://khussa.de/create_account.php (http://anonym.to/?http://khussa.de/create_account.php) (noch Testshop)

Viellenicht kann man noch ein paar Raffinessen einbauen, wie tjgames sagte.
[/b]

Wenn Du hier die Quelltexte postest, wie Du es eingebunden hast, kann evt. nach einige Rafinessen einbauen

''>ZITAT</div>
Dieses Double-Opt-In-Verfahren ist nicht zwingend erforderlich..
Siehe hier: http://www.verbaende.com/files/fuer_verbae...67BFF3B8EC9.htm (http://anonym.to/?http://www.verbaende.com/files/fuer_verbaende/DBE0EA64076740B6992A167BFF3B8EC9.htm)
Gruss
[/b]

Ja, da scheiden sich die Geister - der eine sagt so, der andere so ;

meiner Ansnicht nach, lieber einmal mehr fragen oder bestätigen, wie hinterher ne Abmahnung zu bekommen ...

Mythbuster
23.04.2006, 11:52
''>ZITAT(bluemoon @ Apr 21 2006, 8:48) 3784
Wenn Du hier die Quelltexte postest, wie Du es eingebunden hast, kann evt. nach einige Rafinessen einbauen
Ja, da scheiden sich die Geister - der eine sagt so, der andere so ;

meiner Ansnicht nach, lieber einmal mehr fragen oder bestätigen, wie hinterher ne Abmahnung zu bekommen ...
[/b]


Hallo Khussa

Ja - bitte poste den Quelltext. Ich suche eine solche Lösung schon seit mehr als einem Jahr! :rolleyes:

Gruss
Mythbuster

Khussa
25.04.2006, 22:38
Hallo,

Verzeiht für die verspätete Antwort :o
Habe die create_account.php und die create_account.html vom Template angepasst.. Bin mir nicht mehr absolut sicher was ich genau bei create_account.php geändert habe, weil ich den code vom alten v2 kopiert habe. Zeige euch einfach die Stellen wie sie bei mir aussehen. Von diesen zwei Datein vorher ein Backup machen!

Folgende Anpassungen:

create_account.php

Zeile 71-72:

if ($_POST['newsletter']<> '1' ) $_POST['newsletter']='0';
****$newsletter = xtc_db_prepare_input($_POST['newsletter']);

Zeile 192-200:

if ($error == false) {
******$sql_data_array = array('customers_status' => DEFAULT_CUSTOMERS_STATUS_ID,
********************************'customers_firstna me' => $firstname,
******************************'customers_lastname' => $lastname,
******************************'customers_email_add ress' => $email_address,
******************************'customers_telephone ' => $telephone,
******************************'customers_fax' => $fax,
******************************'customers_newslette r' => $newsletter,
******************************'customers_password' => xtc_encrypt_password($password));


Zeile 403:

$smarty->assign('CHECKBOX_NEWSLETTER',xtc_draw_checkbox_fie ld('newsletter', '1') . '' . (xtc_not_null(ENTRY_NEWSLETTER_TEXT) ? '' . ENTRY_NEWSLETTER_TEXT . '': ''));



Jetzt im Template unter module die create_account.html an der Stelle wo man es haben möchte:

****<p style="font-family:Verdana, Arial, Helvetica, sans-serif; font-size:14px; font-weight:bold">Ja, ich möchte aktuelle Sonderangebote von Khussa.de erhalten:</p>
******<table class="formArea" width="100%" border="0" cellspacing="2" cellpadding="0">
********<tr>
**********<td class="main"**width="150">{#text_newsletter#}</td>
**********<td class="main" >{$CHECKBOX_NEWSLETTER}</td>
**********<td class="main" style="font-family:Verdana, Arial, Helvetica, sans-serif" >Dein Text.. Achtung! Sie tragen sich in die Newsletter ein, oder so.. =))</td>
********</tr>
******</table>**

Hoffe es klappt!

Gruss

Mythbuster
14.05.2006, 16:55
Hallo Khussa

Ich bin soeben daran deine Anleitung durchzugehen. Leider erhalte ich in meiner Create_account.php nichts als Fehlermeldungen.

Könntest du eventuell deine create_account.php hier publizieren? Verwendest du auch die Version 3.0.4SP1 ?

Gruss
Mythbuster

Mythbuster
14.05.2006, 17:27
Hallo

Nochmals ich.

Ich denke ich habe den Aufhänger gefunden. Ich bin mir fast sicher, du verwendest die Version 3.03.

Die folgende Zeile passt in der 3.04SP1 sicherlich nicht mehr:

$smarty->assign('CHECKBOX_NEWSLETTER',xtc_draw_checkbox_fie ld('newsletter', '1') . '' . (xtc_not_null(ENTRY_NEWSLETTER_TEXT) ? '' . ENTRY_NEWSLETTER_TEXT . '': ''));

Frage: Was muss ich an dieser Zeile ändern, damit es passt? :rolleyes:

Anbei meine create_account.php mit den Änderungen von Khussa

<?php

/ -----------------------------------------------------------------------------------------
** $Id: create_account.php 1311 2005-10-18 12:30:40Z mz $**

** XT-Commerce - community made shopping
** http://www.xt-commerce.com

** Copyright (c) 2003 XT-Commerce
** -----------------------------------------------------------------------------------------
** based on:
** (c) 2000-2001 The Exchange Project**(earlier name of osCommerce)
** (c) 2002-2003 osCommerce(create_account.php,v 1.63 2003/05/28); www.oscommerce.com
** (c) 2003**nextcommerce (create_account.php,v 1.27 2003/08/24); www.nextcommerce.org

** 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
** --------------------------------------------------------------------------------------- /

include ('includes/application_top.php');

if (isset ($_SESSION['customer_id'])) {
****xtc_redirect(xtc_href_link(FILENAME_ACCOUNT, '', 'SSL'));
}

// create smarty elements
$smarty = new Smarty;
// include boxes
require (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/boxes.php');

// include needed functions
require_once (DIR_FS_INC.'xtc_get_country_list.inc.php');
require_once (DIR_FS_INC.'xtc_get_countries.inc.php');
require_once (DIR_FS_INC.'xtc_validate_email.inc.php');
require_once (DIR_FS_INC.'xtc_encrypt_password.inc.php');
require_once (DIR_FS_INC.'xtc_get_geo_zone_code.inc.php');
require_once (DIR_FS_INC.'xtc_write_user_info.inc.php');

$process = false;
if (isset ($_POST['action']) && ($_POST['action'] == 'process')) {
****$process = true;

****if (ACCOUNT_GENDER == 'true')
********$gender = xtc_db_prepare_input($_POST['gender']);
****$firstname = xtc_db_prepare_input($_POST['firstname']);
****$lastname = xtc_db_prepare_input($_POST['lastname']);
****if (ACCOUNT_DOB == 'true')
********$dob = xtc_db_prepare_input($_POST['dob']);
****$email_address = xtc_db_prepare_input($_POST['email_address']);
****if (ACCOUNT_COMPANY == 'true')
********$company = xtc_db_prepare_input($_POST['company']);
****if (ACCOUNT_COMPANY_VAT_CHECK == 'true')
********$vat = xtc_db_prepare_input($_POST['vat']);
****$street_address = xtc_db_prepare_input($_POST['street_address']);
****if (ACCOUNT_SUBURB == 'true')
********$suburb = xtc_db_prepare_input($_POST['suburb']);
****$postcode = xtc_db_prepare_input($_POST['postcode']);
****$city = xtc_db_prepare_input($_POST['city']);
****$zone_id = xtc_db_prepare_input($_POST['zone_id']);
****if (ACCOUNT_STATE == 'true')
********$state = xtc_db_prepare_input($_POST['state']);
****$country = xtc_db_prepare_input($_POST['country']);
****$telephone = xtc_db_prepare_input($_POST['telephone']);
****$fax = xtc_db_prepare_input($_POST['fax']);
****if ($_POST['newsletter']<> '1' ) $_POST['newsletter']='0';
****$newsletter = xtc_db_prepare_input($_POST['newsletter']);
****$password = xtc_db_prepare_input($_POST['password']);
****$confirmation = xtc_db_prepare_input($_POST['confirmation']);

****$error = false;

****if (ACCOUNT_GENDER == 'true') {
********if (($gender != 'm') && ($gender != 'f')) {
************$error = true;

************$messageStack->add('create_account', ENTRY_GENDER_ERROR);
********}
****}

****if (strlen($firstname) < ENTRY_FIRST_NAME_MIN_LENGTH) {
********$error = true;

********$messageStack->add('create_account', ENTRY_FIRST_NAME_ERROR);
****}

****if (strlen($lastname) < ENTRY_LAST_NAME_MIN_LENGTH) {
********$error = true;

********$messageStack->add('create_account', ENTRY_LAST_NAME_ERROR);
****}

****if (ACCOUNT_DOB == 'true') {
********if (checkdate(substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) == false) {
************$error = true;

************$messageStack->add('create_account', ENTRY_DATE_OF_BIRTH_ERROR);
********}
****}

// New VAT Check
****require_once(DIR_WS_CLASSES.'vat_validation.ph p');
****$vatID = new vat_validation($vat, '', '', $country);
****
****$customers_status = $vatID->vat_info['status'];
****$customers_vat_id_status = $vatID->vat_info['vat_id_status'];
****$error = $vatID->vat_info['error'];
****
****if($error==1){
****$messageStack->add('create_account', ENTRY_VAT_ERROR);
****$error = true;
**}

// New VAT CHECK END
****

****if (strlen($email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH) {
********$error = true;

********$messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_ERROR);
****}
****elseif (xtc_validate_email($email_address) == false) {
********$error = true;

********$messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_CHECK_ERROR);
****} else {
********$check_email_query = xtc_db_query("select count( ) as total from ".TABLE_CUSTOMERS." where customers_email_address = '".xtc_db_input($email_address)."'");
********$check_email = xtc_db_fetch_array($check_email_query);
********if ($check_email['total'] > 0) {
************$error = true;

************$messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_ERROR_EXISTS);
********}
****}

****if (strlen($street_address) < ENTRY_STREET_ADDRESS_MIN_LENGTH) {
********$error = true;

********$messageStack->add('create_account', ENTRY_STREET_ADDRESS_ERROR);
****}

****if (strlen($postcode) < ENTRY_POSTCODE_MIN_LENGTH) {
********$error = true;

********$messageStack->add('create_account', ENTRY_POST_CODE_ERROR);
****}

****if (strlen($city) < ENTRY_CITY_MIN_LENGTH) {
********$error = true;

********$messageStack->add('create_account', ENTRY_CITY_ERROR);
****}

****if (is_numeric($country) == false) {
********$error = true;

********$messageStack->add('create_account', ENTRY_COUNTRY_ERROR);
****}

****if (ACCOUNT_STATE == 'true') {
********$zone_id = 0;
********$check_query = xtc_db_query("select count( ) as total from ".TABLE_ZONES." where zone_country_id = '".(int) $country."'");
********$check = xtc_db_fetch_array($check_query);
********$entry_state_has_zones = ($check['total'] > 0);
********if ($entry_state_has_zones == true) {
************$zone_query = xtc_db_query("select distinct zone_id from ".TABLE_ZONES." where zone_country_id = '".(int) $country."' and (zone_name like '".xtc_db_input($state)."%' or zone_code like '%".xtc_db_input($state)."%')");
************if (xtc_db_num_rows($zone_query) > 1) {
****************$zone_query = xtc_db_query("select distinct zone_id from ".TABLE_ZONES." where zone_country_id = '".(int) $country."' and zone_name = '".xtc_db_input($state)."'");
************}
************if (xtc_db_num_rows($zone_query) >= 1) {
****************$zone = xtc_db_fetch_array($zone_query);
****************$zone_id = $zone['zone_id'];
************} else {
****************$error = true;

****************$messageStack->add('create_account', ENTRY_STATE_ERROR_SELECT);
************}
********} else {
************if (strlen($state) < ENTRY_STATE_MIN_LENGTH) {
****************$error = true;

****************$messageStack->add('create_account', ENTRY_STATE_ERROR);
************}
********}
****}

****if (strlen($telephone) < ENTRY_TELEPHONE_MIN_LENGTH) {
********$error = true;

********$messageStack->add('create_account', ENTRY_TELEPHONE_NUMBER_ERROR);
****}

****if (strlen($password) < ENTRY_PASSWORD_MIN_LENGTH) {
********$error = true;

********$messageStack->add('create_account', ENTRY_PASSWORD_ERROR);
****}
****elseif ($password != $confirmation) {
********$error = true;

********$messageStack->add('create_account', ENTRY_PASSWORD_ERROR_NOT_MATCHING);
****}
****if ($error == false) {
******$sql_data_array = array('customers_status' => DEFAULT_CUSTOMERS_STATUS_ID,
********************************'customers_firstna me' => $firstname,
******************************'customers_lastname' => $lastname,
******************************'customers_email_add ress' => $email_address,
******************************'customers_telephone ' => $telephone,
******************************'customers_fax' => $fax,
******************************'customers_newslette r' => $newsletter,
******************************'customers_password' => xtc_encrypt_password($password));
****//don't know why, but this happens sometimes and new user becomes admin
****if ($customers_status == 0 || !$customers_status)
********$customers_status = DEFAULT_CUSTOMERS_STATUS_ID;
****if (!$newsletter)
********$newsletter = 0;
****if ($error == false) {
********$sql_data_array = array ('customers_vat_id' => $vat, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_status' => $customers_status, 'customers_firstname' => $firstname, 'customers_lastname' => $lastname, 'customers_email_address' => $email_address, 'customers_telephone' => $telephone, 'customers_fax' => $fax, 'customers_newsletter' => $newsletter, 'customers_password' => xtc_encrypt_password($password),'customers_date_ad ded' => 'now()','customers_last_modified' => 'now()');

********if (ACCOUNT_GENDER == 'true')
************$sql_data_array['customers_gender'] = $gender;
********if (ACCOUNT_DOB == 'true')
************$sql_data_array['customers_dob'] = xtc_date_raw($dob);
************
************// Kundennummer
$start_cid = 1000;
****
$cid_query = xtc_db_query("SELECT MAX(customers_cid) AS maxnr FROM ".TABLE_CUSTOMERS);
$cid = xtc_db_fetch_array($cid_query);

if($cid['maxnr']){
**$start_cid = $cid['maxnr']+1;
}

$sql_data_array['customers_cid'] = $start_cid;
// Kundennummer EOF****

********xtc_db_perform(TABLE_CUSTOMERS, $sql_data_array);

********$_SESSION['customer_id'] = xtc_db_insert_id();
********$user_id = xtc_db_insert_id();
********xtc_write_user_info($user_id);
********$sql_data_array = array ('customers_id' => $_SESSION['customer_id'], 'entry_firstname' => $firstname, 'entry_lastname' => $lastname, 'entry_street_address' => $street_address, 'entry_postcode' => $postcode, 'entry_city' => $city, 'entry_country_id' => $country,'address_date_added' => 'now()','address_last_modified' => 'now()');

********if (ACCOUNT_GENDER == 'true')
************$sql_data_array['entry_gender'] = $gender;
********if (ACCOUNT_COMPANY == 'true')
************$sql_data_array['entry_company'] = $company;
********if (ACCOUNT_SUBURB == 'true')
************$sql_data_array['entry_suburb'] = $suburb;
********if (ACCOUNT_STATE == 'true') {
************if ($zone_id > 0) {
****************$sql_data_array['entry_zone_id'] = $zone_id;
****************$sql_data_array['entry_state'] = '';
************} else {
****************$sql_data_array['entry_zone_id'] = '0';
****************$sql_data_array['entry_state'] = $state;
************}
********}

********xtc_db_perform(TABLE_ADDRESS_BOOK, $sql_data_array);

********$address_id = xtc_db_insert_id();

********xtc_db_query("update ".TABLE_CUSTOMERS." set customers_default_address_id = '".$address_id."' where customers_id = '".(int) $_SESSION['customer_id']."'");

********xtc_db_query("insert into ".TABLE_CUSTOMERS_INFO." (customers_info_id, customers_info_number_of_logons, customers_info_date_account_created) values ('".(int) $_SESSION['customer_id']."', '0', now())");

********if (SESSION_RECREATE == 'True') {
************xtc_session_recreate();
********}

********$_SESSION['customer_first_name'] = $firstname;
********$_SESSION['customer_last_name'] = $lastname;
********$_SESSION['customer_default_address_id'] = $address_id;
********$_SESSION['customer_country_id'] = $country;
********$_SESSION['customer_zone_id'] = $zone_id;
********$_SESSION['customer_vat_id'] = $vat;

********// restore cart contents
********$_SESSION['cart']->restore_contents();

********// build the message content
********$name = $firstname.' '.$lastname;

********// load data into array
********$module_content = array ();
********$module_content = array ('MAIL_NAME' => $name, 'MAIL_REPLY_ADDRESS' => EMAIL_SUPPORT_REPLY_ADDRESS, 'MAIL_GENDER' => $gender);

********// assign data to smarty
********$smarty->assign('language', $_SESSION['language']);
********$smarty->assign('logo_path', HTTP_SERVER.DIR_WS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/img/');
********$smarty->assign('content', $module_content);
********$smarty->caching = false;

if (isset ($_SESSION['tracking']['refID'])){
******$campaign_check_query_raw = "SELECT
****************************************FROM ".TABLE_CAMPAIGNS."
****************************************WHERE campaigns_refID = '".$_SESSION[tracking][refID]."'";
************$campaign_check_query = xtc_db_query($campaign_check_query_raw);
********if (xtc_db_num_rows($campaign_check_query) > 0) {
************$campaign = xtc_db_fetch_array($campaign_check_query);
************$refID = $campaign['campaigns_id'];
************} else {
************$refID = 0;
********************}
************
************ xtc_db_query("update " . TABLE_CUSTOMERS . " set
******************************** refferers_id = '".$refID."'
******************************** where customers_id = '".(int) $_SESSION['customer_id']."'");
************
************$leads = $campaign['campaigns_leads'] + 1;
************ xtc_db_query("update " . TABLE_CAMPAIGNS . " set
******************************** campaigns_leads = '".$leads."'
******************************** where campaigns_id = '".$refID."'");********
}


********if (ACTIVATE_GIFT_SYSTEM == 'true') {
************// GV Code Start
************// ICW - CREDIT CLASS CODE BLOCK ADDED** BEGIN
************if (NEW_SIGNUP_GIFT_VOUCHER_AMOUNT > 0) {
****************$coupon_code = create_coupon_code();
****************$insert_query = xtc_db_query("insert into ".TABLE_COUPONS." (coupon_code, coupon_type, coupon_amount, date_created) values ('".$coupon_code."', 'G', '".NEW_SIGNUP_GIFT_VOUCHER_AMOUNT."', now())");
****************$insert_id = xtc_db_insert_id($insert_query);
****************$insert_query = xtc_db_query("insert into ".TABLE_COUPON_EMAIL_TRACK." (coupon_id, customer_id_sent, sent_firstname, emailed_to, date_sent) values ('".$insert_id."', '0', 'Admin', '".$email_address."', now() )");

****************$smarty->assign('SEND_GIFT', 'true');
****************$smarty->assign('GIFT_AMMOUNT', $xtPrice->xtcFormat(NEW_SIGNUP_GIFT_VOUCHER_AMOUNT, true));
****************$smarty->assign('GIFT_CODE', $coupon_code);
****************$smarty->assign('GIFT_LINK', xtc_href_link(FILENAME_GV_REDEEM, 'gv_no='.$coupon_code, 'NONSSL', false));

************}
************if (NEW_SIGNUP_DISCOUNT_COUPON != '') {
****************$coupon_code = NEW_SIGNUP_DISCOUNT_COUPON;
****************$coupon_query = xtc_db_query("select from ".TABLE_COUPONS." where coupon_code = '".$coupon_code."'");
****************$coupon = xtc_db_fetch_array($coupon_query);
****************$coupon_id = $coupon['coupon_id'];
****************$coupon_desc_query = xtc_db_query("select from ".TABLE_COUPONS_DESCRIPTION." where coupon_id = '".$coupon_id."' and language_id = '".(int) $_SESSION['languages_id']."'");
****************$coupon_desc = xtc_db_fetch_array($coupon_desc_query);
****************$insert_query = xtc_db_query("insert into ".TABLE_COUPON_EMAIL_TRACK." (coupon_id, customer_id_sent, sent_firstname, emailed_to, date_sent) values ('".$coupon_id."', '0', 'Admin', '".$email_address."', now() )");

****************$smarty->assign('SEND_COUPON', 'true');
****************$smarty->assign('COUPON_DESC', $coupon_desc['coupon_description']);
****************$smarty->assign('COUPON_CODE', $coupon['coupon_code']);

************}
************// ICW - CREDIT CLASS CODE BLOCK ADDED** END
************// GV Code End****** // create templates
********}
********$smarty->caching = 0;
********$html_mail = $smarty->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/create_account_mail.html');
********$smarty->caching = 0;
********$txt_mail = $smarty->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/create_account_mail.txt');

********xtc_php_mail(EMAIL_SUPPORT_ADDRESS, EMAIL_SUPPORT_NAME, $email_address, $name, EMAIL_SUPPORT_FORWARDING_STRING, EMAIL_SUPPORT_REPLY_ADDRESS, EMAIL_SUPPORT_REPLY_ADDRESS_NAME, '', '', EMAIL_SUPPORT_SUBJECT, $html_mail, $txt_mail);

********if (!isset ($mail_error)) {
************xtc_redirect(xtc_href_link(FILENAME_SH OPPING_CART, '', 'SSL'));
********} else {
************echo $mail_error;
********}
****}
}

$breadcrumb->add(NAVBAR_TITLE_CREATE_ACCOUNT, xtc_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'));

require (DIR_WS_INCLUDES.'header.php');

if ($messageStack->size('create_account') > 0) {
****$smarty->assign('error', $messageStack->output('create_account'));

}
$smarty->assign('FORM_ACTION', xtc_draw_form('create_account', xtc_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'), 'post', 'onsubmit="return check_form(create_account);"').xtc_draw_hidden_field('action', 'process'));

if (ACCOUNT_GENDER == 'true') {
****$smarty->assign('gender', '1');

****$smarty->assign('INPUT_MALE', xtc_draw_radio_field(array ('name' => 'gender', 'suffix' => MALE), 'm'));
****$smarty->assign('INPUT_FEMALE', xtc_draw_radio_field(array ('name' => 'gender', 'suffix' => FEMALE, 'text' => (xtc_not_null(ENTRY_GENDER_TEXT) ? ''.ENTRY_GENDER_TEXT.'' : '')), 'f'));

} else {
****$smarty->assign('gender', '0');
}

$smarty->assign('INPUT_FIRSTNAME', xtc_draw_input_fieldNote(array ('name' => 'firstname', 'text' => ''. (xtc_not_null(ENTRY_FIRST_NAME_TEXT) ? ''.ENTRY_FIRST_NAME_TEXT.'' : ''))));
$smarty->assign('INPUT_LASTNAME', xtc_draw_input_fieldNote(array ('name' => 'lastname', 'text' => ''. (xtc_not_null(ENTRY_LAST_NAME_TEXT) ? ''.ENTRY_LAST_NAME_TEXT.'' : ''))));

if (ACCOUNT_DOB == 'true') {
****$smarty->assign('birthdate', '1');

****$smarty->assign('INPUT_DOB', xtc_draw_input_fieldNote(array ('name' => 'dob', 'text' => ''. (xtc_not_null(ENTRY_DATE_OF_BIRTH_TEXT) ? ''.ENTRY_DATE_OF_BIRTH_TEXT.'' : ''))));

} else {
****$smarty->assign('birthdate', '0');
}

$smarty->assign('INPUT_EMAIL', xtc_draw_input_fieldNote(array ('name' => 'email_address', 'text' => ''. (xtc_not_null(ENTRY_EMAIL_ADDRESS_TEXT) ? ''.ENTRY_EMAIL_ADDRESS_TEXT.'' : ''))));

if (ACCOUNT_COMPANY == 'true') {
****$smarty->assign('company', '1');
****$smarty->assign('INPUT_COMPANY', xtc_draw_input_fieldNote(array ('name' => 'company', 'text' => ''. (xtc_not_null(ENTRY_COMPANY_TEXT) ? ''.ENTRY_COMPANY_TEXT.'' : ''))));
} else {
****$smarty->assign('company', '0');
}

if (ACCOUNT_COMPANY_VAT_CHECK == 'true') {
****$smarty->assign('vat', '1');
****$smarty->assign('INPUT_VAT', xtc_draw_input_fieldNote(array ('name' => 'vat', 'text' => ''. (xtc_not_null(ENTRY_VAT_TEXT) ? ''.ENTRY_VAT_TEXT.'' : ''))));
} else {
****$smarty->assign('vat', '0');
}

$smarty->assign('INPUT_STREET', xtc_draw_input_fieldNote(array ('name' => 'street_address', 'text' => ''. (xtc_not_null(ENTRY_STREET_ADDRESS_TEXT) ? ''.ENTRY_STREET_ADDRESS_TEXT.'' : ''))));

if (ACCOUNT_SUBURB == 'true') {
****$smarty->assign('suburb', '1');
****$smarty->assign('INPUT_SUBURB', xtc_draw_input_fieldNote(array ('name' => 'suburb', 'text' => ''. (xtc_not_null(ENTRY_SUBURB_TEXT) ? ''.ENTRY_SUBURB_TEXT.'' : ''))));

} else {
****$smarty->assign('suburb', '0');
}

$smarty->assign('INPUT_CODE', xtc_draw_input_fieldNote(array ('name' => 'postcode', 'text' => ''. (xtc_not_null(ENTRY_POST_CODE_TEXT) ? ''.ENTRY_POST_CODE_TEXT.'' : ''))));
$smarty->assign('INPUT_CITY', xtc_draw_input_fieldNote(array ('name' => 'city', 'text' => ''. (xtc_not_null(ENTRY_CITY_TEXT) ? ''.ENTRY_CITY_TEXT.'' : ''))));

if (ACCOUNT_STATE == 'true') {
****$smarty->assign('state', '1');

****if ($process == true) {
********if ($entry_state_has_zones == true) {
************$zones_array = array ();
************$zones_query = xtc_db_query("select zone_name from ".TABLE_ZONES." where zone_country_id = '".(int) $country."' order by zone_name");
************while ($zones_values = xtc_db_fetch_array($zones_query)) {
****************$zones_array[] = array ('id' => $zones_values['zone_name'], 'text' => $zones_values['zone_name']);
************}
************$state_input = xtc_draw_pull_down_menuNote(array ('name' => 'state', 'text' => ''. (xtc_not_null(ENTRY_STATE_TEXT) ? ''.ENTRY_STATE_TEXT.'' : '')), $zones_array);
********} else {
************$state_input = xtc_draw_input_fieldNote(array ('name' => 'state', 'text' => ''. (xtc_not_null(ENTRY_STATE_TEXT) ? ''.ENTRY_STATE_TEXT.'' : '')));
********}
****} else {
********$state_input = xtc_draw_input_fieldNote(array ('name' => 'state', 'text' => ''. (xtc_not_null(ENTRY_STATE_TEXT) ? ''.ENTRY_STATE_TEXT.'' : '')));
****}

****$smarty->assign('INPUT_STATE', $state_input);
} else {
****$smarty->assign('state', '0');
}

if ($_POST['country']) {
****$selected = $_POST['country'];
} else {
****$selected = STORE_COUNTRY;
}

$smarty->assign('SELECT_COUNTRY', xtc_get_country_list(array ('name' => 'country', 'text' => ''. (xtc_not_null(ENTRY_COUNTRY_TEXT) ? ''.ENTRY_COUNTRY_TEXT.'' : '')), $selected));
$smarty->assign('INPUT_TEL', xtc_draw_input_fieldNote(array ('name' => 'telephone', 'text' => ''. (xtc_not_null(ENTRY_TELEPHONE_NUMBER_TEXT) ? ''.ENTRY_TELEPHONE_NUMBER_TEXT.'' : ''))));
$smarty->assign('INPUT_FAX', xtc_draw_input_fieldNote(array ('name' => 'fax', 'text' => ''. (xtc_not_null(ENTRY_FAX_NUMBER_TEXT) ? ''.ENTRY_FAX_NUMBER_TEXT.'' : ''))));
$smarty->assign('CHECKBOX_NEWSLETTER',xtc_draw_checkbox_fie ld('newsletter', '1') . '' . (xtc_not_null(ENTRY_NEWSLETTER_TEXT) ? '' . ENTRY_NEWSLETTER_TEXT . '': ''));
$smarty->assign('INPUT_PASSWORD', xtc_draw_password_fieldNote(array ('name' => 'password', 'text' => ''. (xtc_not_null(ENTRY_PASSWORD_TEXT) ? ''.ENTRY_PASSWORD_TEXT.'' : ''))));
$smarty->assign('INPUT_CONFIRMATION', xtc_draw_password_fieldNote(array ('name' => 'confirmation', 'text' => ''. (xtc_not_null(ENTRY_PASSWORD_CONFIRMATION_TEXT) ? ''.ENTRY_PASSWORD_CONFIRMATION_TEXT.'' : ''))));
$smarty->assign('FORM_END', '</form>');
$smarty->assign('language', $_SESSION['language']);
$smarty->caching = 0;
$smarty->assign('BUTTON_SUBMIT', xtc_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE));
$main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/create_account.html');

$smarty->assign('language', $_SESSION['language']);
$smarty->assign('main_content', $main_content);
$smarty->caching = 0;
if (!defined(RM))
****$smarty->load_filter('output', 'note');
$smarty->display(CURRENT_TEMPLATE.'/index.html');
include ('includes/application_bottom.php');
?>


Gruss
Mythbuster

Mythbuster
17.05.2006, 10:45
Schade das mir hier niemand weiterhelfen kann :(

Ist wohl doch nicht so eine einfache Änderung. Kann mir eventuell jemand sagen wie kompliziert eine solche Anpassung wäre, damit ich mich mit meinem sehr bescheidenen Budget mal nach einem Programmierer umsehen kann?

Danke und Grüsse
Mythbuster

Mythbuster
23.05.2006, 00:10
nach oben schieb...

Gast
02.06.2006, 21:26
Mystbuster? Schon was neues? Wieso meldet sich Khussa nicht mehr? Wäre an einer Lösung ebenfalls sehr interessiert!

Gruss
EULE

p.scholle
06.06.2006, 18:32
Kussha verwendet die 3.04SP1. Steht in dem Quelltext seiner Seite. Ich hab es so übernommen, wie von Khussa beschrieben. Allerdings nur in der create_guest_account.php, da der Käufer bei mir keine rnichtigen Kundenkonten anlegen soll. Was bekommst du denn für Fehlermeldungen?

Mythbuster
09.06.2006, 20:42
Hallo p.scholle

Ich hab das ganze nochmals durchgekämmt. Nun erhalte ich zwar keine Fehlermeldung mehr, auch das Feld wird ordnungsgemäss beim Registrieren angezeigt, doch der Eintrag in der Datenbank fehlt. Muss ich da noch eine DB Querry ausführen oder was könnte hier der Grund für dieses Problem sein?

Beste Grüsse
Patrik

p.scholle
10.06.2006, 15:49
Ja musst du. Ich hab es im Moment so:


if ($newsletter){
************$check_query_nl = xtc_db_query("select count( ) as total from ".TABLE_NEWSLETTER_RECIPIENTS." where customers_email_address = '".$email_address."'");
************$check_nl = xtc_db_fetch_array($check_query_nl);
************$nl_r = ($check_nl['total'] > 0);
************if ($nl_r == false)
****************xtc_db_query("insert into ".TABLE_NEWSLETTER_RECIPIENTS." (customers_email_address, customers_id, customers_status, customers_firstname, mail_status, date_added) values ('".$email_address."','0','1','Gast','1', now())");
********}


Läst sich bestimmt noch besser umsetzen. Ich prüfe vorher, ob die Email-Adresse schon eingetragen ist. Was man noch umsetzen müsste, ist die Überprüfung, ob bei schon vorhandener Emailadresse diese deaktivert ist (glaube über das Feld mail_status), um diese dann ggf. zu aktiveren.

Gruß,
Peter

Mythbuster
10.06.2006, 20:25
Hallo Peter und danke für Deine Antwort

Leider bin ich in php nicht so durch. Ich bin lediglich ein copy / paster. Wo muss ich diesen code genau einfügen damit es klappt? Und wie kann ich Überprüfen ob es die e-mail bereits gibt.

Sorry der vielen Fragen

Gruss
Patrik

p.scholle
10.06.2006, 20:41
Hallo Patrik,

ich habe es nach folgender Zeile eingefügt:

xtc_db_query("insert into ".TABLE_CUSTOMERS_INFO." (customers_info_id, customers_info_number_of_logons, customers_info_date_account_created) values ('".(int) $_SESSION['customer_id']."', '0', now())");


Müsste so ca. zw. den Zeilen 250 und 260 sein. Ich versuch mal bis morgen die neue Fassung zu posten. Hab gerade nicht viel Zeit. So funktioniert es aber auch erstmal. Es würde nur die Kunden nicht berücksnichtigen, die den Newsletter abgemeldet haben und ihn nun erneut haben wollen. Kommt selten vor ;-).

Gruß,
Peter

Mythbuster
10.06.2006, 21:04
Hallo Peter

Besten Dank für Deine Bemühungen!

Ich habe nun den code unter der besagten Stelle eingefügt. Eigenartiger Weise ist nun die Checkbox verschwunden? Muss ich da noch ein neues Feld in der Datenbank anlegen?

Hier mal meine komplette create_account.php

<?php

/ -----------------------------------------------------------------------------------------
** $Id: create_account.php 1311 2005-10-18 12:30:40Z mz $

** XT-Commerce - community made shopping
** http://www.xt-commerce.com

** Copyright (c) 2003 XT-Commerce
** -----------------------------------------------------------------------------------------
** based on:
** (c) 2000-2001 The Exchange Project**(earlier name of osCommerce)
** (c) 2002-2003 osCommerce(create_account.php,v 1.63 2003/05/28); www.oscommerce.com
** (c) 2003**nextcommerce (create_account.php,v 1.27 2003/08/24); www.nextcommerce.org

** 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
** --------------------------------------------------------------------------------------- /

include ('includes/application_top.php');

if (isset ($_SESSION['customer_id'])) {
****xtc_redirect(xtc_href_link(FILENAME_ACCOUNT, '', 'SSL'));
}

// create smarty elements
$smarty = new Smarty;
// include boxes
require (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/boxes.php');

// include crypto function for url-login
require_once (DIR_FS_INC.'crypto.inc.php');

// include needed functions
require_once (DIR_FS_INC.'xtc_get_country_list.inc.php');
require_once (DIR_FS_INC.'xtc_get_countries.inc.php');
require_once (DIR_FS_INC.'xtc_validate_email.inc.php');
require_once (DIR_FS_INC.'xtc_encrypt_password.inc.php');
require_once (DIR_FS_INC.'xtc_get_geo_zone_code.inc.php');
require_once (DIR_FS_INC.'xtc_write_user_info.inc.php');



$process = false;
if (isset ($_POST['action']) && ($_POST['action'] == 'process')) {
****$process = true;

****if (ACCOUNT_GENDER == 'true')
********$gender = xtc_db_prepare_input($_POST['gender']);
****$firstname = xtc_db_prepare_input($_POST['firstname']);
****$lastname = xtc_db_prepare_input($_POST['lastname']);
****if (ACCOUNT_DOB == 'true')
********$dob = xtc_db_prepare_input($_POST['dob']);
****$email_address = xtc_db_prepare_input($_POST['email_address']);
****if (ACCOUNT_COMPANY == 'true')
********$company = xtc_db_prepare_input($_POST['company']);
****if (ACCOUNT_COMPANY_VAT_CHECK == 'true')
********$vat = xtc_db_prepare_input($_POST['vat']);
****$street_address = xtc_db_prepare_input($_POST['street_address']);
****if (ACCOUNT_SUBURB == 'true')
********$suburb = xtc_db_prepare_input($_POST['suburb']);
****$postcode = xtc_db_prepare_input($_POST['postcode']);
****$city = xtc_db_prepare_input($_POST['city']);
****$zone_id = xtc_db_prepare_input($_POST['zone_id']);
****if (ACCOUNT_STATE == 'true')
********$state = xtc_db_prepare_input($_POST['state']);
****$country = xtc_db_prepare_input($_POST['country']);
****$telephone = xtc_db_prepare_input($_POST['telephone']);
****$fax = xtc_db_prepare_input($_POST['fax']);
****$newsletter = '0';
****$password = xtc_db_prepare_input($_POST['password']);
****$confirmation = xtc_db_prepare_input($_POST['confirmation']);

****$error = false;

****if (ACCOUNT_GENDER == 'true') {
********if (($gender != 'm') && ($gender != 'f')) {
************$error = true;

************$messageStack->add('create_account', ENTRY_GENDER_ERROR);
********}
****}

****if (strlen($firstname) < ENTRY_FIRST_NAME_MIN_LENGTH) {
********$error = true;

********$messageStack->add('create_account', ENTRY_FIRST_NAME_ERROR);
****}

****if (strlen($lastname) < ENTRY_LAST_NAME_MIN_LENGTH) {
********$error = true;

********$messageStack->add('create_account', ENTRY_LAST_NAME_ERROR);
****}

****if (ACCOUNT_DOB == 'true') {
********if (checkdate(substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) == false) {
************$error = true;

************$messageStack->add('create_account', ENTRY_DATE_OF_BIRTH_ERROR);
********}
****}

// New VAT Check
****require_once(DIR_WS_CLASSES.'vat_validation.ph p');
****$vatID = new vat_validation($vat, '', '', $country);

****$customers_status = $vatID->vat_info['status'];
****$customers_vat_id_status = $vatID->vat_info['vat_id_status'];
****$error = $vatID->vat_info['error'];

****if($error==1){
****$messageStack->add('create_account', ENTRY_VAT_ERROR);
****$error = true;
**}

// New VAT CHECK END


****if (strlen($email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH) {
********$error = true;

********$messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_ERROR);
****}
****elseif (xtc_validate_email($email_address) == false) {
********$error = true;

********$messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_CHECK_ERROR);
****} else {
********$check_email_query = xtc_db_query("select count( ) as total from ".TABLE_CUSTOMERS." where customers_email_address = '".xtc_db_input($email_address)."'");
********$check_email = xtc_db_fetch_array($check_email_query);
********if ($check_email['total'] > 0) {
************$error = true;

************$messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_ERROR_EXISTS);
********}
****}

****if (strlen($street_address) < ENTRY_STREET_ADDRESS_MIN_LENGTH) {
********$error = true;

********$messageStack->add('create_account', ENTRY_STREET_ADDRESS_ERROR);
****}

****if (strlen($postcode) < ENTRY_POSTCODE_MIN_LENGTH) {
********$error = true;

********$messageStack->add('create_account', ENTRY_POST_CODE_ERROR);
****}

****if (strlen($city) < ENTRY_CITY_MIN_LENGTH) {
********$error = true;

********$messageStack->add('create_account', ENTRY_CITY_ERROR);
****}

****if (is_numeric($country) == false) {
********$error = true;

********$messageStack->add('create_account', ENTRY_COUNTRY_ERROR);
****}

****if (ACCOUNT_STATE == 'true') {
********$zone_id = 0;
********$check_query = xtc_db_query("select count( ) as total from ".TABLE_ZONES." where zone_country_id = '".(int) $country."'");
********$check = xtc_db_fetch_array($check_query);
********$entry_state_has_zones = ($check['total'] > 0);
********if ($entry_state_has_zones == true) {
************$zone_query = xtc_db_query("select distinct zone_id from ".TABLE_ZONES." where zone_country_id = '".(int) $country."' and (zone_name like '".xtc_db_input($state)."%' or zone_code like '%".xtc_db_input($state)."%')");
************if (xtc_db_num_rows($zone_query) > 1) {
****************$zone_query = xtc_db_query("select distinct zone_id from ".TABLE_ZONES." where zone_country_id = '".(int) $country."' and zone_name = '".xtc_db_input($state)."'");
************}
************if (xtc_db_num_rows($zone_query) >= 1) {
****************$zone = xtc_db_fetch_array($zone_query);
****************$zone_id = $zone['zone_id'];
************} else {
****************$error = true;

****************$messageStack->add('create_account', ENTRY_STATE_ERROR_SELECT);
************}
********} else {
************if (strlen($state) < ENTRY_STATE_MIN_LENGTH) {
****************$error = true;

****************$messageStack->add('create_account', ENTRY_STATE_ERROR);
************}
********}
****}

****if (strlen($telephone) < ENTRY_TELEPHONE_MIN_LENGTH) {
********$error = true;

********$messageStack->add('create_account', ENTRY_TELEPHONE_NUMBER_ERROR);
****}

****if (strlen($password) < ENTRY_PASSWORD_MIN_LENGTH) {
********$error = true;

********$messageStack->add('create_account', ENTRY_PASSWORD_ERROR);
****}
****elseif ($password != $confirmation) {
********$error = true;

********$messageStack->add('create_account', ENTRY_PASSWORD_ERROR_NOT_MATCHING);
****}

****//don't know why, but this happens sometimes and new user becomes admin
****if ($customers_status == 0 || !$customers_status)
********$customers_status = DEFAULT_CUSTOMERS_STATUS_ID;
****if (!$newsletter)
********$newsletter = 0;
****if ($error == false) {
********$sql_data_array = array ('customers_vat_id' => $vat, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_status' => $customers_status, 'customers_firstname' => $firstname, 'customers_lastname' => $lastname, 'customers_email_address' => $email_address, 'customers_telephone' => $telephone, 'customers_fax' => $fax, 'customers_newsletter' => $newsletter, 'customers_password' => xtc_encrypt_password($password),'customers_date_ad ded' => 'now()','customers_last_modified' => 'now()');

********if (ACCOUNT_GENDER == 'true')
************$sql_data_array['customers_gender'] = $gender;
********if (ACCOUNT_DOB == 'true')
************$sql_data_array['customers_dob'] = xtc_date_raw($dob);
************if (ACCOUNT_GENDER == 'true') $sql_data_array['customers_gender'] = $gender;
if (ACCOUNT_DOB == 'true') $sql_data_array['customers_dob'] = xtc_date_raw($dob);

// neue Kundennumer automtisch generieren:
// by RP - Generieren einer eindeutigen Kunden-Nr
$kunr = "";
if( $kunr == "" )
{
$knr_pre = substr($lastname,0,3);
$knr_pre = strtoupper($knr_pre);
$knr_jah = date("y");
$knr_jah = $knr_jah 1000;
$tage = date("z");
$knr_dat = $knr_jah + $tage;
$std = date("H");
$min = date("i");
$sec = date("s");
$std = $std 3600;
$min = $min 60;
$mt = $std + $min + $sec;
$kunr = $knr_pre . "-" . $knr_dat . "-" . $mt;
$chkunr = $kunr;
}
$sql_data_array['customers_cid'] = $chkunr;
// Ende RP-Kunden-Nr
********xtc_db_perform(TABLE_CUSTOMERS, $sql_data_array);

********$_SESSION['customer_id'] = xtc_db_insert_id();
********$user_id = xtc_db_insert_id();
********xtc_write_user_info($user_id);
********$sql_data_array = array ('customers_id' => $_SESSION['customer_id'], 'entry_firstname' => $firstname, 'entry_lastname' => $lastname, 'entry_street_address' => $street_address, 'entry_postcode' => $postcode, 'entry_city' => $city, 'entry_country_id' => $country,'address_date_added' => 'now()','address_last_modified' => 'now()');

********if (ACCOUNT_GENDER == 'true')
************$sql_data_array['entry_gender'] = $gender;
********if (ACCOUNT_COMPANY == 'true')
************$sql_data_array['entry_company'] = $company;
********if (ACCOUNT_SUBURB == 'true')
************$sql_data_array['entry_suburb'] = $suburb;
********if (ACCOUNT_STATE == 'true') {
************if ($zone_id > 0) {
****************$sql_data_array['entry_zone_id'] = $zone_id;
****************$sql_data_array['entry_state'] = '';
************} else {
****************$sql_data_array['entry_zone_id'] = '0';
****************$sql_data_array['entry_state'] = $state;
************}
********}

********xtc_db_perform(TABLE_ADDRESS_BOOK, $sql_data_array);

********$address_id = xtc_db_insert_id();

********xtc_db_query("update ".TABLE_CUSTOMERS." set customers_default_address_id = '".$address_id."' where customers_id = '".(int) $_SESSION['customer_id']."'");

********xtc_db_query("insert into ".TABLE_CUSTOMERS_INFO." (customers_info_id, customers_info_number_of_logons, customers_info_date_account_created) values ('".(int) $_SESSION['customer_id']."', '0', now())");
********if ($newsletter){
************$check_query_nl = xtc_db_query("select count( ) as total from ".TABLE_NEWSLETTER_RECIPIENTS." where customers_email_address = '".$email_address."'");
************$check_nl = xtc_db_fetch_array($check_query_nl);
************$nl_r = ($check_nl['total'] > 0);
************if ($nl_r == false)
****************xtc_db_query("insert into ".TABLE_NEWSLETTER_RECIPIENTS." (customers_email_address, customers_id, customers_status, customers_firstname, mail_status, date_added) values ('".$email_address."','0','1','Gast','1', now())");
********}


********if (SESSION_RECREATE == 'True') {
************xtc_session_recreate();
********}

********$_SESSION['customer_first_name'] = $firstname;
********$_SESSION['customer_last_name'] = $lastname;
********$_SESSION['customer_default_address_id'] = $address_id;
********$_SESSION['customer_country_id'] = $country;
********$_SESSION['customer_zone_id'] = $zone_id;
********$_SESSION['customer_vat_id'] = $vat;

********// restore cart contents
********$_SESSION['cart']->restore_contents();

********// build the message content
********$name = $firstname.' '.$lastname;

********// load data into array
********$module_content = array ();
********$module_content = array ('E_MAIL' => $email_address, 'MAIL_NAME' => $name, 'MAIL_REPLY_ADDRESS' => EMAIL_SUPPORT_REPLY_ADDRESS, 'MAIL_GENDER' => $gender);

********// assign data to smarty
********$smarty->assign('language', $_SESSION['language']);
********$smarty->assign('logo_path', HTTP_SERVER.DIR_WS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/img/');
********$smarty->assign('content', $module_content);
********$smarty->caching = false;

if (isset ($_SESSION['tracking']['refID'])){
******$campaign_check_query_raw = "SELECT
****************************************FROM ".TABLE_CAMPAIGNS."
****************************************WHERE campaigns_refID = '".$_SESSION[tracking][refID]."'";
************$campaign_check_query = xtc_db_query($campaign_check_query_raw);
********if (xtc_db_num_rows($campaign_check_query) > 0) {
************$campaign = xtc_db_fetch_array($campaign_check_query);
************$refID = $campaign['campaigns_id'];
************} else {
************$refID = 0;
********************}

************ xtc_db_query("update " . TABLE_CUSTOMERS . " set
******************************** refferers_id = '".$refID."'
******************************** where customers_id = '".(int) $_SESSION['customer_id']."'");

************$leads = $campaign['campaigns_leads'] + 1;
************ xtc_db_query("update " . TABLE_CAMPAIGNS . " set
******************************** campaigns_leads = '".$leads."'
******************************** where campaigns_id = '".$refID."'");
}


********if (ACTIVATE_GIFT_SYSTEM == 'true') {
************// GV Code Start
************// ICW - CREDIT CLASS CODE BLOCK ADDED** BEGIN
************if (NEW_SIGNUP_GIFT_VOUCHER_AMOUNT > 0) {
****************$coupon_code = create_coupon_code();
****************$insert_query = xtc_db_query("insert into ".TABLE_COUPONS." (coupon_code, coupon_type, coupon_amount, date_created) values ('".$coupon_code."', 'G', '".NEW_SIGNUP_GIFT_VOUCHER_AMOUNT."', now())");
****************$insert_id = xtc_db_insert_id($insert_query);
****************$insert_query = xtc_db_query("insert into ".TABLE_COUPON_EMAIL_TRACK." (coupon_id, customer_id_sent, sent_firstname, emailed_to, date_sent) values ('".$insert_id."', '0', 'Admin', '".$email_address."', now() )");

****************$smarty->assign('SEND_GIFT', 'true');
****************$smarty->assign('GIFT_AMMOUNT', $xtPrice->xtcFormat(NEW_SIGNUP_GIFT_VOUCHER_AMOUNT, true));
****************$smarty->assign('GIFT_CODE', $coupon_code);
****************$smarty->assign('GIFT_LINK', xtc_href_link(FILENAME_GV_REDEEM, 'gv_no='.$coupon_code, 'NONSSL', false));

************}
************if (NEW_SIGNUP_DISCOUNT_COUPON != '') {
****************$coupon_code = NEW_SIGNUP_DISCOUNT_COUPON;
****************$coupon_query = xtc_db_query("select from ".TABLE_COUPONS." where coupon_code = '".$coupon_code."'");
****************$coupon = xtc_db_fetch_array($coupon_query);
****************$coupon_id = $coupon['coupon_id'];
****************$coupon_desc_query = xtc_db_query("select from ".TABLE_COUPONS_DESCRIPTION." where coupon_id = '".$coupon_id."' and language_id = '".(int) $_SESSION['languages_id']."'");
****************$coupon_desc = xtc_db_fetch_array($coupon_desc_query);
****************$insert_query = xtc_db_query("insert into ".TABLE_COUPON_EMAIL_TRACK." (coupon_id, customer_id_sent, sent_firstname, emailed_to, date_sent) values ('".$coupon_id."', '0', 'Admin', '".$email_address."', now() )");

****************$smarty->assign('SEND_COUPON', 'true');
****************$smarty->assign('COUPON_DESC', $coupon_desc['coupon_description']);
****************$smarty->assign('COUPON_CODE', $coupon['coupon_code']);

************}
************// ICW - CREDIT CLASS CODE BLOCK ADDED** END
************// GV Code End****** // create templates
********}
****************// Geändert 01.11.2005: Kennwort und DIRECT_LOGIN hinzugefügt

**********$smarty->assign('PASSWORD',$password);
**********$smarty->assign('DIRECT_LOGIN', xtc_href_link(FILENAME_LOGIN, 'action=process&amp;hokuspokus=' . pv_encstr($email_address . ';' . md5($password)) , 'SSL'));

********$smarty->caching = 0;
********$html_mail = $smarty->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/create_account_mail.html');
********$smarty->caching = 0;
********$txt_mail = $smarty->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/create_account_mail.txt');

********xtc_php_mail(EMAIL_SUPPORT_ADDRESS, EMAIL_SUPPORT_NAME, $email_address, $name, EMAIL_SUPPORT_FORWARDING_STRING, EMAIL_SUPPORT_REPLY_ADDRESS, EMAIL_SUPPORT_REPLY_ADDRESS_NAME, '', '', EMAIL_SUPPORT_SUBJECT, $html_mail, $txt_mail);

********if (!isset ($mail_error)) {
************xtc_redirect(xtc_href_link(FILENAME_SH OPPING_CART, '', 'SSL'));
********} else {
************echo $mail_error;
********}
****}
}

$breadcrumb->add(NAVBAR_TITLE_CREATE_ACCOUNT, xtc_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'));

require (DIR_WS_INCLUDES.'header.php');

if ($messageStack->size('create_account') > 0) {
****$smarty->assign('error', $messageStack->output('create_account'));

}
$smarty->assign('FORM_ACTION', xtc_draw_form('create_account', xtc_href_link(FILENAME_CREATE_ACCOUNT, '', 'SSL'), 'post', 'onsubmit="return check_form(create_account);"').xtc_draw_hidden_field('action', 'process'));

if (ACCOUNT_GENDER == 'true') {
****$smarty->assign('gender', '1');

****$smarty->assign('INPUT_MALE', xtc_draw_radio_field(array ('name' => 'gender', 'suffix' => MALE), 'm'));
****$smarty->assign('INPUT_FEMALE', xtc_draw_radio_field(array ('name' => 'gender', 'suffix' => FEMALE, 'text' => (xtc_not_null(ENTRY_GENDER_TEXT) ? ''.ENTRY_GENDER_TEXT.'' : '')), 'f'));

} else {
****$smarty->assign('gender', '0');
}

$smarty->assign('INPUT_FIRSTNAME', xtc_draw_input_fieldNote(array ('name' => 'firstname', 'text' => ''. (xtc_not_null(ENTRY_FIRST_NAME_TEXT) ? ''.ENTRY_FIRST_NAME_TEXT.'' : ''))));
$smarty->assign('INPUT_LASTNAME', xtc_draw_input_fieldNote(array ('name' => 'lastname', 'text' => ''. (xtc_not_null(ENTRY_LAST_NAME_TEXT) ? ''.ENTRY_LAST_NAME_TEXT.'' : ''))));

if (ACCOUNT_DOB == 'true') {
****$smarty->assign('birthdate', '1');

****$smarty->assign('INPUT_DOB', xtc_draw_input_fieldNote(array ('name' => 'dob', 'text' => ''. (xtc_not_null(ENTRY_DATE_OF_BIRTH_TEXT) ? ''.ENTRY_DATE_OF_BIRTH_TEXT.'' : ''))));

} else {
****$smarty->assign('birthdate', '0');
}

$smarty->assign('INPUT_EMAIL', xtc_draw_input_fieldNote(array ('name' => 'email_address', 'text' => ''. (xtc_not_null(ENTRY_EMAIL_ADDRESS_TEXT) ? ''.ENTRY_EMAIL_ADDRESS_TEXT.'' : ''))));

if (ACCOUNT_COMPANY == 'true') {
****$smarty->assign('company', '1');
****$smarty->assign('INPUT_COMPANY', xtc_draw_input_fieldNote(array ('name' => 'company', 'text' => ''. (xtc_not_null(ENTRY_COMPANY_TEXT) ? ''.ENTRY_COMPANY_TEXT.'' : ''))));
} else {
****$smarty->assign('company', '0');
}

if (ACCOUNT_COMPANY_VAT_CHECK == 'true') {
****$smarty->assign('vat', '1');
****$smarty->assign('INPUT_VAT', xtc_draw_input_fieldNote(array ('name' => 'vat', 'text' => ''. (xtc_not_null(ENTRY_VAT_TEXT) ? ''.ENTRY_VAT_TEXT.'' : ''))));
} else {
****$smarty->assign('vat', '0');
}

$smarty->assign('INPUT_STREET', xtc_draw_input_fieldNote(array ('name' => 'street_address', 'text' => ''. (xtc_not_null(ENTRY_STREET_ADDRESS_TEXT) ? ''.ENTRY_STREET_ADDRESS_TEXT.'' : ''))));

if (ACCOUNT_SUBURB == 'true') {
****$smarty->assign('suburb', '1');
****$smarty->assign('INPUT_SUBURB', xtc_draw_input_fieldNote(array ('name' => 'suburb', 'text' => ''. (xtc_not_null(ENTRY_SUBURB_TEXT) ? ''.ENTRY_SUBURB_TEXT.'' : ''))));

} else {
****$smarty->assign('suburb', '0');
}

$smarty->assign('INPUT_CODE', xtc_draw_input_fieldNote(array ('name' => 'postcode', 'text' => ''. (xtc_not_null(ENTRY_POST_CODE_TEXT) ? ''.ENTRY_POST_CODE_TEXT.'' : ''))));
$smarty->assign('INPUT_CITY', xtc_draw_input_fieldNote(array ('name' => 'city', 'text' => ''. (xtc_not_null(ENTRY_CITY_TEXT) ? ''.ENTRY_CITY_TEXT.'' : ''))));

if (ACCOUNT_STATE == 'true') {
****$smarty->assign('state', '1');

****if ($process == true) {
********if ($entry_state_has_zones == true) {
************$zones_array = array ();
************$zones_query = xtc_db_query("select zone_name from ".TABLE_ZONES." where zone_country_id = '".(int) $country."' order by zone_name");
************while ($zones_values = xtc_db_fetch_array($zones_query)) {
****************$zones_array[] = array ('id' => $zones_values['zone_name'], 'text' => $zones_values['zone_name']);
************}
************$state_input = xtc_draw_pull_down_menuNote(array ('name' => 'state', 'text' => ''. (xtc_not_null(ENTRY_STATE_TEXT) ? ''.ENTRY_STATE_TEXT.'' : '')), $zones_array);
********} else {
************$state_input = xtc_draw_input_fieldNote(array ('name' => 'state', 'text' => ''. (xtc_not_null(ENTRY_STATE_TEXT) ? ''.ENTRY_STATE_TEXT.'' : '')));
********}
****} else {
********$state_input = xtc_draw_input_fieldNote(array ('name' => 'state', 'text' => ''. (xtc_not_null(ENTRY_STATE_TEXT) ? ''.ENTRY_STATE_TEXT.'' : '')));
****}

****$smarty->assign('INPUT_STATE', $state_input);
} else {
****$smarty->assign('state', '0');
}

if ($_POST['country']) {
****$selected = $_POST['country'];
} else {
****$selected = STORE_COUNTRY;
}

$smarty->assign('SELECT_COUNTRY', xtc_get_country_list(array ('name' => 'country', 'text' => ''. (xtc_not_null(ENTRY_COUNTRY_TEXT) ? ''.ENTRY_COUNTRY_TEXT.'' : '')), $selected));
$smarty->assign('INPUT_TEL', xtc_draw_input_fieldNote(array ('name' => 'telephone', 'text' => ''. (xtc_not_null(ENTRY_TELEPHONE_NUMBER_TEXT) ? ''.ENTRY_TELEPHONE_NUMBER_TEXT.'' : ''))));
$smarty->assign('INPUT_FAX', xtc_draw_input_fieldNote(array ('name' => 'fax', 'text' => ''. (xtc_not_null(ENTRY_FAX_NUMBER_TEXT) ? ''.ENTRY_FAX_NUMBER_TEXT.'' : ''))));
$smarty->assign('INPUT_PASSWORD', xtc_draw_password_fieldNote(array ('name' => 'password', 'text' => ''. (xtc_not_null(ENTRY_PASSWORD_TEXT) ? ''.ENTRY_PASSWORD_TEXT.'' : ''))));
$smarty->assign('INPUT_CONFIRMATION', xtc_draw_password_fieldNote(array ('name' => 'confirmation', 'text' => ''. (xtc_not_null(ENTRY_PASSWORD_CONFIRMATION_TEXT) ? ''.ENTRY_PASSWORD_CONFIRMATION_TEXT.'' : ''))));
$smarty->assign('FORM_END', '</form>');
$smarty->assign('language', $_SESSION['language']);
$smarty->caching = 0;
$smarty->assign('BUTTON_SUBMIT', xtc_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE));
$main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/create_account.html');

$smarty->assign('language', $_SESSION['language']);
$smarty->assign('main_content', $main_content);
$smarty->caching = 0;
if (!defined(RM))
****$smarty->load_filter('output', 'note');
$smarty->display(CURRENT_TEMPLATE.'/index.html');
include ('includes/application_bottom.php');
?>



Beste Grüsse
Patrik

p.scholle
10.06.2006, 22:57
Komisch. Die Checkbox hat eigentlich nichts direkt mit der Datenbank zu tun. Kann ich nicht nachvollziehen. Wenn du den eingefügten Code entfernst, ist dann die Checkbox wieder da? Viellenicht hilft ja den Template_c Ordner zu leeren?!

Gruß,
Peter

Mythbuster
11.06.2006, 00:00
Hallo Peter

Du hattest recht, ich habe irrtümlicherweise etwas gelöscht. Nun klappt alles hervorragend! Falls Du mir noch den code für die bereits eingetragenen E-Mails hätest wäre dies natürlich wie Geburtstag und Weihnachten zusammen! Bis dahin bereits ein grosses Dankeschön!

Gruss
Patrik

Cindy
11.06.2006, 03:13
Moin,

geht nach dem Account erstellen auch eine Mail zur Bestätigung für den Newsletter raus?

Mythbuster
11.06.2006, 13:47
Hallo Cindy

Nein eine e-mail geht nicht raus.

Gruss
Patrik

Cindy
11.06.2006, 14:04
Danke Patrik, dann ist das leider nichts für mich. Hab aber eben gelesen das das wohl in der SP2 drin sein soll. Hoffe nur das es nicht mehr allzu lang dauert bis die Version fertig ist.

Mythbuster
14.08.2006, 12:09
Da haben wir uns zu früh gefreut. In der SP2 scheint es nicht drin zu sein. Waren wohl wiedermal nur versprechungen.

Gruss
Mythbuster

kuestensurfer
01.09.2006, 11:29
Wer in der Accounterstellung eine box haben will mit der Newsletter anmeldung + dem Mail mit dem aktievirungslink des newsletters nach der account erstellung bitte kurze pm an mich schicks euch gerne

Heißt:

Kunde erstellt ein Konto und hat dann in der creat_account.php eine Box zum häckchen setzen
"ja, ich möchte den Newsletter regelmäßig per Email bekommen"

Danach bekommt der Kunde das Herzlich willkommen Mail + einem Mail mit dem Link zur aktivierung des Newsletters


PS evtl kann mir jemand da weiterhelfen siehe
http://www.ecombase.de/forum/index.php?showtopic=1726

gruß Chris