/** * Register service function. * * @param BaseApplication $app */ public function register(BaseApplication $app) { // Repository $app['orderpdf.repository.order_pdf'] = $app->share(function () use($app) { return $app['orm.em']->getRepository('Plugin\\OrderPdf\\Entity\\OrderPdf'); }); // Order pdf event $app['orderpdf.event.order_pdf'] = $app->share(function () use($app) { return new OrderPdf($app); }); // Order pdf legacy event $app['orderpdf.event.order_pdf_legacy'] = $app->share(function () use($app) { return new OrderPdfLegacy($app); }); // ============================================================ // コントローラの登録 // ============================================================ // 管理画面定義 $admin = $app['controllers_factory']; // 強制SSL if ($app['config']['force_ssl'] == Constant::ENABLED) { $admin->requireHttps(); } // 帳票の作成 $admin->match('/plugin/order-pdf', '\\Plugin\\OrderPdf\\Controller\\OrderPdfController::index')->bind('plugin_admin_order_pdf'); // PDFファイルダウンロード $admin->post('/plugin/order-pdf/download', '\\Plugin\\OrderPdf\\Controller\\OrderPdfController::download')->bind('plugin_admin_order_pdf_download'); $app->mount('/' . trim($app['config']['admin_route'], '/') . '/', $admin); // ============================================================ // Formの登録 // ============================================================ // 型登録 $app['form.types'] = $app->share($app->extend('form.types', function ($types) use($app) { $types[] = new OrderPdfType($app); return $types; })); // ----------------------------- // サービスの登録 // ----------------------------- // 帳票作成 $app['orderpdf.service.order_pdf'] = $app->share(function () use($app) { return new OrderPdfService($app); }); // ============================================================ // メッセージ登録 // ============================================================ $file = __DIR__ . '/../Resource/locale/message.' . $app['locale'] . '.yml'; if (file_exists($file)) { $app['translator']->addResource('yaml', $file, $app['locale']); } // initialize logger (for 3.0.0 - 3.0.8) if (!Version::isSupportMethod()) { eccube_log_init($app); } }
/** * register. * * @param BaseApplication $app */ public function register(BaseApplication $app) { // イベントの追加 $app['eccube.plugin.categorycontent.event'] = $app->share(function () use($app) { return new Event($app); }); $app['eccube.plugin.categorycontent.event_legacy'] = $app->share(function () use($app) { return new EventLegacy($app); }); // @deprecated for since v3.0.0, to be removed in 3.1. if (!method_exists('Eccube\\Application', 'getInstance')) { // Form/Extension $app['form.type.extensions'] = $app->share($app->extend('form.type.extensions', function ($extensions) use($app) { $extensions[] = new CategoryContentExtension($app); return $extensions; })); } //Repository $app['eccube.plugin.category_content.repository.category_content'] = $app->share(function () use($app) { return $app['orm.em']->getRepository('Plugin\\CategoryContent\\Entity\\CategoryContent'); }); // メッセージ登録 $file = __DIR__ . '/../Resource/locale/message.' . $app['locale'] . '.yml'; $app['translator']->addResource('yaml', $file, $app['locale']); //Config $app['config'] = $app->share($app->extend('config', function ($config) { // Update constants $constantFile = __DIR__ . '/../Resource/config/constant.yml'; if (file_exists($constantFile)) { $constant = Yaml::parse(file_get_contents($constantFile)); if (!empty($constant)) { // Replace constants $config = array_replace_recursive($config, $constant); } } return $config; })); // initialize logger (for 3.0.0 - 3.0.8) if (!method_exists('Eccube\\Application', 'getInstance')) { eccube_log_init($app); } }
/** * register. * * @param BaseApplication $app */ public function register(BaseApplication $app) { // 管理画面定義 $admin = $app['controllers_factory']; // 強制SSL if ($app['config']['force_ssl'] == Constant::ENABLED) { $admin->requireHttps(); } // Routingを追加 $admin->match('/plugin/sales_report/term', '\\Plugin\\SalesReport\\Controller\\SalesReportController::term')->bind('admin_plugin_sales_report_term'); $admin->match('/plugin/sales_report/age', '\\Plugin\\SalesReport\\Controller\\SalesReportController::age')->bind('admin_plugin_sales_report_age'); $admin->match('/plugin/sales_report/product', '\\Plugin\\SalesReport\\Controller\\SalesReportController::product')->bind('admin_plugin_sales_report_product'); $admin->post('/plugin/sales_report/export/{type}', '\\Plugin\\SalesReport\\Controller\\SalesReportController::export')->bind('admin_plugin_sales_report_export'); $app->mount('/' . trim($app['config']['admin_route'], '/') . '/', $admin); // Formの定義 $app['form.types'] = $app->share($app->extend('form.types', function ($types) use($app) { $types[] = new SalesReportType($app); return $types; })); // Serviceの定義 $app['salesreport.service.sales_report'] = $app->share(function () use($app) { return new SalesReportService($app); }); // initialize logger (for 3.0.0 - 3.0.8) if (!method_exists('Eccube\\Application', 'getInstance')) { eccube_log_init($app); } // メッセージ登録 $file = __DIR__ . '/../Resource/locale/message.' . $app['locale'] . '.yml'; if (file_exists($file)) { $app['translator']->addResource('yaml', $file, $app['locale']); } // サブナビの拡張 $app['config'] = $app->share($app->extend('config', function ($config) { $nav = array('id' => 'admin_plugin_sales_report', 'name' => '売上集計', 'has_child' => 'true', 'icon' => 'cb-chart', 'child' => array(array('id' => 'admin_plugin_sales_report_term', 'url' => 'admin_plugin_sales_report_term', 'name' => '期間別集計'), array('id' => 'admin_plugin_sales_report_product', 'url' => 'admin_plugin_sales_report_product', 'name' => '商品別集計'), array('id' => 'admin_plugin_sales_report_age', 'url' => 'admin_plugin_sales_report_age', 'name' => '年代別集計'))); $config['nav'][] = $nav; return $config; })); }
/** * @param BaseApplication $app */ public function register(BaseApplication $app) { // おすすめ情報テーブルリポジトリ $app['eccube.plugin.recommend.repository.recommend_product'] = $app->share(function () use($app) { return $app['orm.em']->getRepository('Plugin\\Recommend\\Entity\\RecommendProduct'); }); // おすすめ商品の一覧 $app->match('/' . $app['config']['admin_route'] . '/recommend', '\\Plugin\\Recommend\\Controller\\RecommendController::index')->bind('admin_recommend_list'); // おすすめ商品の新規先 $app->match('/' . $app['config']['admin_route'] . '/recommend/new', '\\Plugin\\Recommend\\Controller\\RecommendController::edit')->value('id', null)->assert('id', '\\d+|')->bind('admin_recommend_new'); // おすすめ商品の編集 $app->match('/' . $app['config']['admin_route'] . '/recommend/{id}/edit', '\\Plugin\\Recommend\\Controller\\RecommendController::edit')->value('id', null)->assert('id', '\\d+|')->bind('admin_recommend_edit'); // おすすめ商品の削除 $app->delete('/' . $app['config']['admin_route'] . '/recommend/{id}/delete', '\\Plugin\\Recommend\\Controller\\RecommendController::delete')->value('id', null)->assert('id', '\\d+|')->bind('admin_recommend_delete'); // move rank $app->post('/' . $app['config']['admin_route'] . '/recommend/rank/move', '\\Plugin\\Recommend\\Controller\\RecommendController::moveRank')->bind('admin_recommend_rank_move'); // 商品検索画面表示 $app->post('/' . $app['config']['admin_route'] . '/recommend/search/product', '\\Plugin\\Recommend\\Controller\\RecommendSearchModelController::searchProduct')->bind('admin_recommend_search_product'); $app->match('/' . $app['config']['admin_route'] . '/recommend/search/product/page/{page_no}', '\\Plugin\\Recommend\\Controller\\RecommendSearchModelController::searchProduct')->assert('page_no', '\\d+')->bind('admin_recommend_search_product_page'); // ブロック $app->match('/block/recommend_product_block', '\\Plugin\\Recommend\\Controller\\Block\\RecommendController::index')->bind('block_recommend_product_block'); // 型登録 $app['form.types'] = $app->share($app->extend('form.types', function ($types) use($app) { $types[] = new RecommendProductType($app); return $types; })); // サービスの登録 $app['eccube.plugin.recommend.service.recommend'] = $app->share(function () use($app) { return new RecommendService($app); }); // メッセージ登録 $app['translator'] = $app->share($app->extend('translator', function (Translator $translator, Application $app) { $file = __DIR__ . '/../Resource/locale/message.' . $app['locale'] . '.yml'; if (file_exists($file)) { $translator->addResource('yaml', $file, $app['locale']); } return $translator; })); // Config $app['config'] = $app->share($app->extend('config', function ($config) { // menu bar $addNavi['id'] = 'admin_recommend'; $addNavi['name'] = 'おすすめ管理'; $addNavi['url'] = 'admin_recommend_list'; $nav = $config['nav']; foreach ($nav as $key => $val) { if ('content' == $val['id']) { $nav[$key]['child'][] = $addNavi; } } $config['nav'] = $nav; // Update path $pathFile = __DIR__ . '/../Resource/config/path.yml'; if (file_exists($pathFile)) { $path = Yaml::parse(file_get_contents($pathFile)); if (!empty($path)) { // Replace path $config = array_replace_recursive($config, $path); } } // Update constants $constantFile = __DIR__ . '/../Resource/config/constant.yml'; if (file_exists($constantFile)) { $constant = Yaml::parse(file_get_contents($constantFile)); if (!empty($constant)) { // Replace constants $config = array_replace_recursive($config, $constant); } } return $config; })); // initialize logger (for 3.0.0 - 3.0.8) if (!Version::isSupportGetInstanceFunction()) { eccube_log_init($app); } }
/** * register. * * @param Application $app */ public function register(BaseApplication $app) { $app->post('/related_product/search_product', '\\Plugin\\RelatedProduct\\Controller\\Admin\\RelatedProductController::searchProduct')->bind('admin_related_product_search'); $app->post('/related_product/get_product', '\\Plugin\\RelatedProduct\\Controller\\Admin\\RelatedProductController::getProduct')->bind('admin_related_product_get_product'); $app->match('/' . $app['config']['admin_route'] . '/related_product/search/product/page/{page_no}', '\\Plugin\\RelatedProduct\\Controller\\Admin\\RelatedProductController::searchProduct')->assert('page_no', '\\d+')->bind('admin_related_product_search_product_page'); // イベントの追加 $app['eccube.plugin.relatedproduct.event'] = $app->share(function () use($app) { return new Event($app); }); $app['eccube.plugin.relatedproduct.event.legacy'] = $app->share(function () use($app) { return new EventLegacy($app); }); // Formの定義 $app['form.types'] = $app->share($app->extend('form.types', function ($types) use($app) { $types[] = new RelatedProductType($app); return $types; })); // @deprecated for since v3.0.0, to be removed in 3.1. if (!Version::isSupportGetInstanceFunction()) { // Form/Extension $app['form.type.extensions'] = $app->share($app->extend('form.type.extensions', function ($extensions) { $extensions[] = new RelatedCollectionExtension(); return $extensions; })); } // Repository $app['eccube.plugin.repository.related_product'] = function () use($app) { return $app['orm.em']->getRepository('\\Plugin\\RelatedProduct\\Entity\\RelatedProduct'); }; // メッセージ登録 $app['translator'] = $app->share($app->extend('translator', function (Translator $translator, Application $app) { $file = __DIR__ . '/../Resource/locale/message.' . $app['locale'] . '.yml'; if (file_exists($file)) { $translator->addResource('yaml', $file, $app['locale']); } return $translator; })); // Add config file. $app['config'] = $app->share($app->extend('config', function ($config) { // Update constants $constantFile = __DIR__ . '/../Resource/config/constant.yml'; if (file_exists($constantFile)) { $constant = Yaml::parse(file_get_contents($constantFile)); if (!empty($constant)) { // Replace constants $config = array_replace_recursive($config, $constant); } } return $config; })); // initialize logger (for 3.0.0 - 3.0.8) if (!Version::isSupportGetInstanceFunction()) { eccube_log_init($app); } }
* @param array $context */ function log_debug($message, array $context = array()) { if (isset($GLOBALS['eccube_logger'])) { $GLOBALS['eccube_logger']->debug($message, $context); } } } if (function_exists('eccube_log_init') === false) { /** * Init log function for ec-cube <= 3.0.8 * * @param object $app */ function eccube_log_init($app) { if (isset($GLOBALS['eccube_logger'])) { return; } $GLOBALS['eccube_logger'] = $app['monolog']; $app['eccube.monolog.factory'] = $app->protect(function ($config) use($app) { return $app['monolog']; }); } } // 3.0.9以上の場合は初期化処理を行う. if (method_exists('Eccube\\Application', 'getInstance') === true) { $app = \Eccube\Application::getInstance(); eccube_log_init($app); }
/** * @param BaseApplication $app */ public function register(BaseApplication $app) { // 管理画面定義 $admin = $app['controllers_factory']; // 強制SSL if ($app['config']['force_ssl'] == Constant::ENABLED) { $admin->requireHttps(); } // メーカーテーブル用リポジトリ $app['eccube.plugin.maker.repository.maker'] = $app->share(function () use($app) { return $app['orm.em']->getRepository('Plugin\\Maker\\Entity\\Maker'); }); $app['eccube.plugin.maker.repository.product_maker'] = $app->share(function () use($app) { return $app['orm.em']->getRepository('Plugin\\Maker\\Entity\\ProductMaker'); }); // Maker event $app['eccube.plugin.maker.event.maker'] = $app->share(function () use($app) { return new Maker($app); }); // Maker legacy event $app['eccube.plugin.maker.event.maker_legacy'] = $app->share(function () use($app) { return new MakerLegacy($app); }); // 一覧・登録・修正 $admin->match('/plugin/maker/{id}', '\\Plugin\\Maker\\Controller\\MakerController::index')->value('id', null)->assert('id', '\\d+|')->bind('admin_plugin_maker_index'); // 削除 $admin->delete('/plugin/maker/{id}/delete', '\\Plugin\\Maker\\Controller\\MakerController::delete')->value('id', null)->assert('id', '\\d+|')->bind('admin_plugin_maker_delete'); $admin->post('/plugin/maker/rank/move', '\\Plugin\\Maker\\Controller\\MakerController::moveRank')->bind('admin_plugin_maker_move_rank'); $app->mount('/' . trim($app['config']['admin_route'], '/') . '/', $admin); // 型登録 $app['form.types'] = $app->share($app->extend('form.types', function ($types) use($app) { $types[] = new MakerType($app); return $types; })); // Form Extension $app['form.type.extensions'] = $app->share($app->extend('form.type.extensions', function ($extensions) use($app) { $extensions[] = new ProductMakerTypeExtension($app); return $extensions; })); // メッセージ登録 $file = __DIR__ . '/../Resource/locale/message.' . $app['locale'] . '.yml'; $app['translator']->addResource('yaml', $file, $app['locale']); // メニュー登録 $app['config'] = $app->share($app->extend('config', function ($config) { $addNavi['id'] = 'maker'; $addNavi['name'] = 'メーカー管理'; $addNavi['url'] = 'admin_plugin_maker_index'; $nav = $config['nav']; foreach ($nav as $key => $val) { if ('product' == $val['id']) { $nav[$key]['child'][] = $addNavi; } } $config['nav'] = $nav; return $config; })); // initialize logger (for 3.0.0 - 3.0.8) if (!method_exists('Eccube\\Application', 'getInstance')) { eccube_log_init($app); } }