Skip to content
Merged
Show file tree
Hide file tree
Changes from 66 commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
792fadb
Update PodsUI.php
DAnn2012 Sep 27, 2025
677b182
Set version to 3.3.5-a-1
sc0ttkclark Oct 2, 2025
7ca1204
Update escaping to keep escaping $this->items
sc0ttkclark Oct 2, 2025
4194143
Fixed Function in PodsUI.php (#7462)
sc0ttkclark Oct 2, 2025
b3043a1
Fix default storage type for Settings pod type to use option instead …
sc0ttkclark Oct 2, 2025
1793629
Add message for repeatable fields when using table-based Pods
sc0ttkclark Oct 2, 2025
98ea5ec
Update the messaging for repeatable fields notice
sc0ttkclark Oct 2, 2025
8b8d8b4
fix unit tests
devlamconstructie Dec 30, 2025
82afff3
cleanup
devlamconstructie Dec 30, 2025
ae51089
set public parameter to true on public test pod
devlamconstructie Dec 30, 2025
27ac316
Add option to save conditional field values when hidden
faisalahammad Jan 30, 2026
27f8580
Fix: Preserve conditional field values when hidden (issue #7475)
faisalahammad Jan 30, 2026
f0719dc
Fix PHP warnings when using taxonomy sync without bidirectional relat…
faisalahammad Jan 30, 2026
8506212
Updated handling for save pod item field validation to see WP_Error a…
sc0ttkclark Feb 16, 2026
17f96d7
Add ?pods_debug_ui_options=1 for future debugging purposes
sc0ttkclark Feb 16, 2026
9efbe41
PodsUI - Implement pods_ui_after_heading hook, move restricted check …
sc0ttkclark Feb 16, 2026
8892fb9
Add pods_v_bool that uses pods_is_truthy, remove trim from pods_is_tr…
sc0ttkclark Feb 16, 2026
4f13e42
Add manage link to post form output in Navigate section
sc0ttkclark Feb 16, 2026
de47881
Fix heredoc usage for Migrate-PHP component
sc0ttkclark Feb 16, 2026
6181527
Initial read_only_restricted logic so that fields can optionally be r…
sc0ttkclark Feb 16, 2026
4b68ed0
Add page-title-action class for add-new-h2 links
sc0ttkclark Feb 22, 2026
24f8990
Update color theming to use admin theme vars instead of hardcoded col…
sc0ttkclark Feb 22, 2026
6890f1f
Fix read_only_restricted for each field
sc0ttkclark Feb 22, 2026
fb02d4a
Support conditional logic sets for multiple condition checks (depends…
sc0ttkclark Feb 22, 2026
cb516c2
Fix conditional logic for boolean group sub fields
sc0ttkclark Feb 22, 2026
d3f069d
Update Advanced field options and split up Restrict Access into a sec…
sc0ttkclark Feb 22, 2026
5eab896
Rebuild assets
sc0ttkclark Feb 22, 2026
55e1896
Auto rebuild assets
sc0ttkclark Feb 22, 2026
ee964f3
Merge branch 'main' into release/3.3.5
sc0ttkclark Feb 22, 2026
118bbd7
Merge branch 'main' into release/3.3.5
sc0ttkclark Feb 22, 2026
9d66737
Auto rebuild assets
sc0ttkclark Feb 22, 2026
3b2be2e
Feature/7472 podstest unit test failing (#7473)
sc0ttkclark Feb 22, 2026
bdd2eb9
Fix PHP warnings when using taxonomy sync without bidirectional relat…
sc0ttkclark Feb 22, 2026
186e465
pods_v_bool fixes for #7485
sc0ttkclark Feb 22, 2026
c32f23d
Rebuild assets
sc0ttkclark Feb 22, 2026
5ae56d4
Fix: Unable to custom reorder repeatable date/time values (#7471)
faisalahammad Jan 30, 2026
756c496
Rebuild assets
sc0ttkclark Feb 22, 2026
85de164
Auto rebuild assets
sc0ttkclark Feb 22, 2026
4a70872
Fix: Allow empty values in optional email fields
faisalahammad Jan 30, 2026
c7630c9
Update composer dependencies
sc0ttkclark Feb 22, 2026
3c1d6a5
Auto rebuild assets
sc0ttkclark Feb 22, 2026
72eec85
Update PHP version for PHP tests
sc0ttkclark Feb 22, 2026
f5508bc
PHP 7.x compat fixes
sc0ttkclark Feb 22, 2026
d0db101
Ignore platform reqs for composer install
sc0ttkclark Feb 22, 2026
f28f174
phpstan fixes
sc0ttkclark Feb 22, 2026
79bbebd
Remove unuseful Jest test
sc0ttkclark Feb 22, 2026
03c7757
Add output path
sc0ttkclark Feb 22, 2026
6791aea
Update codeception dump file for MySQL 5.5
sc0ttkclark Feb 22, 2026
2b7d290
Slic updates
sc0ttkclark Feb 22, 2026
330c7bb
Codeception / WP-Browser work
sc0ttkclark Feb 22, 2026
69a8bd0
More codeception wp-browser efforts
sc0ttkclark Feb 22, 2026
971f224
Ignore for phpstan
sc0ttkclark Feb 22, 2026
7f98fe6
Fix phpstan
sc0ttkclark Feb 22, 2026
ce8ac78
Warn when detecting shortcode parsing issues, handle replacements of …
sc0ttkclark Feb 22, 2026
b191ae3
Improve text content for notice
sc0ttkclark Feb 22, 2026
d0bc72d
Introduce new performance setting “Limit autocomplete search results …
sc0ttkclark Feb 22, 2026
14da00e
Add handling for compare operator in special template shortcodes
sc0ttkclark Feb 22, 2026
84be430
Fix sorting for list select
sc0ttkclark Feb 22, 2026
ee16aaa
Auto rebuild assets
sc0ttkclark Feb 22, 2026
0ff4728
Update readme
sc0ttkclark Feb 23, 2026
9dff004
Update plugin header
sc0ttkclark Feb 23, 2026
06e5861
Fix for codeception tests
sc0ttkclark Feb 23, 2026
c13822b
Plugin Checker fixes
sc0ttkclark Feb 23, 2026
8cbc96c
Test fixes
sc0ttkclark Feb 24, 2026
d684c6b
PHP Compat fixes
sc0ttkclark Feb 24, 2026
46900b3
Update WP in workflow
sc0ttkclark Feb 24, 2026
27636e5
Remove Builder component due to PHP compat and it was deprecated for …
sc0ttkclark Feb 24, 2026
82d3f4a
phpstan fixes
sc0ttkclark Feb 24, 2026
c88df12
Add Plugin Checker to workflows
sc0ttkclark Feb 24, 2026
3cd4683
Update WP in PHP tests workflow more forcefully
sc0ttkclark Feb 24, 2026
440deaf
Fix wp version checker workflow
sc0ttkclark Feb 24, 2026
ef66d5a
Fix plugin checker issue
sc0ttkclark Feb 24, 2026
cf044b7
Update workflow reference
sc0ttkclark Feb 24, 2026
3244237
Ignore warnings for action
sc0ttkclark Feb 24, 2026
d286bb6
More phpstan fixes
sc0ttkclark Feb 24, 2026
3a76aa5
phpstan fixes
sc0ttkclark Feb 24, 2026
67e3a4a
Update readme
sc0ttkclark Feb 24, 2026
361e524
Release prep
sc0ttkclark Feb 24, 2026
0d22f1c
3.3.5 RC 1
sc0ttkclark Feb 24, 2026
b0e0187
Force core update in CI
sc0ttkclark Feb 24, 2026
c9c26d7
Suite fixes
sc0ttkclark Feb 24, 2026
e0d5153
Update restv1 suite
sc0ttkclark Feb 24, 2026
a8e9bbb
Final fix to config
sc0ttkclark Feb 24, 2026
37aff95
Test fix
sc0ttkclark Feb 24, 2026
5f253f5
phpstan fixes
sc0ttkclark Feb 24, 2026
171145f
Fix composer JSON
sc0ttkclark Feb 24, 2026
e05a570
Pass secrets to flow
sc0ttkclark Feb 24, 2026
f3e2e20
Pods 3.3.5
sc0ttkclark Feb 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .distignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
# Dot-files
.babelrc
.distignore
.DS_Store
.editorconfig
.env
.env.example
Expand Down Expand Up @@ -55,6 +56,7 @@ phpstan.neon
phpunit.xml.dist
README.md
rollup.config.js
slic.json
TESTS.md
webpack.common.js
webpack.dev.js
Expand Down
64 changes: 0 additions & 64 deletions .env

This file was deleted.

16 changes: 0 additions & 16 deletions .env.example

This file was deleted.

72 changes: 0 additions & 72 deletions .env.testing.slic

This file was deleted.

2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ tests/_support/_generated/* linguist-generated=true
# Dot-files
.babelrc export-ignore
.distignore export-ignore
.DS_Store
.editorconfig export-ignore
.env export-ignore
.env.example export-ignore
Expand Down Expand Up @@ -62,6 +63,7 @@ phpstan.neon export-ignore
phpunit.xml.dist export-ignore
README.md export-ignore
rollup.config.js export-ignore
slic.json export-ignore
TESTS.md export-ignore
webpack.common.js export-ignore
webpack.dev.js export-ignore
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/tests-php.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
- name: Configure PHP environment
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
php-version: 8.2
# ------------------------------------------------------------------------------
# Checkout slic
# ------------------------------------------------------------------------------
Expand Down Expand Up @@ -86,6 +86,7 @@ jobs:
${SLIC_BIN} interactive off
${SLIC_BIN} build-prompt off
${SLIC_BIN} build-subdir off
${SLIC_BIN} php-version set 8.2 --skip-rebuild
${SLIC_BIN} xdebug off
${SLIC_BIN} composer-cache set /home/runner/.cache/composer
${SLIC_BIN} debug on
Expand All @@ -99,14 +100,17 @@ jobs:
docker network prune -f
${SLIC_BIN} use ${GITHUB_REPOSITORY#*/}
${SLIC_BIN} composer set-version 2
${SLIC_BIN} composer install
${SLIC_BIN} composer install --ignore-platform-reqs
# ------------------------------------------------------------------------------
# Init WordPress container
# ------------------------------------------------------------------------------
- name: Init the WordPress container
run: |
${SLIC_BIN} up wordpress
${SLIC_BIN} site-cli core version
${SLIC_BIN} site-cli core update
${SLIC_BIN} site-cli core update-db
${SLIC_BIN} site-cli core version
# ------------------------------------------------------------------------------
# Install and activate TwentyTwenty
# ------------------------------------------------------------------------------
Expand Down
60 changes: 54 additions & 6 deletions classes/Pods.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
<?php

// Don't load directly.
if ( ! defined( 'ABSPATH' ) ) {
die( '-1' );
}

use Pods\Data\Map_Field_Values;
use Pods\Whatsit\Object_Field;
use Pods\Whatsit\Field;
Expand Down Expand Up @@ -3358,6 +3363,19 @@ public function export_data( $params = null ) {
return $this->data->api->export( $this, $params );
}

/**
* Display the pagination controls, types supported by default
* are simple, paginate and advanced. The base and format parameters
* are used only for the paginate view.
*
* @since TBD
*
* @param array|object $params Associative array of parameters.
*/
public function output_pagination( $params = null ) {
echo $this->pagination( $params ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}

/**
* Display the pagination controls, types supported by default
* are simple, paginate and advanced. The base and format parameters
Expand Down Expand Up @@ -3441,6 +3459,17 @@ public function pagination( $params = null ) {

}

/**
* Return a filter form for searching a Pod
*
* @since TBD
*
* @param array|string $params Comma-separated list of fields or array of parameters.
*/
public function output_filters( $params = null ) {
echo $this->filters( $params ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}

/**
* Return a filter form for searching a Pod
*
Expand Down Expand Up @@ -3609,7 +3638,7 @@ public function helper( $helper, $value = null, $name = null ) {

// Clean up helper callback (if string).
if ( is_string( $params['helper'] ) ) {
$params['helper'] = strip_tags( str_replace( array( '`', chr( 96 ) ), "'", $params['helper'] ) );
$params['helper'] = wp_strip_all_tags( str_replace( array( '`', chr( 96 ) ), "'", $params['helper'] ) );
}

if ( ! pods_access_callback_allowed( $params['helper'], $params ) ) {
Expand All @@ -3622,10 +3651,10 @@ public function helper( $helper, $value = null, $name = null ) {
}

if ( $include_obj ) {
return apply_filters( $params['helper'], $value, $this );
return apply_filters( $params['helper'], $value, $this ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFound
}

return apply_filters( $params['helper'], $value );
return apply_filters( $params['helper'], $value ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFound
}

try {
Expand Down Expand Up @@ -3879,6 +3908,21 @@ public function template( $template_name, $code = null, $deprecated = false, $ch
return apply_filters( 'pods_template_content', $out, $code, $this );
}

/**
* Embed a form to add / edit a pod item from within your theme. Provide an array of $fields to include
* and override options where needed. For WP object based Pods, you can pass through the WP object
* field names too, such as "post_title" or "post_content" for example.
*
* @since TBD
*
* @param array $params (optional) Fields to show on the form, defaults to all fields.
* @param string $label (optional) Save button label, defaults to "Save Changes".
* @param string $thank_you (optional) Thank you URL to send to upon success.
*/
public function output_form( $params = null, $label = null, $thank_you = null ) {
echo $this->form( $params, $label, $thank_you ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}

/**
* Embed a form to add / edit a pod item from within your theme. Provide an array of $fields to include
* and override options where needed. For WP object based Pods, you can pass through the WP object
Expand Down Expand Up @@ -4208,10 +4252,14 @@ public function view( $view_fields = null ) {
$field['name'] = $to_merge['name'];
}

if ( pods_v( 'hidden', $field, false, true ) || 'hidden' === $field['type'] ) {
if ( pods_v_bool( 'hidden', $field ) || 'hidden' === $field['type'] ) {
continue;
} elseif ( ! pods_permission( $field ) ) {
continue;
if ( pods_v_bool( 'read_only_restricted', $field ) ) {
$field['read_only'] = true;
} else {
continue;
}
}

$fields[ $field['name'] ] = $field;
Expand Down Expand Up @@ -4254,7 +4302,7 @@ public function do_magic_tags( $code ) {

if ( ! is_string( $code ) ) {
_doing_it_wrong( __FUNCTION__, 'Pods::do_magic_tags() must be given a string, a non-string was provided.', '3.3.2' );
pods_debug_log( 'Pods::do_magic_tags() called with non-string: ' . var_export( $code, true ) );
pods_debug_log( 'Pods::do_magic_tags() called with non-string: ' . wp_json_encode( $code, JSON_PRETTY_PRINT ) );

return '';
}
Expand Down
Loading
Loading