Invision Power Services, Inc. * @copyright (c) Invision Power Services, Inc. * @license https://www.invisioncommunity.com/legal/standards/ * @package Invision Community * @subpackage Content * @since 20 July 2015 */ namespace IPS\cms\Selector; /* To prevent PHP errors (extending class does not exist) revealing path */ use IPS\Node\Model; use IPS\Node\Permissions; use function defined; if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { header( ( $_SERVER['SERVER_PROTOCOL'] ?? 'HTTP/1.0' ) . ' 403 Forbidden' ); exit; } /** * @brief Databases Model */ class Databases extends Model implements Permissions { /** * @brief [ActiveRecord] Multiton Store */ protected static array $multitons = array(); /** * @brief [ActiveRecord] Database Prefix */ public static string $databasePrefix = 'database_'; /** * @brief [ActiveRecord] ID Database Table */ public static ?string $databaseTable = 'cms_databases'; /** * @brief [ActiveRecord] ID Database Column */ public static string $databaseColumnId = 'id'; /** * @brief [ActiveRecord] Database ID Fields */ protected static array $databaseIdFields = array( 'database_key', 'database_page_id' ); /** * @brief [ActiveRecord] Multiton Map */ protected static array $multitonMap = array(); /** * @brief [Node] Parent ID Database Column */ public static ?string $databaseColumnOrder = 'id'; /** * @brief [Node] Sortable? */ public static bool $nodeSortable = FALSE; /** * @brief [Node] Node Title */ public static string $nodeTitle = ''; /** * @brief [Node] Subnode class */ public static ?string $subnodeClass = 'IPS\cms\Selector\Categories'; /** * @brief The map of permission columns */ public static array $permissionMap = array( 'view' => 'view', 'read' => 2, 'add' => 3, 'edit' => 4, 'reply' => 5, 'review' => 7, 'rate' => 6 ); /** * @brief [Node] App for permission index */ public static ?string $permApp = 'cms'; /** * @brief [Node] Type for permission index */ public static ?string $permType = 'databases'; /** * @brief [Node] Prefix string that is automatically prepended to permission matrix language strings */ public static string $permissionLangPrefix = 'perm_content_'; /** * @brief [Node] Title prefix. If specified, will look for a language key with "{$titleLangPrefix}_{$id}" as the key */ public static ?string $titleLangPrefix = 'content_db_'; /** * @brief [Node] Description suffix. If specified, will look for a language key with "{$titleLangPrefix}_{$id}_{$descriptionLangSuffix}" as the key */ public static ?string $descriptionLangSuffix = 'desc'; }