This commit is contained in:
Hoang Huu 2019-09-26 14:06:11 +07:00
parent 8010b9ca34
commit 251eaf8ac5
2 changed files with 24 additions and 15 deletions

@ -11,11 +11,6 @@ if ( ! defined( 'ABSPATH' ) ) {
}
class Opalestate_Field_Iconpicker {
/**
* @var array
*/
protected static $icon_data = [];
/**
* Current version number
*/
@ -24,22 +19,35 @@ class Opalestate_Field_Iconpicker {
/**
* Initialize the plugin by hooking into CMB2
*/
public static function init() {
$icons = new Fontawesome();
static::$icon_data[] = $icons->get_icons();
public function __construct() {
add_filter( 'cmb2_render_opal_iconpicker', [ $this, 'render_iconpicker' ], 10, 5 );
add_filter( 'cmb2_sanitize_opal_iconpicker', [ $this, 'sanitize' ], 10, 4 );
}
add_filter( 'cmb2_render_opal_iconpicker', [ __CLASS__, 'render_iconpicker' ], 10, 5 );
add_filter( 'cmb2_sanitize_opal_iconpicker', [ __CLASS__, 'sanitize' ], 10, 4 );
public function get_icons() {
$fontawesome_key = 'opalestate_fontawesome_data';
$icon_data = [];
if ( false === ( $fontawesome_icons = get_transient( $fontawesome_key ) ) ) {
$fontawesome = new Opalestate_Iconpicker_Fontawesome();
$fontawesome_icons = $fontawesome->get_icons();
set_transient( $fontawesome_key, $fontawesome_icons, 24 * 7 * HOUR_IN_SECONDS );
$icon_data[] = $fontawesome_icons;
}
var_dump($icon_data);
return $icon_data;
}
/**
* Render field.
*/
public static function render_iconpicker( $field, $field_escaped_value, $field_object_id, $field_object_type, $field_type_object ) {
self::setup_admin_scripts();
public function render_iconpicker( $field, $field_escaped_value, $field_object_id, $field_object_type, $field_type_object ) {
$this->setup_admin_scripts();
$users = $field->value;
var_dump($this->get_icons());
// $output = sprintf(
// '<select id="%1$s" class="%2$s" name="%3$s">',
// sanitize_key( $this->form->form_id . $args['id'] ),
@ -60,14 +68,14 @@ class Opalestate_Field_Iconpicker {
/**
* Sanitize data.
*/
public static function sanitize( $override_value, $value, $object_id, $field_args ) {
public function sanitize( $override_value, $value, $object_id, $field_args ) {
return $value;
}
/**
* Enqueue scripts and styles.
*/
public static function setup_admin_scripts() {
public function setup_admin_scripts() {
// Iconpicker.
wp_register_style( 'fonticonpicker', plugins_url( 'assets/css/jquery.fonticonpicker.min.css', __FILE__ ), [], self::VERSION );
wp_register_style( 'fonticonpicker-grey-theme', plugins_url( 'assets/themes/grey-theme/jquery.fonticonpicker.grey.min.css', __FILE__ ), [], self::VERSION );
@ -77,4 +85,4 @@ class Opalestate_Field_Iconpicker {
}
}
Opalestate_Field_Iconpicker::init();
new Opalestate_Field_Iconpicker();

@ -35,6 +35,7 @@ function opalestate_load_cmb2_files() {
}
if ( file_exists( OPALESTATE_CMB2_DIR . 'custom-fields/iconpicker/iconpicker.php' ) ) {
require_once OPALESTATE_CMB2_DIR . 'custom-fields/iconpicker/providers/fontawesome.php';
require_once OPALESTATE_CMB2_DIR . 'custom-fields/iconpicker/iconpicker.php';
}