18 Commits

Author SHA1 Message Date
9d1934a6d7 prepare release of v1.2.2
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-02 11:14:15 +01:00
167433a80b ci: update actions, use Node v20, add PHP 8.3 2024-03-02 11:03:35 +01:00
8cb71df6fe deps: update dev-dependencies 2024-03-02 11:02:08 +01:00
b9491a4260 ci: update Drone CI pipeline
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-09 18:25:01 +01:00
deedcf4a87 update deprecated get_terms() syntax
Some checks reported errors
continuous-integration/drone/push Build was killed
The old-style syntax was deprecated in WP 4.5. We already require 4.7,
so there is no need to keep the deprecated parameter style.
2023-11-09 18:24:33 +01:00
3f8c9acdc0 add more output sanitization 2023-11-09 18:24:24 +01:00
61ba951f0b update code style to WPCS v3.0 2023-11-09 18:19:42 +01:00
a1a3117141 ci: test against WP 6.4
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-09 18:11:03 +01:00
4311494e4a declare compatibility with WP 6.2
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-01 18:21:01 +02:00
30ad3e9408 dev-dependency updates 2023-05-01 18:19:08 +02:00
2262eba822 declare compatibility with WP 6.1
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-03 17:36:11 +01:00
1f32adbd72 test: use stub method set_up() in unit tests
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-03 17:34:40 +01:00
8c9f98e80b update dev-dependencies
All checks were successful
continuous-integration/drone/push Build is passing
2022-11-03 17:12:42 +01:00
01cb47315a declare compatibility with WP 6.0
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-28 19:00:01 +02:00
5a1320c365 add testbed for WP 5.9 and PHP 8.0, update actions
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-14 18:26:01 +02:00
aa1a49c575 bump version to 1.2.1
All checks were successful
continuous-integration/drone/push Build is passing
2022-02-01 18:29:29 +01:00
b7c236376b fix: cast string to Number when setting attribute (#21)
Co-authored-by: zishan <zishan.khan@roularta.be>
2022-02-01 18:23:37 +01:00
e3a976fe7a declare compatibility with WordPress 5.9
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-26 18:05:23 +01:00
13 changed files with 70 additions and 41 deletions

View File

@ -8,17 +8,17 @@ steps:
commands:
- composer install --ignore-platform-req=php
- name: lint-php
image: php:7.4
image: php:8.2
commands:
- ./vendor/bin/phpcs
depends_on:
- composer-install
- name: node-install
image: node:16
image: node:18
commands:
- npm install
- name: lint-assets
image: node:16
image: node:20
commands:
- npx eslint scripts/block.js
- npx eslint scripts/liveticker.js

View File

@ -6,13 +6,19 @@ jobs:
strategy:
matrix:
include:
- php: '7.4'
wordpress: '5.8'
- php: '8.3'
wordpress: '6.4'
- php: '8.2'
wordpress: '6.3'
- php: '8.1'
wordpress: '6.1'
- php: '8.0'
wordpress: '5.9'
- php: '5.6'
wordpress: '4.7'
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
@ -31,16 +37,16 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
php-version: '8.2'
tools: composer
- name: Setup Node
uses: actions/setup-node@v2
uses: actions/setup-node@v3
with:
node-version: '14'
node-version: '20'
- name: Install
run: |
composer install --no-interaction
@ -55,7 +61,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Analyze with SonarCloud

View File

@ -9,11 +9,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
php-version: '8.0'
tools: composer
- name: Install
run: composer install --no-interaction

View File

@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:

View File

@ -9,9 +9,9 @@
* Contributors: Stefan Kalscheuer
* Tags: liveticker, feed, rss
* Requires at least: 4.7
* Tested up to: 5.8
* Tested up to: 6.4
* Requires PHP: 5.6
* Stable tag: 1.2.0
* Stable tag: 1.2.2
* License: GPLv2 or later
* License URI: http://www.gnu.org/licenses/gpl-2.0.html
@ -80,6 +80,16 @@ caching time of 12 hours obviously makes no sense.
## Changelog
### 1.2.2 - 2023-03-02
* Update use of deprecated WP core functions
* Extend output sanitization
* Tested with WP 6.4
### 1.2.1 - 2022-02-01
* Fix issue with limit in Gutenberg block.
### 1.2.0 - 2022-01-23
* Requires WordPress 4.7 or above

View File

@ -1,6 +1,6 @@
{
"name": "stklcode/stklcode-liveticker",
"version": "1.2.0",
"version": "1.2.2",
"description": "A simple Liveticker for Wordpress.",
"keywords": [
"wordpress",
@ -21,14 +21,14 @@
"composer/installers": "~1.12"
},
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.7",
"dealerdirect/phpcodesniffer-composer-installer": "^v1.0",
"matthiasmullie/minify": "^1.3",
"phpcompatibility/phpcompatibility-wp": "^2.1",
"phpunit/phpunit": "^5|^6|^7",
"phpunit/phpunit": "^5|^6|^7|^8|^9",
"slowprog/composer-copy-file": "~0.3",
"squizlabs/php_codesniffer": "^3.6",
"wp-coding-standards/wpcs": "^2.3",
"yoast/phpunit-polyfills": "^1.0"
"squizlabs/php_codesniffer": "^3.9",
"wp-coding-standards/wpcs": "^3.0",
"yoast/phpunit-polyfills": "^2.0"
},
"scripts": {
"post-install-cmd": [
@ -65,5 +65,11 @@
"minifyjs scripts/block.js > scripts/block.min.js",
"minifyjs scripts/liveticker.js > scripts/liveticker.min.js"
]
},
"config": {
"allow-plugins": {
"composer/installers": true,
"dealerdirect/phpcodesniffer-composer-installer": true
}
}
}

View File

@ -26,7 +26,7 @@ class SCLiveticker {
*
* @var string OPTIONS
*/
const VERSION = '1.2.0';
const VERSION = '1.2.2';
/**
* Options tag.

View File

@ -95,15 +95,16 @@ class Widget extends WP_Widget {
$wp_query = new WP_Query( $args );
$cnt = 0;
while ( $wp_query->have_posts() && ( $count <= 0 || ++ $cnt < $count ) ) {
while ( $wp_query->have_posts() && ( $count <= 0 || ++$cnt < $count ) ) {
$wp_query->the_post();
// @codingStandardsIgnoreLine
// phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped
echo SCLiveticker::tick_html_widget(
esc_html( get_the_time( 'd.m.Y - H:i' ) ),
get_the_title(),
( '1' === $highlight && get_the_time( 'U' ) > ( time() - $highlight_time ) ),
get_the_ID()
);
// phpcs:enable
}
echo '</ul>';
@ -145,7 +146,13 @@ class Widget extends WP_Widget {
$highlight = isset( $instance['highlight'] ) ? esc_attr( $instance['highlight'] ) : '0';
$highlight_time = isset( $instance['highlight_time'] ) ? esc_attr( $instance['highlight_time'] ) : '0';
$ajax = isset( $instance['ajax'] ) ? esc_attr( $instance['ajax'] ) : '0';
$categories = get_terms( 'scliveticker_ticker', 'orderby=name&order=ASC' );
$categories = get_terms(
array(
'taxonomy' => 'scliveticker_ticker',
'orderby' => 'name',
'order' => 'ASC',
)
);
include SCLIVETICKER_DIR . 'views/widget-form.php';
}

View File

@ -1,13 +1,13 @@
{
"name": "stklcode-liveticker",
"version": "1.2.0",
"version": "1.2.2",
"description": "A simple Liveticker for Wordpress.",
"author": "Stefan Kalscheuer",
"license": "GPL-2.0+",
"devDependencies": {
"@wordpress/eslint-plugin": "^9",
"@wordpress/stylelint-config": "^19",
"eslint": "^7",
"stylelint": "^13"
"@wordpress/eslint-plugin": "^17",
"@wordpress/stylelint-config": "^21",
"eslint": "^8",
"stylelint": "^14"
}
}

View File

@ -152,7 +152,7 @@
disabled: props.attributes.unlimited,
value: props.attributes.limit,
onChange: function( val ) {
props.setAttributes( { limit: val } );
props.setAttributes( { limit: Number( val ) } );
},
}
),

View File

@ -9,7 +9,7 @@
* @wordpress-plugin
* Plugin Name: Liveticker (by stklcode)
* Description: A simple Liveticker for WordPress.
* Version: 1.2.0
* Version: 1.2.2
* Author: Stefan Kalscheuer
* Author URI: https://www.stklcode.de
* Text Domain: stklcode-liveticker
@ -64,11 +64,11 @@ spl_autoload_register( 'scliveticker_autoload' );
/**
* Autoloader for Liveticker classes.
*
* @param string $class Name of the class to load.
* @param string $class_name Name of the class to load.
*
* @return void
*/
function scliveticker_autoload( $class ) {
function scliveticker_autoload( $class_name ) {
$plugin_classes = array(
'SCLiveticker\\SCLiveticker',
'SCLiveticker\\Admin',
@ -76,11 +76,11 @@ function scliveticker_autoload( $class ) {
'SCLiveticker\\System',
'SCLiveticker\\Widget',
);
if ( in_array( $class, $plugin_classes, true ) ) {
if ( in_array( $class_name, $plugin_classes, true ) ) {
require_once sprintf(
'%s/includes/class-%s.php',
SCLIVETICKER_DIR,
strtolower( str_replace( '_', '-', substr( $class, 13 ) ) )
strtolower( str_replace( '_', '-', substr( $class_name, 13 ) ) )
);
}
}

View File

@ -24,8 +24,8 @@ class Test_API extends WP_UnitTestCase {
*
* @return void
*/
public function setUp() {
parent::setUp();
public function set_up() {
parent::set_up();
global $wp_rest_server;
$wp_rest_server = new WP_REST_Server();
do_action( 'rest_api_init' );

View File

@ -54,10 +54,10 @@ if ( ! defined( 'ABSPATH' ) ) {
<?php esc_html_e( 'all', 'stklcode-liveticker' ); ?>
</option>
<?php
for ( $i = 1; $i <= 10; $i ++ ) {
for ( $i = 1; $i <= 10; $i++ ) {
printf(
'<option value="%d"%s>%d</option>',
$i,
intval( $i ),
( $i === $count ) ? ' selected' : '',
intval( $i )
);