Beispiel #1
0
 public function onForm($id = 0)
 {
     Meta::title(Lang::get('meta.role add'));
     Meta::meta('description', Lang::get('meta.role add description'));
     $Model = \App\Models\Role::select(['id', 'name', 'description', 'active', 'authorize', 'created_at'])->where('id', $id)->first();
     return Theme::view('roles.form', ['data' => $Model]);
 }
Beispiel #2
0
 public function onForm($id = 0)
 {
     Meta::title(Lang::get('meta.companies add'));
     Meta::meta('description', Lang::get('meta.companies add description'));
     $Model = \App\Models\Company::select(['id', '_id', 'name', 'active'])->where('id', $id)->first();
     return Theme::view('companies.form', ['data' => $Model]);
 }
Beispiel #3
0
 public function route($slug, $page = FALSE)
 {
     //Get object for load
     $object = Model_Client::getSlug($slug);
     if ($object['type'] == 'product') {
         /* PRODUCTS */
         $response = self::loadProduct($object['object']);
         $response['slug'] = $slug;
         if (!empty($_GET['frame']) && $_GET['frame'] == TRUE) {
             $response['blade_standalone'] = TRUE;
             $response['frame'] = TRUE;
         }
         return Theme::view('products.product', $response);
     } elseif ($object['type'] == 'category') {
         /* CATEGORIES */
         // Get category and it's products
         $response = self::loadCategory($object['object'], $page);
         $response['slug'] = $slug;
         $response['system'] = $this->system;
         return Theme::view('categories.category', $response);
     } elseif ($object['type'] == 'page') {
         /* PAGES */
         $response = self::loadPage($object['object']);
         $response['system'] = $this->system;
         return Theme::view('homepage.page', $response);
     } else {
         /* 404 NOT FOUND */
         abort(404);
     }
 }
 /**
  * Bootstrap the application services.
  *
  * @return void
  */
 public function boot()
 {
     if (!$this->app->routesAreCached()) {
         require __DIR__ . '/../Http/routes.php';
     }
     $this->publishes([__DIR__ . '/../Database/migrations/' => database_path('migrations')], 'migrations');
     $this->publishes([__DIR__ . '/../Resources/lang/' => public_path('themes/' . Theme::getActive() . '/assets/resources/auth')], 'lang');
 }
 /**
  * Display a listing of colors
  * @return \Illuminate\Http\Response
  */
 public function getIndex()
 {
     $response['pageTitle'] = trans('system_settings.system_settings');
     $response['blade_custom_css'] = ['global/plugins/bootstrap-summernote/summernote'];
     $response['blade_custom_js'] = ['global/plugins/fuelux/js/spinner.min', 'global/plugins/bootstrap-summernote/summernote.min'];
     $response['system_settings'] = Model_System_Settings::getSetting(FALSE, FALSE, TRUE);
     return Theme::view('system_settings.system_settings', $response);
 }
 /**
  * Search for products.
  */
 public function index()
 {
     $search_term = \Input::get('q');
     //  if($search_term == ''){
     // return redirect()->back()->with('flash_error', 'No search input');
     //  }
     return Theme::view('frontend.search.search_result')->withResults($this->products->search($search_term));
 }
 /**
  * Display the specified resource.
  *
  * @param  int $id
  *
  * @return \Illuminate\Http\Response
  */
 public function getShow($id = FALSE)
 {
     $response['blade_standalone'] = TRUE;
     //Manufacturer load
     if ($id !== FALSE) {
         $response['manufacturer'] = Model_Manufacturers::getManufacturers($id);
     }
     return Theme::view('manufacturers.manufacturer_partial', $response);
 }
Beispiel #8
0
 /**
  * Display the specified resource.
  *
  * @param  int $id
  *
  * @return \Illuminate\Http\Response
  */
 public function getShow($id = FALSE)
 {
     $response['blade_standalone'] = TRUE;
     //Color load
     if ($id !== FALSE) {
         $response['color'] = Model_Colors::getColors($id);
     }
     return Theme::view('colors.color_partial', $response);
 }
 /**
  * Display the specified resource.
  *
  * @param  int $id
  *
  * @return \Illuminate\Http\Response
  */
 public function getShow($id = FALSE)
 {
     $response['blade_standalone'] = TRUE;
     //Material load
     if ($id !== FALSE) {
         $response['material'] = Model_Materials::getMaterials($id);
     }
     return Theme::view('materials.material_partial', $response);
 }
Beispiel #10
0
 /**
  * Display a listing of tags
  * @return \Illuminate\Http\Response
  */
 public function getIndex()
 {
     $response['pageTitle'] = trans('tags.tags');
     $response['tags'] = Model_Tags::getTags();
     $customCSS = ['global/plugins/datatables/plugins/bootstrap/dataTables.bootstrap'];
     $customJS = ['global/plugins/datatables/media/js/jquery.dataTables.min', 'global/plugins/datatables/plugins/bootstrap/dataTables.bootstrap', 'global/plugins/bootbox/bootbox.min'];
     $response['blade_custom_css'] = $customCSS;
     $response['blade_custom_js'] = $customJS;
     return Theme::view('tags.list', $response);
 }
 /**
  * Bootstrap the application services.
  *
  * @return void
  */
 public function boot()
 {
     $this->publishes([__DIR__ . '/../Database/migrations/' => database_path('migrations')], 'migrations');
     $this->publishes([__DIR__ . '/../Database/seeds/' => database_path('seeds')], 'seeds');
     /*$this->publishes([
           __DIR__.'/../Resources/lang/' => public_path('themes/'. Theme::getActive() . '/assets/resources/admin'),
       ], 'lang');*/
     $this->publishes([__DIR__ . '/../Resources/data/' => public_path('themes/' . Theme::getActive() . '/assets/data')], 'data');
     $this->publishes([__DIR__ . '/../Resources/Views/' => public_path('themes/') . Theme::getActive() . '/views/'], 'views');
 }
Beispiel #12
0
 public function login()
 {
     //If user is not logged in
     if ($this->user == FALSE) {
         $customCSS = ['admin/pages/css/login'];
         $customJS = ['global/plugins/jquery-validation/js/jquery.validate.min', 'admin/pages/scripts/login'];
         $data = ['blade_hide_header' => TRUE, 'blade_hide_sidebar' => TRUE, 'blade_hide_footer' => TRUE, 'blade_clean_render' => TRUE, 'blade_custom_css' => $customCSS, 'blade_custom_js' => $customJS, 'pageTitle' => trans('users.login_admin_title')];
         return Theme::view('auth.login', $data);
     } else {
         //If user is logged in - make redirect
         return Redirect::to('/admin')->send();
     }
 }
Beispiel #13
0
 public function getIndex()
 {
     $response['pageTitle'] = trans('modules.active_modules');
     $modules = Config::get('system_settings.plug-ins');
     if (!empty($modules) && is_array($modules)) {
         foreach ($modules as $name => $data) {
             if (!empty($data['title'])) {
                 $data['title'] = trans('modules.' . $data['title']);
                 $response['modules'][$name] = $data;
             }
         }
     }
     return Theme::view('modules.list_modules', $response);
 }
 /**
  * Display form
  * @return \Illuminate\Http\Response
  */
 public function getIndex()
 {
     $response['pageTitle'] = trans('upcoming_product.upcoming_product');
     $data = Model_UpcomingProduct::getUpcomingProduct();
     if (!empty($data[0]) && is_array($data[0])) {
         foreach ($data[0] as $key => $val) {
             $response[$key] = $val;
         }
     }
     $response['blade_custom_css'] = ['global/plugins/bootstrap-select/bootstrap-select.min', 'global/plugins/select2/select2', 'global/plugins/jquery-multi-select/css/multi-select', 'global/plugins/bootstrap-switch/css/bootstrap-switch.min', 'global/plugins/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min'];
     $response['blade_custom_js'] = ['global/plugins/bootstrap-switch/js/bootstrap-switch.min', 'admin/pages/scripts/components-dropdowns', 'global/plugins/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min', 'global/plugins/bootstrap-select/bootstrap-select.min', 'global/plugins/select2/select2.min', 'global/plugins/jquery-multi-select/js/jquery.multi-select'];
     $response['products'] = Model_Products::getProducts(FALSE, ['title'], FALSE, 0, 0, TRUE);
     return Theme::view('upcoming_product.upcoming_product', $response);
 }
Beispiel #15
0
 /**
  * BaseController constructor.
  *
  * @param Request $request
  */
 public function __construct(Request $request)
 {
     //Get current request
     $this->request = $request;
     //Set active theme
     Theme::setActive('administration');
     //Check user is logged in
     if (Sentinel::guest()) {
         if (!in_array($request->getPathInfo(), $this->routes)) {
             return Redirect::to('/admin/auth/login')->send();
         }
     } else {
         $this->user = Sentinel::getUser();
         if (self::isAdmin() == 1) {
             $this->globalViewData();
         } else {
             Redirect::to('/404')->send();
         }
     }
 }
 /**
  * BaseController constructor.
  *
  * @param Request $request
  */
 public function __construct(Request $request)
 {
     //Get current request
     $this->request = $request;
     //Set active theme
     Theme::setActive('dressplace');
     //Check user is logged in
     if (Sentinel::guest()) {
         if (!in_array($request->getPathInfo(), $this->routes)) {
             //				return Redirect::to('/admin/auth/login')->send();
         }
     } else {
         $this->user = Sentinel::getUser();
         self::getActiveUser();
     }
     //Init system
     $this->systemInit();
     //Load navigation
     $this->getNavPages();
     $this->getCategories();
 }
Beispiel #17
0
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int $id
  *
  * @return \Illuminate\Http\Response
  */
 public function getEdit($id)
 {
     $customCSS = ['global/plugins/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min', 'global/plugins/bootstrap-summernote/summernote', 'global/plugins/select2/select2', 'global/plugins/bootstrap-modal/css/bootstrap-modal-bs3patch', 'global/plugins/bootstrap-modal/css/bootstrap-modal'];
     $customJS = ['global/plugins/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min', 'global/plugins/bootbox/bootbox.min', 'global/plugins/bootstrap-summernote/summernote.min', 'global/plugins/bootstrap-select/bootstrap-select.min', 'global/plugins/select2/select2.min', 'global/plugins/bootstrap-modal/js/bootstrap-modalmanager', 'global/plugins/bootstrap-modal/js/bootstrap-modal'];
     $response['blade_custom_css'] = $customCSS;
     $response['blade_custom_js'] = $customJS;
     $response['method'] = 'unlocked';
     foreach ($this->states as $state) {
         $response['states'][$state] = trans('orders.' . $state);
     }
     $order = Model_Orders::getOrders($id, FALSE);
     if (!empty($order[0]) && is_array($order[0])) {
         $response['order'] = $order[0];
     }
     $response['pageTitle'] = trans('orders.edit_order');
     return Theme::view('orders.create_edit_order', $response);
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int $id
  *
  * @return \Illuminate\Http\Response
  */
 public function getEdit($id = FALSE)
 {
     $customCSS = ['global/plugins/bootstrap-wysihtml5/bootstrap-wysihtml5', 'global/plugins/bootstrap-summernote/summernote', 'global/plugins/bootstrap-select/bootstrap-select.min', 'global/plugins/select2/select2', 'global/plugins/jquery-multi-select/css/multi-select', 'global/plugins/bootstrap-switch/css/bootstrap-switch.min', 'global/plugins/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min', 'global/plugins/dropzone/css/dropzone'];
     $customJS = ['global/plugins/bootstrap-wysihtml5/wysihtml5-0.3.0', 'global/plugins/bootstrap-wysihtml5/bootstrap-wysihtml5', 'global/plugins/bootstrap-summernote/summernote.min', 'admin/pages/scripts/components-dropdowns', 'global/plugins/bootstrap-select/bootstrap-select.min', 'global/plugins/bootstrap-select/bootstrap-select.min', 'global/plugins/select2/select2.min', 'global/plugins/jquery-multi-select/js/jquery.multi-select', 'global/plugins/fuelux/js/spinner.min', 'global/plugins/bootstrap-switch/js/bootstrap-switch.min', 'global/plugins/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min', 'global/plugins/dropzone/dropzone', 'admin/pages/scripts/form-dropzone', 'global/plugins/jquery-slugify/speakingurl', 'global/plugins/jquery-slugify/slugify.min'];
     $response['blade_custom_css'] = $customCSS;
     $response['blade_custom_js'] = $customJS;
     $response['categories'] = Model_Categories::getCategory(FALSE, ['title']);
     $response['related_categories'] = Model_Products::getProductToCategory($id);
     $response['products'] = Model_Products::getProducts(FALSE, ['title']);
     $response['groups'] = Model_Sizes::getSizes(TRUE);
     $response['colors'] = Model_Products::getColors();
     $response['related_colors'] = Model_Products::getColor($id);
     $response['dimensions_tables'] = Model_Tables::getTables();
     if (!empty($response['dimensions_tables']) && is_array($response['dimensions_tables'])) {
         foreach ($response['dimensions_tables'] as $key => $table) {
             if (isset($table['image'])) {
                 unset($response['dimensions_tables'][$key]['image']);
             }
         }
     }
     //Get product and it's data
     $product = Model_Products::getProducts($id);
     //Prepare product for response
     if (!empty($product[$id])) {
         $response['product'] = $product[$id];
         if (!empty($product[$id]['sizes'])) {
             $response['sizes'] = json_decode($product[$id]['sizes'], TRUE);
         }
         if (!empty($response['product']['discount_start']) && $response['product']['discount_start'] == '0000-00-00 00:00:00') {
             $response['product']['discount_start'] = '';
         }
         if (!empty($response['product']['discount_end']) && $response['product']['discount_end'] == '0000-00-00 00:00:00') {
             $response['product']['discount_end'] = '';
         }
     }
     //SEO Tab
     if (($slug = Model_Products::getURL($id)) != FALSE) {
         $response['seo']['friendly_url'] = $slug;
     }
     if (!empty($response['product']['page_title'])) {
         $response['seo']['page_title'] = $response['product']['page_title'];
         unset($response['product']['page_title']);
     }
     if (!empty($response['product']['meta_description'])) {
         $response['seo']['meta_description'] = $response['product']['meta_description'];
         unset($response['product']['meta_description']);
     }
     if (!empty($response['product']['meta_keywords'])) {
         $response['seo']['meta_keywords'] = $response['product']['meta_keywords'];
         unset($response['product']['meta_keywords']);
     }
     //Images Tab
     if (!empty($response['product']['images'])) {
         $response['product']['images'] = json_decode($response['product']['images'], TRUE);
         if (is_array($response['product']['images'])) {
             $response['thumbs_path'] = Config::get('system_settings.product_public_path') . $id . '/' . Config::get('images.sm_icon_size') . '/';
             uasort($response['product']['images'], function ($a, $b) {
                 if ($a == $b) {
                     return 0;
                 }
                 return $a < $b ? -1 : 1;
             });
         }
     }
     //Tags
     $tags = Model_Products::getTags($id);
     if (!empty($tags) && is_array($tags)) {
         foreach ($tags as $key => $tag) {
             $response['product']['tags'][] = $tag['title'];
         }
         $response['product']['tags'] = implode(',', $response['product']['tags']);
     }
     //Manufacturer
     $response['manufacturers'] = Model_Products::getManufacturers();
     $response['product']['manufacturer'] = Model_Products::getManufacturer($id);
     //Material
     $response['materials'] = Model_Products::getMaterials();
     $response['product']['material'] = Model_Products::getMaterial($id);
     if (!empty($response['product']['material'][0])) {
         $response['product']['material'] = $response['product']['material'][0];
     }
     //Related products
     if (!empty($response['product']['related_products'])) {
         $response['related_products'] = json_decode($response['product']['related_products'], TRUE);
         unset($response['product']['related_products']);
     }
     $response['pageTitle'] = trans('products.edit');
     return Theme::view('products.edit_product', $response);
 }
Beispiel #19
0
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int $id
  *
  * @return \Illuminate\Http\Response
  */
 public function getEdit($id)
 {
     $response['pageTitle'] = trans('sliders.edit');
     $response['blade_custom_css'] = ['global/plugins/jquery-minicolors/jquery.minicolors', 'global/plugins/dropzone/css/dropzone', 'global/plugins/select2/select2', 'global/plugins/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min'];
     $response['blade_custom_js'] = ['global/plugins/jquery-minicolors/jquery.minicolors.min', 'global/plugins/dropzone/dropzone', 'admin/pages/scripts/form-dropzone', 'global/plugins/bootstrap-select/bootstrap-select.min', 'global/plugins/select2/select2.min', 'admin/pages/scripts/components-dropdowns', 'global/plugins/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min'];
     $response['images_dir'] = Config::get('system_settings.sliders_upload_path');
     $response['public_images_dir'] = Config::get('system_settings.sliders_public_path');
     $response['categories'] = Model_Categories::getCategory(FALSE, ['title']);
     $response['pages'] = Model_Pages::getPage(FALSE, ['id', 'title']);
     $response['slider'] = Model_Sliders::getSliders($id, FALSE, ['id', 'title', 'dir', 'active_from', 'active_to', 'position', 'type', 'target']);
     if (!empty($response['slider']) && !empty($response['slider'][0])) {
         $response['slider'] = $response['slider'][0];
     }
     if (!empty($response['slider']['active_from']) && $response['slider']['active_from'] == '0000-00-00 00:00:00') {
         $response['slider']['active_from'] = '';
     }
     if (!empty($response['slider']['active_to']) && $response['slider']['active_to'] == '0000-00-00 00:00:00') {
         $response['slider']['active_to'] = '';
     }
     return Theme::view('sliders.create_edit_slider', $response);
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int $id
  *
  * @return \Illuminate\Http\Response
  */
 public function getEdit($id)
 {
     $response['pageTitle'] = trans('carousels.edit');
     $response['blade_custom_css'] = ['global/plugins/select2/select2', 'global/plugins/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min'];
     $response['blade_custom_js'] = ['global/plugins/bootstrap-select/bootstrap-select.min', 'global/plugins/select2/select2.min', 'admin/pages/scripts/components-dropdowns', 'global/plugins/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min'];
     $response['categories'] = Model_Categories::getCategory(FALSE, ['title']);
     $response['pages'] = Model_Pages::getPage(FALSE, ['id', 'title']);
     $response['products'] = Model_Products::getProducts(FALSE, ['title']);
     $response['carousel'] = Model_Carousels::getCarousels($id, FALSE);
     if (!empty($response['carousel']) && !empty($response['carousel'][0])) {
         $response['carousel'] = $response['carousel'][0];
     }
     if (!empty($response['carousel']['products']) && $response['carousel']['products'] == 'newest' || $response['carousel']['products'] == 'discounted') {
         $response['carousel']['slider_type'] = $response['carousel']['products'];
     } else {
         $response['carousel']['slider_type'] = 'others';
     }
     if (!empty($response['carousel']['products']) && $response['carousel']['slider_type'] == 'others') {
         $response['carousel']['products'] = is_array(json_decode(',', $response['carousel']['products'], TRUE)) ? json_decode(',', $response['carousel']['products'], TRUE) : explode(',', $response['carousel']['products']);
     }
     if (!empty($response['carousel']['active_from']) && $response['carousel']['active_from'] == '0000-00-00 00:00:00') {
         $response['carousel']['active_from'] = '';
     }
     if (!empty($response['carousel']['active_to']) && $response['carousel']['active_to'] == '0000-00-00 00:00:00') {
         $response['carousel']['active_to'] = '';
     }
     return Theme::view('carousels.create_edit_carousel', $response);
 }
Beispiel #21
0
 public function drop()
 {
     $response['blade_standalone'] = TRUE;
     $response['ajax'] = TRUE;
     $response['cart'] = session()->get('cart');
     $response['total'] = session()->get('total');
     $response['delivery_type'] = session()->get('delivery_type');
     $response['cart_items'] = count($response['cart']);
     if (!empty($response['cart'])) {
         $products_to_cart = [];
         //Get product id's
         if (!empty($response['cart']) && is_array($response['cart'])) {
             foreach ($response['cart'] as $key => $item) {
                 $products_to_cart[] = $item['product_id'];
             }
         }
         // Get products data
         $response['products'] = Model_Main::getProducts($products_to_cart, ['title', 'images']);
         //Loop trough products data
         if (!empty($response['products']) && is_array($response['products'])) {
             foreach ($response['products'] as $id => $product) {
                 if (!empty($product['discount_price'])) {
                     //Calculate is discount active
                     $now = time();
                     if ($product['discount_start'] == '0000.00.00 00:00:00' || strtotime($product['discount_start']) <= $now) {
                         $allow_start = TRUE;
                     } else {
                         $allow_start = FALSE;
                     }
                     if ($product['discount_end'] == '0000.00.00 00:00:00' || strtotime($product['discount_end']) <= $now) {
                         $allow_end = TRUE;
                     } else {
                         $allow_end = FALSE;
                     }
                     if ($allow_start === TRUE && $allow_end === TRUE) {
                         $response['products'][$id]['active_discount'] = TRUE;
                     }
                     if (!empty($response['products'][$id]['active_discount'])) {
                         $response['products'][$id]['discount'] = intval((floatval($response['products'][$id]['price']) - floatval($response['products'][$id]['discount_price'])) / floatval($response['products'][$id]['price']) * 100);
                     }
                 }
             }
         }
         // Send products to response
         $response['products'] = self::prepareProductsForResponse($response['products']);
         $response['thumbs_path'] = Config::get('system_settings.product_public_path');
         $response['icon_size'] = Config::get('images.sm_icon_size');
         return Theme::view('partials.cart_items_drop', $response);
     } else {
         return response()->json(['empty' => true]);
     }
 }
Beispiel #22
0
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int $id
  *
  * @return \Illuminate\Http\Response
  */
 public function getEdit($id)
 {
     $response['pageTitle'] = trans('pages.create_page');
     $response['blade_custom_css'] = ['global/plugins/bootstrap-wysihtml5/bootstrap-wysihtml5', 'global/plugins/bootstrap-summernote/summernote'];
     $response['blade_custom_js'] = ['global/plugins/bootstrap-wysihtml5/wysihtml5-0.3.0', 'global/plugins/bootstrap-wysihtml5/bootstrap-wysihtml5', 'global/plugins/bootstrap-summernote/summernote.min', 'global/plugins/bootstrap-switch/js/bootstrap-switch.min', 'global/plugins/jquery-slugify/speakingurl', 'global/plugins/jquery-slugify/slugify.min', 'global/plugins/fuelux/js/spinner.min'];
     $response['page'] = Model_Pages::getPage($id);
     if (!empty($response['page'][0])) {
         $response['page'] = $response['page'][0];
     }
     //SEO Tab
     if (($slug = Model_Pages::getURL($id)) != FALSE) {
         $response['seo']['friendly_url'] = $slug;
     }
     if (!empty($response['page']['page_title'])) {
         $response['seo']['page_title'] = $response['page']['page_title'];
         unset($response['page']['page_title']);
     }
     if (!empty($response['page']['meta_description'])) {
         $response['seo']['meta_description'] = $response['page']['meta_description'];
         unset($response['page']['meta_description']);
     }
     if (!empty($response['page']['meta_keywords'])) {
         $response['seo']['meta_keywords'] = $response['page']['meta_keywords'];
         unset($response['page']['meta_keywords']);
     }
     return Theme::view('pages.create_edit_page', $response);
 }
Beispiel #23
0
 public function checkout()
 {
     $customCSS = [];
     $customJS = [];
     $response = ['blade_custom_css' => $customCSS, 'blade_custom_js' => $customJS, 'cart_preview' => TRUE];
     foreach ($this->states as $state) {
         $response['states'][$state] = trans('orders.' . $state);
     }
     $response['cart'] = session()->get('cart');
     $response['total'] = session()->get('total');
     $response['delivery_type'] = session()->get('delivery_type');
     $products_to_cart = [];
     //Get product id's
     if (!empty($response['cart']) && is_array($response['cart'])) {
         foreach ($response['cart'] as $key => $item) {
             $products_to_cart[] = $item['product_id'];
         }
     }
     // Get products data
     $response['products'] = Model_Main::getProducts($products_to_cart, ['title', 'images', 'sizes']);
     //Loop trough products data
     if (!empty($response['products']) && is_array($response['products'])) {
         foreach ($response['products'] as $id => $product) {
             if (!empty($product['discount_price'])) {
                 //Calculate is discount active
                 $now = time();
                 if ($product['discount_start'] == '0000.00.00 00:00:00' || strtotime($product['discount_start']) <= $now) {
                     $allow_start = TRUE;
                 } else {
                     $allow_start = FALSE;
                 }
                 if ($product['discount_end'] == '0000.00.00 00:00:00' || strtotime($product['discount_end']) <= $now) {
                     $allow_end = TRUE;
                 } else {
                     $allow_end = FALSE;
                 }
                 if ($allow_start === TRUE && $allow_end === TRUE) {
                     $response['products'][$id]['active_discount'] = TRUE;
                 }
                 if (!empty($response['products'][$id]['active_discount'])) {
                     $response['products'][$id]['discount'] = intval((floatval($response['products'][$id]['price']) - floatval($response['products'][$id]['discount_price'])) / floatval($response['products'][$id]['price']) * 100);
                 }
             }
             if (!empty($response['products'][$id]['sizes']) && is_array($response['products'][$id]['sizes'] = json_decode($response['products'][$id]['sizes'], TRUE))) {
                 foreach ($response['products'][$id]['sizes'] as $key => $size) {
                     if (empty($size['name']) || empty($size['quantity'])) {
                         if (isset($response['products'][$id]['sizes'][$key])) {
                             unset($response['products'][$id]['sizes'][$key]);
                         }
                     }
                     //Set quantity to cart items
                     if (!empty($response['cart'][$id . '-' . $key]) && is_array($response['cart'][$id . '-' . $key])) {
                         if (!empty($size['quantity']) && is_numeric($size['quantity'])) {
                             $response['cart'][$id . '-' . $key]['available_quantity'] = intval($size['quantity']);
                         } else {
                             $response['cart'][$id . '-' . $key]['available_quantity'] = 0;
                         }
                     }
                 }
             }
         }
     }
     // Send products to response
     $response['products'] = self::prepareProductsForResponse($response['products']);
     $response['thumbs_path'] = Config::get('system_settings.product_public_path');
     $response['icon_size'] = Config::get('images.sm_icon_size');
     $response['sliders_path'] = Config::get('system_settings.sliders_public_path');
     return Theme::view('checkout.checkout', $response);
 }
Beispiel #24
0
 /**
  * Function OnInformationForm
  * to View Form User
  * @Request @Name,@Code etc
  *
  * @return json
  */
 public function onInformationForm($id = 0)
 {
     Meta::title(Lang::get('meta.file information add'));
     Meta::meta('description', Lang::get('meta.file information add description'));
     $Model = \App\Models\Information::select(['id', 'mime', 'name', 'description', 'active', 'created_by'])->where('id', $id)->first();
     return Theme::view('files.information-form', ['data' => $Model]);
 }
Beispiel #25
0
 public function notFound()
 {
     $customCSS = [];
     $customJS = [];
     $response = ['blade_custom_css' => $customCSS, 'blade_custom_js' => $customJS];
     return Theme::view('homepage.404', $response);
 }
Beispiel #26
0
 public function index()
 {
     $customCSS = [];
     $customJS = ['global/plugins/flot/jquery.flot', 'global/plugins/flot/jquery.flot.resize', 'global/plugins/flot/jquery.flot.categories', 'admin/pages/scripts/ecommerce-index'];
     $response = ['blade_custom_css' => $customCSS, 'blade_custom_js' => $customJS];
     $response['total_sales'] = intval(Model_Orders::getTotalSales());
     $response['count_sales'] = intval(Model_Orders::getCountSales());
     $response['avg_sales'] = intval(Model_Orders::getAvgSales());
     if (!empty($last_orders = Model_Orders::getOrders(FALSE, TRUE, FALSE, 0, 20))) {
         foreach ($last_orders as $key => $order) {
             $response['last_orders'][$key]['id'] = $order['id'];
             $response['last_orders'][$key]['first_name'] = $order['name'];
             $response['last_orders'][$key]['last_name'] = $order['last_name'];
             $response['last_orders'][$key]['created_at'] = date('d.m.Y H:i', strtotime($order['created_at']));
             $response['last_orders'][$key]['status'] = trans('dashboard.' . $order['status']);
             switch ($order['status']) {
                 case 'pending':
                     $response['last_orders'][$key]['status_color'] = 'bg-yellow-lemon';
                     break;
                 case 'confirmed':
                     $response['last_orders'][$key]['status_color'] = 'bg-blue-madison';
                     break;
                 case 'completed':
                     $response['last_orders'][$key]['status_color'] = 'bg-green-jungle';
                     break;
                 case 'canceled':
                     $response['last_orders'][$key]['status_color'] = 'bg-red-flamingo';
                     break;
             }
         }
     }
     if (!empty($last_users = Model_Users::getUsers(FALSE, FALSE, 0, 20))) {
         if (!empty($users_data = Model_Users::getUsersData(['first_name', 'last_name'], 0, 20))) {
             //Merge users and users data
             foreach ($last_users as $key => $user) {
                 $user_id = $user['id'];
                 foreach ($user as $user_info_key => $user_info) {
                     //Do not pass sensitive data to view
                     if ($user_info_key != 'password' && $user_info_key != 'remember_token' && $user_info_key != 'updated_at' && $user_info_key != 'last_login') {
                         $response['last_users'][$user_id][$user_info_key] = $user_info;
                     }
                 }
             }
             foreach ($users_data as $key => $data) {
                 $response['last_users'][$data['user_id']][$data['object']] = $data['value'];
             }
         }
     }
     if (!empty($response['last_orders'])) {
         $response['last_orders_count'] = count($response['last_orders']);
     }
     if (!empty($response['last_users'])) {
         $response['last_users_count'] = count($response['last_users']);
     }
     $date_seven_days_ago = date('Y-m-d 00:00:00', strtotime('-6 days'));
     $last_seven_days_orders = Model_Orders::getOrders(FALSE, TRUE, FALSE, 0, 0, $date_seven_days_ago, date('Y-m-d H:i:s', time()));
     $count = 1;
     $response['graph'][date('d.m', time())] = 0.0;
     $response['graph2'][date('d.m', time())] = 0;
     while ($count < 7) {
         $date = date('d.m', strtotime('-' . $count . ' days'));
         $response['graph'][$date] = 0.0;
         $response['graph2'][$date] = 0;
         $count++;
     }
     if (!empty($last_seven_days_orders) && is_array($last_seven_days_orders)) {
         foreach ($last_seven_days_orders as $key => $order) {
             $date = date('d.m', strtotime($order['created_at']));
             $amount = Model_Orders::getTotalSales($order['id']);
             $response['graph'][$date] = $response['graph'][$date] + $amount;
             $response['graph2'][$date] = $response['graph2'][$date] + 1;
         }
     }
     //Sort by date
     ksort($response['graph']);
     ksort($response['graph2']);
     //		dd($response['graph']);
     return Theme::view('dashboard.index', $response);
 }
Beispiel #27
0
 /**
  * Index Layout
  *
  * @return @Theme View
  */
 public function onPageUserInformation()
 {
     Meta::title(Lang::get('meta.user information'));
     Meta::meta('description', Lang::get('meta.user information description'));
     $query = \App\Models\User::leftJoin('roles', 'roles.id', '=', 'users.role_id')->leftJoin('companies', 'companies.id', '=', 'users.company_id')->select('users.*')->where('roles.authorize', '=', '0');
     if (Auth::user()->authorize() != 1) {
         $query = $query->where('users.company_id', '=', Auth::user()->company_id);
     }
     $query = $query->addSelect('roles.name as role_name')->addSelect('companies._id as company_id')->addSelect('companies.name as company_name');
     $grid = new Grid((new GridConfig())->setDataProvider(new EloquentDataProvider($query))->setName('grid')->setPageSize(15)->setColumns([(new FieldConfig())->setName('email')->setLabel(Lang::get('label.email'))->setSortable(true), (new FieldConfig())->setName('first_name')->setLabel(Lang::get('label.first name'))->setSortable(true), (new FieldConfig())->setName('last_name')->setLabel(Lang::get('label.last name'))->setSortable(true), (new FieldConfig())->setName('information')->setLabel(Lang::get('label.leave entitlement'))->setSortable(true), (new FieldConfig())->setName('active')->setLabel(Lang::get('label.active'))->setSortable(false)->setCallback(function ($val) {
         return '<a href="javascript:active(\'' . $val . '\')"><center><i class="fa ' . ($val ? 'fa-check' : 'fa-close') . '"></i></center></a>';
     })]));
     $grid2 = new Grid((new GridConfig())->setDataProvider(new EloquentDataProvider(\App\Models\Information::leftJoin('users', 'users.id', '=', 'informations.created_by')->leftJoin('information_companies', 'information_companies.information_id', '=', 'informations.id')->select('informations.*')->addSelect("users.first_name as upload_name")->where("information_companies.company_id", Auth::user()->company_id)->addSelect("informations.created_at as upload_at")))->setName('grid')->setPageSize(15)->setColumns([(new FieldConfig())->setName('name')->setLabel(Lang::get('label.name'))->setSortable(false)->setCallback(function ($val) {
         return '<a href="' . url('file/information/download/' . $val) . '">' . $val . '</a>';
     }), (new FieldConfig())->setName('description')->setLabel(Lang::get('label.description'))->setSortable(true), (new FieldConfig())->setName('upload_name')->setLabel(Lang::get('label.upload by'))->setSortable(true), (new FieldConfig())->setName('upload_at')->setLabel(Lang::get('label.upload at'))->setSortable(true)]));
     return Theme::view('users.pages.user-information', compact('grid', 'grid2', 'text'));
 }
Beispiel #28
0
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int $id
  *
  * @return \Illuminate\Http\Response
  */
 public function getEdit($id = FALSE)
 {
     $response['related_categories'] = Model_Products::getProductToCategory($id);
     $response['blade_standalone'] = TRUE;
     //Sizes load
     $response['size'] = Model_Sizes::getSizes(FALSE, $id);
     return Theme::view('sizes.show_size_partial', $response);
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int $id
  *
  * @return \Illuminate\Http\Response
  */
 public function getEdit($id = FALSE)
 {
     $customCSS = ['global/plugins/bootstrap-wysihtml5/bootstrap-wysihtml5', 'global/plugins/bootstrap-summernote/summernote', 'global/plugins/bootstrap-select/bootstrap-select.min', 'global/plugins/select2/select2', 'global/plugins/jquery-multi-select/css/multi-select', 'global/plugins/bootstrap-switch/css/bootstrap-switch.min'];
     $customJS = ['global/plugins/bootstrap-wysihtml5/wysihtml5-0.3.0', 'global/plugins/bootstrap-wysihtml5/bootstrap-wysihtml5', 'global/plugins/bootstrap-summernote/summernote.min', 'admin/pages/scripts/components-dropdowns', 'global/plugins/bootstrap-select/bootstrap-select.min', 'global/plugins/select2/select2.min', 'global/plugins/jquery-multi-select/js/jquery.multi-select', 'global/plugins/fuelux/js/spinner.min', 'global/plugins/bootstrap-switch/js/bootstrap-switch.min', 'global/plugins/jquery-slugify/speakingurl', 'global/plugins/jquery-slugify/slugify.min'];
     $response['blade_custom_css'] = $customCSS;
     $response['blade_custom_js'] = $customJS;
     $response['categories'] = Model_Categories::getCategory(FALSE, ['title'], 0);
     $response['size_groups'] = Model_Categories::getSizes();
     $response['pageTitle'] = trans('categories.edit_category');
     $category_data = Model_Categories::getCategory($id);
     $response['category'] = $category_data[$id];
     unset($response['categories'][$id]);
     //SEO Tab
     if (($slug = Model_Categories::getURL($id)) != FALSE) {
         $response['seo']['friendly_url'] = $slug;
     }
     if (!empty($response['category']['page_title'])) {
         $response['seo']['page_title'] = $response['category']['page_title'];
         unset($response['category']['page_title']);
     }
     if (!empty($response['category']['meta_description'])) {
         $response['seo']['meta_description'] = $response['category']['meta_description'];
         unset($response['category']['meta_description']);
     }
     if (!empty($response['category']['meta_keywords'])) {
         $response['seo']['meta_keywords'] = $response['category']['meta_keywords'];
         unset($response['product']['meta_keywords']);
     }
     return Theme::view('categories.edit_category', $response);
 }
Beispiel #30
0
 /**
  * Used to display partials or do ajax requests
  *
  * @param $date_start
  * @param $date_end
  * @param bool $group_by
  *
  * @return \Illuminate\Http\Response
  * @internal param int $id
  */
 public function postStore()
 {
     if (empty($group_by = Input::get('group_by'))) {
         echo 'select_group_by';
         exit;
     }
     if (!empty($type = Input::get('type')) && !empty($date_start = Input::get('date_start')) && !empty($date_end = Input::get('date_end')) && strtotime($date_start_unix = Input::get('date_start')) !== FALSE && strtotime($date_end_unix = Input::get('date_end')) !== FALSE) {
         $response = [];
         if ($group_by == 'days') {
             $days = $this->createDateRangeArray($date_start, $date_end);
             if (!empty($days) && is_array($days)) {
                 foreach ($days as $key => $data) {
                     $date_range[$key]['date_start'] = $data . ' 00:00:00';
                     $date_range[$key]['date_end'] = $data . ' 23:59:59';
                 }
             }
         } elseif ($group_by == 'weeks') {
             $weeks = $this->createWeeksRangeArray($date_start, $date_end);
             if (!empty($weeks) && is_array($weeks)) {
                 foreach ($weeks as $key => $data) {
                     $date_range[$key]['date_start'] = $data['date_start'] . ' 00:00:00';
                     $date_range[$key]['date_end'] = $data['date_end'] . ' 23:59:59';
                 }
             }
         } elseif ($group_by == 'months') {
             $months = $this->getMonthsInRange($date_start, $date_end);
             if (!empty($months) && is_array($months)) {
                 foreach ($months as $key => $data) {
                     $date_range[$key]['date_start'] = $data['year'] . '-' . $data['month'] . '-01';
                     $date_range[$key]['date_end'] = $data['year'] . '-' . $data['month'] . '-' . cal_days_in_month(CAL_GREGORIAN, $data['month'], $data['year']);
                 }
             }
         }
         if (!empty($date_range) && is_array($date_range)) {
             if ($type == 'orders') {
                 $response['type'] = 'orders';
                 foreach ($date_range as $date) {
                     $results = ['date_start' => date('Y-m-d', strtotime($date['date_start'])), 'date_end' => date('Y-m-d', strtotime($date['date_end'])), 'orders' => 0, 'products' => 0, 'total' => 0, 'profit' => 0, 'original_total' => 0];
                     if ($data = Model_Reports::getOrders($date['date_start'], $date['date_end'])) {
                         //Loop trough results
                         if (!empty($data) && is_array($data)) {
                             foreach ($data as $key => $item) {
                                 $results['orders'] = $results['orders'] + 1;
                                 $results['products'] = $results['products'] + $item['products'];
                                 $results['total'] = $results['total'] + $item['total'];
                                 $results['original_total'] = $results['original_total'] + floatval($item['original_total']);
                             }
                         }
                     }
                     $response['results'][] = $results;
                 }
                 foreach ($response['results'] as $key => $object) {
                     //Calculate profits
                     if (!empty($object['original_total'])) {
                         $response['results'][$key]['profit'] = $object['total'] - $object['original_total'];
                         unset($response['results'][$key]['original_total']);
                     }
                 }
                 return Theme::view('reports.reports_table_partial', $response);
             } elseif ($type == 'users') {
                 $response['type'] = 'users';
                 foreach ($date_range as $date) {
                     $results = ['date_start' => date('Y-m-d', strtotime($date['date_start'])), 'date_end' => date('Y-m-d', strtotime($date['date_end'])), 'users' => Model_Reports::getUsers($date['date_start'], $date['date_end'])];
                     $response['results'][] = $results;
                 }
                 return Theme::view('reports.reports_table_partial', $response);
             }
         }
     } else {
         echo 'invalid_dates';
     }
 }