682 lines
24 KiB
PHP
682 lines
24 KiB
PHP
|
<?php
|
|||
|
|
|||
|
use App\Helpers\BibClass;
|
|||
|
use App\Http\Controllers\NepaliDictonary\DictonaryController;
|
|||
|
use App\Models\Log\ActivityLog;
|
|||
|
use App\Models\Log\ErrorLog;
|
|||
|
use App\Models\Log\OperationLog;
|
|||
|
use Illuminate\Support\Facades\App;
|
|||
|
use Illuminate\Support\Facades\DB;
|
|||
|
use Illuminate\Support\Facades\Schema;
|
|||
|
use Illuminate\Support\Str;
|
|||
|
|
|||
|
function pre($object, $die = false)
|
|||
|
{
|
|||
|
echo "<pre>";
|
|||
|
print_r($object);
|
|||
|
echo "</pre>";
|
|||
|
if ($die) die;
|
|||
|
}
|
|||
|
function label($text, $echo = true)
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
if ($echo) {
|
|||
|
echo $text;
|
|||
|
} else {
|
|||
|
return $text;
|
|||
|
}
|
|||
|
}
|
|||
|
function template($filepath)
|
|||
|
{
|
|||
|
$filepath = env("APP_URL") . "/layout/" . $filepath;
|
|||
|
// $filepath=str_replace('\\','/',env("APP_URL")."/layout/".$filepath);
|
|||
|
echo $filepath;
|
|||
|
// return
|
|||
|
}
|
|||
|
if (!function_exists('N2')) {
|
|||
|
function N2($N)
|
|||
|
{
|
|||
|
return number_format($N, 2, '.', ',');
|
|||
|
}
|
|||
|
}
|
|||
|
if (!function_exists('slugify')) {
|
|||
|
function slugify($text, $tableName = null)
|
|||
|
{
|
|||
|
// Generate the initial slug from the text
|
|||
|
$slug = preg_replace('/[^a-zA-Z0-9\-]/', '-', $text);
|
|||
|
$slug = preg_replace('/-+/', '-', $slug);
|
|||
|
$slug = trim($slug, '-');
|
|||
|
$slug = strtolower($slug);
|
|||
|
|
|||
|
// If the table name is provided, check for uniqueness and modify the slug if needed
|
|||
|
if ($tableName) {
|
|||
|
$originalSlug = $slug;
|
|||
|
$count = 1;
|
|||
|
|
|||
|
while (isSlugExists($tableName, $slug)) {
|
|||
|
$slug = $originalSlug . '-' . $count;
|
|||
|
$count++;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return $slug;
|
|||
|
}
|
|||
|
}
|
|||
|
if (!function_exists('isSlugExists')) {
|
|||
|
function isSlugExists($tableName, $slug)
|
|||
|
{
|
|||
|
$aliasField = 'alias';
|
|||
|
$count = DB::table($tableName)
|
|||
|
->where($aliasField, $slug)
|
|||
|
->count();
|
|||
|
return $count > 0;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function createButton($class = "", $type = "submit", $display = "Submit", $url = "")
|
|||
|
{
|
|||
|
if (!$url) :
|
|||
|
?>
|
|||
|
<button class="btn <?php echo $class; ?>" type="<?php echo ($display == "Submit") ? $display : $type; ?>">
|
|||
|
<?php echo label($display) ?>
|
|||
|
</button>
|
|||
|
<?php
|
|||
|
else :
|
|||
|
?>
|
|||
|
<a class="btn <?php echo $class; ?>" href="<?php echo $url; ?>">
|
|||
|
<?php echo label($display) ?>
|
|||
|
</a>
|
|||
|
<?php
|
|||
|
endif;
|
|||
|
}
|
|||
|
function createText($name, $id, $display, $class = "", $value = "", $placeHolder = "", $readonly = "", $required = "")
|
|||
|
{
|
|||
|
?>
|
|||
|
<?php if ($display != "") : ?><label for="<?php echo $id; ?>" class="form-label col-form-label"> <?php echo label($display); ?> </label><?php endif; ?>
|
|||
|
<div class="form-control-wrap">
|
|||
|
<input type="text" id="<?php echo $id; ?>" <?php echo $readonly; ?> placeholder="<?php echo $placeHolder; ?>" name="<?php echo $name; ?>" class="form-control <?php echo $class; ?>" value="<?php echo $value; ?>" <?php if ($required != "") : ?>required<?php endif; ?>>
|
|||
|
</div>
|
|||
|
<p id='error_<?php echo $name; ?>' class='text-danger custom-error'></p>
|
|||
|
<?php
|
|||
|
}
|
|||
|
/**
|
|||
|
* $tableName = Name of table
|
|||
|
* $pk = primary key of table
|
|||
|
* $name = table select column name
|
|||
|
* $class = extra class
|
|||
|
* $data = Existing data or for edit case showing selected data
|
|||
|
* $display = Displaying name or showing label name.
|
|||
|
*/
|
|||
|
function getSelectForForeignColumn($tableName, $pk, $name, $class = "form-control", $data = null, $display = null, $customColumnName = null)
|
|||
|
{
|
|||
|
$tableName = strtolower(trim($tableName));
|
|||
|
$pk = trim($pk);
|
|||
|
$name = trim($name);
|
|||
|
$class = trim($class);
|
|||
|
$systems = DB::table($tableName)->where('status', '<>', -1)->orderBy($pk, 'asc')->pluck($name, $pk);
|
|||
|
$customColumnName = !empty($customColumnName) ? $customColumnName : $pk; //if we pass column name other then primary key.
|
|||
|
customCreateSelect($pk, $pk, $class, $display ?? $name, $systems, ($data) ? $data->$customColumnName : null);
|
|||
|
}
|
|||
|
function customCreateSelect($name, $id, $class = "form-control", $display = '', $values = array(), $defaultValue = '')
|
|||
|
{
|
|||
|
$disabled = (in_array("DISABLED", explode(" ", strtoupper($class)))) ? "Disabled" : false;
|
|||
|
$required = (in_array("REQUIRED", explode(" ", strtoupper($class)))) ? "Required" : false;
|
|||
|
?><label for="<?php echo $id; ?>" class="form-label col-form-label"> <?php echo label($display); ?> </label>
|
|||
|
<?php if ($disabled) : ?>
|
|||
|
<input type="hidden" name="<?php echo $name; ?>" value="<?php echo $defaultValue; ?>" /><?php endif; ?>
|
|||
|
<select class="form-select <?php echo $class ?>" name="<?php echo $name; ?>" data-search="true" id="<?php echo $name; ?>" aria-label="Default select example" <?php echo ($disabled) ? "Disabled" : ""; ?> <?php echo ($required) ? "Required" : ""; ?>>
|
|||
|
<option value=""><?php label("Select Option"); ?></option>
|
|||
|
<?php foreach ($values as $key => $value) { ?>
|
|||
|
<option value="<?= $key ?>" <?php echo $defaultValue == $key ? 'selected' : '' ?>><?= $value ?></option>
|
|||
|
<?php } ?>
|
|||
|
</select>
|
|||
|
<p id='error_<?php echo $name; ?>' class='text-danger custom-error'></p>
|
|||
|
<?php
|
|||
|
}
|
|||
|
function createCustomSelectFromArray($Array, $displayTextForLabel, $HTMLElementName, $defaultValueSelected = '', $additionalClass = "form-control")
|
|||
|
{
|
|||
|
$disabled = (in_array("DISABLED", explode(" ", strtoupper($additionalClass)))) ? "Disabled" : false;
|
|||
|
$required = (in_array("REQUIRED", explode(" ", strtoupper($additionalClass)))) ? "Required" : false;
|
|||
|
?>
|
|||
|
<label for="<?php echo $HTMLElementName; ?>" class="form-label col-form-label"> <?php echo label($displayTextForLabel); ?> </label>
|
|||
|
<?php if ($disabled) : ?>
|
|||
|
<input type="hidden" name="<?php echo $HTMLElementName; ?>" value="<?php echo $defaultValueSelected; ?>" />
|
|||
|
<?php endif; ?>
|
|||
|
<select class="form-select <?php echo $additionalClass ?>" name="<?php echo $HTMLElementName; ?>" data-search="true" id="<?php echo $HTMLElementName; ?>" aria-label="Default select example" <?php echo ($disabled) ? "Disabled" : ""; ?> <?php echo ($required) ? "Required" : ""; ?>>
|
|||
|
<option <?php if ($required) : ?>value="-1" <?php endif; ?>><?php label("Select Option"); ?></option>
|
|||
|
<?php foreach ($Array as $option) : ?>
|
|||
|
<option value="<?php echo $option['value']; ?>" <?php echo $defaultValueSelected == $option['value'] ? 'selected' : ''; ?>>
|
|||
|
<?php echo $option['display']; ?>
|
|||
|
</option>
|
|||
|
<?php endforeach; ?>
|
|||
|
</select>
|
|||
|
<p id='error_<?php echo $HTMLElementName; ?>' class='text-danger custom-error'></p>
|
|||
|
<?php
|
|||
|
}
|
|||
|
|
|||
|
function createCustomSelect($tableName, $fieldNameToDisplay, $fieldNameForValue, $defaultValueSelected, $displayTextForLabel, $HTMLElementName, $additionalClass = "form-control", $defaultCondition = null)
|
|||
|
{
|
|||
|
// Supply conditions as $defaultCondition = "column_name = 'value'";
|
|||
|
$tableName = strtolower(trim($tableName));
|
|||
|
$fieldNameToDisplay = trim($fieldNameToDisplay);
|
|||
|
$fieldNameForValue = trim($fieldNameForValue);
|
|||
|
$additionalClass = trim($additionalClass);
|
|||
|
|
|||
|
$query = DB::table(DB::raw("`$tableName`"))->where('status', '<>', -1);
|
|||
|
|
|||
|
if ($defaultCondition) {
|
|||
|
$query->whereRaw($defaultCondition);
|
|||
|
}
|
|||
|
|
|||
|
$systems = $query->orderBy($fieldNameForValue, 'asc')->pluck($fieldNameToDisplay, $fieldNameForValue);
|
|||
|
|
|||
|
?><label class="form-label col-form-label"><?php echo label($displayTextForLabel); ?></label>
|
|||
|
<select class="form-select <?php echo $additionalClass; ?>" name="<?php echo $HTMLElementName; ?>" data-search="true" aria-label="" <?php if (stripos($additionalClass, 'required') !== false) {
|
|||
|
echo "REQUIRED";
|
|||
|
} ?>>
|
|||
|
<?php if (stripos($additionalClass, 'required') !== false) { ?>
|
|||
|
<option value=""><?php label("Select Option"); ?></option>
|
|||
|
<?php } else { ?>
|
|||
|
<option value="0"><?php label("Select Option"); ?></option>
|
|||
|
<?php } ?>
|
|||
|
<?php foreach ($systems as $key => $value) { ?>
|
|||
|
<option value="<?= $key ?>" <?php echo $defaultValueSelected == $key ? 'selected' : '' ?>><?= $value ?></option>
|
|||
|
<?php } ?>
|
|||
|
</select>
|
|||
|
<p id='error_<?php echo $fieldNameForValue; ?>' class='text-danger custom-error'></p>
|
|||
|
<?php
|
|||
|
}
|
|||
|
|
|||
|
function createImageInput($name, $display = "", $class = "", $default = "")
|
|||
|
{
|
|||
|
?>
|
|||
|
<div class="input-group">
|
|||
|
<span class="input-group-btn">
|
|||
|
<a id="<?php echo $name; ?>" data-input="<?php echo $name; ?>_url" data-preview="<?php echo $name; ?>holder" class="btn btn-primary">
|
|||
|
<i class="fa fa-picture-o"></i> <?php echo ($display != "") ? $display : "Upload"; ?>
|
|||
|
</a>
|
|||
|
</span>
|
|||
|
<input id="<?php echo $name; ?>_url" class="form-control lfm <?php echo $class; ?>" type="text" name="<?php echo $name; ?>" <?php if ($default != "") : ?> value="<?php echo env("APP_URL") . "/" . $default; ?>" <?php endif; ?> multiple>
|
|||
|
</div>
|
|||
|
<div id="<?php echo $name; ?>holder" style="margin-top:15px;max-height:80px;overflow:hidden;">
|
|||
|
<?php if ($default != "") : ?> <img src="<?php echo env("APP_URL") . "/" . $default; ?>" style="height: 5rem" /> <?php endif; ?>
|
|||
|
</div>
|
|||
|
<?php
|
|||
|
collectScripts(function () use ($name) {
|
|||
|
?>
|
|||
|
<script>
|
|||
|
lfm('<?php echo $name; ?>', 'image', {
|
|||
|
prefix: '<?php echo env("APP_URL"); ?>/files'
|
|||
|
});
|
|||
|
</script>
|
|||
|
<?php });
|
|||
|
}
|
|||
|
|
|||
|
function createMultiImageInput($name, $display = "", $class = "", $default = "")
|
|||
|
{
|
|||
|
?>
|
|||
|
<div class="input-group">
|
|||
|
<span class="input-group-btn">
|
|||
|
<a id="<?php echo $name; ?>" data-input="<?php echo $name; ?>_url" data-preview="<?php echo $name; ?>holder" class="btn btn-primary">
|
|||
|
<i class="fa fa-picture-o"></i> <?php echo ($display != "") ? $display : "Choose Photo"; ?>
|
|||
|
</a>
|
|||
|
</span>
|
|||
|
<input id="<?php echo $name; ?>_url" class="form-control lfm <?php echo $class; ?>" type="text" name="<?php echo $name; ?>" <?php if ($default != "") : ?> value="<?php echo env("APP_URL") . "/" . $default; ?>" <?php endif; ?> multiple>
|
|||
|
</div>
|
|||
|
<div id="<?php echo $name; ?>holder" style="margin-top:15px;max-height:80px;overflow:hidden;">
|
|||
|
<?php if ($default != "") : ?> <img src="<?php echo env("APP_URL") . "/" . $default; ?>" style="height: 5rem" /> <?php endif; ?>
|
|||
|
</div>
|
|||
|
<?php
|
|||
|
collectScripts(function () use ($name) {
|
|||
|
?>
|
|||
|
<script>
|
|||
|
lfm('<?php echo $name; ?>', 'image', {
|
|||
|
prefix: '<?php echo env("APP_URL"); ?>/files',
|
|||
|
type: 'file',
|
|||
|
multi_selection: true
|
|||
|
});
|
|||
|
</script>
|
|||
|
<?php });
|
|||
|
}
|
|||
|
|
|||
|
function site_url($url = "")
|
|||
|
{
|
|||
|
return env("APP_URL") . "/" . trim($url, "/");
|
|||
|
}
|
|||
|
function base_url($url = "")
|
|||
|
{
|
|||
|
return env("APP_URL") . "/" . trim($url, "/");
|
|||
|
}
|
|||
|
function showImageThumb($url)
|
|||
|
{ ?>
|
|||
|
<div style="max-height:40px;overflow:hidden">
|
|||
|
<?php if ($url != "") : ?> <img src="<?php echo env("APP_URL") . "/" . $url; ?>" style="height: 40px;" class="img-fluid" /> <?php endif; ?>
|
|||
|
</div>
|
|||
|
<?php
|
|||
|
}
|
|||
|
|
|||
|
function getFieldData($tableName, $returnField, $referenceFieldName, $referenceValue)
|
|||
|
{
|
|||
|
$tableName = strtolower(trim($tableName));
|
|||
|
$returnField = trim($returnField);
|
|||
|
$referenceFieldName = trim($referenceFieldName);
|
|||
|
|
|||
|
$query = DB::table(DB::raw("`$tableName`"))->where($referenceFieldName, $referenceValue);
|
|||
|
|
|||
|
$fieldData = ($query->value($returnField)) ? $query->value($returnField) : "N/A";
|
|||
|
|
|||
|
return $fieldData;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
function createErrorParagraph($name, $class = null)
|
|||
|
{
|
|||
|
echo "<p id='error_$name' class='text-danger custom-error $class'></p>";
|
|||
|
}
|
|||
|
function createActivityLog($controllerName, $methodName, $activity)
|
|||
|
{
|
|||
|
$user_id = auth()->user()->id;
|
|||
|
ActivityLog::create([
|
|||
|
'user_id' => $user_id,
|
|||
|
'controllerName' => $controllerName,
|
|||
|
'methodName' => $methodName,
|
|||
|
'actionUrl' => request()->fullUrl(),
|
|||
|
'activity' => $activity,
|
|||
|
]);
|
|||
|
}
|
|||
|
function getOperationNumber()
|
|||
|
{
|
|||
|
$startNumber = date('YmdHis') . rand(1000, 9999);
|
|||
|
$isExists = OperationLog::where('operation_end_no', $startNumber)->first();
|
|||
|
while ($isExists) {
|
|||
|
$startNumber = date('YmdHis') . rand(1000, 9999);
|
|||
|
$isExists = OperationLog::where('operation_end_no', $startNumber)->first();
|
|||
|
}
|
|||
|
return $startNumber;
|
|||
|
}
|
|||
|
|
|||
|
function createOperationLog($startOperationNumber, $endOperationNumber, $modelName, $modelId, $operationName, $previousValues, $newValues)
|
|||
|
{
|
|||
|
$operationId = getOperationNumber();
|
|||
|
$user_id = auth()->user()->id;
|
|||
|
OperationLog::create([
|
|||
|
'user_id' => $user_id,
|
|||
|
'operation_start_no' => $startOperationNumber,
|
|||
|
'operation_end_no' => $endOperationNumber,
|
|||
|
'model_name' => $modelName,
|
|||
|
'model_id' => $modelId,
|
|||
|
'operation_name' => $operationName,
|
|||
|
'previous_values' => $previousValues ? json_encode($previousValues) : null,
|
|||
|
'new_values' => $newValues ? json_encode($newValues) : null,
|
|||
|
]);
|
|||
|
}
|
|||
|
function createErrorLog($controllerName, $methodName, $errors)
|
|||
|
{
|
|||
|
$user_id = (auth()->user()) ? auth()->user()->id : "0";
|
|||
|
ErrorLog::create([
|
|||
|
'user_id' => $user_id,
|
|||
|
'controller_name' => $controllerName,
|
|||
|
'method_name' => $methodName,
|
|||
|
'errors' => $errors,
|
|||
|
]);
|
|||
|
}
|
|||
|
function createDate($name, $display = "", $class = "datepicker", $default = "")
|
|||
|
{
|
|||
|
?>
|
|||
|
|
|||
|
<div class="form-group">
|
|||
|
<label for="<?php echo $name; ?>" class="form-label col-form-label"><?php echo label($display); ?></label>
|
|||
|
<div class="form-control-wrap">
|
|||
|
<input type="text" name="<?php echo $name; ?>" id="<?php echo $name; ?>" class="form-control datepicker<?php echo $class; ?>" value="<?php echo $default; ?>" />
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<?php
|
|||
|
}
|
|||
|
function createTextArea($name, $class = "", $display = "", $default = "", $row = "")
|
|||
|
{
|
|||
|
$hasCkeditorClassic = strpos($class, 'ckeditor-classic') !== false;
|
|||
|
$uploadUrlAttribute = $hasCkeditorClassic ? ' data-upload-url="' . route('upload') . '"' : '';
|
|||
|
?>
|
|||
|
|
|||
|
<div class="form-group">
|
|||
|
<label for="<?php echo $name; ?>" class="form-label col-form-label"><?php echo label($display); ?></label>
|
|||
|
<div class="form-control-wrap">
|
|||
|
<textarea class="form-control text-area <?php echo $class; ?>" name="<?php echo $name; ?>" id="<?php echo $name; ?>" rows="<?php echo $row; ?>" <?php echo $uploadUrlAttribute; ?>><?php if (isset($default)) {
|
|||
|
echo ($default);
|
|||
|
} ?></textarea>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<?php
|
|||
|
}
|
|||
|
function createPlainTextArea($name, $class = "", $display = "", $default = "", $row = "")
|
|||
|
{
|
|||
|
?>
|
|||
|
|
|||
|
<div class="form-group">
|
|||
|
<label for="<?php echo $name; ?>" class="form-label col-form-label"><?php echo label($display); ?></label>
|
|||
|
<div class="form-control-wrap">
|
|||
|
<textarea class="form-control text-area <?php echo $class; ?>" name="<?php echo $name; ?>" id="<?php echo $name; ?>" rows="<?php echo $row; ?>"><?php if (isset($default)) {
|
|||
|
echo ($default);
|
|||
|
} ?></textarea>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<?php
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
function getDisplayOrder($tableName)
|
|||
|
{
|
|||
|
// echo $tableName;die;
|
|||
|
$maxDisplayOrder = DB::select("select max(display_order) as display_order from $tableName")[0]->display_order;
|
|||
|
$nextDisplayOrder = $maxDisplayOrder + 1;
|
|||
|
return $nextDisplayOrder;
|
|||
|
}
|
|||
|
function getAlias($textField, $tableName)
|
|||
|
{
|
|||
|
|
|||
|
$maxDisplayOrder = DB::select("select max(display_order) as display_order from $tableName")[0]->display_order;
|
|||
|
$nextDisplayOrder = $maxDisplayOrder + 1;
|
|||
|
return $nextDisplayOrder;
|
|||
|
}
|
|||
|
if (!function_exists('myDate')) {
|
|||
|
function myDate($originalDate)
|
|||
|
{
|
|||
|
return date("F d Y", strtotime($originalDate));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!function_exists('dbDate')) {
|
|||
|
function dbDate($date)
|
|||
|
{
|
|||
|
return date("Y-m-d", strtotime($date));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!function_exists('myTime')) {
|
|||
|
function myTime($originalDate)
|
|||
|
{
|
|||
|
return date("g:i A", strtotime($originalDate));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!function_exists('myDateTime')) {
|
|||
|
function myDateTime($originalDate)
|
|||
|
{
|
|||
|
return date("F d Y g:i A", strtotime($originalDate));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!function_exists('myDaysDiff')) {
|
|||
|
function myDaysDiff($fromDate, $toDate)
|
|||
|
{
|
|||
|
$fromDate = strtotime($fromDate);
|
|||
|
$toDate = strtotime($toDate);
|
|||
|
$datediff = $toDate - $fromDate;
|
|||
|
return round($datediff / (60 * 60 * 24));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!function_exists('firstDayOfNepaliMonth')) {
|
|||
|
function firstDayOfNepaliMonth($engDate = "")
|
|||
|
{
|
|||
|
$engDate = ($engDate != "") ? $engDate : date("Y-m-d");
|
|||
|
$NepaliDate = NepaliDate($engDate);
|
|||
|
$nD = explode("-", $NepaliDate);
|
|||
|
$Day = '1';
|
|||
|
$Month = $nD[1];
|
|||
|
$Year = $nD[0];
|
|||
|
$t = "select bs_date from tbl_nepengcalendar where bs_date='" . $Year . "-" . $Month . "-" . $Day . "'";
|
|||
|
return DB::select($t)[0]->bs_date;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!function_exists('firstDayOfNepaliMonth1')) {
|
|||
|
function firstDayOfNepaliMonth1($engDate = "")
|
|||
|
{
|
|||
|
$engDate = ($engDate != "") ? $engDate : date("Y-m-d");
|
|||
|
$NepaliDate = NepaliDate($engDate);
|
|||
|
$nD = explode("-", $NepaliDate);
|
|||
|
$Day = '1';
|
|||
|
$Month = ($nD[1] < 10) ? '0' . $nD[1] : $nD[1];
|
|||
|
$Year = $nD[0];
|
|||
|
$t = "select ad_date from tbl_nepengcalendar where bs_date='" . $Year . "-" . $Month . "-" . $Day . "'";
|
|||
|
return DB::select($t)[0]->ad_date;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!function_exists('lastDayOfNepaliMonth')) {
|
|||
|
function lastDayOfNepaliMonth($engDate = "")
|
|||
|
{
|
|||
|
$engDate = ($engDate != "") ? $engDate : date("Y-m-d");
|
|||
|
$NepaliDate = NepaliDate1($engDate);
|
|||
|
$nD = explode("-", $NepaliDate);
|
|||
|
$Day = '1';
|
|||
|
$Month = $nD[1];
|
|||
|
$Year = $nD[0];
|
|||
|
$t = "select ad_date from tbl_nepengcalendar where bs_date like '" . $Year . "-" . $Month . "-%' order by ad_date";
|
|||
|
$dates = DB::select($t);
|
|||
|
$date = end($dates);
|
|||
|
return $date->ad_date;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!function_exists('EnglishDate')) {
|
|||
|
function EnglishDate($NepaliYear, $NepaliMonth, $NepaliDay)
|
|||
|
{
|
|||
|
if ($NepaliMonth < 10) {
|
|||
|
$NepaliMonth = "0" . $NepaliMonth;
|
|||
|
}
|
|||
|
$bs_date = $NepaliYear . "-" . $NepaliMonth . "-" . $NepaliDay;
|
|||
|
$t = "select ad_date from tbl_nepengcalendar where bs_date='$bs_date'";
|
|||
|
$q = DB::select($t);
|
|||
|
return $q[0]->ad_date;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!function_exists('Today')) {
|
|||
|
function Today()
|
|||
|
{
|
|||
|
return date("Y-m-d");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!function_exists('NepaliToEnglishDate')) {
|
|||
|
function NepaliToEnglishDate($NepaliDate)
|
|||
|
{
|
|||
|
$NepaliDate = trim($NepaliDate);
|
|||
|
if (trim($NepaliDate) == "") {
|
|||
|
return date("Y-m-d");
|
|||
|
}
|
|||
|
$NepaliDate = explode("-", $NepaliDate);
|
|||
|
$NepaliMonth = intval($NepaliDate[1]);
|
|||
|
$NepaliYear = intval($NepaliDate[0]);
|
|||
|
$NepaliDay = intval($NepaliDate[2]);
|
|||
|
if ($NepaliMonth < 10) {
|
|||
|
$NepaliMonth = "0" . $NepaliMonth;
|
|||
|
}
|
|||
|
$bs_date = $NepaliYear . "-" . $NepaliMonth . "-" . $NepaliDay;
|
|||
|
$t = "select ad_date from tbl_nepengcalendar where bs_date='$bs_date'";
|
|||
|
$q = DB::select($t);
|
|||
|
return $q[0]->ad_date;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!function_exists('NepaliDate')) {
|
|||
|
function NepaliDate($engDate = "")
|
|||
|
{
|
|||
|
$engDate = ($engDate != "") ? $engDate : date("Y-m-d");
|
|||
|
if ($engDate != "0000-00-00") {
|
|||
|
// return str_replace("-0", "-", DB::table('tbl_nepengcalendar')->where('ad_date', $engDate)->first()->bs_date);
|
|||
|
$result = DB::table('tbl_nepengcalendar')->where('ad_date', $engDate)->first();
|
|||
|
|
|||
|
if ($result) {
|
|||
|
$bsDate = $result->bs_date;
|
|||
|
$convertedDate = convertNumbersToUnicode(str_replace("-", "-", $bsDate));
|
|||
|
return $convertedDate;
|
|||
|
} else {
|
|||
|
// Handle the case when the query result is null
|
|||
|
return null;
|
|||
|
}
|
|||
|
} else {
|
|||
|
return "";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
function convertNumbersToUnicode($number = "2080-10-13")
|
|||
|
{
|
|||
|
$unicodeDigits = [
|
|||
|
'0' => '०',
|
|||
|
'1' => '१',
|
|||
|
'2' => '२',
|
|||
|
'3' => '३',
|
|||
|
'4' => '४',
|
|||
|
'5' => '५',
|
|||
|
'6' => '६',
|
|||
|
'7' => '७',
|
|||
|
'8' => '८',
|
|||
|
'9' => '९',
|
|||
|
];
|
|||
|
|
|||
|
$converted = '';
|
|||
|
$digits = str_split((string)$number);
|
|||
|
|
|||
|
foreach ($digits as $digit) {
|
|||
|
if (isset($unicodeDigits[$digit])) {
|
|||
|
$converted .= $unicodeDigits[$digit];
|
|||
|
} elseif ($digit === '-') {
|
|||
|
$converted .= '-';
|
|||
|
} else {
|
|||
|
$converted .= $digit;
|
|||
|
}
|
|||
|
}
|
|||
|
//dd($converted);
|
|||
|
return $converted;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
if (!function_exists('NepaliMonth')) {
|
|||
|
function NepaliMonth($engDate = "")
|
|||
|
{
|
|||
|
$NepaliDate = NepaliDate($engDate);
|
|||
|
$nD = explode("-", $NepaliDate);
|
|||
|
$Month = $nD[1];
|
|||
|
return intval($Month);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!function_exists('NepaliYear')) {
|
|||
|
function NepaliYear($engDate = "")
|
|||
|
{
|
|||
|
$NepaliDate = NepaliDate($engDate);
|
|||
|
$nD = explode("-", $NepaliDate);
|
|||
|
$Year = $nD[0];
|
|||
|
return intval($Year);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!function_exists('NepaliMonthNameByNumber')) {
|
|||
|
function NepaliMonthNameByNumber($number)
|
|||
|
{
|
|||
|
$MonthNames = array(
|
|||
|
"Baisakh", "Jestha", "Ashad", "Shrawan", "Bhadra", "Asoj",
|
|||
|
"Kartik", "Mangsir", "Poush", "Magh", "Falgun", "Chaitra"
|
|||
|
);
|
|||
|
return $MonthNames[$number - 1];
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!function_exists('NepaliMonthName')) {
|
|||
|
function NepaliMonthName($engDate = "")
|
|||
|
{
|
|||
|
$Month = NepaliMonth($engDate);
|
|||
|
$MonthNames = array(
|
|||
|
"Baisakh", "Jestha", "Ashad", "Shrawan", "Bhadra", "Asoj",
|
|||
|
"Kartik", "Mangsir", "Poush", "Magh", "Falgun", "Chaitra"
|
|||
|
);
|
|||
|
return $MonthNames[$Month - 1];
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (!function_exists('N2')) {
|
|||
|
function N2($N)
|
|||
|
{
|
|||
|
return number_format($N, 2, '.', ',');
|
|||
|
}
|
|||
|
}
|
|||
|
function collectScripts(callable $callback)
|
|||
|
{
|
|||
|
ob_start();
|
|||
|
$callback();
|
|||
|
$script = ob_get_clean();
|
|||
|
|
|||
|
if (!empty($script)) {
|
|||
|
pushScriptToFooter($script);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function pushScriptToFooter($script)
|
|||
|
{
|
|||
|
if (!isset($GLOBALS['scripts'])) {
|
|||
|
$GLOBALS['scripts'] = [];
|
|||
|
}
|
|||
|
|
|||
|
$GLOBALS['scripts'][] = $script;
|
|||
|
}
|
|||
|
function sectionHeader($text, $sectiontitle = null)
|
|||
|
{
|
|||
|
$texts=explode(" ",$text);
|
|||
|
?>
|
|||
|
<div class="row text-center intro">
|
|||
|
|
|||
|
<div class="col-12">
|
|||
|
<?php if ($sectiontitle) : ?>
|
|||
|
<span class="pre-title"><?php echo $sectiontitle; ?></span>
|
|||
|
<?php endif; ?>
|
|||
|
|
|||
|
<h2 class="ylw-clr"><?php echo $texts[0]; unset($texts[0]); ?> <span class="featured"><span><?php echo implode(" ",$texts); ?></span></span></h2>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
</div>
|
|||
|
<?php
|
|||
|
}
|
|||
|
if (!function_exists('replace_img_src')) {
|
|||
|
function replace_img_src($content)
|
|||
|
{
|
|||
|
return preg_replace(
|
|||
|
'/src="storage(\/[^"]*)"/',
|
|||
|
'src="'.site_url().'storage$1"',
|
|||
|
$content
|
|||
|
);
|
|||
|
}
|
|||
|
}
|
|||
|
function processForShortcode($content)
|
|||
|
{
|
|||
|
$content=replace_img_src($content);
|
|||
|
return preg_replace_callback('/\[([\w_]+)([^]]*)\]/', function ($matches) {
|
|||
|
$shortcodeName = $matches[1];
|
|||
|
$shortcodeAttributes = [];
|
|||
|
$mandatoryAttributes = ['alias', 'css', 'title'];
|
|||
|
|
|||
|
preg_match_all('/\s*(\w+)\s*=\s*(?:"([^"]*)"|\'([^\']*)\'|([^"\'][^\s]*))/', $matches[2], $attrMatches, PREG_SET_ORDER);
|
|||
|
|
|||
|
foreach ($attrMatches as $attrMatch) {
|
|||
|
$attrName = $attrMatch[1];
|
|||
|
$attrValue = $attrMatch[2] ?: ($attrMatch[3] ?: $attrMatch[4]); // Use non-empty capture group as the attribute value
|
|||
|
$attrValue = trim($attrValue, "\"'"); // Remove both single and double quotes from the attribute value
|
|||
|
$shortcodeAttributes[$attrName] = $attrValue;
|
|||
|
}
|
|||
|
|
|||
|
// Fill in missing mandatory attributes with empty strings
|
|||
|
foreach ($mandatoryAttributes as $attribute) {
|
|||
|
if (!isset($shortcodeAttributes[$attribute])) {
|
|||
|
$shortcodeAttributes[$attribute] = '';
|
|||
|
}
|
|||
|
}
|
|||
|
return view("shortcodes." . $shortcodeName, $shortcodeAttributes);
|
|||
|
}, $content);
|
|||
|
}
|