Skip to content
Snippets Groups Projects
Forked from Ad Aures / Castopod
932 commits behind the upstream repository.
  • Yassine Doghri's avatar
    2f525c0f
    feat(fediverse): implement activitypub protocols + update user interface · 2f525c0f
    Yassine Doghri authored
    - add "ActivityPub" library to handle server to server federation and basic
      client to server protocols using activitypub:
      - add webfinger endpoint to look for actor
      - add actor definition with inbox / outbox / followers
      - remote follow an actor
      - create notes with possible preview cards
      - interract with favourites, reblogs and replies
      - block incoming actors and/or domains
      - broadcast/schedule activities to fediverse followers using a cron task
    - For castopod, the podcast is the actor:
      - overwrite the activitypub library for castopod's specific needs
      - perform basic interactions administrating a podcast to interact with fediverse users:
        - create notes with episode attachment
        - favourite and share a note + reply
        - add specific castopod_namespaces for podcasts and episodes definitions
    - overwrite CodeIgniter's Route service to include alternate-content option for
      activitystream requests
    - update episode publication logic:
      - remove publication inputs in create / edit episode form
      - publish / schedule or unpublish an episode after creation
      - the podcaster publishes a note when publishing an episode
    - Javascript / Typescript modules:
      - fix Dropdown.ts to keep dropdown menu in foreground
      - add Modal.ts for funding links modal
      - add Toggler.ts to toggle various css states in ui
    - User Interface:
      - update tailwindcss to v2
      - use castopod's pine and rose colors
      - update public layout to a 3 column layout
      - add pages in public for podcast activity, episode list and notes
      - update episode page to include linked notes
      - remove previous and next episodes from episode pages
      - show different public views depending on whether user is authenticated or not
      - use Kumbh Sans and Montserrat fonts
    - update CodeIgniter's config files
    - with CodeIgniter's new requirements, update docker environments are now based on
      php v7.3 image
    - move Image entity to Libraries
    - update composer and npm packages to latest versions
    
    closes #69 #65 #85, fixes #51 #91 #92 #88
    2f525c0f
    History
    feat(fediverse): implement activitypub protocols + update user interface
    Yassine Doghri authored
    - add "ActivityPub" library to handle server to server federation and basic
      client to server protocols using activitypub:
      - add webfinger endpoint to look for actor
      - add actor definition with inbox / outbox / followers
      - remote follow an actor
      - create notes with possible preview cards
      - interract with favourites, reblogs and replies
      - block incoming actors and/or domains
      - broadcast/schedule activities to fediverse followers using a cron task
    - For castopod, the podcast is the actor:
      - overwrite the activitypub library for castopod's specific needs
      - perform basic interactions administrating a podcast to interact with fediverse users:
        - create notes with episode attachment
        - favourite and share a note + reply
        - add specific castopod_namespaces for podcasts and episodes definitions
    - overwrite CodeIgniter's Route service to include alternate-content option for
      activitystream requests
    - update episode publication logic:
      - remove publication inputs in create / edit episode form
      - publish / schedule or unpublish an episode after creation
      - the podcaster publishes a note when publishing an episode
    - Javascript / Typescript modules:
      - fix Dropdown.ts to keep dropdown menu in foreground
      - add Modal.ts for funding links modal
      - add Toggler.ts to toggle various css states in ui
    - User Interface:
      - update tailwindcss to v2
      - use castopod's pine and rose colors
      - update public layout to a 3 column layout
      - add pages in public for podcast activity, episode list and notes
      - update episode page to include linked notes
      - remove previous and next episodes from episode pages
      - show different public views depending on whether user is authenticated or not
      - use Kumbh Sans and Montserrat fonts
    - update CodeIgniter's config files
    - with CodeIgniter's new requirements, update docker environments are now based on
      php v7.3 image
    - move Image entity to Libraries
    - update composer and npm packages to latest versions
    
    closes #69 #65 #85, fixes #51 #91 #92 #88
Logger.php 5.17 KiB
<?php

namespace Config;

use CodeIgniter\Config\BaseConfig;

class Logger extends BaseConfig
{
    /**
     * --------------------------------------------------------------------------
     * Error Logging Threshold
     * --------------------------------------------------------------------------
     *
     * You can enable error logging by setting a threshold over zero. The
     * threshold determines what gets logged. Any values below or equal to the
     * threshold will be logged.
     *
     * Threshold options are:
     *
     * - 0 = Disables logging, Error logging TURNED OFF
     * - 1 = Emergency Messages - System is unusable
     * - 2 = Alert Messages - Action Must Be Taken Immediately
     * - 3 = Critical Messages - Application component unavailable, unexpected exception.
     * - 4 = Runtime Errors - Don't need immediate action, but should be monitored.
     * - 5 = Warnings - Exceptional occurrences that are not errors.
     * - 6 = Notices - Normal but significant events.
     * - 7 = Info - Interesting events, like user logging in, etc.
     * - 8 = Debug - Detailed debug information.
     * - 9 = All Messages
     *
     * You can also pass an array with threshold levels to show individual error types
     *
     *     array(1, 2, 3, 8) = Emergency, Alert, Critical, and Debug messages
     *
     * For a live site you'll usually enable Critical or higher (3) to be logged otherwise
     * your log files will fill up very fast.
     *
     * @var integer|array
     */
    public $threshold = 4;

    /**
     * --------------------------------------------------------------------------
     * Date Format for Logs
     * --------------------------------------------------------------------------
     *
     * Each item that is logged has an associated date. You can use PHP date
     * codes to set your own date formatting
     *
     * @var string
     */
    public $dateFormat = 'Y-m-d H:i:s';

    /**
     * --------------------------------------------------------------------------
     * Log Handlers
     * --------------------------------------------------------------------------
     *
     * The logging system supports multiple actions to be taken when something
     * is logged. This is done by allowing for multiple Handlers, special classes
     * designed to write the log to their chosen destinations, whether that is
     * a file on the getServer, a cloud-based service, or even taking actions such
     * as emailing the dev team.
     *
     * Each handler is defined by the class name used for that handler, and it
     * MUST implement the `CodeIgniter\Log\Handlers\HandlerInterface` interface.
     *
     * The value of each key is an array of configuration items that are sent
     * to the constructor of each handler. The only required configuration item
     * is the 'handles' element, which must be an array of integer log levels.
     * This is most easily handled by using the constants defined in the
     * `Psr\Log\LogLevel` class.
     *
     * Handlers are executed in the order defined in this array, starting with
     * the handler on top and continuing down.
     *
     * @var array
     */
    public $handlers = [
        /*
         * --------------------------------------------------------------------
         * File Handler
         * --------------------------------------------------------------------
         */
        'CodeIgniter\Log\Handlers\FileHandler' => [
            /*
             * The log levels that this handler will handle.
             */
            'handles' => [
                'critical',
                'alert',
                'emergency',
                'debug',
                'error',
                'info',
                'notice',
                'warning',
            ],

            /*
             * The default filename extension for log files.
             * An extension of 'php' allows for protecting the log files via basic
             * scripting, when they are to be stored under a publicly accessible directory.
             *
             * Note: Leaving it blank will default to 'log'.
             */
            'fileExtension' => '',

            /*
             * The file system permissions to be applied on newly created log files.
             *
             * IMPORTANT: This MUST be an integer (no quotes) and you MUST use octal
             * integer notation (i.e. 0700, 0644, etc.)
             */
            'filePermissions' => 0644,

            /*
             * Logging Directory Path
             *
             * By default, logs are written to WRITEPATH . 'logs/'
             * Specify a different destination here, if desired.
             */
            'path' => '',
        ],

        /**
         * The ChromeLoggerHandler requires the use of the Chrome web browser
         * and the ChromeLogger extension. Uncomment this block to use it.
         */
        //      'CodeIgniter\Log\Handlers\ChromeLoggerHandler' => [
        //          /*
        //           * The log levels that this handler will handle.
        //           */
        //          'handles' => ['critical', 'alert', 'emergency', 'debug',
        //                        'error', 'info', 'notice', 'warning'],
        //      ]
    ];
}