529 lines
19 KiB
PHP
529 lines
19 KiB
PHP
|
<?php
|
||
|
|
||
|
use Illuminate\Support\Facades\DB;
|
||
|
use Illuminate\Support\Facades\Schema;
|
||
|
|
||
|
class CCMS
|
||
|
{
|
||
|
|
||
|
public function __construct()
|
||
|
{
|
||
|
$this->initDB();
|
||
|
}
|
||
|
|
||
|
|
||
|
//CONSULTANCY RELATED TEMP FUNCTIONS
|
||
|
public static function getFAQs()
|
||
|
{
|
||
|
$Rows = DB::table("faqs")
|
||
|
->where("status", 1)
|
||
|
->orderBy("display_order")->get();
|
||
|
return $Rows;
|
||
|
}
|
||
|
public static function getServices()
|
||
|
{
|
||
|
$Rows = DB::table("services")
|
||
|
->where("status", 1)
|
||
|
->orderBy("display_order")->get();
|
||
|
return $Rows;
|
||
|
}
|
||
|
public static function getSliders()
|
||
|
{
|
||
|
$Rows = DB::table("sliders")
|
||
|
->where("status", 1)
|
||
|
->orderBy("display_order")->get();
|
||
|
return $Rows;
|
||
|
}
|
||
|
public static function getAbout()
|
||
|
{
|
||
|
$Rows = DB::table("articles")
|
||
|
->where("status", 1)
|
||
|
->where("parent_article", 0)
|
||
|
->orderBy("display_order")->get();
|
||
|
return $Rows;
|
||
|
}
|
||
|
public static function getArticlesByParentAlias($alias)
|
||
|
{
|
||
|
$Rows = DB::table("articles")
|
||
|
->where("status", 1)
|
||
|
->where("parent_article", function ($query) use ($alias) {
|
||
|
$query->select('article_id')
|
||
|
->from('articles')
|
||
|
->where('alias', $alias);
|
||
|
})
|
||
|
->orderBy("display_order")
|
||
|
->get();
|
||
|
return $Rows;
|
||
|
}
|
||
|
|
||
|
public static function getContacts($index = -1)
|
||
|
{
|
||
|
$Rows = DB::table("contacts")->where("status", 1)->orderBy("display_order")->get();
|
||
|
if ($index != -1) return $Rows[$index];
|
||
|
return $Rows;
|
||
|
}
|
||
|
public static function getContactByBranch($branches_id)
|
||
|
{
|
||
|
$Rows = DB::table("contacts")->where("status", 1)->where("branches_id", $branches_id)->orderBy("display_order")->first();
|
||
|
return $Rows;
|
||
|
}
|
||
|
public static function getQuickLinks()
|
||
|
{
|
||
|
$Rows = DB::table("quicklinks")->where("status", 1)->orderBy("display_order")->get();
|
||
|
return $Rows;
|
||
|
}
|
||
|
public static function getBranches()
|
||
|
{
|
||
|
$Rows = DB::table("branches")->where("status", 1)->orderBy("display_order")->get();
|
||
|
return $Rows;
|
||
|
}
|
||
|
public static function getBranchByID($branches_id)
|
||
|
{
|
||
|
$Row = DB::table("branches")->where("status", 1)->where("branch_id", $branches_id)->orderBy("display_order")->first();
|
||
|
return $Row;
|
||
|
}
|
||
|
public static function getStudyAbroad($limit = null)
|
||
|
{
|
||
|
$Rows = DB::table("countries")
|
||
|
->where("status", 1)
|
||
|
->orderBy("display_order");
|
||
|
if ($limit !== null) {
|
||
|
$Rows->limit($limit);
|
||
|
}
|
||
|
$Rows = $Rows->get();
|
||
|
return $Rows;
|
||
|
}
|
||
|
public static function getTestPreparations($limit = null)
|
||
|
{
|
||
|
$query = DB::table("preparationclasses")
|
||
|
->where("status", 1)
|
||
|
->where("parent_preparationclass", 0)
|
||
|
->orderBy("display_order");
|
||
|
if ($limit !== null) {
|
||
|
$query->limit($limit);
|
||
|
}
|
||
|
$rows = $query->get();
|
||
|
return $rows;
|
||
|
}
|
||
|
|
||
|
public static function getResources()
|
||
|
{
|
||
|
$Rows = DB::table("resources")
|
||
|
->where("status", 1)
|
||
|
->where("parent_resource", 0)
|
||
|
->orderBy("display_order")->get();
|
||
|
return $Rows;
|
||
|
}
|
||
|
public static function getEvents()
|
||
|
{
|
||
|
$Rows = DB::table("events")
|
||
|
->where("status", 1)
|
||
|
->orderBy("display_order")->get();
|
||
|
return $Rows;
|
||
|
}
|
||
|
|
||
|
public static function getNews()
|
||
|
{
|
||
|
$Rows = DB::table("news")
|
||
|
->where("status", 1)
|
||
|
->orderBy("display_order")->get();
|
||
|
return $Rows;
|
||
|
}
|
||
|
public static function getTestimonials()
|
||
|
{
|
||
|
$Rows = DB::table("testimonials")->where("status", 1)->orderBy("display_order")->get();
|
||
|
return $Rows;
|
||
|
}
|
||
|
public static function getTestimonialsByBranchAlias($alias)
|
||
|
{
|
||
|
$Branch = DB::table("branches")->where("alias", $alias)->first();
|
||
|
if ($Branch) {
|
||
|
$Rows = DB::table("testimonials")
|
||
|
->where("status", 1)
|
||
|
->where("branches_id", $Branch->branch_id)
|
||
|
->orderBy("display_order")->get();
|
||
|
return $Rows;
|
||
|
} else {
|
||
|
die("Branch not found");
|
||
|
}
|
||
|
}
|
||
|
public static function getVisas()
|
||
|
{
|
||
|
$Rows = DB::table("visas")->where("status", 1)->orderBy("display_order")->get();
|
||
|
return $Rows;
|
||
|
}
|
||
|
|
||
|
public static function getVisasByBranchAlias($alias)
|
||
|
{
|
||
|
$Branch = DB::table("branches")->where("alias", $alias)->first();
|
||
|
if ($Branch) {
|
||
|
$Rows = DB::table("visas")
|
||
|
->where("status", 1)
|
||
|
->where("branches_id", $Branch->branch_id)
|
||
|
->orderBy("display_order")->get();
|
||
|
return $Rows;
|
||
|
} else {
|
||
|
die("Branch not found");
|
||
|
}
|
||
|
}
|
||
|
public static function getBlogs()
|
||
|
{
|
||
|
$Rows = DB::table("blogs")->where("status", 1)->orderBy("display_order")->get();
|
||
|
return $Rows;
|
||
|
}
|
||
|
|
||
|
public static function getGalleries()
|
||
|
{
|
||
|
$Rows = DB::table('galleries')
|
||
|
->where('status', 1)->get();
|
||
|
foreach ($Rows as $R) {
|
||
|
$R->Photos = DB::table("photos")->where("galleries_id", $R->gallery_id)->where("status", 1)->orderBy("display_order")->get();
|
||
|
}
|
||
|
return $Rows;
|
||
|
}
|
||
|
public static function getCustomFields($start = 0, $limit = null)
|
||
|
{
|
||
|
$query = DB::table("customfields")
|
||
|
->where("status", 1)
|
||
|
->orderBy("display_order");
|
||
|
|
||
|
if ($limit !== null) {
|
||
|
$query->offset($start)->limit($limit);
|
||
|
}
|
||
|
|
||
|
$rows = $query->get();
|
||
|
|
||
|
return $rows;
|
||
|
}
|
||
|
|
||
|
|
||
|
public static function getTopReasonsForStudyDestination($alias, $limit = null)
|
||
|
{
|
||
|
$reasons_alias = 'top-reasons-to-' . $alias;
|
||
|
$Rows = DB::table("countryarticles")
|
||
|
->where("status", 1)
|
||
|
->where("countries_id", function ($query) use ($alias) {
|
||
|
$query->select("country_id")
|
||
|
->from("countries")
|
||
|
->where("alias", $alias);
|
||
|
})
|
||
|
->where("parent_article", function ($query) use ($reasons_alias) {
|
||
|
$query->select("article_id")
|
||
|
->from("countryarticles")
|
||
|
->where("alias", $reasons_alias);
|
||
|
})
|
||
|
->orderBy("display_order")
|
||
|
->when($limit, function ($query) use ($limit) {
|
||
|
return $query->limit($limit);
|
||
|
})
|
||
|
->get();
|
||
|
|
||
|
return $Rows;
|
||
|
}
|
||
|
public static function getRepresentingInstitutionsByCountry($alias, $limit = null)
|
||
|
{
|
||
|
$Rows = DB::table("institutions")->where("status", 1)
|
||
|
->where("countries_id", function ($query) use ($alias) {
|
||
|
$query->select("country_id")
|
||
|
->from("countries")
|
||
|
->where("alias", $alias);
|
||
|
})
|
||
|
->orderBy("display_order")
|
||
|
->when($limit, function ($query) use ($limit) {
|
||
|
return $query->limit($limit);
|
||
|
})
|
||
|
->get();
|
||
|
return $Rows;
|
||
|
}
|
||
|
//END TEMP FUNCTIONS
|
||
|
public static function createMenuLink($text, $URL)
|
||
|
{
|
||
|
$isActive = request()->fullUrl() == $URL;
|
||
|
$activeClass = $isActive ? 'active' : '';
|
||
|
?>
|
||
|
<li>
|
||
|
<a class="nav-link menu-link <?php echo $activeClass; ?>" href="<?php echo $URL; ?>"><i class="ri-file-text-line "></i> <span data-key="t-landing"><?php echo $text; ?></span></a>
|
||
|
</li>
|
||
|
<?php
|
||
|
}
|
||
|
|
||
|
public static function getslider()
|
||
|
{
|
||
|
$Gallery = DB::table('sliders')->where('status', 1)->orderBy('display_order')->get();
|
||
|
return $Gallery;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
public static function getarticle($alias = '')
|
||
|
{
|
||
|
$t = "select * from tbl_articles where status=1";
|
||
|
|
||
|
if ($alias != '') {
|
||
|
$t .= " and alias='$alias'";
|
||
|
// echo $t;die;
|
||
|
$Aboutus = DB::select($t)[0];
|
||
|
$q = "select * from tbl_articles where parent_article=$Aboutus->article_id";
|
||
|
$Aboutus->children = DB::select($q);
|
||
|
} else {
|
||
|
|
||
|
$Aboutus = DB::select($t);
|
||
|
}
|
||
|
//dd($Aboutus);die;
|
||
|
return $Aboutus;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
static public function showMenu($menulocation_alias)
|
||
|
{
|
||
|
$MenuItems = CCMS::getMenuItems($menulocation_alias);
|
||
|
|
||
|
?>
|
||
|
<ul class="navbar-nav d-flex align-items-center">
|
||
|
<?php foreach ($MenuItems as $menuItem) : ?>
|
||
|
<?php $menuItem->alias = str_replace("-", "_", $menuItem->alias); ?>
|
||
|
<li class="nav-item <?php if (!empty($menuItem->children)) : ?> dropdown <?php endif; ?>" id="myDropdown">
|
||
|
<a class="nav-link <?php if (!empty($menuItem->children)) : ?> dropdown-toggle <?php endif; ?>" <?php if (!empty($menuItem->children)) : ?> data-bs-toggle="dropdown" <?php endif; ?> aria-current="page" href="<?php if ($menuItem->type != "") : ?>
|
||
|
<?php echo route($menuItem->alias); ?><?php else : ?><?php echo site_url(ltrim($menuItem->ref, '/')); ?><?php endif; ?>" target="<?php echo strtolower($menuItem->target) ?>">
|
||
|
|
||
|
<?php echo $menuItem->title; ?>
|
||
|
</a>
|
||
|
<?php if (!empty($menuItem->children)) : ?>
|
||
|
<ul class="dropdown-menu">
|
||
|
<?php foreach ($menuItem->children as $menu) : ?>
|
||
|
<li> <a class="dropdown-item" href="<?php echo route($menuItem->alias . '.' . $menu->alias) ?>" target="<?php echo strtolower($menuItem->target); ?>"> <?php echo $menu->title; ?> </a></li>
|
||
|
<?php endforeach; ?>
|
||
|
</ul>
|
||
|
<?php endif; ?>
|
||
|
</li>
|
||
|
<?php endforeach; ?>
|
||
|
</ul>
|
||
|
<?php
|
||
|
}
|
||
|
|
||
|
|
||
|
public static function getMenuItems($menulocation_alias, $parentId = 0)
|
||
|
{
|
||
|
$menulocations_id = DB::table('menulocations')
|
||
|
->where('alias', $menulocation_alias)
|
||
|
->value('menulocation_id');
|
||
|
$menuItems = DB::table('menuitems')
|
||
|
->where('menulocations_id', $menulocations_id)
|
||
|
->where('parent_menu', $parentId)
|
||
|
->orderBy('display_order')
|
||
|
->get();
|
||
|
$result = [];
|
||
|
foreach ($menuItems as $menuItem) {
|
||
|
$children = self::getMenuItems($menulocation_alias, $menuItem->menu_id);
|
||
|
$menuItem->children = $children;
|
||
|
$result[] = $menuItem;
|
||
|
}
|
||
|
return $result;
|
||
|
}
|
||
|
|
||
|
|
||
|
public static function getSiteVars()
|
||
|
{
|
||
|
$siteVars = DB::table("settings")->where('status', 1)->orderby('display_order')->first();
|
||
|
$siteVars->Destinations = self::getStudyAbroad();
|
||
|
$siteVars->Services = self::getServices();
|
||
|
$siteVars->Classes = self::getTestPreparations();
|
||
|
$siteVars->Abouts = self::getAbout();
|
||
|
return $siteVars;
|
||
|
}
|
||
|
|
||
|
public static function getCountries()
|
||
|
{
|
||
|
$Countries = DB::table("countries")->where('status', 1)->orderby('display_order')->get();
|
||
|
return $Countries;
|
||
|
}
|
||
|
|
||
|
public static function getCountry($alias)
|
||
|
{
|
||
|
$Countries = DB::table("countries")->where('alias', $alias)->get();
|
||
|
return $Countries[0];
|
||
|
}
|
||
|
public static function getDemandCountries()
|
||
|
{
|
||
|
$demandCountries1 = DB::table('jobdemands')->where('status', 1)->orderby('display_order')->pluck('countries_id');
|
||
|
$demandCountries2 = DB::table('paperdemands')->where('status', 1)->orderby('display_order')->pluck('countries_id');
|
||
|
$demandCountries = $demandCountries1->concat($demandCountries2);
|
||
|
// pre($demandCountries2,true);
|
||
|
$demandCountries = DB::table("countries")->where('status', 1)->orderby('display_order')->whereIn('country_id', $demandCountries)->get();
|
||
|
return $demandCountries;
|
||
|
}
|
||
|
public static function getCertificates()
|
||
|
{
|
||
|
$Certificates = DB::table("certificates")->where('status', 1)->orderby('display_order')->get();
|
||
|
return $Certificates;
|
||
|
}
|
||
|
public static function getCertificate($alias)
|
||
|
{
|
||
|
$Certificate = DB::table("certificates")->where('alias', $alias)->get()[0];
|
||
|
return $Certificate;
|
||
|
}
|
||
|
public static function getTeams()
|
||
|
{
|
||
|
$Teams = DB::table("teams")->where('status', 1)->orderby('display_order')->get();
|
||
|
return $Teams;
|
||
|
}
|
||
|
public static function getTeamsByBranch($alias)
|
||
|
{
|
||
|
$Branch = DB::table("branches")->where("alias", $alias)->first();
|
||
|
if ($Branch) {
|
||
|
$Teams = DB::table("teams")
|
||
|
->where('status', 1)
|
||
|
->where('branches_id', $Branch->branch_id)
|
||
|
->orderby('display_order')->get();
|
||
|
return $Teams;
|
||
|
} else {
|
||
|
die("Branch Not Found");
|
||
|
}
|
||
|
}
|
||
|
public static function getTeam($alias)
|
||
|
{
|
||
|
$Team = DB::table("teams")->where('alias', $alias)->get()[0];
|
||
|
return $Team;
|
||
|
}
|
||
|
public static function getPaperDemands()
|
||
|
{
|
||
|
$PaperDemands = DB::table("paperdemands")->where('status', 1)->orderby('display_order')->get();
|
||
|
return $PaperDemands;
|
||
|
}
|
||
|
public static function getPaperDemand($alias)
|
||
|
{
|
||
|
$PaperDemand = DB::table("paperdemands")->where('alias', $alias)->get()[0];
|
||
|
return $PaperDemand;
|
||
|
}
|
||
|
public static function getJobCategories()
|
||
|
{
|
||
|
$JobCategories = DB::table("job_categories")->where('status', 1)->orderby('display_order')->get();
|
||
|
return $JobCategories;
|
||
|
}
|
||
|
public static function getJobCategory($alias)
|
||
|
{
|
||
|
$JobCategory = DB::table("job_categories")->where('alias', $alias)->get()[0];
|
||
|
return $JobCategory;
|
||
|
}
|
||
|
public static function getCompanies()
|
||
|
{
|
||
|
$Companies = DB::table("companies")->where('status', 1)->orderby('display_order')->get();
|
||
|
return $Companies;
|
||
|
}
|
||
|
public static function getCompany($alias)
|
||
|
{
|
||
|
$Company = DB::table("companies")->where('alias', $alias)->get()[0];
|
||
|
return $Company;
|
||
|
}
|
||
|
public static function showForm($formID)
|
||
|
{
|
||
|
if (is_numeric($formID)) {
|
||
|
$Form = DB::table("forms")->where('form_id', $formID)->first();
|
||
|
} else {
|
||
|
$Form = DB::table("forms")->where('alias', $formID)->first();
|
||
|
}
|
||
|
|
||
|
if (!$Form) {
|
||
|
// Handle the case where the form with the given ID/alias doesn't exist
|
||
|
return "Error: Form (ID/Alias: $formID) not found.";
|
||
|
}
|
||
|
|
||
|
$csrfToken = csrf_token();
|
||
|
|
||
|
if (session('success')) {
|
||
|
echo '<div class="alert alert-success" role="alert">';
|
||
|
echo session('success');
|
||
|
echo '</div>';
|
||
|
}
|
||
|
|
||
|
echo '<form class="mt-5" action="' . route("form.submit") . '" method="POST">';
|
||
|
echo '<input type="hidden" name="_token" value="' . $csrfToken . '">';
|
||
|
echo '<input type="hidden" name="form_id" value="' . $Form->form_id . '">';
|
||
|
$form_fields = json_decode($Form->form_fields);
|
||
|
|
||
|
foreach ($form_fields as $field) {
|
||
|
$fieldAlias = strtolower($field->fieldAlias);
|
||
|
$fieldName = strtolower($field->fieldName);
|
||
|
$fieldType = $field->fieldType;
|
||
|
$fieldDefault = $field->fieldDefault;
|
||
|
$fieldCss = $field->fieldCss;
|
||
|
|
||
|
echo '<div class="mb-3 ' . $fieldCss . '">';
|
||
|
echo '<label for="' . $fieldAlias . '" class="form-label">' . ucfirst($fieldName) . '</label>';
|
||
|
|
||
|
// Check if the "required" class is present in $fieldCss and add the required attribute
|
||
|
$isRequired = strpos($fieldCss, 'required') !== false;
|
||
|
|
||
|
if ($fieldType === 'textarea') {
|
||
|
echo '<textarea class="form-control ' . ($isRequired ? 'required' : '') . '" id="' . $fieldAlias . '" name="' . $fieldAlias . '" ' . ($isRequired ? 'required' : '') . '>' . $fieldDefault . '</textarea>';
|
||
|
} else {
|
||
|
echo '<input type="' . $fieldType . '" class="form-control ' . ($isRequired ? 'required' : '') . '" id="' . $fieldAlias . '" name="' . $fieldAlias . '" value="' . $fieldDefault . '" ' . ($isRequired ? 'required' : '') . '>';
|
||
|
}
|
||
|
|
||
|
echo '</div>';
|
||
|
}
|
||
|
|
||
|
echo '<button type="submit" class="btn btn-primary">Submit</button>';
|
||
|
echo '</form>';
|
||
|
}
|
||
|
|
||
|
|
||
|
private function initDB()
|
||
|
{
|
||
|
|
||
|
static $initialized = false;
|
||
|
if (!$initialized) {
|
||
|
DB::statement('
|
||
|
CREATE TABLE IF NOT EXISTS `tbl_subscribers` (
|
||
|
`subscriber_id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||
|
`title` varchar(255) NOT NULL,
|
||
|
`alias` varchar(250) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
|
||
|
`email` varchar(255) NOT NULL,
|
||
|
`display_order` int(11) NOT NULL,
|
||
|
`status` int(11) NOT NULL,
|
||
|
`createdby` int(11) DEFAULT NULL,
|
||
|
`updatedby` int(11) DEFAULT NULL,
|
||
|
`created_at` timestamp NULL DEFAULT NULL,
|
||
|
`updated_at` timestamp NULL DEFAULT NULL
|
||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8
|
||
|
');
|
||
|
DB::statement('
|
||
|
CREATE TABLE IF NOT EXISTS `tbl_faqs` (
|
||
|
`faq_id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||
|
`title` varchar(250) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
|
||
|
`text` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
|
||
|
`display_order` int(11) NOT NULL,
|
||
|
`status` int(11) NOT NULL,
|
||
|
`createdby` int(11) DEFAULT NULL,
|
||
|
`updatedby` int(11) DEFAULT NULL,
|
||
|
`created_at` timestamp NULL DEFAULT NULL,
|
||
|
`updated_at` timestamp NULL DEFAULT NULL
|
||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||
|
');
|
||
|
DB::statement('
|
||
|
CREATE TABLE IF NOT EXISTS `tbl_successstories` (
|
||
|
`successstory_id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||
|
`countries_id` int(11) DEFAULT NULL,
|
||
|
`title` varchar(255) DEFAULT NULL,
|
||
|
`alias` varchar(200) DEFAULT NULL,
|
||
|
`image` varchar(255) DEFAULT NULL,
|
||
|
`text` text DEFAULT NULL,
|
||
|
`remarks` varchar(255) DEFAULT NULL,
|
||
|
`display_order` int(11) DEFAULT NULL,
|
||
|
`status` int(11) DEFAULT NULL,
|
||
|
`university` varchar(255) DEFAULT NULL,
|
||
|
`faculty` varchar(255) DEFAULT NULL,
|
||
|
`createdby` varchar(255) DEFAULT NULL,
|
||
|
`created_at` varchar(255) DEFAULT NULL,
|
||
|
`updatedby` varchar(255) DEFAULT NULL,
|
||
|
`updated_at` varchar(255) DEFAULT NULL
|
||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||
|
|
||
|
');
|
||
|
$initialized = true;
|
||
|
}
|
||
|
}
|
||
|
}
|