本文整理汇总了PHP中Customer::group_id方法的典型用法代码示例。如果您正苦于以下问题:PHP Customer::group_id方法的具体用法?PHP Customer::group_id怎么用?PHP Customer::group_id使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Customer
的用法示例。
在下文中一共展示了Customer::group_id方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1:
/**
* Returns a product price in the active currency, depending on the
* Customer and special offer status.
* @param Customer $objCustomer The Customer, or null
* @param double $price_options The price for Attributes,
* if any, or 0 (zero)
* @param integer $count The number of products, defaults
* to 1 (one)
* @param boolean $ignore_special_offer
* If true, special offers are ignored.
* This is needed to actually determine
* both prices in the products view.
* Defaults to false.
* @return double The price converted to the active
* currency
* @author Reto Kohli <reto.kohli@comvation.com>
*/
function get_custom_price($objCustomer = null, $price_options = 0, $count = 1, $ignore_special_offer = false)
{
$normalPrice = $this->price();
$resellerPrice = $this->resellerprice();
$discountPrice = $this->discountprice();
$discount_active = $this->discount_active();
$groupCountId = $this->group_id();
$groupArticleId = $this->article_id();
$price = $normalPrice;
if (!$ignore_special_offer && $discount_active == 1 && $discountPrice != 0) {
$price = $discountPrice;
} else {
if ($objCustomer && $objCustomer->is_reseller() && $resellerPrice != 0) {
$price = $resellerPrice;
}
}
$price += $price_options;
$rateCustomer = 0;
if ($objCustomer) {
$groupCustomerId = $objCustomer->group_id();
if ($groupCustomerId) {
$rateCustomer = Discount::getDiscountRateCustomer($groupCustomerId, $groupArticleId);
$price -= $price * $rateCustomer * 0.01;
}
}
$rateCount = 0;
if ($count > 0) {
$rateCount = Discount::getDiscountRateCount($groupCountId, $count);
$price -= $price * $rateCount * 0.01;
}
$price = Currency::getCurrencyPrice($price);
return $price;
}
示例2: intval
//.........这里部分代码省略.........
// Use the first available picture in microdata, if any
if (!$havePicture) {
$picture_url = \Cx\Core\Routing\Url::fromCapturedRequest(\Cx\Core\Core\Controller\Cx::instanciate()->getWebsiteImagesShopWebPath() . '/' . $image['img'], \Cx\Core\Core\Controller\Cx::instanciate()->getWebsiteOffsetPath(), array());
self::$objTemplate->setVariable('SHOP_PRODUCT_IMAGE', $picture_url->toString());
//\DBG::log("Set image to ".$picture_url->toString());
}
}
$arrProductImages[] = array('THUMBNAIL' => contrexx_raw2encodedUrl($thumbnailPath), 'THUMBNAIL_SIZE' => $arrSize[3], 'THUMBNAIL_LINK' => $pictureLink, 'POPUP_LINK' => $pictureLink, 'POPUP_LINK_NAME' => $_ARRAYLANG['TXT_SHOP_IMAGE'] . ' ' . $index);
$havePicture = true;
}
$i = 1;
foreach ($arrProductImages as $arrProductImage) {
// TODO: Instead of several numbered image blocks, use a single one repeatedly
self::$objTemplate->setVariable(array('SHOP_PRODUCT_THUMBNAIL_' . $i => $arrProductImage['THUMBNAIL'], 'SHOP_PRODUCT_THUMBNAIL_SIZE_' . $i => $arrProductImage['THUMBNAIL_SIZE']));
if (!empty($arrProductImage['THUMBNAIL_LINK'])) {
self::$objTemplate->setVariable(array('SHOP_PRODUCT_THUMBNAIL_LINK_' . $i => $arrProductImage['THUMBNAIL_LINK'], 'TXT_SEE_LARGE_PICTURE' => $_ARRAYLANG['TXT_SEE_LARGE_PICTURE']));
} else {
self::$objTemplate->setVariable('TXT_SEE_LARGE_PICTURE', contrexx_raw2xhtml($objProduct->name()));
}
if ($arrProductImage['POPUP_LINK']) {
self::$objTemplate->setVariable('SHOP_PRODUCT_POPUP_LINK_' . $i, $arrProductImage['POPUP_LINK']);
}
self::$objTemplate->setVariable('SHOP_PRODUCT_POPUP_LINK_NAME_' . $i, $arrProductImage['POPUP_LINK_NAME']);
++$i;
}
$stock = $objProduct->stock_visible() ? $_ARRAYLANG['TXT_STOCK'] . ': ' . intval($objProduct->stock()) : '';
$price = $objProduct->get_custom_price(self::$objCustomer, 0, 1, true);
// If there is a discountprice and it's enabled
$discountPrice = '';
if ($objProduct->discountprice() > 0 && $objProduct->discount_active()) {
$price = '<s>' . $price . '</s>';
$discountPrice = $objProduct->get_custom_price(self::$objCustomer, 0, 1, false);
}
$groupCountId = $objProduct->group_id();
$groupArticleId = $objProduct->article_id();
$groupCustomerId = 0;
if (self::$objCustomer) {
$groupCustomerId = self::$objCustomer->group_id();
}
self::showDiscountInfo($groupCustomerId, $groupArticleId, $groupCountId, 1);
/* OLD
$price = Currency::getCurrencyPrice(
$objProduct->getCustomerPrice(self::$objCustomer)
);
$discountPrice = '';
$discount_active = $objProduct->discount_active();
if ($discount_active) {
$discountPrice = $objProduct->discountprice();
if ($discountPrice > 0) {
$price = "<s>$price</s>";
$discountPrice =
Currency::getCurrencyPrice($discountPrice);
}
}
*/
$short = $objProduct->short();
$longDescription = $objProduct->long();
$detailLink = null;
// Detaillink is required for microdata (even when longdesc
// is empty)
$detail_url = \Cx\Core\Routing\Url::fromModuleAndCmd('Shop', 'details', FRONTEND_LANG_ID, array('productId' => $objProduct->id()))->toString();
self::$objTemplate->setVariable('SHOP_PRODUCT_DETAIL_URL', $detail_url);
if (!$product_id && !empty($longDescription)) {
$detailLink = '<a href="' . $detail_url . '"' . ' title="' . $_ARRAYLANG['TXT_MORE_INFORMATIONS'] . '">' . $_ARRAYLANG['TXT_MORE_INFORMATIONS'] . '</a>';
self::$objTemplate->setVariable('SHOP_PRODUCT_DETAILLINK', $detailLink);
}
示例3: intval
/**
* Set up the detail view of the selected order
* @access public
* @param \Cx\Core\Html\Sigma $objTemplate The Template, by reference
* @param boolean $edit Edit if true, view otherwise
* @global ADONewConnection $objDatabase Database connection object
* @global array $_ARRAYLANG Language array
* @return boolean True on success,
* false otherwise
* @static
* @author Reto Kohli <reto.kohli@comvation.com> (parts)
* @version 3.1.0
*/
static function view_detail(&$objTemplate = null, $edit = false)
{
global $objDatabase, $_ARRAYLANG, $objInit;
$backend = $objInit->mode == 'backend';
if ($objTemplate->blockExists('order_list')) {
$objTemplate->hideBlock('order_list');
}
$have_option = false;
// The order total -- in the currency chosen by the customer
$order_sum = 0;
// recalculated VAT total
$total_vat_amount = 0;
$order_id = intval($_REQUEST['order_id']);
if (!$order_id) {
return \Message::error($_ARRAYLANG['TXT_SHOP_ORDER_ERROR_INVALID_ORDER_ID']);
}
if (!$objTemplate) {
$template_name = $edit ? 'module_shop_order_edit.html' : 'module_shop_order_details.html';
$objTemplate = new \Cx\Core\Html\Sigma(\Cx\Core\Core\Controller\Cx::instanciate()->getCodeBaseModulePath() . '/Shop/View/Template/Backend');
//DBG::log("Orders::view_list(): new Template: ".$objTemplate->get());
$objTemplate->loadTemplateFile($template_name);
//DBG::log("Orders::view_list(): loaded Template: ".$objTemplate->get());
}
$objOrder = Order::getById($order_id);
if (!$objOrder) {
//DBG::log("Shop::shopShowOrderdetails(): Failed to find Order ID $order_id");
return \Message::error(sprintf($_ARRAYLANG['TXT_SHOP_ORDER_NOT_FOUND'], $order_id));
}
// lsv data
$query = "\n SELECT `holder`, `bank`, `blz`\n FROM " . DBPREFIX . "module_shop" . MODULE_INDEX . "_lsv\n WHERE order_id={$order_id}";
$objResult = $objDatabase->Execute($query);
if (!$objResult) {
return self::errorHandler();
}
if ($objResult->RecordCount() == 1) {
$objTemplate->setVariable(array('SHOP_ACCOUNT_HOLDER' => contrexx_raw2xhtml($objResult->fields['holder']), 'SHOP_ACCOUNT_BANK' => contrexx_raw2xhtml($objResult->fields['bank']), 'SHOP_ACCOUNT_BLZ' => contrexx_raw2xhtml($objResult->fields['blz'])));
}
$customer_id = $objOrder->customer_id();
if (!$customer_id) {
//DBG::log("Shop::shopShowOrderdetails(): Invalid Customer ID $customer_id");
\Message::error(sprintf($_ARRAYLANG['TXT_SHOP_INVALID_CUSTOMER_ID'], $customer_id));
}
$objCustomer = Customer::getById($customer_id);
if (!$objCustomer) {
//DBG::log("Shop::shopShowOrderdetails(): Failed to find Customer ID $customer_id");
\Message::error(sprintf($_ARRAYLANG['TXT_SHOP_CUSTOMER_NOT_FOUND'], $customer_id));
$objCustomer = new Customer();
// No editing allowed!
$have_option = true;
}
Vat::is_reseller($objCustomer->is_reseller());
Vat::is_home_country(\Cx\Core\Setting\Controller\Setting::getValue('country_id', 'Shop') == $objOrder->country_id());
$objTemplate->setGlobalVariable($_ARRAYLANG + array('SHOP_CURRENCY' => Currency::getCurrencySymbolById($objOrder->currency_id())));
//DBG::log("Order sum: ".Currency::formatPrice($objOrder->sum()));
$objTemplate->setVariable(array('SHOP_CUSTOMER_ID' => $customer_id, 'SHOP_ORDERID' => $order_id, 'SHOP_DATE' => date(ASCMS_DATE_FORMAT_INTERNATIONAL_DATETIME, strtotime($objOrder->date_time())), 'SHOP_ORDER_STATUS' => $edit ? Orders::getStatusMenu($objOrder->status(), false, null, 'swapSendToStatus(this.value)') : $_ARRAYLANG['TXT_SHOP_ORDER_STATUS_' . $objOrder->status()], 'SHOP_SEND_MAIL_STYLE' => $objOrder->status() == Order::STATUS_CONFIRMED ? 'display: inline;' : 'display: none;', 'SHOP_SEND_MAIL_STATUS' => $edit ? $objOrder->status() != Order::STATUS_CONFIRMED ? \Html::ATTRIBUTE_CHECKED : '' : '', 'SHOP_ORDER_SUM' => Currency::formatPrice($objOrder->sum()), 'SHOP_DEFAULT_CURRENCY' => Currency::getDefaultCurrencySymbol(), 'SHOP_GENDER' => $edit ? Customer::getGenderMenu($objOrder->billing_gender(), 'billing_gender') : $_ARRAYLANG['TXT_SHOP_' . strtoupper($objOrder->billing_gender())], 'SHOP_COMPANY' => $objOrder->billing_company(), 'SHOP_FIRSTNAME' => $objOrder->billing_firstname(), 'SHOP_LASTNAME' => $objOrder->billing_lastname(), 'SHOP_ADDRESS' => $objOrder->billing_address(), 'SHOP_ZIP' => $objOrder->billing_zip(), 'SHOP_CITY' => $objOrder->billing_city(), 'SHOP_COUNTRY' => $edit ? \Cx\Core\Country\Controller\Country::getMenu('billing_country_id', $objOrder->billing_country_id()) : \Cx\Core\Country\Controller\Country::getNameById($objOrder->billing_country_id()), 'SHOP_PHONE' => $objOrder->billing_phone(), 'SHOP_FAX' => $objOrder->billing_fax(), 'SHOP_EMAIL' => $objOrder->billing_email(), 'SHOP_SHIP_GENDER' => $edit ? Customer::getGenderMenu($objOrder->gender(), 'shipPrefix') : $_ARRAYLANG['TXT_SHOP_' . strtoupper($objOrder->gender())], 'SHOP_SHIP_COMPANY' => $objOrder->company(), 'SHOP_SHIP_FIRSTNAME' => $objOrder->firstname(), 'SHOP_SHIP_LASTNAME' => $objOrder->lastname(), 'SHOP_SHIP_ADDRESS' => $objOrder->address(), 'SHOP_SHIP_ZIP' => $objOrder->zip(), 'SHOP_SHIP_CITY' => $objOrder->city(), 'SHOP_SHIP_COUNTRY' => $edit ? \Cx\Core\Country\Controller\Country::getMenu('shipCountry', $objOrder->country_id()) : \Cx\Core\Country\Controller\Country::getNameById($objOrder->country_id()), 'SHOP_SHIP_PHONE' => $objOrder->phone(), 'SHOP_PAYMENTTYPE' => Payment::getProperty($objOrder->payment_id(), 'name'), 'SHOP_CUSTOMER_NOTE' => $objOrder->note(), 'SHOP_COMPANY_NOTE' => $objCustomer->companynote(), 'SHOP_SHIPPING_TYPE' => $objOrder->shipment_id() ? Shipment::getShipperName($objOrder->shipment_id()) : ' '));
if ($backend) {
$objTemplate->setVariable(array('SHOP_CUSTOMER_IP' => $objOrder->ip() ? '<a href="index.php?cmd=NetTools&tpl=whois&address=' . $objOrder->ip() . '" title="' . $_ARRAYLANG['TXT_SHOW_DETAILS'] . '">' . $objOrder->ip() . '</a>' : ' ', 'SHOP_CUSTOMER_HOST' => $objOrder->host() ? '<a href="index.php?cmd=NetTools&tpl=whois&address=' . $objOrder->host() . '" title="' . $_ARRAYLANG['TXT_SHOW_DETAILS'] . '">' . $objOrder->host() . '</a>' : ' ', 'SHOP_CUSTOMER_LANG' => \FWLanguage::getLanguageParameter($objOrder->lang_id(), 'name'), 'SHOP_CUSTOMER_BROWSER' => $objOrder->browser() ? $objOrder->browser() : ' ', 'SHOP_LAST_MODIFIED' => $objOrder->modified_on() && $objOrder->modified_on() != '0000-00-00 00:00:00' ? $objOrder->modified_on() . ' ' . $_ARRAYLANG['TXT_EDITED_BY'] . ' ' . $objOrder->modified_by() : $_ARRAYLANG['TXT_ORDER_WASNT_YET_EDITED']));
} else {
// Frontend: Order history ONLY. Repeat the Order, go to cart
$objTemplate->setVariable(array('SHOP_ACTION_URI_ENCODED' => \Cx\Core\Routing\Url::fromModuleAndCmd('Shop', 'cart')));
}
$ppName = '';
$psp_id = Payment::getPaymentProcessorId($objOrder->payment_id());
if ($psp_id) {
$ppName = PaymentProcessing::getPaymentProcessorName($psp_id);
}
$objTemplate->setVariable(array('SHOP_SHIPPING_PRICE' => $objOrder->shipment_amount(), 'SHOP_PAYMENT_PRICE' => $objOrder->payment_amount(), 'SHOP_PAYMENT_HANDLER' => $ppName, 'SHOP_LAST_MODIFIED_DATE' => $objOrder->modified_on()));
if ($edit) {
// edit order
$strJsArrShipment = Shipment::getJSArrays();
$objTemplate->setVariable(array('SHOP_SEND_TEMPLATE_TO_CUSTOMER' => sprintf($_ARRAYLANG['TXT_SEND_TEMPLATE_TO_CUSTOMER'], $_ARRAYLANG['TXT_ORDER_COMPLETE']), 'SHOP_SHIPPING_TYP_MENU' => Shipment::getShipperMenu($objOrder->country_id(), $objOrder->shipment_id(), "calcPrice(0);"), 'SHOP_JS_ARR_SHIPMENT' => $strJsArrShipment, 'SHOP_PRODUCT_IDS_MENU_NEW' => Products::getMenuoptions(null, null, $_ARRAYLANG['TXT_SHOP_PRODUCT_MENU_FORMAT']), 'SHOP_JS_ARR_PRODUCT' => Products::getJavascriptArray($objCustomer->group_id(), $objCustomer->is_reseller())));
}
$options = $objOrder->getOptionArray();
if (!empty($options[$order_id])) {
$have_option = true;
}
// Order items
$total_weight = $i = 0;
$total_net_price = $objOrder->view_items($objTemplate, $edit, $total_weight, $i);
// Show VAT with the individual products:
// If VAT is enabled, and we're both in the same country
// ($total_vat_amount has been set above if both conditions are met)
// show the VAT rate.
// If there is no VAT, the amount is 0 (zero).
//if ($total_vat_amount) {
// distinguish between included VAT, and additional VAT added to sum
$tax_part_percentaged = Vat::isIncluded() ? $_ARRAYLANG['TXT_TAX_PREFIX_INCL'] : $_ARRAYLANG['TXT_TAX_PREFIX_EXCL'];
//.........这里部分代码省略.........
示例4: errorHandler
/**
* Handles database errors
*
* Also migrates old Shop Customers to the User accounts and adds
* all new settings
* @return boolean false Always!
* @throws Cx\Lib\Update_DatabaseException
*/
static function errorHandler()
{
// Customer
$table_name_old = DBPREFIX . "module_shop_customers";
// If the old Customer table is missing, the migration has completed
// successfully already
if (!\Cx\Lib\UpdateUtil::table_exist($table_name_old)) {
return false;
}
// Ensure that the ShopSettings (including \Cx\Core\Setting) and Order tables
// are ready first!
//DBG::log("Customer::errorHandler(): Adding settings");
ShopSettings::errorHandler();
// \Cx\Core\Country\Controller\Country::errorHandler(); // Called by Order::errorHandler();
Order::errorHandler();
Discount::errorHandler();
\Cx\Core\Setting\Controller\Setting::init('Shop', 'config');
$objUser = \FWUser::getFWUserObject()->objUser;
// Create new User_Profile_Attributes
$index_notes = \Cx\Core\Setting\Controller\Setting::getValue('user_profile_attribute_notes', 'Shop');
if (!$index_notes) {
//DBG::log("Customer::errorHandler(): Adding notes attribute...");
// $objProfileAttribute = new \User_Profile_Attribute();
$objProfileAttribute = $objUser->objAttribute->getById(0);
//DBG::log("Customer::errorHandler(): NEW notes attribute: ".var_export($objProfileAttribute, true));
$objProfileAttribute->setNames(array(1 => 'Notizen', 2 => 'Notes', 3 => 'Notes', 4 => 'Notes', 5 => 'Notes', 6 => 'Notes'));
$objProfileAttribute->setType('text');
$objProfileAttribute->setMultiline(true);
$objProfileAttribute->setParent(0);
$objProfileAttribute->setProtection(array(1));
//DBG::log("Customer::errorHandler(): Made notes attribute: ".var_export($objProfileAttribute, true));
if (!$objProfileAttribute->store()) {
throw new \Cx\Lib\Update_DatabaseException("Failed to create User_Profile_Attribute 'notes'");
}
//Re initialize shop setting
\Cx\Core\Setting\Controller\Setting::init('Shop', 'config');
//DBG::log("Customer::errorHandler(): Stored notes attribute, ID ".$objProfileAttribute->getId());
if (!(\Cx\Core\Setting\Controller\Setting::set('user_profile_attribute_notes', $objProfileAttribute->getId()) && \Cx\Core\Setting\Controller\Setting::update('user_profile_attribute_notes'))) {
throw new \Cx\Lib\Update_DatabaseException("Failed to update User_Profile_Attribute 'notes' setting");
}
//DBG::log("Customer::errorHandler(): Stored notes attribute ID setting");
}
$index_group = \Cx\Core\Setting\Controller\Setting::getValue('user_profile_attribute_customer_group_id', 'Shop');
if (!$index_group) {
// $objProfileAttribute = new \User_Profile_Attribute();
$objProfileAttribute = $objUser->objAttribute->getById(0);
$objProfileAttribute->setNames(array(1 => 'Kundenrabattgruppe', 2 => 'Discount group', 3 => 'Kundenrabattgruppe', 4 => 'Kundenrabattgruppe', 5 => 'Kundenrabattgruppe', 6 => 'Kundenrabattgruppe'));
$objProfileAttribute->setType('text');
$objProfileAttribute->setParent(0);
$objProfileAttribute->setProtection(array(1));
if (!$objProfileAttribute->store()) {
throw new \Cx\Lib\Update_DatabaseException("Failed to create User_Profile_Attribute 'notes'");
}
//Re initialize shop setting
\Cx\Core\Setting\Controller\Setting::init('Shop', 'config');
if (!(\Cx\Core\Setting\Controller\Setting::set('user_profile_attribute_customer_group_id', $objProfileAttribute->getId()) && \Cx\Core\Setting\Controller\Setting::update('user_profile_attribute_customer_group_id'))) {
throw new \Cx\Lib\Update_DatabaseException("Failed to update User_Profile_Attribute 'customer_group_id' setting");
}
}
// For the migration, a temporary flag is needed in the orders table
// in order to prevent mixing up old and new customer_id values.
$table_order_name = DBPREFIX . "module_shop_orders";
if (!\Cx\Lib\UpdateUtil::column_exist($table_order_name, 'migrated')) {
$query = "\n ALTER TABLE `{$table_order_name}`\n ADD `migrated` TINYINT(1) unsigned NOT NULL default 0";
\Cx\Lib\UpdateUtil::sql($query);
}
// Create missing UserGroups for customers and resellers
$objGroup = null;
$group_id_customer = \Cx\Core\Setting\Controller\Setting::getValue('usergroup_id_customer', 'Shop');
if ($group_id_customer) {
$objGroup = \FWUser::getFWUserObject()->objGroup->getGroup($group_id_customer);
}
if (!$objGroup || $objGroup->EOF) {
$objGroup = \FWUser::getFWUserObject()->objGroup->getGroups(array('group_name' => 'Shop Endkunden'));
}
if (!$objGroup || $objGroup->EOF) {
$objGroup = new \UserGroup();
$objGroup->setActiveStatus(true);
$objGroup->setDescription('Online Shop Endkunden');
$objGroup->setName('Shop Endkunden');
$objGroup->setType('frontend');
}
//DBG::log("Group: ".var_export($objGroup, true));
if (!$objGroup) {
throw new \Cx\Lib\Update_DatabaseException("Failed to create UserGroup for customers");
}
//DBG::log("Customer::errorHandler(): Made customer usergroup: ".var_export($objGroup, true));
if (!$objGroup->store() || !$objGroup->getId()) {
throw new \Cx\Lib\Update_DatabaseException("Failed to store UserGroup for customers");
}
//DBG::log("Customer::errorHandler(): Stored customer usergroup, ID ".$objGroup->getId());
\Cx\Core\Setting\Controller\Setting::set('usergroup_id_customer', $objGroup->getId());
//.........这里部分代码省略.........
示例5: storeCustomerFromPost
/**
* Store a customer
*
* Sets a Message according to the outcome.
* Note that failure to send the e-mail with login data is not
* considered an error and will only produce a warning.
* @return integer The Customer ID on success, null otherwise
* @author Reto Kohli <reto.kohli@comvation.com>
*/
static function storeCustomerFromPost()
{
global $_ARRAYLANG;
$username = trim(strip_tags(contrexx_input2raw($_POST['username'])));
$password = trim(strip_tags(contrexx_input2raw($_POST['password'])));
$company = trim(strip_tags(contrexx_input2raw($_POST['company'])));
$gender = trim(strip_tags(contrexx_input2raw($_POST['gender'])));
$firstname = trim(strip_tags(contrexx_input2raw($_POST['firstname'])));
$lastname = trim(strip_tags(contrexx_input2raw($_POST['lastname'])));
$address = trim(strip_tags(contrexx_input2raw($_POST['address'])));
$city = trim(strip_tags(contrexx_input2raw($_POST['city'])));
$zip = trim(strip_tags(contrexx_input2raw($_POST['zip'])));
$country_id = intval($_POST['country_id']);
$phone = trim(strip_tags(contrexx_input2raw($_POST['phone'])));
$fax = trim(strip_tags(contrexx_input2raw($_POST['fax'])));
$email = trim(strip_tags(contrexx_input2raw($_POST['email'])));
$companynote = trim(strip_tags(contrexx_input2raw($_POST['companynote'])));
$customer_active = intval($_POST['active']);
$is_reseller = intval($_POST['customer_type']);
$customer_group_id = intval($_POST['customer_group_id']);
// $registerdate = trim(strip_tags(contrexx_input2raw($_POST['registerdate'])));
$lang_id = isset($_POST['customer_lang_id']) ? intval($_POST['customer_lang_id']) : FRONTEND_LANG_ID;
$customer_id = intval($_REQUEST['customer_id']);
$objCustomer = Customer::getById($customer_id);
if (!$objCustomer) {
$objCustomer = new Customer();
}
$objCustomer->gender($gender);
$objCustomer->company($company);
$objCustomer->firstname($firstname);
$objCustomer->lastname($lastname);
$objCustomer->address($address);
$objCustomer->city($city);
$objCustomer->zip($zip);
$objCustomer->country_id($country_id);
$objCustomer->phone($phone);
$objCustomer->fax($fax);
$objCustomer->email($email);
$objCustomer->companynote($companynote);
$objCustomer->active($customer_active);
$objCustomer->is_reseller($is_reseller);
// Set automatically: $objCustomer->setRegisterDate($registerdate);
$objCustomer->group_id($customer_group_id);
$objCustomer->username($username);
if (isset($_POST['sendlogindata']) && $password == '') {
$password = \User::make_password();
}
if ($password != '') {
$objCustomer->password($password);
}
$objCustomer->setFrontendLanguage($lang_id);
if (!$objCustomer->store()) {
foreach ($objCustomer->error_msg as $message) {
\Message::error($message);
}
return null;
}
\Message::ok($_ARRAYLANG['TXT_DATA_RECORD_UPDATED_SUCCESSFUL']);
if (isset($_POST['sendlogindata'])) {
// TODO: Use a common sendLogin() method
$lang_id = $objCustomer->getFrontendLanguage();
$arrSubs = $objCustomer->getSubstitutionArray();
$arrSubs['CUSTOMER_LOGIN'] = array(0 => array('CUSTOMER_USERNAME' => $username, 'CUSTOMER_PASSWORD' => $password));
//DBG::log("Subs: ".var_export($arrSubs, true));
// Select template for sending login data
$arrMailTemplate = array('key' => 'customer_login', 'section' => 'Shop', 'lang_id' => $lang_id, 'to' => $email, 'substitution' => $arrSubs);
if (!\Cx\Core\MailTemplate\Controller\MailTemplate::send($arrMailTemplate)) {
\Message::warning($_ARRAYLANG['TXT_MESSAGE_SEND_ERROR']);
return $objCustomer->id();
}
\Message::ok(sprintf($_ARRAYLANG['TXT_EMAIL_SEND_SUCCESSFULLY'], $email));
}
return $objCustomer->id();
}