本文整理汇总了PHP中Aimeos\MShop\Common\Item\Iface::getPaymentAddress方法的典型用法代码示例。如果您正苦于以下问题:PHP Iface::getPaymentAddress方法的具体用法?PHP Iface::getPaymentAddress怎么用?PHP Iface::getPaymentAddress使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Aimeos\MShop\Common\Item\Iface
的用法示例。
在下文中一共展示了Iface::getPaymentAddress方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: saveItem
/**
* Saves a customer item object.
*
* @param \Aimeos\MShop\Customer\Item\Iface $item Customer item object
* @param boolean $fetch True if the new ID should be returned in the item
*/
public function saveItem(\Aimeos\MShop\Common\Item\Iface $item, $fetch = true)
{
$iface = '\\Aimeos\\MShop\\Customer\\Item\\Iface';
if (!$item instanceof $iface) {
throw new \Aimeos\MShop\Customer\Exception(sprintf('Object is not of required type "%1$s"', $iface));
}
if (!$item->isModified()) {
return;
}
$context = $this->getContext();
$dbm = $context->getDatabaseManager();
$dbname = $this->getResourceName();
$conn = $dbm->acquire($dbname);
try {
$id = $item->getId();
$date = date('Y-m-d H:i:s');
$billingAddress = $item->getPaymentAddress();
if ($id === null) {
/** mshop/customer/manager/fosuser/insert
* Inserts a new customer record into the database table
*
* Items with no ID yet (i.e. the ID is NULL) will be created in
* the database and the newly created ID retrieved afterwards
* using the "newid" SQL statement.
*
* The SQL statement must be a string suitable for being used as
* prepared statement. It must include question marks for binding
* the values from the customer item to the statement before they are
* sent to the database server. The number of question marks must
* be the same as the number of columns listed in the INSERT
* statement. The order of the columns must correspond to the
* order in the saveItems() method, so the correct values are
* bound to the columns.
*
* The SQL statement should conform to the ANSI standard to be
* compatible with most relational database systems. This also
* includes using double quotes for table and column names.
*
* @param string SQL statement for inserting records
* @since 2015.01
* @category Developer
* @see mshop/customer/manager/fosuser/update
* @see mshop/customer/manager/fosuser/newid
* @see mshop/customer/manager/fosuser/delete
* @see mshop/customer/manager/fosuser/search
* @see mshop/customer/manager/fosuser/count
*/
$path = 'mshop/customer/manager/fosuser/insert';
} else {
/** mshop/customer/manager/fosuser/update
* Updates an existing customer record in the database
*
* Items which already have an ID (i.e. the ID is not NULL) will
* be updated in the database.
*
* The SQL statement must be a string suitable for being used as
* prepared statement. It must include question marks for binding
* the values from the customer item to the statement before they are
* sent to the database server. The order of the columns must
* correspond to the order in the saveItems() method, so the
* correct values are bound to the columns.
*
* The SQL statement should conform to the ANSI standard to be
* compatible with most relational database systems. This also
* includes using double quotes for table and column names.
*
* @param string SQL statement for updating records
* @since 2015.01
* @category Developer
* @see mshop/customer/manager/fosuser/insert
* @see mshop/customer/manager/fosuser/newid
* @see mshop/customer/manager/fosuser/delete
* @see mshop/customer/manager/fosuser/search
* @see mshop/customer/manager/fosuser/count
*/
$path = 'mshop/customer/manager/fosuser/update';
}
$stmt = $this->getCachedStatement($conn, $path);
$stmt->bind(1, $item->getCode());
// canonical username
$stmt->bind(2, $item->getCode());
// username
$stmt->bind(3, $billingAddress->getCompany());
$stmt->bind(4, $billingAddress->getVatID());
$stmt->bind(5, $billingAddress->getSalutation());
$stmt->bind(6, $billingAddress->getTitle());
$stmt->bind(7, $billingAddress->getFirstname());
$stmt->bind(8, $billingAddress->getLastname());
$stmt->bind(9, $billingAddress->getAddress1());
$stmt->bind(10, $billingAddress->getAddress2());
$stmt->bind(11, $billingAddress->getAddress3());
$stmt->bind(12, $billingAddress->getPostal());
$stmt->bind(13, $billingAddress->getCity());
$stmt->bind(14, $billingAddress->getState());
//.........这里部分代码省略.........
示例2: saveItem
/**
* Saves a customer item object.
*
* @param \Aimeos\MShop\Customer\Item\Iface $item Customer item object
* @param boolean $fetch True if the new ID should be returned in the item
*/
public function saveItem(\Aimeos\MShop\Common\Item\Iface $item, $fetch = true)
{
$iface = '\\Aimeos\\MShop\\Customer\\Item\\Iface';
if (!$item instanceof $iface) {
throw new \Aimeos\MShop\Customer\Exception(sprintf('Object is not of required type "%1$s"', $iface));
}
if (!$item->isModified()) {
return;
}
$context = $this->getContext();
$class = '\\Aimeos\\MShop\\Context\\Item\\Ezpublish';
if (!is_a($context, $class)) {
throw new \Aimeos\MShop\Customer\Exception(sprintf('Object is not of required type "%1$s"', $class));
}
$service = $context->getEzUserService();
$email = $item->getPaymentAddress()->getEmail();
if ($item->getId() !== null) {
$struct = $service->newUserUpdateStruct();
$struct->password = $item->getPassword();
$struct->enabled = $item->getStatus();
$struct->email = $email;
$user = $service->loadUser($item->getId());
$service->updateUser($user, $struct);
} else {
$struct = $service->newUserCreateStruct($item->getCode(), $email, $item->getPassword(), 'eng-GB');
$struct->enabled = $item->getStatus();
$user = $service->createUser($struct, array());
$item->setId($user->getUserId());
}
$dbm = $context->getDatabaseManager();
$dbname = $this->getResourceName();
$conn = $dbm->acquire($dbname);
try {
$date = date('Y-m-d H:i:s');
$ctime = $item->getTimeCreated() ? $item->getTimeCreated() : $date;
$billingAddress = $item->getPaymentAddress();
$path = 'mshop/customer/manager/ezpublish/update';
$stmt = $this->getCachedStatement($conn, $path);
$stmt->bind(1, $billingAddress->getCompany());
$stmt->bind(2, $billingAddress->getVatID());
$stmt->bind(3, $billingAddress->getSalutation());
$stmt->bind(4, $billingAddress->getTitle());
$stmt->bind(5, $billingAddress->getFirstname());
$stmt->bind(6, $billingAddress->getLastname());
$stmt->bind(7, $billingAddress->getAddress1());
$stmt->bind(8, $billingAddress->getAddress2());
$stmt->bind(9, $billingAddress->getAddress3());
$stmt->bind(10, $billingAddress->getPostal());
$stmt->bind(11, $billingAddress->getCity());
$stmt->bind(12, $billingAddress->getState());
$stmt->bind(13, $billingAddress->getCountryId());
$stmt->bind(14, $billingAddress->getLanguageId());
$stmt->bind(15, $billingAddress->getTelephone());
$stmt->bind(16, $billingAddress->getTelefax());
$stmt->bind(17, $billingAddress->getWebsite());
$stmt->bind(18, $item->getBirthday());
$stmt->bind(19, $item->getDateVerified());
$stmt->bind(20, $date);
// Modification time
$stmt->bind(21, $context->getEditor());
$stmt->bind(22, $ctime);
// Creation time
$stmt->bind(23, $item->getId(), \Aimeos\MW\DB\Statement\Base::PARAM_INT);
$stmt->execute()->finish();
$dbm->release($conn, $dbname);
} catch (\Exception $e) {
$dbm->release($conn, $dbname);
throw $e;
}
}