mirror of
https://github.com/dwaxweiler/connector-mobilizon
synced 2025-06-05 21:59:25 +02:00
Merge branch 'main' into requests-in-php
This commit is contained in:
53
source/includes/events-list-block.php
Normal file
53
source/includes/events-list-block.php
Normal file
@ -0,0 +1,53 @@
|
||||
<?php
|
||||
namespace MobilizonConnector;
|
||||
|
||||
// Exit if this file is called directly.
|
||||
if (!defined('ABSPATH')) {
|
||||
exit;
|
||||
}
|
||||
|
||||
class EventsListBlock {
|
||||
|
||||
public static function initAndReturnScriptName(): string {
|
||||
$scriptName = NAME . '-block-starter';
|
||||
wp_register_script($scriptName, plugins_url(NAME . '/front/block-events-loader.js'), [
|
||||
'wp-block-editor',
|
||||
'wp-blocks',
|
||||
'wp-components',
|
||||
'wp-i18n'
|
||||
]);
|
||||
register_block_type(NAME . '/events-list', [
|
||||
'api_version' => 2,
|
||||
'title' => __('Events List', 'connector-mobilizon'),
|
||||
'description' => __('A list of the upcoming events of the connected Mobilizon instance.', 'connector-mobilizon'),
|
||||
'category' => 'widgets',
|
||||
'icon' => 'list-view',
|
||||
'supports' => [
|
||||
'html' => false
|
||||
],
|
||||
'attributes' => [
|
||||
'eventsCount' => [
|
||||
'type' => 'number',
|
||||
'default' => 3,
|
||||
],
|
||||
'groupName' => [
|
||||
'type' => 'string',
|
||||
],
|
||||
],
|
||||
'editor_script' => $scriptName,
|
||||
'render_callback' => 'MobilizonConnector\EventsListBlock::render',
|
||||
]);
|
||||
return $scriptName;
|
||||
}
|
||||
|
||||
public static function render($block_attributes, $content) {
|
||||
$classNamePrefix = NAME;
|
||||
$eventsCount = $block_attributes['eventsCount'];
|
||||
$groupName = isset($block_attributes['groupName']) ? $block_attributes['groupName'] : '';
|
||||
|
||||
ob_start();
|
||||
require dirname(__DIR__) . '/view/events-list.php';
|
||||
$output = ob_get_clean();
|
||||
return $output;
|
||||
}
|
||||
}
|
@ -26,11 +26,7 @@ class EventsListShortcut {
|
||||
|
||||
$classNamePrefix = NAME;
|
||||
$eventsCount = $atts_with_overriden_defaults['events-count'];
|
||||
$locale = str_replace('_', '-', get_locale());
|
||||
$groupName = $atts_with_overriden_defaults['group-name'];
|
||||
$url = Settings::getUrl();
|
||||
$timeZone = wp_timezone_string();
|
||||
$isShortOffsetNameShown = Settings::isShortOffsetNameShown();
|
||||
|
||||
ob_start();
|
||||
require dirname(__DIR__) . '/view/events-list.php';
|
||||
|
@ -29,9 +29,6 @@ class EventsListWidget extends \WP_Widget {
|
||||
$eventsCount = $options['eventsCount'];
|
||||
$locale = str_replace('_', '-', get_locale()); // TODO _ is okay too.
|
||||
$groupName = isset($options['groupName']) ? $options['groupName'] : '';
|
||||
$url = Settings::getUrl();
|
||||
$timeZone = wp_timezone_string();
|
||||
$isShortOffsetNameShown = Settings::isShortOffsetNameShown();
|
||||
|
||||
if ($groupName) {
|
||||
$data = GraphQlClient::get_upcoming_events_by_group_name($url, (int) $eventsCount, $groupName); // TODO wrap and put into shortcut as well
|
||||
|
Reference in New Issue
Block a user