Completed
Push — master ( a8ef06...de0a9e )
by
unknown
02:00 queued 10s
created

editus_table::scripts()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 8
rs 10
c 0
b 0
f 0
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-2020 Aesopinteractive 
9
 *
10
 * Plugin Name:       Editus
11
 * Plugin URI:        http://edituswp.com
12
 * Description:       Front-end editor and story builder.
13
 * Version:           1.2.7
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.2.7' );
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( ) );
0 ignored issues
show
Documentation introduced by
array() is of type array, but the function expects a string.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
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
Duplication introduced by
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 ) {
0 ignored issues
show
Unused Code introduced by
The parameter $request is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
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
105
106
//table codes to be added
107
class editus_table {
108
    
109
    public function __construct(){
110
        $add_table = lasso_editor_get_option('add_table', 'lasso_editor', false);
0 ignored issues
show
Documentation introduced by
false is of type boolean, but the function expects a string.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
111
        if ($add_table) {
112
            add_action('wp_enqueue_scripts', array($this,'scripts'));
113
            
114
        }
115
	}
116
    
117
    function scripts()
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
118
    {
119
        add_action('lasso_editor_controls_after_outside', array($this,'editus_table_edit_menu'));
120
            add_filter('lasso_components',array($this,'editus_components_add_table'),10,1);
121
            add_action( 'lasso_toolbar_components', array($this,'editus_toolbar_components_add_table'), 10 );
122
            wp_enqueue_style( 'editus-table-style', LASSO_URL.  '/public/assets/css/editus-table-edit-public.css', LASSO_VERSION, true );
123
            wp_enqueue_script( 'editus_table',  LASSO_URL. '/public/assets/js/editus-table-edit-public.js', array( 'jquery' ), LASSO_VERSION, true );
124
    }
125
    
126
    function editus_table_edit_menu()
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
127
    { ?>
128
129
        <ul class='editus-table-menu'>
130
          <li data-action="insertcol"><?php echo __('Insert Column','lasso')?></li>
131
          <li data-action="insertrow"><?php echo __('Insert Row','lasso')?></li>
132
          <li data-action="delcol"><?php echo __('Delete Column','lasso')?></li>
133
          <li data-action="delrow"><?php echo __('Delete Row','lasso')?></li>
134
        </ul>
135
    <?php
136
    }
137
    
138
    
139
    function editus_html_table()
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
140
    {
141
         return '<figure class="wp-block-table"><table><tr><th>Cell 1</th><th>Cell 2</th></tr><tr><td>Cell 3</td><td>Cell 4</td></tr></table></figure>';
142
    }
143
144
145
    function editus_components_add_table( $array ){
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
146
        $custom = array(
147
               'htmltable' => array(
148
                         'name'    => __('HTML Table','lasso'),
149
                          'content' => self::editus_html_table(),
150
                )
151
        );
152
        return array_merge( $array, $custom );
153
    }
154
155
156
    function editus_toolbar_components_add_table( ) {
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
157
          ?>
158
          <li data-type="htmltable" title="<?php esc_attr_e( 'HTML Table', 'lasso' );?>" class="quote lasso-toolbar--component__htmltable dashicons dashicons-grid-view"></li>
159
          <?php
160
    }
161
}
162
163
164
new editus_table();
165
166