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
|
|||
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 |
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.