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

// *****************************************************************************
// Purpose        gets all additional fields (see registry form)
// Inputs   nothing
// Remarks
// Returns        array of item
//                                each item
//                                        "reg_field_ID"                        - field id
//                                        "reg_field_name"                - field name
//                                        "reg_field_required"        - 1, if field is required to set
//                                        "sort_order"                        - sort order
function GetRegFields()
{
        
$q=db_query("select reg_field_ID, reg_field_name, reg_field_required, sort_order from ".
                
CUSTOMER_REG_FIELDS_TABLE." order by sort_order, reg_field_name " );
        
$data=array();
        while( 
$row=db_fetch_row($q) ) $data[]=$row;
        return 
$data;
}


// *****************************************************************************
// Purpose        add additional field
// Inputs                $reg_field_name                        - field name
//                                $reg_field_required                - 1, if field is required to set
//                                $sort_order                                - sort order
// Remarks
// Returns        nothing
function AddRegField($reg_field_name$reg_field_required$sort_order)
{
        
db_query("insert into ".CUSTOMER_REG_FIELDS_TABLE.
                
"(reg_field_name, reg_field_required, sort_order) ".
                
"values( '".xToText(trim($reg_field_name))."', ".(int)$reg_field_required.", ".(int)$sort_order." ) ");
}


// *****************************************************************************
// Purpose        delete additional field
// Inputs                $reg_field_ID                        - field id
// Remarks
// Returns        nothing
function DeleteRegField($reg_field_ID)
{
        
db_query("delete from ".CUSTOMER_REG_FIELDS_VALUES_TABLE.
                
" where reg_field_ID=".(int)$reg_field_ID);
        
db_query("delete from ".CUSTOMER_REG_FIELDS_TABLE.
                
" where reg_field_ID=".(int)$reg_field_ID);
}


// *****************************************************************************
// Purpose        update additional field
// Inputs
//                                $reg_field_ID                        - field id
//                                $reg_field_name                        - field name
//                                $reg_field_required                - 1, if field is required to set
//                                $sort_order                                - sort order
// Remarks
// Returns        nothing
function UpdateRegField($reg_field_ID$reg_field_name,
        
$reg_field_required$sort_order)
{
        
db_query(
                        
"update ".CUSTOMER_REG_FIELDS_TABLE." set ".
                        
"reg_field_name='".xToText(trim($reg_field_name))."', ".
                        
"reg_field_required=".(int)$reg_field_required.", ".
                        
"sort_order=".(int)$sort_order." ".
                        
"where reg_field_ID=".(int)$reg_field_ID);
}


// *****************************************************************************
// Purpose        set additional field value to customer
// Inputs
//                                $reg_field_ID                - field id
//                                $customer_login                - login
//                                $reg_field_value        - value (string)
// Remarks
// Returns        nothing
function SetRegField($reg_field_ID$customer_login$reg_field_value)
{

        
$customerID regGetIdByLogin$customer_login );
        
$q=db_query("select count(*) from ".CUSTOMER_REG_FIELDS_VALUES_TABLE.
                
" where reg_field_ID=".(int)$reg_field_ID." AND customerID=".(int)$customerID);
        
$r=db_fetch_row($q);
        if ( 
$r[0] == )
        {
                if ( 
trim($reg_field_value) == "" ) return;
                
db_query("insert into ".CUSTOMER_REG_FIELDS_VALUES_TABLE.
                        
"(reg_field_ID, customerID, reg_field_value) ".
                        
"values( '".(int)$reg_field_ID."', '".(int)$customerID."', '".xToText(trim($reg_field_value))."' )");
        }
        else
        {
                if ( 
trim($reg_field_value) == "" )
                        
db_query"delete from ".CUSTOMER_REG_FIELDS_VALUES_TABLE.
                                
" where reg_field_ID=".(int)$reg_field_ID." AND  ".
                                
"         customerID=".(int)$customerID);
                else
                        
db_query("update ".CUSTOMER_REG_FIELDS_VALUES_TABLE." set ".
                                
" reg_field_value='".xToText(trim($reg_field_value))."' ".
                                
" where reg_field_ID=".(int)$reg_field_ID." AND customerID=".(int)$customerID);
        }
}


// *****************************************************************************
// Purpose
// Inputs
//                                $reg_field_ID                - field id
//                                $customer_login                - login
//                                $reg_field_value        - value (string)
// Remarks
// Returns        1 if field requred to set, 0 otherwise
function GetIsRequiredRegField($reg_field_ID)
{
        
$q=db_query("select reg_field_required from ".CUSTOMER_REG_FIELDS_TABLE.
                
" where reg_field_ID=".(int)$reg_field_ID);
        
$r=db_fetch_row($q);
        return 
$r["reg_field_required"];
}


// *****************************************************************************
// Purpose        gets additional reg fields values of a registered customer
// Inputs        customerID
// Remarks
// Returns        array of item
//                                each item
//                                        "reg_field_ID"                        - field id
//                                        "reg_field_name"                - field name
//                                        "reg_field_value"                - value
function GetRegFieldsValuesByCustomerID$customerID )
{
        
//get customer
        
if (!$customerID) return array();

        
$q db_query("select reg_field_ID, reg_field_name from ".
                
CUSTOMER_REG_FIELDS_TABLE." order by sort_order, reg_field_name ");
        
$data=array();
        while( 
$r=db_fetch_row($q) )
        {
                
$q1=db_query("select reg_field_value from ".
                        
CUSTOMER_REG_FIELDS_VALUES_TABLE." where reg_field_ID=".(int)$r["reg_field_ID"].
                                
" AND customerID=".(int)$customerID);
                
$reg_field_value="";
                if ( 
$r1=db_fetch_row($q1) ) $reg_field_value $r1["reg_field_value"];
                if ( 
strlentrim($reg_field_value) ) > )
                {
                        
$row=array();
                        
$row["reg_field_ID"]   = $r["reg_field_ID"];
                        
$row["reg_field_name"] = $r["reg_field_name"];
                        
$row["reg_field_value"]= $reg_field_value;
                        
$data[]=$row;
                }
        }
        return 
$data;
}


// *****************************************************************************
// Purpose        gets additional reg fields values of a registered customer
// Inputs        customer login
// Remarks
// Returns        array of item
//                                each item
//                                        "reg_field_ID"                        - field id
//                                        "reg_field_name"                - field name
//                                        "reg_field_value"                - value
function GetRegFieldsValues$customer_login )
{
        
//get customer
        
$customerID regGetIdByLogin$customer_login );
        if (!
$customerID) return array();

        return 
GetRegFieldsValuesByCustomerID$customerID );
}

// *****************************************************************************
// Purpose        gets additional field values of a customer by orderID
// Inputs
// Remarks
// Returns        array of item
//                                each item
//                                        "reg_field_ID"                        - field id
//                                        "reg_field_name"                - field name
//                                        "reg_field_value"                - value
function GetRegFieldsValuesByOrderID$orderID )
{
        if (!
$orderID) return array();

        
//check if this order has been made by a registered customer or not (quick checkout)
        
$q=db_query("select customerID from ".
                
ORDERS_TABLE." where orderID = ".(int)$orderID);
        
$row db_fetch_row($q);
        if (
$row[0] > 0)
                return 
GetRegFieldsValuesByCustomerID$row[0] ); //made by a registered customer

        //quick checkout
        
$q=db_query("select reg_field_ID, reg_field_name from ".
                
CUSTOMER_REG_FIELDS_TABLE." order by sort_order, reg_field_name ");
        
$data = array();
        while( 
$r=db_fetch_row($q) )
        {
                
$q1=db_query("select reg_field_value from ".
                        
CUSTOMER_REG_FIELDS_VALUES_TABLE_QUICKREG." where reg_field_ID=".(int)$r["reg_field_ID"].
                                
" AND orderID=".(int)$orderID);
                
$reg_field_value="";
                if ( 
$r1=db_fetch_row($q1) ) $reg_field_value $r1["reg_field_value"];
                if ( 
strlentrim($reg_field_value) ) > )
                {
                        
$row=array();
                        
$row["reg_field_ID"]    = $r["reg_field_ID"];
                        
$row["reg_field_name"]  = $r["reg_field_name"];
                        
$row["reg_field_value"] = $reg_field_value;
                        
$data[]=$row;
                }
        }
        return 
$data;
}

?>
Онлайн: 0
Реклама