Вход Регистрация
Файл: core/includes/register.php
Строк: 397
<?php
#####################################
# ShopCMS: Скрипт интернет-магазина
# Copyright (c) by ADGroup
# http://shopcms.ru
#####################################


// *****************************************************************************
// Purpose                        registration form
// Call condition
//                                        index.php?register=yes OR isset($register)
//                                                                        - register new customer
//                                        ( index.php?register=yes OR isset($register) ) AND isset($order)
//                                                                        - register new customer and proceed order process
//                                        index.php?register=yes&r_successful=yes
//                                                                        - register new customer success notification
// Include PHP                index.php -> [register.php]
// Uses TPL                        register.tpl, reg_successful.tpl
// Remarks

if ( isset($_GET["r_successful"]) )                        // successful registration notification
        
$smarty->assign("main_content_template""reg_successful.tpl.html");

if ( isset(
$register) && !isset($_SESSION["log"]) )
{



        
// *****************************************************************************
        // Purpose        copies data from $_POST variable to HTML page
        // Inputs                     $smarty - smarty object
        // Remarks
        // Returns        nothing
        
function _copyDataFromPostToPage( & $smarty )
        {
                
$smarty->hassign("login",  trim($_POST["login"]) );
                
$smarty->hassign("cust_password1"trim($_POST["cust_password1"]) );
                
$smarty->hassign("cust_password2"trim($_POST["cust_password2"]) );
                
$smarty->hassign("first_name"trim($_POST["first_name"]));
                
$smarty->hassign("affiliationLogin"trim($_POST["affiliationLogin"]));
                
$smarty->hassign("last_name"trim($_POST["last_name"]));
                
$smarty->hassign("email"trim($_POST["email"]));
                
$smarty->assign("subscribed4news", (isset($_POST["subscribed4news"])?1:0) );

                
$zones znGetZonesById( (int)$_POST["countryID"] );
                
$smarty->hassign("zones",$zones);

                
$additional_field_values = array();
                
$data ScanPostVariableWithId( array( "additional_field" ) );
                foreach( 
$data as $key => $val )
                {
                        
$item = array( "reg_field_ID" => $key"reg_field_name" => "",
                                
"reg_field_value" => $val["additional_field"] );
                        
$additional_field_values[] = $item;
                }
                
$smarty->hassign("additional_field_values"$additional_field_values );

                
$smarty->assign("countryID", (int)$_POST["countryID"] );
                if ( isset(
$_POST["state"]) ) $smarty->hassign("state"trim($_POST["state"]) );
                if ( isset(
$_POST["zoneID"]) ) $smarty->assign("zoneID", (int)$_POST["zoneID"] );
                
$smarty->hassign("city"trim($_POST["city"]));
                
$smarty->hassign("address"trim($_POST["address"]));
                if ( isset(
$_POST["order"]) || isset($_GET["order"]) )
                {
                        if (  isset(
$_POST["billing_address_check"]) ) $smarty->assign"billing_address_check""1" );

                        
$smarty->hassign"receiver_first_name"trim($_POST["receiver_first_name"]) );
                        
$smarty->hassign"receiver_last_name"trim($_POST["receiver_last_name"]) );

                        if ( !isset(
$_POST["billing_address_check"]) )
                        {
                                
$smarty->hassign"payer_first_name"trim($_POST["payer_first_name"]));
                                
$smarty->hassign"payer_last_name"trim($_POST["payer_last_name"]));
                                
$smarty->assign"billingCountryID", (int)$_POST["billingCountryID"]);
                                if ( isset(
$_POST["billingState"]) )  $smarty->hassign"billingState"trim($_POST["billingState"]));
                                if ( isset(
$_POST["billingZoneId"]) ) $smarty->assign"billingZoneId", (int)$_POST["billingZoneId"] );
                                
$smarty->hassign"billingCity"trim($_POST["billingCity"]));
                                
$smarty->hassign"billingAddress"trim($_POST["billingAddress"]));
                                
$billingZones znGetZonesById( (int)$_POST["billingCountryID"] );
                                
$smarty->assign"billingZones"$billingZones );
                        }
                        else
                        {
                                
$smarty->hassign"payer_first_name"trim($_POST["receiver_first_name"]));
                                
$smarty->hassign"payer_last_name"trim($_POST["receiver_last_name"]));
                                
$smarty->assign"billingCountryID", (int)$_POST["countryID"] );
                                if ( isset(
$_POST["state"]) ) $smarty->hassign"billingState"trim($_POST["state"]) );
                                if ( isset(
$_POST["zoneId"]) ) $smarty->assign"billingZoneId", (int)$_POST["zoneId"] );
                                
$smarty->hassign"billingCity"trim($_POST["city"]));
                                
$smarty->hassign"billingAddress"trim($_POST["address"]));
                                
$smarty->assign"billingZones"$zones);
                        }
                }
        }


        if ( !isset(
$_POST["state"]) ) $_POST["state"] = "";
        if ( !isset(
$_POST["countryID"]) ) $_POST["countryID"] = CONF_DEFAULT_COUNTRY;

        
$isPost = isset($_POST["login"]) && isset($_POST["cust_password1"]);

        if ( 
$isPost )  _copyDataFromPostToPage$smarty );

        if ( isset(
$_POST["save"]) ) //save user to the database
        
{
                
$login            trim($_POST["login"]);
                
$cust_password1   trim($_POST["cust_password1"]);
                
$cust_password2   trim($_POST["cust_password2"]);
                
$first_name       trim($_POST["first_name"]);
                
$affiliationLogin trim($_POST["affiliationLogin"]);
                
$last_name        trim($_POST["last_name"]);
                
$Email            trim($_POST["email"]);
                
$subscribed4news  = ( isset($_POST["subscribed4news"]) ? );
                
$additional_field_values ScanPostVariableWithId( array( "additional_field" ) );

                if ( isset(
$order) )
                {
                        
$receiver_first_name trim($_POST["receiver_first_name"]);
                        
$receiver_last_name  trim($_POST["receiver_last_name"]);
                }

                
$countryID = (int)$_POST["countryID"];
                
$state     trim($_POST["state"]);
                
$city      trim($_POST["city"]);
                
$address   trim($_POST["address"]);
                if ( isset(
$_POST["zoneID"]) ) $zoneID = (int)$_POST["zoneID"];
                else 
$zoneID 0;

                if ( isset(
$order) && isset($_POST["billing_address_check"]) )
                {
                        
$payer_first_name $receiver_first_name;
                        
$payer_last_name  $receiver_last_name;
                        
$billingCountryID $countryID;
                        
$billingState     $state;
                        
$billingCity      $city;
                        
$billingAddress   $address;
                        
$billingZoneID    $zoneID;
                }
                else if ( isset(
$order) )
                {
                        
$payer_first_name trim($_POST["payer_first_name"]);
                        
$payer_last_name  trim($_POST["payer_last_name"]);
                        
$billingCountryID = (int)$_POST["billingCountryID"];
                        if ( isset(
$_POST["billingState"]) ) $billingState trim($_POST["billingState"]);
                        else 
$billingState "";
                        
$billingCity      trim($_POST["billingCity"]);
                        
$billingAddress   trim($_POST["billingAddress"]);
                        if ( isset(
$_POST["billingZoneID"]) ) $billingZoneID = (int)$_POST["billingZoneID"];
                        else 
$billingZoneID 0;
                }

                
$error regVerifyContactInfo$login$cust_password1$cust_password2,
                                                
$Email$first_name$last_name$subscribed4news,
                                                
$additional_field_values );

                if(
CONF_ENABLE_CONFIRMATION_CODE){
                        if(!
$_POST['fConfirmationCode'] || !isset($_SESSION['captcha_keystring']) || $_SESSION['captcha_keystring'] !==  $_POST['fConfirmationCode'])  $error ERR_WRONG_CCODE;
                        unset(
$_SESSION['captcha_keystring']);
                }

                if ( 
$error == "" ) unset( $error );

                if (!isset(
$error) && isset($affiliationLogin))
                        if ( !
regIsRegister($affiliationLogin) && $affiliationLogin)
                                
$error ERROR_WRONG_AFFILIATION;

                if ( !isset(
$error) )
                        if ( 
regIsRegister($login) )
                                
$error ERROR_USER_ALREADY_EXISTS;

                if ( !isset(
$error) )
                {
                        if ( !isset(
$order) )
                                
$error regVerifyAddress(        $first_name$last_name$countryID$zoneID$state,
                                                                        
$city$address );
                        else
                                
$error regVerifyAddress(        $receiver_first_name$receiver_last_name$countryID,
                                                                        
$zoneID$state$city$address );
                        if ( 
$error == "" ) unset( $error );
                }

                if ( !isset(
$error) && isset($order) )
                {
                        
$error regVerifyAddress$payer_first_name$payer_last_name$billingCountryID,
                                                                        
$billingZoneID$billingState$billingCity$billingAddress );
                        if ( 
$error == "" ) unset( $error );
                }

                if ( !isset(
$error) )
                {
                        
$cust_password $cust_password1;

                        
$registerResult =
                                
regRegisterCustomer(
                                        
$login$cust_password$Email$first_name,
                                        
$last_name$subscribed4news$additional_field_values$affiliationLogin );

                        if ( 
$registerResult )
                        {

                                if ( isset(
$order) )
                                {
                                        
$addressID regAddAddress(
                                                
$receiver_first_name$receiver_last_name$countryID,
                                                
$zoneID$state$city,
                                                
$address$login$errorCode );
                                        
$billingAddressID $addressID;

                                        if ( !isset(
$_POST["billing_address_check"]) )
                                        {
                                                
$billingAddressID regAddAddress(
                                                        
$payer_first_name$payer_last_name$billingCountryID,
                                                        
$billingZoneID$billingState$billingCity,
                                                        
$billingAddress$login$errorCode );
                                        }

                                        
regSetDefaultAddressIDByLogin$login$addressID );
                                }
                                else
                                {
                                        
$addressID regAddAddress(
                                                
$first_name$last_name$countryID,
                                                
$zoneID$state$city,
                                                
$address$login$errorCode );
                                        
regSetDefaultAddressIDByLogin$login$addressID );
                                }

                                
regEmailNotification$smarty_mail,
                                        
$login$cust_password$Email$first_name,
                                        
$last_name$subscribed4news$additional_field_values,
                                        
$countryID$zoneID$state$city$address);

                                if(!
CONF_ENABLE_REGCONFIRMATION){
                                        
regAuthenticate$login$cust_password );
                                }

                                
$RedirectURL '';
                                if ( isset(
$order) )
                                {
                                        if ( isset(
$billingAddressID)  )
                                                
$RedirectURL = ( "index.php?order2_shipping=yes&shippingAddressID=".
                                                                        
regGetDefaultAddressIDByLogin($login).
                                                                        
"&defaultBillingAddressID=".$billingAddressID );
                                        else
                                                
$RedirectURL = ( "index.php?order2_shipping=yes&shippingAddressID=".
                                                                        
regGetDefaultAddressIDByLogin($login) );
                                }elseif ( isset(
$order_without_billing_address) ){
                                        
$RedirectURL = ( "index.php?order2_shipping=yes&shippingAddressID=".
                                                                        
regGetDefaultAddressIDByLogin($login) );
                                }else{
                                        
$RedirectURL = ( "index.php?r_successful=yes" );
                                }
                                if(
CONF_ENABLE_REGCONFIRMATION && (isset($order)||isset($order_without_billing_address))){

                                        
xSaveData('xREGMAILCONF_URLORDER2'$RedirectURL);
                                        
$RedirectURL = ( "index.php?act_customer=1&order2=yes" );
                                }

                                
RedirectJavaScript($RedirectURL);


                        }
                        else
                                
$smarty->assign"reg_error"ERROR_INPUT_STATE );
                }
                else
                        
$smarty->assign"reg_error"$error );
        }

        
// countries
        
$callBackParam = array();
        
$count_row 0;
        
$countries cnGetCountries$callBackParam$count_row );
        
$smarty->assign("countries"$countries );

        if ( !
$isPost )
        {
                if ( 
count($countries) != )
                {
                        
$zones znGetZonesById(CONF_DEFAULT_COUNTRY);
                        
$smarty->assign("zones"$zones);//var_dump($zones);
                        
$smarty->assign("billingZones"$zones);
                }
        }else{
           if ( 
count($countries) != )
                {
                        
$zones znGetZonesById((int)$_POST["countryID"]);
                        
$smarty->assign("zones"$zones);//var_dump($zones);
                        
$smarty->assign("billingZones"$zones);
                }
        }

        
// additional fields
        
$additional_fields=GetRegFields();
        
$smarty->assign("additional_fields"$additional_fields );

        if ( isset(
$register) ) $smarty->assign("return_url""index.php?register=yes" );

        
// proceeding to checkout mode
        
if ( isset($order) ) $smarty->assign("order"1);

        
// proceeding to checkout mode without billing address
        
if ( isset($order_without_billing_address) ) $smarty->assign("order_without_billing_address"1);

        if(isset(
$_SESSION['s_RefererLogin'])) $smarty->assign('SessionRefererLogin'$_SESSION['s_RefererLogin']);

        
$smarty->assign("main_content_template""register.tpl.html");
}
?>
Онлайн: 2
Реклама