mirror of
https://code.castopod.org/adaures/castopod
synced 2025-06-06 18:31:05 +00:00
build(php): upgrade min php version to 8.3
This commit is contained in:
parent
e2a90def88
commit
b5bd2db28f
@ -4,7 +4,7 @@
|
|||||||
# ⚠️ NOT optimized for production
|
# ⚠️ NOT optimized for production
|
||||||
# should be used only for development purposes
|
# should be used only for development purposes
|
||||||
#---------------------------------------------------
|
#---------------------------------------------------
|
||||||
FROM php:8.2-fpm
|
FROM php:8.3-fpm
|
||||||
|
|
||||||
LABEL maintainer="Yassine Doghri <yassine@doghri.fr>"
|
LABEL maintainer="Yassine Doghri <yassine@doghri.fr>"
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
image: code.castopod.org:5050/adaures/castopod:ci
|
image: code.castopod.org:5050/adaures/castopod:ci-php8.3
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- prepare
|
- prepare
|
||||||
|
@ -9,6 +9,7 @@ use CodeIgniter\HTTP\IncomingRequest;
|
|||||||
use CodeIgniter\HTTP\RequestInterface;
|
use CodeIgniter\HTTP\RequestInterface;
|
||||||
use CodeIgniter\HTTP\Response;
|
use CodeIgniter\HTTP\Response;
|
||||||
use CodeIgniter\HTTP\ResponseInterface;
|
use CodeIgniter\HTTP\ResponseInterface;
|
||||||
|
use Override;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
use ViewThemes\Theme;
|
use ViewThemes\Theme;
|
||||||
|
|
||||||
@ -52,6 +53,7 @@ abstract class BaseController extends Controller
|
|||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*/
|
*/
|
||||||
|
#[Override]
|
||||||
public function initController(
|
public function initController(
|
||||||
RequestInterface $request,
|
RequestInterface $request,
|
||||||
ResponseInterface $response,
|
ResponseInterface $response,
|
||||||
|
@ -25,6 +25,7 @@ use Config\Services;
|
|||||||
use Modules\Analytics\Config\Analytics;
|
use Modules\Analytics\Config\Analytics;
|
||||||
use Modules\PremiumPodcasts\Entities\Subscription;
|
use Modules\PremiumPodcasts\Entities\Subscription;
|
||||||
use Modules\PremiumPodcasts\Models\SubscriptionModel;
|
use Modules\PremiumPodcasts\Models\SubscriptionModel;
|
||||||
|
use Override;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
|
|
||||||
class EpisodeAudioController extends Controller
|
class EpisodeAudioController extends Controller
|
||||||
@ -53,6 +54,7 @@ class EpisodeAudioController extends Controller
|
|||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*/
|
*/
|
||||||
|
#[Override]
|
||||||
public function initController(
|
public function initController(
|
||||||
RequestInterface $request,
|
RequestInterface $request,
|
||||||
ResponseInterface $response,
|
ResponseInterface $response,
|
||||||
|
@ -22,6 +22,7 @@ use CodeIgniter\HTTP\URI;
|
|||||||
use CodeIgniter\I18n\Time;
|
use CodeIgniter\I18n\Time;
|
||||||
use Modules\Analytics\AnalyticsTrait;
|
use Modules\Analytics\AnalyticsTrait;
|
||||||
use Modules\Fediverse\Controllers\PostController as FediversePostController;
|
use Modules\Fediverse\Controllers\PostController as FediversePostController;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class PostController extends FediversePostController
|
class PostController extends FediversePostController
|
||||||
{
|
{
|
||||||
@ -41,6 +42,7 @@ class PostController extends FediversePostController
|
|||||||
*/
|
*/
|
||||||
protected $helpers = ['auth', 'fediverse', 'svg', 'components', 'misc', 'seo', 'premium_podcasts'];
|
protected $helpers = ['auth', 'fediverse', 'svg', 'components', 'misc', 'seo', 'premium_podcasts'];
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function _remap(string $method, string ...$params): mixed
|
public function _remap(string $method, string ...$params): mixed
|
||||||
{
|
{
|
||||||
if (
|
if (
|
||||||
@ -110,6 +112,7 @@ class PostController extends FediversePostController
|
|||||||
return $cachedView;
|
return $cachedView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function attemptCreate(): RedirectResponse
|
public function attemptCreate(): RedirectResponse
|
||||||
{
|
{
|
||||||
$rules = [
|
$rules = [
|
||||||
@ -161,6 +164,7 @@ class PostController extends FediversePostController
|
|||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function attemptReply(): RedirectResponse
|
public function attemptReply(): RedirectResponse
|
||||||
{
|
{
|
||||||
$rules = [
|
$rules = [
|
||||||
@ -200,6 +204,7 @@ class PostController extends FediversePostController
|
|||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function attemptFavourite(): RedirectResponse
|
public function attemptFavourite(): RedirectResponse
|
||||||
{
|
{
|
||||||
model('FavouriteModel')->toggleFavourite(interact_as_actor(), $this->post);
|
model('FavouriteModel')->toggleFavourite(interact_as_actor(), $this->post);
|
||||||
@ -207,6 +212,7 @@ class PostController extends FediversePostController
|
|||||||
return redirect()->back();
|
return redirect()->back();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function attemptReblog(): RedirectResponse
|
public function attemptReblog(): RedirectResponse
|
||||||
{
|
{
|
||||||
(new PostModel())->toggleReblog(interact_as_actor(), $this->post);
|
(new PostModel())->toggleReblog(interact_as_actor(), $this->post);
|
||||||
|
@ -21,7 +21,7 @@ class WebmanifestController extends Controller
|
|||||||
/**
|
/**
|
||||||
* @var array<string, array<string, string>>
|
* @var array<string, array<string, string>>
|
||||||
*/
|
*/
|
||||||
final public const THEME_COLORS = [
|
final public const array THEME_COLORS = [
|
||||||
'pine' => [
|
'pine' => [
|
||||||
'theme' => '#009486',
|
'theme' => '#009486',
|
||||||
'background' => '#F0F9F8',
|
'background' => '#F0F9F8',
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddCategories extends BaseMigration
|
class AddCategories extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$this->forge->addField([
|
$this->forge->addField([
|
||||||
@ -45,6 +48,7 @@ class AddCategories extends BaseMigration
|
|||||||
$this->forge->createTable('categories');
|
$this->forge->createTable('categories');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$this->forge->dropTable('categories');
|
$this->forge->dropTable('categories');
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddLanguages extends BaseMigration
|
class AddLanguages extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$this->forge->addField([
|
$this->forge->addField([
|
||||||
@ -31,6 +34,7 @@ class AddLanguages extends BaseMigration
|
|||||||
$this->forge->createTable('languages');
|
$this->forge->createTable('languages');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$this->forge->dropTable('languages');
|
$this->forge->dropTable('languages');
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddPodcasts extends BaseMigration
|
class AddPodcasts extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$this->forge->addField([
|
$this->forge->addField([
|
||||||
@ -205,6 +208,7 @@ class AddPodcasts extends BaseMigration
|
|||||||
$this->forge->createTable('podcasts');
|
$this->forge->createTable('podcasts');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$this->forge->dropTable('podcasts');
|
$this->forge->dropTable('podcasts');
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddEpisodes extends BaseMigration
|
class AddEpisodes extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$this->forge->addField([
|
$this->forge->addField([
|
||||||
@ -171,6 +174,7 @@ class AddEpisodes extends BaseMigration
|
|||||||
$this->db->query($createQuery);
|
$this->db->query($createQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$this->forge->dropTable('episodes');
|
$this->forge->dropTable('episodes');
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddPlatforms extends BaseMigration
|
class AddPlatforms extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$this->forge->addField([
|
$this->forge->addField([
|
||||||
@ -47,6 +50,7 @@ class AddPlatforms extends BaseMigration
|
|||||||
$this->forge->createTable('platforms');
|
$this->forge->createTable('platforms');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$this->forge->dropTable('platforms');
|
$this->forge->dropTable('platforms');
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddPodcastsPlatforms extends BaseMigration
|
class AddPodcastsPlatforms extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$this->forge->addField([
|
$this->forge->addField([
|
||||||
@ -52,6 +55,7 @@ class AddPodcastsPlatforms extends BaseMigration
|
|||||||
$this->forge->createTable('podcasts_platforms');
|
$this->forge->createTable('podcasts_platforms');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$this->forge->dropTable('podcasts_platforms');
|
$this->forge->dropTable('podcasts_platforms');
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddEpisodeComments extends BaseMigration
|
class AddEpisodeComments extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$this->forge->addField([
|
$this->forge->addField([
|
||||||
@ -71,6 +74,7 @@ class AddEpisodeComments extends BaseMigration
|
|||||||
$this->forge->createTable('episode_comments');
|
$this->forge->createTable('episode_comments');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$this->forge->dropTable('episode_comments');
|
$this->forge->dropTable('episode_comments');
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddLikes extends BaseMigration
|
class AddLikes extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$this->forge->addField([
|
$this->forge->addField([
|
||||||
@ -34,6 +37,7 @@ class AddLikes extends BaseMigration
|
|||||||
$this->forge->createTable('likes');
|
$this->forge->createTable('likes');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$this->forge->dropTable('likes');
|
$this->forge->dropTable('likes');
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddPages extends BaseMigration
|
class AddPages extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$this->forge->addField([
|
$this->forge->addField([
|
||||||
@ -48,6 +51,7 @@ class AddPages extends BaseMigration
|
|||||||
$this->forge->createTable('pages');
|
$this->forge->createTable('pages');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$this->forge->dropTable('pages');
|
$this->forge->dropTable('pages');
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddPodcastsCategories extends BaseMigration
|
class AddPodcastsCategories extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$this->forge->addField([
|
$this->forge->addField([
|
||||||
@ -32,6 +35,7 @@ class AddPodcastsCategories extends BaseMigration
|
|||||||
$this->forge->createTable('podcasts_categories');
|
$this->forge->createTable('podcasts_categories');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$this->forge->dropTable('podcasts_categories');
|
$this->forge->dropTable('podcasts_categories');
|
||||||
|
@ -10,8 +10,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddClips extends BaseMigration
|
class AddClips extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$this->forge->addField([
|
$this->forge->addField([
|
||||||
@ -94,6 +97,7 @@ class AddClips extends BaseMigration
|
|||||||
$this->forge->createTable('clips');
|
$this->forge->createTable('clips');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$this->forge->dropTable('clips');
|
$this->forge->dropTable('clips');
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddPersons extends BaseMigration
|
class AddPersons extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$this->forge->addField([
|
$this->forge->addField([
|
||||||
@ -67,6 +70,7 @@ class AddPersons extends BaseMigration
|
|||||||
$this->forge->createTable('persons');
|
$this->forge->createTable('persons');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$this->forge->dropTable('persons');
|
$this->forge->dropTable('persons');
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddPodcastsPersons extends BaseMigration
|
class AddPodcastsPersons extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$this->forge->addField([
|
$this->forge->addField([
|
||||||
@ -46,6 +49,7 @@ class AddPodcastsPersons extends BaseMigration
|
|||||||
$this->forge->createTable('podcasts_persons');
|
$this->forge->createTable('podcasts_persons');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$this->forge->dropTable('podcasts_persons');
|
$this->forge->dropTable('podcasts_persons');
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddEpisodesPersons extends BaseMigration
|
class AddEpisodesPersons extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$this->forge->addField([
|
$this->forge->addField([
|
||||||
@ -51,6 +54,7 @@ class AddEpisodesPersons extends BaseMigration
|
|||||||
$this->forge->createTable('episodes_persons');
|
$this->forge->createTable('episodes_persons');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$this->forge->dropTable('episodes_persons');
|
$this->forge->dropTable('episodes_persons');
|
||||||
|
@ -10,8 +10,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddCreditsView extends BaseMigration
|
class AddCreditsView extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
// Creates View for credit UNION query
|
// Creates View for credit UNION query
|
||||||
@ -37,6 +40,7 @@ class AddCreditsView extends BaseMigration
|
|||||||
$this->db->query($createQuery);
|
$this->db->query($createQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$viewName = $this->db->prefixTable('credits');
|
$viewName = $this->db->prefixTable('credits');
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddEpisodeIdToPosts extends BaseMigration
|
class AddEpisodeIdToPosts extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$prefix = $this->db->getPrefix();
|
$prefix = $this->db->getPrefix();
|
||||||
@ -38,6 +41,7 @@ class AddEpisodeIdToPosts extends BaseMigration
|
|||||||
$this->forge->processIndexes('fediverse_posts');
|
$this->forge->processIndexes('fediverse_posts');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$prefix = $this->db->getPrefix();
|
$prefix = $this->db->getPrefix();
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddCreatedByToPosts extends BaseMigration
|
class AddCreatedByToPosts extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$prefix = $this->db->getPrefix();
|
$prefix = $this->db->getPrefix();
|
||||||
@ -38,6 +41,7 @@ class AddCreatedByToPosts extends BaseMigration
|
|||||||
$this->forge->processIndexes('fediverse_posts');
|
$this->forge->processIndexes('fediverse_posts');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$prefix = $this->db->getPrefix();
|
$prefix = $this->db->getPrefix();
|
||||||
|
@ -4,8 +4,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddFullTextSearchIndexes extends BaseMigration
|
class AddFullTextSearchIndexes extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$prefix = $this->db->getPrefix();
|
$prefix = $this->db->getPrefix();
|
||||||
@ -31,6 +34,7 @@ class AddFullTextSearchIndexes extends BaseMigration
|
|||||||
$this->db->query($createQuery);
|
$this->db->query($createQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$prefix = $this->db->getPrefix();
|
$prefix = $this->db->getPrefix();
|
||||||
|
@ -4,8 +4,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddEpisodePreviewId extends BaseMigration
|
class AddEpisodePreviewId extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$fields = [
|
$fields = [
|
||||||
@ -28,6 +31,7 @@ class AddEpisodePreviewId extends BaseMigration
|
|||||||
$this->db->query($uniquePreviewId);
|
$this->db->query($uniquePreviewId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$fields = ['preview_id'];
|
$fields = ['preview_id'];
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddPodcastsOwnerEmailRemovedFromFeed extends BaseMigration
|
class AddPodcastsOwnerEmailRemovedFromFeed extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$fields = [
|
$fields = [
|
||||||
@ -28,6 +31,7 @@ class AddPodcastsOwnerEmailRemovedFromFeed extends BaseMigration
|
|||||||
$this->forge->addColumn('podcasts', $fields);
|
$this->forge->addColumn('podcasts', $fields);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$fields = ['is_owner_email_removed_from_feed'];
|
$fields = ['is_owner_email_removed_from_feed'];
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddPodcastsMediumField extends BaseMigration
|
class AddPodcastsMediumField extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$fields = [
|
$fields = [
|
||||||
@ -28,6 +31,7 @@ class AddPodcastsMediumField extends BaseMigration
|
|||||||
$this->forge->addColumn('podcasts', $fields);
|
$this->forge->addColumn('podcasts', $fields);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$fields = ['medium'];
|
$fields = ['medium'];
|
||||||
|
@ -12,8 +12,11 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AddPodcastsVerifyTxtField extends BaseMigration
|
class AddPodcastsVerifyTxtField extends BaseMigration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$fields = [
|
$fields = [
|
||||||
@ -27,6 +30,7 @@ class AddPodcastsVerifyTxtField extends BaseMigration
|
|||||||
$this->forge->addColumn('podcasts', $fields);
|
$this->forge->addColumn('podcasts', $fields);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
$this->forge->dropColumn('podcasts', 'verify_txt');
|
$this->forge->dropColumn('podcasts', 'verify_txt');
|
||||||
|
@ -5,9 +5,11 @@ declare(strict_types=1);
|
|||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
use CodeIgniter\Database\Migration;
|
use CodeIgniter\Database\Migration;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class RefactorPlatforms extends Migration
|
class RefactorPlatforms extends Migration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$this->forge->addField([
|
$this->forge->addField([
|
||||||
@ -80,6 +82,7 @@ class RefactorPlatforms extends Migration
|
|||||||
$this->forge->renameTable('platforms_temp', 'platforms');
|
$this->forge->renameTable('platforms_temp', 'platforms');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
// delete platforms
|
// delete platforms
|
||||||
|
@ -5,6 +5,7 @@ declare(strict_types=1);
|
|||||||
namespace App\Database\Migrations;
|
namespace App\Database\Migrations;
|
||||||
|
|
||||||
use CodeIgniter\Database\Migration;
|
use CodeIgniter\Database\Migration;
|
||||||
|
use Override;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CodeIgniter 4.5.1 introduces new DataCaster class that breaks deserialization of import queue tasks.
|
* CodeIgniter 4.5.1 introduces new DataCaster class that breaks deserialization of import queue tasks.
|
||||||
@ -12,11 +13,13 @@ use CodeIgniter\Database\Migration;
|
|||||||
*/
|
*/
|
||||||
class ClearImportQueue extends Migration
|
class ClearImportQueue extends Migration
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
service('settings')->forget('Import.queue');
|
service('settings')->forget('Import.queue');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
// nothing
|
// nothing
|
||||||
|
@ -14,6 +14,7 @@ namespace App\Database\Migrations;
|
|||||||
|
|
||||||
use CodeIgniter\Database\BaseConnection;
|
use CodeIgniter\Database\BaseConnection;
|
||||||
use CodeIgniter\Database\Migration;
|
use CodeIgniter\Database\Migration;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class BaseMigration extends Migration
|
class BaseMigration extends Migration
|
||||||
{
|
{
|
||||||
@ -24,10 +25,12 @@ class BaseMigration extends Migration
|
|||||||
*/
|
*/
|
||||||
protected $db;
|
protected $db;
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -13,9 +13,11 @@ declare(strict_types=1);
|
|||||||
namespace App\Database\Seeds;
|
namespace App\Database\Seeds;
|
||||||
|
|
||||||
use CodeIgniter\Database\Seeder;
|
use CodeIgniter\Database\Seeder;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AppSeeder extends Seeder
|
class AppSeeder extends Seeder
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
$this->call('CategorySeeder');
|
$this->call('CategorySeeder');
|
||||||
|
@ -13,9 +13,11 @@ declare(strict_types=1);
|
|||||||
namespace App\Database\Seeds;
|
namespace App\Database\Seeds;
|
||||||
|
|
||||||
use CodeIgniter\Database\Seeder;
|
use CodeIgniter\Database\Seeder;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class CategorySeeder extends Seeder
|
class CategorySeeder extends Seeder
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
$data = [
|
$data = [
|
||||||
|
@ -13,9 +13,11 @@ declare(strict_types=1);
|
|||||||
namespace App\Database\Seeds;
|
namespace App\Database\Seeds;
|
||||||
|
|
||||||
use CodeIgniter\Database\Seeder;
|
use CodeIgniter\Database\Seeder;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class DevSeeder extends Seeder
|
class DevSeeder extends Seeder
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
$this->call('CategorySeeder');
|
$this->call('CategorySeeder');
|
||||||
|
@ -15,9 +15,11 @@ namespace App\Database\Seeds;
|
|||||||
use CodeIgniter\Database\Seeder;
|
use CodeIgniter\Database\Seeder;
|
||||||
use CodeIgniter\Shield\Entities\User;
|
use CodeIgniter\Shield\Entities\User;
|
||||||
use Modules\Auth\Models\UserModel;
|
use Modules\Auth\Models\UserModel;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class DevSuperadminSeeder extends Seeder
|
class DevSuperadminSeeder extends Seeder
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
if ((new UserModel())->where('is_owner', true)->first() instanceof User) {
|
if ((new UserModel())->where('is_owner', true)->first() instanceof User) {
|
||||||
|
@ -20,9 +20,11 @@ use CodeIgniter\Database\Seeder;
|
|||||||
use Exception;
|
use Exception;
|
||||||
use GeoIp2\Database\Reader;
|
use GeoIp2\Database\Reader;
|
||||||
use GeoIp2\Exception\AddressNotFoundException;
|
use GeoIp2\Exception\AddressNotFoundException;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class FakePodcastsAnalyticsSeeder extends Seeder
|
class FakePodcastsAnalyticsSeeder extends Seeder
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
$jsonUserAgents = json_decode(
|
$jsonUserAgents = json_decode(
|
||||||
|
@ -18,6 +18,7 @@ use App\Models\EpisodeModel;
|
|||||||
use App\Models\PodcastModel;
|
use App\Models\PodcastModel;
|
||||||
use CodeIgniter\Database\Seeder;
|
use CodeIgniter\Database\Seeder;
|
||||||
use Exception;
|
use Exception;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class FakeWebsiteAnalyticsSeeder extends Seeder
|
class FakeWebsiteAnalyticsSeeder extends Seeder
|
||||||
{
|
{
|
||||||
@ -181,6 +182,7 @@ class FakeWebsiteAnalyticsSeeder extends Seeder
|
|||||||
'WOSBrowser',
|
'WOSBrowser',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
$podcast = (new PodcastModel())->first();
|
$podcast = (new PodcastModel())->first();
|
||||||
|
@ -18,9 +18,11 @@ declare(strict_types=1);
|
|||||||
namespace App\Database\Seeds;
|
namespace App\Database\Seeds;
|
||||||
|
|
||||||
use CodeIgniter\Database\Seeder;
|
use CodeIgniter\Database\Seeder;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class LanguageSeeder extends Seeder
|
class LanguageSeeder extends Seeder
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
$data = [
|
$data = [
|
||||||
|
@ -12,6 +12,7 @@ namespace App\Entities;
|
|||||||
|
|
||||||
use App\Models\PodcastModel;
|
use App\Models\PodcastModel;
|
||||||
use Modules\Fediverse\Entities\Actor as FediverseActor;
|
use Modules\Fediverse\Entities\Actor as FediverseActor;
|
||||||
|
use Override;
|
||||||
use RuntimeException;
|
use RuntimeException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -42,6 +43,7 @@ class Actor extends FediverseActor
|
|||||||
return $this->podcast;
|
return $this->podcast;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function getAvatarImageUrl(): string
|
public function getAvatarImageUrl(): string
|
||||||
{
|
{
|
||||||
if ($this->podcast instanceof Podcast) {
|
if ($this->podcast instanceof Podcast) {
|
||||||
@ -51,6 +53,7 @@ class Actor extends FediverseActor
|
|||||||
return parent::getAvatarImageUrl();
|
return parent::getAvatarImageUrl();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function getAvatarImageMimetype(): string
|
public function getAvatarImageMimetype(): string
|
||||||
{
|
{
|
||||||
if ($this->podcast instanceof Podcast) {
|
if ($this->podcast instanceof Podcast) {
|
||||||
|
@ -13,6 +13,7 @@ namespace App\Entities\Clip;
|
|||||||
use CodeIgniter\Files\File;
|
use CodeIgniter\Files\File;
|
||||||
use Modules\Media\Entities\Video;
|
use Modules\Media\Entities\Video;
|
||||||
use Modules\Media\Models\MediaModel;
|
use Modules\Media\Models\MediaModel;
|
||||||
|
use Override;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @property array $theme
|
* @property array $theme
|
||||||
@ -63,6 +64,7 @@ class VideoClip extends BaseClip
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function setMedia(File $file, string $fileKey): static
|
public function setMedia(File $file, string $fileKey): static
|
||||||
{
|
{
|
||||||
if ($this->attributes['media_id'] !== null) {
|
if ($this->attributes['media_id'] !== null) {
|
||||||
|
@ -26,12 +26,12 @@ class Location extends Entity
|
|||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
private const OSM_URL = 'https://www.openstreetmap.org/';
|
private const string OSM_URL = 'https://www.openstreetmap.org/';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
private const NOMINATIM_URL = 'https://nominatim.openstreetmap.org/';
|
private const string NOMINATIM_URL = 'https://nominatim.openstreetmap.org/';
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
protected string $name,
|
protected string $name,
|
||||||
|
@ -7,12 +7,14 @@ namespace App\Filters;
|
|||||||
use CodeIgniter\Filters\FilterInterface;
|
use CodeIgniter\Filters\FilterInterface;
|
||||||
use CodeIgniter\HTTP\RequestInterface;
|
use CodeIgniter\HTTP\RequestInterface;
|
||||||
use CodeIgniter\HTTP\ResponseInterface;
|
use CodeIgniter\HTTP\ResponseInterface;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class AllowCorsFilter implements FilterInterface
|
class AllowCorsFilter implements FilterInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @param string[]|null $arguments
|
* @param string[]|null $arguments
|
||||||
*/
|
*/
|
||||||
|
#[Override]
|
||||||
public function before(RequestInterface $request, $arguments = null): void
|
public function before(RequestInterface $request, $arguments = null): void
|
||||||
{
|
{
|
||||||
// Do something here
|
// Do something here
|
||||||
@ -21,6 +23,7 @@ class AllowCorsFilter implements FilterInterface
|
|||||||
/**
|
/**
|
||||||
* @param string[]|null $arguments
|
* @param string[]|null $arguments
|
||||||
*/
|
*/
|
||||||
|
#[Override]
|
||||||
public function after(RequestInterface $request, ResponseInterface $response, $arguments = null): void
|
public function after(RequestInterface $request, ResponseInterface $response, $arguments = null): void
|
||||||
{
|
{
|
||||||
if (! $response->hasHeader('Cache-Control')) {
|
if (! $response->hasHeader('Cache-Control')) {
|
||||||
|
@ -19,6 +19,7 @@ use CodeIgniter\Router\Exceptions\RedirectException;
|
|||||||
use CodeIgniter\Router\Exceptions\RouterException;
|
use CodeIgniter\Router\Exceptions\RouterException;
|
||||||
use CodeIgniter\Router\Router as CodeIgniterRouter;
|
use CodeIgniter\Router\Router as CodeIgniterRouter;
|
||||||
use Config\Services;
|
use Config\Services;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class Router extends CodeIgniterRouter
|
class Router extends CodeIgniterRouter
|
||||||
{
|
{
|
||||||
@ -30,6 +31,7 @@ class Router extends CodeIgniterRouter
|
|||||||
*
|
*
|
||||||
* @return boolean Whether the route was matched or not.
|
* @return boolean Whether the route was matched or not.
|
||||||
*/
|
*/
|
||||||
|
#[Override]
|
||||||
protected function checkRoutes(string $uri): bool
|
protected function checkRoutes(string $uri): bool
|
||||||
{
|
{
|
||||||
$routes = $this->collection->getRoutes($this->collection->getHTTPVerb());
|
$routes = $this->collection->getRoutes($this->collection->getHTTPVerb());
|
||||||
|
@ -11,6 +11,7 @@ declare(strict_types=1);
|
|||||||
namespace App\Libraries;
|
namespace App\Libraries;
|
||||||
|
|
||||||
use DOMDocument;
|
use DOMDocument;
|
||||||
|
use Override;
|
||||||
use SimpleXMLElement;
|
use SimpleXMLElement;
|
||||||
|
|
||||||
class SimpleRSSElement extends SimpleXMLElement
|
class SimpleRSSElement extends SimpleXMLElement
|
||||||
@ -47,6 +48,7 @@ class SimpleRSSElement extends SimpleXMLElement
|
|||||||
*
|
*
|
||||||
* @return static The addChild method returns a SimpleXMLElement object representing the child added to the XML node.
|
* @return static The addChild method returns a SimpleXMLElement object representing the child added to the XML node.
|
||||||
*/
|
*/
|
||||||
|
#[Override]
|
||||||
public function addChild($name, $value = null, $namespace = null, $escape = true): static
|
public function addChild($name, $value = null, $namespace = null, $escape = true): static
|
||||||
{
|
{
|
||||||
$newChild = parent::addChild($name, null, $namespace);
|
$newChild = parent::addChild($name, null, $namespace);
|
||||||
|
@ -4,6 +4,8 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace ViewComponents;
|
namespace ViewComponents;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
abstract class Component implements ComponentInterface
|
abstract class Component implements ComponentInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@ -81,6 +83,7 @@ abstract class Component implements ComponentInterface
|
|||||||
return stringify_attributes($this->attributes);
|
return stringify_attributes($this->attributes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
return static::class . ': RENDER METHOD NOT IMPLEMENTED';
|
return static::class . ': RENDER METHOD NOT IMPLEMENTED';
|
||||||
|
@ -5,6 +5,7 @@ declare(strict_types=1);
|
|||||||
namespace ViewComponents;
|
namespace ViewComponents;
|
||||||
|
|
||||||
use CodeIgniter\View\ViewDecoratorInterface;
|
use CodeIgniter\View\ViewDecoratorInterface;
|
||||||
|
use Override;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enables rendering of View Components into the views.
|
* Enables rendering of View Components into the views.
|
||||||
@ -15,6 +16,7 @@ class Decorator implements ViewDecoratorInterface
|
|||||||
{
|
{
|
||||||
private static ?ComponentRenderer $components = null;
|
private static ?ComponentRenderer $components = null;
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public static function decorate(string $html): string
|
public static function decorate(string $html): string
|
||||||
{
|
{
|
||||||
$components = self::factory();
|
$components = self::factory();
|
||||||
|
@ -12,6 +12,7 @@ namespace App\Models;
|
|||||||
|
|
||||||
use App\Entities\Actor;
|
use App\Entities\Actor;
|
||||||
use Modules\Fediverse\Models\ActorModel as FediverseActorModel;
|
use Modules\Fediverse\Models\ActorModel as FediverseActorModel;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class ActorModel extends FediverseActorModel
|
class ActorModel extends FediverseActorModel
|
||||||
{
|
{
|
||||||
@ -20,6 +21,7 @@ class ActorModel extends FediverseActorModel
|
|||||||
*/
|
*/
|
||||||
protected $returnType = Actor::class;
|
protected $returnType = Actor::class;
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function getActorById(int $id): ?Actor
|
public function getActorById(int $id): ?Actor
|
||||||
{
|
{
|
||||||
return $this->find($id);
|
return $this->find($id);
|
||||||
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components;
|
namespace App\Views\Components;
|
||||||
|
|
||||||
|
use Override;
|
||||||
use ViewComponents\Component;
|
use ViewComponents\Component;
|
||||||
|
|
||||||
class Alert extends Component
|
class Alert extends Component
|
||||||
@ -23,6 +24,7 @@ class Alert extends Component
|
|||||||
*/
|
*/
|
||||||
protected string $variant = 'default';
|
protected string $variant = 'default';
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$variantData = match ($this->variant) {
|
$variantData = match ($this->variant) {
|
||||||
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components;
|
namespace App\Views\Components;
|
||||||
|
|
||||||
|
use Override;
|
||||||
use ViewComponents\Component;
|
use ViewComponents\Component;
|
||||||
|
|
||||||
class Button extends Component
|
class Button extends Component
|
||||||
@ -32,6 +33,7 @@ class Button extends Component
|
|||||||
|
|
||||||
protected bool $isExternal = false;
|
protected bool $isExternal = false;
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$this->mergeClass('shadow gap-x-2 flex-shrink-0 inline-flex items-center justify-center font-semibold rounded-full');
|
$this->mergeClass('shadow gap-x-2 flex-shrink-0 inline-flex items-center justify-center font-semibold rounded-full');
|
||||||
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components\Charts;
|
namespace App\Views\Components\Charts;
|
||||||
|
|
||||||
|
use Override;
|
||||||
use ViewComponents\Component;
|
use ViewComponents\Component;
|
||||||
|
|
||||||
class ChartsComponent extends Component
|
class ChartsComponent extends Component
|
||||||
@ -16,6 +17,7 @@ class ChartsComponent extends Component
|
|||||||
|
|
||||||
protected string $type;
|
protected string $type;
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$subtitleBlock = '';
|
$subtitleBlock = '';
|
||||||
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components;
|
namespace App\Views\Components;
|
||||||
|
|
||||||
|
use Override;
|
||||||
use ViewComponents\Component;
|
use ViewComponents\Component;
|
||||||
|
|
||||||
class DashboardCard extends Component
|
class DashboardCard extends Component
|
||||||
@ -23,6 +24,7 @@ class DashboardCard extends Component
|
|||||||
$this->subtitle = html_entity_decode($value);
|
$this->subtitle = html_entity_decode($value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$glyph = icon($this->glyph, [
|
$glyph = icon($this->glyph, [
|
||||||
|
@ -5,6 +5,7 @@ declare(strict_types=1);
|
|||||||
namespace App\Views\Components;
|
namespace App\Views\Components;
|
||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
|
use Override;
|
||||||
use ViewComponents\Component;
|
use ViewComponents\Component;
|
||||||
|
|
||||||
class DropdownMenu extends Component
|
class DropdownMenu extends Component
|
||||||
@ -34,6 +35,7 @@ class DropdownMenu extends Component
|
|||||||
$this->items = json_decode(htmlspecialchars_decode($value), true);
|
$this->items = json_decode(htmlspecialchars_decode($value), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
if ($this->items === []) {
|
if ($this->items === []) {
|
||||||
|
@ -5,6 +5,7 @@ declare(strict_types=1);
|
|||||||
namespace App\Views\Components\Forms;
|
namespace App\Views\Components\Forms;
|
||||||
|
|
||||||
use App\Views\Components\Hint;
|
use App\Views\Components\Hint;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class Checkbox extends FormComponent
|
class Checkbox extends FormComponent
|
||||||
{
|
{
|
||||||
@ -18,6 +19,7 @@ class Checkbox extends FormComponent
|
|||||||
|
|
||||||
protected bool $isChecked = false;
|
protected bool $isChecked = false;
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$checkboxInput = form_checkbox(
|
$checkboxInput = form_checkbox(
|
||||||
|
@ -4,6 +4,8 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components\Forms;
|
namespace App\Views\Components\Forms;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class ColorRadioButton extends FormComponent
|
class ColorRadioButton extends FormComponent
|
||||||
{
|
{
|
||||||
protected array $props = ['isSelected'];
|
protected array $props = ['isSelected'];
|
||||||
@ -14,6 +16,7 @@ class ColorRadioButton extends FormComponent
|
|||||||
|
|
||||||
protected bool $isSelected = false;
|
protected bool $isSelected = false;
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$data = [
|
$data = [
|
||||||
|
@ -4,12 +4,15 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components\Forms;
|
namespace App\Views\Components\Forms;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class DatetimePicker extends FormComponent
|
class DatetimePicker extends FormComponent
|
||||||
{
|
{
|
||||||
protected array $attributes = [
|
protected array $attributes = [
|
||||||
'data-picker' => 'datetime',
|
'data-picker' => 'datetime',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$dateInput = form_input([
|
$dateInput = form_input([
|
||||||
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components\Forms;
|
namespace App\Views\Components\Forms;
|
||||||
|
|
||||||
|
use Override;
|
||||||
use ViewComponents\Component;
|
use ViewComponents\Component;
|
||||||
|
|
||||||
class Field extends Component
|
class Field extends Component
|
||||||
@ -37,6 +38,7 @@ class Field extends Component
|
|||||||
|
|
||||||
protected string $hint = '';
|
protected string $hint = '';
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$helperText = '';
|
$helperText = '';
|
||||||
|
@ -4,12 +4,14 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components\Forms;
|
namespace App\Views\Components\Forms;
|
||||||
|
|
||||||
|
use Override;
|
||||||
use ViewComponents\Component;
|
use ViewComponents\Component;
|
||||||
|
|
||||||
class Helper extends Component
|
class Helper extends Component
|
||||||
{
|
{
|
||||||
// TODO: add type with error and show errors inline
|
// TODO: add type with error and show errors inline
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$this->mergeClass('text-skin-muted');
|
$this->mergeClass('text-skin-muted');
|
||||||
|
@ -4,12 +4,15 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components\Forms;
|
namespace App\Views\Components\Forms;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class Input extends FormComponent
|
class Input extends FormComponent
|
||||||
{
|
{
|
||||||
protected array $props = ['type'];
|
protected array $props = ['type'];
|
||||||
|
|
||||||
protected string $type = 'text';
|
protected string $type = 'text';
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$this->mergeClass('w-full border-contrast rounded-lg focus:border-contrast border-3 focus-within:ring-accent');
|
$this->mergeClass('w-full border-contrast rounded-lg focus:border-contrast border-3 focus-within:ring-accent');
|
||||||
|
@ -5,6 +5,7 @@ declare(strict_types=1);
|
|||||||
namespace App\Views\Components\Forms;
|
namespace App\Views\Components\Forms;
|
||||||
|
|
||||||
use App\Views\Components\Hint;
|
use App\Views\Components\Hint;
|
||||||
|
use Override;
|
||||||
use ViewComponents\Component;
|
use ViewComponents\Component;
|
||||||
|
|
||||||
class Label extends Component
|
class Label extends Component
|
||||||
@ -21,6 +22,7 @@ class Label extends Component
|
|||||||
|
|
||||||
protected bool $isOptional = false;
|
protected bool $isOptional = false;
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$this->mergeClass('text-sm font-semibold');
|
$this->mergeClass('text-sm font-semibold');
|
||||||
|
@ -4,6 +4,8 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components\Forms;
|
namespace App\Views\Components\Forms;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class MarkdownEditor extends FormComponent
|
class MarkdownEditor extends FormComponent
|
||||||
{
|
{
|
||||||
protected array $props = ['disallowList'];
|
protected array $props = ['disallowList'];
|
||||||
@ -18,6 +20,7 @@ class MarkdownEditor extends FormComponent
|
|||||||
$this->disallowList = explode(',', $value);
|
$this->disallowList = explode(',', $value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$this->mergeClass('w-full flex flex-col bg-elevated border-3 border-contrast rounded-lg overflow-hidden focus-within:ring-accent');
|
$this->mergeClass('w-full flex flex-col bg-elevated border-3 border-contrast rounded-lg overflow-hidden focus-within:ring-accent');
|
||||||
|
@ -4,6 +4,8 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components\Forms;
|
namespace App\Views\Components\Forms;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class Radio extends FormComponent
|
class Radio extends FormComponent
|
||||||
{
|
{
|
||||||
protected array $props = ['isChecked'];
|
protected array $props = ['isChecked'];
|
||||||
@ -14,6 +16,7 @@ class Radio extends FormComponent
|
|||||||
|
|
||||||
protected bool $isChecked = false;
|
protected bool $isChecked = false;
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$radioInput = form_radio(
|
$radioInput = form_radio(
|
||||||
|
@ -5,6 +5,7 @@ declare(strict_types=1);
|
|||||||
namespace App\Views\Components\Forms;
|
namespace App\Views\Components\Forms;
|
||||||
|
|
||||||
use App\Views\Components\Hint;
|
use App\Views\Components\Hint;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class RadioButton extends FormComponent
|
class RadioButton extends FormComponent
|
||||||
{
|
{
|
||||||
@ -18,6 +19,7 @@ class RadioButton extends FormComponent
|
|||||||
|
|
||||||
protected string $hint = '';
|
protected string $hint = '';
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$data = [
|
$data = [
|
||||||
|
@ -5,6 +5,7 @@ declare(strict_types=1);
|
|||||||
namespace App\Views\Components\Forms;
|
namespace App\Views\Components\Forms;
|
||||||
|
|
||||||
use App\Views\Components\Hint;
|
use App\Views\Components\Hint;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class RadioGroup extends FormComponent
|
class RadioGroup extends FormComponent
|
||||||
{
|
{
|
||||||
@ -25,6 +26,7 @@ class RadioGroup extends FormComponent
|
|||||||
|
|
||||||
protected string $hint = '';
|
protected string $hint = '';
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$this->mergeClass('flex flex-col');
|
$this->mergeClass('flex flex-col');
|
||||||
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components\Forms;
|
namespace App\Views\Components\Forms;
|
||||||
|
|
||||||
|
use Override;
|
||||||
use ViewComponents\Component;
|
use ViewComponents\Component;
|
||||||
|
|
||||||
class Section extends Component
|
class Section extends Component
|
||||||
@ -14,6 +15,7 @@ class Section extends Component
|
|||||||
|
|
||||||
protected string $subtitle = '';
|
protected string $subtitle = '';
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$subtitle = $this->subtitle === '' ? '' : '<p class="text-sm text-skin-muted">' . $this->subtitle . '</p>';
|
$subtitle = $this->subtitle === '' ? '' : '<p class="text-sm text-skin-muted">' . $this->subtitle . '</p>';
|
||||||
|
@ -4,6 +4,8 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components\Forms;
|
namespace App\Views\Components\Forms;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class Select extends FormComponent
|
class Select extends FormComponent
|
||||||
{
|
{
|
||||||
protected array $props = ['options', 'defaultValue'];
|
protected array $props = ['options', 'defaultValue'];
|
||||||
@ -19,6 +21,7 @@ class Select extends FormComponent
|
|||||||
|
|
||||||
protected string $defaultValue = '';
|
protected string $defaultValue = '';
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$this->mergeClass('w-full focus:border-contrast border-3 rounded-lg bg-elevated border-contrast');
|
$this->mergeClass('w-full focus:border-contrast border-3 rounded-lg bg-elevated border-contrast');
|
||||||
|
@ -4,6 +4,8 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components\Forms;
|
namespace App\Views\Components\Forms;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class SelectMulti extends FormComponent
|
class SelectMulti extends FormComponent
|
||||||
{
|
{
|
||||||
protected array $props = ['options', 'defaultValue'];
|
protected array $props = ['options', 'defaultValue'];
|
||||||
@ -24,6 +26,7 @@ class SelectMulti extends FormComponent
|
|||||||
*/
|
*/
|
||||||
protected array $defaultValue = [];
|
protected array $defaultValue = [];
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$this->mergeClass('w-full bg-elevated border-3 border-contrast rounded-lg relative');
|
$this->mergeClass('w-full bg-elevated border-3 border-contrast rounded-lg relative');
|
||||||
|
@ -4,6 +4,8 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components\Forms;
|
namespace App\Views\Components\Forms;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class Textarea extends FormComponent
|
class Textarea extends FormComponent
|
||||||
{
|
{
|
||||||
public function setValue(?string $value): void
|
public function setValue(?string $value): void
|
||||||
@ -13,6 +15,7 @@ class Textarea extends FormComponent
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$this->mergeClass('bg-elevated w-full rounded-lg border-3 border-contrast focus:border-contrast focus-within:ring-accent');
|
$this->mergeClass('bg-elevated w-full rounded-lg border-3 border-contrast focus:border-contrast focus-within:ring-accent');
|
||||||
|
@ -5,6 +5,7 @@ declare(strict_types=1);
|
|||||||
namespace App\Views\Components\Forms;
|
namespace App\Views\Components\Forms;
|
||||||
|
|
||||||
use App\Views\Components\Hint;
|
use App\Views\Components\Hint;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class Toggler extends FormComponent
|
class Toggler extends FormComponent
|
||||||
{
|
{
|
||||||
@ -18,6 +19,7 @@ class Toggler extends FormComponent
|
|||||||
|
|
||||||
protected bool $isChecked = false;
|
protected bool $isChecked = false;
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$this->mergeClass('relative justify-between inline-flex items-center gap-x-2');
|
$this->mergeClass('relative justify-between inline-flex items-center gap-x-2');
|
||||||
|
@ -4,6 +4,8 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components\Forms;
|
namespace App\Views\Components\Forms;
|
||||||
|
|
||||||
|
use Override;
|
||||||
|
|
||||||
class XMLEditor extends FormComponent
|
class XMLEditor extends FormComponent
|
||||||
{
|
{
|
||||||
protected array $props = ['content'];
|
protected array $props = ['content'];
|
||||||
@ -23,6 +25,7 @@ class XMLEditor extends FormComponent
|
|||||||
$this->content = htmlspecialchars_decode($value);
|
$this->content = htmlspecialchars_decode($value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$this->attributes['slot'] = 'textarea';
|
$this->attributes['slot'] = 'textarea';
|
||||||
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components;
|
namespace App\Views\Components;
|
||||||
|
|
||||||
|
use Override;
|
||||||
use ViewComponents\Component;
|
use ViewComponents\Component;
|
||||||
|
|
||||||
class Heading extends Component
|
class Heading extends Component
|
||||||
@ -17,6 +18,7 @@ class Heading extends Component
|
|||||||
*/
|
*/
|
||||||
protected string $size = 'base';
|
protected string $size = 'base';
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$sizeClass = match ($this->size) {
|
$sizeClass = match ($this->size) {
|
||||||
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components;
|
namespace App\Views\Components;
|
||||||
|
|
||||||
|
use Override;
|
||||||
use ViewComponents\Component;
|
use ViewComponents\Component;
|
||||||
|
|
||||||
class Hint extends Component
|
class Hint extends Component
|
||||||
@ -13,6 +14,7 @@ class Hint extends Component
|
|||||||
'tabindex' => '0',
|
'tabindex' => '0',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$this->attributes['title'] = $this->slot;
|
$this->attributes['title'] = $this->slot;
|
||||||
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components;
|
namespace App\Views\Components;
|
||||||
|
|
||||||
|
use Override;
|
||||||
use ViewComponents\Component;
|
use ViewComponents\Component;
|
||||||
|
|
||||||
class Pill extends Component
|
class Pill extends Component
|
||||||
@ -23,6 +24,7 @@ class Pill extends Component
|
|||||||
|
|
||||||
protected string $hint = '';
|
protected string $hint = '';
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$variantClass = match ($this->variant) {
|
$variantClass = match ($this->variant) {
|
||||||
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components;
|
namespace App\Views\Components;
|
||||||
|
|
||||||
|
use Override;
|
||||||
use ViewComponents\Component;
|
use ViewComponents\Component;
|
||||||
|
|
||||||
class ReadMore extends Component
|
class ReadMore extends Component
|
||||||
@ -12,6 +13,7 @@ class ReadMore extends Component
|
|||||||
|
|
||||||
protected string $id;
|
protected string $id;
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$readMoreLabel = lang('Common.read_more');
|
$readMoreLabel = lang('Common.read_more');
|
||||||
|
@ -4,10 +4,12 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Views\Components;
|
namespace App\Views\Components;
|
||||||
|
|
||||||
|
use Override;
|
||||||
use ViewComponents\Component;
|
use ViewComponents\Component;
|
||||||
|
|
||||||
class SeeMore extends Component
|
class SeeMore extends Component
|
||||||
{
|
{
|
||||||
|
#[Override]
|
||||||
public function render(): string
|
public function render(): string
|
||||||
{
|
{
|
||||||
$seeMoreLabel = lang('Common.see_more');
|
$seeMoreLabel = lang('Common.see_more');
|
||||||
|
@ -5,11 +5,13 @@ declare(strict_types=1);
|
|||||||
namespace App\Views\Decorators;
|
namespace App\Views\Decorators;
|
||||||
|
|
||||||
use CodeIgniter\View\ViewDecoratorInterface;
|
use CodeIgniter\View\ViewDecoratorInterface;
|
||||||
|
use Override;
|
||||||
|
|
||||||
class SiteHead implements ViewDecoratorInterface
|
class SiteHead implements ViewDecoratorInterface
|
||||||
{
|
{
|
||||||
private static int $renderedCount = 0;
|
private static int $renderedCount = 0;
|
||||||
|
|
||||||
|
#[Override]
|
||||||
public static function decorate(string $html): string
|
public static function decorate(string $html): string
|
||||||
{
|
{
|
||||||
if (url_is(config('Admin')->gateway . '*') || url_is(config('Install')->gateway)) {
|
if (url_is(config('Admin')->gateway . '*') || url_is(config('Install')->gateway)) {
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
"homepage": "https://castopod.org",
|
"homepage": "https://castopod.org",
|
||||||
"license": "AGPL-3.0-or-later",
|
"license": "AGPL-3.0-or-later",
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^8.1",
|
"php": "^8.3",
|
||||||
"adaures/ipcat-php": "^v1.0.0",
|
"adaures/ipcat-php": "^v1.0.0",
|
||||||
"adaures/podcast-persons-taxonomy": "^v1.0.1",
|
"adaures/podcast-persons-taxonomy": "^v1.0.1",
|
||||||
"aws/aws-sdk-php": "^3.305.4",
|
"aws/aws-sdk-php": "^3.305.4",
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
# ⚠️ NOT optimized for production
|
# ⚠️ NOT optimized for production
|
||||||
# should be used only for continuous integration
|
# should be used only for continuous integration
|
||||||
#---------------------------------------------------
|
#---------------------------------------------------
|
||||||
FROM php:8.1-fpm-alpine3.19
|
FROM php:8.3-fpm-alpine3.20
|
||||||
|
|
||||||
LABEL maintainer="Yassine Doghri <yassine@doghri.fr>"
|
LABEL maintainer="Yassine Doghri <yassine@doghri.fr>"
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ RUN apt-get update && \
|
|||||||
mv supercronic /usr/local/bin
|
mv supercronic /usr/local/bin
|
||||||
|
|
||||||
|
|
||||||
FROM docker.io/php:8.1-fpm
|
FROM docker.io/php:8.3-fpm
|
||||||
|
|
||||||
COPY --from=CRON_BUILDER /usr/local/bin/supercronic /usr/local/bin/supercronic
|
COPY --from=CRON_BUILDER /usr/local/bin/supercronic /usr/local/bin/supercronic
|
||||||
|
|
||||||
|
@ -18,15 +18,15 @@ If you prefer using Docker, you may skip this and go straight to the
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
- HTTPS support
|
- HTTPS support
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1, alebo vyššia
|
### PHP v8.3, alebo vyššia
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -18,15 +18,15 @@ If you prefer using Docker, you may skip this and go straight to the
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
- HTTPS support
|
- HTTPS support
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -19,15 +19,15 @@ Si preferiu utilitzar Docker, podeu ometre això i anar directament a la
|
|||||||
|
|
||||||
## Requisits
|
## Requisits
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL versió 5.7 o superior o MariaDB versió 10.2 o superior
|
- MySQL versió 5.7 o superior o MariaDB versió 10.2 o superior
|
||||||
- Support d'HTTPS
|
- Support d'HTTPS
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -18,15 +18,15 @@ If you prefer using Docker, you may skip this and go straight to the
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
- HTTPS support
|
- HTTPS support
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -19,15 +19,15 @@ direkt zur [Docker-Dokumentation](./docker.md) für Castopod gehen.
|
|||||||
|
|
||||||
## Voraussetzungen
|
## Voraussetzungen
|
||||||
|
|
||||||
- PHP v8.1 oder höher
|
- PHP v8.3 oder höher
|
||||||
- MySQL Version 5.7 oder höher oder MariaDB Version 10.2 oder höher
|
- MySQL Version 5.7 oder höher oder MariaDB Version 10.2 oder höher
|
||||||
- HTTPS-Unterstützung
|
- HTTPS-Unterstützung
|
||||||
- Eine [ntp-synchronisierte Uhr](https://wiki.debian.org/NTP) um die eingehenden
|
- Eine [ntp-synchronisierte Uhr](https://wiki.debian.org/NTP) um die eingehenden
|
||||||
Anfragen zu überprüfen
|
Anfragen zu überprüfen
|
||||||
|
|
||||||
### PHP v8.1 oder höher
|
### PHP v8.3 oder höher
|
||||||
|
|
||||||
PHP Version 8.1 oder höher ist erforderlich, mit folgenden Erweiterungen
|
PHP Version 8.3 oder höher ist erforderlich, mit folgenden Erweiterungen
|
||||||
installiert:
|
installiert:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
|
@ -18,15 +18,15 @@ If you prefer using Docker, you may skip this and go straight to the
|
|||||||
|
|
||||||
## Vereisten
|
## Vereisten
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
- HTTPS support
|
- HTTPS support
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -9,15 +9,15 @@ shared hosting, you can install it on most PHP-MySQL compatible web servers.
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
- HTTPS support
|
- HTTPS support
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -19,15 +19,15 @@ Si prefieres usar Docker, puedes saltarte esto e ir directamente a la
|
|||||||
|
|
||||||
## Requisitos
|
## Requisitos
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL versión 5.7 o superior o MariaDB versión 10.2 o superior
|
- MySQL versión 5.7 o superior o MariaDB versión 10.2 o superior
|
||||||
- Soporte HTTPS
|
- Soporte HTTPS
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -18,15 +18,15 @@ If you prefer using Docker, you may skip this and go straight to the
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
- HTTPS support
|
- HTTPS support
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -18,15 +18,15 @@ If you prefer using Docker, you may skip this and go straight to the
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
- HTTPS support
|
- HTTPS support
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -19,15 +19,15 @@ directement à la [documentation Docker](./docker.md) pour Castopod.
|
|||||||
|
|
||||||
## Prérequis
|
## Prérequis
|
||||||
|
|
||||||
- PHP v8.1 ou supérieure
|
- PHP v8.3 ou supérieure
|
||||||
- MySQL version 5.7 ou supérieure ou MariaDB version 10.2 ou supérieure
|
- MySQL version 5.7 ou supérieure ou MariaDB version 10.2 ou supérieure
|
||||||
- Prise en charge HTTPS
|
- Prise en charge HTTPS
|
||||||
- Une horloge [synchronisée ntp](https://wiki.debian.org/NTP) pour valider les
|
- Une horloge [synchronisée ntp](https://wiki.debian.org/NTP) pour valider les
|
||||||
requêtes fédérés entrantes
|
requêtes fédérés entrantes
|
||||||
|
|
||||||
### PHP v8.1 ou supérieure
|
### PHP v8.3 ou supérieure
|
||||||
|
|
||||||
PHP version 8.1 ou supérieure est requise, avec les extensions suivantes
|
PHP version 8.3 ou supérieure est requise, avec les extensions suivantes
|
||||||
installées :
|
installées :
|
||||||
|
|
||||||
- [intl](https://www.php.net/manual/fr/intl.requirements.php)
|
- [intl](https://www.php.net/manual/fr/intl.requirements.php)
|
||||||
|
@ -19,15 +19,15 @@ directement à la [documentation Docker](./docker.md) pour Castopod.
|
|||||||
|
|
||||||
## Prérequis
|
## Prérequis
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL version 5.7 ou supérieure ou MariaDB version 10.2 ou supérieure
|
- MySQL version 5.7 ou supérieure ou MariaDB version 10.2 ou supérieure
|
||||||
- Prise en charge HTTPS
|
- Prise en charge HTTPS
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://www.php.net/manual/fr/intl.requirements.php)
|
- [intl](https://www.php.net/manual/fr/intl.requirements.php)
|
||||||
- [libcurl](https://www.php.net/manual/fr/curl.requirements.php)
|
- [libcurl](https://www.php.net/manual/fr/curl.requirements.php)
|
||||||
|
@ -18,15 +18,15 @@ If you prefer using Docker, you may skip this and go straight to the
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
- HTTPS support
|
- HTTPS support
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -18,15 +18,15 @@ If you prefer using Docker, you may skip this and go straight to the
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
- HTTPS support
|
- HTTPS support
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -18,15 +18,15 @@ If you prefer using Docker, you may skip this and go straight to the
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
- HTTPS support
|
- HTTPS support
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -18,15 +18,15 @@ If you prefer using Docker, you may skip this and go straight to the
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
- HTTPS support
|
- HTTPS support
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -18,15 +18,15 @@ If you prefer using Docker, you may skip this and go straight to the
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
- HTTPS support
|
- HTTPS support
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -18,15 +18,15 @@ If you prefer using Docker, you may skip this and go straight to the
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
- HTTPS support
|
- HTTPS support
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -18,15 +18,15 @@ If you prefer using Docker, you may skip this and go straight to the
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
- HTTPS support
|
- HTTPS support
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -18,15 +18,15 @@ If you prefer using Docker, you may skip this and go straight to the
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
- HTTPS support
|
- HTTPS support
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -19,15 +19,15 @@ Viss du helst vil bruka Docker, kan du hoppa over dette og gå rett til
|
|||||||
|
|
||||||
## Krav
|
## Krav
|
||||||
|
|
||||||
- PHP v8.1 eller nyare
|
- PHP v8.3 eller nyare
|
||||||
- MySQL versjon 5.7 eller nyare, eller MariaDB versjon 10.2 eller nyare
|
- MySQL versjon 5.7 eller nyare, eller MariaDB versjon 10.2 eller nyare
|
||||||
- Støtte for HTTPS
|
- Støtte for HTTPS
|
||||||
- Ei [ntp-synkronisert klokke](https://wiki.debian.org/NTP) for å stadfesta
|
- Ei [ntp-synkronisert klokke](https://wiki.debian.org/NTP) for å stadfesta
|
||||||
innkomande førespurnader frå allheimen
|
innkomande førespurnader frå allheimen
|
||||||
|
|
||||||
### PHP v8.1 eller nyare
|
### PHP v8.3 eller nyare
|
||||||
|
|
||||||
Du treng PHP versjon 8.1 eller nyare, og mde desse tillegga:
|
Du treng PHP versjon 8.3 eller nyare, og mde desse tillegga:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
@ -18,15 +18,15 @@ If you prefer using Docker, you may skip this and go straight to the
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- PHP v8.1 or higher
|
- PHP v8.3 or higher
|
||||||
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
- MySQL version 5.7 or higher or MariaDB version 10.2 or higher
|
||||||
- HTTPS support
|
- HTTPS support
|
||||||
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
- An [ntp-synced clock](https://wiki.debian.org/NTP) to validate federation's
|
||||||
incoming requests
|
incoming requests
|
||||||
|
|
||||||
### PHP v8.1 or higher
|
### PHP v8.3 or higher
|
||||||
|
|
||||||
PHP version 8.1 or higher is required, with the following extensions installed:
|
PHP version 8.3 or higher is required, with the following extensions installed:
|
||||||
|
|
||||||
- [intl](https://php.net/manual/en/intl.requirements.php)
|
- [intl](https://php.net/manual/en/intl.requirements.php)
|
||||||
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
- [libcurl](https://php.net/manual/en/curl.requirements.php)
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user