Current File : /home/resuelf/www/wp-content/plugins/auto-post-thumbnail/libs/factory/forms/controls/wp-editor.php |
<?php
/**
* WP Editor Control
*
* Main options:
* name => a name of the control
* value => a value to show in the control
* default => a default value of the control if the "value" option is not specified
* tinymce => an array of options for tinymce
* @link http://codex.wordpress.org/Function_Reference/wp_editor
*
* @author Alex Kovalev <[email protected]>
* @copyright (c) 2018, Webcraftic Ltd
*
* @package factory-forms
* @since 1.0.0
*/
// Exit if accessed directly
if( !defined('ABSPATH') ) {
exit;
}
if( !class_exists('Wbcr_FactoryForms463_WpEditorControl') ) {
class Wbcr_FactoryForms463_WpEditorControl extends Wbcr_FactoryForms463_Control {
public $type = 'wp-editor';
/**
* Preparing html attributes and options for tinymce.
*
* @since 1.0.0
* @return void
*/
protected function beforeHtml()
{
if( empty($this->options['tinymce']) ) {
$this->options['tinymce'] = array();
}
if( !isset($this->options['tinymce']['content_css']) ) {
$this->options['tinymce']['content_css'] = FACTORY_FORMS_463_URL . '/assets/css/editor.css';
}
}
/**
* Shows the html markup of the control.
*
* @since 1.0.0
* @return void
*/
public function html()
{
$name_on_form = $this->getNameOnForm();
$value = $this->getValue();
?>
<div class='factory-form-wp-editor'>
<?php wp_editor($value, $name_on_form, array(
'textarea_name' => $name_on_form,
'wpautop' => false,
'teeny' => true,
'tinymce' => $this->getOption('tinymce', array()),
'editor_height' => 213, // In pixels, takes precedence and has no default value
'textarea_rows' => 10, // Has no visible effect if editor_height is set, default is 20
)); ?>
</div>
<?php
}
/**
* Returns a submit value of the control by a given name.
*
* @since 1.0.0
* @return mixed
*/
public function getSubmitValue($name, $subName)
{
$name_on_form = $this->getNameOnForm($name);
$value = isset($_POST[$name_on_form])
? $_POST[$name_on_form]
: null;
if( is_array($value) ) {
$value = implode(',', $value);
}
return wp_kses_post($value);
}
}
}