Completed
Push — master ( 5cb871...4266b4 )
by
unknown
01:53
created

lasso.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
/**
3
 *
4
 *
5
 * @package   Editus
6
 * @author    Hyun Supul <[email protected]>, Nick Haskins <[email protected]>
7
 * @link      http://edituswp.com
8
 * @copyright 2015-2018 Aesopinteractive 
9
 *
10
 * Plugin Name:       Editus
11
 * Plugin URI:        http://edituswp.com
12
 * Description:       Front-end editor and story builder.
13
 * Version:           1.0.6
14
 * Author:            Aesopinteractive 
15
 * Author URI:        http://aesopinteractive.com
16
 * Text Domain:       lasso
17
 * Domain Path:       /languages
18
 */
19
20
// If this file is called directly, abort.
21
if ( ! defined( 'WPINC' ) ) {
22
	die;
23
}
24
25
// Set some constants
26
define( 'LASSO_VERSION', '1.0.6' );
27
define( 'LASSO_DIR', plugin_dir_path( __FILE__ ) );
28
define( 'LASSO_URL', plugins_url( '', __FILE__ ) );
29
define( 'LASSO_FILE', __FILE__ );
30
31
/**
32
 * Load plugin if PHP version is 5.4 or later.
33
 */
34
if ( version_compare( PHP_VERSION, '5.4.0', '>=' ) ) {
35
36
	include_once( LASSO_DIR . '/bootstrap.php' );
37
38
} else {
39
40
	add_action('admin_head', 'lasso_fail_notice');
41
	function lasso_fail_notice(){
42
43
		printf('<div class="error"><p>Editus requires PHP 5.4 or higher.</p></div>');
44
45
	}
46
}
47
48
add_filter('register_post_type_args', 'lasso_show_in_rest', 10, 2);
49
function lasso_show_in_rest($args, $post_type){
50
 
51
    $allowed_post_types = lasso_editor_get_option( 'allowed_post_types', 'lasso_editor', array( ) );
52
	$allowed_post_types = apply_filters( 'lasso_allowed_post_types', $allowed_post_types );
53
	if (in_array( $post_type,$allowed_post_types)) {
54
		$args['show_in_rest'] = true;
55
		if ($post_type != 'post' && $post_type != 'page') {
56
			$args['rest_base'] = $post_type;
57
		}
58
	}
59
 
60
    return $args;
61
}
62
63
64 View Code Duplication
function lasso_editor_get_option( $option, $section, $default = '' ) {
0 ignored issues
show
This function seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
65
66
	if ( empty( $option ) )
67
		return;
68
69
	if ( function_exists( 'is_multisite' ) && is_multisite() ) {
70
71
		$options = get_site_option( $section );
72
73
	} else {
74
75
		$options = get_option( $section );
76
	}
77
78
	if ( isset( $options[$option] ) ) {
79
		return $options[$option];
80
	}
81
82
	return $default;
83
}
84
85
register_meta('user', 'lasso_hide_tour', array(
86
  "type" => "string",
87
  "show_in_rest" => true // this is the key part
88
));
89
90
// Gutenberg
91
if( function_exists( 'is_gutenberg_page' ) ) {
92
	function add_raw_to_post( $response, $post, $request ) {
93
		$response_data = $response->get_data();
94
		if ( is_array( $response_data['content'] )) {
95
			$response_data['content']['raw'] =  $post->post_content ;
96
			$response->set_data( $response_data );
97
		}
98
99
		return $response;
100
	}
101
	add_filter( "rest_prepare_post", 'add_raw_to_post', 10, 3 );
102
}
103
104