initDB(); $this->seedPermissions(); } public static function spinwheelwinners() { $winners = DB::table("spinthewheelwinners") // ->where('status', 1) ->orderBy('created_at', "desc") ->get(); foreach ($winners as $winner) { $registration = DB::table("registrations") ->where('status', 1) ->where('registration_id', $winner->registrations_id) ->first(); $winner->Winner = $registration; } // dd($winners); return $winners; } public static function savespinwheelwinner($registration_id, $prize) { // Fetch registration data based on registration_id $data = DB::table("registrations") ->where('status', 1) ->where('registration_id', $registration_id) ->first(); if ($data) { // Create a new spin wheel winner record Spinthewheelwinners::create([ 'title' => $data->name, 'registrations_id' => $data->registration_id, 'prize' => $prize ]); // Return the updated list of winners ordered by created_on in descending order return Spinthewheelwinners::orderBy("created_at", "desc")->get(); } else { // Handle the case when no registration data is found return response()->json(['error' => 'Registration not found'], 404); } } public static function checkRegistrationByMobile($mobile) { $registration = DB::table("registrations") ->where('status', 1) ->where('mobile', $mobile) ->orderBy('display_order') ->first(); if (!$registration) { // Handle the case where the registration is not found return; } return $registration; } public static function getLeadQR($registration_id) { $registration = DB::table("registrations") ->where('status', 1) ->where('registration_id', $registration_id) ->orderBy('display_order') ->first(); if (!$registration) { // Handle the case where the registration is not found return; } $Campaign = Campaigns::findOrFail($registration->campaigns_id); $QRURL = route("registration.view", md5($registration_id)); $writer = new PngWriter(); $qrCode = QrCode::create($QRURL) ->setEncoding(new Encoding('UTF-8')) ->setErrorCorrectionLevel(new ErrorCorrectionLevelLow()) ->setSize(230) ->setMargin(1) ->setRoundBlockSizeMode(new RoundBlockSizeModeMargin()) ->setForegroundColor(new Color(0, 0, 0)) ->setBackgroundColor(new Color(255, 255, 255)); $result = $writer->write($qrCode); $dataUri = $result->getDataUri(); if ($Campaign->pass_layout != "") { $pass_layout = storage_path(str_replace("storage/", "app/public/", $Campaign->pass_layout)); $backgroundImage = Image::make($pass_layout); } else { $backgroundImage = Image::make(public_path(env("CLIENT_PATH") . '/assets/images/pass.png')); } $qrCodeImage = Image::make($dataUri); $qrCodePosition = ($Campaign->qr_position != "") ? $Campaign->qr_position : "100,100"; $qrCodePosition = explode(",", $qrCodePosition); $backgroundImage->insert($qrCodeImage, 'top-left', $qrCodePosition[0], $qrCodePosition[1]); $text = $registration->registration_id; $idPosition = ($Campaign->id_position != "") ? $Campaign->id_position : "100,100"; $idPosition = explode(",", $idPosition); $fontPath = public_path('assets/fonts/Poppins-Regular.ttf'); // Replace with the actual font path $backgroundImage->text($text, $idPosition[0], $idPosition[1], function ($font) use ($fontPath) { $font->file($fontPath); $font->size(28); $font->color('#000000'); $font->align('left'); $font->valign('top'); }); $text = $registration->name; $namePosition = ($Campaign->name_position != "") ? $Campaign->name_position : "100,100"; $namePosition = explode(",", $namePosition); $fontPath = public_path('assets/fonts/Poppins-Regular.ttf'); // Replace with the actual font path $backgroundImage->text($text, $namePosition[0], $namePosition[1], function ($font) use ($fontPath) { $font->file($fontPath); $font->size(28); $font->color('#000000'); $font->align('left'); $font->valign('top'); }); $text = $registration->email; $emailPosition = ($Campaign->email_position != "") ? $Campaign->email_position : "100,100"; $emailPosition = explode(",", $emailPosition); $fontPath = public_path('assets/fonts/Poppins-Regular.ttf'); // Replace with the actual font path $backgroundImage->text($text, $emailPosition[0], $emailPosition[1], function ($font) use ($fontPath) { $font->file($fontPath); $font->size(24); $font->color('#000000'); $font->align('left'); $font->valign('top'); }); $text = $registration->mobile; $xCoordinateText = 960; // Set the X coordinate for the text $yCoordinateText = 365; // Set the Y coordinate for the text $fontPath = public_path('assets/fonts/Poppins-Regular.ttf'); // Replace with the actual font path $backgroundImage->text($text, $xCoordinateText, $yCoordinateText, function ($font) use ($fontPath) { $font->file($fontPath); $font->size(24); $font->color('#000000'); $font->align('left'); $font->valign('top'); }); $text = $registration->intrested_for_country; $xCoordinateText = 960; // Set the X coordinate for the text $yCoordinateText = 430; // Set the Y coordinate for the text $fontPath = public_path('assets/fonts/Poppins-Regular.ttf'); // Replace with the actual font path $backgroundImage->text($text, $xCoordinateText, $yCoordinateText, function ($font) use ($fontPath) { $font->file($fontPath); $font->size(24); $font->color('#000000'); $font->align('left'); $font->valign('top'); }); // Save the combined image $outputPath = public_path(env("CLIENT_PATH") . '/assets/images/generated/pass_' . date("ymdhis") . '_image.png'); $backgroundImage->save($outputPath); // Remove the temporary QR code image // unlink($qrCodePath); // You can return the output path or perform any other desired actions return $outputPath; } public static function sendSMSWithCurl($destination, $message) { $userName = (SITEVARS->sms_username) ? SITEVARS->sms_username : ''; $password = (SITEVARS->sms_password) ? SITEVARS->sms_password : ''; $sender = (SITEVARS->sms_sender) ? SITEVARS->sms_sender : ''; $url = (SITEVARS->sms_api) ? SITEVARS->sms_api : 'http://api.ininepal.com/api/index?'; $encodedMessage = urlencode($message); $encodedDestination = urlencode($destination); $url_query = "username={$userName}&password={$password}&msg={$encodedMessage}&contacts={$encodedDestination}&responsetype=json"; $url_final = $url . $url_query; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url_final); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, false); $response = curl_exec($ch); ob_clean(); if ($response === false) { // Handle the error if needed (e.g., log the error) return false; } // Close the cURL session curl_close($ch); return true; } public static function oldsendSMSWithCurl($destination, $message) { $userName = (SITEVARS->sms_username) ? SITEVARS->sms_username : ''; $password = (SITEVARS->sms_password) ? SITEVARS->sms_password : ''; $sender = (SITEVARS->sms_sender) ? SITEVARS->sms_sender : ''; $url = (SITEVARS->sms_api) ? SITEVARS->sms_api : 'http://api.ininepal.com/api/index?'; // URL-encode the message and destination $encodedMessage = urlencode($message); $encodedDestination = urlencode($destination); // Construct the URL query string $url_query = "username={$userName}&password={$password}&message={$encodedMessage}&destination={$encodedDestination}&sender={$sender}"; // Build the final URL $url_final = $url . $url_query; // Initialize cURL session $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url_final); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Execute the cURL request $response = curl_exec($ch); // Check for errors and handle the response if ($response === false) { // cURL request failed, handle the error as needed // You can log the error or throw an exception return false; } else { // Check the response for success or failure if ($response === '1') { // SMS sent successfully return true; } else { // SMS sending failed, handle the error as needed // You can log the error or throw an exception return false; } } // Close the cURL session curl_close($ch); } public static function SaveInGoogleSheet($data) { $Campaign = Campaigns::findorfail($data['campaigns_id']); // $spreadsheetId = ($Campaign->google_sheet_id != "") ? $Campaign->google_sheet_id : '1g0lR_98d_10P1rDUcWMz3b0eCW1bmDFxBpgZAxCDTF4'; // $sheetName = ($Campaign->google_sheet_worksheet != "") ? $Campaign->google_sheet_worksheet : 'OfficeVisits'; $spreadsheetId = ($Campaign->google_sheet_id != "") ? $Campaign->google_sheet_id : '1uwd3MiLpp_qf7kYGU3CkxO3bXrLpzrhdusNsjZueWB4'; $sheetName = ($Campaign->google_sheet_worksheet != "") ? $Campaign->google_sheet_worksheet : 'Sheet1'; $rows = Sheets::spreadsheet($spreadsheetId)->sheet($sheetName)->all(); $lastRowIndex = count($rows); $newRowIndex = $lastRowIndex + 1; /* TO DUMP ALL ROWS $rowData = ['sn' => $lastRowIndex]; $a=0; foreach ($data as $index => $value) { $columnName = 'col'.$a;// . ($index + 1); $a++; $rowData[$columnName] = $value; } Sheets::spreadsheet($spreadsheetId)->sheet($sheetName)->range('A' . $newRowIndex)->append([$rowData]); */ Sheets::spreadsheet($spreadsheetId)->sheet($sheetName)->range('A' . $newRowIndex)->append([ [ 'sn' => $lastRowIndex, 'name' => $data['name'], 'email' => $data['email'], 'phone' => $data['mobile'], 'qualification' => isset($data['highest_qualification']) ? $data['highest_qualification'] : "0", 'passed_year' => '', 'interested_for' => isset($data['preferred_destination']) ? $data['preferred_destination'] : "0", 'user_source' => env('CLIENT_PATH'), ] ]); } //CONSULTANCY RELATED TEMP FUNCTIONS public static function createMenuLink($text, $URL) { $isActive = request()->fullUrl() == $URL; $activeClass = $isActive ? 'active' : ''; ?>
  • where("status", 1)->orderBy("display_order")->get(); return $Rows; } public static function getCampaignByAlias($alias) { $Rows = DB::table("campaigns")->where("status", 1)->where("alias", $alias)->first(); return $Rows; } public static function getActiveCampaign() { $Rows = DB::table("campaigns")->where("status", 1)->orderBy("display_order")->first(); return $Rows; } public static function campaignsCount() { $Rows = DB::table("campaigns")->where("status", 1)->count(); return $Rows; } public static function getLeadCategories() { $Rows = DB::table("leadcategories")->where("status", 1)->orderBy("display_order")->get(); return $Rows; } public static function getSources() { $Rows = DB::table("sources")->where("status", 1)->orderBy("display_order")->get(); return $Rows; } public static function getQualifications() { $Rows = DB::table("qualifications")->where("status", 1)->orderBy("display_order")->get(); return $Rows; } public static function getPrefferedlocation() { $Rows = DB::table("registrations")->where("status", 1)->orderBy("display_order")->get(); return $Rows->preffered_location; } public static function getSiteVars() { $siteVars = DB::table("settings")->where('status', 1)->orderby('display_order')->first(); $siteVars->Countries = self::getCountries(); $siteVars->Campaigns = self::getCampaigns(); return $siteVars; } public static function qrScanCounts($id = null) { if ($id) { $query = DB::table("qrscans")->where('status', 1)->where("registrations_id", $id); return $query->count(); } else { $query = DB::table("qrscans")->where('status', 1); return $query->count(); } } public static function leadsCount($group = null, $id = null) { $query = DB::table("registrations")->where('status', 1); // Apply additional conditions using a switch-case statement switch ($group) { case 'campaign': if ($id !== null) { $query->where('campaigns_id', $id); } break; case 'source': if ($id !== null) { $query->where('sources_id', $id); } break; case 'country': if ($id !== null) { $query->where('countries_id', $id); } break; case 'category': if ($id !== null) { $query->where('leadcategories_id', $id); } break; case 'agent': if ($id !== null) { $query->where('agents_id', $id); } break; // Add more cases as needed } $count = $query->count(); return $count; } public static function studentsCount($group = null, $id = null) { $query = DB::table("students")->where('status', 1); // Apply additional conditions using a switch-case statement switch ($group) { case 'campaign': if ($id !== null) { $query->where('campaigns_id', $id); } break; case 'source': if ($id !== null) { $query->where('sources_id', $id); } break; case 'branch': if ($id !== null) { $query->where('branches_id', $id); } break; case 'country': if ($id !== null) { $query->where('countries_id', $id); } break; case 'category': if ($id !== null) { $query->where('leadcategories_id', $id); } break; case 'agent': if ($id !== null) { $query->where('agents_id', $id); } break; // Add more cases as needed } $count = $query->count(); return $count; } public static function countriesCount() { $Rows = DB::table("countries")->where('status', 1)->count(); return $Rows; } public static function getCountries() { $Rows = DB::table("countries")->where('status', 1)->orderby('display_order')->get(); return $Rows; } public static function getAgents() { $Rows = DB::table("agents")->where('status', 1)->orderby('display_order')->get(); return $Rows; } public static function getLeads($limit = null) { $Rows = DB::table("registrations")->where('status', 1)->orderByDesc('display_order'); if ($limit) { $Rows = $Rows->limit($limit); } $Rows = $Rows->get(); foreach ($Rows as $Row) { $Row->countries_id = ($Row->countries_id != 0) ? $Row->countries_id : 1; $Row->sources_id = ($Row->sources_id != 0) ? $Row->sources_id : 1; $Row->Source = Sources::findorfail($Row->sources_id); $Row->Country = Countries::findorfail($Row->countries_id); } return $Rows; } public static function getCampaignArticlesByCampaignAlias($alias) { $subquery = DB::table('campaigns')->select('campaign_id')->where('alias', $alias)->where("status", 1)->orderBy("display_order", "ASC"); $articles = DB::table('campaignarticles')->where('parent_article', 0)->orderBy("display_order", "ASC")->whereIn('campaigns_id', $subquery)->get(); foreach ($articles as $article) { $article->ChildArticles = DB::table('campaignarticles')->where('parent_article', $article->campaignarticle_id)->where("status", 1)->orderBy("display_order", "ASC")->get(); } return $articles; } public static function getCountry($alias) { $Countries = DB::table("countries")->where('alias', $alias)->get(); return $Countries[0]; } 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 ''; } echo '
    '; echo ''; echo ''; $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 '
    '; echo ''; // Check if the "required" class is present in $fieldCss and add the required attribute $isRequired = strpos($fieldCss, 'required') !== false; if ($fieldType === 'textarea') { echo ''; } else { echo ''; } echo '
    '; } echo ''; echo '
    '; } public static function seedPermissions() { $modelNames = self::getModelNames(); foreach ($modelNames as $modelName) { self::createPermission($modelName, 'create'); self::createPermission($modelName, 'edit'); self::createPermission($modelName, 'index'); self::createPermission($modelName, 'delete'); self::createPermission($modelName, 'store'); self::createPermission($modelName, 'update'); } } public static function getModelNames() { // Adjust the directory path based on your model location $modelsDirectory = app_path('Models'); $files = scandir($modelsDirectory); $models = []; foreach ($files as $file) { if (pathinfo($file, PATHINFO_EXTENSION) == 'php') { $modelName = pathinfo($file, PATHINFO_FILENAME); $models[] = $modelName; } } return $models; } public static function createPermission($modelName, $command) { $AdminUser = DB::table('users') ->where('roles_id', 1) ->first(); if (!$AdminUser) { // dd("hello"); DB::table('users')->insert([ 'name' => 'Prajwal Adhikari', 'email' => 'prajwalbro@hotmail.com', 'username' => 'prajwalbro@hotmail.com', 'password' => Hash::make('p@ssw0rd'), 'roles_id' => 1, 'created_at' => now(), // or use a specific timestamp if needed 'createdby' => 1, // replace with the actual user ID who created it 'updated_at' => now(), 'updatedby' => 1, // replace with the actual user ID who updated it 'status' => 1, // adjust as needed ]); } $permissionName = "{$command} {$modelName}"; $existingPermission = DB::table('permissions') ->where('title', $permissionName) ->first(); $adminRole = DB::table('roles') ->where('title', 'admin') ->first(); if (!$existingPermission) { $LastInsertID = DB::table('permissions')->insert([ 'title' => ucfirst($command) . ' ' . $modelName, 'alias' => strtolower("{$command}_{$modelName}"), 'modal' => $modelName, 'command' => $command, 'created_at' => now(), // or use a specific timestamp if needed 'createdby' => 1, // replace with the actual user ID who created it 'updated_at' => now(), 'updatedby' => 1, // replace with the actual user ID who updated it 'status' => 1, // adjust as needed ]); DB::table('rolepermissions')->insert([ 'roles_id' => $adminRole->role_id, 'permissions_id' => $LastInsertID, 'created_at' => now(), 'createdby' => 1, 'updated_at' => now(), 'updatedby' => 1, 'status' => 1 ]); } } private function initDB() { static $initialized = false; if (!$initialized) { DB::statement("CREATE TABLE IF NOT EXISTS `tbl_logos` ( `logo_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `logo` VARCHAR(255), `link` VARCHAR(255), `display_order` INT(11), `status` INT(11), `remarks` TEXT, `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, `createdby` INT(11), `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `updatedby` INT(11) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_testimonials` ( `testimonial_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `video_url` VARCHAR(255), `review` VARCHAR(255), `name` VARCHAR(20) NOT NULL, `designation` VARCHAR(100), `display_order` INT(11), `status` INT(11), `remarks` TEXT, `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, `createdby` INT(11), `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `updatedby` INT(11) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_contactus` ( `inquiries_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `title` VARCHAR(255), `email` VARCHAR(50), `phone` VARCHAR(20) NOT NULL, `country_interested` VARCHAR(100), `study_background` VARCHAR(50) NOT NULL, `terms_and_condition` VARCHAR(20) DEFAULT 0, `display_order` INT(11), `status` INT(11), `remarks` TEXT, `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, `createdby` INT(11), `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `updatedby` INT(11) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_qualifications` ( `qualification_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `title` VARCHAR(255), `alias` VARCHAR(255), `description` TEXT, `display_order` INT(11), `status` INT(11), `remarks` TEXT, `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, `createdby` INT(11), `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `updatedby` INT(11) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_leadcategories` ( `leadcategory_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `title` VARCHAR(255), `alias` VARCHAR(255), `description` TEXT, `color` VARCHAR(255), `display_order` INT(11), `status` INT(11), `remarks` TEXT, `created_at` DATETIME DEFAULT NOW(), `createdby` INT(11), `updated_at` DATETIME DEFAULT NOW(), `updatedby` INT(11) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_institutiontypes` ( `institutiontype_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `title` VARCHAR(255), `alias` VARCHAR(255), `description` TEXT, `display_order` INT(11), `status` INT(11), `remarks` TEXT, `created_at` DATETIME DEFAULT NOW(), `createdby` INT(11), `updated_at` DATETIME DEFAULT NOW(), `updatedby` INT(11) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_institutions` ( `institution_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `institutiontypes_id` INT(11), `countries_id` INT(11), `title` VARCHAR(255), `alias` VARCHAR(255), `description` TEXT, `state` VARCHAR(255), `city` VARCHAR(255), `address` TEXT, `contact` VARCHAR(255), `logo` VARCHAR(255), `thumb` VARCHAR(255), `display_order` INT(11), `status` INT(11), `remarks` TEXT, `created_at` DATETIME DEFAULT NOW(), `createdby` INT(11), `updated_at` DATETIME DEFAULT NOW(), `updatedby` INT(11) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_programs` ( `program_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `institutions_id` INT(11), `title` VARCHAR(255), `alias` VARCHAR(255), `description` TEXT, `programlevels_id` INT(11), `program_level` VARCHAR(255), `years` VARCHAR(255), `psw` VARCHAR(255), `code` VARCHAR(255), `coops_id` INT(11), `documentsets_id` INT(11), `program_url` text, `prospects` TEXT, `intake` VARCHAR(255), `institution` VARCHAR(255), `city` VARCHAR(255), `application_open` VARCHAR(255), `application_deadline` VARCHAR(255), `fee` VARCHAR(255), `level` VARCHAR(255), `min_level` VARCHAR(255), `min_level_faculty` VARCHAR(255), `min_level_score` VARCHAR(255), `min_level_passout` VARCHAR(255), `min_level_optional_requirement` VARCHAR(255), `prof_test_required` INT(11), `prof_test_accepted` VARCHAR(255), `prof_test_min_score` VARCHAR(255), `prof_test_band_score` VARCHAR(255), `display_order` INT(11), `status` INT(11), `remarks` TEXT, `created_at` DATETIME DEFAULT NOW(), `createdby` INT(11), `updated_at` DATETIME DEFAULT NOW(), `updatedby` INT(11) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_agents` ( `agent_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `title` VARCHAR(255), `alias` VARCHAR(255), `description` TEXT, `display_order` INT(11), `status` INT(11), `remarks` TEXT, `created_at` DATETIME DEFAULT NOW(), `createdby` INT(11), `updated_at` DATETIME DEFAULT NOW(), `updatedby` INT(11) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_cities` ( `city_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `districts_id` INT(11), `title` VARCHAR(255), `alias` VARCHAR(255), `description` TEXT, `display_order` INT(11), `status` INT(11), `remarks` TEXT, `created_at` DATETIME DEFAULT NOW(), `createdby` INT(11), `updated_at` DATETIME DEFAULT NOW(), `updatedby` INT(11) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_districts` ( `district_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `provinces_id` INT(11), `title` VARCHAR(255), `alias` VARCHAR(255), `description` TEXT, `display_order` INT(11), `status` INT(11), `remarks` TEXT, `created_at` DATETIME DEFAULT NOW(), `createdby` INT(11), `updated_at` DATETIME DEFAULT NOW(), `updatedby` INT(11) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_provinces` ( `province_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `title` VARCHAR(255), `alias` VARCHAR(255), `description` TEXT, `display_order` INT(11), `status` INT(11), `remarks` TEXT, `created_at` DATETIME, `createdby` INT(11), `updated_at` DATETIME, `updatedby` INT(11) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_countries` ( `country_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `title` VARCHAR(255), `alias` VARCHAR(255), `description` TEXT, `display_order` INT(11), `status` INT(11), `remarks` TEXT, `created_at` DATETIME, `createdby` INT(11), `updated_at` DATETIME, `updatedby` INT(11) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_branches` ( `branch_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `title` VARCHAR(255), `alias` VARCHAR(255), `description` TEXT, `email` VARCHAR(255), `telephone` VARCHAR(255), `phone1` VARCHAR(255), `phone2` VARCHAR(255), `address` VARCHAR(255), `company_reg` VARCHAR(255), `is_main` INT(11) NULL Default 0, `display_order` INT(11), `status` INT(11), `remarks` TEXT, `created_at` DATETIME, `createdby` INT(11), `updated_at` DATETIME, `updatedby` INT(11) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_campaigns` ( `campaign_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `title` VARCHAR(255), `alias` VARCHAR(255), `description` TEXT, `details` TEXT, `cover_photo` VARCHAR(255), `thumb` VARCHAR(255), `starts` DATE, `ends` DATE, `success_message` VARCHAR(255), `sms_message` VARCHAR(255), `coupon_codes` TEXT, `offered_choices` TEXT, `pass_layout` VARCHAR(255), `qr_position` VARCHAR(255), `id_position` VARCHAR(255), `name_position` VARCHAR(255), `email_position` VARCHAR(255), `notify_emails` TEXT, `google_sheet_id` VARCHAR(255), `google_sheet_worksheet` VARCHAR(255), `is_active` int(11), `og_image` VARCHAR(255), `seo_title` VARCHAR(255), `seo_keywords` VARCHAR(255), `seo_description` TEXT, `meta_tags` TEXT, `display_order` INT(11), `status` INT(11), `remarks` TEXT, `created_at` DATETIME DEFAULT NOW(), `createdby` INT(11), `updated_at` DATETIME DEFAULT NOW(), `updatedby` INT(11) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_operation_logs` ( `operation_id` bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY, `refNo` varchar(255) DEFAULT NULL, `user_id` int(11) DEFAULT NULL, `operation_start_no` bigint(20) DEFAULT NULL, `operation_end_no` bigint(20) DEFAULT NULL, `model_name` varchar(100) DEFAULT NULL, `model_id` int(11) DEFAULT NULL, `operation_name` varchar(100) DEFAULT NULL, `previous_values` text DEFAULT NULL, `new_values` longtext 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_error_logs` ( `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `user_id` bigint(20) UNSIGNED DEFAULT NULL, `controller_name` varchar(255) DEFAULT NULL, `method_name` varchar(255) DEFAULT NULL, `errors` longTEXT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_activity_logs` ( `activity_id` bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY, `user_id` int(11) DEFAULT NULL, `controllerName` varchar(100) DEFAULT NULL, `methodName` varchar(100) DEFAULT NULL, `actionUrl` varchar(255) DEFAULT NULL, `activity` varchar(255) 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_users` ( `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` varchar(255) NULL, `email` varchar(255) NULL, `username` varchar(255) NULL, `email_verified_at` timestamp NULL DEFAULT NULL, `password` varchar(255) NULL, `remember_token` varchar(100) DEFAULT NULL, `display_order` INT(11) DEFAULT 1, `roles_id` INT(11), `branches_id` INT(11), `agents_id` INT(11), `students_id` INT(11), `status` INT(11) DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `createdby` INT(11), `updated_at` timestamp NULL DEFAULT NULL, `updatedby` INT(11) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_settings` ( `setting_id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `title` varchar(255) NULL, `description` TEXT NULL, `url1` varchar(255) NULL, `url2` varchar(255) NULL, `email` varchar(255) NULL, `phone` varchar(255) NULL, `secondary_phone` varchar(255) NULL, `google_map` TEXT NULL, `fb` varchar(255) NULL, `insta` varchar(255) NULL, `twitter` varchar(255) NULL, `tiktok` varchar(255) NULL, `primary_logo` varchar(255) NULL, `secondary_logo` varchar(255) NULL, `thumb` varchar(255) NULL, `icon` varchar(255) NULL, `og_image` varchar(255) NULL, `no_image` varchar(250) NULL, `copyright_text` varchar(250) NULL, `content1` TEXT NULL, `content2` TEXT NULL, `content3` TEXT NULL, `seo_title` varchar(255) NULL, `seo_description` TEXT NULL, `seo_keywords` TEXT NULL, `og_tags` TEXT NULL, `display_order` int(11) NULL DEFAULT 0, `status` int(11) NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `createdby` int(11) DEFAULT NULL, `updatedby` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_articles` ( `article_id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `parent_article` int(11) DEFAULT 0, `title` varchar(250) NULL, `alias` varchar(250) NULL, `text` TEXT NULL, `cover_photo` varchar(500) NOT NULL, `thumb` varchar(255) NULL, `display_order` int(11) NULL DEFAULT 0, `status` int(11) NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `createdby` int(11) DEFAULT NULL, `updatedby` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_campaignarticles` ( `campaignarticle_id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `campaigns_id` int(11) DEFAULT 0, `parent_article` int(11) DEFAULT 0, `title` varchar(250) NULL, `alias` varchar(250) NULL, `link` text NULL, `text` TEXT NULL, `cover_photo` varchar(500) NOT NULL, `thumb` varchar(255) NULL, `display_order` int(11) NULL DEFAULT 0, `status` int(11) NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `createdby` int(11) DEFAULT NULL, `updatedby` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_preparationclasses` ( `preparationclass_id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `title` varchar(255) NULL, `alias` varchar(255) NULL, `parent_preparationclass` int(11) NULL DEFAULT 0, `details` TEXT NULL, `intro` TEXT NULL, `image` varchar(255) NULL, `thumb` varchar(255) NULL, `cover` varchar(255) NULL, `remarks` TEXT NULL, `display_order` int(11) NULL DEFAULT 0, `status` int(11) NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `createdby` int(11) DEFAULT NULL, `updatedby` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_services` ( `service_id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `parent_service` int(11) DEFAULT 0, `title` varchar(250) NULL, `alias` varchar(250) NULL, `text` TEXT NULL, `link` varchar(500) NOT NULL, `cover_photo` varchar(500) NOT NULL, `display_order` int(11) NULL DEFAULT 0, `status` int(11) NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `createdby` int(11) DEFAULT NULL, `updatedby` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; "); DB::statement("CREATE TABLE IF NOT EXISTS `tbl_countries` ( `country_id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `title` varchar(255) NULL, `alias` varchar(255) NULL, `text` TEXT NULL, `details` TEXT NULL, `cover_photo` varchar(255) NULL, `image_thumb` varchar(255) NULL, `display_order` int(11) NULL DEFAULT 0, `status` int(11) NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `createdby` int(11) DEFAULT NULL, `updatedby` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; "); DB::statement(' CREATE TABLE IF NOT EXISTS `tbl_subscribers` ( `subscriber_id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `title` varchar(255) NULL, `alias` varchar(250) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `email` varchar(255) NULL, `display_order` int(11) NULL DEFAULT 0, `status` int(11) NULL DEFAULT 0, `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) NULL DEFAULT 0, `status` int(11) NULL DEFAULT 0, `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; '); DB::statement(' CREATE TABLE IF NOT EXISTS `tbl_qrscans` ( `qrscan_id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `registrations_id` int(11) DEFAULT NULL, `qrscan_type` varchar(255) DEFAULT NULL, `qrscan_location` varchar(255) DEFAULT NULL, `remarks` varchar(255) DEFAULT NULL, `display_order` int(11) DEFAULT NULL, `status` int(11) 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; '); DB::statement("CREATE TABLE IF NOT EXISTS tbl_sources ( source_id INT(11) AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), alias VARCHAR(255), name VARCHAR(255), description TEXT, display_order INT(11), status INT(11), remarks TEXT, created_at DATETIME, createdby INT(11), updated_at DATETIME, updatedby INT(11) ); "); DB::statement("CREATE TABLE IF NOT EXISTS tbl_registrations ( registration_id INT(11) AUTO_INCREMENT PRIMARY KEY, campaigns_id INT(11), sources_id INT(11), countries_id INT(11), provinces_id INT(11), districts_id INT(11), cities_id INT(11), leadcategories_id INT(11), agents_id INT(11), name VARCHAR(255), email VARCHAR(255), phone VARCHAR(255), mobile VARCHAR(255), address VARCHAR(255), qualifications_id INT(11), see_year VARCHAR(255), see_grade VARCHAR(255), see_stream VARCHAR(255), see_school VARCHAR(255), plus2_year VARCHAR(255), plus2_grade VARCHAR(255), plus2_stream VARCHAR(255), plus2_college VARCHAR(255), bachelors_year VARCHAR(255), bachelors_grade VARCHAR(255), bachelors_stream VARCHAR(255), bachelors_college VARCHAR(255), highest_qualification VARCHAR(255), highest_grade VARCHAR(255), highest_year VARCHAR(255), highest_stream VARCHAR(255), highest_college VARCHAR(255), preparation_class VARCHAR(255), preparation_score VARCHAR(255), preparation_bandscore VARCHAR(255), preparation_date VARCHAR(255), preffered_location TEXT, intrested_for_country TEXT, intrested_course TEXT, user_agent TEXT, tags TEXT, coupen_code VARCHAR(255), display_order INT(11), status INT(11), remarks TEXT, created_at DATETIME, createdby INT(11), updated_at DATETIME, updatedby INT(11) ); "); DB::statement("CREATE TABLE IF NOT EXISTS tbl_students ( student_id INT(11) AUTO_INCREMENT PRIMARY KEY, campaigns_id INT(11) NULL, sources_id INT(11) NULL, leadcategories_id INT(11) NULL, agents_id INT(11) NULL, countries_id INT(11) NULL, name VARCHAR(255) NULL, email VARCHAR(255) NULL, phone VARCHAR(255) NULL, mobile VARCHAR(255) NULL, address VARCHAR(255) NULL, dob VARCHAR(255) NULL, gender VARCHAR(255) NULL, martial_status VARCHAR(255) NULL, guardian_name VARCHAR(255) NULL, guardian_contact VARCHAR(255) NULL, see_year VARCHAR(255) NULL, see_grade VARCHAR(255) NULL, see_stream VARCHAR(255) NULL, see_school VARCHAR(255) NULL, plus2_year VARCHAR(255) NULL, plus2_grade VARCHAR(255) NULL, plus2_stream VARCHAR(255) NULL, plus2_college VARCHAR(255) NULL, bachelors_year VARCHAR(255) NULL, bachelors_grade VARCHAR(255) NULL, bachelors_stream VARCHAR(255) NULL, bachelors_college VARCHAR(255) NULL, highest_qualification VARCHAR(255) NULL, highest_grade VARCHAR(255) NULL, highest_stream VARCHAR(255) NULL, highest_college VARCHAR(255) NULL, work_experience TEXT NULL, extra_skills text NULL, how_know_us text NULL, preparation_class VARCHAR(255) NULL, preparation_score VARCHAR(255) NULL, preparation_bandscore VARCHAR(255) NULL, preparation_date VARCHAR(255) NULL, preffered_location TEXT NULL, intrested_for_country TEXT NULL, intrested_course TEXT NULL, user_agent TEXT NULL, tags TEXT NULL, coupen_code VARCHAR(255) NULL, display_order INT(11) NULL, status INT(11) NULL, remarks TEXT NULL, created_at DATETIME NULL, createdby INT(11) NULL, updated_at DATETIME NULL, updatedby INT(11) NULL ); "); DB::statement("CREATE TABLE IF NOT EXISTS tbl_followups ( followup_id INT(11) AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), alias VARCHAR(255), registrations_id INT(11), parent_followup INT(11), followup_date DATETIME, followup_response VARCHAR(255), followup_by VARCHAR(255), next_schedule DATETIME, display_order INT(11), status INT(11), remarks TEXT, created_at DATETIME, createdby INT(11), updated_at DATETIME, updatedby INT(11) ); "); DB::statement("CREATE TABLE IF NOT EXISTS tbl_documentsets ( documentset_id INT(11) AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), alias VARCHAR(255), description TEXT, display_order INT(11), status INT(11), remarks TEXT, created_at DATETIME, createdby INT(11), updated_at DATETIME, updatedby INT(11) );"); DB::statement("CREATE TABLE IF NOT EXISTS tbl_requireddocuments ( requireddocument_id INT(11) AUTO_INCREMENT PRIMARY KEY, documentsets_id INT(11), title VARCHAR(255), alias VARCHAR(255), photo VARCHAR(255), description TEXT, display_order INT(11), status INT(11), remarks TEXT, created_at DATETIME, createdby INT(11), updated_at DATETIME, updatedby INT(11) );"); DB::statement("CREATE TABLE IF NOT EXISTS tbl_options ( option_id INT(11) AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), alias VARCHAR(255), students_id INT(11), programs_id INT(11), advice TEXT, description TEXT, display_order INT(11), status INT(11), remarks TEXT, created_at DATETIME, createdby INT(11), updated_at DATETIME, updatedby INT(11) );"); DB::statement("CREATE TABLE IF NOT EXISTS tbl_spinthewheelwinners ( spinthewheelwinner_id INT(11) AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), alias VARCHAR(255), registrations_id INT(11), prize TEXT, display_order INT(11), status INT(11), remarks TEXT, created_at DATETIME, createdby INT(11), updated_at DATETIME, updatedby INT(11) );"); DB::statement("CREATE TABLE IF NOT EXISTS tbl_offerapplications ( offerapplication_id INT(11) AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), alias VARCHAR(255), students_id INT(11), programs_id INT(11), advice TEXT, requireddocuments_id VARCHAR(255), additional_documents VARCHAR(255), application_date DATE, application_fee DOUBLE, applicationfee_deadline DATE, applicationfee_paid BOOLEAN, applicationfee_paymentdate DATE, applicationfee_paymentremarks DATE, offer_status VARCHAR(255), offer_letter VARCHAR(255), offerletter_date DATE, offered_conditions VARCHAR(255), description TEXT, display_order INT(11), status INT(11), remarks TEXT, created_at DATETIME, createdby INT(11), updated_at DATETIME, updatedby INT(11) );"); DB::statement("CREATE TABLE IF NOT EXISTS tbl_admittedpplications ( admittedpplication_id INT(11) AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), alias VARCHAR(255), students_id INT(11), offerapplications_id INT(11), admission_date DATE, admission_fee DOUBLE, admissionfee_deadline DATE, admissionfee_paid BOOLEAN, admissionfee_paymentdate DATE, admissionee_paymentremarks DATE, admission_status VARCHAR(255), admission_letter VARCHAR(255), admission_conditions text, visa_status VARCHAR(255), visa_letter VARCHAR(255), visaapplication_date DATE, visaissue_date DATE, visa_conditions VARCHAR(255), commencement_status VARCHAR(255), commencement_letter VARCHAR(255), commencement_date DATE, commencement_conditions VARCHAR(255), description TEXT, display_order INT(11), status INT(11), remarks TEXT, created_at DATETIME, createdby INT(11), updated_at DATETIME, updatedby INT(11) );"); DB::statement("CREATE TABLE IF NOT EXISTS tbl_intakes ( intake_id INT(11) AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), alias VARCHAR(255), description TEXT, display_order INT(11), status INT(11), remarks TEXT, created_at DATETIME, createdby INT(11), updated_at DATETIME, updatedby INT(11) );"); DB::statement("CREATE TABLE IF NOT EXISTS tbl_programlevels ( programlevel_id INT(11) AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), alias VARCHAR(255), description TEXT, display_order INT(11), status INT(11), remarks TEXT, created_at DATETIME, createdby INT(11), updated_at DATETIME, updatedby INT(11) );"); DB::statement("CREATE TABLE IF NOT EXISTS tbl_roles ( role_id INT(11) AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), alias VARCHAR(255), description TEXT, display_order INT(11), status INT(11), remarks TEXT, created_at DATETIME, createdby INT(11), updated_at DATETIME, updatedby INT(11) );"); DB::statement("CREATE TABLE IF NOT EXISTS tbl_permissions ( permission_id INT(11) AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), alias VARCHAR(255), modal VARCHAR(255), command VARCHAR(255), created_at DATETIME, createdby INT(11), updated_at DATETIME, updatedby INT(11), status INT(11) );"); DB::statement("CREATE TABLE IF NOT EXISTS tbl_progressstatuses ( status_id INT(11) AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), alias VARCHAR(255), display_order int(11), created_at DATETIME, createdby INT(11), updated_at DATETIME, updatedby INT(11), status INT(11) );"); DB::statement("CREATE TABLE IF NOT EXISTS tbl_coops ( coop_id INT(11) AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), alias VARCHAR(255), display_order int(11), created_at DATETIME, createdby INT(11), updated_at DATETIME, updatedby INT(11), status INT(11) );"); DB::statement("CREATE TABLE IF NOT EXISTS tbl_campaignlocations ( location_id INT(11) AUTO_INCREMENT PRIMARY KEY, campaigns_id INT(11), title VARCHAR(255), alias VARCHAR(255), location_address VARCHAR(255), event_date DATETIME, display_order int(11), created_at DATETIME, createdby INT(11), updated_at DATETIME, updatedby INT(11), status INT(11) );"); DB::statement("CREATE TABLE IF NOT EXISTS tbl_rolepermissions ( rolepermission_id INT(11) AUTO_INCREMENT PRIMARY KEY, roles_id INT(11), permissions_id INT(11), display_order INT(11), remarks VARCHAR(255), created_at DATETIME, createdby INT(11), updated_at DATETIME, updatedby INT(11), status INT(11) );"); DB::statement("UPDATE tbl_programs set intake = '[\"1\"]' where intake='May 2024';"); DB::statement("UPDATE tbl_programs set intake = '[\"2\"]' where intake='September 2024';"); DB::statement("UPDATE tbl_programs set intake = '[\"2\"]' where intake='September';"); DB::statement("UPDATE tbl_programs set intake = '[\"1\",\"2\"]' where intake='May/Sept 2024';"); DB::statement("UPDATE tbl_programs set intake = '[\"1\",\"2\"]' where intake='May/Sept';"); if (Schema::hasColumn('offerapplications', 'requireddocuments_id')) { DB::statement("ALTER TABLE tbl_offerapplications CHANGE requireddocuments_id required_documents TEXT;"); } if (Schema::hasColumn('users', 'role')) { DB::statement("ALTER TABLE tbl_users CHANGE role roles_id TEXT;"); } if (Schema::hasColumn('campaigns', 'seo_keywords')) { DB::statement("ALTER TABLE tbl_campaigns CHANGE seo_keywords seo_keywords TEXT;"); } DB::statement("ALTER TABLE tbl_offerapplications CHANGE additional_documents additional_documents TEXT;"); DB::statement("ALTER TABLE tbl_offerapplications CHANGE application_fee application_fee VARCHAR(255);"); if (!(DB::table('programlevels')->first())) { DB::statement("INSERT INTO `tbl_programlevels` (`title`, `description`, `status`) VALUES ('PG Diploma /Certificate', 'pg_cert', '1');"); DB::statement("INSERT INTO `tbl_programlevels` (`title`, `description`, `status`) VALUES ('Certificate', 'cert', '1');"); DB::statement("INSERT INTO `tbl_programlevels` (`title`, `description`, `status`) VALUES ('Diploma', 'diploma', '1');"); DB::statement("INSERT INTO `tbl_programlevels` (`title`, `description`, `status`) VALUES ('Postgraduate', 'pg', '1');"); DB::statement("INSERT INTO `tbl_programlevels` (`title`, `description`, `status`) VALUES ('Fast Track', 'fast_track', '1');"); DB::statement("INSERT INTO `tbl_programlevels` (`title`, `description`, `status`) VALUES ('UG+PG (Accelerated) Degree', 'ug_pg_accelerated', '1');"); DB::statement("INSERT INTO `tbl_programlevels` (`title`, `description`, `status`) VALUES ('Advanced Diploma', 'advanced_diploma', '1');"); DB::statement("INSERT INTO `tbl_programlevels` (`title`, `description`, `status`) VALUES ('PG Diploma / Degree', 'pg_diploma_degree', '1');"); } if (!(DB::table('settings')->first())) { DB::statement("INSERT INTO `tbl_settings` (`title`, `description`, `status`) VALUES ('Bibhuti LMS', '', '1');"); } if (!(DB::table('campaigns')->first())) { DB::statement("INSERT INTO `tbl_campaigns` (`title`,`alias`,`status`) VALUES ('My First Campaign','my_first_campaign', '1');"); } if (!(DB::table('countries')->first())) { DB::statement("INSERT INTO `tbl_countries` (`title`,`alias`,`status`) VALUES ('Not Specific','not_specific', '1');"); } if (!(DB::table('leadcategories')->first())) { DB::statement("INSERT INTO `tbl_leadcategories` (`title`,`alias`,`status`) VALUES ('Raw Lead','raw_lead','1');"); } if (!(DB::table('intakes')->first())) { DB::statement("INSERT INTO `tbl_intakes` (`title`,`alias`,`status`) VALUES ('May 2024','may-2024','1');"); DB::statement("INSERT INTO `tbl_intakes` (`title`,`alias`,`status`) VALUES ('Sept 2024','sept-2024','1');"); DB::statement("INSERT INTO `tbl_intakes` (`title`,`alias`,`status`) VALUES ('March 2024','march-2024','1');"); DB::statement("INSERT INTO `tbl_intakes` (`title`,`alias`,`status`) VALUES ('April 2024','april-2024','1');"); } if (!(DB::table('coops')->first())) { DB::statement("INSERT INTO `tbl_coops` (`title`,`alias`,`status`) VALUES ('Not Offered','not_offered','1');"); DB::statement("INSERT INTO `tbl_coops` (`title`,`alias`,`status`) VALUES ('Open','open','1');"); DB::statement("INSERT INTO `tbl_coops` (`title`,`alias`,`status`) VALUES ('Waitlisted','waitlisted','1');"); DB::statement("INSERT INTO `tbl_coops` (`title`,`alias`,`status`) VALUES ('Close','close','1');"); } if (!(DB::table('sources')->first())) { DB::statement("INSERT INTO `tbl_sources` (`title`,`alias`,`status`) VALUES ('Direct','direct','1');"); DB::statement("INSERT INTO `tbl_sources` (`title`,`alias`,`status`) VALUES ('Office Visits','office','1');"); DB::statement("INSERT INTO `tbl_sources` (`title`,`alias`,`status`) VALUES ('Online Registrations','online','1');"); } if (!(DB::table('roles')->first())) { DB::statement("INSERT INTO `tbl_roles` (`title`,`alias`,`status`) VALUES ('Admin','admin','1');"); DB::statement("INSERT INTO `tbl_roles` (`title`,`alias`,`status`) VALUES ('Manager','manager','1');"); DB::statement("INSERT INTO `tbl_roles` (`title`,`alias`,`status`) VALUES ('Branch','branch','1');"); DB::statement("INSERT INTO `tbl_roles` (`title`,`alias`,`status`) VALUES ('Agent','agent','1');"); DB::statement("INSERT INTO `tbl_roles` (`title`,`alias`,`status`) VALUES ('Student','student','1');"); } if (!Schema::hasColumn('students', 'branches_id')) { Schema::table('students', function (Blueprint $table) { // Add the new column to the table $table->integer('branches_id')->nullable(); }); } if (!Schema::hasColumn('settings', 'address')) { Schema::table('settings', function (Blueprint $table) { // Add the new column to the table $table->text('address')->nullable(); }); } if (!Schema::hasColumn('programs', 'scholarship')) { Schema::table('programs', function (Blueprint $table) { // Add the new column to the table $table->string('scholarship')->nullable(); }); } if (!Schema::hasColumn('programs', 'documentsets_id')) { Schema::table('programs', function (Blueprint $table) { // Add the new column to the table $table->integer('documentsets_id')->nullable(); }); } if (!Schema::hasColumn('programs', 'program_url')) { Schema::table('programs', function (Blueprint $table) { // Add the new column to the table $table->string('program_url')->nullable(); }); } if (!Schema::hasColumn('programs', 'programlevels_id')) { Schema::table('programs', function (Blueprint $table) { // Add the new column to the table $table->string('programlevels_id')->nullable(); }); } if (!Schema::hasColumn('programs', 'code')) { Schema::table('programs', function (Blueprint $table) { // Add the new column to the table $table->string('code')->nullable(); }); } if (!Schema::hasColumn('programs', 'coops_id')) { Schema::table('programs', function (Blueprint $table) { // Add the new column to the table $table->string('coops_id')->nullable(); }); } if (!Schema::hasColumn('offerapplications', 'applicationfee_remarks')) { Schema::table('offerapplications', function (Blueprint $table) { // Add the new column to the table $table->text('applicationfee_remarks')->nullable(); }); } if (!Schema::hasColumn('users', 'branches_id')) { Schema::table('users', function (Blueprint $table) { // Add the new column to the table $table->integer('branches_id')->nullable(); }); } if (!Schema::hasColumn('users', 'agents_id')) { Schema::table('users', function (Blueprint $table) { // Add the new column to the table $table->integer('agents_id')->nullable(); }); } if (!Schema::hasColumn('users', 'students_id')) { Schema::table('users', function (Blueprint $table) { // Add the new column to the table $table->integer('students_id')->nullable(); }); } if (!Schema::hasColumn('requireddocuments', 'documentsets_id')) { Schema::table('requireddocuments', function (Blueprint $table) { // Add the new column to the table $table->integer('documentsets_id')->nullable(); }); } if (!Schema::hasColumn('requireddocuments', 'photo')) { Schema::table('requireddocuments', function (Blueprint $table) { // Add the new column to the table $table->string('photo')->nullable(); }); } if (!Schema::hasColumn('campaignarticles', 'sub_title')) { Schema::table('campaignarticles', function (Blueprint $table) { // Add the new column to the table $table->string('sub_title')->nullable()->after('title'); }); } $initialized = true; } } }