mirror of
https://code.castopod.org/adaures/castopod
synced 2025-04-23 01:01:20 +00:00

# [2.0.0-next.1](https://code.castopod.org/adaures/castopod/compare/v1.11.0...v2.0.0-next.1) (6/19/2024) ### Bug Fixes * add missing php-icons config file to bundle ([56612f0](56612f0c76
)) * **docs:** add base to og image using env variable ([fe67659](fe676590f2
)) * **import:** rewrite download_file helper to output curl response directly to file ([eb7ad2f](eb7ad2f7e1
)) * include app/Resources/icons folder to bundle ([3fd5efc](3fd5efc795
)) * **platforms:** add platforms service + reduce memory consumption when rendering platform cards ([fe73e9f](fe73e9fae9
)) * set owner email visibility when editing podcast ([fc4f982](fc4f982556
)), closes [#473](https://code.castopod.org/adaures/castopod/issues/473) ### Build System * release next major version as prerelease ([8275226](827522643e
)) ### Features * add Plugins module with base files for plugins architecture ([7253e13](7253e13ac2
)) * **plugins:** abstract settings form for general, podcast and episode types ([b62b483](b62b483ad9
)) * **plugins:** activate / deactivate plugin using settings table ([27d2a1b](27d2a1b0ff
)) * **plugins:** add aside with plugin metadata next to plugin's readme ([dfb7888](dfb7888aeb
)) * **plugins:** add before channel/item hooks to allow podcast/episode data edit when generating rss ([80d2c48](80d2c48ee2
)) * **plugins:** add json schema definition for plugin manifest ([b5eddf3](b5eddf351f
)) * **plugins:** add methods to easily retrieve general, podcast and episode settings in hooks methods ([3a900bb](3a900bbab6
)) * **plugins:** add new field types + validate & cast user data before storing settings ([6f833fc](6f833fc76a
)) * **plugins:** add options to manifest for building forms and storing plugin settings ([3d8aedf](3d8aedf9c3
)) * **plugins:** add settings page for podcast and episode if defined in the plugin's manifest ([89ac92f](89ac92fb41
)) * **plugins:** add siteHead hook to add custom meta tags to public pages ([e80a33b](e80a33bf2a
)) * **plugins:** display errors when plugin is invalid instead of crashing ([8ec7909](8ec79097bb
)) * **plugins:** handle empty states and long strings in UI ([45ac2a4](45ac2a4be9
)) * **plugins:** load and validate plugin manifest.json ([1510e36](1510e36c0a
)) * **plugins:** load plugins using file locator service ([587938d](587938d2bf
)) * **plugins:** load README.md file to view plugin's instructions in UI ([e6bfdfc](e6bfdfc390
)) * **plugins:** register plugins using Plugin.php file instead of namespace + simplify i18n structure ([2035c39](2035c39fd1
)) * **plugins:** uninstall plugins via CLI and admin UI ([9a80de4](9a80de4068
)) * set owner email to hidden by default in podcast create form ([7a6d9df](7a6d9df6db
)) * support podcast:txt tag with verify use case ([57e459e](57e459e187
)), closes [#468](https://code.castopod.org/adaures/castopod/issues/468) ### BREAKING CHANGES * next major release including plugins architecture
122 lines
4.6 KiB
PHP
122 lines
4.6 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/*
|
|
| --------------------------------------------------------------------
|
|
| Castopod Version
|
|
| --------------------------------------------------------------------
|
|
|
|
|
| The Castopod version number to display.
|
|
|
|
|
| NOTE: this constant is updated upon release with Continuous Integration.
|
|
*/
|
|
defined('CP_VERSION') || define('CP_VERSION', '2.0.0-next.1');
|
|
|
|
/*
|
|
| --------------------------------------------------------------------
|
|
| App Namespace
|
|
| --------------------------------------------------------------------
|
|
|
|
|
| This defines the default Namespace that is used throughout
|
|
| CodeIgniter to refer to the Application directory. Change
|
|
| this constant to change the namespace that all application
|
|
| classes should use.
|
|
|
|
|
| NOTE: changing this will require manually modifying the
|
|
| existing namespaces of App\* namespaced-classes.
|
|
*/
|
|
defined('APP_NAMESPACE') || define('APP_NAMESPACE', 'App');
|
|
|
|
/*
|
|
| --------------------------------------------------------------------
|
|
| Plugins Path
|
|
| --------------------------------------------------------------------
|
|
|
|
|
| This defines the folder in which plugins will live.
|
|
*/
|
|
defined('PLUGINS_PATH') ||
|
|
define('PLUGINS_PATH', ROOTPATH . 'plugins' . DIRECTORY_SEPARATOR);
|
|
|
|
defined('PLUGINS_KEY_PATTERN') ||
|
|
define('PLUGINS_KEY_PATTERN', '[a-z0-9]([_.-]?[a-z0-9]+)*\/[a-z0-9]([_.-]?[a-z0-9]+)*');
|
|
|
|
/*
|
|
| --------------------------------------------------------------------------
|
|
| Composer Path
|
|
| --------------------------------------------------------------------------
|
|
|
|
|
| The path that Composer's autoload file is expected to live. By default,
|
|
| the vendor folder is in the Root directory, but you can customize that here.
|
|
*/
|
|
defined('COMPOSER_PATH') ||
|
|
define('COMPOSER_PATH', ROOTPATH . 'vendor/autoload.php');
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Timing Constants
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Provide simple ways to work with the myriad of PHP functions that
|
|
| require information to be in seconds.
|
|
*/
|
|
defined('SECOND') || define('SECOND', 1);
|
|
defined('MINUTE') || define('MINUTE', 60);
|
|
defined('HOUR') || define('HOUR', 3600);
|
|
defined('DAY') || define('DAY', 86400);
|
|
defined('WEEK') || define('WEEK', 604800);
|
|
defined('MONTH') || define('MONTH', 2_592_000);
|
|
defined('YEAR') || define('YEAR', 31_536_000);
|
|
defined('DECADE') || define('DECADE', 315_360_000);
|
|
|
|
/*
|
|
| --------------------------------------------------------------------------
|
|
| Exit Status Codes
|
|
| --------------------------------------------------------------------------
|
|
|
|
|
| Used to indicate the conditions under which the script is exit()ing.
|
|
| While there is no universal standard for error codes, there are some
|
|
| broad conventions. Three such conventions are mentioned below, for
|
|
| those who wish to make use of them. The CodeIgniter defaults were
|
|
| chosen for the least overlap with these conventions, while still
|
|
| leaving room for others to be defined in future versions and user
|
|
| applications.
|
|
|
|
|
| The three main conventions used for determining exit status codes
|
|
| are as follows:
|
|
|
|
|
| Standard C/C++ Library (stdlibc):
|
|
| http://www.gnu.org/software/libc/manual/html_node/Exit-Status.html
|
|
| (This link also contains other GNU-specific conventions)
|
|
| BSD sysexits.h:
|
|
| http://www.gsp.com/cgi-bin/man.cgi?section=3&topic=sysexits
|
|
| Bash scripting:
|
|
| http://tldp.org/LDP/abs/html/exitcodes.html
|
|
|
|
|
*/
|
|
defined('EXIT_SUCCESS') || define('EXIT_SUCCESS', 0); // no errors
|
|
defined('EXIT_ERROR') || define('EXIT_ERROR', 1); // generic error
|
|
defined('EXIT_CONFIG') || define('EXIT_CONFIG', 3); // configuration error
|
|
defined('EXIT_UNKNOWN_FILE') || define('EXIT_UNKNOWN_FILE', 4); // file not found
|
|
defined('EXIT_UNKNOWN_CLASS') || define('EXIT_UNKNOWN_CLASS', 5); // unknown class
|
|
defined('EXIT_UNKNOWN_METHOD') || define('EXIT_UNKNOWN_METHOD', 6); // unknown class member
|
|
defined('EXIT_USER_INPUT') || define('EXIT_USER_INPUT', 7); // invalid user input
|
|
defined('EXIT_DATABASE') || define('EXIT_DATABASE', 8); // database error
|
|
defined('EXIT__AUTO_MIN') || define('EXIT__AUTO_MIN', 9); // lowest automatically-assigned error code
|
|
defined('EXIT__AUTO_MAX') || define('EXIT__AUTO_MAX', 125); // highest automatically-assigned error code
|
|
|
|
/**
|
|
* @deprecated Use \CodeIgniter\Events\Events::PRIORITY_LOW instead.
|
|
*/
|
|
define('EVENT_PRIORITY_LOW', 200);
|
|
|
|
/**
|
|
* @deprecated Use \CodeIgniter\Events\Events::PRIORITY_NORMAL instead.
|
|
*/
|
|
define('EVENT_PRIORITY_NORMAL', 100);
|
|
|
|
/**
|
|
* @deprecated Use \CodeIgniter\Events\Events::PRIORITY_HIGH instead.
|
|
*/
|
|
define('EVENT_PRIORITY_HIGH', 10);
|