<?php
/**
* Prepare notice content and classes sent tp browser
*
* Wrapper for multi-location filters
*
* @package Caldera_Forms
* @author Josh Pollock <[email protected]>
* @license GPL-2.0+
* @link
* @copyright 2016 CalderaWP LLC
*/
class Caldera_Forms_Render_Notices {
public static function get_note_general_classes( array $form ){
/**
* Filter notices to be returned to browser
*
* @since unknown
*
* @param array $classes Classes to use
* @param array $form Form config
*/
return apply_filters( 'caldera_forms_render_note_general_classes', array(
'alert'
), $form );
}
/**
* Prepare notices to retrun to browser
*
* @since 1.5.0
*
* @param array $notices Notices to display, by type
* @param array $form Form config
*
* @return array
*/
public static function prepare_notices( array $notices = array(), array $form ){
/**
* Filter final HTML for notices
*
* @since unknown
*
* @param string $notice Notices HTML
* @param array $config Form config
*/
return apply_filters( 'caldera_forms_render_notices', $notices, $form);
}
/**
* Get, with filter, notification classes to use for errors/success messages, etc.
*
* @since 1.5.0
* @param array $note_general_classes
* @param array $form
*
* @return array
*/
public static function get_note_classes( array $note_general_classes, array $form ){
$note_classes = array(
'success' => array_merge($note_general_classes, array(
'alert-success'
)),
'error' => array_merge($note_general_classes, array(
'alert-error'
)),
'info' => array_merge($note_general_classes, array(
'alert-info'
)),
'warning' => array_merge($note_general_classes, array(
'alert-warning'
)),
'danger' => array_merge($note_general_classes, array(
'alert-danger'
)),
);
/**
* Filter notice classes
*
* @since unkown
*
* @param array $note_classes Note classes to return
* @param array $form Form config
*/
return apply_filters( 'caldera_forms_render_note_classes', $note_classes, $form);
}
/**
* Create HTML string from notices
*
* @since 1.5.0
*
* @param array $notices Notices to display
* @param array $note_classes Notices classes to use
*
* @return string
*/
public static function html_from_notices( array $notices, array $note_classes ){
$html = '';
foreach($notices as $note_type => $notice){
if(!empty($notice['note'])){
$result = Caldera_Forms::do_magic_tags( $notice['note'] );
$html .= '<div class=" '. implode(' ', $note_classes[$note_type]) . '">' . Caldera_Forms_Sanitize::remove_scripts($result ) .'</div>';
}
}
return $html;
}
} |