本文整理汇总了PHP中Aimeos\MShop\Common\Item\Iface::getStatus方法的典型用法代码示例。如果您正苦于以下问题:PHP Iface::getStatus方法的具体用法?PHP Iface::getStatus怎么用?PHP Iface::getStatus使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Aimeos\MShop\Common\Item\Iface
的用法示例。
在下文中一共展示了Iface::getStatus方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: saveItem
/**
* Adds or updates an order base item in the storage.
*
* @param \Aimeos\MShop\Common\Item\Iface $item Order base object (sub-items are not saved)
* @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\\Order\\Item\\Base\\Iface';
if (!$item instanceof $iface) {
throw new \Aimeos\MShop\Order\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');
if ($id === null) {
/** mshop/order/manager/base/standard/insert
* Inserts a new order 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 order 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 2014.03
* @category Developer
* @see mshop/order/manager/base/standard/update
* @see mshop/order/manager/base/standard/newid
* @see mshop/order/manager/base/standard/delete
* @see mshop/order/manager/base/standard/search
* @see mshop/order/manager/base/standard/count
*/
$path = 'mshop/order/manager/base/standard/insert';
} else {
/** mshop/order/manager/base/standard/update
* Updates an existing order 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 order 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 2014.03
* @category Developer
* @see mshop/order/manager/base/standard/insert
* @see mshop/order/manager/base/standard/newid
* @see mshop/order/manager/base/standard/delete
* @see mshop/order/manager/base/standard/search
* @see mshop/order/manager/base/standard/count
*/
$path = 'mshop/order/manager/base/standard/update';
}
$priceItem = $item->getPrice();
$localeItem = $context->getLocale();
$stmt = $this->getCachedStatement($conn, $path);
$stmt->bind(1, $localeItem->getSiteId(), \Aimeos\MW\DB\Statement\Base::PARAM_INT);
$stmt->bind(2, $item->getCustomerId());
$stmt->bind(3, $localeItem->getSite()->getCode());
$stmt->bind(4, $item->getLocale()->getLanguageId());
$stmt->bind(5, $priceItem->getCurrencyId());
$stmt->bind(6, $priceItem->getValue());
$stmt->bind(7, $priceItem->getCosts());
$stmt->bind(8, $priceItem->getRebate());
$stmt->bind(9, $item->getComment());
$stmt->bind(10, $item->getStatus());
$stmt->bind(11, $date);
// mtime
$stmt->bind(12, $context->getEditor());
if ($id !== null) {
$stmt->bind(13, $id, \Aimeos\MW\DB\Statement\Base::PARAM_INT);
//.........这里部分代码省略.........
示例2: saveItem
/**
* Saves a currency item to the storage.
*
* @param \Aimeos\MShop\Common\Item\Iface $item Currency item to save in the storage
* @param boolean $fetch True if the new ID should be returned in the item
*
* @throws \Aimeos\MW\DB\Exception If currency object couldn't be saved
* @throws \Aimeos\MShop\Locale\Exception If failures with currency item object
*/
public function saveItem(\Aimeos\MShop\Common\Item\Iface $item, $fetch = true)
{
$iface = '\\Aimeos\\MShop\\Locale\\Item\\Currency\\Iface';
if (!$item instanceof $iface) {
throw new \Aimeos\MShop\Locale\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');
if ($id === null) {
/** mshop/locale/manager/currency/standard/insert
* Inserts a new currency record into the database table
*
* 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 log 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 2014.03
* @category Developer
* @see mshop/locale/manager/currency/standard/update
* @see mshop/locale/manager/currency/standard/delete
* @see mshop/locale/manager/currency/standard/search
* @see mshop/locale/manager/currency/standard/count
*/
$path = 'mshop/locale/manager/currency/standard/insert';
} else {
/** mshop/locale/manager/currency/standard/update
* Updates an existing currency record 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 log 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 2014.03
* @category Developer
* @see mshop/locale/manager/currency/standard/insert
* @see mshop/locale/manager/currency/standard/delete
* @see mshop/locale/manager/currency/standard/search
* @see mshop/locale/manager/currency/standard/count
*/
$path = 'mshop/locale/manager/currency/standard/update';
}
$stmt = $this->getCachedStatement($conn, $path);
$stmt->bind(1, $item->getLabel());
$stmt->bind(2, $item->getStatus(), \Aimeos\MW\DB\Statement\Base::PARAM_INT);
$stmt->bind(3, $item->getSiteId(), \Aimeos\MW\DB\Statement\Base::PARAM_INT);
$stmt->bind(4, $date);
// mtime
$stmt->bind(5, $context->getEditor());
// bind ID but code and id are identical after saveing the stuff
// id is the flag to detect updates or inserts!
$stmt->bind(6, $item->getCode());
if ($id === null) {
$stmt->bind(7, $date);
// ctime
}
$stmt->execute()->finish();
$item->setId($item->getCode());
// set modified flag to false
$dbm->release($conn, $dbname);
} catch (\Exception $e) {
$dbm->release($conn, $dbname);
throw $e;
}
}
示例3: 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;
}
}
示例4: saveItem
/**
* Adds a new site to the storage or updates an existing one.
*
* @param \Aimeos\MShop\Common\Item\Iface $item New site item for saving to the storage
* @param boolean $fetch True if the new ID should be returned in the item
* @throws \Aimeos\MShop\Locale\Exception
*/
public function saveItem(\Aimeos\MShop\Common\Item\Iface $item, $fetch = true)
{
$iface = '\\Aimeos\\MShop\\Locale\\Item\\Site\\Iface';
if (!$item instanceof $iface) {
throw new \Aimeos\MShop\Locale\Exception(sprintf('Object is not of required type "%1$s"', $iface));
}
if ($item->getId() === null) {
throw new \Aimeos\MShop\Locale\Exception(sprintf('Newly created site can not be saved using method "saveItem()". Try using method "insertItem()" instead.'));
}
if (!$item->isModified()) {
return;
}
$context = $this->getContext();
$dbm = $context->getDatabaseManager();
$dbname = $this->getResourceName();
$conn = $dbm->acquire($dbname);
try {
$id = $item->getId();
/** mshop/locale/manager/site/standard/update
* Updates an existing site record 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 log 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 2014.03
* @category Developer
* @see mshop/locale/manager/site/standard/insert
* @see mshop/locale/manager/site/standard/delete
* @see mshop/locale/manager/site/standard/search
* @see mshop/locale/manager/site/standard/count
* @see mshop/locale/manager/site/standard/newid
*/
$path = 'mshop/locale/manager/site/standard/update';
$stmt = $this->getCachedStatement($conn, $path);
$stmt->bind(1, $item->getCode());
$stmt->bind(2, $item->getLabel());
$stmt->bind(3, json_encode($item->getConfig()));
$stmt->bind(4, $item->getStatus(), \Aimeos\MW\DB\Statement\Base::PARAM_INT);
$stmt->bind(5, $context->getEditor());
$stmt->bind(6, date('Y-m-d H:i:s'));
// mtime
$stmt->bind(7, $id, \Aimeos\MW\DB\Statement\Base::PARAM_INT);
$stmt->execute()->finish();
$item->setId($id);
// set Modified false
$dbm->release($conn, $dbname);
} catch (\Exception $e) {
$dbm->release($conn, $dbname);
throw $e;
}
}
示例5: saveItem
/**
* Adds or updates a type item object.
*
* @param \Aimeos\MShop\Common\Item\Type\Iface $item Type item object which should be saved
* @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\\Common\\Item\\Type\\Iface';
if (!$item instanceof $iface) {
throw new \Aimeos\MShop\Exception(sprintf('Object is not of required type "%1$s"', $iface));
}
if ($item->isModified() === false) {
return;
}
$context = $this->getContext();
$dbm = $context->getDatabaseManager();
$dbname = $this->getResourceName();
$conn = $dbm->acquire($dbname);
try {
$id = $item->getId();
if ($id === null) {
$type = 'insert';
} else {
$type = 'update';
}
$statement = $conn->create($this->getSqlConfig($this->getConfigPath() . $type));
$statement->bind(1, $context->getLocale()->getSiteId(), \Aimeos\MW\DB\Statement\Base::PARAM_INT);
$statement->bind(2, $item->getCode(), \Aimeos\MW\DB\Statement\Base::PARAM_STR);
$statement->bind(3, $item->getDomain(), \Aimeos\MW\DB\Statement\Base::PARAM_STR);
$statement->bind(4, $item->getLabel(), \Aimeos\MW\DB\Statement\Base::PARAM_STR);
$statement->bind(5, $item->getStatus(), \Aimeos\MW\DB\Statement\Base::PARAM_INT);
$statement->bind(6, date('Y-m-d H:i:s', time()));
//mtime
$statement->bind(7, $context->getEditor());
if ($id !== null) {
$statement->bind(8, $id, \Aimeos\MW\DB\Statement\Base::PARAM_INT);
} else {
$statement->bind(8, date('Y-m-d H:i:s', time()));
//ctime
}
$statement->execute()->finish();
if ($fetch === true) {
if ($id === null) {
$item->setId($this->newId($conn, $this->getConfigPath() . 'newid'));
} else {
$item->setId($id);
// modified false
}
}
$dbm->release($conn, $dbname);
} catch (\Exception $e) {
$dbm->release($conn, $dbname);
throw $e;
}
}
示例6: saveItem
//.........这里部分代码省略.........
* 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 2014.03
* @category Developer
* @see mshop/customer/manager/typo3/insert
* @see mshop/customer/manager/typo3/newid
* @see mshop/customer/manager/typo3/delete
* @see mshop/customer/manager/typo3/search
* @see mshop/customer/manager/typo3/count
*/
$path = 'mshop/customer/manager/typo3/update';
}
$stmt = $this->getCachedStatement($conn, $path);
$address = $billingAddress->getAddress1();
if (($part = $billingAddress->getAddress2()) != '') {
$address .= ' ' . $part;
}
if (($part = $billingAddress->getAddress3()) != '') {
$address .= ' ' . $part;
}
// TYPO3 fe_users.static_info_country is a three letter ISO code instead a two letter one
$stmt->bind(1, $item->getLabel());
$stmt->bind(2, $item->getCode());
$stmt->bind(3, $this->plugins['customer.salutation']->translate($billingAddress->getSalutation()), \Aimeos\MW\DB\Statement\Base::PARAM_INT);
$stmt->bind(4, $billingAddress->getCompany());
$stmt->bind(5, $billingAddress->getVatID());
$stmt->bind(6, $billingAddress->getTitle());
$stmt->bind(7, $billingAddress->getFirstname());
$stmt->bind(8, $billingAddress->getLastname());
$stmt->bind(9, $address);
$stmt->bind(10, $billingAddress->getPostal());
$stmt->bind(11, $billingAddress->getCity());
$stmt->bind(12, $billingAddress->getState());
$stmt->bind(13, $billingAddress->getLanguageId());
$stmt->bind(14, $billingAddress->getTelephone());
$stmt->bind(15, $billingAddress->getEmail());
$stmt->bind(16, $billingAddress->getTelefax());
$stmt->bind(17, $billingAddress->getWebsite());
$stmt->bind(18, $billingAddress->getLongitude());
$stmt->bind(19, $billingAddress->getLatitude());
$stmt->bind(20, $this->plugins['customer.birthday']->translate($item->getBirthday()), \Aimeos\MW\DB\Statement\Base::PARAM_INT);
$stmt->bind(21, $this->plugins['customer.status']->translate($item->getStatus()), \Aimeos\MW\DB\Statement\Base::PARAM_INT);
$stmt->bind(22, $item->getPassword());
$stmt->bind(23, time(), \Aimeos\MW\DB\Statement\Base::PARAM_INT);
// Modification time
$stmt->bind(24, $billingAddress->getCountryId());
$stmt->bind(25, implode(',', $item->getGroups()));
$stmt->bind(26, $item->getPageId(), \Aimeos\MW\DB\Statement\Base::PARAM_INT);
// TYPO3 PID value
if ($id !== null) {
$stmt->bind(27, $id, \Aimeos\MW\DB\Statement\Base::PARAM_INT);
$item->setId($id);
} else {
$stmt->bind(27, time(), \Aimeos\MW\DB\Statement\Base::PARAM_INT);
// Creation time
}
$stmt->execute()->finish();
if ($id === null && $fetch === true) {
/** mshop/customer/manager/typo3/newid
* Retrieves the ID generated by the database when inserting a new record
*
* As soon as a new record is inserted into the database table,
* the database server generates a new and unique identifier for
* that record. This ID can be used for retrieving, updating and
* deleting that specific record from the table again.
*
* For MySQL:
* SELECT LAST_INSERT_ID()
* For PostgreSQL:
* SELECT currval('seq_mcus_id')
* For SQL Server:
* SELECT SCOPE_IDENTITY()
* For Oracle:
* SELECT "seq_mcus_id".CURRVAL FROM DUAL
*
* There's no way to retrive the new ID by a SQL statements that
* fits for most database servers as they implement their own
* specific way.
*
* @param string SQL statement for retrieving the last inserted record ID
* @since 2014.03
* @category Developer
* @see mshop/customer/manager/typo3/insert
* @see mshop/customer/manager/typo3/update
* @see mshop/customer/manager/typo3/delete
* @see mshop/customer/manager/typo3/search
* @see mshop/customer/manager/typo3/count
*/
$path = 'mshop/customer/manager/typo3/newid';
$item->setId($this->newId($conn, $path));
}
$dbm->release($conn, $dbname);
} catch (\Exception $e) {
$dbm->release($conn, $dbname);
throw $e;
}
}