This commit is contained in:
2024-01-28 11:27:52 +07:00
parent 736f5b9c4e
commit 9b6cd189ea
23 changed files with 223 additions and 107 deletions

7
.htaccess Normal file
View File

@@ -0,0 +1,7 @@
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
# prevent rewrite non-existent files
RewriteCond %{REQUEST_URI} !\.(jpg|png|gif|css|js|php|tiff|jpeg|ico)$
RewriteRule ^(.*)$ /index.php [QSA,L]

View File

@@ -12,7 +12,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'article/home', 'id' => 'article/home',
'name' => 'Tin bài', 'name' => 'Tin bài',
'url' => '/admin/?opt=article', 'url' => '/admin/article',
), ),
array( array(
@@ -21,7 +21,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'media/home', 'id' => 'media/home',
'name' => 'Thư viện file Media', 'name' => 'Thư viện file Media',
'url' => '/admin/?opt=media', 'url' => '/admin/media',
), ),
array( array(
@@ -30,7 +30,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'page/home', 'id' => 'page/home',
'name' => 'Nội dung cố định', 'name' => 'Nội dung cố định',
'url' => '/admin/?opt=page', 'url' => '/admin/page',
), ),
array( array(
@@ -39,7 +39,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'album/home', 'id' => 'album/home',
'name' => 'Thư viện ảnh', 'name' => 'Thư viện ảnh',
'url' => '/admin/?opt=album', 'url' => '/admin/album',
), ),
array( array(
@@ -48,7 +48,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'video/home', 'id' => 'video/home',
'name' => 'Video', 'name' => 'Video',
'url' => '/admin/?opt=video', 'url' => '/admin/video',
), ),
), ),
); );

View File

@@ -12,7 +12,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'ask/home', 'id' => 'ask/home',
'name' => 'Danh sách câu hỏi', 'name' => 'Danh sách câu hỏi',
'url' => '/admin/?opt=ask', 'url' => '/admin/ask',
), ),
1 => array( 1 => array(
@@ -21,7 +21,7 @@ return array(
'view' => 'answer-list', 'view' => 'answer-list',
'id' => 'ask/answer-list', 'id' => 'ask/answer-list',
'name' => 'Danh sách trả lời', 'name' => 'Danh sách trả lời',
'url' => '/admin/?opt=ask&view=answer-list', 'url' => '/admin/ask/answer-list',
), ),
2 => array( 2 => array(
@@ -30,7 +30,7 @@ return array(
'view' => 'category', 'view' => 'category',
'id' => 'ask/ask', 'id' => 'ask/ask',
'name' => 'Danh mục hỏi đáp', 'name' => 'Danh mục hỏi đáp',
'url' => '/admin/?opt=ask&view=category', 'url' => '/admin/ask/category',
), ),
), ),
); );

View File

@@ -12,7 +12,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'customer/home', 'id' => 'customer/home',
'name' => 'Danh sách khách hàng', 'name' => 'Danh sách khách hàng',
'url' => '/admin/?opt=customer', 'url' => '/admin/customer',
), ),
/*array( /*array(
@@ -21,7 +21,7 @@ return array(
'view' => 'customer-group', 'view' => 'customer-group',
'id' => 'customer/customer-group', 'id' => 'customer/customer-group',
'name' => 'Nhóm khách hàng', 'name' => 'Nhóm khách hàng',
'url' => '/admin/?opt=customer&view=customer-group', 'url' => '/admin/customer/customer-group',
),*/ ),*/
array( array(
@@ -30,7 +30,7 @@ return array(
'view' => 'customer-contact', 'view' => 'customer-contact',
'id' => 'customer/customer-contact', 'id' => 'customer/customer-contact',
'name' => 'Khách hàng liên hệ', 'name' => 'Khách hàng liên hệ',
'url' => '/admin/?opt=customer&view=customer-contact', 'url' => '/admin/customer/customer-contact',
), ),
array( array(
@@ -39,7 +39,7 @@ return array(
'view' => 'comment', 'view' => 'comment',
'id' => 'customer/comment', 'id' => 'customer/comment',
'name' => 'Tổng hợp trao đổi', 'name' => 'Tổng hợp trao đổi',
'url' => '/admin/?opt=customer&view=comment', 'url' => '/admin/customer/comment',
), ),
array( array(
@@ -48,7 +48,7 @@ return array(
'view' => 'review', 'view' => 'review',
'id' => 'customer/review', 'id' => 'customer/review',
'name' => 'Tổng hợp Đánh giá', 'name' => 'Tổng hợp Đánh giá',
'url' => '/admin/?opt=customer&view=review', 'url' => '/admin/customer/review',
), ),
array( array(
@@ -57,7 +57,7 @@ return array(
'view' => 'customer-review', 'view' => 'customer-review',
'id' => 'customer/customer-review', 'id' => 'customer/customer-review',
'name' => 'Khách hàng góp ý', 'name' => 'Khách hàng góp ý',
'url' => '/admin/?opt=customer&view=customer-review', 'url' => '/admin/customer/customer-review',
), ),
array( array(
@@ -66,10 +66,8 @@ return array(
'view' => 'customer-newsletter', 'view' => 'customer-newsletter',
'id' => 'customer/customer-newsletter', 'id' => 'customer/customer-newsletter',
'name' => 'Khách hàng nhận bản tin', 'name' => 'Khách hàng nhận bản tin',
'url' => '/admin/?opt=customer&view=customer-newsletter', 'url' => '/admin/customer/customer-newsletter',
), ),
), ),
); );

View File

@@ -11,7 +11,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'distributor/home', 'id' => 'distributor/home',
'name' => 'Danh sách', 'name' => 'Danh sách',
'url' => '/admin/?opt=distributor', 'url' => '/admin/distributor',
), ),
), ),
); );

View File

@@ -11,7 +11,7 @@ return array(
'view' => 'annual_report', 'view' => 'annual_report',
'name' => 'Báo cáo thường niên', 'name' => 'Báo cáo thường niên',
'id' => 'investor_relation/annual_report', 'id' => 'investor_relation/annual_report',
'url' => '/admin/?opt=investor_relation&view=annual_report', 'url' => '/admin/investor_relation/annual_report',
), ),
array( array(
'enable' => true , 'enable' => true ,
@@ -19,7 +19,7 @@ return array(
'view' => 'charter', 'view' => 'charter',
'name' => 'Điều lệ hoạt động', 'name' => 'Điều lệ hoạt động',
'id' => 'investor_relation/charter', 'id' => 'investor_relation/charter',
'url' => '/admin/?opt=investor_relation&view=charter', 'url' => '/admin/investor_relation/charter',
), ),
array( array(
'enable' => true , 'enable' => true ,
@@ -27,7 +27,7 @@ return array(
'view' => 'governance', 'view' => 'governance',
'name' => 'Quy chế quản trị', 'name' => 'Quy chế quản trị',
'id' => 'investor_relation/governance', 'id' => 'investor_relation/governance',
'url' => '/admin/?opt=investor_relation&view=governance', 'url' => '/admin/investor_relation/governance',
), ),
array( array(
'enable' => true , 'enable' => true ,
@@ -35,7 +35,7 @@ return array(
'view' => 'financial_reports', 'view' => 'financial_reports',
'name' => 'Báo cáo tài chính', 'name' => 'Báo cáo tài chính',
'id' => 'investor_relation/financial_reports', 'id' => 'investor_relation/financial_reports',
'url' => '/admin/?opt=investor_relation&view=financial_reports', 'url' => '/admin/investor_relation/financial_reports',
), ),
array( array(
'enable' => true , 'enable' => true ,
@@ -43,7 +43,7 @@ return array(
'view' => 'info_disclosure', 'view' => 'info_disclosure',
'name' => 'Công bố thông tin', 'name' => 'Công bố thông tin',
'id' => 'investor_relation/info_disclosure', 'id' => 'investor_relation/info_disclosure',
'url' => '/admin/?opt=investor_relation&view=info_disclosure', 'url' => '/admin/investor_relation/info_disclosure',
), ),
array( array(
'enable' => true , 'enable' => true ,
@@ -51,7 +51,7 @@ return array(
'view' => 'management_report', 'view' => 'management_report',
'name' => 'Báo cáo quản trị', 'name' => 'Báo cáo quản trị',
'id' => 'investor_relation/management_report', 'id' => 'investor_relation/management_report',
'url' => '/admin/?opt=investor_relation&view=management_report', 'url' => '/admin/investor_relation/management_report',
), ),
array( array(
'enable' => true , 'enable' => true ,
@@ -59,7 +59,7 @@ return array(
'view' => 'shareholder_meeting', 'view' => 'shareholder_meeting',
'name' => 'Đại hội cổ đông', 'name' => 'Đại hội cổ đông',
'id' => 'investor_relation/shareholder_meeting', 'id' => 'investor_relation/shareholder_meeting',
'url' => '/admin/?opt=investor_relation&view=shareholder_meeting', 'url' => '/admin/investor_relation/shareholder_meeting',
), ),
array( array(
'enable' => true , 'enable' => true ,
@@ -67,7 +67,7 @@ return array(
'view' => 'whitepaper', 'view' => 'whitepaper',
'name' => 'Báo cáo bạch', 'name' => 'Báo cáo bạch',
'id' => 'investor_relation/whitepaper', 'id' => 'investor_relation/whitepaper',
'url' => '/admin/?opt=investor_relation&view=whitepaper', 'url' => '/admin/investor_relation/whitepaper',
), ),
), ),
); );

View File

@@ -11,7 +11,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'job/home', 'id' => 'job/home',
'name' => 'Vị trí tuyển', 'name' => 'Vị trí tuyển',
'url' => '/admin/?opt=job', 'url' => '/admin/job',
), ),
array( array(
@@ -20,7 +20,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'job/home', 'id' => 'job/home',
'name' => 'Quản lý hồ sơ', 'name' => 'Quản lý hồ sơ',
'url' => '/admin/?opt=job&view=applicants', 'url' => '/admin/job/applicants',
), ),
), ),
); );

View File

@@ -11,7 +11,7 @@ return array(
'view' => 'promotion', 'view' => 'promotion',
'id' => 'marketing/promotion', 'id' => 'marketing/promotion',
'name' => 'Khuyến mại theo sản phẩm', 'name' => 'Khuyến mại theo sản phẩm',
'url' => '/admin/?opt=marketing&view=promotion', 'url' => '/admin/marketing/promotion',
), ),
array( array(
@@ -20,7 +20,7 @@ return array(
'view' => 'coupon', 'view' => 'coupon',
'id' => 'marketing/coupon', 'id' => 'marketing/coupon',
'name' => 'Phiếu giảm giá - Voucher', 'name' => 'Phiếu giảm giá - Voucher',
'url' => '/admin/?opt=marketing&view=coupon', 'url' => '/admin/marketing/coupon',
), ),
array( array(
@@ -29,7 +29,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'banner/home', 'id' => 'banner/home',
'name' => 'Danh sách banner', 'name' => 'Danh sách banner',
'url' => '/admin/?opt=banner', 'url' => '/admin/banner',
), ),
array( array(
@@ -38,7 +38,7 @@ return array(
'view' => 'store-design', 'view' => 'store-design',
'id' => 'system/store-design', 'id' => 'system/store-design',
'name' => 'Banner pop-up', 'name' => 'Banner pop-up',
'url' => '/admin/?opt=system&view=store-design&section=popup', 'url' => '/admin/system/store-design&section=popup',
), ),
array( array(
@@ -47,7 +47,7 @@ return array(
'view' => 'poster-upload', 'view' => 'poster-upload',
'id' => 'marketing/poster-upload', 'id' => 'marketing/poster-upload',
'name' => 'Poster', 'name' => 'Poster',
'url' => '/admin/?opt=marketing&view=poster-upload', 'url' => '/admin/marketing/poster-upload',
), ),
/* array( /* array(
@@ -56,7 +56,7 @@ return array(
'view' => 'store-design', 'view' => 'store-design',
'id' => 'system/store-design', 'id' => 'system/store-design',
'name' => 'Hình nền website', 'name' => 'Hình nền website',
'url' => '/admin/?opt=system&view=store-design&section=background', 'url' => '/admin/system/store-design&section=background',
),*/ ),*/
/* array( /* array(
@@ -65,7 +65,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'email/home', 'id' => 'email/home',
'name' => 'Email', 'name' => 'Email',
'url' => '/admin/?opt=email', 'url' => '/admin/email',
),*/ ),*/
array( array(
@@ -74,7 +74,7 @@ return array(
'view' => 'meta-list', 'view' => 'meta-list',
'id' => 'url/meta-list', 'id' => 'url/meta-list',
'name' => 'Sửa thông tin URL', 'name' => 'Sửa thông tin URL',
'url' => '/admin/?opt=url&view=meta-list', 'url' => '/admin/url/meta-list',
), ),
array( array(
@@ -83,7 +83,7 @@ return array(
'view' => 'url-seo', 'view' => 'url-seo',
'id' => 'url/url-seo', 'id' => 'url/url-seo',
'name' => 'Link SEO', 'name' => 'Link SEO',
'url' => '/admin/?opt=url&view=url-seo', 'url' => '/admin/url/url-seo',
), ),
array( array(
@@ -92,7 +92,7 @@ return array(
'view' => 'feed', 'view' => 'feed',
'id' => 'marketing/feed', 'id' => 'marketing/feed',
'name' => 'Facebook/Google Feed', 'name' => 'Facebook/Google Feed',
'url' => '/admin/?opt=marketing&view=feed', 'url' => '/admin/marketing/feed',
), ),
array( array(
@@ -101,7 +101,7 @@ return array(
'view' => 'product-offer', 'view' => 'product-offer',
'id' => 'marketing/product-offer', 'id' => 'marketing/product-offer',
'name' => 'Cài biểu tượng giảm giá', 'name' => 'Cài biểu tượng giảm giá',
'url' => '/admin/?opt=marketing&view=product-offer', 'url' => '/admin/marketing/product-offer',
), ),
/*array( /*array(
@@ -110,7 +110,7 @@ return array(
'view' => 'lead-program', 'view' => 'lead-program',
'id' => 'marketing/lead-program', 'id' => 'marketing/lead-program',
'name' => 'Thu thập khách hàng', 'name' => 'Thu thập khách hàng',
'url' => '/admin/?opt=marketing&view=lead-program', 'url' => '/admin/marketing/lead-program',
),*/ ),*/
array( array(
@@ -119,7 +119,7 @@ return array(
'view' => 'program', 'view' => 'program',
'id' => 'marketing/program', 'id' => 'marketing/program',
'name' => 'Chương trình khuyến mại', 'name' => 'Chương trình khuyến mại',
'url' => '/admin/?opt=marketing&view=program', 'url' => '/admin/marketing/program',
), ),
array( array(
@@ -128,7 +128,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'deal/home', 'id' => 'deal/home',
'name' => 'Deal/giờ vàng', 'name' => 'Deal/giờ vàng',
'url' => '/admin/?opt=deal', 'url' => '/admin/deal',
), ),
array( array(
@@ -137,7 +137,7 @@ return array(
'view' => 'combo-deal', 'view' => 'combo-deal',
'id' => 'marketing/combo-deal', 'id' => 'marketing/combo-deal',
'name' => 'Bán Combo', 'name' => 'Bán Combo',
'url' => '/admin/?opt=marketing&view=combo-deal', 'url' => '/admin/marketing/combo-deal',
), ),
array( array(
@@ -146,7 +146,7 @@ return array(
'view' => 'conditional-promotion', 'view' => 'conditional-promotion',
'id' => 'marketing/conditional-promotion', 'id' => 'marketing/conditional-promotion',
'name' => 'Khuyến mại BuildPC', 'name' => 'Khuyến mại BuildPC',
'url' => '/admin/?opt=marketing&view=conditional-promotion', 'url' => '/admin/marketing/conditional-promotion',
), ),
array( array(
@@ -155,7 +155,7 @@ return array(
'view' => 'live-support-per-category', 'view' => 'live-support-per-category',
'id' => 'marketing/live-support-per-category', 'id' => 'marketing/live-support-per-category',
'name' => 'Hỗ trợ theo từng danh mục', 'name' => 'Hỗ trợ theo từng danh mục',
'url' => '/admin/?opt=marketing&view=live-support-per-category', 'url' => '/admin/marketing/live-support-per-category',
), ),
), ),

View File

@@ -11,7 +11,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'order/home', 'id' => 'order/home',
'name' => 'Danh sách đơn hàng', 'name' => 'Danh sách đơn hàng',
'url' => '/admin/?opt=order', // &list=new 'url' => '/admin/order', // &list=new
), ),
array( array(
@@ -20,7 +20,7 @@ return array(
'view' => 'bargain', 'view' => 'bargain',
'id' => 'order/bargain', 'id' => 'order/bargain',
'name' => 'Mặc cả giá', 'name' => 'Mặc cả giá',
'url' => '/admin/?opt=order&view=bargain', 'url' => '/admin/order/bargain',
), ),
array( array(
@@ -29,7 +29,7 @@ return array(
'view' => 'wait-order', 'view' => 'wait-order',
'id' => 'order/wait-order', 'id' => 'order/wait-order',
'name' => 'Chờ mua sản phẩm', 'name' => 'Chờ mua sản phẩm',
'url' => '/admin/?opt=order&view=wait-order', 'url' => '/admin/order/wait-order',
), ),
@@ -39,7 +39,7 @@ return array(
'view' => 'paygate', 'view' => 'paygate',
'id' => 'order/paygate', 'id' => 'order/paygate',
'name' => 'Thanh toán qua cổng dịch vụ', 'name' => 'Thanh toán qua cổng dịch vụ',
'url' => '/admin/?opt=order&view=paygate', 'url' => '/admin/order/paygate',
), ),
array( array(
@@ -48,7 +48,7 @@ return array(
'view' => 'price-quote', 'view' => 'price-quote',
'id' => 'order/price-quote', 'id' => 'order/price-quote',
'name' => 'Lập báo giá', 'name' => 'Lập báo giá',
'url' => '/admin/?opt=order&view=price-quote', 'url' => '/admin/order/price-quote',
), ),
), ),
); );

View File

@@ -11,7 +11,7 @@ return array(
'view' => 'order', 'view' => 'order',
'id' => 'payinstall/order', 'id' => 'payinstall/order',
'name' => 'Danh sách đơn hàng', 'name' => 'Danh sách đơn hàng',
'url' => '/admin/?opt=payinstall&view=order', 'url' => '/admin/payinstall/order',
), ),
array( array(
@@ -20,7 +20,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'payinstall/home', 'id' => 'payinstall/home',
'name' => 'Cài đặt trả góp', 'name' => 'Cài đặt trả góp',
'url' => '/admin/?opt=payinstall', 'url' => '/admin/payinstall',
), ),
array( array(
@@ -29,7 +29,7 @@ return array(
'view' => 'category', 'view' => 'category',
'id' => 'payinstall/category', 'id' => 'payinstall/category',
'name' => 'Danh mục sản phẩm', 'name' => 'Danh mục sản phẩm',
'url' => '/admin/?opt=payinstall&view=category', 'url' => '/admin/payinstall/category',
), ),
), ),
); );

View File

@@ -12,7 +12,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'pcbuilder/home', 'id' => 'pcbuilder/home',
'name' => 'Linh kiện xây dựng', 'name' => 'Linh kiện xây dựng',
'url' => '/admin/?opt=pcbuilder', 'url' => '/admin/pcbuilder',
), ),
array( array(
@@ -21,7 +21,7 @@ return array(
'view' => 'preconfig', 'view' => 'preconfig',
'id' => 'pcbuilder/preconfig', 'id' => 'pcbuilder/preconfig',
'name' => 'Bộ máy tính mẫu', 'name' => 'Bộ máy tính mẫu',
'url' => '/admin/?opt=pcbuilder&view=preconfig', 'url' => '/admin/pcbuilder/preconfig',
), ),
), ),

View File

@@ -13,7 +13,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'product/home', 'id' => 'product/home',
'name' => 'Sản phẩm', 'name' => 'Sản phẩm',
'url' => '/admin/?opt=product', 'url' => '/admin/product',
), ),
/* array( /* array(
@@ -22,7 +22,7 @@ return array(
'view' => 'user-rating', 'view' => 'user-rating',
'id' => 'product/user-rating', 'id' => 'product/user-rating',
'name' => 'Đánh giá ', 'name' => 'Đánh giá ',
'url' => '/admin/?opt=product&view=user-rating', 'url' => '/admin/product/user-rating',
),*/ ),*/
/*array( /*array(
@@ -31,7 +31,7 @@ return array(
'view' => 'product-customer-image', 'view' => 'product-customer-image',
'id' => 'product/product-customer-image', 'id' => 'product/product-customer-image',
'name' => 'Ảnh người dùng gửi', 'name' => 'Ảnh người dùng gửi',
'url' => '/admin/?opt=product&view=product-customer-image', 'url' => '/admin/product/product-customer-image',
),*/ ),*/
/*array( /*array(
@@ -40,7 +40,7 @@ return array(
'view' => 'product-list-update', 'view' => 'product-list-update',
'id' => 'product/product-list-update', 'id' => 'product/product-list-update',
'name' => 'Bảng giá cập nhật', 'name' => 'Bảng giá cập nhật',
'url' => '/admin/?opt=product&view=product-list-update', 'url' => '/admin/product/product-list-update',
),*/ ),*/
array( array(
@@ -49,7 +49,7 @@ return array(
'view' => 'category', 'view' => 'category',
'id' => 'product/category', 'id' => 'product/category',
'name' => 'Danh mục', 'name' => 'Danh mục',
'url' => '/admin/?opt=product&view=category', 'url' => '/admin/product/category',
), ),
array( array(
'enable' => true , 'enable' => true ,
@@ -57,7 +57,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'brand/home', 'id' => 'brand/home',
'name' => 'Thương hiệu', 'name' => 'Thương hiệu',
'url' => '/admin/?opt=brand', 'url' => '/admin/brand',
), ),
array( array(
'enable' => true , 'enable' => true ,
@@ -65,7 +65,7 @@ return array(
'view' => 'attribute', 'view' => 'attribute',
'id' => 'product/attribute', 'id' => 'product/attribute',
'name' => 'Thuộc tính ', 'name' => 'Thuộc tính ',
'url' => '/admin/?opt=product&view=attribute', 'url' => '/admin/product/attribute',
), ),
array( array(
'enable' => true , 'enable' => true ,
@@ -73,7 +73,7 @@ return array(
'view' => 'collection', 'view' => 'collection',
'id' => 'product/collection', 'id' => 'product/collection',
'name' => 'Bộ sưu tập', 'name' => 'Bộ sưu tập',
'url' => '/admin/?opt=product&view=collection', 'url' => '/admin/product/collection',
), ),
array( array(
@@ -82,7 +82,7 @@ return array(
'view' => 'product-wait-list', 'view' => 'product-wait-list',
'id' => 'product/product-wait-list', 'id' => 'product/product-wait-list',
'name' => 'Chờ mua sản phẩm', 'name' => 'Chờ mua sản phẩm',
'url' => '/admin/?opt=product&view=product-wait-list', 'url' => '/admin/product/product-wait-list',
), ),
array( array(
@@ -91,7 +91,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'addon/home', 'id' => 'addon/home',
'name' => 'SP/Dịch vụ mua kèm', 'name' => 'SP/Dịch vụ mua kèm',
'url' => '/admin/?opt=addon', 'url' => '/admin/addon',
), ),
array( array(
@@ -100,7 +100,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'config_group/home', 'id' => 'config_group/home',
'name' => 'Nhóm cấu hình', 'name' => 'Nhóm cấu hình',
'url' => '/admin/?opt=config_group', 'url' => '/admin/config_group',
), ),
/*array( /*array(
@@ -109,7 +109,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'supplier/home', 'id' => 'supplier/home',
'name' => 'Nhà cung cấp', 'name' => 'Nhà cung cấp',
'url' => '/admin/?opt=supplier', 'url' => '/admin/supplier',
),*/ ),*/
/* array( /* array(
@@ -118,7 +118,7 @@ return array(
'view' => 'set-promotion-price', 'view' => 'set-promotion-price',
'id' => 'product/set-promotion-price', 'id' => 'product/set-promotion-price',
'name' => 'Cài đặt giá khuyến mại', 'name' => 'Cài đặt giá khuyến mại',
'url' => '/admin/?opt=product&view=set-promotion-price', 'url' => '/admin/product/set-promotion-price',
),*/ ),*/
/*array( /*array(
@@ -127,7 +127,7 @@ return array(
'view' => 'product-per-customer-group', 'view' => 'product-per-customer-group',
'id' => 'product/product-per-customer-group', 'id' => 'product/product-per-customer-group',
'name' => 'Giá theo nhóm khách hàng', 'name' => 'Giá theo nhóm khách hàng',
'url' => '/admin/?opt=product&view=product-per-customer-group', 'url' => '/admin/product/product-per-customer-group',
),*/ ),*/
array( array(
@@ -136,7 +136,7 @@ return array(
'view' => 'set', 'view' => 'set',
'id' => 'product/set', 'id' => 'product/set',
'name' => 'Set sản phẩm', 'name' => 'Set sản phẩm',
'url' => '/admin/?opt=product&view=set', 'url' => '/admin/product/set',
), ),
array( array(
@@ -145,7 +145,7 @@ return array(
'view' => 'spec-group', 'view' => 'spec-group',
'id' => 'product/spec-group', 'id' => 'product/spec-group',
'name' => 'Nhóm thông số kỹ thuật', 'name' => 'Nhóm thông số kỹ thuật',
'url' => '/admin/?opt=product&view=spec-group', 'url' => '/admin/product/spec-group',
), ),
), ),
); );

View File

@@ -12,7 +12,7 @@ return array(
'view' => 'visitor', 'view' => 'visitor',
'id' => 'report/visitor', 'id' => 'report/visitor',
'name' => 'Thống kê truy cập', 'name' => 'Thống kê truy cập',
'url' => '/admin/?opt=report&view=visitor', 'url' => '/admin/report/visitor',
), ),
array( array(
@@ -21,7 +21,7 @@ return array(
'view' => 'customer', 'view' => 'customer',
'id' => 'report/customer', 'id' => 'report/customer',
'name' => 'Thống kê khách hàng', 'name' => 'Thống kê khách hàng',
'url' => '/admin/?opt=report&view=customer', 'url' => '/admin/report/customer',
), ),
array( array(
@@ -30,7 +30,7 @@ return array(
'view' => 'order', 'view' => 'order',
'id' => 'report/order', 'id' => 'report/order',
'name' => 'Thống kê đơn hàng', 'name' => 'Thống kê đơn hàng',
'url' => '/admin/?opt=report&view=order', 'url' => '/admin/report/order',
), ),
array( array(
@@ -39,7 +39,7 @@ return array(
'view' => 'product-buy', 'view' => 'product-buy',
'id' => 'report/product-buy', 'id' => 'report/product-buy',
'name' => 'Sản phẩm mua nhiều', 'name' => 'Sản phẩm mua nhiều',
'url' => '/admin/?opt=report&view=product-buy', 'url' => '/admin/report/product-buy',
), ),
array( array(
@@ -48,7 +48,7 @@ return array(
'view' => 'product-visit', 'view' => 'product-visit',
'id' => 'report/product-visit', 'id' => 'report/product-visit',
'name' => 'Sản phẩm xem nhiều', 'name' => 'Sản phẩm xem nhiều',
'url' => '/admin/?opt=report&view=product-visit', 'url' => '/admin/report/product-visit',
), ),
array( array(
@@ -57,7 +57,7 @@ return array(
'view' => 'referer', 'view' => 'referer',
'id' => 'report/referer', 'id' => 'report/referer',
'name' => 'Web giới thiệu', 'name' => 'Web giới thiệu',
'url' => '/admin/?opt=report&view=referer', 'url' => '/admin/report/referer',
), ),
array( array(
@@ -66,7 +66,7 @@ return array(
'view' => 'search', 'view' => 'search',
'id' => 'report/search', 'id' => 'report/search',
'name' => 'Từ khóa tìm kiếm', 'name' => 'Từ khóa tìm kiếm',
'url' => '/admin/?opt=report&view=search', 'url' => '/admin/report/search',
), ),
array( array(
@@ -75,7 +75,7 @@ return array(
'view' => 'error-page', 'view' => 'error-page',
'id' => '', 'id' => '',
'name' => 'Lỗi website', 'name' => 'Lỗi website',
'url' => '/admin/?opt=report&view=error-page', 'url' => '/admin/report/error-page',
), ),
), ),
); );

View File

@@ -11,7 +11,7 @@ return array(
'view' => 'settings', 'view' => 'settings',
'id' => 'system/settings', 'id' => 'system/settings',
'name' => 'Cài đặt chung', 'name' => 'Cài đặt chung',
'url' => '/admin/?opt=system&view=settings', 'url' => '/admin/system/settings',
), ),
array( array(
@@ -20,7 +20,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'template/home', 'id' => 'template/home',
'name' => 'Sửa file template', 'name' => 'Sửa file template',
'url' => '/admin/?opt=template', 'url' => '/admin/template',
), ),
array( array(
@@ -29,7 +29,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => '', 'id' => '',
'name' => 'Quản trị viên', 'name' => 'Quản trị viên',
'url' => '/admin/?opt=admin', 'url' => '/admin/admin',
), ),
array( array(
@@ -38,7 +38,7 @@ return array(
'view' => 'store-address', 'view' => 'store-address',
'id' => '', 'id' => '',
'name' => 'Địa chỉ cửa hàng', 'name' => 'Địa chỉ cửa hàng',
'url' => '/admin/?opt=system&view=store-address', 'url' => '/admin/system/store-address',
), ),
/*4 => array( /*4 => array(
@@ -47,7 +47,7 @@ return array(
'view' => 'domain', 'view' => 'domain',
'id' => 'system/domain', 'id' => 'system/domain',
'name' => 'Cài đặt tên miền', 'name' => 'Cài đặt tên miền',
'url' => '/admin/?opt=system&view=domain', 'url' => '/admin/system/domain',
),*/ ),*/
/*array( /*array(
@@ -56,7 +56,7 @@ return array(
'view' => 'ban-ip', 'view' => 'ban-ip',
'id' => '', 'id' => '',
'name' => 'Chặn IP truy cập website', 'name' => 'Chặn IP truy cập website',
'url' => '/admin/?opt=system&view=ban-ip', 'url' => '/admin/system/ban-ip',
), ),
array( array(
@@ -65,7 +65,7 @@ return array(
'view' => 'change-info', 'view' => 'change-info',
'id' => '', 'id' => '',
'name' => 'Thông tin website', 'name' => 'Thông tin website',
'url' => '/admin/?opt=system&view=change-info', 'url' => '/admin/system/change-info',
),*/ ),*/
/* /*
@@ -76,7 +76,7 @@ return array(
'view' => 'province-list', 'view' => 'province-list',
'id' => '', 'id' => '',
'name' => 'Cài đặt tỉnh thành', 'name' => 'Cài đặt tỉnh thành',
'url' => '/admin/?opt=system&view=province-list', 'url' => '/admin/system/province-list',
),*/ ),*/
/*9 => array( /*9 => array(
@@ -85,7 +85,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => '', 'id' => '',
'name' => 'Tình trạng đơn hàng', 'name' => 'Tình trạng đơn hàng',
'url' => '/admin/?opt=system&view=order-status', 'url' => '/admin/system/order-status',
),*/ ),*/
/*array( /*array(
@@ -94,7 +94,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => '', 'id' => '',
'name' => 'Hỗ trợ bán hàng', 'name' => 'Hỗ trợ bán hàng',
'url' => '/admin/?opt=online_support', 'url' => '/admin/online_support',
),*/ ),*/
/*array( /*array(
@@ -103,7 +103,7 @@ return array(
'view' => 'country', 'view' => 'country',
'id' => '', 'id' => '',
'name' => 'Quốc gia', 'name' => 'Quốc gia',
'url' => '/admin/?opt=system&view=country', 'url' => '/admin/system/country',
),*/ ),*/
/*12 => array( /*12 => array(
@@ -112,7 +112,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => '', 'id' => '',
'name' => 'Cài đặt thông báo ngoài', 'name' => 'Cài đặt thông báo ngoài',
'url' => '/admin/?opt=report_out', 'url' => '/admin/report_out',
),*/ ),*/
/*array( /*array(
@@ -121,7 +121,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => '', 'id' => '',
'name' => 'Cài đặt phí vận chuyển', 'name' => 'Cài đặt phí vận chuyển',
'url' => '/admin/?opt=shipping2', 'url' => '/admin/shipping2',
),*/ ),*/
array( array(
@@ -130,7 +130,7 @@ return array(
'view' => 'redirect', 'view' => 'redirect',
'id' => 'url/redirect', 'id' => 'url/redirect',
'name' => 'Url Redirect', 'name' => 'Url Redirect',
'url' => '/admin/?opt=url&view=redirect', 'url' => '/admin/url/redirect',
), ),
array( array(
@@ -139,7 +139,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'tool/home', 'id' => 'tool/home',
'name' => 'Công cụ', 'name' => 'Công cụ',
'url' => '/admin/?opt=tool', 'url' => '/admin/tool',
), ),
/*array( /*array(
@@ -148,7 +148,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => '', 'id' => '',
'name' => 'Civi Affiliate', 'name' => 'Civi Affiliate',
'url' => '/admin/?opt=civi', 'url' => '/admin/civi',
), ),
array( array(
@@ -157,7 +157,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'menu/home', 'id' => 'menu/home',
'name' => 'Quản trị menu', 'name' => 'Quản trị menu',
'url' => '/admin/?opt=menu', 'url' => '/admin/menu',
), ),
array( array(
@@ -166,7 +166,7 @@ return array(
'view' => 'keyword-suggest', 'view' => 'keyword-suggest',
'id' => 'system/keyword-suggest', 'id' => 'system/keyword-suggest',
'name' => 'Từ khóa gợi ý', 'name' => 'Từ khóa gợi ý',
'url' => '/admin/?opt=system&view=keyword-suggest', 'url' => '/admin/system/keyword-suggest',
),*/ ),*/
array( array(
@@ -175,7 +175,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'tag/home', 'id' => 'tag/home',
'name' => 'Quản trị Tag', 'name' => 'Quản trị Tag',
'url' => '/admin/?opt=tag', 'url' => '/admin/tag',
), ),
), ),
); );

View File

@@ -12,7 +12,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => '', 'id' => '',
'name' => 'Khách hàng đăng ký', 'name' => 'Khách hàng đăng ký',
'url' => '/admin/?opt=warranty&view=customer-register', 'url' => '/admin/warranty/customer-register',
),*/ ),*/
array( array(
@@ -21,7 +21,7 @@ return array(
'view' => 'home', 'view' => 'home',
'id' => 'warranty/home', 'id' => 'warranty/home',
'name' => 'Danh sách bảo hành', 'name' => 'Danh sách bảo hành',
'url' => '/admin/?opt=warranty', 'url' => '/admin/warranty',
), ),
), ),
); );

View File

@@ -32,12 +32,13 @@ class AppAdmin
protected function getRouter() { protected function getRouter() {
$route = [ /*$route = [
"module" => (isset($_REQUEST['module'])) ? $_REQUEST['module'] : 'home', "module" => (isset($_REQUEST['module'])) ? $_REQUEST['module'] : 'home',
"view" => (isset($_REQUEST['view'])) ? $_REQUEST['view'] : 'home', "view" => (isset($_REQUEST['view'])) ? $_REQUEST['view'] : 'home',
]; ];*/
$this->current_route_info = $route; $objRouter = new Router();
$this->current_route_info = $objRouter->getRouting();
} }

60
inc/Hura8/Router.php Normal file
View File

@@ -0,0 +1,60 @@
<?php
namespace Hura8;
class Router {
private $path_config = [];
public function __construct() {
//if( ! $this->path_config) {
//$path_config_file = APP_DIR . '/config/routing.php';
//$this->path_config = require $path_config_file;
//}
}
// url: admin/abc/product.php?para1=value1
public function getRouting() {
$parsed = Url::parse($_SERVER['REQUEST_URI']); //abc/product?param1=12&param2=value2
// home
if($parsed['path'] == '/') {
return [
'module' => preg_replace("/[^a-z0-9_\-]/i","", getRequest('module', 'home')),
'view' => preg_replace("/[^a-z0-9_\-]/i","", getRequest('view', 'home')),
'view_id' => 0,
'query' => $parsed['query'],
];
}
// check match pattern in $this->path_config
foreach ($this->path_config as $_config => $_route ) {
if(preg_match("{^".$_config."$}", $parsed['path'], $match )) {
if(isset($_route['query']) && is_array($_route['query'])) {
$_route['query'] = array_merge($_route['query'], $parsed['query']);
}else{
$_route['query'] = $parsed['query'];
}
return array_merge([
'path' => $parsed['path'],
'match' => $match,
], $_route);
}
}
// auto parse path base on convention: admin/module/view/view_id
$ele = explode("/", $parsed['path']);
// else error
return [
'module' => $ele[2] ?? 'home',
'view' => isset($ele[3]) ? preg_replace("/[^a-z0-9_\-]/i","", $ele[3] ) : 'home',
'view_id' => isset($ele[4]) ? preg_replace("/[^a-z0-9_]/i","", $ele[4] ) : '',
'query' => $parsed['query'],
];
}
}

47
inc/Hura8/Url.php Normal file
View File

@@ -0,0 +1,47 @@
<?php
namespace Hura8;
class Url
{
public static function parse($url) {
$data = parse_url($url);
$default = [
'scheme' => '',
'host' => '',
'port' => '',
'user' => '',
'pass' => '',
'path' => '',
'query' => [],
'fragment' => '',
];
foreach ($data as $key => $value) {
if(isset($default[$key])) {
$default[$key] = ($key == 'query') ? self::parsedQuery($value) : $value;
}
}
return $default;
}
public static function parsedQuery($query = '') {
if(!$query) return [];
$result = [];
$parts = explode("&", $query);
foreach ($parts as $part) {
$el = explode("=", $part);
if(sizeof($el) != 2) continue;
$cleaned_key = preg_replace("/[^a-z0-9_\-\.]/i", '', $el[0]);
$cleaned_value = preg_replace("/[^a-z0-9_\.\-;&]/i", '', $el[1]);
$result[$cleaned_key] = $cleaned_value;
}
return $result;
}
}

View File

@@ -6,7 +6,7 @@ ini_set('display_errors', 1);
ini_set('display_startup_errors', 1); ini_set('display_startup_errors', 1);
error_reporting(E_ALL); error_reporting(E_ALL);
const TEMPLATE_ASSET = 'assets'; const TEMPLATE_ASSET = '/assets';
include __DIR__."/_shared.php"; include __DIR__."/_shared.php";

View File

@@ -0,0 +1 @@
template/order/bargain.html

View File

@@ -0,0 +1 @@
template/pcbuilder/home.html

View File

@@ -0,0 +1 @@
template/report/visitor.html

View File

@@ -75,7 +75,7 @@
<div class="sub-menu"> <div class="sub-menu">
{% for _item in _menuArray %} {% for _item in _menuArray %}
<a href="?module={{ _item.module }}&view={{ _item.view }}" {% if _item.view == global.view and <a href="{{_item.url }}" {% if _item.view == global.view and
_type == global.module %} class="current" {% endif %}> {{ _item.name }} </a> _type == global.module %} class="current" {% endif %}> {{ _item.name }} </a>
{% endfor %} {% endfor %}
</div> </div>
@@ -154,7 +154,7 @@
<div class="menu-list"> <div class="menu-list">
{% for _item in _menuArray %} {% for _item in _menuArray %}
<a href="?module={{ _item.module }}&view={{ _item.view }}" {% if _item.view == global.view and <a href="{{ _item.url }}" {% if _item.view == global.view and
_type == global.module %} class="current" {% endif %}> {{ _item.name }} </a> _type == global.module %} class="current" {% endif %}> {{ _item.name }} </a>
{% endfor %} {% endfor %}
</div> </div>
@@ -173,7 +173,7 @@
<div class="menu-list"> <div class="menu-list">
{% for _item in global.main_menu.system.menu %} {% for _item in global.main_menu.system.menu %}
<a href="/?module={{_item.module }}&view={{_item.view }}"> {{_item.name }} </a> <a href="{{_item.url }}"> {{_item.name }} </a>
{% endfor %} {% endfor %}
</div> </div>
</div> </div>