plugin_name = $plugin_name;
$this->version = $version;
$this->settings = $settings;
}
/**
* Initialize extranet metabox
*
* @since 1.3
*/
public function init_extranet_domain( $domains )
{
$options = array_map( function ( $value ) {
return [ 'option' => $value['kiosque_url'], 'text' => $value['kiosque_url'] ];
}, $domains );
$this->extranet_domain['options'] = array_filter( $options, function ( $option ) {
return $option['option'] != "";
} );
}
/**
* Add extranet metabox
*
* @since 1.3
*/
public function add_extranet_metabox()
{
$domains = $this->fetch_parent_domain();
if( $domains )
{
$this->init_extranet_domain( $domains );
if( count( $this->extranet_domain['options'] ) > 0 )
{
add_meta_box( 'extranet_domain_metabox', 'Extranet Domain', array( $this, 'extranet_box_html' ), 'page', 'side' );
}
}
}
/**
* Extranet metabox content
*
* @param $post
*/
public function extranet_box_html( $post )
{
$value = get_post_meta( $post->ID, Aec_Admin_Page_Settings::META_NAME, true );
wp_nonce_field( Aec_Admin_Page_Settings::NONCE_ACTION, Aec_Admin_Page_Settings::NONCE_KEY );
?>
extranet_domain_on_delete( $postID );
}
return $postID;
}
/**
* Extranet metabox delete
*
* @param $postID
* @return mixed
*/
public function extranet_domain_on_delete( $postID )
{
delete_post_meta( $postID, Aec_Admin_Page_Settings::META_NAME );
return $postID;
}
private function fetch_parent_domain()
{
$response = wp_remote_get( $this->settings['app_url'] . '/api/private/wp-editor/v1/establishments?returnParent=true', array( 'headers' => array( 'api_key' => $this->settings['api_key'] ) ) );
if( !is_wp_error( $response ) && !empty($response['body']) )
{
$body = json_decode( $response['body'], true );
if( array_key_exists( 'message', $body ) )
{
return null;
}
else
{
return $body;
}
}
else
{
return null;
}
}
}