Sid Gifari File Manager
🏠 Root
/
home
/
genremedia08
/
thepassage.overlookedtracks.com
/
wp-content9
/
plugins
/
wp-job-manager
/
includes
/
ui
/
Editing: class-notice.php
<?php /** * Notice component for the frontend. * * @package wp-job-manager * @since 2.2.0 */ namespace WP_Job_Manager\UI; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Notice component for the frontend. * * @since 2.2.0 * * @internal This API is still under development and subject to change. * @access private */ class Notice { /** * A success message. * * @param string|array $args A message, or an array of options accepted by Notice::render. */ public static function success( $args ) { $args = is_array( $args ) ? $args : [ 'message' => $args ]; return self::render( array_merge( [ 'icon' => 'check-circle' ], $args ) ); } /** * An error message. * * @param string|array $args A message, or an array of options accepted by Notice::render. */ public static function error( $args ) { $args = is_array( $args ) ? $args : [ 'message' => $args ]; return self::render( array_merge( [ 'icon' => 'alert' ], $args, [ 'classes' => array_merge( [ 'color-error' ], $args['classes'] ?? [] ), ] ) ); } /** * A permanent informational message. * * @param string|array $args A message, or an array of options accepted by Notice::render. */ public static function hint( $args ) { $args = is_array( $args ) ? $args : [ 'message' => $args ]; return self::render( array_merge( $args, [ 'classes' => array_merge( [ 'type-hint' ], $args['classes'] ?? [] ), ], ) ); } /** * A permanent message that requires action to proceed. * * @param string|array $args */ public static function dialog( $args ) { $args = is_array( $args ) ? $args : [ 'message' => $args ]; return self::render( array_merge( $args, [ 'classes' => array_merge( [ 'type-dialog' ], $args['classes'] ?? [] ), ] ) ); } /** * Notice element. * * @param array $options { * Options for the notice. * * @type string $id Unique ID of the notice. * @type string $title Optional title. * @type string $icon Notice icon. Should be a supported icon name, or safe SVG code. * @type string $message Main notice message. * @type string $html Raw HTML content. User input must be escaped by the caller function. * @type array $buttons Action links styled as buttons. * @type array $links Action links. * @type array $classes Additional classes for the notice. Possible options: * color-error: Error-style coloring. * color-success: Green highlight. * color-info: Blue highlight. * color-strong: Stronger border opacity highlight. * type-hint: Variation for a persistent hint. * message-icon: Show the icon next to the message instead of the title. * alignwide: Wide notice, with actions on the side. * } * * @return string HTML. */ public static function render( $options ) { UI::ensure_styles(); $options = wp_parse_args( $options, [ 'id' => '', 'title' => '', 'icon' => '', 'message' => '', 'html' => '', 'buttons' => [], 'links' => [], 'classes' => [], ] ); $actions = UI_Elements::actions( $options['buttons'], $options['links'] ); $icon = UI_Elements::icon( $options['icon'] ); ob_start(); $template_options = [ 'options' => $options, 'title' => $options['title'], 'classes' => $options['classes'] ?? [], 'message' => $options['message'], 'content_html' => $options['html'], 'icon_html' => $icon, 'actions_html' => $actions, ]; get_job_manager_template( 'notice.php', $template_options ); $notice_html = ob_get_clean(); /** * Filters notices. Return false to disable the notice. * * @since 2.2.0 * * @param string $notice_html Generated HTML for the notice. * @param array $options Notice template options. */ $notice_html = apply_filters( 'wpjm_notice', $notice_html, $template_options ); if ( ! empty( $options['id'] ) ) { /** * Filters an individual notice. Return false to disable the notice. * * @since 2.2.0 * * @param string $notice_html Generated HTML for the notice. * @param array $options Notice template options. */ $notice_html = apply_filters( 'wpjm_notice_' . $options['id'], $notice_html, $template_options ); } return is_string( $notice_html ) ? $notice_html : ''; } }
Save
Cancel