This commit is contained in:
tanch0 2024-06-15 22:23:54 +05:45
parent 8253440371
commit cb99bedac6
144 changed files with 6436 additions and 3112 deletions

View File

@ -0,0 +1,202 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Repositories\AdvertisementRepository;
use Illuminate\Http\Request;
use App\Models\Advertisement;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use App\Service\CommonModelService;
use Illuminate\Support\Str;
use Log;
use Exception;
class AdvertisementController extends Controller
{
protected $modelService;
protected $advertisementRepository;
public function __construct(Advertisement $model, AdvertisementRepository $advertisementRepository)
{
$this->modelService = new CommonModelService($model);
$this->advertisementRepository = $advertisementRepository;
}
public function index(Request $request)
{
createActivityLog(AdvertisementController::class, 'index', ' Advertisement index');
$data = Advertisement::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.advertisement.index", compact('data'));
}
public function create(Request $request)
{
createActivityLog(AdvertisementController::class, 'create', ' Advertisement create');
$TableData = Advertisement::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.advertisement.create", compact('TableData'));
}
public function store(Request $request)
{
createActivityLog(AdvertisementController::class, 'store', ' Advertisement store');
$validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$request->request->add(['display_order' => getDisplayOrder('tbl_advertisement')]);
$requestData = $request->all();
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$requestData['createdBy'] = Auth::user()->id;
$requestData['updatedBy'] = Auth::user()->id;
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->advertisementRepository->create($requestData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Advertisement Created Successfully.'], 200);
}
return redirect()->route('advertisement.index')->with('success', 'The Advertisement created Successfully.');
}
public function sort(Request $request)
{
$idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) {
$companyArticle = Advertisement::find($id);
$companyArticle->display_order = $index + 1;
$companyArticle->save();
}
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
}
public function updatealias(Request $request)
{
$articleId = $request->input('articleId');
$newAlias = $request->input('newAlias');
$companyArticle = Advertisement::find($articleId);
if (!$companyArticle) {
return response()->json(['status' => false, 'content' => 'Company article not found.'], 404);
}
$companyArticle->alias = $newAlias;
$companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
}
public function show(Request $request, $id)
{
createActivityLog(AdvertisementController::class, 'show', ' Advertisement show');
$data = Advertisement::findOrFail($id);
return view("crud.generated.advertisement.show", compact('data'));
}
public function edit(Request $request, $id)
{
createActivityLog(AdvertisementController::class, 'edit', ' Advertisement edit');
$TableData = Advertisement::where('status', '<>', -1)->orderBy('display_order')->get();
$data = Advertisement::findOrFail($id);
if ($request->ajax()) {
$html = view("crud.generated.advertisement.ajax.edit", compact('data'))->render();
return response()->json(['status' => true, 'content' => $html], 200);
}
return view("crud.generated.advertisement.edit", compact('data', 'TableData'));
}
public function update(Request $request, $id)
{
createActivityLog(AdvertisementController::class, 'update', ' Advertisement update');
$validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$filterData = $request->except('_method', '_token');
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->advertisementRepository->update($filterData, $id);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Advertisement updated Successfully.'], 200);
}
// return redirect()->route('advertisement.index')->with('success','The Advertisement updated Successfully.');
return redirect()->route('advertisement.index')->with('success', 'The Advertisement updated successfully.');
}
public function destroy(Request $request, $id)
{
createActivityLog(AdvertisementController::class, 'destroy', ' Advertisement destroy');
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->destroy($OperationNumber, $OperationNumber, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(AdvertisementController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Advertisement Deleted Successfully.'], 200);
}
public function toggle(Request $request, $id)
{
createActivityLog(AdvertisementController::class, 'destroy', ' Advertisement destroy');
$data = Advertisement::findOrFail($id);
$requestData = ['status' => ($data->status == 1) ? 0 : 1];
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(AdvertisementController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Advertisement Deleted Successfully.'], 200);
}
}

View File

@ -0,0 +1,193 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Authors;
use App\Repositories\AuthorRepository;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use App\Service\CommonModelService;
use Illuminate\Support\Str;
use Log;
use Exception;
class AuthorsController extends Controller
{
protected $modelService;
protected $authorRepository;
public function __construct(Authors $model, AuthorRepository $authorRepository)
{
$this->modelService = new CommonModelService($model);
$this->authorRepository = $authorRepository;
}
public function index(Request $request)
{
createActivityLog(AuthorsController::class, 'index', ' Authors index');
$data = Authors::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.authors.index", compact('data'));
}
public function create(Request $request)
{
createActivityLog(AuthorsController::class, 'create', ' Authors create');
$TableData = Authors::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.authors.create", compact('TableData'));
}
public function store(Request $request)
{
createActivityLog(AuthorsController::class, 'store', ' Authors store');
$validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$request->request->add(['display_order' => getDisplayOrder('tbl_authors')]);
$requestData = $request->all();
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$requestData['createdBy'] = Auth::user()->id;
$requestData['updatedBy'] = Auth::user()->id;
$this->authorRepository->create($requestData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Authors Created Successfully.'], 200);
}
return redirect()->route('authors.index')->with('success', 'The Authors created Successfully.');
}
public function sort(Request $request)
{
$idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) {
$companyArticle = Authors::find($id);
$companyArticle->display_order = $index + 1;
$companyArticle->save();
}
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
}
public function updatealias(Request $request)
{
$articleId = $request->input('articleId');
$newAlias = $request->input('newAlias');
$companyArticle = Authors::find($articleId);
if (!$companyArticle) {
return response()->json(['status' => false, 'content' => 'Company article not found.'], 404);
}
$companyArticle->alias = $newAlias;
$companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
}
public function show(Request $request, $id)
{
createActivityLog(AuthorsController::class, 'show', ' Authors show');
$data = Authors::findOrFail($id);
return view("crud.generated.authors.show", compact('data'));
}
public function edit(Request $request, $id)
{
createActivityLog(AuthorsController::class, 'edit', ' Authors edit');
$TableData = Authors::where('status', '<>', -1)->orderBy('display_order')->get();
$data = Authors::findOrFail($id);
if ($request->ajax()) {
$html = view("crud.generated.authors.ajax.edit", compact('data'))->render();
return response()->json(['status' => true, 'content' => $html], 200);
}
return view("crud.generated.authors.edit", compact('data', 'TableData'));
}
public function update(Request $request, $id)
{
createActivityLog(AuthorsController::class, 'update', ' Authors update');
$validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$filterData = $request->except('_token', '_method');
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->authorRepository->update($id,$filterData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Authors updated Successfully.'], 200);
}
// return redirect()->route('authors.index')->with('success','The Authors updated Successfully.');
return redirect()->route('authors.index')->with('success', 'The Authors updated successfully.');
}
public function destroy(Request $request, $id)
{
createActivityLog(AuthorsController::class, 'destroy', ' Authors destroy');
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->destroy($OperationNumber, $OperationNumber, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(AuthorsController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Authors Deleted Successfully.'], 200);
}
public function toggle(Request $request, $id)
{
createActivityLog(AuthorsController::class, 'destroy', ' Authors destroy');
$data = Authors::findOrFail($id);
$requestData = ['status' => ($data->status == 1) ? 0 : 1];
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(AuthorsController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Authors Deleted Successfully.'], 200);
}
}

View File

@ -0,0 +1,192 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Repositories\EconomyRepository;
use Illuminate\Http\Request;
use App\Models\Economies;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Validator;
use App\Service\CommonModelService;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Str;
use Log;
use Exception;
class EconomiesController extends Controller
{
protected $modelService;
protected $economyRepository;
public function __construct(Economies $model, EconomyRepository $economyRepository)
{
$this->modelService = new CommonModelService($model);
$this->economyRepository = $economyRepository;
}
public function index(Request $request)
{
createActivityLog(EconomiesController::class, 'index', ' Economies index');
$data = Economies::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.economies.index", compact('data'));
}
public function create(Request $request)
{
createActivityLog(EconomiesController::class, 'create', ' Economies create');
$TableData = Economies::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.economies.create", compact('TableData'));
}
public function store(Request $request)
{
dd($request->all());
createActivityLog(EconomiesController::class, 'store', ' Economies store');
$validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$request->request->add(['display_order' => getDisplayOrder('tbl_economies')]);
$requestData = $request->all();
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$requestData['createdBy'] = Auth::user()->id;
$requestData['updatedBy'] = Auth::user()->id;
$this->economyRepository->create($requestData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Economies Created Successfully.'], 200);
}
return redirect()->route('economies.index')->with('success', 'The Economies created Successfully.');
}
public function sort(Request $request)
{
$idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) {
$companyArticle = Economies::find($id);
$companyArticle->display_order = $index + 1;
$companyArticle->save();
}
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
}
public function updatealias(Request $request)
{
$articleId = $request->input('articleId');
$newAlias = $request->input('newAlias');
$companyArticle = Economies::find($articleId);
if (!$companyArticle) {
return response()->json(['status' => false, 'content' => 'Company article not found.'], 404);
}
$companyArticle->alias = $newAlias;
$companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
}
public function show(Request $request, $id)
{
createActivityLog(EconomiesController::class, 'show', ' Economies show');
$data = Economies::findOrFail($id);
return view("crud.generated.economies.show", compact('data'));
}
public function edit(Request $request, $id)
{
createActivityLog(EconomiesController::class, 'edit', ' Economies edit');
$TableData = Economies::where('status', '<>', -1)->orderBy('display_order')->get();
$data = Economies::findOrFail($id);
if ($request->ajax()) {
$html = view("crud.generated.economies.ajax.edit", compact('data'))->render();
return response()->json(['status' => true, 'content' => $html], 200);
}
return view("crud.generated.economies.edit", compact('data', 'TableData'));
}
public function update(Request $request, $id)
{
createActivityLog(EconomiesController::class, 'update', ' Economies update');
$validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS
]);
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$filterData = $request->except(['_token', '_method']);
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->economyRepository->update($id, $filterData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Economies updated Successfully.'], 200);
}
// return redirect()->route('economies.index')->with('success','The Economies updated Successfully.');
return redirect()->route('economies.index')->with('success', 'The Economies updated successfully.');
}
public function destroy(Request $request, $id)
{
createActivityLog(EconomiesController::class, 'destroy', ' Economies destroy');
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->destroy($OperationNumber, $OperationNumber, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(EconomiesController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Economies Deleted Successfully.'], 200);
}
public function toggle(Request $request, $id)
{
createActivityLog(EconomiesController::class, 'destroy', ' Economies destroy');
$data = Economies::findOrFail($id);
$requestData = ['status' => ($data->status == 1) ? 0 : 1];
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(EconomiesController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Economies Deleted Successfully.'], 200);
}
}

View File

@ -23,15 +23,8 @@ class MenuitemsController extends Controller
public function initializeController()
{
$menuTypes = [
['display' => "Articles", 'value' => "tbl_articles"],
['display' => "Country", 'value' => "tbl_countries"],
['display' => "Country Articles", 'value' => "tbl_countryarticles"],
['display' => "Events", 'value' => "tbl_events"],
['display' => "Faqs", 'value' => "tbl_faqs"],
['display' => "Institutions", 'value' => "tbl_institutions"],
['display' => "News/Blogs", 'value' => "tbl_news"],
['display' => "Preparation class", 'value' => "tbl_preparationclasses"],
['display' => "Testimonial", 'value' => "tbl_testimonials"],
// ['display' => "Articles", 'value' => "tbl_articles"],
['display' => "Custom", 'value' => ""],
];
@ -41,30 +34,10 @@ class MenuitemsController extends Controller
case 'tbl_articles':
$menuType['values'] = json_encode(DB::select("select article_id as value,title as display from " . $menuType['value'] . " where status=1 Order by title"));
break;
case 'tbl_countries':
$menuType['values'] = json_encode(DB::select("select country_id as value,title as display from " . $menuType['value'] . " where status=1 Order by title"));
break;
case 'tbl_countryarticles':
$menuType['values'] = json_encode(DB::select("select article_id as value,title as display from " . $menuType['value'] . " where status=1 Order by title"));
break;
case 'tbl_events':
$menuType['values'] = json_encode(DB::select("select event_id as value,title as display from " . $menuType['value'] . " where status=1 Order by title"));
break;
case 'tbl_faqs':
$menuType['values'] = json_encode(DB::select("select faq_id as value,title as display from " . $menuType['value'] . " where status=1 Order by title"));
break;
case 'tbl_institutions':
$menuType['values'] = json_encode(DB::select("select institution_id as value,title as display from " . $menuType['value'] . " where status=1 Order by title"));
break;
case 'tbl_news':
$menuType['values'] = json_encode(DB::select("select news_id as value,title as display from " . $menuType['value'] . " where status=1 Order by title"));
break;
case 'tbl_preparationclasses':
$menuType['values'] = json_encode(DB::select("select preparationclass_id as value,title as display from " . $menuType['value'] . " where status=1 Order by title"));
break;
case 'tbl_testimonials':
$menuType['values'] = json_encode(DB::select("select testimonial_id as value, `by` as display from " . $menuType['value'] . " where status=1 order by `by`"));
break;
default:

View File

@ -0,0 +1,213 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Repositories\NewsRepository;
use Illuminate\Http\Request;
use App\Models\News;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use App\Service\CommonModelService;
use Illuminate\Support\Str;
use Log;
use Exception;
class NewsController extends Controller
{
protected $modelService;
protected $newsRepository;
public function __construct(News $model, NewsRepository $newsRepository)
{
$this->modelService = new CommonModelService($model);
$this->newsRepository = $newsRepository;
}
public function index(Request $request)
{
createActivityLog(NewsController::class, 'index', ' News index');
$data = News::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.news.index", compact('data'));
}
public function create(Request $request)
{
createActivityLog(NewsController::class, 'create', ' News create');
$TableData = News::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.news.create", compact('TableData'));
}
public function store(Request $request)
{
// dd($request->all());
$isFeatured = $request->input('featured_news');
createActivityLog(NewsController::class, 'store', ' News store');
$validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$request->request->add(['display_order' => getDisplayOrder('tbl_news')]);
$requestData = $request->all();
$requestData['createdBy'] = Auth::user()->id;
$requestData['updatedBy'] = Auth::user()->id;
if ($isFeatured) {
News::where('featured_news', 'True')->update(['featured_news' => 'False']);
$requestData['featured_news'] = 'True';
} else {
$requestData['featured_news'] = 'False';
}
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->newsRepository->create($requestData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The News Created Successfully.'], 200);
}
return redirect()->route('news.index')->with('success', 'The News created Successfully.');
}
public function sort(Request $request)
{
$idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) {
$companyArticle = News::find($id);
$companyArticle->display_order = $index + 1;
$companyArticle->save();
}
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
}
public function updatealias(Request $request)
{
$articleId = $request->input('articleId');
$newAlias = $request->input('newAlias');
$companyArticle = News::find($articleId);
if (!$companyArticle) {
return response()->json(['status' => false, 'content' => 'Company article not found.'], 404);
}
$companyArticle->alias = $newAlias;
$companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
}
public function show(Request $request, $id)
{
createActivityLog(NewsController::class, 'show', ' News show');
$data = News::findOrFail($id);
return view("crud.generated.news.show", compact('data'));
}
public function edit(Request $request, $id)
{
createActivityLog(NewsController::class, 'edit', ' News edit');
$TableData = News::where('status', '<>', -1)->orderBy('display_order')->get();
$data = News::findOrFail($id);
if ($request->ajax()) {
$html = view("crud.generated.news.ajax.edit", compact('data'))->render();
return response()->json(['status' => true, 'content' => $html], 200);
}
return view("crud.generated.news.edit", compact('data', 'TableData'));
}
public function update(Request $request, $id)
{
$isFeatured = $request->input('featured_news');
createActivityLog(NewsController::class, 'update', ' News update');
$validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$filterData = $request->except('_method', '_token');
if ($isFeatured) {
News::where('featured_news', 'True')->update(['featured_news' => 'False']);
$filterData['featured_news'] = 'True';
} else {
$filterData['featured_news'] = 'False';
}
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->newsRepository->update($id, $filterData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The News updated Successfully.'], 200);
}
// return redirect()->route('news.index')->with('success','The News updated Successfully.');
return redirect()->route('news.index')->with('success', 'The News updated successfully.');
}
public function destroy(Request $request, $id)
{
createActivityLog(NewsController::class, 'destroy', ' News destroy');
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->destroy($OperationNumber, $OperationNumber, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(NewsController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The News Deleted Successfully.'], 200);
}
public function toggle(Request $request, $id)
{
createActivityLog(NewsController::class, 'destroy', ' News destroy');
$data = News::findOrFail($id);
$requestData = ['status' => ($data->status == 1) ? 0 : 1];
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(NewsController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The News Deleted Successfully.'], 200);
}
}

View File

@ -0,0 +1,193 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Repositories\NewsTypeRepository;
use Illuminate\Http\Request;
use App\Models\News_type;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use App\Service\CommonModelService;
use Illuminate\Support\Str;
use Log;
use Exception;
class News_typeController extends Controller
{
protected $modelService;
protected $newsTypeRepository;
public function __construct(News_type $model, NewsTypeRepository $newsTypeRepository)
{
$this->modelService = new CommonModelService($model);
$this->newsTypeRepository = $newsTypeRepository;
}
public function index(Request $request)
{
createActivityLog(News_typeController::class, 'index', ' News_type index');
$data = News_type::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.news_type.index", compact('data'));
}
public function create(Request $request)
{
createActivityLog(News_typeController::class, 'create', ' News_type create');
$TableData = News_type::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.news_type.create", compact('TableData'));
}
public function store(Request $request)
{
createActivityLog(News_typeController::class, 'store', ' News_type store');
$validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$request->request->add(['display_order' => getDisplayOrder('tbl_news_type')]);
$requestData = $request->all();
$requestData['createdBy'] = Auth::user()->id;
$requestData['updatedBy'] = Auth::user()->id;
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->newsTypeRepository->create($requestData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The News_type Created Successfully.'], 200);
}
return redirect()->route('news_type.index')->with('success', 'The News_type created Successfully.');
}
public function sort(Request $request)
{
$idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) {
$companyArticle = News_type::find($id);
$companyArticle->display_order = $index + 1;
$companyArticle->save();
}
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
}
public function updatealias(Request $request)
{
$articleId = $request->input('articleId');
$newAlias = $request->input('newAlias');
$companyArticle = News_type::find($articleId);
if (!$companyArticle) {
return response()->json(['status' => false, 'content' => 'Company article not found.'], 404);
}
$companyArticle->alias = $newAlias;
$companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
}
public function show(Request $request, $id)
{
createActivityLog(News_typeController::class, 'show', ' News_type show');
$data = News_type::findOrFail($id);
return view("crud.generated.news_type.show", compact('data'));
}
public function edit(Request $request, $id)
{
createActivityLog(News_typeController::class, 'edit', ' News_type edit');
$TableData = News_type::where('status', '<>', -1)->orderBy('display_order')->get();
$data = News_type::findOrFail($id);
if ($request->ajax()) {
$html = view("crud.generated.news_type.ajax.edit", compact('data'))->render();
return response()->json(['status' => true, 'content' => $html], 200);
}
return view("crud.generated.news_type.edit", compact('data', 'TableData'));
}
public function update(Request $request, $id)
{
createActivityLog(News_typeController::class, 'update', ' News_type update');
$validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$filterData = $request->except(['_token', '_method']);
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->newsTypeRepository->update($id, $filterData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The News_type updated Successfully.'], 200);
}
// return redirect()->route('news_type.index')->with('success','The News_type updated Successfully.');
return redirect()->route('news_type.index')->with('success', 'The News_type updated successfully.');
}
public function destroy(Request $request, $id)
{
createActivityLog(News_typeController::class, 'destroy', ' News_type destroy');
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->destroy($OperationNumber, $OperationNumber, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(News_typeController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The News_type Deleted Successfully.'], 200);
}
public function toggle(Request $request, $id)
{
createActivityLog(News_typeController::class, 'destroy', ' News_type destroy');
$data = News_type::findOrFail($id);
$requestData = ['status' => ($data->status == 1) ? 0 : 1];
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(News_typeController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The News_type Deleted Successfully.'], 200);
}
}

View File

@ -0,0 +1,196 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Newscategories;
use App\Repositories\NewsCategoriesRepository;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use App\Service\CommonModelService;
use Illuminate\Support\Str;
use Log;
use Exception;
class NewscategoriesController extends Controller
{
protected $modelService;
protected $newsCategoriesRepository;
public function __construct(Newscategories $model, NewsCategoriesRepository $newsCategoriesRepository)
{
$this->modelService = new CommonModelService($model);
$this->newsCategoriesRepository = $newsCategoriesRepository;
}
public function index(Request $request)
{
createActivityLog(NewscategoriesController::class, 'index', ' Newscategories index');
$data = Newscategories::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.newscategories.index", compact('data'));
}
public function create(Request $request)
{
createActivityLog(NewscategoriesController::class, 'create', ' Newscategories create');
$TableData = Newscategories::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.newscategories.create", compact('TableData'));
}
public function store(Request $request)
{
createActivityLog(NewscategoriesController::class, 'store', ' Newscategories store');
$validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => slugify($request->title),
]);
$request->request->add(['display_order' => getDisplayOrder('tbl_newscategories')]);
$requestData = $request->all();
$requestData['createdBy'] = Auth::user()->id;
$requestData['updatedBy'] = Auth::user()->id;
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->newsCategoriesRepository->create($requestData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Newscategories Created Successfully.'], 200);
}
return redirect()->route('newscategories.index')->with('success', 'The Newscategories created Successfully.');
}
public function sort(Request $request)
{
$idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) {
$companyArticle = Newscategories::find($id);
$companyArticle->display_order = $index + 1;
$companyArticle->save();
}
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
}
public function updatealias(Request $request)
{
$articleId = $request->input('articleId');
$newAlias = $request->input('newAlias');
$companyArticle = Newscategories::find($articleId);
if (!$companyArticle) {
return response()->json(['status' => false, 'content' => 'Company article not found.'], 404);
}
$companyArticle->alias = $newAlias;
$companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
}
public function show(Request $request, $id)
{
createActivityLog(NewscategoriesController::class, 'show', ' Newscategories show');
$data = Newscategories::findOrFail($id);
return view("crud.generated.newscategories.show", compact('data'));
}
public function edit(Request $request, $id)
{
createActivityLog(NewscategoriesController::class, 'edit', ' Newscategories edit');
$TableData = Newscategories::where('status', '<>', -1)->orderBy('display_order')->get();
$data = Newscategories::findOrFail($id);
if ($request->ajax()) {
$html = view("crud.generated.newscategories.ajax.edit", compact('data'))->render();
return response()->json(['status' => true, 'content' => $html], 200);
}
return view("crud.generated.newscategories.edit", compact('data', 'TableData'));
}
public function update(Request $request, $id)
{
createActivityLog(NewscategoriesController::class, 'update', ' Newscategories update');
$validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$filterData = $request->except(['_token', '_method']);
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->newsCategoriesRepository->update($id, $filterData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Newscategories updated Successfully.'], 200);
}
// return redirect()->route('newscategories.index')->with('success','The Newscategories updated Successfully.');
return redirect()->route('newscategories.index')->with('success', 'The Newscategories updated successfully.');
}
public function destroy(Request $request, $id)
{
createActivityLog(NewscategoriesController::class, 'destroy', ' Newscategories destroy');
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->destroy($OperationNumber, $OperationNumber, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(NewscategoriesController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Newscategories Deleted Successfully.'], 200);
}
public function toggle(Request $request, $id)
{
createActivityLog(NewscategoriesController::class, 'destroy', ' Newscategories destroy');
$data = Newscategories::findOrFail($id);
$requestData = ['status' => ($data->status == 1) ? 0 : 1];
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(NewscategoriesController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Newscategories Deleted Successfully.'], 200);
}
}

View File

@ -0,0 +1,186 @@
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Repositories\ProvinceRepository;
use Illuminate\Http\Request;
use App\Models\Provinces;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\Validator;
use App\Service\CommonModelService;
use Brian2694\Toastr\Facades\Toastr;
use Log;
use Exception;
class ProvincesController extends Controller
{
protected $modelService;
private $ProvinceRepository;
public function __construct(Provinces $model, ProvinceRepository $ProvinceRepository)
{
$this->modelService = new CommonModelService($model);
$this->ProvinceRepository = $ProvinceRepository;
}
public function index(Request $request)
{
createActivityLog(ProvincesController::class, 'index', ' Provinces index');
$data = $this->ProvinceRepository->getAll();
return view("crud.generated.provinces.index", compact('data'));
}
public function create(Request $request)
{
createActivityLog(ProvincesController::class, 'create', ' Provinces create');
$TableData = Provinces::where('status', '<>', -1)->orderBy('display_order')->get();
return view("crud.generated.provinces.create", compact('TableData'));
}
public function store(Request $request)
{
$validatedData = $request->validate([
'title' => 'required|string|max:255',
'province_nepali_name' => 'nullable|string|max:255',
]);
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$request->request->add(['display_order' => getDisplayOrder('tbl_provinces')]);
$requestData = $request->all();
$requestData['createdBy'] = Auth::user()->id;
$requestData['updatedBy'] = Auth::user()->id;
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->ProvinceRepository->create($requestData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Provinces Created Successfully.'], 200);
}
return redirect()->route('provinces.index')->with('success', 'The Provinces created Successfully.');
}
public function sort(Request $request)
{
$idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) {
$companyArticle = Provinces::find($id);
$companyArticle->display_order = $index + 1;
$companyArticle->save();
}
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
}
public function updatealias(Request $request)
{
$articleId = $request->input('articleId');
$newAlias = $request->input('newAlias');
$companyArticle = Provinces::find($articleId);
if (!$companyArticle) {
return response()->json(['status' => false, 'content' => 'Company article not found.'], 404);
}
$companyArticle->alias = $newAlias;
$companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
}
public function show(Request $request, $id)
{
createActivityLog(ProvincesController::class, 'show', ' Provinces show');
$data = Provinces::findOrFail($id);
return view("crud.generated.provinces.show", compact('data'));
}
public function edit(Request $request, $id)
{
createActivityLog(ProvincesController::class, 'edit', ' Provinces edit');
$TableData = Provinces::where('status', '<>', -1)->orderBy('display_order')->get();
$data = Provinces::findOrFail($id);
if ($request->ajax()) {
$html = view("crud.generated.provinces.ajax.edit", compact('data'))->render();
return response()->json(['status' => true, 'content' => $html], 200);
}
return view("crud.generated.provinces.edit", compact('data', 'TableData'));
}
public function update(Request $request, $id)
{
createActivityLog(ProvincesController::class, 'update', ' Provinces update');
$validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors(),
], 500);
}
$request->mergeIfMissing([
'alias' => Str::slug($request->title),
]);
$filterData = $request->except('_method', '_token');
// $requestData = $request->all();
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL') . '/', '', $value);
});
array_walk_recursive($filterData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value);
});
$this->ProvinceRepository->update($id, $filterData);
if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Provinces updated Successfully.'], 200);
}
// return redirect()->route('provinces.index')->with('success','The Provinces updated Successfully.');
return redirect()->route('provinces.index')->with('success', 'The Provinces updated successfully.');
}
public function destroy(Request $request, $id)
{
createActivityLog(ProvincesController::class, 'destroy', ' Provinces destroy');
$this->ProvinceRepository->delete($id);
return response()->json(['status' => true, 'message' => 'The Provinces Deleted Successfully.'], 200);
}
public function toggle(Request $request, $id)
{
createActivityLog(ProvincesController::class, 'destroy', ' Provinces destroy');
$data = Provinces::findOrFail($id);
$requestData = ['status' => ($data->status == 1) ? 0 : 1];
DB::beginTransaction();
try {
$OperationNumber = getOperationNumber();
$this->modelService->update($OperationNumber, $OperationNumber, null, $requestData, $id);
} catch (Exception $e) {
DB::rollBack();
Log::info($e->getMessage());
createErrorLog(ProvincesController::class, 'destroy', $e->getMessage());
return response()->json(['status' => false, 'message' => $e->getMessage()], 500);
}
DB::commit();
return response()->json(['status' => true, 'message' => 'The Provinces Deleted Successfully.'], 200);
}
}

View File

@ -1,6 +1,11 @@
<?php
namespace App\Http\Controllers;
use App\Models\Economies;
use App\Models\News;
use App\Models\News_type;
use App\Models\Newscategories;
use App\Models\Provinces;
class WebsiteController extends Controller
{
@ -12,10 +17,39 @@ class WebsiteController extends Controller
}
public function home(){
return view($this->path.'.home');
$data['featuredNews'] = News::where('featured_news',"True")->where('status',1)->first();
$data['provinces'] = Provinces::with('provinceNews')->limit(5)->get();
$data['categories'] = Newscategories::with('news')->get();
$data['interviews'] = Newscategories::with('interviewNews')->get();
$data['politics'] = Newscategories::with('politicNews')->get();
// $data['economics'] = Newscategories::with('news')->inRandomOrder()->get();
$data['economics'] = Economies::with('news')
->orderBy('display_order')
->where('status',1)
->get();
$data['sports'] = Newscategories::with('sportNews')->get();
$data['cultural'] = Newscategories::with('culturalNews')->get();
$data['technology'] = Newscategories::with('technologyNews')->get();
$data['entertainment'] = Newscategories::with('entertainmentNews')->get();
// dd($data['entertainment']);
$data['internationalNews'] = News_type::with('news')->get();
// dd($data['internationalNews']);
return view($this->path.'.home',$data);
}
public function single(){
return view($this->path.'.single');
}
public function newsDetail(){
return view($this->path.'.news-detail');
}
}

View File

@ -0,0 +1,56 @@
<?php
namespace App\Models;
use App\Models\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CreatedUpdatedBy;
class Advertisement extends Model
{
use HasFactory, CreatedUpdatedBy;
protected $primaryKey = 'advertisement_id';
protected $table = 'advertisement';
public $timestamps = true;
protected $fillable = [
'title',
'parent_id',
'alias',
'description',
'image',
'video',
'link',
'display_order',
'status',
'remarks',
'created_by',
'updated_by',
'created_at',
'updated_at',
];
protected $appends = ['status_name'];
protected function getStatusNameAttribute()
{
return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>';
}
protected function createdBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
protected function updatedBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
}

56
app/Models/Authors.php Normal file
View File

@ -0,0 +1,56 @@
<?php
namespace App\Models;
use App\Models\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CreatedUpdatedBy;
class Authors extends Model
{
use HasFactory, CreatedUpdatedBy;
protected $primaryKey = 'author_id';
public $timestamps = true;
protected $fillable = [
'title',
'alias',
'author_email',
'author_description',
'author_image',
'status',
'display_order',
'createdBy',
'updatedBy',
'created_at',
'updated_at',
];
protected $appends = ['status_name'];
protected function getStatusNameAttribute()
{
return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>';
}
protected function createdBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
protected function updatedBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
public function publishedNews(){
return $this->hasMany(News::class, 'authors_id', 'author_id')->where('status', 1);
}
}

54
app/Models/Economies.php Normal file
View File

@ -0,0 +1,54 @@
<?php
namespace App\Models;
use App\Models\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CreatedUpdatedBy;
class Economies extends Model
{
use HasFactory, CreatedUpdatedBy;
protected $primaryKey = 'economy_id';
public $timestamps = true;
protected $fillable = [
'title',
'ecomomy_nepali_name',
'alias',
'status',
'display_order',
'createdBy',
'updatedBy',
'created_at',
'updated_at',
];
protected $appends = ['status_name'];
protected function getStatusNameAttribute()
{
return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>';
}
protected function createdBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
protected function updatedBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
public function news(){
return $this->hasMany(News::class, 'economics_id', 'economy_id');
}
}

View File

@ -30,11 +30,11 @@ class OperationLog extends Model
];
// protected $appends = ['operation_by'];
protected $appends = ['operation_by'];
// public function getOperationByAttribute()
// {
// $user = User::find($this->user_id);
// return $user ? $user->name : '';
// }
public function getOperationByAttribute()
{
$user = User::find($this->user_id);
return $user ? $user->name : '';
}
}

91
app/Models/News.php Normal file
View File

@ -0,0 +1,91 @@
<?php
namespace App\Models;
use App\Models\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CreatedUpdatedBy;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class News extends Model
{
use HasFactory, CreatedUpdatedBy;
protected $primaryKey = 'news_id';
public $timestamps = true;
protected $fillable = [
'newscategories_id',
'provinces_id',
'news_type_id',
'economics_id',
'authors_id',
'parent_news',
'title',
'short_description',
'nepali_title',
'alias',
'content',
'featured_news',
'image',
'thumb',
'image_source',
'display_order',
'status',
'remarks',
'createdBy',
'updatedBy',
'created_at',
'updated_at',
];
protected $appends = ['status_name'];
protected function getStatusNameAttribute()
{
return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>';
}
protected function createdBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
protected function updatedBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
public function parent()
{
return $this->belongsTo(News::class, 'parent_news');
}
public function children()
{
return $this->hasMany(News::class, 'parent_news');
}
public function newsType(): BelongsTo
{
return $this->belongsTo(News_Type::class, 'news_type_id', 'news_type_id');
}
public function newsCategories(): BelongsTo
{
return $this->belongsTo(Newscategories::class, 'newscategories_id', 'category_id');
}
public function author(): BelongsTo
{
return $this->belongsTo(User::class, 'authors_id', 'author_id');
}
public function provinces(): BelongsTo{
return $this->belongsTo(Provinces::class, 'provinces_id', 'province_id');
}
}

56
app/Models/News_type.php Normal file
View File

@ -0,0 +1,56 @@
<?php
namespace App\Models;
use App\Models\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CreatedUpdatedBy;
use Illuminate\Database\Eloquent\Relations\HasMany;
class News_type extends Model
{
use HasFactory, CreatedUpdatedBy;
protected $primaryKey = 'news_type_id';
protected $table = 'news_type';
public $timestamps = true;
protected $fillable = [
'title',
'title_nepali',
'alias',
'status',
'display_order',
'created_at',
'updated_at',
];
protected $appends = ['status_name'];
protected function getStatusNameAttribute()
{
return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>';
}
protected function createdBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
protected function updatedBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
public function news(): HasMany
{
return $this->hasMany(News::class, 'news_type_id', 'news_type_id');
}
}

View File

@ -0,0 +1,85 @@
<?php
namespace App\Models;
use App\Models\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CreatedUpdatedBy;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Newscategories extends Model
{
use HasFactory, CreatedUpdatedBy;
protected $primaryKey = 'category_id';
public $timestamps = true;
protected $fillable = [
'title',
'nepali_title',
'alias',
'parent_category',
'display_order',
'status',
'remarks',
'createdby',
'updatedby',
'created_at',
'updated_at',
];
protected $appends = ['status_name'];
protected function getStatusNameAttribute()
{
return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>';
}
protected function createdBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
protected function updatedBy(): Attribute
{
return Attribute::make(
get: fn ($value) => User::find($value) ? User::find($value)->name : '',
);
}
public function parent()
{
return $this->belongsTo(Newscategories::class, 'parent_category')->where('status',1);
}
public function children()
{
return $this->hasMany(Newscategories::class, 'parent_category')->where('status',1);
}
public function news(){
return $this->hasMany(News::class, 'newscategories_id', 'category_id')->orderBy('display_order');
}
public function entertainmentNews(){
return $this->hasMany(News::class, 'newscategories_id', 'category_id')->limit(6)->inRandomOrder()->orderBy('display_order');
}
public function technologyNews(){
return $this->hasMany(News::class, 'newscategories_id', 'category_id')->limit(6)->inRandomOrder()->orderBy('display_order');
}
public function culturalNews(){
return $this->hasMany(News::class, 'newscategories_id', 'category_id')->limit(6)->inRandomOrder()->orderBy('display_order');
}
public function sportNews(){
return $this->hasMany(News::class, 'newscategories_id', 'category_id')->limit(9)->inRandomOrder()->orderBy('display_order');
}
public function interviewNews(){
return $this->hasMany(News::class, 'newscategories_id', 'category_id')->limit(6)->inRandomOrder()->orderBy('display_order');
}
public function politicNews(){
return $this->hasMany(News::class, 'newscategories_id', 'category_id')->limit(5)->inRandomOrder()->orderBy('display_order');
}
}

61
app/Models/Provinces.php Normal file
View File

@ -0,0 +1,61 @@
<?php
namespace App\Models;
use App\Models\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Traits\CreatedUpdatedBy;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Provinces extends Model
{
use HasFactory, CreatedUpdatedBy;
protected $primaryKey = 'province_id';
public $timestamps = true;
protected $fillable = [
'title',
'province_no',
'province_nepali_name',
'alias',
'status',
'display_order',
'createdBy',
'updatedBy',
'created_at',
'updated_at',
];
protected $appends = ['status_name'];
protected function getStatusNameAttribute()
{
return $this->status == 1 ? '<span class="badge text-bg-success-soft"> Active </span>' : '<span class="badge text-bg-danger-soft">Inactive</span>';
}
// protected function createdBy(): Attribute
// {
// return Attribute::make(
// get: fn ($value) => User::find($value) ? User::find($value)->name : '',
// );
// }
// protected function updatedBy(): Attribute
// {
// return Attribute::make(
// get: fn ($value) => User::find($value) ? User::find($value)->name : '',
// );
// }
public function provinceNews():HasMany{
return $this->hasMany(News::class,'provinces_id','province_id')
->where('status','<>',-1)
->where('news_type_id',2)
->where('newscategories_id',1)
->orderBy('display_order');
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Repositories;
use App\Models\Advertisement;
use App\Repositories\Interface\AdvertisementInterface;
class AdvertisementRepository implements AdvertisementInterface
{
public function getAll()
{
return Advertisement::where('status', '<>', -1)->orderBy('display_order')->get();
}
public function getAdvertisementById($advertisementId)
{
return Advertisement::where('advertisement_id', $advertisementId)->first();
}
public function delete($advertisementId)
{
return Advertisement::where('advertisement_id', $advertisementId)->delete();
}
public function create(array $newData)
{
return Advertisement::create($newData);
}
public function update($advertisementId, array $newDetails)
{
return Advertisement::where('advertisement_id', $advertisementId)->update($newDetails);
}
}

View File

@ -0,0 +1,34 @@
<?php
namespace App\Repositories;
use App\Repositories\Interface\AuthorsInterface;
use App\Models\Authors;
class AuthorRepository implements AuthorsInterface
{
public function getAll()
{
return Authors::where('status', '<>', -1)->orderBy('display_order')->get();
}
public function getAuthorsById($authorId)
{
return Authors::findOrFail($authorId);
}
public function delete($authorId)
{
return Authors::destroy($authorId);
}
public function create(array $authorDetail)
{
return Authors::create($authorDetail);
}
public function update($authorId, array $newDetails)
{
return Authors::where('author_id', $authorId)->update($newDetails);
}
}

View File

@ -0,0 +1,34 @@
<?php
namespace App\Repositories;
use App\Models\Economies;
use App\Repositories\Interface\EconomyInterface;
class EconomyRepository implements EconomyInterface
{
public function getAll()
{
return Economies::where('status','<>', -1)->orderBy('display_order')->get();
}
public function getId($id)
{
return Economies::findOrFail($id);
}
public function delete($id)
{
return Economies::destroy($id);
}
public function create(array $Details)
{
return Economies::create($Details);
}
public function update($id, array $newDetails){
return Economies::where('economy_id', $id)->update($newDetails);
}
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Repositories\Interface;
interface AdvertisementInterface
{
public function getAll();
public function getAdvertisementById($id);
public function delete($advertisementId);
public function create(array $advertisementDetail);
public function update($advertisementId, array $newDetails);
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Repositories\Interface;
interface AuthorsInterface
{
public function getAll();
public function getAuthorsById($authorId);
public function delete($authorId);
public function create(array $authorDetail);
public function update($authorId, array $newDetails);
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Repositories\Interface;
interface EconomyInterface
{
public function getAll();
public function getId($id);
public function delete($id);
public function create(array $Details);
public function update($id, array $newDetails);
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Repositories\Interface;
interface NewsCategoriesInterface
{
public function getAll();
public function getNewsCategoriesById($newsCategoriesId);
public function delete($newsCategoriesId);
public function create(array $newsCategoriesDetail);
public function update($newsCategoriesId, array $newDetails);
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Repositories\Interface;
interface NewsInterface
{
public function getAll();
public function getNewsById($newsId);
public function delete($newsId);
public function create(array $newsDetail);
public function update($newsId, array $newDetails);
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Repositories\Interface;
interface NewsTypeInterface
{
public function getAll();
public function getNewsTypeById($newsTypeId);
public function delete($newsTypeId);
public function create(array $newsTypeDetail);
public function update($newsTypeId, array $newDetails);
}

View File

@ -0,0 +1,12 @@
<?php
namespace App\Repositories\Interface;
interface ProvinceInterface
{
public function getAll();
public function getProvinceById($provinceId);
public function delete($provinceId);
public function create(array $provinceDetails);
public function update($provinceId, array $newDetails);
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Repositories;
use App\Models\Newscategories;
use App\Repositories\Interface\NewsCategoriesInterface;
class NewsCategoriesRepository implements NewsCategoriesInterface
{
public function getAll()
{
return Newscategories::where('status', '<>', -1)->orderBy('display_order')->get();
}
public function getNewsCategoriesById($newsCategoriesId)
{
return Newscategories::findOrFail($newsCategoriesId);
}
public function delete($newsCategoriesId)
{
return Newscategories::destroy($newsCategoriesId);
}
public function create(array $provinceDetails)
{
return Newscategories::create($provinceDetails);
}
public function update($newsCategoriesId, array $newDetails)
{
return Newscategories::where('category_id', $newsCategoriesId)->update($newDetails);
}
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Repositories;
use App\Models\News;
use App\Repositories\Interface\NewsInterface;
class NewsRepository implements NewsInterface
{
public function getAll()
{
return News::where('status', '<>', -1)->orderBy('display_order')->get();
}
public function getNewsById($newsId)
{
return News::findOrFail($newsId);
}
public function delete($newsId)
{
return News::destroy($newsId);
}
public function create(array $newsDetail)
{
return News::create($newsDetail);
}
public function update($newsId, array $newDetails)
{
return News::where('news_id', $newsId)->update($newDetails);
}
}

View File

@ -0,0 +1,34 @@
<?php
namespace App\Repositories;
use App\Models\News_type;
use App\Repositories\Interface\NewsTypeInterface;
class NewsTypeRepository implements NewsTypeInterface
{
public function getAll()
{
return News_type::where('status','<>', -1)->orderBy('display_order')->get();
}
public function getNewsTypeById($newsTypeId)
{
return News_type::findOrFail($newsTypeId);
}
public function delete($newsTypeId)
{
return News_type::destroy($newsTypeId);
}
public function create(array $newsTypeDetail)
{
return News_type::create($newsTypeDetail);
}
public function update($newsTypeId, array $newDetails){
return News_type::where('news_type_id', $newsTypeId)->update($newDetails);
}
}

View File

@ -0,0 +1,34 @@
<?php
namespace App\Repositories;
use App\Models\Provinces;
use App\Repositories\Interface\ProvinceInterface;
class ProvinceRepository implements ProvinceInterface
{
public function getAll()
{
return Provinces::where('status','<>', -1)->orderBy('display_order')->get();
}
public function getProvinceById($provinceId)
{
return Provinces::findOrFail($provinceId);
}
public function delete($provinceId)
{
return Provinces::destroy($provinceId);
}
public function create(array $provinceDetails)
{
return Provinces::create($provinceDetails);
}
public function update($provinceId, array $newDetails){
return Provinces::where('province_id', $provinceId)->update($newDetails);
}
}

View File

@ -6,6 +6,7 @@
"license": "MIT",
"require": {
"php": "^8.1.17",
"brian2694/laravel-toastr": "^5.59",
"google/recaptcha": "^1.3",
"guzzlehttp/guzzle": "^7.2",
"laravel/framework": "^10.10",

64
composer.lock generated
View File

@ -4,8 +4,70 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "2124567ecbcd27da68d10934a73d827a",
"content-hash": "c01d9fba41ba7441a0f6055ccba08d45",
"packages": [
{
"name": "brian2694/laravel-toastr",
"version": "5.59",
"source": {
"type": "git",
"url": "https://github.com/brian2694/laravel-toastr.git",
"reference": "60f90a7b25973549c3992b3dc5965d4f0e27838c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/brian2694/laravel-toastr/zipball/60f90a7b25973549c3992b3dc5965d4f0e27838c",
"reference": "60f90a7b25973549c3992b3dc5965d4f0e27838c",
"shasum": ""
},
"require": {
"illuminate/session": ">=5.2.7",
"illuminate/support": ">=5.2.7",
"php": ">=5.5.0"
},
"type": "library",
"extra": {
"laravel": {
"providers": [
"Brian2694\\Toastr\\ToastrServiceProvider"
],
"aliases": {
"Toastr": "Brian2694\\Toastr\\Facades\\Toastr"
}
}
},
"autoload": {
"files": [
"src/helper.php"
],
"psr-4": {
"Brian2694\\Toastr\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "brian2694",
"email": "briansanchez2694@gmail.com"
}
],
"description": "toastr.js for Laravel",
"homepage": "https://github.com/brian2694/laravel-toastr",
"keywords": [
"laravel",
"notification",
"php",
"toastr"
],
"support": {
"issues": "https://github.com/brian2694/laravel-toastr/issues",
"source": "https://github.com/brian2694/laravel-toastr/tree/5.59"
},
"time": "2024-01-02T16:03:28+00:00"
},
{
"name": "brick/math",
"version": "0.11.0",

View File

@ -172,6 +172,7 @@ return [
App\Providers\RouteServiceProvider::class,
// App\Providers\LaravelInstallerServiceProvider::class,
Bibhuti\Installer\Providers\LaravelInstallerServiceProvider::class,
Brian2694\Toastr\ToastrServiceProvider::class,
])->toArray(),
@ -188,7 +189,7 @@ return [
*/
'aliases' => Facade::defaultAliases()->merge([
// 'Example' => App\Facades\Example::class,
'Toastr' => Brian2694\Toastr\Facades\Toastr::class,
])->toArray(),
];

View File

@ -15,11 +15,13 @@ return new class extends Migration
$table->id('news_id');
$table->integer('newscategories_id')->unsigned();
$table->integer('provinces_id')->unsigned();
$table->integer('newstypes_id')->unsigned();
$table->integer('news_type_id')->unsigned();
$table->integer('authors_id')->unsigned();
$table->integer('parent_news')->nullable();
$table->string('title',255)->nullable();
$table->string('nepali_title',255)->nullable();
$table->string('alias',255)->nullable();
$table->text('short_description')->nullable();
$table->longText('content')->nullable();
$table->longText('featured_news')->nullable();
$table->string('image',255)->nullable();
@ -28,8 +30,8 @@ return new class extends Migration
$table->integer('display_order')->default(1);
$table->integer('status')->default(1);
$table->text('remarks')->nullable();
$table->integer('created_by')->nullable();
$table->integer('updated_by')->nullable();
$table->integer('createdBy')->nullable();
$table->integer('updatedBy')->nullable();
$table->timestamps();
});
}

View File

@ -12,12 +12,17 @@ return new class extends Migration
public function up(): void
{
Schema::create('provinces', function (Blueprint $table) {
$table->id('priovince_id');
$table->string('province_name',255)->nullable();
$table->string('province_nepali_name',255)->nullable();
$table->string('alias',255)->nullable();
$table->id('province_id');
$table->string('title', 255)->nullable();
$table->string('province_nepali_name', 255)->charset('utf8mb4')->collate('utf8mb4_unicode_ci')->nullable();
$table->string('alias', 255)->nullable();
$table->integer('status')->default(1);
$table->integer('display_order')->default(1);
$table->integer('createdBy')->nullable();
$table->integer('updatedBy')->nullable();
$table->timestamps();
});
}
/**

View File

@ -13,9 +13,15 @@ return new class extends Migration
{
Schema::create('authors', function (Blueprint $table) {
$table->id('author_id');
$table->string('author_name',255)->nullable();
$table->string('author_description',255)->nullable();
$table->string('author_image',255)->nullable();
$table->string('title', 255)->nullable();
$table->string('alias', 255)->nullable();
$table->string('author_email', 255)->nullable();
$table->string('author_description', 255)->nullable();
$table->string('author_image', 255)->nullable();
$table->integer('status')->default(1);
$table->integer('display_order')->default(1);
$table->integer('createdBy')->nullable();
$table->integer('updatedBy')->nullable();
$table->timestamps();
});
}

View File

@ -13,7 +13,13 @@ return new class extends Migration
{
Schema::create('news_type', function (Blueprint $table) {
$table->id('news_type_id');
$table->string('title',255)->nullable();
$table->string('title', 255)->nullable();
$table->string('title_nepali',255)->nullable();
$table->string('alias', 255)->nullable();
$table->integer('status')->default(1);
$table->integer('display_order')->default(1);
$table->integer('createdBy')->nullable();
$table->integer('updatedBy')->nullable();
$table->timestamps();
});
}

View File

@ -15,6 +15,7 @@ return new class extends Migration
$table->id('advertisement_id');
$table->string('title',255)->nullable();
$table->string('alias',255)->nullable();
$table->integer('parent_advertisement');
$table->text('description')->nullable();
$table->string('image',255)->nullable();
$table->string('video',255)->nullable();
@ -22,8 +23,8 @@ return new class extends Migration
$table->integer('display_order')->default(1);
$table->integer('status')->default(1);
$table->text('remarks')->nullable();
$table->integer('created_by')->nullable();
$table->integer('updated_by')->nullable();
$table->integer('createdBy')->nullable();
$table->integer('updatedBy')->nullable();
$table->timestamps();
});
}

View File

@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('menulocations', function (Blueprint $table) {
$table->id('menulocation_id');
$table->string('title', 255)->nullable()->default(null);
$table->string('alias', 255)->nullable()->default(null);
$table->integer('display_order')->default(1);
$table->integer('status')->default(1);
$table->timestamps();
$table->integer('createdby')->nullable()->default(null);
$table->integer('updatedby')->nullable()->default(null);
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('menulocations');
}
};

View File

@ -0,0 +1,38 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('menuitems', function (Blueprint $table) {
$table->id('menu_id');
$table->integer('parent_menu')->notNullable();
$table->integer('menulocations_id')->nullable();
$table->string('title', 255)->nullable()->default(null);
$table->string('alias', 255)->nullable()->default(null);
$table->string('type', 255)->nullable()->default(null);
$table->string('ref', 255)->nullable()->default(null);
$table->string('target', 255)->nullable()->default(null);
$table->integer('display_order')->default(1);
$table->integer('status')->default(1);
$table->timestamps();
$table->integer('createdby')->nullable()->default(null);
$table->integer('updatedby')->nullable()->default(null);
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('menuitems');
}
};

View File

@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('activity_logs', function (Blueprint $table) {
$table->id('activity_id');
$table->integer('user_id')->nullable();
$table->string('controllerName')->nullable();
$table->string('methodName')->nullable();
$table->string('actionUrl')->nullable();
$table->string('activity')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('activity_logs');
}
};

View File

@ -0,0 +1,31 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('error_logs', function (Blueprint $table) {
$table->id();
$table->bigInteger('user_id')->unsigned()->default(NULL);
$table->string('controller_name')->default(NULL);
$table->string('method_name')->default(NULL);
$table->string('errors')->default(NULL);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('error_logs');
}
};

View File

@ -0,0 +1,37 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('operation_logs', function (Blueprint $table) {
$table->id('operation_id');
$table->string('refNo', 255)->nullable()->default(null);
$table->integer('user_id')->nullable()->default(null);
$table->bigInteger('operation_start_no')->nullable()->default(null);
$table->bigInteger('operation_end_no')->nullable()->default(null);
$table->string('model_name', 100)->nullable()->default(null);
$table->integer('model_id')->nullable()->default(null);
$table->string('operation_name', 100)->nullable()->default(null);
$table->text('previous_values')->nullable()->default(null);
$table->longText('new_values')->nullable()->default(null);
$table->timestamp('created_at')->nullable()->default(null);
$table->timestamp('updated_at')->nullable()->default(null);
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('operation_logs');
}
};

View File

@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('provinces', function (Blueprint $table) {
$table->string('province_no')->nullable()->after('title');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('provinces', function (Blueprint $table) {
$table->dropColumn('province_no');
});
}
};

View File

@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('economies', function (Blueprint $table) {
$table->id('economy_id');
$table->string('title', 255)->nullable();
$table->string('ecomomy_nepali_name', 255)->charset('utf8mb4')->collate('utf8mb4_unicode_ci')->nullable();
$table->string('alias', 255)->nullable();
$table->integer('status')->default(1);
$table->integer('display_order')->default(1);
$table->integer('createdBy')->nullable();
$table->integer('updatedBy')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('economies');
}
};

View File

@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('news', function (Blueprint $table) {
$table->integer('economics_id')->unsigned()->after('news_type_id');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('news', function (Blueprint $table) {
$table->dropColumn('economics_id');
});
}
};

View File

@ -13,5 +13,7 @@ class DatabaseSeeder extends Seeder
public function run(): void
{
$this->call(UserSeeder::class);
$this->call(ProvinceSeeder::class);
$this->call(NewsTypeSeeder::class);
}
}

View File

@ -0,0 +1,38 @@
<?php
namespace Database\Seeders;
use App\Models\News_type;
use Illuminate\Support\Str;
use Illuminate\Database\Seeder;
class NewsTypeSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
News_type::create([
'title'=>'International',
'title_nepali'=>'अंतरराष्ट्रीय',
'alias'=> Str::slug('International'),
'status'=>1,
'display_order'=>1,
'created_at'=>now(),
'updated_at'=>now()
]);
News_type::create([
'title'=>'National',
'title_nepali'=>'राष्ट्रीय',
'alias'=> Str::slug('National'),
'status'=>1,
'display_order'=>1,
'created_at'=>now(),
'updated_at'=>now()
]);
}
}

View File

@ -0,0 +1,98 @@
<?php
namespace Database\Seeders;
use App\Models\Provinces;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Support\Str;
class ProvinceSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
Provinces::create([
'title' => 'Province 1',
'province_nepali_name' => 'प्रदेश १',
'alias' => Str::slug('Province 1'),
'status'=>1,
'display_order'=> 1,
'createdBy'=>1,
'updatedBy'=>1,
'created_at' => now(),
'updated_at' => now()
]);
Provinces::create([
'title' => 'Province 2',
'province_nepali_name' => 'प्रदेश २',
'alias' => Str::slug('Province 2'),
'status'=>1,
'display_order'=> 2,
'createdBy'=>1,
'updatedBy'=>1,
'created_at' => now(),
'updated_at' => now()
]);
Provinces::create([
'title' => 'Province 3',
'province_nepali_name' => 'प्रदेश ३',
'alias' => Str::slug('Province 3'),
'status'=>1,
'display_order'=> 3,
'createdBy'=>1,
'updatedBy'=>1,
'created_at' => now(),
'updated_at' => now()
]);
Provinces::create([
'title' => 'Province 4',
'province_nepali_name' => 'प्रदेश ४',
'alias' => Str::slug('Province 4'),
'status'=>1,
'display_order'=> 4,
'createdBy'=>1,
'updatedBy'=>1,
'created_at' => now(),
'updated_at' => now()
]);
Provinces::create([
'title' => 'Province 5',
'province_nepali_name' => 'प्रदेश ५',
'alias' => Str::slug('Province 5'),
'status'=>1,
'display_order'=> 5,
'createdBy'=>1,
'updatedBy'=>1,
'created_at' => now(),
'updated_at' => now()
]);
Provinces::create([
'title' => 'Province 6',
'province_nepali_name' => 'प्रदेश ६',
'alias' => Str::slug('Province 6'),
'status'=>1,
'display_order'=> 6,
'createdBy'=>1,
'updatedBy'=>1,
'created_at' => now(),
'updated_at' => now()
]);
Provinces::create([
'title' => 'Province 7',
'province_nepali_name' => 'प्रदेश ७',
'alias' => Str::slug('Province 7'),
'status'=>1,
'display_order'=> 7,
'createdBy'=>1,
'updatedBy'=>1,
'created_at' => now(),
'updated_at' => now()
]);
}
}

View File

@ -1 +1 @@
/Applications/XAMPP/xamppfiles/htdocs/task/BIB-CCms/storage/app/public
/Applications/XAMPP/xamppfiles/htdocs/master/storage/app/public

View File

@ -81,6 +81,14 @@
</li> <!-- end Dashboard Menu -->
<li class="menu-title"><i class="ri-more-fill"></i> <span data-key="t-pages">Pages</span></li>
{{ CCMS::createMenuLink('Provinces', route('provinces.index')) }}
{{ CCMS::createMenuLink('News Type', route('news_type.index')) }}
{{ CCMS::createMenuLink('News Categories', route('newscategories.index')) }}
{{ CCMS::createMenuLink('News', route('news.index')) }}
{{ CCMS::createMenuLink('Authors', route('authors.index')) }}
{{ CCMS::createMenuLink('Advertisement', route('advertisement.index')) }}
{{ CCMS::createMenuLink('Economy', route('economies.index')) }}
</div>

View File

@ -1,21 +1,31 @@
@extends('backend.template')
@section('content')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Add Accridiations') }}</h2>
<?php createButton("btn-primary btn-cancel","","Cancel",route('accridiations.index')); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('accridiations.index')); ?>
</div>
<div class='card-body'>
<form action="{{route('accridiations.store')}}" id="storeCustomForm" method="POST">
<form action="{{ route('accridiations.store') }}" id="storeCustomForm" method="POST">
@csrf
<div class="row"><div class="col-lg-6">{{createText("display","display","Display")}}
</div><div class="col-lg-6">{{createText("title","title","Title")}}
</div><div class="col-lg-12 pb-2">{{createTextarea("text","text ckeditor-classic","Text")}}
</div><div class="col-lg-12 pb-2">{{createImageInput("image","Image")}}
</div><div class="col-lg-12 pb-2">{{createImageInput("thumb","Thumb")}}
</div><div class="col-lg-12 pb-2">{{createImageInput("cover","Cover")}}
</div> <br> <div class="col-md-12"><?php createButton("btn-primary btn-store","","Submit"); ?>
<?php createButton("btn-primary btn-cancel","","Cancel",route('accridiations.index')); ?>
</div> </form></div></div>
<div class="row">
<div class="col-lg-6">{{ createText('display', 'display', 'Display') }}
</div>
<div class="col-lg-6">{{ createText('title', 'title', 'Title') }}
</div>
<div class="col-lg-12 pb-2">{{ createTextarea('text', 'text ckeditor-classic', 'Text') }}
</div>
<div class="col-lg-12 pb-2">{{ createImageInput('image', 'Image') }}
</div>
<div class="col-lg-12 pb-2">{{ createImageInput('thumb', 'Thumb') }}
</div>
<div class="col-lg-12 pb-2">{{ createImageInput('cover', 'Cover') }}
</div> <br>
<div class="col-md-12"><?php createButton('btn-primary btn-store', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('accridiations.index')); ?>
</div>
</form>
</div>
</div>
@endsection

View File

@ -1,21 +1,31 @@
@extends('backend.template')
@section('content')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Edit Accridiations') }}</h2>
<?php createButton("btn-primary btn-cancel","","Cancel",route('accridiations.index')); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('accridiations.index')); ?>
</div>
<div class='card-body'>
<form action="{{route('accridiations.update',[$data->accridiation_id])}}" id="updateCustomForm" method="POST" >
@csrf <input type=hidden name='accridiation_id' value='{{$data->accridiation_id}}'/>
<div class="row"><div class="col-lg-6">{{createText("display","display","Display",'',$data->display)}}
</div><div class="col-lg-6">{{createText("title","title","Title",'',$data->title)}}
</div><div class="col-lg-12 pb-2">{{createTextarea("text","text ckeditor-classic","Text",$data->text)}}
</div><div class="col-lg-12 pb-2">{{createImageInput("image","Image",'',$data->image)}}
</div><div class="col-lg-12 pb-2">{{createImageInput("thumb","Thumb",'',$data->thumb)}}
</div><div class="col-lg-12 pb-2">{{createImageInput("cover","Cover",'',$data->cover)}}
</div> <div class="col-md-12"><?php createButton("btn-primary btn-update","","Submit"); ?>
<?php createButton("btn-primary btn-cancel","","Cancel",route('accridiations.index')); ?>
</div> </form></div></div>
<form action="{{ route('accridiations.update', [$data->accridiation_id]) }}" id="updateCustomForm" method="POST">
@csrf <input type=hidden name='accridiation_id' value='{{ $data->accridiation_id }}' />
<div class="row">
<div class="col-lg-6">{{ createText('display', 'display', 'Display', '', $data->display) }}
</div>
<div class="col-lg-6">{{ createText('title', 'title', 'Title', '', $data->title) }}
</div>
<div class="col-lg-12 pb-2">{{ createTextarea('text', 'text ckeditor-classic', 'Text', $data->text) }}
</div>
<div class="col-lg-12 pb-2">{{ createImageInput('image', 'Image', '', $data->image) }}
</div>
<div class="col-lg-12 pb-2">{{ createImageInput('thumb', 'Thumb', '', $data->thumb) }}
</div>
<div class="col-lg-12 pb-2">{{ createImageInput('cover', 'Cover', '', $data->cover) }}
</div>
<div class="col-md-12"><?php createButton('btn-primary btn-update', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('accridiations.index')); ?>
</div>
</form>
</div>
</div>
@endsection

View File

@ -1,22 +1,21 @@
@extends('backend.template')
@section('content')
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h2>{{ label("Accridiations List") }}</h2>
<a href="{{ route('accridiations.create') }}" class="btn btn-primary"><span>{{label("Create New")}}</span></a>
</div>
<div class="card-body">
<table class="table dataTable" id="tbl_accridiations" data-url="{{ route('accridiations.sort') }}">
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h2>{{ label('Accridiations List') }}</h2>
<a href="{{ route('accridiations.create') }}" class="btn btn-primary"><span>{{ label('Create New') }}</span></a>
</div>
<div class="card-body">
<table class="table dataTable" id="tbl_accridiations" data-url="{{ route('accridiations.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{label("Sn.")}}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("display") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("title") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("image") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("thumb") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("cover") }}</span></th>
<th class="tb-col" data-sortable="false"><span
class="overline-title">{{ label("Action") }}</span>
<th class="tb-col"><span class="overline-title">{{ label('Sn.') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('display') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('title') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('image') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('thumb') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('cover') }}</span></th>
<th class="tb-col" data-sortable="false"><span class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
@ -25,30 +24,42 @@
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{$item->accridiation_id}}" data-display_order="{{$item->display_order}}" class="draggable-row <?php echo ($item->status==0)?"bg-light bg-danger":""; ?>">
<td class="tb-col">{{ $i++ }}</td><td class="tb-col">{{ $item->display }}</td>
<td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">{{ showImageThumb($item->image) }}</td>
<td class="tb-col">{{ showImageThumb($item->thumb) }}</td>
<td class="tb-col">{{ showImageThumb($item->cover) }}</td>
<td class="tb-col">
<tr data-id="{{ $item->accridiation_id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $i++ }}</td>
<td class="tb-col">{{ $item->display }}</td>
<td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">{{ showImageThumb($item->image) }}</td>
<td class="tb-col">{{ showImageThumb($item->thumb) }}</td>
<td class="tb-col">{{ showImageThumb($item->cover) }}</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button" data-bs-toggle="dropdown" aria-expanded="false">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button"
data-bs-toggle="dropdown" aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{route('accridiations.show',[$item->accridiation_id])}}" class="dropdown-item"><i class="ri-eye-fill align-bottom me-2 text-muted"></i> {{label("View")}}</a></li>
<li><a href="{{route('accridiations.edit',[$item->accridiation_id])}}" class="dropdown-item edit-item-btn"><i class="ri-pencil-fill align-bottom me-2 text-muted"></i> {{label("Edit")}}</a></li>
<li><a href="{{ route('accridiations.show', [$item->accridiation_id]) }}"
class="dropdown-item"><i
class="ri-eye-fill align-bottom me-2 text-muted"></i>
{{ label('View') }}</a></li>
<li><a href="{{ route('accridiations.edit', [$item->accridiation_id]) }}"
class="dropdown-item edit-item-btn"><i
class="ri-pencil-fill align-bottom me-2 text-muted"></i>
{{ label('Edit') }}</a></li>
<li>
<a href="{{route('accridiations.toggle',[$item->accridiation_id])}}" class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill align-bottom me-2 text-muted"></i> {{ ($item->status==1)?label('Unpublish'):label('Publish') }}
<a href="{{ route('accridiations.toggle', [$item->accridiation_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill align-bottom me-2 text-muted"></i>
{{ $item->status == 1 ? label('Unpublish') : label('Publish') }}
</a>
</li>
<li>
<a href="{{route('accridiations.destroy',[$item->accridiation_id])}}" class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill align-bottom me-2 text-muted"></i> {{ label('Delete') }}
<a href="{{ route('accridiations.destroy', [$item->accridiation_id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill align-bottom me-2 text-muted"></i>
{{ label('Delete') }}
</a>
</li>
@ -58,34 +69,32 @@
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
@endsection
@endsection
@push("css")
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@push('css')
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@endpush
@push("js")
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
@push('js')
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
$(document).ready(function(e) {
<script>
$(document).ready(function(e) {
$('.change-alias-badge').on('click', function() {
var aliasWrapper = $(this).prev('.alias-wrapper');
var aliasSpan = aliasWrapper.find('.alias');
@ -164,11 +173,12 @@ $(document).ready(function(e) {
console.error(error);
}
});
isRowReorderComplete=false;
isRowReorderComplete = false;
}
});
});
function confirmDelete(url) {
});
function confirmDelete(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
@ -196,8 +206,9 @@ function confirmDelete(url) {
});
}
});
}
function confirmToggle(url) {
}
function confirmToggle(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
@ -225,9 +236,6 @@ function confirmToggle(url) {
});
}
});
}
</script>
}
</script>
@endpush

View File

@ -0,0 +1,35 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Add Advertisement') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('advertisement.index')); ?>
</div>
<div class='card-body'>
<form action="{{ route('advertisement.store') }}" id="storeCustomForm" method="POST">
@csrf
<div class="row">
<div class="col-lg-6">{{ createText('title', 'title', 'Title') }}
</div>
<div class="col-lg-6">
{{ createCustomSelect('tbl_advertisement', 'title', 'advertisement_id', '', 'Parent Advertisement', 'parent_advertisement', 'form-control select2', 'status<>-1') }}
</div>
<div class="col-lg-12 pb-2">
{{ createTextarea('description', 'description ckeditor-classic', 'Description') }}
</div>
<div class="col-lg-12 pb-2">{{ createImageInput('image', 'Image') }}
</div>
<div class="col-lg-6">{{ createText('video', 'video', 'Video') }}
</div>
<div class="col-lg-6">{{ createText('link', 'link', 'Link') }}
</div>
<div class="col-lg-12 pb-2">{{ createPlainTextArea('remarks', 'remarks ', 'Remarks') }}
</div>
<div class="col-md-12"><?php createButton('btn-primary btn-store', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('advertisement.index')); ?>
</div>
</form>
</div>
</div>
@endsection

View File

@ -0,0 +1,35 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Edit Advertisement') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('advertisement.index')); ?>
</div>
<div class='card-body'>
<form action="{{ route('advertisement.update', [$data->advertisement_id]) }}" id="updateCustomForm" method="POST">
@csrf <input type=hidden name='advertisement_id' value='{{ $data->advertisement_id }}' />
<div class="row">
<div class="col-lg-6">{{ createText('title', 'title', 'Title', '', $data->title) }}
</div>
<div class="col-lg-6">
{{ createCustomSelect('tbl_advertisement', 'title', 'advertisement_id', $data->parent_advertisement, 'Parent Advertisement', 'parent_advertisement', 'form-control select2', 'status<>-1') }}
</div>
<div class="col-lg-12 pb-2">
{{ createTextarea('description', 'description ckeditor-classic', 'Description', $data->description) }}
</div>
<div class="col-lg-12 pb-2">{{ createImageInput('image', 'Image', '', $data->image) }}
</div>
<div class="col-lg-6">{{ createText('video', 'video', 'Video', '', $data->video) }}
</div>
<div class="col-lg-6">{{ createText('link', 'link', 'Link', '', $data->link) }}
</div>
<div class="col-lg-12 pb-2">{{ createPlainTextArea('remarks', '', 'Remarks', $data->remarks) }}
</div>
<div class="col-md-12"><?php createButton('btn-primary btn-update', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('advertisement.index')); ?>
</div>
</form>
</div>
</div>
@endsection

View File

@ -0,0 +1,247 @@
@extends('backend.template')
@section('content')
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h2>{{ label("Advertisement List") }}</h2>
<a href="{{ route('advertisement.create') }}" class="btn btn-primary"><span>{{label("Create New")}}</span></a>
</div>
<div class="card-body">
<table class="table dataTable" id="tbl_advertisement" data-url="{{ route('advertisement.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{label("Sn.")}}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("title") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("Parent") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("alias") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("image") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("video") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("link") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("created_by") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("updated_by") }}</span></th>
<th class="tb-col" data-sortable="false"><span
class="overline-title">{{ label("Action") }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{$item->advertisement_id}}" data-display_order="{{$item->display_order}}" class="draggable-row <?php echo ($item->status==0)?"bg-light bg-danger":""; ?>">
<td class="tb-col">{{ $i++ }}</td><td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">
{!! getFieldData("tbl_advertisement", "title", "advertisement_id", $item->parent_id) !!}
</td>
<td class="tb-col">
<div class="alias-wrapper" data-id="{{$item->advertisement_id}}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}" id="alias_{{$item->advertisement_id}}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td>
<td class="tb-col">{{ showImageThumb($item->image) }}</td>
<td class="tb-col">{{ $item->video }}</td>
<td class="tb-col">{{ $item->link }}</td>
<td class="tb-col">{{ $item->created_by }}</td>
<td class="tb-col">{{ $item->updated_by }}</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button" data-bs-toggle="dropdown" aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{route('advertisement.show',[$item->advertisement_id])}}" class="dropdown-item"><i class="ri-eye-fill align-bottom me-2 text-muted"></i> {{label("View")}}</a></li>
<li><a href="{{route('advertisement.edit',[$item->advertisement_id])}}" class="dropdown-item edit-item-btn"><i class="ri-pencil-fill align-bottom me-2 text-muted"></i> {{label("Edit")}}</a></li>
<li>
<a href="{{route('advertisement.toggle',[$item->advertisement_id])}}" class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill align-bottom me-2 text-muted"></i> {{ ($item->status==1)?label('Unpublish'):label('Publish') }}
</a>
</li>
<li>
<a href="{{route('advertisement.destroy',[$item->advertisement_id])}}" class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill align-bottom me-2 text-muted"></i> {{ label('Delete') }}
</a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endsection
@push("css")
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@endpush
@push("js")
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
$(document).ready(function(e) {
$('.change-alias-badge').on('click', function() {
var aliasWrapper = $(this).prev('.alias-wrapper');
var aliasSpan = aliasWrapper.find('.alias');
var aliasInput = aliasWrapper.find('.alias-input');
var isEditing = $(this).hasClass('editing');
aliasInput.toggleClass("d-none");
if (isEditing) {
// Update alias text and switch to non-editing state
var newAlias = aliasInput.val();
aliasSpan.text(newAlias);
aliasSpan.show();
aliasInput.hide();
$(this).removeClass('editing').text('Change Alias');
var articleId = $(aliasWrapper).data('id');
var ajaxUrl = "{{ route('advertisement.updatealias') }}";
var data = {
articleId: articleId,
newAlias: newAlias
};
$.ajax({
url: ajaxUrl,
type: 'POST',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: data,
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
} else {
// Switch to editing state
aliasSpan.hide();
aliasInput.show().focus();
$(this).addClass('editing').text('Save Alias');
}
});
var mytable = $(".dataTable").DataTable({
ordering: true,
rowReorder: {
//selector: 'tr'
},
});
var isRowReorderComplete = false;
mytable.on('row-reorder', function(e, diff, edit) {
isRowReorderComplete = true;
});
mytable.on('draw', function() {
if (isRowReorderComplete) {
var url = mytable.table().node().getAttribute('data-url');
var ids = mytable.rows().nodes().map(function(node) {
return $(node).data('id');
}).toArray();
console.log(ids);
$.ajax({
url: url,
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content')
},
data: {
id_order: ids
},
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
isRowReorderComplete=false;
}
});
});
function confirmDelete(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'You will not be able to recover this item!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Delete',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'DELETE',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Deleted!', 'The item has been deleted.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred while deleting the item.', 'error');
}
});
}
});
}
function confirmToggle(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'Publish Status of Item will be changed!! if Unpublished, links will be dead!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Proceed',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'GET',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Updated!', 'Publishing Status has been updated.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred.', 'error');
}
});
}
});
}
</script>
@endpush

View File

@ -0,0 +1,29 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2><?php echo label('View Details'); ?></h2>
<?php createButton("btn-primary btn-cancel","","Back to List",route('advertisement.index')); ?>
</div>
<div class='card-body'>
<p><b>Title :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->title}}</span></p><p><b>Parent Advertisement :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->parent_advertisement}}</span></p><p><b>Alias :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->alias}}</span></p><p><b>Description :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->description}}</span></p><p><b>Image :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->image}}</span></p><p><b>Video :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->video}}</span></p><p><b>Link :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->link}}</span></p><p><b>Display Order :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->display_order}}</span></p><p><b>Status :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span
class="{{$data->status == 1 ? 'text-success' : 'text-danger'}}">{{$data->status == 1 ? 'Active' : 'Inactive'}}</span></p><p><b>Remarks :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->remarks}}</span></p><p><b>Created By :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->created_by}}</span></p><p><b>Updated By :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->updated_by}}</span></p><div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->created_at}}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->createdBy}}</span></p>
</div>
<div>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updated_at}}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updatedBy}}</span></p>
</div>
</div>
</div>
</div>
@endSection

View File

@ -0,0 +1,28 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Add Authors') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('authors.index')); ?>
</div>
<div class='card-body'>
<form action="{{ route('authors.store') }}" id="storeCustomForm" method="POST">
@csrf
<div class="row">
<div class="col-lg-6">{{ createText('title', 'title', 'Title') }}
</div>
<div class="col-lg-6">{{ createText('author_email', 'author_email', 'Author Email') }}
</div>
<div class="col-lg-12 pb-2">
{{ createPlainTextArea('author_description', 'author_description ', 'Description') }}
</div>
<div class="col-lg-6">{{ createImageInput('author_image', 'Author Image') }}
</div>
<div class="col-md-12"><?php createButton('btn-primary btn-store', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('authors.index')); ?>
</div>
</form>
</div>
</div>
@endsection

View File

@ -0,0 +1,30 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Edit Authors') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('authors.index')); ?>
</div>
<div class='card-body'>
<form action="{{ route('authors.update', [$data->author_id]) }}" id="updateCustomForm" method="POST">
@csrf <input type=hidden name='author_id' value='{{ $data->author_id }}' />
<div class="row">
<div class="col-lg-6">{{ createText('title', 'title', 'Title', '', $data->title) }}
</div>
<div class="col-lg-6">
{{ createText('author_email', 'author_email', 'Author Email', '', $data->author_email) }}
</div>
<div class="col-lg-12 pb-2">
{{ createPlainTextArea('author_description', '', 'author_description', $data->author_description) }}
</div>
<div class="col-lg-6">
{{ createImageInput('author_image', 'Author Image', '', $data->author_image) }}
</div>
<div class="col-md-12"><?php createButton('btn-primary btn-update', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('authors.index')); ?>
</div>
</form>
</div>
</div>
@endsection

View File

@ -0,0 +1,252 @@
@extends('backend.template')
@section('content')
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h2>{{ label('Authors List') }}</h2>
<a href="{{ route('authors.create') }}" class="btn btn-primary"><span>{{ label('Create New') }}</span></a>
</div>
<div class="card-body">
<table class="table dataTable" id="tbl_authors" data-url="{{ route('authors.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{ label('Sn.') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('title') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('alias') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('author_email') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('author_description') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('author_image') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('createdBy') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('updatedBy') }}</span></th>
<th class="tb-col" data-sortable="false"><span class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{ $item->author_id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $i++ }}</td>
<td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">
<div class="alias-wrapper" data-id="{{ $item->author_id }}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}"
id="alias_{{ $item->author_id }}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td>
<td class="tb-col">{{ $item->author_email }}</td>
<td class="tb-col">{{ $item->author_description }}</td>
<td class="tb-col">{{ showImageThumb($item->author_image) }}</td>
<td class="tb-col">{{ $item->createdBy }}</td>
<td class="tb-col">{{ $item->updatedBy }}</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button"
data-bs-toggle="dropdown" aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{ route('authors.show', [$item->author_id]) }}"
class="dropdown-item"><i
class="ri-eye-fill align-bottom me-2 text-muted"></i>
{{ label('View') }}</a></li>
<li><a href="{{ route('authors.edit', [$item->author_id]) }}"
class="dropdown-item edit-item-btn"><i
class="ri-pencil-fill align-bottom me-2 text-muted"></i>
{{ label('Edit') }}</a></li>
<li>
<a href="{{ route('authors.toggle', [$item->author_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill align-bottom me-2 text-muted"></i>
{{ $item->status == 1 ? label('Unpublish') : label('Publish') }}
</a>
</li>
<li>
<a href="{{ route('authors.destroy', [$item->author_id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill align-bottom me-2 text-muted"></i>
{{ label('Delete') }}
</a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endsection
@push('css')
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@endpush
@push('js')
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
$(document).ready(function(e) {
$('.change-alias-badge').on('click', function() {
var aliasWrapper = $(this).prev('.alias-wrapper');
var aliasSpan = aliasWrapper.find('.alias');
var aliasInput = aliasWrapper.find('.alias-input');
var isEditing = $(this).hasClass('editing');
aliasInput.toggleClass("d-none");
if (isEditing) {
// Update alias text and switch to non-editing state
var newAlias = aliasInput.val();
aliasSpan.text(newAlias);
aliasSpan.show();
aliasInput.hide();
$(this).removeClass('editing').text('Change Alias');
var articleId = $(aliasWrapper).data('id');
var ajaxUrl = "{{ route('authors.updatealias') }}";
var data = {
articleId: articleId,
newAlias: newAlias
};
$.ajax({
url: ajaxUrl,
type: 'POST',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: data,
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
} else {
// Switch to editing state
aliasSpan.hide();
aliasInput.show().focus();
$(this).addClass('editing').text('Save Alias');
}
});
var mytable = $(".dataTable").DataTable({
ordering: true,
rowReorder: {
//selector: 'tr'
},
});
var isRowReorderComplete = false;
mytable.on('row-reorder', function(e, diff, edit) {
isRowReorderComplete = true;
});
mytable.on('draw', function() {
if (isRowReorderComplete) {
var url = mytable.table().node().getAttribute('data-url');
var ids = mytable.rows().nodes().map(function(node) {
return $(node).data('id');
}).toArray();
console.log(ids);
$.ajax({
url: url,
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content')
},
data: {
id_order: ids
},
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
isRowReorderComplete = false;
}
});
});
function confirmDelete(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'You will not be able to recover this item!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Delete',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'DELETE',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Deleted!', 'The item has been deleted.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred while deleting the item.', 'error');
}
});
}
});
}
function confirmToggle(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'Publish Status of Item will be changed!! if Unpublished, links will be dead!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Proceed',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'GET',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Updated!', 'Publishing Status has been updated.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred.', 'error');
}
});
}
});
}
</script>
@endpush

View File

@ -0,0 +1,29 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2><?php echo label('View Details'); ?></h2>
<?php createButton("btn-primary btn-cancel","","Back to List",route('authors.index')); ?>
</div>
<div class='card-body'>
<p><b>Title :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->title}}</span></p><p><b>Alias :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->alias}}</span></p><p><b>Author Email :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->author_email}}</span></p><p><b>Author Description :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->author_description}}</span></p><p><b>Author Image :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->author_image}}</span></p><p><b>Status :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span
class="{{$data->status == 1 ? 'text-success' : 'text-danger'}}">{{$data->status == 1 ? 'Active' : 'Inactive'}}</span></p><p><b>Display Order :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->display_order}}</span></p><div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->created_at}}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->createdBy}}</span></p>
</div>
<div>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updated_at}}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updatedBy}}</span></p>
</div>
</div>
</div>
</div>
@endSection

View File

@ -0,0 +1,23 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Add Economies') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('economies.index')); ?>
</div>
<div class='card-body'>
<form action="{{ route('economies.store') }}" id="storeCustomForm" method="POST">
@csrf
<div class="row">
<div class="col-lg-6">{{ createText('title', 'title', 'Title') }}
</div>
<div class="col-lg-6">{{ createText('ecomomy_nepali_name', 'ecomomy_nepali_name', 'Ecomomy Nepali Name') }}
</div>
<div class="col-md-12"><?php createButton('btn-primary btn-store', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('economies.index')); ?>
</div>
</form>
</div>
</div>
@endsection

View File

@ -0,0 +1,24 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Edit Economies') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('economies.index')); ?>
</div>
<div class='card-body'>
<form action="{{ route('economies.update', [$data->economy_id]) }}" id="updateCustomForm" method="POST">
@csrf <input type=hidden name='economy_id' value='{{ $data->economy_id }}' />
<div class="row">
<div class="col-lg-6">{{ createText('title', 'title', 'Title', '', $data->title) }}
</div>
<div class="col-lg-6">
{{ createText('ecomomy_nepali_name', 'ecomomy_nepali_name', 'Ecomomy Nepali Name', '', $data->ecomomy_nepali_name) }}
</div>
<div class="col-md-12"><?php createButton('btn-primary btn-update', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('economies.index')); ?>
</div>
</form>
</div>
</div>
@endsection

View File

@ -0,0 +1,239 @@
@extends('backend.template')
@section('content')
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h2>{{ label("Economies List") }}</h2>
<a href="{{ route('economies.create') }}" class="btn btn-primary"><span>{{label("Create New")}}</span></a>
</div>
<div class="card-body">
<table class="table dataTable" id="tbl_economies" data-url="{{ route('economies.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{label("Sn.")}}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("title") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("ecomomy_nepali_name") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("alias") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("createdBy") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("updatedBy") }}</span></th>
<th class="tb-col" data-sortable="false"><span
class="overline-title">{{ label("Action") }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{$item->economy_id}}" data-display_order="{{$item->display_order}}" class="draggable-row <?php echo ($item->status==0)?"bg-light bg-danger":""; ?>">
<td class="tb-col">{{ $i++ }}</td><td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">{{ $item->ecomomy_nepali_name }}</td>
<td class="tb-col">
<div class="alias-wrapper" data-id="{{$item->economy_id}}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}" id="alias_{{$item->economy_id}}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td>
<td class="tb-col">{{ $item->createdBy }}</td>
<td class="tb-col">{{ $item->updatedBy }}</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button" data-bs-toggle="dropdown" aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{route('economies.show',[$item->economy_id])}}" class="dropdown-item"><i class="ri-eye-fill align-bottom me-2 text-muted"></i> {{label("View")}}</a></li>
<li><a href="{{route('economies.edit',[$item->economy_id])}}" class="dropdown-item edit-item-btn"><i class="ri-pencil-fill align-bottom me-2 text-muted"></i> {{label("Edit")}}</a></li>
<li>
<a href="{{route('economies.toggle',[$item->economy_id])}}" class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill align-bottom me-2 text-muted"></i> {{ ($item->status==1)?label('Unpublish'):label('Publish') }}
</a>
</li>
<li>
<a href="{{route('economies.destroy',[$item->economy_id])}}" class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill align-bottom me-2 text-muted"></i> {{ label('Delete') }}
</a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endsection
@push("css")
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@endpush
@push("js")
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
$(document).ready(function(e) {
$('.change-alias-badge').on('click', function() {
var aliasWrapper = $(this).prev('.alias-wrapper');
var aliasSpan = aliasWrapper.find('.alias');
var aliasInput = aliasWrapper.find('.alias-input');
var isEditing = $(this).hasClass('editing');
aliasInput.toggleClass("d-none");
if (isEditing) {
// Update alias text and switch to non-editing state
var newAlias = aliasInput.val();
aliasSpan.text(newAlias);
aliasSpan.show();
aliasInput.hide();
$(this).removeClass('editing').text('Change Alias');
var articleId = $(aliasWrapper).data('id');
var ajaxUrl = "{{ route('economies.updatealias') }}";
var data = {
articleId: articleId,
newAlias: newAlias
};
$.ajax({
url: ajaxUrl,
type: 'POST',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: data,
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
} else {
// Switch to editing state
aliasSpan.hide();
aliasInput.show().focus();
$(this).addClass('editing').text('Save Alias');
}
});
var mytable = $(".dataTable").DataTable({
ordering: true,
rowReorder: {
//selector: 'tr'
},
});
var isRowReorderComplete = false;
mytable.on('row-reorder', function(e, diff, edit) {
isRowReorderComplete = true;
});
mytable.on('draw', function() {
if (isRowReorderComplete) {
var url = mytable.table().node().getAttribute('data-url');
var ids = mytable.rows().nodes().map(function(node) {
return $(node).data('id');
}).toArray();
console.log(ids);
$.ajax({
url: url,
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content')
},
data: {
id_order: ids
},
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
isRowReorderComplete=false;
}
});
});
function confirmDelete(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'You will not be able to recover this item!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Delete',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'DELETE',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Deleted!', 'The item has been deleted.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred while deleting the item.', 'error');
}
});
}
});
}
function confirmToggle(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'Publish Status of Item will be changed!! if Unpublished, links will be dead!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Proceed',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'GET',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Updated!', 'Publishing Status has been updated.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred.', 'error');
}
});
}
});
}
</script>
@endpush

View File

@ -0,0 +1,29 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2><?php echo label('View Details'); ?></h2>
<?php createButton("btn-primary btn-cancel","","Back to List",route('economies.index')); ?>
</div>
<div class='card-body'>
<p><b>Title :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->title}}</span></p><p><b>Ecomomy Nepali Name :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->ecomomy_nepali_name}}</span></p><p><b>Alias :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->alias}}</span></p><p><b>Status :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span
class="{{$data->status == 1 ? 'text-success' : 'text-danger'}}">{{$data->status == 1 ? 'Active' : 'Inactive'}}</span></p><p><b>Display Order :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->display_order}}</span></p><div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->created_at}}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->createdBy}}</span></p>
</div>
<div>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updated_at}}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updatedBy}}</span></p>
</div>
</div>
</div>
</div>
@endSection

View File

@ -0,0 +1,93 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Add News') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('news.index')); ?>
</div>
<div class='card-body'>
<form action="{{ route('news.store') }}" id="storeCustomForm" method="POST">
@csrf
<div class="row">
<div class="col-xl-9 mb-3 ">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-6 col-lg-6 col-md-6">
{{ createCustomSelect('tbl_economies', 'title', 'economy_id', '', 'Economies Id', 'economics_id', 'form-control select2', 'status<>-1') }}
</div>
<div class="col-6 col-lg-6 col-md-6">
{{ createCustomSelect('tbl_provinces', 'title', 'province_id', '', 'Provinces Id', 'provinces_id', 'form-control select2', 'status<>-1') }}
</div>
<div class="col-6 col-lg-6 col-md-6">
{{ createCustomSelect('tbl_news_type', 'title', 'news_type_id', '', 'News Type Id', 'news_type_id', 'form-control select2', 'status<>-1') }}
</div>
<div class="col-6 col-lg-6 col-md-6">
{{ createCustomSelect('tbl_authors', 'title', 'author_id', '', 'Authors Id', 'authors_id', 'form-control select2', 'status<>-1') }}
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-header">
<h4 class="card-title mb-0">News</h4>
</div>
<div class="card-body">
<div class="col-lg-12">
{{ createText('title', 'title', 'Title') }}
</div>
<div class="col-lg-12 pb-2">
{{ createText('nepali_title', 'nepali_title', 'Nepali Title') }}
</div>
<div class="col-lg-12 pb-2">
{{ createPlainTextArea('short_description', 'short_description', 'Short Description') }}
</div>
<div class="col-lg-12 pb-2">
{{ createTextarea('content', 'content ckeditor-classic', 'Content') }}
</div>
</div>
</div>
<?php createButton('btn-primary btn-store', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('news.index')); ?>
</div>
<div class="col-xl-3">
<div class="card">
<div class="card-body">
{{ createCustomSelect('tbl_newscategories', 'title', 'category_id', '', 'Newscategories Id', 'newscategories_id', 'form-control select2', 'status<>-1') }}
</div>
</div>
<div class="card">
<div class="card-header">
<h4 class="card-title mb-0">Cover Photo</h4>
</div>
<div class="card-body">
{{ createImageInput('thumb', 'Thumb') }}
<div class="border mt-3 border-dashed"></div>
{{ createImageInput('image', 'Image') }}
</div>
</div>
<div class="card">
<div class="card-header">
<h4 class="card-title mb-0">Featured News</h4>
</div>
<div class="card-body">
<div class="form-check form-switch form-switch-lg form-switch-success mb-3" dir="ltr">
<input type="checkbox" class="form-check-input" id="customSwitchsizelg"
name="featured_news" checked="">
<label class="form-check-label" for="customSwitchsizelg">Active</label>
</div>
</div>
<div class="card-footer">
<?php createButton('btn-primary btn-store', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('news.index')); ?>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
@endsection

View File

@ -0,0 +1,93 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Edit News') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('news.index')); ?>
</div>
<div class='card-body'>
<form action="{{ route('news.update', [$data->news_id]) }}" id="updateCustomForm" method="POST">
@csrf <input type=hidden name='news_id' value='{{ $data->news_id }}' />
<div class="row">
<div class="col-xl-9 mb-3 ">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-6 col-lg-6 col-md-6">
{{ createCustomSelect('tbl_economies', 'title', 'economy_id', $data->economies_id, 'Economies Id', 'economics_id', 'form-control select2', 'status<>-1') }}
</div>
<div class="col-6 col-lg-6 col-md-6">
{{ createCustomSelect('tbl_provinces', 'title', 'province_id', $data->provinces_id, 'Provinces Id', 'provinces_id', 'form-control select2', 'status<>-1') }}
</div>
<div class="col-6 col-lg-6 col-md-6">
{{ createCustomSelect('tbl_news_type', 'title', 'news_type_id', $data->news_type_id, 'News Type Id', 'news_type_id', 'form-control select2', 'status<>-1') }}
</div>
<div class="col-6 col-lg-6 col-md-6">
{{ createCustomSelect('tbl_authors', 'title', 'author_id', $data->authors_id, 'Authors Id', 'authors_id', 'form-control select2', 'status<>-1') }}
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-header">
<h4 class="card-title mb-0">News</h4>
</div>
<div class="card-body">
<div class="col-lg-12">
{{ createText('title', 'title', 'Title','',$data->title) }}
</div>
<div class="col-lg-12 pb-2">
{{ createText('nepali_title', 'nepali_title', 'Nepali Title','',$data->nepali_title) }}
</div>
<div class="col-lg-12 pb-2">
{{ createPlainTextArea('short_description','', 'Short Description',$data->short_description) }}
</div>
<div class="col-lg-12 pb-2">
{{ createTextarea('content', 'content ckeditor-classic', 'Content','',$data->content) }}
</div>
</div>
</div>
<?php createButton('btn-primary btn-store', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('news.index')); ?>
</div>
<div class="col-xl-3">
<div class="card">
<div class="card-body">
{{ createCustomSelect('tbl_newscategories', 'title', 'category_id', $data->newscategories_id, 'Newscategories Id', 'newscategories_id', 'form-control select2', 'status<>-1') }}
</div>
</div>
<div class="card">
<div class="card-header">
<h4 class="card-title mb-0">Cover Photo</h4>
</div>
<div class="card-body">
{{ createImageInput('thumb', 'Thumb','',$data->thumb) }}
<div class="border mt-3 border-dashed"></div>
{{ createImageInput('image', 'Image','',$data->image) }}
</div>
</div>
<div class="card">
<div class="card-header">
<h4 class="card-title mb-0">Featured News</h4>
</div>
<div class="card-body">
<div class="form-check form-switch form-switch-lg form-switch-success mb-3" dir="ltr">
<input type="checkbox" class="form-check-input" id="customSwitchsizelg"
name="featured_news" @checked($data->featured_news == 'True')>
<label class="form-check-label" for="customSwitchsizelg">Active</label>
</div>
</div>
<div class="card-footer">
<?php createButton('btn-primary btn-store', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('news.index')); ?>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
@endsection

View File

@ -0,0 +1,272 @@
@extends('backend.template')
@section('content')
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h2>{{ label('News List') }}</h2>
<a href="{{ route('news.create') }}" class="btn btn-primary"><span>{{ label('Create New') }}</span></a>
</div>
<div class="card-body">
<table class="table dataTable" id="tbl_news" data-url="{{ route('news.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{ label('Sn.') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('Category') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('Province') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('Economics') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('News Type') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('Authors') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('Title') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('Nepali Title') }}</span></th>
{{-- <th class="tb-col"><span class="overline-title">{{ label('Alias') }}</span></th> --}}
{{-- <th class="tb-col"><span class="overline-title">{{ label('Parent News') }}</span></th> --}}
<th class="tb-col"><span class="overline-title">{{ label('Content') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('Featured News') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('Image') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('Thumb') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('Source') }}</span></th>
<th class="tb-col" data-sortable="false"><span class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{ $item->news_id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $i++ }}</td>
<td class="tb-col">
{!! getFieldData('tbl_newscategories', 'title', 'category_id', $item->newscategories_id) !!}
</td>
<td class="tb-col">
{!! getFieldData('tbl_provinces', 'title', 'province_id', $item->provinces_id) !!}
</td>
<td class="tb-col">
{!! getFieldData('tbl_economies', 'title', 'economy_id', $item->economics_id) !!}
</td>
<td class="tb-col">{{ $item->news_type_id }}</td>
<td class="tb-col">
{!! getFieldData('tbl_authors', 'title', 'author_id', $item->authors_id) !!}
</td>
<td class="tb-col">{{ Str::limit($item->title, 30) }}</td>
<td class="tb-col">{{ Str::limit($item->nepali_title,30) }}</td>
{{-- <td class="tb-col">
<div class="alias-wrapper" data-id="{{ $item->news_id }}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}"
id="alias_{{ $item->news_id }}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td> --}}
<td class="tb-col">{{ Str::limit($item->content) }}</td>
<td class="tb-col">{{ $item->featured_news }}</td>
<td class="tb-col">{{ showImageThumb($item->image) }}</td>
<td class="tb-col">{{ showImageThumb($item->thumb) }}</td>
<td class="tb-col">{{ $item->image_source }}</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button"
data-bs-toggle="dropdown" aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{ route('news.show', [$item->news_id]) }}" class="dropdown-item"><i
class="ri-eye-fill align-bottom me-2 text-muted"></i>
{{ label('View') }}</a></li>
<li><a href="{{ route('news.edit', [$item->news_id]) }}"
class="dropdown-item edit-item-btn"><i
class="ri-pencil-fill align-bottom me-2 text-muted"></i>
{{ label('Edit') }}</a></li>
<li>
<a href="{{ route('news.toggle', [$item->news_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill align-bottom me-2 text-muted"></i>
{{ $item->status == 1 ? label('Unpublish') : label('Publish') }}
</a>
</li>
<li>
<a href="{{ route('news.destroy', [$item->news_id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill align-bottom me-2 text-muted"></i>
{{ label('Delete') }}
</a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endsection
@push('css')
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@endpush
@push('js')
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
$(document).ready(function(e) {
$('.change-alias-badge').on('click', function() {
var aliasWrapper = $(this).prev('.alias-wrapper');
var aliasSpan = aliasWrapper.find('.alias');
var aliasInput = aliasWrapper.find('.alias-input');
var isEditing = $(this).hasClass('editing');
aliasInput.toggleClass("d-none");
if (isEditing) {
// Update alias text and switch to non-editing state
var newAlias = aliasInput.val();
aliasSpan.text(newAlias);
aliasSpan.show();
aliasInput.hide();
$(this).removeClass('editing').text('Change Alias');
var articleId = $(aliasWrapper).data('id');
var ajaxUrl = "{{ route('news.updatealias') }}";
var data = {
articleId: articleId,
newAlias: newAlias
};
$.ajax({
url: ajaxUrl,
type: 'POST',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: data,
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
} else {
// Switch to editing state
aliasSpan.hide();
aliasInput.show().focus();
$(this).addClass('editing').text('Save Alias');
}
});
var mytable = $(".dataTable").DataTable({
ordering: true,
rowReorder: {
//selector: 'tr'
},
});
var isRowReorderComplete = false;
mytable.on('row-reorder', function(e, diff, edit) {
isRowReorderComplete = true;
});
mytable.on('draw', function() {
if (isRowReorderComplete) {
var url = mytable.table().node().getAttribute('data-url');
var ids = mytable.rows().nodes().map(function(node) {
return $(node).data('id');
}).toArray();
console.log(ids);
$.ajax({
url: url,
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content')
},
data: {
id_order: ids
},
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
isRowReorderComplete = false;
}
});
});
function confirmDelete(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'You will not be able to recover this item!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Delete',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'DELETE',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Deleted!', 'The item has been deleted.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred while deleting the item.', 'error');
}
});
}
});
}
function confirmToggle(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'Publish Status of Item will be changed!! if Unpublished, links will be dead!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Proceed',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'GET',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Updated!', 'Publishing Status has been updated.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred.', 'error');
}
});
}
});
}
</script>
@endpush

View File

@ -0,0 +1,29 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2><?php echo label('View Details'); ?></h2>
<?php createButton("btn-primary btn-cancel","","Back to List",route('news.index')); ?>
</div>
<div class='card-body'>
<p><b>Newscategories Id :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->newscategories_id}}</span></p><p><b>Provinces Id :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->provinces_id}}</span></p><p><b>News Type Id :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->news_type_id}}</span></p><p><b>Authors Id :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->authors_id}}</span></p><p><b>Title :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->title}}</span></p><p><b>Nepali Title :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->nepali_title}}</span></p><p><b>Alias :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->alias}}</span></p><p><b>Content :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->content}}</span></p><p><b>Featured News :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->featured_news}}</span></p><p><b>Image :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->image}}</span></p><p><b>Thumb :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->thumb}}</span></p><p><b>Image Source :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->image_source}}</span></p><p><b>Display Order :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->display_order}}</span></p><p><b>Status :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span
class="{{$data->status == 1 ? 'text-success' : 'text-danger'}}">{{$data->status == 1 ? 'Active' : 'Inactive'}}</span></p><p><b>Remarks :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->remarks}}</span></p><p><b>Created By :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->created_by}}</span></p><p><b>Updated By :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->updated_by}}</span></p><div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->created_at}}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->createdBy}}</span></p>
</div>
<div>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updated_at}}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updatedBy}}</span></p>
</div>
</div>
</div>
</div>
@endSection

View File

@ -0,0 +1,23 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Add News_type') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('news_type.index')); ?>
</div>
<div class='card-body'>
<form action="{{ route('news_type.store') }}" id="storeCustomForm" method="POST">
@csrf
<div class="row">
<div class="col-lg-6">{{ createText('title', 'title', 'Title') }}
</div>
<div class="col-lg-6">{{ createText('title_nepali', 'title_nepali', 'Title in Nepali') }}
</div>
<div class="col-md-12"><?php createButton('btn-primary btn-store', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('news_type.index')); ?>
</div>
</form>
</div>
</div>
@endsection

View File

@ -0,0 +1,23 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Edit News_type') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('news_type.index')); ?>
</div>
<div class='card-body'>
<form action="{{ route('news_type.update', [$data->news_type_id]) }}" id="updateCustomForm" method="POST">
@csrf <input type=hidden name='news_type_id' value='{{ $data->news_type_id }}' />
<div class="row">
<div class="col-lg-6">{{ createText('title', 'title', 'Title', '', $data->title) }}
</div>
<div class="col-lg-6">{{ createText('title_nepali', 'title_nepali', 'Title in Nepali', '', $data->title_nepali) }}
</div>
<div class="col-md-12"><?php createButton('btn-primary btn-update', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('news_type.index')); ?>
</div>
</form>
</div>
</div>
@endsection

View File

@ -0,0 +1,244 @@
@extends('backend.template')
@section('content')
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h2>{{ label('News Types List') }}</h2>
<a href="{{ route('news_type.create') }}" class="btn btn-primary"><span>{{ label('Create New') }}</span></a>
</div>
<div class="card-body">
<table class="table dataTable" id="tbl_news_type" data-url="{{ route('news_type.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{ label('Sn.') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('Title') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('Title in Nepali') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('alias') }}</span></th>
<th class="tb-col" data-sortable="false"><span class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{ $item->news_type_id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $i++ }}</td>
<td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">{{ $item->title_nepali }}</td>
<td class="tb-col">
<div class="alias-wrapper" data-id="{{ $item->news_type_id }}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}"
id="alias_{{ $item->news_type_id }}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button"
data-bs-toggle="dropdown" aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{ route('news_type.show', [$item->news_type_id]) }}"
class="dropdown-item"><i
class="ri-eye-fill align-bottom me-2 text-muted"></i>
{{ label('View') }}</a></li>
<li><a href="{{ route('news_type.edit', [$item->news_type_id]) }}"
class="dropdown-item edit-item-btn"><i
class="ri-pencil-fill align-bottom me-2 text-muted"></i>
{{ label('Edit') }}</a></li>
<li>
<a href="{{ route('news_type.toggle', [$item->news_type_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill align-bottom me-2 text-muted"></i>
{{ $item->status == 1 ? label('Unpublish') : label('Publish') }}
</a>
</li>
<li>
<a href="{{ route('news_type.destroy', [$item->news_type_id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill align-bottom me-2 text-muted"></i>
{{ label('Delete') }}
</a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endsection
@push('css')
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@endpush
@push('js')
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
$(document).ready(function(e) {
$('.change-alias-badge').on('click', function() {
var aliasWrapper = $(this).prev('.alias-wrapper');
var aliasSpan = aliasWrapper.find('.alias');
var aliasInput = aliasWrapper.find('.alias-input');
var isEditing = $(this).hasClass('editing');
aliasInput.toggleClass("d-none");
if (isEditing) {
// Update alias text and switch to non-editing state
var newAlias = aliasInput.val();
aliasSpan.text(newAlias);
aliasSpan.show();
aliasInput.hide();
$(this).removeClass('editing').text('Change Alias');
var articleId = $(aliasWrapper).data('id');
var ajaxUrl = "{{ route('news_type.updatealias') }}";
var data = {
articleId: articleId,
newAlias: newAlias
};
$.ajax({
url: ajaxUrl,
type: 'POST',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: data,
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
} else {
// Switch to editing state
aliasSpan.hide();
aliasInput.show().focus();
$(this).addClass('editing').text('Save Alias');
}
});
var mytable = $(".dataTable").DataTable({
ordering: true,
rowReorder: {
//selector: 'tr'
},
});
var isRowReorderComplete = false;
mytable.on('row-reorder', function(e, diff, edit) {
isRowReorderComplete = true;
});
mytable.on('draw', function() {
if (isRowReorderComplete) {
var url = mytable.table().node().getAttribute('data-url');
var ids = mytable.rows().nodes().map(function(node) {
return $(node).data('id');
}).toArray();
console.log(ids);
$.ajax({
url: url,
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content')
},
data: {
id_order: ids
},
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
isRowReorderComplete = false;
}
});
});
function confirmDelete(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'You will not be able to recover this item!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Delete',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'DELETE',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Deleted!', 'The item has been deleted.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred while deleting the item.', 'error');
}
});
}
});
}
function confirmToggle(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'Publish Status of Item will be changed!! if Unpublished, links will be dead!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Proceed',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'GET',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Updated!', 'Publishing Status has been updated.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred.', 'error');
}
});
}
});
}
</script>
@endpush

View File

@ -0,0 +1,34 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2><?php echo label('View Details'); ?></h2>
<?php createButton('btn-primary btn-cancel', '', 'Back to List', route('news_type.index')); ?>
</div>
<div class='card-body'>
<p><b>Title :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->title }}</span></p>
<p><b>Title in Nepali :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->title_nepali }}</span></p>
<p><b>Alias :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->alias }}</span></p>
<p><b>Status :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span
class="{{ $data->status == 1 ? 'text-success' : 'text-danger' }}">{{ $data->status == 1 ? 'Active' : 'Inactive' }}</span>
</p>
<p><b>Display Order :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->display_order }}</span></p>
<div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->created_at }}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->createdBy }}</span></p>
</div>
<div>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updated_at }}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updatedBy }}</span></p>
</div>
</div>
</div>
</div>
@endSection

View File

@ -0,0 +1,18 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Add Newscategories') }}</h2>
<?php createButton("btn-primary btn-cancel","","Cancel",route('newscategories.index')); ?>
</div>
<div class='card-body'>
<form action="{{route('newscategories.store')}}" id="storeCustomForm" method="POST">
@csrf
<div class="row"><div class="col-lg-6">{{createText("title","title","Title")}}
</div><div class="col-lg-6">{{createText("nepali_title","nepali_title","Nepali Title")}}
</div><div class="col-lg-6">{{createCustomSelect('tbl_newscategories', 'title', 'category_id', '', 'Parent Category','parent_category', 'form-control select2','status<>-1')}}</div><div class="col-lg-12 pb-2">{{createPlainTextArea("remarks","remarks ","Remarks")}}
</div> <br> <div class="col-md-12"><?php createButton("btn-primary btn-store","","Submit"); ?>
<?php createButton("btn-primary btn-cancel","","Cancel",route('newscategories.index')); ?>
</div> </form></div></div>
@endsection

View File

@ -0,0 +1,18 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Edit Newscategories') }}</h2>
<?php createButton("btn-primary btn-cancel","","Cancel",route('newscategories.index')); ?>
</div>
<div class='card-body'>
<form action="{{route('newscategories.update',[$data->category_id])}}" id="updateCustomForm" method="POST" >
@csrf <input type=hidden name='category_id' value='{{$data->category_id}}'/>
<div class="row"><div class="col-lg-6">{{createText("title","title","Title",'',$data->title)}}
</div><div class="col-lg-6">{{createText("nepali_title","nepali_title","Nepali Title",'',$data->nepali_title)}}
</div><div class="col-lg-6">{{createCustomSelect('tbl_newscategories', 'title', 'category_id', $data->parent_category, 'Parent Category','parent_category', 'form-control select2','status<>-1')}}</div><div class="col-lg-12 pb-2">{{createPlainTextArea("remarks",'',"Remarks",$data->remarks)}}
</div> <div class="col-md-12"><?php createButton("btn-primary btn-update","","Submit"); ?>
<?php createButton("btn-primary btn-cancel","","Cancel",route('newscategories.index')); ?>
</div> </form></div></div>
@endsection

View File

@ -0,0 +1,239 @@
@extends('backend.template')
@section('content')
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h2>{{ label("Newscategories List") }}</h2>
<a href="{{ route('newscategories.create') }}" class="btn btn-primary"><span>{{label("Create New")}}</span></a>
</div>
<div class="card-body">
<table class="table dataTable" id="tbl_newscategories" data-url="{{ route('newscategories.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{label("Sn.")}}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("title") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("nepali_title") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("alias") }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label("Parent") }}</span></th>
<th class="tb-col" data-sortable="false"><span
class="overline-title">{{ label("Action") }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{$item->category_id}}" data-display_order="{{$item->display_order}}" class="draggable-row <?php echo ($item->status==0)?"bg-light bg-danger":""; ?>">
<td class="tb-col">{{ $i++ }}</td><td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">{{ $item->nepali_title }}</td>
<td class="tb-col">
<div class="alias-wrapper" data-id="{{$item->category_id}}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}" id="alias_{{$item->category_id}}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td>
<td class="tb-col">
{!! getFieldData("tbl_newscategories", "title", "category_id", $item->parent_category) !!}
</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button" data-bs-toggle="dropdown" aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{route('newscategories.show',[$item->category_id])}}" class="dropdown-item"><i class="ri-eye-fill align-bottom me-2 text-muted"></i> {{label("View")}}</a></li>
<li><a href="{{route('newscategories.edit',[$item->category_id])}}" class="dropdown-item edit-item-btn"><i class="ri-pencil-fill align-bottom me-2 text-muted"></i> {{label("Edit")}}</a></li>
<li>
<a href="{{route('newscategories.toggle',[$item->category_id])}}" class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill align-bottom me-2 text-muted"></i> {{ ($item->status==1)?label('Unpublish'):label('Publish') }}
</a>
</li>
<li>
<a href="{{route('newscategories.destroy',[$item->category_id])}}" class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill align-bottom me-2 text-muted"></i> {{ label('Delete') }}
</a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endsection
@push("css")
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@endpush
@push("js")
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
$(document).ready(function(e) {
$('.change-alias-badge').on('click', function() {
var aliasWrapper = $(this).prev('.alias-wrapper');
var aliasSpan = aliasWrapper.find('.alias');
var aliasInput = aliasWrapper.find('.alias-input');
var isEditing = $(this).hasClass('editing');
aliasInput.toggleClass("d-none");
if (isEditing) {
// Update alias text and switch to non-editing state
var newAlias = aliasInput.val();
aliasSpan.text(newAlias);
aliasSpan.show();
aliasInput.hide();
$(this).removeClass('editing').text('Change Alias');
var articleId = $(aliasWrapper).data('id');
var ajaxUrl = "{{ route('newscategories.updatealias') }}";
var data = {
articleId: articleId,
newAlias: newAlias
};
$.ajax({
url: ajaxUrl,
type: 'POST',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: data,
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
} else {
// Switch to editing state
aliasSpan.hide();
aliasInput.show().focus();
$(this).addClass('editing').text('Save Alias');
}
});
var mytable = $(".dataTable").DataTable({
ordering: true,
rowReorder: {
//selector: 'tr'
},
});
var isRowReorderComplete = false;
mytable.on('row-reorder', function(e, diff, edit) {
isRowReorderComplete = true;
});
mytable.on('draw', function() {
if (isRowReorderComplete) {
var url = mytable.table().node().getAttribute('data-url');
var ids = mytable.rows().nodes().map(function(node) {
return $(node).data('id');
}).toArray();
console.log(ids);
$.ajax({
url: url,
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content')
},
data: {
id_order: ids
},
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
isRowReorderComplete=false;
}
});
});
function confirmDelete(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'You will not be able to recover this item!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Delete',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'DELETE',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Deleted!', 'The item has been deleted.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred while deleting the item.', 'error');
}
});
}
});
}
function confirmToggle(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'Publish Status of Item will be changed!! if Unpublished, links will be dead!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Proceed',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'GET',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Updated!', 'Publishing Status has been updated.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred.', 'error');
}
});
}
});
}
</script>
@endpush

View File

@ -0,0 +1,29 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2><?php echo label('View Details'); ?></h2>
<?php createButton("btn-primary btn-cancel","","Back to List",route('newscategories.index')); ?>
</div>
<div class='card-body'>
<p><b>Title :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->title}}</span></p><p><b>Nepali Title :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->nepali_title}}</span></p><p><b>Alias :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->alias}}</span></p><p><b>Parent Category :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->parent_category}}</span></p><p><b>Display Order :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->display_order}}</span></p><p><b>Status :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span
class="{{$data->status == 1 ? 'text-success' : 'text-danger'}}">{{$data->status == 1 ? 'Active' : 'Inactive'}}</span></p><p><b>Remarks :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->remarks}}</span></p><p><b>Createdby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->createdby}}</span></p><p><b>Updatedby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->updatedby}}</span></p><div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->created_at}}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->createdBy}}</span></p>
</div>
<div>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updated_at}}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updatedBy}}</span></p>
</div>
</div>
</div>
</div>
@endSection

View File

@ -0,0 +1,26 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Add Provinces') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('provinces.index')); ?>
</div>
<div class='card-body'>
<form action="{{ route('provinces.store') }}" id="storeCustomForm" method="POST">
@csrf
<div class="row">
<div class="col-lg-6">{{ createText('title', 'title', 'Province Name') }}
</div>
<div class="col-lg-6">{{ createText('province_no', 'province_no', 'Province Number') }}
</div>
<div class="col-lg-6">
{{ createText('province_nepali_name', 'province_nepali_name', 'Province Nepali Name') }}
</div> <br>
<div class="col-md-12"><?php createButton('btn-primary btn-store', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('provinces.index')); ?>
</div>
</form>
</div>
</div>
@endsection

View File

@ -0,0 +1,28 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Edit Provinces') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('provinces.index')); ?>
</div>
<div class='card-body'>
<form action="{{ route('provinces.update', [$data->province_id]) }}" id="updateCustomForm" method="POST">
@csrf <input type=hidden name='province_id' value='{{ $data->province_id }}' />
<div class="row">
<div class="col-lg-6">
{{ createText('title', 'title', 'Province Name', '', $data->title) }}
</div>
<div class="col-lg-6">
{{ createText('province_no', 'province_no', 'Province Number', '', $data->province_no) }}
</div>
<div class="col-lg-6">
{{ createText('province_nepali_name', 'province_nepali_name', 'Province Nepali Name', '', $data->province_nepali_name) }}
</div>
<div class="col-md-12"><?php createButton('btn-primary btn-update', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('provinces.index')); ?>
</div>
</form>
</div>
</div>
@endsection

View File

@ -0,0 +1,244 @@
@extends('backend.template')
@section('content')
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h2>{{ label('Provinces List') }}</h2>
<a href="{{ route('provinces.create') }}" class="btn btn-primary"><span>{{ label('Create New') }}</span></a>
</div>
<div class="card-body">
<table class="table dataTable" id="tbl_provinces" data-url="{{ route('provinces.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{ label('Sn.') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('province_name') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('province_nepali_name') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('alias') }}</span></th>
<th class="tb-col" data-sortable="false"><span class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{ $item->province_id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $i++ }}</td>
<td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">{{ $item->province_nepali_name }}</td>
<td class="tb-col">
<div class="alias-wrapper" data-id="{{ $item->province_id }}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}"
id="alias_{{ $item->province_id }}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button"
data-bs-toggle="dropdown" aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{ route('provinces.show', [$item->province_id]) }}"
class="dropdown-item"><i
class="ri-eye-fill align-bottom me-2 text-muted"></i>
{{ label('View') }}</a></li>
<li><a href="{{ route('provinces.edit', [$item->province_id]) }}"
class="dropdown-item edit-item-btn"><i
class="ri-pencil-fill align-bottom me-2 text-muted"></i>
{{ label('Edit') }}</a></li>
<li>
<a href="{{ route('provinces.toggle', [$item->province_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill align-bottom me-2 text-muted"></i>
{{ $item->status == 1 ? label('Unpublish') : label('Publish') }}
</a>
</li>
<li>
<a href="{{ route('provinces.destroy', [$item->province_id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill align-bottom me-2 text-muted"></i>
{{ label('Delete') }}
</a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endsection
@push('css')
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@endpush
@push('js')
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
$(document).ready(function(e) {
$('.change-alias-badge').on('click', function() {
var aliasWrapper = $(this).prev('.alias-wrapper');
var aliasSpan = aliasWrapper.find('.alias');
var aliasInput = aliasWrapper.find('.alias-input');
var isEditing = $(this).hasClass('editing');
aliasInput.toggleClass("d-none");
if (isEditing) {
// Update alias text and switch to non-editing state
var newAlias = aliasInput.val();
aliasSpan.text(newAlias);
aliasSpan.show();
aliasInput.hide();
$(this).removeClass('editing').text('Change Alias');
var articleId = $(aliasWrapper).data('id');
var ajaxUrl = "{{ route('provinces.updatealias') }}";
var data = {
articleId: articleId,
newAlias: newAlias
};
$.ajax({
url: ajaxUrl,
type: 'POST',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: data,
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
} else {
// Switch to editing state
aliasSpan.hide();
aliasInput.show().focus();
$(this).addClass('editing').text('Save Alias');
}
});
var mytable = $(".dataTable").DataTable({
ordering: true,
rowReorder: {
//selector: 'tr'
},
});
var isRowReorderComplete = false;
mytable.on('row-reorder', function(e, diff, edit) {
isRowReorderComplete = true;
});
mytable.on('draw', function() {
if (isRowReorderComplete) {
var url = mytable.table().node().getAttribute('data-url');
var ids = mytable.rows().nodes().map(function(node) {
return $(node).data('id');
}).toArray();
console.log(ids);
$.ajax({
url: url,
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content')
},
data: {
id_order: ids
},
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
isRowReorderComplete = false;
}
});
});
function confirmDelete(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'You will not be able to recover this item!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Delete',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'DELETE',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Deleted!', 'The item has been deleted.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred while deleting the item.', 'error');
}
});
}
});
}
function confirmToggle(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'Publish Status of Item will be changed!! if Unpublished, links will be dead!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Proceed',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'GET',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Updated!', 'Publishing Status has been updated.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred.', 'error');
}
});
}
});
}
</script>
@endpush

View File

@ -0,0 +1,30 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2><?php echo label('View Details'); ?></h2>
<?php createButton('btn-primary btn-cancel', '', 'Back to List', route('provinces.index')); ?>
</div>
<div class='card-body'>
<p><b>Province Name :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->title }}</span></p>
<p><b>Province Nepali Name :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->province_nepali_name }}</span></p>
<p><b>Alias :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->alias }}</span></p>
<div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->created_at }}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->createdBy }}</span></p>
</div>
<div>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updated_at }}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updatedBy }}</span></p>
</div>
</div>
</div>
</div>
@endSection

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -16,124 +16,58 @@
</div>
<div class="sports-slider owl-carousel owl-theme">
<div class="sports-item">
@foreach ($cultural as $type)
@if ($type->alias == 'cultural')
@foreach ($type->news->take(3) as $item)
<div class="single-sports-news">
<div class="row align-items-center">
<div class="col-lg-4">
<div class="sports-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/culture-news/culture-news-5.jpg')}}"
alt="image">
<img src="{{ asset($item->thumb) }}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8">
<div class="sports-news-content">
<h3>
<a href="news-details.php">दुबईमा कन्सर्ट गर्दै मंगोलियन हार्ट</a>
</h3>
</div>
</div>
</div>
</div>
<div class="single-sports-news">
<div class="row align-items-center">
<div class="col-lg-4">
<div class="sports-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/culture-news/culture-news-7.jpg')}}"
alt="image">
</a>
</div>
</div>
<div class="col-lg-8">
<div class="sports-news-content">
<h3>
<a href="news-details.php">जापानमा प्रदर्शन हुँदै 'पुजार सार्की'</a>
</h3>
</div>
</div>
</div>
</div>
<div class="single-sports-news">
<div class="row align-items-center">
<div class="col-lg-4">
<div class="sports-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/culture-news/culture-news-8.jpg')}}"
alt="image">
</a>
</div>
</div>
<div class="col-lg-8">
<div class="sports-news-content">
<h3>
<a href="news-details.php">किन फिल्म खेलिरहेकी छैनन् हेमा
मालिनी?</a>
<a href="news-details.php">{{ $item->title }}</a>
</h3>
</div>
</div>
</div>
</div>
@endforeach
@endif
@endforeach
</div>
<div class="sports-item">
@foreach ($cultural as $type)
@if ($type->alias == 'cultural')
@foreach ($type->news->skip(3) as $item)
<div class="single-sports-news">
<div class="row align-items-center">
<div class="col-lg-4">
<div class="sports-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/culture-news/culture-news-5.jpg')}}"
alt="image">
<img src="{{ asset($item->thub) }}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8">
<div class="sports-news-content">
<h3>
<a href="news-details.php">किन फिल्म खेलिरहेकी छैनन् हेमा
मालिनी?</a>
</h3>
</div>
</div>
</div>
</div>
<div class="single-sports-news">
<div class="row align-items-center">
<div class="col-lg-4">
<div class="sports-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/culture-news/culture-news-7.jpg')}}"
alt="image">
</a>
</div>
</div>
<div class="col-lg-8">
<div class="sports-news-content">
<h3>
<a href="news-details.php">दुबईमा कन्सर्ट गर्दै मंगोलियन हार्ट</a>
</h3>
</div>
</div>
</div>
</div>
<div class="single-sports-news">
<div class="row align-items-center">
<div class="col-lg-4">
<div class="sports-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/culture-news/culture-news-8.jpg')}}"
alt="image">
</a>
</div>
</div>
<div class="col-lg-8">
<div class="sports-news-content">
<h3>
<a href="news-details.php">जापानमा प्रदर्शन हुँदै 'पुजार सार्की'</a>
<a href="news-details.php">{{ $item->title }}</a>
</h3>
</div>
</div>
</div>
</div>
@endforeach
@endif
@endforeach
</div>
</div>
</div>
@ -148,122 +82,60 @@
</div>
<div class="tech-slider owl-carousel owl-theme">
<div class="tech-item">
@foreach ($technology as $type)
@if ($type->alias == 'technology')
@foreach ($type->news->take(3) as $item)
<div class="single-tech-news">
<div class="row align-items-center">
<div class="col-lg-4">
<div class="tech-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/tech-news/tech-1.jpg')}}" alt="image">
<img src="{{ asset($item->thumb) }}"
alt="image">
</a>
</div>
</div>
<div class="col-lg-8">
<div class="tech-news-content">
<h3>
<a href="news-details.php">मंगल ग्रहमा दुई महिनामै पुग्नेछन्
अन्तरिक्ष यात्री, प्लाज्मा रकेट बनाउने नासाको योजना</a>
</h3>
</div>
</div>
</div>
</div>
<div class="single-tech-news">
<div class="row align-items-center">
<div class="col-lg-4">
<div class="tech-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/tech-news/tech-2.jpg')}}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8">
<div class="tech-news-content">
<h3>
<a href="news-details.php">साइबर अपराधीबाट एप्पलले जोगायो खर्ब
रुपैयाँ</a>
</h3>
</div>
</div>
</div>
</div>
<div class="single-tech-news">
<div class="row align-items-center">
<div class="col-lg-4">
<div class="tech-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/tech-news/tech-3.jpg')}}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8">
<div class="tech-news-content">
<h3>
<a href="news-details.php">गुगलको नयाँ एआई टूल : तपाईंले भुल्न
सक्नुहुन्छ तर यसले सम्झाइदिनेछ </a>
<a href="news-details.php">{{ $item->title }}</a>
</h3>
</div>
</div>
</div>
</div>
@endforeach
@endif
@endforeach
</div>
<div class="tech-item">
@foreach ($technology as $type)
@if ($type->alias == 'technology')
@foreach ($type->news->skip(3) as $item)
<div class="single-tech-news">
<div class="row align-items-center">
<div class="col-lg-4">
<div class="tech-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/tech-news/tech-4.jpg')}}" alt="image">
<img src="{{ asset($item->thumb) }}"
alt="image">
</a>
</div>
</div>
<div class="col-lg-8">
<div class="tech-news-content">
<h3>
<a href="news-details.php">ग्यालेक्सी एस २५ सिरिजमा ब्याट्री बचत
गर्ने एआई फिचर</a>
</h3>
</div>
</div>
</div>
</div>
<div class="single-tech-news">
<div class="row align-items-center">
<div class="col-lg-4">
<div class="tech-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/tech-news/tech-5.jpg')}}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8">
<div class="tech-news-content">
<h3>
<a href="news-details.php">मोबाइल गेम स्टोर सुरु गर्दै माइक्रोसफ्ट,
गुगल प्ले स्टोरसँग टक्कर</a>
</h3>
</div>
</div>
</div>
</div>
<div class="single-tech-news">
<div class="row align-items-center">
<div class="col-lg-4">
<div class="tech-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/tech-news/tech-6.jpg')}}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8">
<div class="tech-news-content">
<h3>
<a href="news-details.php">गुगललाई टक्कर दिन आउँदैछ च्याट जिपिटी
सर्च इन्जिन</a>
<a href="news-details.php">{{ $item->title }}</a>
</h3>
</div>
</div>
</div>
</div>
@endforeach
@endif
@endforeach
</div>
</div>
</div>
@ -275,7 +147,8 @@
<aside class="widget-area">
<section class="widget widget_featured_reports">
<div class=" col-lg-10" style=" margin-left: 10%;">
<img src="{{asset('hulaki/assets/img/add/ads9.jpg')}}" alt="image" style="margin-top: 10%;">
<img src="{{ asset('hulaki/assets/img/add/ads9.jpg') }}" alt="image"
style="margin-top: 10%;">
</div>
</section>
</aside>

View File

@ -19,100 +19,53 @@
<div class="sports-slider owl-carousel owl-theme">
<div class="sports-item">
<div class="row align-items-center">
@foreach ($entertainment as $type)
@if ($type->alias == 'entertainment')
@foreach ($type->news->take(3) as $item)
<div class="col-lg-4">
<div class="single-sports-news">
<div class="sports-news-image">
<a href="news-details.php"><img
src="{{asset('hulaki/assets/img/entertainment-news/1.jpg')}}" alt="image"
src="{{ asset($item->thumb) }}" alt="image"
style="margin-bottom: 5%;"></a>
<div class="sports-news-content">
<h3>
<a href="news-details.php">‘फर्की फर्की’ ‘पुजार सार्की’
चलेपछि वर्षा : ‘आफ्नै फिल्म चलेजसरी पुलकित भएकी छु’</a>
</h3>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="single-sports-news">
<div class="sports-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/entertainment-news/2.jpg')}}"
alt="image"><br></a>
<div class="sports-news-content">
<h3>
<a href="news-details.php">जापानमा ‘पुजार सार्की’ हेर्न
दर्शकको भीड, एउटै शोमा १५ सय जना</a>
</h3>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="single-sports-news">
<div class="sports-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/entertainment-news/3.jpg')}}"
alt="image"><br></a>
<div class="sports-news-content">
<h3>
<a href="news-details.php">अदालतमा विचाराधीन मुद्दाबारेको
अभिव्यक्तिमा महजोडीले मागे माफी</a>
<a
href="news-details.php">{{ $item->title }}</a>
</h3>
</div>
</div>
</div>
</div>
@endforeach
@endif
@endforeach
</div>
</div>
<div class="sports-item">
<div class="row align-items-center">
@foreach ($entertainment as $type)
@if ($type->alias == 'entertainment')
@foreach ($type->news->skip(3) as $item)
<div class="col-lg-4">
<div class="single-sports-news">
<div class="sports-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/entertainment-news/4.jpg')}}" alt="image"
<a href="news-details.php"><img
src="{{ asset($item->thumb) }}" alt="image"
style="margin-bottom: 5%;"></a>
<div class="sports-news-content">
<h3>
<a href="news-details.php">अष्ट्रेलिया न्यूजिल्याण्डमा
‘फर्की फर्की’को सप्ताहन्त ओपनिङ करोड नाघ्यो</a>
</h3>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="single-sports-news">
<div class="sports-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/entertainment-news/5.jpg')}}"
alt="image"><br></a>
<div class="sports-news-content">
<h3>
<a href="news-details.php">न्युयोर्कमा नेपाली रियालिटी शो ‘द
च्यालेन्जर्स : गेम अफ हिमालयज’को प्रिमियर</a>
</h3>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="single-sports-news">
<div class="sports-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/entertainment-news/6.jpg')}}"
alt="image"><br></a>
<div class="sports-news-content">
<h3>
<a href="news-details.php">अमेरिकी राजदूतले निवासमा गरे
‘आर्ट इन एम्बेसिज’ कला संग्रहको प्रदर्शन</a>
<a
href="news-details.php">{{ $item->title }}</a>
</h3>
</div>
</div>
</div>
</div>
@endforeach
@endif
@endforeach
</div>
</div>
</div>

View File

@ -16,57 +16,25 @@
</div>
</div>
<div class="business-news-slides owl-carousel owl-theme">
@foreach ($categories as $type)
@if ($type->alias == 'feature')
@foreach ($type->news as $item)
<div class="single-business-news">
<div class="business-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/featured-reports/4.jpg')}}" alt="image">
<img src="{{ asset($item->thumb) }}" alt="image">
</a>
</div>
<div class="business-news-content">
<h3>
<a href="news-details.php">लगानीकर्ताको खटपटले बन्द भयो निदान अस्पताल</a>
<a href="news-details.php">{{ $item->title }}</a>
</h3>
</div>
</div>
<div class="single-business-news">
<div class="business-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/featured-reports/3.png')}}" alt="image">
</a>
</div>
<div class="business-news-content">
<h3>
<a href="news-details.php">‘मैले आफ्नो तरिकाले बाँच्न पाउने स्थिति पनि भएन, यो कस्तो
न्याय हो ?</a>
</h3>
</div>
</div>
<div class="single-business-news">
<div class="business-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/featured-reports/2.jpg')}}" alt="image">
</a>
</div>
<div class="business-news-content">
<h3>
<a href="news-details.php">लोकप्रियता ध्रुवीकरणमा बितेका मोदीका एक दशक</a>
</h3>
</div>
</div>
<div class="single-business-news">
<div class="business-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/featured-reports/1.jpg')}}" alt="image">
</a>
</div>
<div class="business-news-content">
<h3>
<a href="news-details.php">पुटिनले बारम्बार युक्रेनसँग युद्ध रोक्ने संकेत किन
गरिरहेका छन् ?</a>
</h3>
</div>
</div>
</div>
@endforeach
@endif
@endforeach
</div>
</div>
<!-- Sidebar -->
@ -74,7 +42,8 @@
<aside class="widget-area">
<section class="widget widget_featured_reports">
<div class=" col-lg-10" style=" margin-left: 10%;">
<img src="{{asset('hulaki/assets/img/add/ads9.jpg')}}" alt="image" style="margin-top: 0%;">
<img src="{{ asset('hulaki/assets/img/add/ads9.jpg') }}" alt="image"
style="margin-top: 0%;">
</div>
</section>
</aside>

View File

@ -19,152 +19,55 @@
</div>
<section class="widget widget_featured_reports mb-50">
@foreach ($internationalNews as $type)
@if ($type->alias == 'international' && $loop->first)
@foreach ($type->news->take(1) as $item)
<div class="single-featured-reports">
<div class="featured-reports-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/politics-news/Xi-Jinping-and-Emmanuel-Macron-768x466.jpg')}}"
alt="image" class="international-news-image">
<img src="{{ asset($item->thumb) }}" alt="image"
class="international-news-image">
</a>
<div class="featured-reports-content mt-30">
<h3>
<a href="news-details.php">युक्रेनमा युद्धविरामको आह्वानसहित फ्रान्स चीनको
संयुक्त विज्ञप्ति</a>
<a href="news-details.php">{{ $item->short_description }}</a>
</h3>
</div>
</div>
</div>
@endforeach
@endif
@endforeach
</section>
<div class="row">
@foreach ($internationalNews as $type)
@if ($type->alias == 'international' && $loop->first)
@foreach ($type->news->skip(1) as $item)
<div class="col-lg-6">
<div class="most-popular-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="post-image-fluid">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/international-news/Vladmir-Putin.jpg')}}"
alt="image">
<img src="{{ asset($item->thumb) }}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="post-content">
<h3>
<a href="news-details.php">पुटिनले बारम्बार युक्रेनसँग युद्ध रोक्ने
संकेत किन गरिरहेका छन् ?</a>
</h3>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="most-popular-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="post-image-fluid">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/international-news/palestine-flag.jpg')}}"
alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="post-content">
<h3>
<a href="news-details.php">युरोपेली राष्ट्रले दिए प्यालेस्टाइन राज्यलाई
मान्यता, अमेरिकाको आपत्ति</a>
</h3>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="most-popular-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="post-image-fluid">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/international-news/mohammad.jpg')}}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="post-content">
<h3>
<a href="news-details.php">इरानमा दिने राष्ट्रिय शोक, २८ जुनमा
राष्ट्रपति निर्वाचन</a>
</h3>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="most-popular-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="post-image-fluid">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/international-news/Two-young.jpg')}}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="post-content">
<h3>
<a href="news-details.php">१० करोड ४० लाख मूल्य पर्ने एउटा रूख दुई
युवाले काटिदिएपछि</a>
</h3>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="most-popular-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="post-image-fluid">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/international-news/Biden-and-Trump.jpg')}}"
alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="post-content">
<h3>
<a href="news-details.php">ट्रम्प बाइडेनबीच दुईवटा बहस कार्यक्रम हुने
निश्चित</a>
</h3>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="most-popular-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="post-image-fluid">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/international-news/Putin-and-Xi.jpg')}}"
alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="post-content">
<h3>
<a href="news-details.php">सी जिनपिङ भ्लादिमिर पुटिनबीच भेटवार्ता</a>
<a
href="news-details.php">{{ $item->short_description }}</a>
</h3>
</div>
</div>
</div>
</div>
</div>
@endforeach
@endif
@endforeach
</div>
</div>
</div>
@ -172,17 +75,18 @@
<div class="col-lg-3">
<aside class="widget-area">
<section class="widget widget_featured_reports">
<img src="{{asset('hulaki/assets/img/ad/NepalLife-Final-Gif-Artwork-300x200pix2019-04-02.gif')}}" alt="image"
<img src="{{ asset('hulaki/assets/img/ad/NepalLife-Final-Gif-Artwork-300x200pix2019-04-02.gif') }}"
alt="image" class="img-fluid">
</section>
<section class="widget widget_featured_reports">
<img src="{{ asset('hulaki/assets/img/ad/ncell.gif') }}" alt="image" class="img-fluid">
</section>
<section class="widget widget_featured_reports">
<img src="{{ asset('hulaki/assets/img/ad/ime-pay-300x2502018-12-16.gif') }}" alt="image"
class="img-fluid">
</section>
<section class="widget widget_featured_reports">
<img src="{{asset('hulaki/assets/img/ad/ncell.gif')}}" alt="image" class="img-fluid">
</section>
<section class="widget widget_featured_reports">
<img src="{{asset('hulaki/assets/img/ad/ime-pay-300x2502018-12-16.gif')}}" alt="image" class="img-fluid">
</section>
<section class="widget widget_featured_reports">
<img src="{{asset('hulaki/assets/img/ad/300-x-150.png')}}" alt="image" class="img-fluid">
<img src="{{ asset('hulaki/assets/img/ad/300-x-150.png') }}" alt="image" class="img-fluid">
</section>
</aside>
</div>

View File

@ -21,100 +21,51 @@
<div class="sports-slider owl-carousel owl-theme">
<div class="sports-item">
<div class="row align-items-center">
@foreach ($interviews as $type)
@if ($type->alias == 'interview')
@foreach ($type->news->take(3) as $item)
<div class="col-lg-4">
<div class="single-sports-news">
<div class="sports-news-image">
<a href="news-details.php"><img
src="{{asset('hulaki/assets/img/interview-news/1.jpg')}}" alt="image"
src="{{ asset($item->thumb) }}" alt="image"
style="margin-bottom: 5%;"></a>
<div class="sports-news-content">
<h3>
<a href="news-details.php">‘समाचार सुन्दाखेरि दिक्क
लाग्छ’</a>
</h3>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="single-sports-news">
<div class="sports-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/interview-news/2.png')}}"
alt="image"><br></a>
<div class="sports-news-content">
<h3>
<a href="news-details.php">निजी क्षेत्र अर्थतन्त्रको साँच्चै
इन्जिन हो भन्ने स्थापित गर्‍यौं</a>
</h3>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="single-sports-news">
<div class="sports-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/interview-news/3.jpg')}}"
alt="image"><br></a>
<div class="sports-news-content">
<h3>
<a href="news-details.php">‘सभामुखको समर्थनमा गण्डकीका
मुख्यमन्त्रीलाई बहुमत’</a>
<a
href="news-details.php">{{ $item->title }}</a>
</h3>
</div>
</div>
</div>
</div>
@endforeach
@endif
@endforeach
</div>
</div>
<div class="sports-item">
<div class="row align-items-center">
@foreach ($interviews as $type)
@if ($type->alias == 'interview')
@foreach ($type->news->skip(3) as $item)
<div class="col-lg-4">
<div class="single-sports-news">
<div class="sports-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/interview-news/4.jpg')}}" alt="image"
style="margin-bottom: 5%;"></a>
<img src="{{ asset($item->thumb) }}"
alt="image" style="margin-bottom: 5%;"></a>
<div class="sports-news-content">
<h3>
<a href="news-details.php">‘इलामको विकासका सयौं फाइल बोकेर
सिंहदरबार गएको छु’</a>
</h3>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="single-sports-news">
<div class="sports-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/interview-news/5.jpg')}}"
alt="image"><br></a>
<div class="sports-news-content">
<h3>
<a href="news-details.php">‘केन्द्रको कागजी गठबन्धन इलाममा
चल्दैन’</a>
</h3>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="single-sports-news">
<div class="sports-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/interview-news/6.jpg')}}"
alt="image"><br></a>
<div class="sports-news-content">
<h3>
<a href="news-details.php">‘इलाम- का जनतामा विकासको चाहना
मात्रै छ’</a>
<a href="news-details.php">{{ $item->title }}</a>
</h3>
</div>
</div>
</div>
</div>
@endforeach
@endif
@endforeach
</div>
</div>
</div>

View File

@ -1,15 +1,15 @@
{{-- main-news --}}
<section class="main-news-area">
<div class="container">
@if($featuredNews)
<div class="row">
<a href="#">
<img src="{{asset('hulaki/assets/img/ad/Kicks_Desktop_1230x100-px_new.jpg')}}" alt="image" class="img-fluid" >
</a>
<div class="col-lg-12 mt-20">
<div class="news-content mt-50 text-center">
<h2>
<a href="news-details.php"><b>बार कार्यदलको सुझाव : सर्वोच्चका न्यायाधीशको न्यूनतम उमेर पदावधि तोक्नुपर्छ</b></a>
<a href="{{route('newsDetail')}}"><b>{{$featuredNews->title}}</b></a>
</h2>
</div>
</div>
@ -19,19 +19,20 @@
<div class="col-lg-12">
<div class="news-content" style="text-align: center; margin: 3%;">
<h2>
<a href="news-details.php"><b>सय रूपैयाँको नोटमा चुच्चे नक्सा छाप्न लागेपछि भारतका विदेशमन्त्रीले भने- जमिनको वास्तविकता परिवर्तन गर्दैन</b></a>
<a href="news-details.php"><b>{{$featuredNews->short_description}}</b></a>
</h2>
</div>
<div class="single-main-news" >
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/politics-news/cash.jpg')}}" alt="image">
<img src="{{asset($featuredNews->image)}}" alt="image">
</a>
</div>
<div class="news-content" style="text-align: center;">
<p>सरकारले सय रूपैयाँको नोटमा चुच्चे नक्सा छाप्ने निर्णय गरेपछि भारतले विरोध जनाएको छ। भारतीय विदेशमन्त्री एस जयशंकरले सीमा समस्या समाधानका लागि दुई देशबीच निरन्तर छलफल भइरहेको अवस्थामा नेपालले एकतर्फी रूपमा निर्णय गरेको बताएका छन्।</P>
<p>{!!$featuredNews->content!!}</P>
</div>
</div>
</div>
@endif
</div>
</section>
<!-- End Main News Area -->

View File

@ -15,99 +15,57 @@
</div>
<div class="row">
<div class="col-lg-7">
{{-- @dd($politics) --}}
@foreach ($politics as $type)
@if ($type->alias ==='politics')
@foreach ($type->news->take(1) as $item)
@if ($loop->first)
<div class="single-culture-news">
<div class="culture-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/politics-news/artha.jpg')}}" alt="image" class="img-fluid">
<img src="{{ asset($item->thumb) }}" alt="image"
class="img-fluid">
</a>
</div>
<div class="culture-news-content">
<h3>
<a href="news-details.php">अवहेलना मुद्दामा बुढानिलकण्ठका मेयर वडाध्यक्षहरूलाई
एक महिना कैद सजाय</a>
<a href="news-details.php">{{ $item->short_description }}</a>
</h3>
</div>
</div>
@endif
@endforeach
@endif
@endforeach
</div>
<div class="col-lg-5">
@foreach ($politics as $type)
@if ($type->alias == 'politics')
@foreach ($type->news->skip(1) as $item)
<div class="culture-news-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="culture-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/politics-news/2.jpg')}}" alt="image">
<img src="{{ asset($item->thumb) }}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="culture-news-content">
<h3>
<a href="news-details.php">सिरोहिया गिरफ्तारबारे बृहत् नागरिक आन्दोलनले
भन्यो– प्रतिशोध साँध्न सरकारी शक्ति दुरूपयोग</a>
</h3>
</div>
</div>
</div>
</div>
<div class="culture-news-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="culture-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/politics-news/3.jpg')}}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="culture-news-content">
<h3>
<a href="news-details.php">पारित भयो जसपा नेपालको राजनीतिक प्रतिवेदन
</a>
</h3>
</div>
</div>
</div>
</div>
<div class="culture-news-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="culture-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/politics-news/1.jpg')}}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="culture-news-content">
<h3>
<a href="news-details.php">बालुवाटारमा सुरू भयो शीर्ष नेता कार्यदलको
बैठक </a>
</h3>
</div>
</div>
</div>
</div>
<div class="culture-news-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="culture-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/politics-news/7.jpg')}}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="culture-news-content">
<h3>
<a href="news-details.php">सहकारी ठगका मतियारलाई बिपीको नाम लिने अधिकार
छैनः कांग्रेस सांसद रमा कोइराला</a>
<a
href="news-details.php">{{ $item->short_description }}</a>
</h3>
</div>
</div>
</div>
</div>
@endforeach
@endif
@endforeach
</div>
</div>
</div>
@ -118,11 +76,13 @@
<aside class="widget-area mt-50">
<section class="widget widget_featured_reports">
<img src="{{asset('hulaki/assets/img/ad/prabhu_pay_onlinekhabar.gif')}}" alt="image" class="img-fluid">
<img src="{{ asset('hulaki/assets/img/ad/prabhu_pay_onlinekhabar.gif') }}" alt="image"
class="img-fluid">
</section>
<section class="widget widget_featured_reports">
<img src="{{asset('hulaki/assets/img/ad/Nabil_jan_300-x-150.gif')}}" alt="image" class="img-fluid">
<img src="{{ asset('hulaki/assets/img/ad/Nabil_jan_300-x-150.gif') }}" alt="image"
class="img-fluid">
</section>
</aside>

View File

@ -15,171 +15,82 @@
</div>
<div class="row">
<div class="col-lg-6">
@foreach ($sports as $type)
@if ($type->alias == 'sports')
@foreach ($type->news->take(1) as $item)
@if ($loop->first)
<div class="single-culture-news">
<div class="">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/sports-news/sport-0.jpg')}}" alt="image">
<img src="{{ asset($item->thumb) }}" alt="image">
</a>
</div>
<div class="culture-news-content">
<h3>
<a href="news-details.php">नेपालले दीपेन्द्रको चोटमा जोखिम नलिने</a>
<a href="news-details.php">{{ $item->title }}</a>
</h3>
</div>
</div>
@endif
@endforeach
@endif
@endforeach
</div>
<div class="col-lg-3">
@foreach ($sports as $type)
@if ($type->alias == 'sports')
@foreach ($type->news->skip(1)->take(4) as $item)
<div class="culture-news-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="culture-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/sports-news/sport-1.jpg')}}" alt="image">
<img src="{{ asset($item->thumb) }}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="culture-news-content">
<h3>
<a href="news-details.php">विश्वकपअघि नेपालले ध्यान दिनुपर्ने पक्ष</a>
</h3>
</div>
</div>
</div>
</div>
<div class="culture-news-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="culture-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/sports-news/sport-2.png')}}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="culture-news-content">
<h3>
<a href="news-details.php">फ्रेन्च स्ट्राइकर जिरुडले अन्तर्राष्ट्रिय
फुटबलबाट सन्यास लिने</a>
</h3>
</div>
</div>
</div>
</div>
<div class="culture-news-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="culture-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/sports-news/sport-3.jpg')}}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="culture-news-content">
<h3>
<a href="news-details.php">एसिया कपका लागि २८ सदस्यीय नेपाली टोली</a>
</h3>
</div>
</div>
</div>
</div>
<div class="culture-news-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="culture-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/sports-news/sport-4.jpg')}}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="culture-news-content">
<h3>
<a href="news-details.php">कोलकातालाई तेस्रो पटक आईपीएलको उपाधि</a>
<a href="news-details.php">{{ $item->title }}</a>
</h3>
</div>
</div>
</div>
</div>
@endforeach
@endif
@endforeach
</div>
<div class="col-lg-3">
< @foreach ($sports as $type)
@if ($type->alias == 'sports')
@foreach ($type->news->skip(5) as $item)
<div class="culture-news-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="culture-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/sports-news/sport-5.jpg')}}" alt="image">
<img src="{{ asset($item->thumb) }}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="culture-news-content">
<h3>
<a href="news-details.php">ग्रिनल्यान्ड भ्याली पब्लिकलाई न्युटन कप</a>
</h3>
</div>
</div>
</div>
</div>
<div class="culture-news-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="culture-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/sports-news/sport-6.jpg')}}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="culture-news-content">
<h3>
<a href="news-details.php">एमेच्योर गल्फ च्याम्पियनसिप काठमाडौंमा
हुने</a>
</h3>
</div>
</div>
</div>
</div>
<div class="culture-news-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="culture-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/sports-news/sport-7.jpg')}}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="culture-news-content">
<h3>
<a href="news-details.php">दीपकको शतकमा भक्तपुर क्रिकेट सेन्टरको विजयी
सुरुवात</a>
</h3>
</div>
</div>
</div>
</div>
<div class="culture-news-post">
<div class="row align-items-center">
<div class="col-lg-4 col-sm-4">
<div class="culture-news-image">
<a href="news-details.php">
<img src="{{asset('hulaki/assets/img/sports-news/sport-8.jpg')}}" alt="image">
</a>
</div>
</div>
<div class="col-lg-8 col-sm-8">
<div class="culture-news-content">
<h3>
<a href="news-details.php">पुरुष भलिबलको फ्रेन्चाइज लिग हुने</a>
<a href="news-details.php">{{ $item->title }}</a>
</h3>
</div>
</div>
</div>
</div>
@endforeach
@endif
@endforeach
</div>
</div>
</div>

View File

@ -0,0 +1,246 @@
@extends('hulaki_khabar.layout.layout')
@section('content')
<!-- Start News Details Area -->
<section class="news-details-area bg-ffffff ptb-50">
<div class="container">
<div class="row">
<div class="col-lg-9 col-md-9">
<div class="blog-details-desc">
<h3 id="sidebar">कसरी बढाइँदै करको दायरा? यी हुन् उच्चस्तरीय कर सुधार समितिले देखाएका मुख्य
क्षेत्र</h3>
<div class="article-image">
<img src="{{asset('hulaki/assets/img/politics-news/artha.jpg')}}" alt="image">
</div>
<div class="article-content">
<div class="sports-news-content">
<p>चालू वर्षको बजेटको विनियोजन गर्ने क्रममा तत्कालीन अर्थमन्त्री प्रकाशशरण महतले कर
प्रणालीमा व्यापक सुधार गर्नुपर्ने औंल्याएका थिए। नयाँ क्षेत्रमा कारोबार भएको तर करको
दायरा विस्तार गर्न नसकिएको, कर चुहावट बढेको, कर प्रणालीहरूमा समस्या देखिएको सन्दर्भमा
त्यसपछिको सरकारले समग्र सुझाव दिनको लागि पूर्वसचिव विद्याधर मल्लिकको संयोजकत्वमा कर
प्रणाली सुधारसम्बन्धी उच्चस्तरीय सुझाव समिति बनाएको थियो।</p>
<p>परराष्ट्रमन्त्री नारायणकाजी श्रेष्ठको निमन्त्रणामा नेपाल भ्रमणमा आएकी खामीखावालाई
परराष्ट्र सचिव सेवा लम्सालले त्रिभुवन अन्तर्राष्ट्रिय विमानस्थलमा स्वागत गरेकी छन् </p>
</div>
<div class="desc-overview">
<div class="row align-items-center">
<div class="col-lg-12">
<div class="desc-text">
<div class="sports-news-content">
<p>आगामी वर्षको बजेट प्रस्तुत गर्ने समयमा सुझाव समेट्न सहयोग हुने गरी यो
समितिले अर्थमन्त्री वर्षमान पुनलाई गत चैत १७ गते नै प्रतिवेदन बुझाएको
थियो। अर्थ मन्त्रालयका अधिकारीहरूले कतिपय विषयमा थप अध्ययन गरेर केही
सुझाबहरू अबको बजेटबाट कार्यान्वयन गर्दै जाने बताएका छन्। </p>
<p> समितिले बुझाएको प्रतिवेदन भने अहिलेसम्म पनि सार्वजनिक गरिएको छैन। बजेट
लेखनमा दबाब पर्ने भन्दै अर्थले यो प्रतिवेदन सार्वजनिक नगरेको हो। सम्बद्ध
अधिकारीहरूले चालू वर्षबाट नै सुधार गर्ने गरी धेरै महत्त्वपूर्ण सुझाव
प्रतिवेदनले दिएको बताएका छन्। प्रतिवेदन कार्यान्वयन हुँदा करिब तीन खर्ब
रूपैयाँ बराबरको अतरिक्त राजस्व उठ्ने आकलन गरिएको छ।</p>
</div>
</div>
</div>
</div>
</div>
<div class="sports-news-content">
<p>हरेक वर्ष बजेटबाट दिइने कर छुट बढ्दै गएको अवस्थामा समितिले छुटहरू क्रमशः हटाउँदै जान
सरकारलाई सिफारिस गरेको छ। विभिन्न ऐनहरूले प्रबन्ध गरेका कर पनि हरेक वर्ष परिवर्तन हुने
(सालबसाली) आर्थिक ऐनबाट संशोधन गरी छुट दिने गरिएको छ। तर, छुटको लाभ रोजगारी सिर्जना,
उत्पादन तथा उपभोगमा नदेखिएको संकेत समितिले गरेको छ।</p>
<p>समितिले कर छुटको कारण त्याग भएको राजस्व करका दरहरू घटाए केही वस्तु तथा सेवाको उत्पादनमा
खर्च गरेर प्रोत्साहन दिन सकिने बाटो देखाएको छ। ‘कर छुटको प्रणालीलाई न्यून करका दर केही
वस्तु तथा सेवामा कर खर्च प्रणालीमा लैजाने व्यवस्था गरी करको नीतिगत अन्तर कम गर्नुपर्छ,
प्रतिवेदनमा उल्लेख गरिएको विषय ‌‌औंल्याउँदै समितिका एक सदस्यले भने, ‘अबको पाँच
वर्षभित्रमा सबै प्रकारका कर छुटका प्रबन्ध खारेज गर्नु पर्दछ।’</p>
<div class="desc-overview">
<div class="row align-items-center">
<div class="col-lg-12">
<div class="desc-image">
<img src="{{asset('hulaki/assets/img/politics-news/artha-1.jpg')}}" alt="image">
</div>
</div>
</div>
</div>
<p>व्यवसायीहरूलाई दिएका अन्य सुविधाहरू पनि हटाएर करका दरहरू नै घटाउनुपर्ने राय दिएको छ।
अहिले कुनै कम्पनी घाटामा गयो भने सात वर्षसम्म घाटा सार्न पाउँछ। यसको अर्थ कुनै पनि
कम्पनी वर्षसम्म घाटामा गयो। तर, सातौं वर्षमा नाफा कमायो भने पहिले विगतको घाटा पूर्ति
गर्छ घाटा पूर्तिबाट बढी हुने आयमा मात्रै कर तिर्नुपर्ने हुन्छ।</p>
<p>विभिन्न कानुनले गरेका प्रबन्धहरूको पनि कार्यान्वयन नहुँदा करको दायरा विस्तार नभएको निचोड
समितिको छ। त्यस्तै राजस्वका दरहरू निर्धारण गर्दा कर तटस्थता, राजस्वको जोखिम
अर्थतन्त्रमा पर्ने प्रभाव मूल्यांकन नगरिएको औंल्याइएको छ।</p>
<p>‘मूल्य अभिवृद्धि कर ऐन, आयकर ऐन, अन्तःशुल्क ऐन, भन्सार ऐनका समग्र कानुनी प्रवन्धको
कार्यान्वयन हुन नसक्दा करको आधार दायरा बढ्न सकेको छैन, समितिका एक सदस्यले भने, ‘करका
दरहरूको निर्धारण गर्दा कर तटस्थता, राजस्व जोखिम अर्थतन्त्रमा पर्न सक्ने प्रभावको
अध्ययन तथा आकलनबिना नै नीतिगत परिवर्तन हुने गरेकोले अर्थतन्त्रमा कर प्रणाली तटस्थ
देखिँदैन, करको नयाँ क्षेत्रहरूको पहिचान गरी करको दायरा विस्तारको लागि कर कानुनहरूमा समय
सापेक्ष रूपमा सुधार हुन आवश्यक छ।’</p>
<p>समितिले हरित करका विषयमा अध्ययन गरी लगाउन सिफारिस गरेको छ। अर्थमन्त्रालय पनि आगामी आर्थिक
वर्षबाट नै यस्तो कर लगाउन सुरू गर्दैछ। प्रदूषण कर लगायतका अन्य नामबाट उठाइने करसमेत हरित
करमा समायोजन गर्न समितिको सिफारिस छ। इन्धनमा लगाइएको भन्सार तथा सुधार दस्तुर, पूर्वाधार
कर, आयल निगमले लिने प्रदूषण करहरू एकीकृत गरी हरितकर नामाकरण गर्न, हवाई इन्धनमा प्रदूषण
नियन्त्रण शुल्क नलागेकोले हरित कर लगाउन, बढी प्रदूषण गर्ने गैर कृषिजन्य उद्योग इँटा
भट्टाहरूमा अन्तःशुल्क लगाउने गरिएकोमा यस्ता प्रदूषणयुक्त उद्योगहरूमा पुनः अन्तःशुल्क वा
कार्बन कर लगाउन सकिने यसलाई हरित करको रूपमा उठाउन समितिले सिफारिस गरेको छ। </p>
<p>त्यस्तै वातावरणको हिसाबले जोखिमपूर्ण मानिएको कोइला लगायतमा भन्सार महसुलका अतिरिक्त हरित
कर लगाउन, पेट्रोलियम पदार्थ लगायत वातावरणलाई नकारात्मक असर गर्ने मालवस्तुको उत्पादन
आयातमा अतिरिक्त हरित करको व्यवस्था गर्न पनि सुझाव दिइएको छ। यो कर लगाउनेले
अन्तर्राष्ट्रिय मञ्चमा समेत नेपालको फरक चिनारी हुने अर्थका अधिकारीहरूको दाबी छ। अहिले
अन्तर्राष्ट्रिय बहसका रूपमा हरित अर्थतन्त्र अर्थात् ग्रिनोमिक्स हरित करको विषय उठेको
छ। हरित अर्थतन्त्र प्रवर्द्धन गर्ने एउटा माध्यमको रूपमा हरित करलाई लिने गरिन्छ। सामाजिक
सुरक्षाको दायित्व बढ्दै गएको सन्दर्भमा सामाजिक सुरक्षा कर विस्तार गर्न पनि सुझाव दिइएको
छ।</p>
<p>सामाजिक सुरक्षा संरक्षणको लागि सरकारले कर पनि उठाउने गरेको छ। तर खर्चको तुलनामा यो
शीर्षकमा उठाइएको करको हिस्सा न्यून छ। सरकारले अहिले एकल (दम्पती नभएको) व्यक्तिको पाँच
लाख रूपैयाँभन्दा तलको दम्पतीको हकमा लाख रूपैयाँभन्दा कमको आयमा एक प्रतिशत सामाजिक
सुरक्षा कर उठाउने गरेको छ। भोलिका दिनमा सामाजिक सुरक्षाको दायित्व बढ्दै जाने भएकाले
यस्तो भार बहन गर्न सक्ने गरी स्रोत खोज्न कर प्रणाली सुधारसम्बन्धी उच्चस्तरीय सुझाव
समितिले सुझाव दिएको छ। यो समितिले मुख्यतः योगदानमा आधारित सामाजिक सुरक्षा योजनालाई अघि
बढाउन सुझाव दिएको भने करको दायरा विस्तार गर्ने आधार पनि देखाएको छ। </p>
</div>
</div>
</div>
<section class="widget widget_featured_reports">
<div class=" col-lg-10" style=" margin: 5%;">
<img src="{{asset('hulaki/assets/img/add/add.gif')}}" alt="image-fluid">
</div>
</section>
<section class="widget widget_featured_reports">
<div class=" col-lg-10" style=" margin: 5%;">
<img src="{{asset('hulaki/assets/img/add/add1.gif')}}" alt="image-fluid">
</div>
</section>
</div>
<div class="col-lg-3" id="sidebar">
<aside class="widget-area mt-50">
<section class="widget widget_featured_reports">
<img src="{{asset('hulaki/assets/img/ad/prabhu_pay_onlinekhabar.gif')}}" alt="image" class="img-fluid">
</section>
<div>
<section class="widget widget_latest_news_thumb">
<h3 class="widget-title">पछिल्लो समाचार </h3>
<article class="item">
<a href="news-details.php" class="thumb">
<span class="fullimage cover bg1" role="img"></span>
</a>
<div class="info">
<h4 class="title usmall"><a href="news-details.php">के विदेश जाने युवालाई रोक्न
फर्काउन सम्भव ?</a></h4>
</div>
</article>
<article class="item">
<a href="news-details.php" class="thumb">
<span class="fullimage cover bg2" role="img"></span>
</a>
<div class="info">
<h4 class="title usmall"><a href="news-details.php">कता जाँदैछ नेपाली समाज, के हो
उदारवादी विश्व व्यवस्थाको भविष्य?</a></h4>
</div>
</article>
<article class="item">
<a href="news-details.php" class="thumb">
<span class="fullimage cover bg3" role="img"></span>
</a>
<div class="info">
<h4 class="title usmall"><a href="news-details.php">जनमत पार्टीले नौलो गणतन्त्र
आन्दोलन घोषणा गर्दै</a></h4>
</div>
</article>
<article class="item">
<a href="news-details.php" class="thumb">
<span class="fullimage cover bg4" role="img"></span>
</a>
<div class="info">
<h4 class="title usmall"><a href="news-details.php">गैंडाकोट थुम्सीमा सडक भासियो,
पूर्वपश्चिम राजमार्ग अवरुद्ध</a></h4>
</div>
</article>
<article class="item">
<a href="news-details.php" class="thumb">
<span class="fullimage cover bg5" role="img"></span>
</a>
<div class="info">
<h4 class="title usmall"><a href="news-details.php">भारतमा महँगो लोकसभा चुनावको
सम्भावित नतिजा</a></h4>
</div>
</article>
<article class="item">
<a href="news-details.php" class="thumb">
<span class="fullimage cover bg6" role="img"></span>
</a>
<div class="info">
<h4 class="title usmall"><a href="news-details.php">‘आजकै दिन नागरिक स्वतन्त्रता
पाएका थियौं’</a></h4>
</div>
</article>
<article class="item">
<a href="news-details.php" class="thumb">
<span class="fullimage cover bg3" role="img"></span>
</a>
<div class="info">
<h4 class="title usmall"><a href="news-details.php">जनमत पार्टीले नौलो गणतन्त्र
आन्दोलन घोषणा गर्दै</a></h4>
</div>
</article>
<article class="item">
<a href="news-details.php" class="thumb">
<span class="fullimage cover bg4" role="img"></span>
</a>
<div class="info">
<h4 class="title usmall"><a href="news-details.php">गैंडाकोट थुम्सीमा सडक भासियो,
पूर्वपश्चिम राजमार्ग अवरुद्ध</a></h4>
</div>
</article>
<article class="item">
<a href="news-details.php" class="thumb">
<span class="fullimage cover bg5" role="img"></span>
</a>
<div class="info">
<h4 class="title usmall"><a href="news-details.php">भारतमा महँगो लोकसभा चुनावको
सम्भावित नतिजा</a></h4>
</div>
</article>
<article class="item">
<a href="news-details.php" class="thumb">
<span class="fullimage cover bg6" role="img"></span>
</a>
<div class="info">
<h4 class="title usmall"><a href="news-details.php">‘आजकै दिन नागरिक स्वतन्त्रता
पाएका थियौं’</a></h4>
</div>
</article>
<article class="item">
<a href="news-details.php" class="thumb">
<span class="fullimage cover bg1" role="img"></span>
</a>
<div class="info">
<h4 class="title usmall"><a href="news-details.php">के विदेश जाने युवालाई रोक्न
फर्काउन सम्भव ?</a></h4>
</div>
</article>
<article class="item">
<a href="news-details.php" class="thumb">
<span class="fullimage cover bg2" role="img"></span>
</a>
<div class="info">
<h4 class="title usmall"><a href="news-details.php">कता जाँदैछ नेपाली समाज, के हो
उदारवादी विश्व व्यवस्थाको भविष्य?</a></h4>
</div>
</article>
</section>
</div><br>
<section class="widget widget_featured_reports">
<img src="{{asset('hulaki/assets/img/ad/prabhu_pay_onlinekhabar.gif')}}" alt="image" class="img-fluid">
</section>
</aside>
</div>
</div>
</div>
</section>
<!-- Start News Details Area -->
@endsection

View File

@ -0,0 +1,15 @@
<?php
use App\Http\Controllers\AdvertisementController;
use Illuminate\Support\Facades\Route;
Route::prefix("advertisement")->group(function () {
Route::get('/', [AdvertisementController::class, 'index'])->name('advertisement.index');
Route::get('/create', [AdvertisementController::class, 'create'])->name('advertisement.create');
Route::post('/store', [AdvertisementController::class, 'store'])->name('advertisement.store');
Route::post('/sort', [AdvertisementController::class, 'sort'])->name('advertisement.sort');
Route::post('/updatealias', [AdvertisementController::class, 'updatealias'])->name('advertisement.updatealias');
Route::get('/show/{id}', [AdvertisementController::class, 'show'])->name('advertisement.show');
Route::get('/edit/{id}', [AdvertisementController::class, 'edit'])->name('advertisement.edit') ;
Route::post('/update/{id}', [AdvertisementController::class, 'update'])->name('advertisement.update');
Route::delete('/destroy/{id}', [AdvertisementController::class, 'destroy'])->name('advertisement.destroy');
Route::get('/toggle/{id}', [AdvertisementController::class, 'toggle'])->name('advertisement.toggle');
});

View File

@ -0,0 +1,15 @@
<?php
use App\Http\Controllers\AuthorsController;
use Illuminate\Support\Facades\Route;
Route::prefix("authors")->group(function () {
Route::get('/', [AuthorsController::class, 'index'])->name('authors.index');
Route::get('/create', [AuthorsController::class, 'create'])->name('authors.create');
Route::post('/store', [AuthorsController::class, 'store'])->name('authors.store');
Route::post('/sort', [AuthorsController::class, 'sort'])->name('authors.sort');
Route::post('/updatealias', [AuthorsController::class, 'updatealias'])->name('authors.updatealias');
Route::get('/show/{id}', [AuthorsController::class, 'show'])->name('authors.show');
Route::get('/edit/{id}', [AuthorsController::class, 'edit'])->name('authors.edit') ;
Route::post('/update/{id}', [AuthorsController::class, 'update'])->name('authors.update');
Route::delete('/destroy/{id}', [AuthorsController::class, 'destroy'])->name('authors.destroy');
Route::get('/toggle/{id}', [AuthorsController::class, 'toggle'])->name('authors.toggle');
});

View File

@ -0,0 +1,15 @@
<?php
use App\Http\Controllers\EconomiesController;
use Illuminate\Support\Facades\Route;
Route::prefix("economies")->group(function () {
Route::get('/', [EconomiesController::class, 'index'])->name('economies.index');
Route::get('/create', [EconomiesController::class, 'create'])->name('economies.create');
Route::post('/store', [EconomiesController::class, 'store'])->name('economies.store');
Route::post('/sort', [EconomiesController::class, 'sort'])->name('economies.sort');
Route::post('/updatealias', [EconomiesController::class, 'updatealias'])->name('economies.updatealias');
Route::get('/show/{id}', [EconomiesController::class, 'show'])->name('economies.show');
Route::get('/edit/{id}', [EconomiesController::class, 'edit'])->name('economies.edit') ;
Route::post('/update/{id}', [EconomiesController::class, 'update'])->name('economies.update');
Route::delete('/destroy/{id}', [EconomiesController::class, 'destroy'])->name('economies.destroy');
Route::get('/toggle/{id}', [EconomiesController::class, 'toggle'])->name('economies.toggle');
});

View File

@ -0,0 +1,15 @@
<?php
use App\Http\Controllers\NewsController;
use Illuminate\Support\Facades\Route;
Route::prefix("news")->group(function () {
Route::get('/', [NewsController::class, 'index'])->name('news.index');
Route::get('/create', [NewsController::class, 'create'])->name('news.create');
Route::post('/store', [NewsController::class, 'store'])->name('news.store');
Route::post('/sort', [NewsController::class, 'sort'])->name('news.sort');
Route::post('/updatealias', [NewsController::class, 'updatealias'])->name('news.updatealias');
Route::get('/show/{id}', [NewsController::class, 'show'])->name('news.show');
Route::get('/edit/{id}', [NewsController::class, 'edit'])->name('news.edit') ;
Route::post('/update/{id}', [NewsController::class, 'update'])->name('news.update');
Route::delete('/destroy/{id}', [NewsController::class, 'destroy'])->name('news.destroy');
Route::get('/toggle/{id}', [NewsController::class, 'toggle'])->name('news.toggle');
});

View File

@ -0,0 +1,15 @@
<?php
use App\Http\Controllers\News_typeController;
use Illuminate\Support\Facades\Route;
Route::prefix("news_type")->group(function () {
Route::get('/', [News_typeController::class, 'index'])->name('news_type.index');
Route::get('/create', [News_typeController::class, 'create'])->name('news_type.create');
Route::post('/store', [News_typeController::class, 'store'])->name('news_type.store');
Route::post('/sort', [News_typeController::class, 'sort'])->name('news_type.sort');
Route::post('/updatealias', [News_typeController::class, 'updatealias'])->name('news_type.updatealias');
Route::get('/show/{id}', [News_typeController::class, 'show'])->name('news_type.show');
Route::get('/edit/{id}', [News_typeController::class, 'edit'])->name('news_type.edit') ;
Route::post('/update/{id}', [News_typeController::class, 'update'])->name('news_type.update');
Route::delete('/destroy/{id}', [News_typeController::class, 'destroy'])->name('news_type.destroy');
Route::get('/toggle/{id}', [News_typeController::class, 'toggle'])->name('news_type.toggle');
});

View File

@ -0,0 +1,15 @@
<?php
use App\Http\Controllers\NewscategoriesController;
use Illuminate\Support\Facades\Route;
Route::prefix("newscategories")->group(function () {
Route::get('/', [NewscategoriesController::class, 'index'])->name('newscategories.index');
Route::get('/create', [NewscategoriesController::class, 'create'])->name('newscategories.create');
Route::post('/store', [NewscategoriesController::class, 'store'])->name('newscategories.store');
Route::post('/sort', [NewscategoriesController::class, 'sort'])->name('newscategories.sort');
Route::post('/updatealias', [NewscategoriesController::class, 'updatealias'])->name('newscategories.updatealias');
Route::get('/show/{id}', [NewscategoriesController::class, 'show'])->name('newscategories.show');
Route::get('/edit/{id}', [NewscategoriesController::class, 'edit'])->name('newscategories.edit') ;
Route::post('/update/{id}', [NewscategoriesController::class, 'update'])->name('newscategories.update');
Route::delete('/destroy/{id}', [NewscategoriesController::class, 'destroy'])->name('newscategories.destroy');
Route::get('/toggle/{id}', [NewscategoriesController::class, 'toggle'])->name('newscategories.toggle');
});

Some files were not shown because too many files have changed in this diff Show More