| Server IP : 78.24.162.143 / Your IP : 216.73.217.110 Web Server : Apache System : Linux hosting.cormo.systems 5.15.0-179-generic #189-Ubuntu SMP Tue May 5 18:20:56 UTC 2026 x86_64 User : web63 ( 5058) PHP Version : 7.4.33 Disable Function : create_functions,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/clients/client34/web63/web/wp-content/plugins/pods/src/Pods/Tools/ |
Upload File : |
<?php
namespace Pods\Tools;
use PodsAPI;
use WP_CLI;
/**
* Base tool functionality.
*
* @since 2.9.10
*/
class Base {
/**
* @var PodsAPI
*/
protected $api;
/**
* @var array
*/
protected $errors = [];
/**
* Setup the tool.
*
* @since 2.9.10
*/
protected function setup() {
if ( ! $this->api ) {
$this->api = pods_api();
}
}
/**
* Get the message HTML from the results.
*
* @since 2.9.10
*
* @param string $tool_heading The tool heading text.
* @param array $results The tool results.
* @param null|string $mode The tool mode.
*
* @return string The message HTML.
*/
protected function get_message_html( $tool_heading, array $results, $mode = null ) {
$using_cli = defined( 'WP_CLI' );
$messages = [];
if ( $tool_heading ) {
if ( $using_cli ) {
WP_CLI::line( '=== ' . $tool_heading . ' ===' );
} else {
$messages[] = sprintf(
'<h3>%s</h3>',
$tool_heading
);
}
}
if ( 'preview' === $mode ) {
$results = array_merge(
[
__( 'Preview Mode Active', 'pods' ) => __( 'These results did not add or change anything in the database.', 'pods' ),
],
$results
);
}
$has_errors = ! empty( $this->errors );
$errors_heading = __( 'Errors', 'pods' );
if ( $has_errors ) {
$results[ $errors_heading ] = $this->errors;
}
foreach ( $results as $heading => $result_set ) {
if ( ! is_array( $result_set ) ) {
$result_set = (array) $result_set;
}
if ( empty( $result_set ) ) {
$result_set[] = __( 'No actions were needed.', 'pods' );
}
if ( $using_cli ) {
if ( $errors_heading === $heading ) {
WP_CLI::warning( $heading . '...' );
foreach ( $result_set as $result ) {
WP_CLI::warning( '- ' . $result );
}
} else {
WP_CLI::line( $heading . '...' );
foreach ( $result_set as $result ) {
WP_CLI::line( '- ' . $result );
}
}
} else {
$messages[] = sprintf(
'<h4>%1$s</h4><ul class="ul-disc"><li>%2$s</li></ul>',
esc_html( $heading ),
implode( '</li><li>', array_map( 'esc_html', $result_set ) )
);
}
}
$total_messages = count( $messages );
$total_check = $tool_heading ? 1 : 0;
if ( $total_messages <= $total_check ) {
if ( $using_cli ) {
WP_CLI::warning( __( 'No actions were needed.', 'pods' ) );
} else {
$messages[] = esc_html__( 'No actions were needed.', 'pods' );
}
}
if ( $using_cli ) {
if ( $has_errors ) {
WP_CLI::error( __( 'This tool was unable to complete', 'pods' ) );
}
return '';
}
return wpautop( implode( "\n\n", $messages ) );
}
}