| Server IP : 66.29.153.156 / Your IP : 216.73.216.226 Web Server : LiteSpeed System : Linux premium322.web-hosting.com 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64 User : lastyfjz ( 1521) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/lastyfjz/www/wp-content/plugins/wpforms-lite/src/Admin/Base/Tables/Facades/ |
Upload File : |
<?php
namespace WPForms\Admin\Base\Tables\Facades;
/**
* Column facade class.
*
* Hides the complexity of columns' collection behind a simple interface.
*
* @since 1.8.6
*/
abstract class ColumnsBase {
/**
* Get columns.
*
* Returns all possible columns.
*
* @since 1.8.6
*
* @return array Array of columns as objects.
*/
protected static function get_all(): array {
return [];
}
/**
* Get columns' keys for the columns which user selected to be displayed.
*
* It returns an array of keys in the order they should be displayed.
* It returns draggable and non-draggable columns.
*
* @since 1.8.6
*
* @return array
*/
public static function get_selected_columns_keys(): array {
return [];
}
/**
* Check if the form has selected columns.
*
* @since 1.8.6
*
* @return bool
*/
public static function has_selected_columns(): bool {
return ! empty( static::get_selected_columns_keys() );
}
/**
* Get columns' keys for the columns which the user has not selected to be displayed.
*
* It returns draggable and non-draggable columns.
*
* @since 1.8.6
*
* @return array
*/
public static function get_not_selected_columns_keys(): array {
$selected = static::get_selected_columns_keys();
$all = array_keys( static::get_all() );
return array_diff( $all, $selected );
}
/**
* Validate column key.
*
* @since 1.8.6
*
* @param string|int $key Column key.
*
* @return bool
*/
public static function validate_column_key( $key ): bool {
return isset( static::get_all()[ $key ] );
}
}