AnonSec Shell
Server IP : 54.36.91.62  /  Your IP : 216.73.217.112
Web Server : Apache
System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : coopiak ( 151928)
PHP Version : 8.3.23
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/coopiak/amisdesseniors-fr/biarritz/libraries/kunena/src/Config/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/coopiak/amisdesseniors-fr/biarritz/libraries/kunena/src/Config/KunenaConfig.php
<?php

/**
 * Kunena Component
 *
 * @package         Kunena.Framework
 *
 * @copyright       Copyright (C) 2008 - @currentyear@ Kunena Team. All rights reserved.
 * @license         https://www.gnu.org/copyleft/gpl.html GNU/GPL
 * @link            https://www.kunena.org
 **/

namespace Kunena\Forum\Libraries\Config;

\defined('_JEXEC') or die();

use Exception;
use Joomla\CMS\Cache\CacheControllerFactoryInterface;
use Joomla\CMS\Factory;
use Joomla\Database\Exception\ExecutionFailureException;
use Joomla\Registry\Registry;
use Joomla\Utilities\ArrayHelper;
use Kunena\Forum\Libraries\Cache\KunenaCacheHelper;
use Kunena\Forum\Libraries\Error\KunenaError;

/**
 * Class KunenaConfig
 *
 * @property int     $id
 * @property string  $boardTitle
 * @property string  $email
 * @property boolean $boardOffline
 * @property string  $offlineMessage
 * @property boolean $enableRss
 * @property integer $threadsPerPage
 * @property integer $messagesPerPage
 * @property integer $messagesPerPageSearch
 * @property boolean $showHistory
 * @property integer $historyLimit
 * @property boolean $showNew
 * @property boolean $disableEmoticons
 * @property string  $template
 * @property boolean $showAnnouncement
 * @property boolean $avatarOnCategory
 * @property boolean $showChildCatIcon
 * @property integer $rteWidth
 * @property integer $rteHeight
 * @property boolean $enableForumJump
 * @property boolean $reportMsg
 * @property boolean $username
 * @property boolean $askEmail
 * @property boolean $showEmail
 * @property boolean $showUserStats
 * @property boolean $showKarma
 * @property boolean $userEdit
 * @property integer $userEditTime
 * @property integer $userEditTimeGrace
 * @property boolean $editMarkup
 * @property boolean $allowSubscriptions
 * @property boolean $subscriptionsChecked
 * @property boolean $allowFavorites
 * @property integer $maxSig
 * @property boolean $regOnly
 * @property boolean $pubWrite
 * @property boolean $floodProtection
 * @property boolean $mailModerators
 * @property boolean $mailAdministrators
 * @property boolean $captcha
 * @property boolean $mailFull
 * @property boolean $allowAvatarUpload
 * @property boolean $allowAvatarGallery
 * @property integer $avatarQuality
 * @property integer $avatarSize
 * @property integer $imageHeight
 * @property integer $imageWidth
 * @property integer $imageSize
 * @property string  $fileTypes
 * @property integer $fileSize
 * @property boolean $showRanking
 * @property boolean $rankImages
 * @property integer $userlistRows
 * @property boolean $userlistOnline
 * @property boolean $userlistAvatar
 * @property boolean $userlistPosts
 * @property boolean $userlistKarma
 * @property boolean $userlistEmail
 * @property boolean $userlistJoinDate
 * @property boolean $userlistLastVisitDate
 * @property boolean $userlistUserHits
 * @property boolean $latestCategory
 * @property boolean $showStats
 * @property boolean $showWhoIsOnline
 * @property boolean $showGenStats
 * @property boolean $showPopUserStats
 * @property integer $popUserCount
 * @property boolean $showPopSubjectStats
 * @property boolean $popSubjectCount
 * @property boolean $showSpoilerTag
 * @property boolean $showVideoTag
 * @property boolean $showEbayTag
 * @property boolean $trimLongUrls
 * @property integer $trimLongUrlsFront
 * @property integer $trimLongUrlsBack
 * @property boolean $autoEmbedYoutube
 * @property boolean $autoEmbedEbay
 * @property boolean $ebayLanguageCode
 * @property integer $sessionTimeOut
 * @property boolean $highlightCode
 * @property string  $rssType
 * @property string  $rssTimeLimit
 * @property integer $rssLimit
 * @property array   $rssIncludedCategories
 * @property string  $rssExcludedCategories
 * @property string  $rssSpecification
 * @property boolean $rssAllowHtml
 * @property string  $rssAuthorFormat
 * @property boolean $rssAuthorInTitle
 * @property integer $rssWordCount
 * @property boolean $rssOldTitles
 * @property boolean $rssCache
 * @property string  $defaultPage
 * @property string  $defaultSort
 * @property boolean $sef
 * @property boolean $showImgForGuest
 * @property boolean $showFileForGuest
 * @property integer $pollNbOptions
 * @property boolean $pollAllowVoteOne
 * @property boolean $pollEnabled
 * @property integer $popPollsCount
 * @property boolean $showPopPollStats
 * @property integer $pollTimeBtVotes
 * @property integer $pollNbVotesByUser
 * @property boolean $pollResultsUserslist
 * @property boolean $allowUserEditPoll
 * @property integer $maxPersonalText
 * @property string  $orderingSystem
 * @property string  $postDateFormat
 * @property string  $postDateFormatHover
 * @property boolean $hideIp
 * @property string  $imageTypes
 * @property boolean $checkMimeTypes
 * @property string  $imageMimeTypes
 * @property integer $imageQuality
 * @property integer $thumbHeight
 * @property integer $thumbWidth
 * @property string  $hideUserProfileInfo
 * @property boolean $boxGhostMessage
 * @property integer $userDeleteMessage
 * @property integer $latestCategoryIn
 * @property boolean $topicIcons
 * @property boolean $debug
 * @property boolean $catsAutoSubscribed
 * @property boolean $showBannedReason
 * @property boolean $showThankYou
 * @property boolean $showPopThankYouStats
 * @property integer $popThanksCount
 * @property boolean $modSeeDeleted
 * @property string  $bbcodeImgSecure
 * @property boolean $listCatShowModerators
 * @property boolean $lightbox
 * @property integer $showListTime
 * @property integer $showSessionType
 * @property integer $showSessionStartTime
 * @property boolean $userlistAllowed
 * @property integer $userlistCountUsers
 * @property boolean $enableThreadedLayouts
 * @property string  $categorySubscriptions
 * @property string  $topicSubscriptions
 * @property boolean $pubProfile
 * @property integer $thankYouMax
 * @property integer $emailRecipientCount
 * @property string  $emailRecipientPrivacy
 * @property string  $emailVisibleAddress
 * @property integer $captchaPostLimit
 * @property string  $imageUpload
 * @property string  $fileUpload
 * @property string  $topicLayout
 * @property boolean $timeToCreatePage
 * @property boolean $showImgFilesManageProfile
 * @property boolean $holdNewUsersPosts
 * @property boolean $holdGuestPosts
 * @property integer $attachmentLimit
 * @property boolean $pickupCategory
 * @property string  $articleDisplay
 * @property boolean $sendEmails
 * @property boolean $fallbackEnglish
 * @property boolean $cache
 * @property integer $cacheTime
 * @property integer $ebayAffiliateId
 * @property boolean $ipTracking
 * @property string  $rssFeedBurnerUrl
 * @property boolean $autoLink
 * @property boolean $accessComponent
 * @property boolean $statsLinkAllowed
 * @property boolean $superAdminUserlist
 * @property boolean $attachmentProtection
 * @property boolean $categoryIcons
 * @property boolean $avatarCrop
 * @property boolean $userReport
 * @property integer $searchTime
 * @property boolean $teaser
 * @property boolean $ebayLanguage
 * @property string  $ebayApiKey
 * @property string  $ebayCertId
 * @property string  $blueskyappHandleOfApp
 * @property string  $blueskyappPasswordOfApp
 * @property string  $XConsumerKey
 * @property string  $XConsumerSecret
 * @property boolean $allowChangeSubject
 * @property integer $maxLinks
 * @property boolean $readOnly
 * @property boolean $ratingEnabled
 * @property boolean $urlSubjectTopic
 * @property boolean $logModeration
 * @property integer $attachStart
 * @property integer $attachEnd
 * @property string  $googleMapApiKey
 * @property boolean $attachmentUtf8
 * @property boolean $autoEmbedSoundcloud
 * @property string  $emailHeader
 * @property integer $emailHeaderSizeX
 * @property integer $emailHeaderSizeY
 * @property boolean $userStatus
 * @property boolean $signature
 * @property boolean $personal
 * @property boolean $plainEmail
 * @property boolean $moderatorPermDelete
 * @property string  $avatarTypes
 * @property boolean $smartLinking
 * @property string  $defaultAvatar
 * @property string  $defaultAvatarSmall
 * @property string  $stopForumSpamKey
 * @property boolean $quickReply
 * @property boolean $avatarEdit
 * @property string  $activeMenuItem
 * @property integer $mainMenuId
 * @property integer $homeId
 * @property integer $indexId
 * @property integer $moderatorsId
 * @property integer $topicListId
 * @property integer $miscId
 * @property integer $profileId
 * @property integer $searchId
 * @property integer $custom_id
 * @property integer $avatarType
 * @property boolean $sefRedirect
 * @property boolean $allowEditPoll
 * @property boolean $useSystemEmails
 * @property boolean $autoEmbedInstagram
 * @property boolean $disableRe
 * @property boolean $utmSource
 * @property boolean $profiler
 * @property string  $datePickerFormat
 * @property boolean $sendMailUserBanned
 * @property boolean $mailBodyUserBanned
 * @property boolean $mailBodyUserUnBanned
 *
 * @since   Kunena 6.0
 */
class KunenaConfig
{
    /**
     * @var    integer  ID
     * @since  Kunena 1.5.2
     */
    public $id = 0;

    /**
     * @var    string  Board Title
     * @since  Kunena 1.0.0
     */
    public $boardTitle = 'Kunena';

    /**
     * @var    string  Email
     * @since  Kunena 1.0.0
     */
    public $email = '';

    /**
     * @var    boolean  Board offline
     * @since  Kunena 1.0.0
     */
    public $boardOffline = 0;

    /**
     * @var    string  Offline message
     * @since  Kunena 1.0.0
     */
    public $offlineMessage = "<h2>The Forum is currently offline for maintenance.</h2>\n<div>Check back soon!</div>";

    /**
     * @var    boolean Enable RSS
     * @since  Kunena 1.0.0
     */
    public $enableRss = 1;

    /**
     * @var    integer    Threads per page
     * @since  Kunena 1.0.0
     */
    public $threadsPerPage = 20;

    /**
     * @var    integer  Messages per page
     * @since  Kunena 1.0.0
     */
    public $messagesPerPage = 6;

    /**
     * @var    integer  Messages per page search
     * @since  Kunena 1.0.0
     */
    public $messagesPerPageSearch = 15;

    /**
     * @var    boolean  Show history
     * @since  Kunena 1.0.0
     */
    public $showHistory = 1;

    /**
     * @var    integer  History limit
     * @since  Kunena 1.0.0
     */
    public $historyLimit = 6;

    /**
     * @var    boolean  Show new
     * @since  Kunena 1.0.0
     */
    public $showNew = 1;

    /**
     * @var    boolean  Disable emoticons
     * @since  Kunena 1.0.0
     */
    public $disableEmoticons = 0;

    /**
     * @var    string  Template
     * @since  Kunena 1.0.0
     */
    public $template = 'aurelia';

    /**
     * @var    boolean  Show announcement
     * @since  Kunena 1.0.0
     */
    public $showAnnouncement = 1;

    /**
     * @var    boolean  Avatar on category
     * @since  Kunena 1.0.0
     */
    public $avatarOnCategory = 0;

    /**
     * @var    boolean  Show child category icon
     * @since  Kunena 1.0.0
     */
    public $showChildCatIcon = 1;

    /**
     * @var    integer  Text area width
     * @since  Kunena 1.0.0
     */
    public $rteWidth = 450;

    /**
     * @var    integer  Text area height
     * @since  Kunena 1.0.0
     */
    public $rteHeight = 300;

    /**
     * @var    boolean  Enable forum jump
     * @since  Kunena 1.0.0
     */
    public $enableForumJump = 1;

    /**
     * @var    boolean  Report message
     * @since  Kunena 1.0.0
     */
    public $reportMsg = 1;

    /**
     * @var    boolean  Username
     * @since  Kunena 1.0.0
     */
    public $username = 1;

    /**
     * @var    boolean  Ask email
     * @since  Kunena 1.0.0
     */
    public $askEmail = 0;

    /**
     * @var    boolean  Show email
     * @since  Kunena 1.0.0
     */
    public $showEmail = 0;

    /**
     * @var    boolean  Show user statistics
     * @since  Kunena 1.0.0
     */
    public $showUserStats = 1;

    /**
     * @var    boolean  Show karma
     * @since  Kunena 1.0.0
     */
    public $showKarma = 1;

    /**
     * @var    boolean  User edit
     * @since  Kunena 1.0.0
     */
    public $userEdit = 1;

    /**
     * @var    integer  User edit time
     * @since  Kunena 1.0.0
     */
    public $userEditTime = 0;

    /**
     * @var    integer  User edit time Grace
     * @since  Kunena 1.0.0
     */
    public $userEditTimeGrace = 600;

    /**
     * @var    boolean  Edit markup
     * @since  Kunena 1.0.0
     */
    public $editMarkup = 1;

    /**
     * @var    boolean  Allow subscriptions
     * @since  Kunena 1.0.0
     */
    public $allowSubscriptions = 1;

    /**
     * @var    boolean  Subscriptions Checked
     * @since  Kunena 1.0.0
     */
    public $subscriptionsChecked = 1;

    /**
     * @var    boolean  Allow favorites
     * @since  Kunena 1.0.0
     */
    public $allowFavorites = 1;

    /**
     * @var    integer  Max signature length
     * @since  Kunena 1.0.0
     */
    public $maxSig = 300;

    /**
     * @var    boolean  Registered users only
     * @since  Kunena 1.0.0
     */
    public $regOnly = 0;

    /**
     * @var    boolean  Public write
     * @since  Kunena 1.0.0
     */
    public $pubWrite = 0;

    /**
     * @var    boolean  Flood projection
     * @since  Kunena 1.0.0
     */
    public $floodProtection = 0;

    /**
     * @var    boolean  Mail moderators
     * @since  Kunena 1.0.0
     */
    public $mailModerators = 0;

    /**
     * @var    boolean  Mail admin
     * @since  Kunena 1.0.0
     */
    public $mailAdministrators = 0;

    /**
     * @var    boolean  CAPTCHA
     * @since  Kunena 1.0.0
     */
    public $captcha = 0;

    /**
     * @var    boolean  Mail full
     * @since  Kunena 1.0.0
     */
    public $mailFull = 1;

    /**
     * @var    boolean  Allow avatar upload
     * @since  Kunena 1.0.0
     */
    public $allowAvatarUpload = 1;

    /**
     * @var    boolean  Allow avatar gallery
     * @since  Kunena 1.0.0
     */
    public $allowAvatarGallery = 1;

    /**
     * @var    integer  Avatar quality
     * @since  Kunena 1.0.0
     */
    public $avatarQuality = 75;

    /**
     * @var    integer  Avatar size
     * @since  Kunena 1.0.0
     */
    public $avatarSize = 2048;

    /**
     * @var    integer  Image height
     * @since  Kunena 1.0.0
     */
    public $imageHeight = 800;

    /**
     * @var    integer  Image width
     * @since  Kunena 1.0.0
     */
    public $imageWidth = 800;

    /**
     * @var    integer  Image size
     * @since  Kunena 1.0.0
     */
    public $imageSize = 150;

    /**
     * @var    string  File types
     * @since  Kunena 1.0.0
     */
    public $fileTypes = 'txt,rtf,pdf,zip,tar.gz,tgz,tar.bz2';

    /**
     * @var    integer  File size
     * @since  Kunena 1.0.0
     */
    public $fileSize = 120;

    /**
     * @var    boolean  Show ranking
     * @since  Kunena 1.0.0
     */
    public $showRanking = 1;

    /**
     * @var    boolean  Rank images
     * @since  Kunena 1.0.0
     */
    public $rankImages = 1;

    /**
     * @var    integer  User list rows
     * @since  Kunena 1.0.0
     */
    public $userlistRows = 30;

    /**
     * @var    boolean  User list online
     * @since  Kunena 1.0.0
     */
    public $userlistOnline = 1;

    /**
     * @var    boolean  user list avatar
     * @since  Kunena 1.0.0
     */
    public $userlistAvatar = 1;

    /**
     * @var    boolean  User list posts
     * @since  Kunena 1.0.0
     */
    public $userlistPosts = 1;

    /**
     * @var    boolean  User list karma
     * @since  Kunena 1.0.0
     */
    public $userlistKarma = 1;

    /**
     * @var    boolean  User list email
     * @since  Kunena 1.0.0
     */
    public $userlistEmail = 0;

    /**
     * @var    boolean  User list join date
     * @since  Kunena 1.0.0
     */
    public $userlistJoinDate = 1;

    /**
     * @var    boolean  User list lst visit date
     * @since  Kunena 1.0.0
     */
    public $userlistLastVisitDate = 1;

    /**
     * @var    boolean  User list user hits
     * @since  Kunena 1.0.0
     */
    public $userlistUserHits = 1;

    /**
     * @var    integer  Latest category; select, integer multiple
     * @since  Kunena 1.0.0
     */
    public $latestCategory = 0;

    /**
     * @var    boolean  Show stats
     * @since  Kunena 1.0.0
     */
    public $showStats = 1;

    /**
     * @var    boolean  Show who is online
     * @since  Kunena 1.0.0
     */
    public $showWhoIsOnline = 1;

    /**
     * @var    boolean  Show general statistics
     * @since  Kunena 1.0.0
     */
    public $showGenStats = 1;

    /**
     * @var    boolean  Show population user statistics
     * @since  Kunena 1.0.0
     */
    public $showPopUserStats = 1;

    /**
     * @var    integer  Population user count
     * @since  Kunena 1.0.0
     */
    public $popUserCount = 5;

    /**
     * @var    boolean  Show population subject statistics
     * @since  Kunena 1.0.0
     */
    public $showPopSubjectStats = 1;

    /**
     * @var    integer  Population subject count
     * @since  Kunena 1.0.0
     */
    public $popSubjectCount = 5;

    /**
     * @var    boolean  Show spoiler tag
     * @since  Kunena 1.0.5
     */
    public $showSpoilerTag = 1;

    /**
     * @var    boolean  Show video tag
     * @since  Kunena 1.0.5
     */
    public $showVideoTag = 1;

    /**
     * @var    boolean  Show ebay tag
     * @since  Kunena 1.0.5
     */
    public $showEbayTag = 1;

    /**
     * @var    boolean  Trim long URLs
     * @since  Kunena 1.0.5
     */
    public $trimLongUrls = 1;

    /**
     * @var    integer  Trim long URLs in front
     * @since  Kunena 1.0.5
     */
    public $trimLongUrlsFront = 40;

    /**
     * @var    integer  Trim long URLs in back
     * @since  Kunena 1.0.5
     */
    public $trimLongUrlsBack = 20;

    /**
     * @var    boolean  Auto embed youtube
     * @since  Kunena 1.0.5
     */
    public $autoEmbedYoutube = 1;

    /**
     * @var    boolean  Auto embed ebay
     * @since  Kunena 1.0.5
     */
    public $autoEmbedEbay = 1;

    /**
     * @var    string  Ebay language code
     * @since  Kunena 1.0.5
     */
    public $ebayLanguageCode = 'en-us';

    /**
     * @var    integer  Session time out. In seconds
     * @since  Kunena 1.0.5
     */
    public $sessionTimeOut = 1800;

    /**
     * @var    boolean  Highlight code
     * @since  Kunena 1.0.5RC2
     */
    public $highlightCode = 0;

    /**
     * @var    string  RSS type
     * @since  Kunena 1.0.6
     */
    public $rssType = 'topic';

    /**
     * @var    string  RSS time limit
     * @since  Kunena 1.0.6
     */
    public $rssTimeLimit = '1 month';

    /**
     * @var    integer  RSS limit
     * @since  Kunena 1.0.6
     */
    public $rssLimit = 100;

    /**
     * @var    array  RSS included categories
     * @since  Kunena 1.0.6
     */
    public $rssIncludedCategories = 0;

    /**
     * @var    string  RSS excluded categories
     * @since  Kunena 1.0.6
     */
    public $rssExcludedCategories = 0;

    /**
     * @var    string  RSS specification
     * @since  Kunena 1.0.6
     */
    public $rssSpecification = 'rss2.0';

    /**
     * @var    boolean  RSS allow HTML
     * @since  Kunena 1.0.6
     */
    public $rssAllowHtml = 1;

    /**
     * @var    string  RSS author format
     * @since  Kunena 1.0.6
     */
    public $rssAuthorFormat = 'name';

    /**
     * @var    boolean  RSS author in title
     * @since  Kunena 1.0.6
     */
    public $rssAuthorInTitle = 1;

    /**
     * @var    integer  RSS word count
     * @since  Kunena 1.0.6
     */
    public $rssWordCount = '0';

    /**
     * @var    boolean  RSS old titles
     * @since  Kunena 1.0.6
     */
    public $rssOldTitles = 1;

    /**
     * @var    integer  RSS cache
     * @since  Kunena 1.0.6
     */
    public $rssCache = 900;

    /**
     * @var    string  Default page
     * @since  Kunena 1.0.6
     */
    public $defaultPage = 'recent';

    /**
     * @var    string  Default sort.  Description for the latest post first
     * @since  Kunena 1.0.8
     */
    public $defaultSort = 'asc';

    /**
     * @var    boolean  Search engine friendly URLs
     * @since  Kunena 1.5.8
     */
    public $sef = 1;

    /**
     * @var    boolean  Showing For Guest
     * @since  Kunena 1.6.0
     */
    public $showImgForGuest = 1;

    /**
     * @var    boolean  Show file for guest
     * @since  Kunena 1.6.0
     */
    public $showFileForGuest = 1;

    /**
     * @var    integer  Major version number
     * @since  Kunena 1.6.0
     */
    public $pollNbOptions = 4;

    /**
     * @var    boolean  Pool allow one ore more time
     * @since  Kunena 1.6.0
     */
    public $pollAllowVoteOne = 1;

    /**
     * @var    boolean  Poll enabled.  For poll integration
     * @since  Kunena 1.6.0
     */
    public $pollEnabled = 1;

    /**
     * @var    integer  Population poll count
     * @since  Kunena 1.6.0
     */
    public $popPollsCount = 5;

    /**
     * @var    boolean  Show population poll statistics
     * @since  Kunena 1.6.0
     */
    public $showPopPollStats = 1;

    /**
     * @var    integer  Poll time by votes
     * @since  Kunena 1.6.0
     */
    public $pollTimeBtVotes = '00:15:00';

    /**
     * @var    integer  Poll and votes by user
     * @since  Kunena 1.6.0
     */
    public $pollNbVotesByUser = 100;

    /**
     * @var    boolean  Poll result user list
     * @since  Kunena 1.6.0
     */
    public $pollResultsUserslist = 1;

    /**
     * @var    boolean  Poll result user list
     * @since  Kunena 1.6.0
     */
    public $allowUserEditPoll = 0;

    /**
     * @var    integer  Max person text
     * @since  Kunena 1.6.0
     */
    public $maxPersonalText = 50;

    /**
     * @var    string  Ordering system
     * @since  Kunena 1.6.0
     */
    public $orderingSystem = 'mesid';

    /**
     * @var    string  Post date format
     * @since  Kunena 1.6.0
     */
    public $postDateFormat = 'ago';

    /**
     * @var    string  Post date format hover
     * @since  Kunena 1.6.0
     */
    public $postDateFormatHover = 'datetime';

    /**
     * @var    boolean  Hide IP
     * @since  Kunena 1.6.0
     */
    public $hideIp = 1;

    /**
     * @var    string  Image types
     * @since  Kunena 1.6.0
     */
    public $imageTypes = 'jpg,jpeg,gif,png,webp,avif';

    /**
     * @var    boolean  Check MIM types
     * @since  Kunena 1.6.0
     */
    public $checkMimeTypes = 1;

    /**
     * @var    string  Image MIME types
     * @since  Kunena 1.6.0
     */
    public $imageMimeTypes = 'image/jpeg,image/jpg,image/gif,image/png,image/webp,image/avif';

    /**
     * @var    integer  Image quality
     * @since  Kunena 1.6.0
     */
    public $imageQuality = 50;

    /**
     * @var    integer  Thumbnail height
     * @since  Kunena 1.6.0
     */
    public $thumbHeight = 32;

    /**
     * @var    integer  Thumbnail width
     * @since  Kunena 1.6.0
     */
    public $thumbWidth = 32;

    /**
     * @var    string  Hide user profile info
     * @since  1.6.0
     */
    public $hideUserProfileInfo = 'put_empty';

    /**
     * @var    boolean  Box ghost message
     * @since  Kunena 1.6.0
     */
    public $boxGhostMessage = 0;

    /**
     * @var    integer  User delete message
     * @since  Kunena 1.6.0
     */
    public $userDeleteMessage = 0;

    /**
     * @var    integer  Latest category in
     * @since  Kunena 1.6.0
     */
    public $latestCategoryIn = 1;

    /**
     * @var    boolean  Topic icons
     * @since  Kunena 1.6.0
     */
    public $topicIcons = 1;

    /**
     * @var    boolean  Debug
     * @since  Kunena 1.6.0
     */
    public $debug = 0;

    /**
     * @var    boolean  Category auto subscribe
     * @since  Kunena 1.6.0
     */
    public $catsAutoSubscribed = 0;

    /**
     * @var    boolean  SHow ban reason
     * @since  Kunena 1.6.0
     */
    public $showBannedReason = 0;

    /**
     * @var    boolean  Show thank you
     * @since  Kunena 1.6.0
     */
    public $showThankYou = 1;

    /**
     * @var    boolean  Show population thank you statistics
     * @since  Kunena 1.6.0
     */
    public $showPopThankYouStats = 1;

    /**
     * @var    integer  Population thank you count
     * @since  Kunena 1.6.0
     */
    public $popThanksCount = 5;

    /**
     * @var    boolean  Moderators see deleted topics
     * @since  Kunena 1.6.0
     */
    public $modSeeDeleted = 0;

    /**
     * @var    string  BBCode image secure.  Allow only secure image extensions (jpg/gif/png)
     * @since  Kunena 1.6.0
     */
    public $bbcodeImgSecure = 'text';

    /**
     * @var    boolean  List category show moderators
     * @since  Kunena 1.6.0
     */
    public $listCatShowModerators = 1;

    /**
     * @var    boolean  Major version number
     * @since  Kunena 1.6.1
     */
    public $lightbox = 1;

    /**
     * @var    integer  Show list time
     * @since  Kunena 1.6.1
     */
    public $showListTime = 720;

    /**
     * @var    integer  Show session type
     * @since  Kunena 1.6.1
     */
    public $showSessionType = 2;

    /**
     * @var    integer  Show session start time
     * @since  Kunena 1.6.1
     */
    public $showSessionStartTime = 1800;

    /**
     * @var    boolean  User list allowed
     * @since  Kunena 1.6.2
     */
    public $userlistAllowed = 1;

    /**
     * @var    integer  User list count users
     * @since  Kunena 1.6.4
     */
    public $userlistCountUsers = 1;

    /**
     * @var    boolean  Enable threaded layouts
     * @since  Kunena 1.6.4
     */
    public $enableThreadedLayouts = 0;

    /**
     * @var    string  Category subscriptions
     * @since  Kunena 1.6.4
     */
    public $categorySubscriptions = 'post';

    /**
     * @var    string  Topic subscriptions
     * @since  Kunena 1.6.4
     */
    public $topicSubscriptions = 'every';

    /**
     * @var    boolean  Public profile
     * @since  Kunena 1.6.4
     */
    public $pubProfile = 1;

    /**
     * @var    integer  Thank you max
     * @since  Kunena 1.6.5
     */
    public $thankYouMax = 10;

    /**
     * @var    integer  Email recipient count
     * @since  Kunena 1.6.6
     */
    public $emailRecipientCount = 0;

    /**
     * @var    string  Email recipient pricing
     * @since  Kunena 1.6.6
     */
    public $emailRecipientPrivacy = 'bcc';

    /**
     * @var    string  Email visible address
     * @since  Kunena 1.6.6
     */
    public $emailVisibleAddress = '';

    /**
     * @var    integer  CAPTCHA post limit
     * @since  Kunena 1.6.6
     */
    public $captchaPostLimit = 0;

    /**
     * @var    string  Image upload
     * @since  Kunena 2.0.0
     */
    public $imageUpload = 'registered';

    /**
     * @var    string  File upload
     * @since  Kunena 2.0.0
     */
    public $fileUpload = 'registered';

    /**
     * @var    string  Topic layout
     * @since  Kunena 2.0.0
     */
    public $topicLayout = 'flat';

    /**
     * @var    boolean  Time to create page
     * @since  Kunena 2.0.0
     */
    public $timeToCreatePage = 1;

    /**
     * @var    boolean  Show image files in mange profile
     * @since  Kunena 2.0.0
     */
    public $showImgFilesManageProfile = 1;

    /**
     * @var    boolean  Hold new users posts
     * @since  Kunena 2.0.0
     */
    public $holdNewUsersPosts = 0;

    /**
     * @var    boolean  Hold guest posts
     * @since  Kunena 2.0.0
     */
    public $holdGuestPosts = 0;

    /**
     * @var    integer  Attachment limit
     * @since  Kunena 2.0.0
     */
    public $attachmentLimit = 8;

    /**
     * @var    boolean  Pickup category
     * @since  Kunena 2.0.0
     */
    public $pickupCategory = 0;

    /**
     * @var    string  Article display
     * @since  Kunena 2.0.0
     */
    public $articleDisplay = 'intro';

    /**
     * @var    boolean  Send emails
     * @since  Kunena 2.0.0
     */
    public $sendEmails = 1;

    /**
     * @var    boolean  Fallback english
     * @since  Kunena 2.0.0
     */
    public $fallbackEnglish = 1;

    /**
     * @var    boolean  Cache
     * @since  Kunena 2.0.0
     */
    public $cache = 1;

    /**
     * @var    integer  Cache time
     * @since  Kunena 2.0.0
     */
    public $cacheTime = 60;

    /**
     * @var    integer  Ebay affiliate ID
     * @since  Kunena 2.0.0
     */
    public $ebayAffiliateId = 5337089937;

    /**
     * @var    boolean  IP tracking
     * @since  Kunena 2.0.0
     */
    public $ipTracking = 1;

    /**
     * @var    string  RSS feedburner URL
     * @since  Kunena 2.0.3
     */
    public $rssFeedBurnerUrl = '';

    /**
     * @var    boolean  Auto link
     * @since  Kunena 3.0.0
     */
    public $autoLink = 1;

    /**
     * @var    boolean  Access component
     * @since  Kunena 3.0.0
     */
    public $accessComponent = 1;

    /**
     * @var    boolean  Statistic link allowed
     * @since  Kunena 3.0.4
     */
    public $statsLinkAllowed = 1;

    /**
     * @var    boolean  Super admin user list
     * @since  Kunena 3.0.6
     */
    public $superAdminUserlist = 0;

    /**
     * @var     boolean  Attachment protection
     * @since   Kunena 4.0.0
     */
    public $attachmentProtection = 0;

    /**
     * @var     boolean  Category icons
     * @since   Kunena 4.0.0
     */
    public $categoryIcons = 1;

    /**
     * @var     boolean  Avatar crop
     * @since   Kunena 4.0.0
     */
    public $avatarCrop = 0;

    /**
     * @var     boolean  User can report himself
     * @since   Kunena 4.0.0
     */
    public $userReport = 1;

    /**
     * @var     integer  Search time
     * @since   Kunena 4.0.0
     */
    public $searchTime = 365;

    /**
     * @var     boolean  Teaser
     * @since   Kunena 4.0.0
     */
    public $teaser = 0;

    /**
     * @var    boolean  Define ebay widget language
     * @since  Kunena 3.0.7
     */
    public $ebayLanguage = 0;

    /**
     * @var    string  Define ebay Api key to be allowed to display ebay widget
     * @since  Kunena 3.0.7
     */
    public $ebayApiKey = '';

    /**
     * @var    string  Define ebay cert Id key to be allowed to display ebay widget; select, boolean
     * @since  5.2.0
     */
    public $ebayCertId = '';

    /**
     * @var     string  Define BlueSkyApp APP handle to use API
     * @since   Kunena 6.4.0
     */
    public $blueskyappHandleOfApp = '';

    /**
     * @var     string  Define X API consumer key
     * @since   Kunena 6.3.0
     */
    public $XConsumerKey = '';

    /**
     * @var     string  Define BlueSkyApp APP password to use API
     * @since   Kunena 6.4.0
     */
    public $blueskyappPasswordOfApp = '';

    /**
     * @var     string  Define X API consumer secret
     * @since   Kunena 6.3.0
     */
    public $XConsumerSecret = '';

    /**
     * @var     boolean  Allow to define if the user can change the subject of topic on replies
     * @since   Kunena 4.0.0
     */
    public $allowChangeSubject = 1;

    /**
     * @var     integer  Max Links limit
     * @since   Kunena 4.0.0
     */
    public $maxLinks = 6;

    /**
     * @var    boolean  Read Only State
     * @since  Kunena 5.0.0
     */
    public $readOnly = 0;

    /**
     * @var    boolean  Rating integration
     * @since  Kunena 5.0.0
     */
    public $ratingEnabled = 0;

    /**
     * @var    boolean  Allow to prevent posting if the subject of topic contains URL
     * @since  Kunena 5.0.0
     */
    public $urlSubjectTopic = 0;

    /**
     * @var    boolean Allow to enable log to save moderation actions
     * @since  Kunena 5.0.0
     */
    public $logModeration = 0;

    /**
     * @var    integer Define the number of characters from start when shorter then attachments filename
     * @since  Kunena 5.0.0
     */
    public $attachStart = 0;

    /**
     * @var    integer Define the number of characters from end when shorten then attachments filename
     * @since  Kunena 5.0.0
     */
    public $attachEnd = 14;

    /**
     * @var    string Define the google maps API key
     * @since  Kunena 5.0.0
     */
    public $googleMapApiKey = '';

    /**
     * @var    boolean Allow to remove utf8 characters from filename of attachments
     * @since  Kunena 5.0.0
     */
    public $attachmentUtf8 = 1;

    /**
     * @var    boolean Allow to auto-embded soundcloud item when you put just the URL in a message
     * @since  Kunena 5.0.0
     */
    public $autoEmbedSoundcloud = 1;

    /**
     * @var    string to define the image location
     * @since  Kunena 5.0.2
     */
    public $emailHeader = 'media/kunena/email/hero-wide.png';

    /**
     * @var    boolean show user status
     * @since  Kunena 5.0.3
     */
    public $userStatus = 1;

    /**
     * @var    boolean Allow user signatures
     * @since  Kunena 5.1.0
     */
    public $signature = 1;

    /**
     * @var    boolean Allow user personal
     * @since  Kunena 5.1.0
     */
    public $personal = 1;

    /**
     * @var    boolean
     * @since  Kunena 5.0.4
     */
    public $plainEmail = 0;

    /**
     * @var    boolean
     * @since  Kunena 5.0.13
     */
    public $moderatorPermDelete = 0;

    /**
     * @var    string
     * @since  Kunena 5.0.4
     */
    public $avatarTypes = 'gif, jpeg, jpg, png';

    /**
     * @var    boolean
     * @since  Kunena 5.1.0
     */
    public $smartLinking = 0;

    /**
     * @var    string
     * @since  Kunena 5.1.0
     */
    public $defaultAvatar = 'nophoto.png';

    /**
     * @var    string
     * @since  Kunena 5.1.0
     */
    public $defaultAvatarSmall = 's_nophoto.png';

    /**
     * @var    string
     * @since  Kunena 5.1.0
     */
    public $stopForumSpamKey = '';

    /**
     * @var    boolean
     * @since  Kunena 5.1.0
     */
    public $quickReply = 1;

    /**
     * @var    boolean
     * @since  Kunena 5.1.0
     */
    public $avatarEdit = 0;

    /**
     * @var    string
     * @since  Kunena 5.1.0
     */
    public $activeMenuItem = '';

    /**
     * @var    integer
     * @since  Kunena 5.1.0
     */
    public $mainMenuId = '';

    /**
     * @var    integer
     * @since  Kunena 5.1.0
     */
    public $homeId = '';

    /**
     * @var    integer
     * @since  Kunena 5.1.0
     */
    public $indexId = '';

    /**
     * @var    integer
     * @since  Kunena 5.1.0
     */
    public $moderatorsId = '';

    /**
     * @var    integer
     * @since  Kunena 5.1.0
     */
    public $topicListId = '';

    /**
     * @var    integer
     * @since  Kunena 5.1.0
     */
    public $miscId = '';

    /**
     * @var    integer
     * @since  Kunena 5.1.0
     */
    public $profileId = '';

    /**
     * @var    integer
     * @since  Kunena 5.1.0
     */
    public $searchId = '';

    /**
     * @var    integer
     * @since  Kunena 5.1.0
     */
    public $custom_id = '';

    /**
     * @var   integer
     * @since  Kunena 5.1.0
     */
    public $avatarType = 1;

    /**
     * @var    boolean
     * @since  Kunena 5.1.1
     */
    public $sefRedirect = 1;

    /**
     * @var    boolean
     * @since  Kunena 5.1.1
     */
    public $allowEditPoll = 1;

    /**
     * @var    boolean
     * @since  Kunena 5.1.2
     */
    public $useSystemEmails = 0;

    /**
     * @var    boolean  Auto embed instagram
     * @since  Kunena 5.1.5
     */
    public $autoEmbedInstagram = 1;

    /**
     * @var    boolean
     * @since  Kunena 5.1.14
     */
    public $disableRe = 0;

    /**
     * @var string
     * @since  K5.1.18
     */
    public $email_sender_name = '';

    /**
     * @var integer
     * @since  K5.1.19
     */
    public $display_filename_attachment = 0;

    /**
     * @var integer
     * @since  K5.2.0
     */
    public $new_users_prevent_post_url_images = 0;

    /**
     * @var integer
     * @since  K5.2.0
     */
    public $minimal_user_posts_add_url_image = 10;

    /**
     * @var    boolean  utm source
     * @since  Kunena 1.0.5
     */
    public $utmSource = 0;

    /**
     * @var    Registry
     * @since  Kunena 6.0
     */
    public $plugins;

    /**
     * @var    string to define the header height image size
     * @since  Kunena 6.0
     */
    public $emailHeaderSizeY = 560;

    /**
     * @var    string to define the header width image size
     * @since  Kunena 6.0
     */
    public $emailHeaderSizeX = 560;

    /**
     * @var    boolean  enabling profiler into Kunena
     * @since  Kunena 6.0.0
     */
    public $profiler = 0;

    /**
     * @var    boolean  enabling private message buildin into Kunena
     * @since  Kunena 6.1.0
     */
    public $privateMessage = 1;

    /**
     * @var    string default format of the date in datepicker in forms
     * @since  Kunena 6.2.0
     */
    public $datePickerFormat = 'mm/dd/yyyy';

    /**
     * @var    boolean  enable the send mail to user when he is banned
     * @since  Kunena 6.2.0
     */
    public $sendMailUserBanned = 0;

    /**
     * @var    boolean  enable the send mail to user when he is banned
     * @since  Kunena 6.2.0
     */
    public $mailBodyUserBanned = '';

    /**
     * @var    boolean  enable the send mail to user when he is unbanned
     * @since  Kunena 6.4.0
     */
    public $mailBodyUserUnBanned = '';

    /**
     * @return  KunenaConfig|mixed
     *
     * @throws  Exception
     * @since   Kunena 6.0
     */
    public static function getInstance(): ?KunenaConfig
    {
        static $instance = null;

        if (!$instance) {
            $options = ['defaultgroup' => 'com_kunena'];
            $cache = Factory::getContainer()
                ->get(CacheControllerFactoryInterface::class)
                ->createCacheController('output', $options);
            $instance = $cache->get('configuration', 'com_kunena');

            if (!$instance) {
                $instance = new KunenaConfig();
                $instance->load();

                $cache->store($instance, 'configuration', 'com_kunena');
            }
        }

        return $instance;
    }

    /**
     * Load config settings from database table.
     *
     * @return  void
     *
     * @throws  Exception
     * @since   Kunena 6.0
     */
    public function load(): void
    {
        $db    = Factory::getContainer()->get('DatabaseDriver');
        $query = $db->createQuery();
        $query->select('*')
            ->from($db->quoteName('#__kunena_configuration'))
            ->where($db->quoteName('id') . ' = 1');
        $db->setQuery($query);

        try {
            $config = $db->loadAssoc();
        } catch (ExecutionFailureException $e) {
            KunenaError::displayDatabaseError($e);
        }

        if ($config) {
            $params = json_decode($config['params']);

            if ($params !== null && \json_last_error() === JSON_ERROR_NONE) {
                $this->bind($params);
            } else {
                throw new Exception(\json_last_error_msg(), 500);
            }
        }

        // Perform custom validation of config data before we let anybody access it.
        $this->check();

        $plugins = [];
        Factory::getApplication()->triggerEvent('onKunenaGetConfiguration', ['kunena.configuration', &$plugins]);
        $this->plugins = [];
    }

    /**
     * @param   mixed  $properties  properties
     *
     * @return  void
     *
     * @since   Kunena 6.0
     */
    public function bind($properties): void
    {
        $this->setProperties($properties);
    }

    /**
     * Messages per page
     *
     * @return  void
     *
     * @since   Kunena 6.0
     */
    public function check(): void
    {
        // Add anything that requires validation

        // Need to have at least one per page of these
        $this->messagesPerPage       = max($this->messagesPerPage, 1);
        $this->messagesPerPageSearch = max($this->messagesPerPageSearch, 1);
        $this->threadsPerPage        = max($this->threadsPerPage, 1);
    }

    /**
     * @return  void
     *
     * @throws  Exception
     * @since   Kunena 6.0
     */
    public function save(): void
    {
        $db = Factory::getContainer()->get('DatabaseDriver');

        // Perform custom validation of config data before we write it.
        $this->check();

        // Get current configuration
        $params        = ArrayHelper::fromObject($this);
        $cleanedParams = [];

        foreach ($params as $key => $value) {
            // Check if the key starts with a null byte (indicating a mangled private/protected property)
            // or if it's the specific '_errors' key (if it's not mangled)
            if (!str_starts_with($key, "\0") && $key !== '_errors' && $key !== 'id') {
                $cleanedParams[$key] = $value;
            }
        }

        $db->setQuery("REPLACE INTO #__kunena_configuration SET id=1, params={$db->quote(json_encode($cleanedParams))}");

        try {
            $db->execute();
        } catch (ExecutionFailureException $e) {
            KunenaError::displayDatabaseError($e);
        }

        // Clear cache.
        KunenaCacheHelper::clear();
    }

    /**
     * @return  void
     *
     * @since   Kunena 6.0
     */
    public function reset(): void
    {
        $instance = new KunenaConfig();
        $this->bind(ArrayHelper::fromObject($instance));
    }

    /**
     * @param   string  $name  Name of the plugin
     *
     * @return  Registry
     *
     * @internal
     *
     * @since   Kunena 6.0
     */
    public function getPlugin(string $name): Registry
    {
        return isset($this->plugins[$name]) ? $this->plugins[$name] : new Registry();
    }

    /**
     * Email set for the configuration
     *
     * @return  string
     *
     * @throws  Exception
     * @since   Kunena 6.0
     */
    public function getEmail(): string
    {
        $email = $this->email;

        return !empty($email) ? $email : Factory::getApplication()->get('mailfrom', '');
    }

    /**
     * Modifies existing property of the class object
     *
     * @param   string  $property  The name of the property.
     * @param   mixed   $value     The value of the property to set.
     *
     * @return  bool  true on success
     *
     * @since   Kunena 6.4
     */
    public function set($property, $value): bool
    {
        $this->$property = $value;

        return true;
    }

    /**
     * Set the object properties based on a named array/hash.
     *
     * @param   mixed  $properties  Either an associative array or another object.
     *
     * @return  boolean
     *
     * @since   Kunena 6.4
     */
    public function setProperties($properties)
    {
        if (\is_array($properties) || \is_object($properties)) {
            foreach ((array) $properties as $k => $v) {
                // Use the set function which might be overridden.
                $this->set($k, $v);
            }

            return true;
        }

        return false;
    }
}

Anon7 - 2022
AnonSec Team