Tweaks suggested by IDE
This commit is contained in:
parent
f8b5902aa1
commit
9af41447b7
@ -14,7 +14,7 @@ class Data
|
|||||||
/**
|
/**
|
||||||
* Ensure the table and index exist
|
* Ensure the table and index exist
|
||||||
*/
|
*/
|
||||||
public static function startUp()
|
public static function startUp(): void
|
||||||
{
|
{
|
||||||
Definition::ensureTable(self::REQ_TABLE);
|
Definition::ensureTable(self::REQ_TABLE);
|
||||||
Definition::ensureIndex(self::REQ_TABLE, DocumentIndex::Optimized);
|
Definition::ensureIndex(self::REQ_TABLE, DocumentIndex::Optimized);
|
||||||
|
@ -13,16 +13,16 @@ class Configuration
|
|||||||
/** @var string $connectionString The connection string to use when establishing a database connection */
|
/** @var string $connectionString The connection string to use when establishing a database connection */
|
||||||
public static string $connectionString = "";
|
public static string $connectionString = "";
|
||||||
|
|
||||||
/** @var Connection $pgConn The active connection */
|
/** @var ?Connection $pgConn The active connection */
|
||||||
private static ?Connection $pgConn = null;
|
private static ?Connection $pgConn = null;
|
||||||
|
|
||||||
/** @var ?string $startUp The name of a function to run on first connection to the database */
|
/** @var ?string $startUp The name of a function to run on first connection to the database */
|
||||||
public static ?string $startUp = null;
|
public static ?string $startUp = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ensure that the connection string is set, either explicity, by environment variables, or with defaults
|
* Ensure that the connection string is set, either explicitly, by environment variables, or with defaults
|
||||||
*/
|
*/
|
||||||
private static function ensureConnectionString()
|
private static function ensureConnectionString(): void
|
||||||
{
|
{
|
||||||
if (self::$connectionString == "") {
|
if (self::$connectionString == "") {
|
||||||
$host = $_ENV['PGDOC_HOST'] ?? 'localhost';
|
$host = $_ENV['PGDOC_HOST'] ?? 'localhost';
|
||||||
@ -58,7 +58,7 @@ class Configuration
|
|||||||
/**
|
/**
|
||||||
* Close the PostgreSQL connection if it is open
|
* Close the PostgreSQL connection if it is open
|
||||||
*/
|
*/
|
||||||
public static function closeConn()
|
public static function closeConn(): void
|
||||||
{
|
{
|
||||||
if (!is_null(self::$pgConn)) {
|
if (!is_null(self::$pgConn)) {
|
||||||
pg_close(self::$pgConn);
|
pg_close(self::$pgConn);
|
||||||
|
@ -41,9 +41,9 @@ class Definition
|
|||||||
*
|
*
|
||||||
* @param string $name The name of the table
|
* @param string $name The name of the table
|
||||||
*/
|
*/
|
||||||
public static function ensureTable(string $name)
|
public static function ensureTable(string $name): void
|
||||||
{
|
{
|
||||||
/** @var Result|bool */
|
/** @var Result|bool $result */
|
||||||
$result = pg_query(pg_conn(), self::createTable($name));
|
$result = pg_query(pg_conn(), self::createTable($name));
|
||||||
if ($result) pg_free_result($result);
|
if ($result) pg_free_result($result);
|
||||||
}
|
}
|
||||||
@ -54,9 +54,9 @@ class Definition
|
|||||||
* @param string $name The name of the table for which the index should be created
|
* @param string $name The name of the table for which the index should be created
|
||||||
* @param DocumentIndex $type The type of index to create
|
* @param DocumentIndex $type The type of index to create
|
||||||
*/
|
*/
|
||||||
public static function ensureIndex(string $name, DocumentIndex $type)
|
public static function ensureIndex(string $name, DocumentIndex $type): void
|
||||||
{
|
{
|
||||||
/** @var Result|bool */
|
/** @var Result|bool $result */
|
||||||
$result = pg_query(pg_conn(), self::createIndex($name, $type));
|
$result = pg_query(pg_conn(), self::createIndex($name, $type));
|
||||||
if ($result) pg_free_result($result);
|
if ($result) pg_free_result($result);
|
||||||
}
|
}
|
||||||
|
@ -50,9 +50,9 @@ class Document
|
|||||||
* @param string $docId The ID of the document on which action should be taken
|
* @param string $docId The ID of the document on which action should be taken
|
||||||
* @param array|object $document The array or object representing the document
|
* @param array|object $document The array or object representing the document
|
||||||
*/
|
*/
|
||||||
private static function executeNonQuery(string $query, string $docId, array|object $document)
|
private static function executeNonQuery(string $query, string $docId, array|object $document): void
|
||||||
{
|
{
|
||||||
/** @var Result|bool */
|
/** @var Result|bool $result */
|
||||||
$result = pg_query_params(pg_conn(), $query, [ $docId, Query::jsonbDocParam($document) ]);
|
$result = pg_query_params(pg_conn(), $query, [ $docId, Query::jsonbDocParam($document) ]);
|
||||||
if ($result) pg_free_result($result);
|
if ($result) pg_free_result($result);
|
||||||
}
|
}
|
||||||
@ -64,7 +64,7 @@ class Document
|
|||||||
* @param string $docId The ID of the document to be inserted
|
* @param string $docId The ID of the document to be inserted
|
||||||
* @param array|object $document The array or object representing the document
|
* @param array|object $document The array or object representing the document
|
||||||
*/
|
*/
|
||||||
public static function insert(string $tableName, string $docId, array|object $document)
|
public static function insert(string $tableName, string $docId, array|object $document): void
|
||||||
{
|
{
|
||||||
self::executeNonQuery(Query::insert($tableName), $docId, $document);
|
self::executeNonQuery(Query::insert($tableName), $docId, $document);
|
||||||
}
|
}
|
||||||
@ -76,7 +76,7 @@ class Document
|
|||||||
* @param string $docId The ID of the document to be inserted
|
* @param string $docId The ID of the document to be inserted
|
||||||
* @param array|object $document The array or object representing the document
|
* @param array|object $document The array or object representing the document
|
||||||
*/
|
*/
|
||||||
public static function save(string $tableName, string $docId, array|object $document)
|
public static function save(string $tableName, string $docId, array|object $document): void
|
||||||
{
|
{
|
||||||
self::executeNonQuery(Query::save($tableName), $docId, $document);
|
self::executeNonQuery(Query::save($tableName), $docId, $document);
|
||||||
}
|
}
|
||||||
@ -90,7 +90,7 @@ class Document
|
|||||||
*/
|
*/
|
||||||
private static function runCount(string $sql, array $params): int
|
private static function runCount(string $sql, array $params): int
|
||||||
{
|
{
|
||||||
/** @var Result|bool */
|
/** @var Result|bool $result */
|
||||||
$result = pg_query_params(pg_conn(), $sql, $params);
|
$result = pg_query_params(pg_conn(), $sql, $params);
|
||||||
if (!$result) return -1;
|
if (!$result) return -1;
|
||||||
$count = intval(pg_fetch_assoc($result)['it']);
|
$count = intval(pg_fetch_assoc($result)['it']);
|
||||||
@ -142,9 +142,9 @@ class Document
|
|||||||
*/
|
*/
|
||||||
private static function runExists(string $sql, array $params): bool
|
private static function runExists(string $sql, array $params): bool
|
||||||
{
|
{
|
||||||
/** @var Result|bool */
|
/** @var Result|bool $result */
|
||||||
$result = pg_query_params(pg_conn(), $sql, $params);
|
$result = pg_query_params(pg_conn(), $sql, $params);
|
||||||
if (!$result) return -1;
|
if (!$result) return false;
|
||||||
$exists = boolval(pg_fetch_assoc($result)['it']);
|
$exists = boolval(pg_fetch_assoc($result)['it']);
|
||||||
pg_free_result($result);
|
pg_free_result($result);
|
||||||
return $exists;
|
return $exists;
|
||||||
@ -167,7 +167,7 @@ class Document
|
|||||||
*
|
*
|
||||||
* @param string $tableName The name of the table in which existence should be checked
|
* @param string $tableName The name of the table in which existence should be checked
|
||||||
* @param array|object $criteria The criteria for the JSON containment query
|
* @param array|object $criteria The criteria for the JSON containment query
|
||||||
* @return int True if any documents in the table match the JSON containment query, false if not
|
* @return bool True if any documents in the table match the JSON containment query, false if not
|
||||||
*/
|
*/
|
||||||
public static function existsByContains(string $tableName, array|object $criteria): bool
|
public static function existsByContains(string $tableName, array|object $criteria): bool
|
||||||
{
|
{
|
||||||
@ -179,7 +179,7 @@ class Document
|
|||||||
*
|
*
|
||||||
* @param string $tableName The name of the table in which existence should be checked
|
* @param string $tableName The name of the table in which existence should be checked
|
||||||
* @param string $jsonPath The JSON Path to be matched
|
* @param string $jsonPath The JSON Path to be matched
|
||||||
* @return int True if any documents in the table match the JSON Path, false if not
|
* @return bool True if any documents in the table match the JSON Path, false if not
|
||||||
*/
|
*/
|
||||||
public static function existsByJsonPath(string $tableName, string $jsonPath): bool
|
public static function existsByJsonPath(string $tableName, string $jsonPath): bool
|
||||||
{
|
{
|
||||||
@ -196,7 +196,7 @@ class Document
|
|||||||
*/
|
*/
|
||||||
private static function runListQuery(string $sql, array $params, string $className): array
|
private static function runListQuery(string $sql, array $params, string $className): array
|
||||||
{
|
{
|
||||||
/** @var Result|bool */
|
/** @var Result|bool $result */
|
||||||
$result = pg_query_params(pg_conn(), $sql, $params);
|
$result = pg_query_params(pg_conn(), $sql, $params);
|
||||||
try {
|
try {
|
||||||
if (!$result || pg_result_status($result) == PGSQL_EMPTY_QUERY) return [];
|
if (!$result || pg_result_status($result) == PGSQL_EMPTY_QUERY) return [];
|
||||||
@ -294,7 +294,7 @@ class Document
|
|||||||
* @param string $docId The ID of the document to be updated
|
* @param string $docId The ID of the document to be updated
|
||||||
* @param array|object $document The document to be updated
|
* @param array|object $document The document to be updated
|
||||||
*/
|
*/
|
||||||
public static function updateFull(string $tableName, string $docId, array|object $document)
|
public static function updateFull(string $tableName, string $docId, array|object $document): void
|
||||||
{
|
{
|
||||||
self::executeNonQuery(Query::updateFull($tableName), $docId, $document);
|
self::executeNonQuery(Query::updateFull($tableName), $docId, $document);
|
||||||
}
|
}
|
||||||
@ -306,7 +306,7 @@ class Document
|
|||||||
* @param string $docId The ID of the document to be updated
|
* @param string $docId The ID of the document to be updated
|
||||||
* @param array|object $document The partial document to be updated
|
* @param array|object $document The partial document to be updated
|
||||||
*/
|
*/
|
||||||
public static function updatePartialById(string $tableName, string $docId, array|object $document)
|
public static function updatePartialById(string $tableName, string $docId, array|object $document): void
|
||||||
{
|
{
|
||||||
self::executeNonQuery(Query::updatePartialById($tableName), $docId, $document);
|
self::executeNonQuery(Query::updatePartialById($tableName), $docId, $document);
|
||||||
}
|
}
|
||||||
@ -318,9 +318,9 @@ class Document
|
|||||||
* @param array|object $criteria The JSON containment criteria
|
* @param array|object $criteria The JSON containment criteria
|
||||||
* @param array|object $document The document to be updated
|
* @param array|object $document The document to be updated
|
||||||
*/
|
*/
|
||||||
public static function updatePartialByContains(string $tableName, array|object $criteria, array|object $document)
|
public static function updatePartialByContains(string $tableName, array|object $criteria, array|object $document): void
|
||||||
{
|
{
|
||||||
/** @var Result|bool */
|
/** @var Result|bool $result */
|
||||||
$result = pg_query_params(pg_conn(), Query::updatePartialByContains($tableName),
|
$result = pg_query_params(pg_conn(), Query::updatePartialByContains($tableName),
|
||||||
[ Query::jsonbDocParam($criteria), Query::jsonbDocParam($document) ]);
|
[ Query::jsonbDocParam($criteria), Query::jsonbDocParam($document) ]);
|
||||||
if ($result) pg_free_result($result);
|
if ($result) pg_free_result($result);
|
||||||
@ -333,9 +333,9 @@ class Document
|
|||||||
* @param string $jsonPath The JSON Path to be matched
|
* @param string $jsonPath The JSON Path to be matched
|
||||||
* @param array|object $document The document to be updated
|
* @param array|object $document The document to be updated
|
||||||
*/
|
*/
|
||||||
public static function updatePartialByJsonPath(string $tableName, string $jsonPath, array|object $document)
|
public static function updatePartialByJsonPath(string $tableName, string $jsonPath, array|object $document): void
|
||||||
{
|
{
|
||||||
/** @var Result|bool */
|
/** @var Result|bool $result */
|
||||||
$result = pg_query_params(pg_conn(), Query::updatePartialByContains($tableName),
|
$result = pg_query_params(pg_conn(), Query::updatePartialByContains($tableName),
|
||||||
[ $jsonPath, Query::jsonbDocParam($document) ]);
|
[ $jsonPath, Query::jsonbDocParam($document) ]);
|
||||||
if ($result) pg_free_result($result);
|
if ($result) pg_free_result($result);
|
||||||
@ -347,7 +347,7 @@ class Document
|
|||||||
* @param string $tableName The table from which a document should be deleted
|
* @param string $tableName The table from which a document should be deleted
|
||||||
* @param string $docId The ID of the document to be deleted
|
* @param string $docId The ID of the document to be deleted
|
||||||
*/
|
*/
|
||||||
public static function deleteById(string $tableName, string $docId)
|
public static function deleteById(string $tableName, string $docId): void
|
||||||
{
|
{
|
||||||
self::executeNonQuery(Query::deleteById($tableName), $docId, []);
|
self::executeNonQuery(Query::deleteById($tableName), $docId, []);
|
||||||
}
|
}
|
||||||
@ -358,9 +358,9 @@ class Document
|
|||||||
* @param string $tableName The table from which documents should be deleted
|
* @param string $tableName The table from which documents should be deleted
|
||||||
* @param array|object $criteria The criteria for the JSON containment query
|
* @param array|object $criteria The criteria for the JSON containment query
|
||||||
*/
|
*/
|
||||||
public static function deleteByContains(string $tableName, array|object $criteria)
|
public static function deleteByContains(string $tableName, array|object $criteria): void
|
||||||
{
|
{
|
||||||
/** @var Result|bool */
|
/** @var Result|bool $result */
|
||||||
$result = pg_query_params(pg_conn(), Query::deleteByContains($tableName), [ Query::jsonbDocParam($criteria) ]);
|
$result = pg_query_params(pg_conn(), Query::deleteByContains($tableName), [ Query::jsonbDocParam($criteria) ]);
|
||||||
if ($result) pg_free_result($result);
|
if ($result) pg_free_result($result);
|
||||||
}
|
}
|
||||||
@ -371,9 +371,9 @@ class Document
|
|||||||
* @param string $tableName The table from which documents should be deleted
|
* @param string $tableName The table from which documents should be deleted
|
||||||
* @param string $jsonPath The JSON Path expression to be matched
|
* @param string $jsonPath The JSON Path expression to be matched
|
||||||
*/
|
*/
|
||||||
public static function deleteByJsonPath(string $tableName, string $jsonPath)
|
public static function deleteByJsonPath(string $tableName, string $jsonPath): void
|
||||||
{
|
{
|
||||||
/** @var Result|bool */
|
/** @var Result|bool $result */
|
||||||
$result = pg_query_params(pg_conn(), Query::deleteByJsonPath($tableName), [ $jsonPath ]);
|
$result = pg_query_params(pg_conn(), Query::deleteByJsonPath($tableName), [ $jsonPath ]);
|
||||||
if ($result) pg_free_result($result);
|
if ($result) pg_free_result($result);
|
||||||
}
|
}
|
||||||
@ -389,7 +389,7 @@ class Document
|
|||||||
*/
|
*/
|
||||||
public static function customList(string $sql, array $params, string $className, callable $mapFunc): array
|
public static function customList(string $sql, array $params, string $className, callable $mapFunc): array
|
||||||
{
|
{
|
||||||
/** @var Result|bool */
|
/** @var Result|bool $result */
|
||||||
$result = pg_query_params(pg_conn(), $sql, $params);
|
$result = pg_query_params(pg_conn(), $sql, $params);
|
||||||
try {
|
try {
|
||||||
if (!$result || pg_result_status($result) == PGSQL_EMPTY_QUERY) return [];
|
if (!$result || pg_result_status($result) == PGSQL_EMPTY_QUERY) return [];
|
||||||
@ -420,9 +420,9 @@ class Document
|
|||||||
* @param string $sql The SQL query to execute
|
* @param string $sql The SQL query to execute
|
||||||
* @param array $params A positional array of parameters for the SQL query
|
* @param array $params A positional array of parameters for the SQL query
|
||||||
*/
|
*/
|
||||||
public static function customNonQuery(string $sql, array $params)
|
public static function customNonQuery(string $sql, array $params): void
|
||||||
{
|
{
|
||||||
/** @var Result|bool */
|
/** @var Result|bool $result */
|
||||||
$result = pg_query_params(pg_conn(), $sql, $params);
|
$result = pg_query_params(pg_conn(), $sql, $params);
|
||||||
if ($result) pg_free_result($result);
|
if ($result) pg_free_result($result);
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,6 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace MyPrayerJournal\Domain;
|
namespace MyPrayerJournal\Domain;
|
||||||
|
|
||||||
use DateTimeImmutable, DateTimeZone;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A record of action taken on a prayer request, including updates to its text
|
* A record of action taken on a prayer request, including updates to its text
|
||||||
*/
|
*/
|
||||||
|
@ -28,7 +28,7 @@ class JournalRequest extends AsOf
|
|||||||
/** When this request will be shown again after having been snoozed */
|
/** When this request will be shown again after having been snoozed */
|
||||||
public ?DateTimeImmutable $snoozedUntil = null;
|
public ?DateTimeImmutable $snoozedUntil = null;
|
||||||
|
|
||||||
/** When this request will be show agains after a non-immediate recurrence */
|
/** When this request will be show again after a non-immediate recurrence */
|
||||||
public ?DateTimeImmutable $showAfter = null;
|
public ?DateTimeImmutable $showAfter = null;
|
||||||
|
|
||||||
/** The type of recurrence for this request */
|
/** The type of recurrence for this request */
|
||||||
|
@ -3,7 +3,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace MyPrayerJournal\Domain;
|
namespace MyPrayerJournal\Domain;
|
||||||
|
|
||||||
use DateTimeImmutable, DateTimeZone;
|
use DateTimeImmutable;
|
||||||
use Visus\Cuid2\Cuid2;
|
use Visus\Cuid2\Cuid2;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -39,7 +39,7 @@ Configuration::$startUp = '\MyPrayerJournal\Data::startUp';
|
|||||||
/**
|
/**
|
||||||
* Bring in a template
|
* Bring in a template
|
||||||
*/
|
*/
|
||||||
function template(string $name)
|
function template(string $name): void
|
||||||
{
|
{
|
||||||
require_once __DIR__ . "/../templates/$name.php";
|
require_once __DIR__ . "/../templates/$name.php";
|
||||||
}
|
}
|
||||||
@ -49,7 +49,7 @@ function template(string $name)
|
|||||||
*
|
*
|
||||||
* @param bool $fail Whether to fail the request (true) or redirect to log on (false - optional, default)
|
* @param bool $fail Whether to fail the request (true) or redirect to log on (false - optional, default)
|
||||||
*/
|
*/
|
||||||
function require_user(bool $fail = false)
|
function require_user(bool $fail = false): void
|
||||||
{
|
{
|
||||||
if (!array_key_exists(Constants::USER_ID, $_REQUEST)) {
|
if (!array_key_exists(Constants::USER_ID, $_REQUEST)) {
|
||||||
if ($fail) {
|
if ($fail) {
|
||||||
@ -64,7 +64,7 @@ function require_user(bool $fail = false)
|
|||||||
/**
|
/**
|
||||||
* Write a bare header for a component result
|
* Write a bare header for a component result
|
||||||
*/
|
*/
|
||||||
function bare_header()
|
function bare_header(): void
|
||||||
{
|
{
|
||||||
echo '<!DOCTYPE html><html lang="en"><head><meta charset="utf8"><title></title></head><body>';
|
echo '<!DOCTYPE html><html lang="en"><head><meta charset="utf8"><title></title></head><body>';
|
||||||
}
|
}
|
||||||
@ -76,11 +76,11 @@ function bare_header()
|
|||||||
* @param array $classNames CSS class names to be applied to the link (optional, default none)
|
* @param array $classNames CSS class names to be applied to the link (optional, default none)
|
||||||
* @param bool $checkActive Whether to apply an active class if the route matches (optional, default false)
|
* @param bool $checkActive Whether to apply an active class if the route matches (optional, default false)
|
||||||
*/
|
*/
|
||||||
function page_link(string $url, array $classNames = [], bool $checkActive = false)
|
function page_link(string $url, array $classNames = [], bool $checkActive = false): void
|
||||||
{
|
{
|
||||||
echo 'href="'. $url . '" hx-get="' . $url . '"';
|
echo 'href="'. $url . '" hx-get="' . $url . '"';
|
||||||
if ($checkActive && str_starts_with($_SERVER[Constants::REQUEST_URI], $url)) {
|
if ($checkActive && str_starts_with($_SERVER[Constants::REQUEST_URI], $url)) {
|
||||||
array_push($classNames, 'is-active-route');
|
$classNames[] = 'is-active-route';
|
||||||
}
|
}
|
||||||
if (!empty($classNames)) {
|
if (!empty($classNames)) {
|
||||||
echo sprintf(' class="%s"', implode(' ', $classNames));
|
echo sprintf(' class="%s"', implode(' ', $classNames));
|
||||||
@ -91,7 +91,7 @@ function page_link(string $url, array $classNames = [], bool $checkActive = fals
|
|||||||
/**
|
/**
|
||||||
* Close any open database connection; close the `body` and `html` tags
|
* Close any open database connection; close the `body` and `html` tags
|
||||||
*/
|
*/
|
||||||
function end_request()
|
function end_request(): void
|
||||||
{
|
{
|
||||||
Configuration::closeConn();
|
Configuration::closeConn();
|
||||||
echo '</body></html>';
|
echo '</body></html>';
|
||||||
|
@ -3,7 +3,6 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
require_once '../../lib/start.php';
|
require_once '../../lib/start.php';
|
||||||
|
|
||||||
use DateTimeImmutable;
|
|
||||||
use MyPrayerJournal\{ Constants, Data, Dates };
|
use MyPrayerJournal\{ Constants, Data, Dates };
|
||||||
use MyPrayerJournal\Domain\JournalRequest;
|
use MyPrayerJournal\Domain\JournalRequest;
|
||||||
|
|
||||||
@ -38,7 +37,7 @@ end_request();
|
|||||||
* @param string $activity The activity performed (activity or prayed)
|
* @param string $activity The activity performed (activity or prayed)
|
||||||
* @param DateTimeImmutable $asOf The date/time the activity was performed
|
* @param DateTimeImmutable $asOf The date/time the activity was performed
|
||||||
*/
|
*/
|
||||||
function format_activity(string $activity, DateTimeImmutable $asOf)
|
function format_activity(string $activity, DateTimeImmutable $asOf): void
|
||||||
{
|
{
|
||||||
echo sprintf('last %s <span title="%s">%s</span>', $activity,
|
echo sprintf('last %s <span title="%s">%s</span>', $activity,
|
||||||
$asOf->setTimezone($_REQUEST[Constants::TIME_ZONE])->format('l, F jS, Y/g:ia T'),
|
$asOf->setTimezone($_REQUEST[Constants::TIME_ZONE])->format('l, F jS, Y/g:ia T'),
|
||||||
@ -50,13 +49,13 @@ function format_activity(string $activity, DateTimeImmutable $asOf)
|
|||||||
*
|
*
|
||||||
* @param JournalRequest $req The request for which a card should be generated
|
* @param JournalRequest $req The request for which a card should be generated
|
||||||
*/
|
*/
|
||||||
function journal_card(JournalRequest $req)
|
function journal_card(JournalRequest $req): void
|
||||||
{
|
{
|
||||||
$spacer = '<span> </span>'; ?>
|
$spacer = '<span> </span>'; ?>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<div class="card h-100">
|
<div class="card h-100">
|
||||||
<div class="card-header p-0 d-flex" role="tool-bar">
|
<div class="card-header p-0 d-flex" role="toolbar">
|
||||||
<a <?php page_link("/request/{$req->id}/edit"); ?> class="btn btn-secondary" title="Edit Request">
|
<a <?php page_link("/request/edit?{$req->id}"); ?> class="button btn-secondary" title="Edit Request">
|
||||||
<span class="material-icons">edit</span>
|
<span class="material-icons">edit</span>
|
||||||
</a><?php echo $spacer; ?>
|
</a><?php echo $spacer; ?>
|
||||||
<button type="button" class="btn btn-secondary" title="Add Notes" data-bs-toggle="modal"
|
<button type="button" class="btn btn-secondary" title="Add Notes" data-bs-toggle="modal"
|
||||||
@ -70,10 +69,10 @@ function journal_card(JournalRequest $req)
|
|||||||
<span class="material-icons">schedule</span>
|
<span class="material-icons">schedule</span>
|
||||||
</button>
|
</button>
|
||||||
<div class="flex-grow-1"></div>
|
<div class="flex-grow-1"></div>
|
||||||
<button type="button" class="btn btn-success w-25" hx-patch="/request/<?php echo $req->id; ?>/prayed"
|
<a href="/request/prayed?<?php echo $req->id; ?>" class="button btn-success w-25"
|
||||||
title="Mark as Prayed">
|
hx-patch="/request/prayed?<?php echo $req->id; ?>" title="Mark as Prayed">
|
||||||
<span class="material-icons">done</span>
|
<span class="material-icons">done</span>
|
||||||
</button>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<p class="request-text"><?php echo htmlentities($req->text); ?></p>
|
<p class="request-text"><?php echo htmlentities($req->text); ?></p>
|
||||||
|
Loading…
Reference in New Issue
Block a user