Add support for individual forum category icons.
This commit is contained in:
parent
b1280d5567
commit
abd6983b79
5 changed files with 37 additions and 16 deletions
20
database/2019_05_05_163101_add_forum_category_icons.php
Normal file
20
database/2019_05_05_163101_add_forum_category_icons.php
Normal file
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
namespace Misuzu\DatabaseMigrations\AddForumCategoryIcons;
|
||||
|
||||
use PDO;
|
||||
|
||||
function migrate_up(PDO $conn): void
|
||||
{
|
||||
$conn->exec("
|
||||
ALTER TABLE `msz_forum_categories`
|
||||
ADD COLUMN `forum_icon` VARCHAR(50) NULL DEFAULT NULL AFTER `forum_description`;
|
||||
");
|
||||
}
|
||||
|
||||
function migrate_down(PDO $conn): void
|
||||
{
|
||||
$conn->exec("
|
||||
ALTER TABLE `msz_forum_categories`
|
||||
DROP COLUMN `forum_icon`;
|
||||
");
|
||||
}
|
|
@ -93,7 +93,7 @@ function forum_get(int $forumId, bool $showDeleted = false): array
|
|||
'
|
||||
SELECT
|
||||
`forum_id`, `forum_name`, `forum_type`, `forum_link`, `forum_archived`,
|
||||
`forum_link_clicks`, `forum_parent`, `forum_colour`,
|
||||
`forum_link_clicks`, `forum_parent`, `forum_colour`, `forum_icon`,
|
||||
(
|
||||
SELECT COUNT(`topic_id`)
|
||||
FROM `msz_forum_topics`
|
||||
|
@ -114,7 +114,7 @@ function forum_get_root_categories(int $userId): array
|
|||
$getCategories = db_prepare(sprintf(
|
||||
'
|
||||
SELECT
|
||||
f.`forum_id`, f.`forum_name`, f.`forum_type`, f.`forum_colour`,
|
||||
f.`forum_id`, f.`forum_name`, f.`forum_type`, f.`forum_colour`, f.`forum_icon`,
|
||||
(
|
||||
SELECT COUNT(`forum_id`)
|
||||
FROM `msz_forum_categories` AS sf
|
||||
|
@ -380,7 +380,7 @@ function forum_get_children(int $parentId, int $userId): array
|
|||
'
|
||||
SELECT
|
||||
:user_id AS `target_user_id`,
|
||||
f.`forum_id`, f.`forum_name`, f.`forum_description`, f.`forum_type`,
|
||||
f.`forum_id`, f.`forum_name`, f.`forum_description`, f.`forum_type`, f.`forum_icon`,
|
||||
f.`forum_link`, f.`forum_link_clicks`, f.`forum_archived`, f.`forum_colour`,
|
||||
f.`forum_count_topics`, f.`forum_count_posts`
|
||||
FROM `msz_forum_categories` AS f
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{% extends 'forum/master.twig' %}
|
||||
{% from 'forum/macros.twig' import forum_category_listing, forum_topic_listing, forum_category_buttons, forum_header, forum_category_tools %}
|
||||
{% from 'macros.twig' import container_title %}
|
||||
{% from '_layout/input.twig' import input_csrf %}
|
||||
|
||||
|
|
|
@ -15,7 +15,8 @@
|
|||
category.forum_colour,
|
||||
category.forum_id == constant('MSZ_FORUM_ROOT')
|
||||
? ''
|
||||
: 'f' ~ category.forum_id
|
||||
: 'f' ~ category.forum_id,
|
||||
category.forum_icon|default('')
|
||||
) }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{% macro forum_category_listing(forums, title, colour, id) %}
|
||||
{% macro forum_category_listing(forums, title, colour, id, icon) %}
|
||||
{% from _self import forum_category_entry %}
|
||||
{% from 'macros.twig' import container_title %}
|
||||
|
||||
<div class="container forum__categories"
|
||||
{% if colour is not null %}style="{{ colour|html_colour('--accent-colour') }}"{% endif %}
|
||||
{% if id|length > 0 %}id="{{ id }}"{% endif %}>
|
||||
{{ container_title('<i class="fas fa-folder fa-fw"></i> ' ~ title) }}
|
||||
{{ container_title('<span class="' ~ icon|default('fas fa-folder fa-fw') ~ '"></span> ' ~ title) }}
|
||||
|
||||
{% if forums|length > 0 %}
|
||||
<div class="forum__categories__list">
|
||||
|
@ -107,21 +107,22 @@
|
|||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro forum_category_entry(forum, forum_unread, forum_type) %}
|
||||
{% set forum_type = forum_type|default(null) %}
|
||||
{% macro forum_category_entry(forum, forum_unread, forum_icon) %}
|
||||
{% set forum_unread = forum_unread|default(forum.forum_unread|default(false)) ? 'unread' : 'read' %}
|
||||
|
||||
{% if forum_type is null %}
|
||||
{% if forum.forum_archived is defined and forum.forum_archived %}
|
||||
{% set forum_type = 'fas fa-archive' %}
|
||||
{% if forum_icon is empty %}
|
||||
{% if forum.forum_icon is defined and forum.forum_icon is not empty %}
|
||||
{% set forum_icon = forum.forum_icon %}
|
||||
{% elseif forum.forum_archived is defined and forum.forum_archived %}
|
||||
{% set forum_icon = 'fas fa-archive fa-fw' %}
|
||||
{% elseif forum.forum_type is defined and forum.forum_type != constant('MSZ_FORUM_TYPE_DISCUSSION') %}
|
||||
{% if forum.forum_type == constant('MSZ_FORUM_TYPE_LINK') %}
|
||||
{% set forum_type = 'fas fa-link' %}
|
||||
{% set forum_icon = 'fas fa-link fa-fw' %}
|
||||
{% elseif forum.forum_type == constant('MSZ_FORUM_TYPE_CATEGORY') %}
|
||||
{% set forum_type = 'fas fa-folder' %}
|
||||
{% set forum_icon = 'fas fa-folder fa-fw' %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% set forum_type = 'fas fa-comments' %}
|
||||
{% set forum_icon = 'fas fa-comments fa-fw' %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
@ -130,7 +131,7 @@
|
|||
|
||||
<div class="forum__category__container">
|
||||
<div class="forum__category__icon forum__category__icon--{{ forum_unread }}">
|
||||
<i class="{{ forum_type }} fa-fw"></i>
|
||||
<span class="{{ forum_icon }}"></span>
|
||||
</div>
|
||||
|
||||
<div class="forum__category__details">
|
||||
|
|
Loading…
Add table
Reference in a new issue