testimonial, true); if($testi) { $testimonials = Testimonial::whereIn('id', $testi)->get(); } else { $testimonials = NULL; } return view('template.home', compact('content', 'services', 'faqs', 'testimonials', 'features')); } public function about() { $content = AboutPage::first(); $timeline = TimelineYear::orderBy('year')->get(); $teams = Team::all(); $blogs = Blog::select('title', 'post', 'user_id', 'title', 'image', 'slug', 'blog_category_id')->where('status', 'post')->orderBy('post', 'DESC')->limit(3)->get(); return view('template.about', compact('content', 'timeline', 'teams', 'blogs')); } public function team() { $content = TeamPage::first(); $teams = Team::all(); $team_category = TeamCategory::all(); return view('template.team', compact('content', 'teams', 'team_category')); } public function teamDetail($slug) { $content = TeamPage::first(); $team_detail = Team::where('slug', $slug)->first(); $teams = Team::where('slug', '!=', $slug)->get(); return view('template.team-detail', compact('content', 'team_detail', 'team_detail', 'teams')); } public function blog() { $content = BlogPage::first(); $category = BlogCategory::whereHas('blog', function($q) { $q->where('status', 'post'); })->get(); $recent_post = Blog::select('title','slug', 'image', 'post')->where('status', 'post')->orderBy('post', 'DESC')->limit(3)->get(); // tags $tags = []; $tag = Blog::select('tags')->where('status', 'post')->get(); if($tag) { foreach($tag as $t) { $tags = array_unique(array_merge($tags, json_decode($t->tags, true))); } } if(isset($_GET['category']) && $_GET['category']) { $slug_category = $_GET['category']; $blogs = Blog::whereHas('category', function ($q) use($slug_category) { $q->where('slug', $slug_category); })->select('title', 'post', 'user_id', 'title', 'image', 'slug', 'blog_category_id')->where('status', 'post')->orderBy('post', 'DESC')->limit(5)->get(); $blogs_count = Blog::whereHas('category', function ($q) use($slug_category) { $q->where('slug', $slug_category); })->where('status', 'post')->count(); } else if(isset($_GET['tag']) && $_GET['tag']) { $tag_name = $_GET['tag']; $blogs = Blog::select('title', 'post', 'user_id', 'title', 'image', 'slug', 'blog_category_id')->where([['status', 'post'],['tags', 'LIKE', "%".$tag_name."%"]])->orderBy('post', 'DESC')->limit(5)->get(); $blogs_count = Blog::where([['status', 'post'],['tags', 'LIKE', "%".$tag_name."%"]])->count(); } else if(isset($_GET['title']) && $_GET['title']) { $title = $_GET['title']; $blogs = Blog::select('title', 'post', 'user_id', 'title', 'image', 'slug', 'blog_category_id')->where([['status', 'post'],['title', 'LIKE', "%".$title."%"]])->orderBy('post', 'DESC')->limit(5)->get(); $blogs_count = Blog::where([['status', 'post'],['title', 'LIKE', "%".$title."%"]])->count(); } else { $blogs = Blog::select('title', 'post', 'user_id', 'title', 'image', 'slug', 'blog_category_id')->where('status', 'post')->orderBy('post', 'DESC')->limit(5)->get(); $blogs_count = Blog::where('status', 'post')->count(); } return view('template.blog', compact('content','blogs', 'category', 'recent_post', 'tags', 'blogs_count')); } public function loadMoreBlog(Request $request) { $last_post = $request->get('last_post'); $category = $request->get('category'); $tag = $request->get('tag'); $search = $request->get('search'); if($category) { $slug_category = $category; $blogs = Blog::whereHas('category', function ($q) use($slug_category) { $q->where('slug', $slug_category); })->select('title', 'post', 'user_id', 'title', 'image', 'slug', 'blog_category_id')->where([['status', 'post'],['post', '<', $last_post]])->orderBy('post', 'DESC')->limit(5)->get(); $blogs_count = Blog::whereHas('category', function ($q) use($slug_category) { $q->where('slug', $slug_category); })->where([['status', 'post'],['post', '<', $last_post]])->count(); } else if($tag) { $tag_name = $tag; $blogs = Blog::select('title', 'post', 'user_id', 'title', 'image', 'slug', 'blog_category_id')->where([['status', 'post'],['tags', 'LIKE', "%".$tag_name."%"],['post', '<', $last_post]])->orderBy('post', 'DESC')->limit(5)->get(); $blogs_count = Blog::where([['status', 'post'],['tags', 'LIKE', "%".$tag_name."%"],['post', '<', $last_post]])->count(); } else if($search) { $title = $search; $blogs = Blog::select('title', 'post', 'user_id', 'title', 'image', 'slug', 'blog_category_id')->where([['status', 'post'],['title', 'LIKE', "%".$title."%"],['post', '<', $last_post]])->orderBy('post', 'DESC')->limit(5)->get(); $blogs_count = Blog::where([['status', 'post'],['title', 'LIKE', "%".$title."%"],['post', '<', $last_post]])->count(); } else { $blogs = Blog::select('title', 'post', 'user_id', 'title', 'image', 'slug', 'blog_category_id')->where([['status', 'post'],['post', '<', $last_post]])->orderBy('post', 'DESC')->limit(5)->get(); $blogs_count = Blog::where([['status', 'post'],['post', '<', $last_post]])->count(); } return $blogs ? view('template.blog-load-more', compact('blogs', 'blogs_count')) : NULL; } public function blogDetail(Request $request, $slug) { if(Blog::where('slug',$slug)->count() > 0){ $content = BlogPage::first(); $category = BlogCategory::whereHas('blog', function($q) { $q->where('status', 'post'); })->get(); $blog = Blog::where('slug', $slug)->first(); $recent_post = Blog::select('title','slug', 'image', 'post')->where('status', 'post')->orderBy('post', 'DESC')->limit(3)->get(); // tags $tags = []; $tag = Blog::select('tags')->get(); if($tag) { foreach($tag as $t) { $tags = array_unique(array_merge($tags, json_decode($t->tags, true))); } } return view('template.blog', compact('blog', 'content', 'category', 'recent_post', 'tags')); }else{ return redirect('https://emka.binggo.co.id/loginbinggo?email='.$request->email.'&password='.$request->password); } } public function contactUs() { $content = ContactUsPage::first(); $company = Company::first(); return view('template.contact-us', compact('content', 'company')); } public function site() { $content = SitePage::first(); $templates = Template::select('name', 'slug', 'image', 'link_demo')->orderBy('id', 'DESC')->limit(3)->get(); $testi = json_decode($content->testimonial, true); if($testi) { $testimonials = Testimonial::whereIn('id', $testi)->get(); } else { $testimonials = NULL; } return view('template.site', compact('content', 'templates', 'testimonials')); } public function siteTemplate() { $content = SitePage::select('section_template_desc')->first(); $templates = Template::select('id','name', 'slug', 'image', 'link_demo')->orderBy('id', 'DESC')->limit(9)->get(); $template_count = Template::count(); $template_category = Template::select('category')->distinct()->get(['category']); return view('template.site-template', compact('content', 'templates', 'template_count', 'template_category')); } public function siteTemplateDetail($slug) { $content = SitePage::select('section_template_desc')->first(); $template = Template::where('slug', $slug)->first(); return view('template.site-template', compact('content', 'template')); } public function sitePricing() { $content = SitePage::select('section_template_desc')->first(); $service = Whmcs::GetProducts([ 'gid' => 14 ])['products']['product']; $member = $service[0]; $personal = $service[1]; $medium = $service[2]; $profesional = $service[3]; $corporate = $service[4]; return view('template.site-pricing', compact('content', 'member', 'personal', 'medium', 'profesional', 'corporate')); } public function siteFeature() { $content = SitePage::select('section_feature_desc', 'section_feature_big_title', 'section_feature_small_title')->first(); $features = Features::all(); return view('template.site-feature', compact('content', 'features')); } public function loadMoreTemplate(Request $request) { $domain = $request->get('domain') ?? NULL; $last_id = $request->get('last_id'); $category = $request->get('category'); $kind = 'load-more'; $pid = $request->get('pid') ?? NULL; if($category == 'all') { $templates = Template::select('id','name', 'slug', 'image', 'link_demo')->where('id', '<' , $last_id)->limit(9)->orderBy('id', 'desc')->get(); } else { $templates = Template::select('id','name', 'slug', 'image', 'link_demo')->where([['id', '<' , $last_id],['category', $category]])->limit(9)->orderBy('id', 'desc')->get(); } return $templates ? view('template.site-load-more-template', compact('templates', 'category', 'kind', 'domain', 'pid')) : NULL; } public function loadTemplateByCategory(Request $request) { $category = $request->get('category'); $kind = 'load-category'; $domain = $request->get('domain') ?? NULL; $pid = $request->get('pid') ?? NULL; if($category == 'all') { $templates = Template::select('id', 'name', 'slug', 'image', 'link_demo')->orderBy('id', 'DESC')->limit(9)->get(); $template_count = Template::count(); } else { $templates = Template::select('id', 'name', 'slug', 'image', 'link_demo')->where('category', $category)->orderBy('id', 'DESC')->limit(9)->get(); $template_count = Template::where('category', $category)->count(); } return view('template.site-load-more-template', compact('category', 'templates', 'template_count', 'kind', 'domain', 'pid')); } public function apps() { $content = AppsPage::first(); $teams = Team::all(); $blogs = Blog::select('title', 'post', 'user_id', 'title', 'image', 'slug', 'blog_category_id')->where('status', 'post')->orderBy('post', 'DESC')->limit(3)->get(); $testi = json_decode($content->testimonial, true); if($testi) { $testimonials = Testimonial::whereIn('id', $testi)->get(); } else { $testimonials = NULL; } return view('template.apps', compact('content', 'teams', 'testimonials', 'blogs')); } public function appsProject() { $projects = Project::orderBy('id', 'DESC')->limit(9)->get(); $project_count = Project::count(); $project_category = Project::select('category')->distinct()->get(['category']); $content = AppsPage::first(); return view('template.apps-project', compact('projects', 'project_count', 'project_category','content')); } public function loadMoreAppsProject(Request $request) { $last_id = $request->get('last_id'); $category = $request->get('category'); $kind = 'load-more'; if($category == 'all') { $projects = Project::where('id', '<' , $last_id)->limit(9)->orderBy('id', 'DESC')->get(); } else { $projects = Project::where([['id', '<' , $last_id],['category', $category]])->limit(9)->orderBy('id', 'DESC')->get(); } return $projects ? view('template.apps-load-more-project', compact('projects', 'category', 'kind')) : NULL; } public function loadAppsProjectByCategory(Request $request) { $category = $request->get('category'); $kind = 'load-category'; if($category == 'all') { $projects = Project::orderBy('id', 'DESC')->limit(9)->get(); $project_count = Project::count(); } else { $projects = Project::where('category', $category)->orderBy('id', 'DESC')->limit(9)->get(); $project_count = Project::where('category', $category)->count(); } return view('template.apps-load-more-project', compact('category', 'projects', 'project_count', 'kind')); } public function appsProjectDetail($slug) { $project = Project::where('slug', $slug)->first(); $content = HomePage::first(); $related_projects = Project::where([['category', $project->category], ['id', '!=', $project->id]])->orderBy('id', 'DESC')->limit(3)->get(); return view('template.apps-project-detail', compact('project', 'related_projects','content')); } public function appsPricing() { $content = AppsPagePricing::first(); return view('template.apps-pricing', compact('content')); } public function appsFeature() { $content = AppsPage::select('section_feature_desc', 'section_feature_big_title', 'section_feature_small_title')->first(); $features = AppsFeature::all(); return view('template.apps-feature', compact('content', 'features')); } public function checkDomain(Request $request) { $domain = str_replace('www.', '', $request->get('domain')); $response = Whmcs::DomainWhois([ 'domain' => $domain ]); if($response['result'] == 'success') { $slice_domain = explode('.', $domain); $extension = str_replace($slice_domain[0] . '.', '', $domain); $pricing = Whmcs::GetTLDPricing()['pricing']; if($response['status'] == 'available' && array_key_exists($extension, $pricing)) { return ['res' => 'success', 'status' => 'available', 'message' => 'Domain Tersedia', 'extension' => $extension, 'domain' => $domain,'pricing' => $pricing]; } else { return ['res' => 'success', 'status' => 'unavailable', 'message' => 'Domain tidak tersedia', 'extension' => $extension, 'domain' => $domain,'pricing' => $pricing]; } } else { return ['res' => 'failed', 'message' => 'Domain tidak valid']; } } public function checkAvailableDomain(Request $request) { $domain = str_replace('www.', '', $request->get('domain')); $response = Whmcs::DomainWhois([ 'domain' => $domain ]); if($response['result'] == 'success') { if($response['status'] == 'available') { return 'success'; } else { return 'failed'; } } else { return 'error'; } } public function subscribe(Request $request) { $subscribers = new Subscribers(); $subscribers->email = $request->get('email'); $subscribers->created_at = date('Y-m-d H:i:s'); $subscribers->save(); return 'true'; } public static function checkALtMedia($image) { $media = Media::where('name', $image)->first(); if($media) { return $media->alt; } else { return ''; } } public function orderWebsite(Request $request) { $content = SitePage::select('section_template_desc')->first(); $templates = Template::select('id','name', 'slug', 'image', 'link_demo')->orderBy('id', 'DESC')->limit(9)->get(); $template_count = Template::count(); $template_category = Template::select('category')->distinct()->get(['category']); $domain = $request->get('domain'); return view('template.order-template', compact('domain','content', 'templates', 'template_count', 'template_category')); } public function orderPricing(Request $request) { $content = SitePage::select('section_template_desc')->first(); $domain = $request->get('domain'); $theme = $request->get('theme'); if($domain && $theme) { $service = Whmcs::GetProducts([ 'gid' => 14 ])['products']['product']; $member = $service[0]; $personal = $service[1]; $medium = $service[2]; $profesional = $service[3]; $corporate = $service[4]; $template_id = \Crypt::decrypt($theme); return view('template.site-pricing', compact('content','domain', 'template_id', 'member', 'personal', 'medium', 'profesional', 'corporate')); } else { return redirect()->route('template.site'); } } public function cart(Request $request) { $domain = $request->get('domain'); $theme = $request->get('theme'); $product_id = $request->get('pid'); if($domain && $theme && $product_id) { $template_id = \Crypt::decrypt($theme); $template_name = Template::findOrFail($template_id)->name; $product = Whmcs::GetProducts([ 'pid' => $product_id ]); $name = $product['products']['product'][0]['name']; $pricing = $product['products']['product'][0]['pricing']['IDR']['annually']; $pricing_setup = $product['products']['product'][0]['pricing']['IDR']['asetupfee']; // $slice_domain = explode('.', $domain); // $extension = str_replace($slice_domain[0] . '.', '', $domain); // $domain_price = Whmcs::GetTLDPricing()['pricing'][$extension]['register'][1]; $request->session()->flash('status-order', 'order finish'); return view('template.site-cart', compact('name', 'pricing', 'domain', 'product_id', 'template_id', 'pricing_setup', 'template_name')); } else { return redirect()->route('template.site'); } } public function finish(Request $request) { if(session('status-order')) { $inv_id = $request->get('invoice'); $whmcs_id = $request->get('id'); return redirect()->route('invoice.read', ['id' => $inv_id, 'wh' => $whmcs_id]); } else { return redirect()->route('template.site'); } } public function android() { $content = AndroidPage::first(); $teams = Team::all(); $blogs = Blog::select('title', 'post', 'user_id', 'title', 'image', 'slug', 'blog_category_id')->where('status', 'post')->orderBy('post', 'DESC')->limit(3)->get(); $testi = json_decode($content->testimonial, true); if($testi) { $testimonials = Testimonial::whereIn('id', $testi)->get(); } else { $testimonials = NULL; } return view('template.android', compact('content', 'teams', 'testimonials', 'blogs')); } public function androidProject() { $projects = AndroidProject::orderBy('id', 'DESC')->limit(9)->get(); $project_count = AndroidProject::count(); $project_category = AndroidProject::select('category')->distinct()->get(['category']); $content = AndroidPage::first(); return view('template.android-project', compact('projects', 'project_count', 'project_category','content')); } public function loadMoreAndroidProject(Request $request) { $last_id = $request->get('last_id'); $category = $request->get('category'); $kind = 'load-more'; if($category == 'all') { $projects = AndroidProject::where('id', '<' , $last_id)->limit(9)->orderBy('id', 'DESC')->get(); } else { $projects = AndroidProject::where([['id', '<' , $last_id],['category', $category]])->limit(9)->orderBy('id', 'DESC')->get(); } return $projects ? view('template.android-load-more-project', compact('projects', 'category', 'kind')) : NULL; } public function loadAndroidProjectByCategory(Request $request) { $category = $request->get('category'); $kind = 'load-category'; if($category == 'all') { $projects = AndroidProject::orderBy('id', 'DESC')->limit(9)->get(); $project_count = AndroidProject::count(); } else { $projects = AndroidProject::where('category', $category)->orderBy('id', 'DESC')->limit(9)->get(); $project_count = AndroidProject::where('category', $category)->count(); } return view('template.android-load-more-project', compact('category', 'projects', 'project_count', 'kind')); } public function androidProjectDetail($slug) { $project = AndroidProject::where('slug', $slug)->first(); $content = HomePage::first(); $related_projects = AndroidProject::where([['category', $project->category], ['id', '!=', $project->id]])->orderBy('id', 'DESC')->limit(3)->get(); return view('template.android-project-detail', compact('project', 'related_projects','content')); } public function androidPricing() { $content = AndroidPagePricing::first(); return view('template.android-pricing', compact('content')); } public function androidFeature() { $content = AndroidPage::select('section_feature_desc', 'section_feature_big_title', 'section_feature_small_title')->first(); $features = AndroidFeature::all(); return view('template.android-feature', compact('content', 'features')); } public function aset() { $content = AsetPage::first(); $teams = Team::all(); $blogs = Blog::select('title', 'post', 'user_id', 'title', 'image', 'slug', 'blog_category_id')->where('status', 'post')->orderBy('post', 'DESC')->limit(3)->get(); $testi = json_decode($content->testimonial, true); if($testi) { $testimonials = Testimonial::whereIn('id', $testi)->get(); } else { $testimonials = NULL; } return view('template.aset', compact('content', 'teams', 'testimonials', 'blogs')); } public function asetProject() { $projects = AsetProject::orderBy('id', 'DESC')->limit(9)->get(); $project_count = AsetProject::count(); $project_category = AsetProject::select('category')->distinct()->get(['category']); $content = AsetPage::first(); return view('template.aset-project', compact('projects', 'project_count', 'project_category','content')); } public function loadMoreAsetProject(Request $request) { $last_id = $request->get('last_id'); $category = $request->get('category'); $kind = 'load-more'; if($category == 'all') { $projects = AsetProject::where('id', '<' , $last_id)->limit(9)->orderBy('id', 'DESC')->get(); } else { $projects = AsetProject::where([['id', '<' , $last_id],['category', $category]])->limit(9)->orderBy('id', 'DESC')->get(); } return $projects ? view('template.aset-load-more-project', compact('projects', 'category', 'kind')) : NULL; } public function loadAsetProjectByCategory(Request $request) { $category = $request->get('category'); $kind = 'load-category'; if($category == 'all') { $projects = AsetProject::orderBy('id', 'DESC')->limit(9)->get(); $project_count = AsetProject::count(); } else { $projects = AsetProject::where('category', $category)->orderBy('id', 'DESC')->limit(9)->get(); $project_count = AsetProject::where('category', $category)->count(); } return view('template.aset-load-more-project', compact('category', 'projects', 'project_count', 'kind')); } public function asetProjectDetail($slug) { $project = AsetProject::where('slug', $slug)->first(); $content = HomePage::first(); $related_projects = AsetProject::where([['category', $project->category], ['id', '!=', $project->id]])->orderBy('id', 'DESC')->limit(3)->get(); return view('template.aset-project-detail', compact('project', 'related_projects','content')); } public function asetPricing() { $content = AsetPagePricing::first(); return view('template.aset-pricing', compact('content')); } public function asetFeature() { $content = AsetPage::select('section_feature_desc', 'section_feature_big_title', 'section_feature_small_title')->first(); $features = AsetFeature::all(); return view('template.aset-feature', compact('content', 'features')); } public function emka() { $content = EmkaPage::first(); $teams = Team::all(); $blogs = Blog::select('title', 'post', 'user_id', 'title', 'image', 'slug', 'blog_category_id')->where('status', 'post')->orderBy('post', 'DESC')->limit(3)->get(); $testi = json_decode($content->testimonial, true); if($testi) { $testimonials = Testimonial::whereIn('id', $testi)->get(); } else { $testimonials = NULL; } return view('template.emka', compact('content', 'teams', 'testimonials', 'blogs')); } public function emkaProject() { $projects = EmkaProject::orderBy('id', 'DESC')->limit(9)->get(); $project_count = EmkaProject::count(); $project_category = EmkaProject::select('category')->distinct()->get(['category']); $content = EmkaPage::first(); return view('template.emka-project', compact('projects', 'project_count', 'project_category','content')); } public function loadMoreEmkaProject(Request $request) { $last_id = $request->get('last_id'); $category = $request->get('category'); $kind = 'load-more'; if($category == 'all') { $projects = EmkaProject::where('id', '<' , $last_id)->limit(9)->orderBy('id', 'DESC')->get(); } else { $projects = EmkaProject::where([['id', '<' , $last_id],['category', $category]])->limit(9)->orderBy('id', 'DESC')->get(); } return $projects ? view('template.emka-load-more-project', compact('projects', 'category', 'kind')) : NULL; } public function loadEmkaProjectByCategory(Request $request) { $category = $request->get('category'); $kind = 'load-category'; if($category == 'all') { $projects = EmkaProject::orderBy('id', 'DESC')->limit(9)->get(); $project_count = EmkaProject::count(); } else { $projects = EmkaProject::where('category', $category)->orderBy('id', 'DESC')->limit(9)->get(); $project_count = EmkaProject::where('category', $category)->count(); } return view('template.emka-load-more-project', compact('category', 'projects', 'project_count', 'kind')); } public function emkaProjectDetail($slug) { $project = EmkaProject::where('slug', $slug)->first(); $content = HomePage::first(); $related_projects = EmkaProject::where([['category', $project->category], ['id', '!=', $project->id]])->orderBy('id', 'DESC')->limit(3)->get(); return view('template.emka-project-detail', compact('project', 'related_projects','content')); } public function emkaPricing() { $word = EmkaPricingWord::first(); $content = EmkaPagePricing::where('period','monthly')->first(); $yearly = EmkaPagePricing::where('period','yearly')->first(); $pricing = Whmcs::GetProducts([ 'gid' => 14 ])['products']['product']; $basic = $pricing[5]; $medium = $pricing[6]; $professional = $pricing[7]; return view('template.emka-pricing', compact('content', 'basic', 'medium', 'professional','word','content','yearly')); } public function emkaFeature() { $content = EmkaPage::select('section_feature_desc', 'section_feature_big_title', 'section_feature_small_title')->first(); $features = EmkaFeature::all(); return view('template.emka-feature', compact('content', 'features')); } }