/** * Load your component. * * @param \Cx\Core\ContentManager\Model\Entity\Page $page The resolved page */ public function load(\Cx\Core\ContentManager\Model\Entity\Page $page) { global $_CORELANG, $subMenuTitle, $intAccessIdOffset, $objTemplate; switch ($this->cx->getMode()) { case \Cx\Core\Core\Controller\Cx::MODE_FRONTEND: \Env::get('cx')->getPage()->setContent(Shop::getPage(\Env::get('cx')->getPage()->getContent())); // show product title if the user is on the product details page if ($page_metatitle = Shop::getPageTitle()) { \Env::get('cx')->getPage()->setTitle($page_metatitle); \Env::get('cx')->getPage()->setContentTitle($page_metatitle); \Env::get('cx')->getPage()->setMetaTitle($page_metatitle); } break; case \Cx\Core\Core\Controller\Cx::MODE_BACKEND: $this->cx->getTemplate()->addBlockfile('CONTENT_OUTPUT', 'content_master', 'LegacyContentMaster.html'); $objTemplate = $this->cx->getTemplate(); \Permission::checkAccess($intAccessIdOffset + 13, 'static'); $subMenuTitle = $_CORELANG['TXT_SHOP_ADMINISTRATION']; $objShopManager = new ShopManager(); $objShopManager->getPage(); break; } }
{ $strage = MyStrage::getInstance(); $before_count = $strage->strage_max_count; $strage->strage_max_count += $item_num; message(" 倉庫を拡張しました。 {$before_count}→" . $strage->strage_max_count); } protected function _pay($item_num) { $price = MasterSilverItem::getPrice('strage') * $item_num; $player = MyPlayer::getInstance(); $before_count = $player->silver_count; $player->silver_count = max(0, $player->silver_count - $price); message(" シルバーを消費しました。 {$before_count}→" . $player->silver_count); } } $shop_manager = new ShopManager(); // クリスタル購入 $shop_manager->purchase('crystal', 150); // ゴールドを付与して購入 MyPlayer::getInstance()->addGold(15000); $shop_manager->purchase('crystal', 150); // 倉庫拡張購入 $shop_manager->purchase('strage', 100); // シルバーを付与して購入 MyPlayer::getInstance()->addSilver(30000); $shop_manager->purchase('strage', 100); // 最大枠を超過するケース $shop_manager->purchase('strage', 500); $shop_manager->purchase('strage', 400); // 購入 $shop_manager->purchase('strage', 300);
/** * Updates the Order status with parameter values from the GET request * @return boolean True on success, false on failure, * or null (on NOOP) * @todo Should definitely use POST instead. */ static function updateStatusFromGet() { global $objDatabase, $_ARRAYLANG; // Update the order status if valid if (!isset($_GET['changeOrderStatus']) || empty($_GET['order_id'])) { return null; } $status = intval($_GET['changeOrderStatus']); $order_id = intval($_GET['order_id']); if ($status < Order::STATUS_PENDING || $status >= Order::STATUS_MAX || $order_id <= 0) { \Message::error($_ARRAYLANG['TXT_SHOP_ORDER_ERROR_UPDATING_STATUS']); \Cx\Core\Csrf\Controller\Csrf::redirect('index.php?cmd=Shop&act=orders'); } $objUser = \FWUser::getFWUserObject()->objUser; $query = "\n UPDATE `" . DBPREFIX . "module_shop" . MODULE_INDEX . "_orders`\n SET `status`={$status},\n `modified_by`='" . addslashes($objUser->getUsername()) . "',\n `modified_on`='" . date('Y-m-d H:i:s') . "'\n WHERE `id`={$order_id}"; if (!$objDatabase->Execute($query)) { \Message::error($_ARRAYLANG['TXT_SHOP_ORDER_ERROR_UPDATING_STATUS']); \Cx\Core\Csrf\Controller\Csrf::redirect('index.php?cmd=Shop&act=orders'); } // Send an email to the customer if (!empty($_GET['sendMail']) && !empty($_GET['order_id'])) { // TODO: It might be useful to move this to its own method: $hasMail = false; $result = null; switch ($status) { case Order::STATUS_CONFIRMED: $result = ShopLibrary::sendConfirmationMail($_GET['order_id']); $hasMail = true; break; case Order::STATUS_COMPLETED: $result = ShopManager::sendProcessedMail($_GET['order_id']); $hasMail = true; break; } if ($hasMail) { if (!empty($result)) { \Message::ok(sprintf($_ARRAYLANG['TXT_EMAIL_SEND_SUCCESSFULLY'], $result)); } else { \Message::error($_ARRAYLANG['TXT_MESSAGE_SEND_ERROR']); } } } \Cx\Core\Csrf\Controller\Csrf::redirect('index.php?cmd=Shop&act=orders'); }
/** * Returns the Pricelist for the given ID * * @param integer $list_id The Pricelist ID * @return Pricelist The Pricelist on success, false otherwise */ static function getById($list_id) { global $objDatabase; $list_id = intval($list_id); if ($list_id <= 0) { return false; } $query = "\n SELECT `id`, `name`, `lang_id`,\n `border_on`,\n `header_on`, `header_left`, `header_right`,\n `footer_on`, `footer_left`, `footer_right`,\n `categories`\n FROM " . DBPREFIX . "module_shop" . MODULE_INDEX . "_pricelists\n WHERE id={$list_id}"; $objResult = $objDatabase->Execute($query); if (!$objResult) { return ShopManager::error_database(); } if ($objResult->EOF) { return ShopManager::information_no_data(); } $objList = new PriceList($list_id, null, $objResult->fields['lang_id']); $objList->name($objResult->fields['name']); $objList->border($objResult->fields['border_on']); $objList->header($objResult->fields['header_on']); $objList->header_left($objResult->fields['header_left']); $objList->header_right($objResult->fields['header_right']); $objList->footer($objResult->fields['footer_on']); $objList->footer_left($objResult->fields['footer_left']); $objList->footer_right($objResult->fields['footer_right']); $objList->category_ids($objResult->fields['categories']); return $objList; }
function UTCInsertShop($Shop) { ShopManager::InsertShop($Shop); }