first
This commit is contained in:
96
app/Helpers/Helper.php
Normal file
96
app/Helpers/Helper.php
Normal file
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
use Carbon\Carbon;
|
||||
use Modules\CCMS\Models\Setting;
|
||||
|
||||
if (!function_exists('setting')) {
|
||||
function setting($key = null)
|
||||
{
|
||||
$setting = Cache::has('setting') ? Cache::get('setting') : Cache::rememberForever('setting', function () {
|
||||
return Setting::get()->mapWithKeys(function (Setting $setting) {
|
||||
return [$setting->key => $setting->value];
|
||||
})->toArray();
|
||||
});
|
||||
|
||||
return array_key_exists($key, $setting) ? $setting[$key] : null;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('uploadImage')) {
|
||||
function uploadImage($file, $path = 'uploads')
|
||||
{
|
||||
$fileName = uniqid() . '.' . $file->getClientOriginalExtension();
|
||||
$filePath = Storage::disk('public')->putFileAs($path, $file, $fileName);
|
||||
return $filePath;
|
||||
}
|
||||
}
|
||||
|
||||
function getPageTemplateOptions()
|
||||
{
|
||||
$client = config('app.client');
|
||||
$pageTemplateOptions = collect(File::files(resource_path("views/client/{$client}/pages")))
|
||||
->mapWithKeys(function ($file) {
|
||||
$template = Str::replace('.blade.php', '', $file->getFilename());
|
||||
return [
|
||||
$template => $template,
|
||||
];
|
||||
});
|
||||
|
||||
return $pageTemplateOptions->all();
|
||||
}
|
||||
|
||||
if (!function_exists('getFormatted')) {
|
||||
function getFormatted($dateTime = null, $date = null, $time = null, $format = null)
|
||||
{
|
||||
$data = null;
|
||||
|
||||
switch (true) {
|
||||
case !is_null($dateTime):
|
||||
$data = $dateTime;
|
||||
$format ??= 'd M, Y h:i A';
|
||||
break;
|
||||
|
||||
case !is_null($date) && !is_null($time):
|
||||
|
||||
$data = "{$date} {$time}";
|
||||
$format ??= 'd M, Y h:i A';
|
||||
break;
|
||||
|
||||
case !is_null($date):
|
||||
|
||||
$data = $date;
|
||||
$format ??= 'd M, Y';
|
||||
break;
|
||||
|
||||
case !is_null($time):
|
||||
$data = $time;
|
||||
$format ??= 'h:i A';
|
||||
break;
|
||||
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
try {
|
||||
$formatted = Carbon::parse($data)->format($format);
|
||||
return $formatted;
|
||||
} catch (\Exception $e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
function getThemeColor()
|
||||
{
|
||||
static $themeColor;
|
||||
|
||||
if ($themeColor === null) {
|
||||
$themeColor = setting('color') ?? '#F3F3F9';
|
||||
}
|
||||
|
||||
return $themeColor;
|
||||
}
|
||||
|
||||
function isEmptyArray($array = [])
|
||||
{
|
||||
return is_array($array) && array_filter($array) === [];
|
||||
}
|
||||
}
|
||||
235
app/Helpers/QueryHelper.php
Normal file
235
app/Helpers/QueryHelper.php
Normal file
@@ -0,0 +1,235 @@
|
||||
|
||||
<?php
|
||||
|
||||
use Modules\CCMS\Models\Blog;
|
||||
use Modules\CCMS\Models\Category;
|
||||
use Modules\CCMS\Models\Counter;
|
||||
use Modules\CCMS\Models\Country;
|
||||
use Modules\CCMS\Models\Faq;
|
||||
use Modules\CCMS\Models\FaqCategory;
|
||||
use Modules\CCMS\Models\GalleryCategory;
|
||||
use Modules\CCMS\Models\Institution;
|
||||
use Modules\CCMS\Models\Page;
|
||||
use Modules\CCMS\Models\Service;
|
||||
use Modules\CCMS\Models\Slider;
|
||||
use Modules\CCMS\Models\Team;
|
||||
use Modules\CCMS\Models\Test;
|
||||
use Modules\CCMS\Models\Testimonial;
|
||||
use Modules\Menu\Models\Menu;
|
||||
function getSliders(?int $limit = null, ?string $order = 'desc')
|
||||
{
|
||||
return Slider::query()
|
||||
->where('status', 1)
|
||||
->orderBy('order', $order)
|
||||
->when($limit, function ($query) use ($limit) {
|
||||
$query->limit($limit);
|
||||
})
|
||||
->get();
|
||||
}
|
||||
|
||||
function getBlogCategories(?int $limit = null, ?string $order = 'desc')
|
||||
{
|
||||
return Category::query()
|
||||
->where('status', 1)
|
||||
->orderBy('order', $order)
|
||||
->when($limit, function ($query) use ($limit) {
|
||||
$query->limit($limit);
|
||||
})
|
||||
->get();
|
||||
}
|
||||
|
||||
function getFAQs(?int $limit = null, ?string $order = 'desc')
|
||||
{
|
||||
return Faq::query()
|
||||
->where('status', 1)
|
||||
->orderBy('order', $order)
|
||||
->when($limit, function ($query) use ($limit) {
|
||||
$query->limit($limit);
|
||||
})
|
||||
->get();
|
||||
}
|
||||
|
||||
function getTeams(?int $limit = null, ?string $order = 'desc')
|
||||
{
|
||||
return Team::query()
|
||||
->where('status', 1)
|
||||
->orderBy('order', $order)
|
||||
->when($limit, function ($query) use ($limit) {
|
||||
$query->limit($limit);
|
||||
})
|
||||
->get();
|
||||
}
|
||||
|
||||
function getTestimonials(?int $limit = null, ?string $order = 'desc')
|
||||
{
|
||||
return Testimonial::query()
|
||||
->where('status', 1)
|
||||
->orderBy('order', $order)
|
||||
->when($limit, function ($query) use ($limit) {
|
||||
$query->limit($limit);
|
||||
})
|
||||
->get();
|
||||
}
|
||||
|
||||
function getBlogs(?int $limit = null, ?string $order = 'desc', bool $paginate = false)
|
||||
{
|
||||
$query = Blog::query()
|
||||
->where('status', 1)
|
||||
->orderBy('order', $order);
|
||||
|
||||
if ($limit && $paginate) {
|
||||
return $query->paginate($limit);
|
||||
} elseif ($limit && !$paginate) {
|
||||
return $query->limit($limit)->get();
|
||||
} else {
|
||||
return $query->get();
|
||||
}
|
||||
}
|
||||
|
||||
function getBlogBySlug(?string $slug)
|
||||
{
|
||||
return Blog::query()
|
||||
->where('status', 1)
|
||||
->where('slug', $slug)
|
||||
->first();
|
||||
}
|
||||
|
||||
function getCounters($limit = null, $order = 'desc')
|
||||
{
|
||||
return Counter::query()
|
||||
->where('status', 1)
|
||||
->orderBy('order', $order)
|
||||
->when($limit, function ($query) use ($limit) {
|
||||
$query->limit($limit);
|
||||
})
|
||||
->get();
|
||||
}
|
||||
|
||||
function getServices($limit = null, $order = 'desc')
|
||||
{
|
||||
return Service::query()
|
||||
->where('status', 1)
|
||||
->where('parent_id', null)
|
||||
->orderBy('order', $order)
|
||||
->when($limit, function ($query) use ($limit) {
|
||||
$query->limit($limit);
|
||||
})
|
||||
->get();
|
||||
}
|
||||
|
||||
function getInstitutions($limit = null, $order = 'desc')
|
||||
{
|
||||
return Institution::query()
|
||||
->where('status', 1)
|
||||
->orderBy('order', $order)
|
||||
->when($limit, function ($query) use ($limit) {
|
||||
$query->limit($limit);
|
||||
})
|
||||
->get();
|
||||
}
|
||||
|
||||
function getClasses($limit = null, $order = 'desc')
|
||||
{
|
||||
return Test::query()
|
||||
->where('status', 1)
|
||||
->where('parent_id', null)
|
||||
->orderBy('order', $order)
|
||||
->when($limit, function ($query) use ($limit) {
|
||||
$query->limit($limit);
|
||||
})
|
||||
->get();
|
||||
}
|
||||
|
||||
function getDestinations($limit = null, $order = 'desc')
|
||||
{
|
||||
return Country::query()
|
||||
->where('status', 1)
|
||||
->orderBy('order', $order)
|
||||
->when($limit, function ($query) use ($limit) {
|
||||
$query->limit($limit);
|
||||
})
|
||||
->get();
|
||||
}
|
||||
|
||||
function getGalleriesByCategory(?int $limit = null, ?string $order = 'desc', ?string $category = null)
|
||||
{
|
||||
return GalleryCategory::query()
|
||||
->where('status', 1)
|
||||
->where('slug', $category)
|
||||
->with('galleries', function ($query) use ($limit, $order) {
|
||||
$query->where('status', 1)
|
||||
->orderBy('order', $order)
|
||||
->when($limit, function ($query) use ($limit) {
|
||||
$query->limit($limit);
|
||||
});
|
||||
})
|
||||
->first();
|
||||
}
|
||||
|
||||
function getInstitutionsByCountry(?int $limit = null, ?string $order = 'desc', ?string $country = null)
|
||||
{
|
||||
return Country::query()
|
||||
->where('status', 1)
|
||||
->where('slug', $country)
|
||||
->with('institutions', function ($query) use ($limit, $order) {
|
||||
$query->where('status', 1)
|
||||
->orderBy('order', $order)
|
||||
->when($limit, function ($query) use ($limit) {
|
||||
$query->limit($limit);
|
||||
});
|
||||
})
|
||||
->first();
|
||||
}
|
||||
|
||||
function getFAQsByCategory(?int $limit = null, ?string $order = 'desc', ?string $category = null)
|
||||
{
|
||||
return FaqCategory::query()
|
||||
->where('status', 1)
|
||||
->where('slug', $category)
|
||||
->with('faqs', function ($query) use ($limit, $order) {
|
||||
$query->where('status', 1)
|
||||
->orderBy('order', $order)
|
||||
->when($limit, function ($query) use ($limit) {
|
||||
$query->limit($limit);
|
||||
});
|
||||
})
|
||||
->first();
|
||||
}
|
||||
|
||||
function getPageWithChildrenBySlug(?string $parent, ?string $slug, ?int $limit = null, ?string $order = 'desc')
|
||||
{
|
||||
$page = Page::where([
|
||||
'status' => 1,
|
||||
'type' => 'page',
|
||||
'slug' => $slug,
|
||||
])
|
||||
->when($parent, function ($query) use ($parent) {
|
||||
$query->where('parent', $parent);
|
||||
})
|
||||
->with(['children' => function ($query) use ($limit, $order) {
|
||||
$query->orderBy('order', $order)
|
||||
->when($limit, function ($query) use ($limit) {
|
||||
$query->limit($limit);
|
||||
});
|
||||
}])
|
||||
->first();
|
||||
|
||||
return $page;
|
||||
}
|
||||
|
||||
function getAllHeaderMenusWithChildren()
|
||||
{
|
||||
$headerMenuItems = Menu::where(['menu_location_id' => 1, 'parent_id' => null, 'status' => 1])->with('children', function ($query) {
|
||||
$query->where('status', 1)
|
||||
->orderBy('order', 'asc');
|
||||
})->orderBy('order', 'asc')->get();
|
||||
return $headerMenuItems;
|
||||
}
|
||||
|
||||
function getAllFooterMenusWithChildren()
|
||||
{
|
||||
$footerMenuItems = Menu::where(['menu_location_id' => 2, 'parent_id' => null, 'status' => 1])->with('children', function ($query) {
|
||||
$query->orderBy('order', 'asc');
|
||||
})->orderBy('order', 'asc')->get();
|
||||
return $footerMenuItems;
|
||||
}
|
||||
Reference in New Issue
Block a user