feat: initial ACRIB WordPress deployment

- WordPress 6.9.4 (es_ES) with Kadence theme
- Homepage: Hero, La Asociación, Pilares, Beneficios, Eventos, Miembros, Hazte Miembro, Contacto
- Brand identity: #13294b navy, #a12932 burgundy, #c69c48 gold
- Fonts: Raleway (headings) + Source Sans 3 (body) + Lato (UI)
- Plugins: Kadence Blocks, Polylang, Contact Form 7
- Custom CSS with full brand styling and responsive layout
- HTTPS enforced via wp-config.php proxy detection
This commit is contained in:
Malin
2026-05-19 19:25:59 +02:00
commit f3ff7b7186
6119 changed files with 1984255 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
<?php declare( strict_types=1 );
namespace KadenceWP\KadenceBlocks\Optimizer\Database;
use KadenceWP\KadenceBlocks\Database\Query;
use KadenceWP\KadenceBlocks\Optimizer\Optimizer_Provider;
/**
* A query builder wrapper for the Optimizer table.
*
* @see Optimizer_Provider::register_optimizer_query()
*/
final class Optimizer_Query extends Query {
}

View File

@@ -0,0 +1,71 @@
<?php declare( strict_types=1 );
namespace KadenceWP\KadenceBlocks\Optimizer\Database;
use KadenceWP\KadenceBlocks\StellarWP\DB\Database\Exceptions\DatabaseQueryException;
use KadenceWP\KadenceBlocks\StellarWP\Schema\Tables\Contracts\Table;
/**
* The optimizer database table to store optimizer data.
*/
final class Optimizer_Table extends Table {
public const SCHEMA_VERSION = '2.0.5';
/**
* @var string The base table name.
*/
protected static $base_table_name = 'kb_optimizer';
/**
* @var string The organizational group this table belongs to.
*/
protected static $group = 'kb';
/**
* @var string|null The slug used to identify the custom table.
*/
protected static $schema_slug = 'optimizer';
/**
* @var string The field that uniquely identifies a row in the table.
*/
protected static $uid_column = 'path_hash';
/**
* Overload the update method to first drop the database as this is a temporary table.
*
* @throws DatabaseQueryException If any of the queries fail.
*
* @return string[]
*/
public function update() {
try {
if ( $this->exists() ) {
$this->drop();
}
} catch ( \Throwable $e ) {
function_exists( 'error_log' ) && error_log( '[Kadence Blocks]: Unable to drop optimizer table during schema update: ' . $e->getMessage() );
return [];
}
return parent::update();
}
/**
* @inheritDoc
*/
protected function get_definition(): string {
global $wpdb;
$table_name = self::table_name();
$charset_collate = $wpdb->get_charset_collate();
return "
CREATE TABLE `$table_name` (
path_hash CHAR(64) PRIMARY KEY COMMENT 'SHA-256 hash of the relative path of the URL used as a unique key for fast lookups',
path TEXT NOT NULL COMMENT 'The relative path of the URL, stored for reference and debugging',
analysis LONGTEXT NOT NULL COMMENT 'Serialized or JSON-encoded analysis data associated with the path'
) {$charset_collate};
";
}
}

View File

@@ -0,0 +1,29 @@
<?php declare( strict_types=1 );
namespace KadenceWP\KadenceBlocks\Optimizer\Database;
use KadenceWP\KadenceBlocks\StellarWP\ProphecyMonorepo\Container\Contracts\Provider as Provider_Contract;
final class Provider extends Provider_Contract {
public function register(): void {
$this->register_optimizer_query();
$this->register_viewport_query();
}
private function register_optimizer_query(): void {
$this->container->singleton( Optimizer_Query::class, Optimizer_Query::class );
$this->container->when( Optimizer_Query::class )
->needs( '$table' )
->give( static fn(): string => Optimizer_Table::table_name( false ) );
}
private function register_viewport_query(): void {
$this->container->singleton( Viewport_Query::class, Viewport_Query::class );
$this->container->when( Viewport_Query::class )
->needs( '$table' )
->give( static fn(): string => Viewport_Hash_Table::table_name( false ) );
}
}

View File

@@ -0,0 +1,76 @@
<?php declare( strict_types=1 );
namespace KadenceWP\KadenceBlocks\Optimizer\Database;
use KadenceWP\KadenceBlocks\Optimizer\Enums\Viewport;
use KadenceWP\KadenceBlocks\StellarWP\DB\Database\Exceptions\DatabaseQueryException;
use KadenceWP\KadenceBlocks\StellarWP\Schema\Tables\Contracts\Table;
/**
* Database table to store viewport-specific HTML hashes for each URL path.
*/
final class Viewport_Hash_Table extends Table {
public const SCHEMA_VERSION = '1.0.5';
/**
* @var string The base table name.
*/
protected static $base_table_name = 'kb_optimizer_viewport_hashes';
/**
* @var string The organizational group this table belongs to.
*/
protected static $group = 'kb';
/**
* @var string|null The slug used to identify the custom table.
*/
protected static $schema_slug = 'viewport_hashes';
/**
* @var string[] The fields that uniquely identify a row in the table (composite key).
*/
protected static $uid_column = 'path_hash';
/**
* Overload the update method to drop the database first (optional, like your Optimizer_Table).
*
* @throws DatabaseQueryException If any of the queries fail.
*
* @return string[]
*/
public function update() {
try {
if ( $this->exists() ) {
$this->drop();
}
} catch ( \Throwable $e ) {
function_exists( 'error_log' ) && error_log( '[Kadence Blocks]: Unable to drop viewport_hash table during schema update: ' . $e->getMessage() );
return [];
}
return parent::update();
}
/**
* @inheritDoc
*/
protected function get_definition(): string {
global $wpdb;
$table_name = self::table_name();
$charset_collate = $wpdb->get_charset_collate();
// Build a 'desktop', 'mobile' ENUM input.
$enum_values = sprintf( "'%s', '%s'", Viewport::desktop()->value(), Viewport::mobile()->value() );
return "
CREATE TABLE `$table_name` (
path_hash CHAR(64) NOT NULL COMMENT 'SHA-256 hash of the path (via \$wp->request), identifies the URL',
viewport ENUM($enum_values) NOT NULL COMMENT 'The viewport/device identifier',
html_hash VARCHAR(191) NOT NULL COMMENT 'A composite of hashes separated by | in a key\:MD5 value of the HTML markup for this viewport',
PRIMARY KEY (path_hash, viewport)
) {$charset_collate};
";
}
}

View File

@@ -0,0 +1,15 @@
<?php declare( strict_types=1 );
namespace KadenceWP\KadenceBlocks\Optimizer\Database;
use KadenceWP\KadenceBlocks\Database\Query;
use KadenceWP\KadenceBlocks\Optimizer\Optimizer_Provider;
/**
* A query builder wrapper for the Viewport_Hash table.
*
* @see Optimizer_Provider::register_viewport_query()
*/
final class Viewport_Query extends Query {
}