BootstrapSQLiteAuth/lib/BootstrapRender.php

151 lines
5.5 KiB
PHP

<?php
class BootstrapRender
{
public static function message()
{
if (func_num_args() > 0)
{
Cookie::set("message", func_get_arg(0));
if (func_num_args() > 1)
Cookie::set("messageClass", func_get_arg(1));
return;
}
$strMessage = Cookie::get("message");
$strMessageClass = Cookie::get("messageClass");
if (!isset($strMessageClass) || $strMessageClass == null || strlen($strMessageClass) < 1)
$strMessageClass = "info";
?>
<?php if (isset($strMessage) && $strMessage !== null && strlen($strMessage) > 0): ?>
<div class="alert alert-<?= $strMessageClass; ?> d-none" id="page-message">
<?= $strMessage; ?>
</div>
<script>
$(function() {
$("#page-message")
.hide()
.removeClass("d-none")
.fadeIn();
});
</script>
<?php endif; ?>
<?php
Cookie::set("message");
Cookie::set("messageClass");
}
public static function input($varOptions)
{
$strName = $varOptions["name"];
$strLabel = $varOptions["label"] ?? $strName;
$strPlaceholder = $varOptions["placeholder"] ?? "Enter {$strLabel}";
$strValue = $varOptions["value"] ?? "";
$intReadonly = $varOptions["readonly"] ?? 0;
$intDisabled = $varOptions["disabled"] ?? 0;
$strType = $varOptions["type"] ?? "text";
$intInline = $varOptions["inline"] ?? 0;
?>
<?php if ($intInline == 1): ?>
<div class="row g-3 align-items-center mb-3">
<div class="col-3">
<label class="col-form-label"><?= $strLabel; ?></label>
</div>
<div class="col-8">
<input type="<?= $strType; ?>"
class="form-control"
name="<?= $strName; ?>"
placeholder="Enter <?= $strLabel; ?>"
value="<?= $strValue; ?>"
<?= $intReadonly? "readonly": ""; ?>
<?= $intDisabled? "disabled": ""; ?> />
</div>
<div class="col-auto">
<span class="form-text">test</span>
</div>
</div>
<?php else: ?>
<div class="mb-3">
<label class="form-label"><?= $strLabel; ?></label>
<div class="input-group">
<input type="<?= $strType; ?>"
class="form-control"
name="<?= $strName; ?>"
placeholder="Enter <?= $strLabel; ?>"
value="<?= $strValue; ?>"
<?= $intReadonly? "readonly": ""; ?>
<?= $intDisabled? "disabled": ""; ?> />
</div>
</div>
<?php endif; ?>
<?php
}
public static function buttons($varOptions)
{
$strLabel = $varOptions["label"] ?? "Actions";
$intInputGroup = $varOptions["input_group"] ?? 0;
$varButtons = $varOptions["buttons"] ?? [];
$strButtonClass = $intInputGroup == 0? "me-1 mb-2": "";
?>
<?php if (count($varButtons) > 0): ?>
<div class="mb-3">
<label class="form-label"><?= $strLabel; ?></label>
<div class="<?= $intInputGroup == 1? "input-group": ""; ?>">
<?php foreach ($varButtons as $varButton): ?>
<?php
$strLabel = $varButton["label"];
$strIcon = $varButton["icon"] ?? null;
$strType = $varButton["type"] ?? null;
$strOnclick = $varButton["onclick"] ?? null;
$strHref = $varButton["href"] ?? null;
$strClass = $varButton["class"] ?? "outline-secondary";
$strTag = "button";
if ($strHref !== null)
$strTag = "a";
?>
<<?= $strTag; ?>
class="btn btn-<?= $strClass; ?> <?= $strButtonClass; ?>"
<?= $strType !== null? "type=\"{$strType}\"": ""; ?>
<?= $strOnclick !== null? "onclick=\"{$strOnclick}\"": ""; ?>
<?= $strHref !== null? "href=\"{$strHref}\"": ""; ?>>
<?php if ($strIcon !== null): ?>
<i class="fa fa-fw fa-<?= $strIcon; ?>"></i>
<?php endif; ?>
<span><?= $strLabel; ?></span>
</<?= $strTag; ?>>
<?php endforeach; ?>
</div>
</div>
<?php endif; ?>
<?php
}
}
?>