Skip to content

Commit

Permalink
https://github.com/PHPFusion/PHPFusion/issues/2405
Browse files Browse the repository at this point in the history
Signed-off-by: deviance <meangczac.chan@gmail.com>
  • Loading branch information
FrederickChan committed Sep 11, 2022
1 parent a928868 commit 5c74672
Show file tree
Hide file tree
Showing 2 changed files with 133 additions and 1 deletion.
110 changes: 109 additions & 1 deletion includes/classes/PHPFusion/ImageRepo.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,96 @@ class ImageRepo {
*/
private static $smiley_cache = NULL;

/**
* We will go with Font Awesome
*
* @var string[]
*/
private static $glyphicons = [
'plus' => 'fa-regular fa-plus',
'minus' => 'fa-regular fa-minus',
'up' => 'fa-regular fa-up',
'down' => 'fa-regular fa-down',
'left' => 'fa-regular fa-left',
'right' => 'fa-regular fa-right',
'caret-up' => 'fa-regular fa-caret-up',
'caret-down' => 'fa-regular fa-caret-down',
'caret-left' => 'fa-regular fa-caret-left',
'caret-right' => 'fa-regular fa-caret-right',
'apply' => 'fa-regular fa-check',
'cancel' => 'fa-regular fa-ban',
'reset' => 'fa-regular fa-rotate-left',
'reply' => 'fa-regular fa-reply',
'forward' => 'fa-regular fa-share-from-square',
'first' => 'fa-regular fa-angle-left',
'last' => 'fa-regular fa-angle-right',
'next' => 'fa-regular fa-angle-double-right',
'previous' => 'fa-regular fa-angle-double-left',
'edit' => 'fa-regular fa-edit',
'delete' => 'fa-regular fa-trash',
'view' => 'fa-regular fa-eye',
'more' => 'fa-regular fa-ellipsis-v',
'filter' => 'fa-regular fa-filters',
'asc' => 'fa-regular fa-sort-up',
'desc' => 'fa-regular fa-sort-down',
'move' => 'fa-regular fa-up-down-left-right',
'maximize' => 'fa-regular fa-maximize',
'minimize' => 'fa-regular fa-down-left-and-up-right-to-center',
'user' => 'fa-regular fa-user',
'admin' => 'fa-regular fa-user-secret',
'user-profile' => 'fa-regular id-badge',
'user-groups' => 'fa-regular fa-users-rectangle',
'user-active' => 'fa-regular fa-user-check',
'user-joined' => 'fa-regular fa-calendar-circle-user',
'user-banned' => 'fa-regular fa-user-xmark',
'user-inactive' => 'fa-regular fa-user-clock',
'forum-post' => 'fa-regular fa-messages',
'forum-spam' => 'fa-regular fa-message-xmark',
'forum-sticky' => 'fa-regular fa-message-arrow-up',
'forum-question' => 'fa-regular fa-message-question',
'forum-answer' => 'fa-regular fa-message-check',
'forum-quote' => 'fa-regular fa-message-quote',
'forum-attachments' => 'fa-regular fa-message-image',
'forum-warning' => 'fa-regular fa-message-exclamation',
'forum-reputation' => 'fa-regular fa-hundred-points',
'forum-upvoted' => 'fa-regular fa-message-arrow-up',
'forum-downvoted' => 'fa-regular fa-message-arrow-down',
'vote' => 'fa-regular fa-check-to-slot',
'unvote' => 'fa-regular fa-xmark-to-slot',
'note' => 'fa-regular fa-note-sticky',
'auto-bot' => 'fa-regular fa-message-bot',
'comments' => 'fa-regular fa-comments',
'comment' => 'fa-regular fa-comment',
'poll' => 'fa-regular fa-square-poll-vertical',
'games' => 'fa-regular fa-dice',
'print' => 'fa-regular fa-print',
'items' => 'fa-regular fa-box-heart',
'security' => 'fa-regular fa-shield-cross',
'infusion' => 'fa-regular fa-magnet',
'collection' => 'fa-regular fa-gift',
'coins' => 'fa-regular fa-sack',
'location' => 'fa-regular fa-location-dot',
'code' => 'fa-regular fa-brackets-curly',
'success' => 'fa-regular fa-badge-check',
'warning' => 'fa-regular fa-triangle-exclamation',
'danger' => 'fa-regular fa-light-emergency-on',
'donation' => 'fa-regular fa-hands-holding-dollar',
'import' => 'fa-regular fa-up-to-line',
'export' => 'fa-regular fa-down-from-line',
'time' => 'fa-regular fa-fa-clock',
'duration' => 'fa-regular fa-clock-rotate-left',
'locked' => 'fa-regular fa-lock',
'unlocked' => 'fa-regular fa-lock-open',
'login' => 'fa-regular fa-right-to-bracket',
'logout' => 'fa-regular fa-right-from-bracket',
'tech-support' => 'fa-regular fa-headset',
'maintenance' => 'fa-regular fa-helmet-safety',
'site-links' => 'fa-regular fa-sitemap',
'bug' => 'fa-regular fa-bug',
'contact' => 'fa-regular fa-square-phone',
'covid' => 'fa-regular fa-virus-covid',
];

/**
* Get all imagepaths
*
Expand Down Expand Up @@ -186,6 +276,24 @@ public static function getImage($image, $alt = "", $style = "", $title = "", $at
$url;
}

/**
* @param $name
* @param string $class
*
* @return string
*/
public static function getIcon(string $name, string $class = "", string $tooltip = "") {
$icon = (self::$glyphicons[$name]) ?? '';
$tooltip = $tooltip ? 'data-toggle="tooltip" title="'.$tooltip.'"' : '';

return '<i class="'.$icon.whitespace($class).'" '.$tooltip.'></i>';
}

public static function setIcon($name, $value) {
self::$glyphicons[$name] = $value;
}


/**
* Set a path of an image
*
Expand Down Expand Up @@ -231,7 +339,7 @@ public static function getFileList($path) {
public static function cacheSmileys() {
if (self::$smiley_cache === NULL) {
self::$smiley_cache = [];
$result = cdquery('smileys_cache',"SELECT smiley_code, smiley_image, smiley_text FROM ".DB_SMILEYS);
$result = cdquery('smileys_cache', "SELECT smiley_code, smiley_image, smiley_text FROM ".DB_SMILEYS);
while ($data = cdarray($result)) {
self::$smiley_cache[] = [
'smiley_code' => $data['smiley_code'],
Expand Down
24 changes: 24 additions & 0 deletions includes/system_images.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,30 @@ function set_image($name, $path) {
ImageRepo::setImage($name, $path);
}

/**
* Get the icon or <i> tag
*
* @param $icon
* @param string $class
* @param string $tooltip
*
* @return string
*/
function get_icon($icon, string $class = "", $tooltip = "") {
return ImageRepo::getIcon($icon, $class, $tooltip);
}

/**
* Sets a class for an icon
*
* @param $name
* @param $value
*/
function set_icon($name, $value) {
ImageRepo::setIcon($name, $value);
}


/**
* Replace a part in each image path.
*
Expand Down

0 comments on commit 5c74672

Please sign in to comment.