PluginProbe
Boxzilla – WordPress Popup Builder / 3.2.17
Boxzilla – WordPress Popup Builder v3.2.17
3.4.11 3.4.10 3.4.9 3.4.3 3.4.4 3.4.5 3.4.6 3.4.7 3.4.8 trunk 3.0 3.0.1 3.0.2 3.0.3 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 All 72 releases
boxzilla / src / default-actions.php

default-actions.php in Boxzilla – WordPress Popup Builder 3.2.17, at src/default-actions.php

79 lines 3.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 defined( 'ABSPATH' ) or exit;
4
5 $boxzilla = boxzilla();
6
7 // Register custom post type
8 add_action(
9 'init',
10 function () use ( $boxzilla ) {
11 $args = array(
12 'public' => false,
13 'labels' => array(
14 'name' => __( 'Boxzilla', 'boxzilla' ),
15 'singular_name' => __( 'Box', 'boxzilla' ),
16 'add_new' => __( 'Add New', 'boxzilla' ),
17 'add_new_item' => __( 'Add New Box', 'boxzilla' ),
18 'edit_item' => __( 'Edit Box', 'boxzilla' ),
19 'new_item' => __( 'New Box', 'boxzilla' ),
20 'all_items' => __( 'All Boxes', 'boxzilla' ),
21 'view_item' => __( 'View Box', 'boxzilla' ),
22 'search_items' => __( 'Search Boxes', 'boxzilla' ),
23 'not_found' => __( 'No Boxes found', 'boxzilla' ),
24 'not_found_in_trash' => __( 'No Boxes found in Trash', 'boxzilla' ),
25 'parent_item_colon' => '',
26 'menu_name' => __( 'Boxzilla', 'boxzilla' ),
27 ),
28 'show_ui' => true,
29 'menu_position' => '108.1337133',
30 'menu_icon' => 'data:image/svg+xml;base64,' . base64_encode( '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="0 0 16 16" width="16" height="16"><defs><path d="M0 0L16 0L16 16L0 16L0 16L0 0ZM6.72 13.59L6.72 12.47L7.71 13.28L8.94 13.59L10.17 13.28L11.17 12.46L11.85 11.25L12.1 9.76L11.85 8.27L11.17 7.05L10.17 6.23L8.94 5.93L7.71 6.23L6.72 7.04L6.72 2.27L4.16 2.27L4.16 13.59L4.16 13.59L6.72 13.59ZM9.93 9.03L10.06 9.76L9.93 10.49L9.56 11.08L9.01 11.48L8.35 11.63L7.68 11.48L7.13 11.08L6.76 10.49L6.72 10.26L6.72 9.25L6.76 9.03L7.13 8.43L7.68 8.03L8.35 7.88L9.01 8.03L9.56 8.43L9.56 8.43L9.93 9.03Z" id="c1kAiZqIlD"></path></defs><g><g><g><use xlink:href="#c1kAiZqIlD" opacity="1" fill="#a0a5aa" fill-opacity="1"></use></g></g></g></svg>' ),
31 'query_var' => false,
32 'capability_type' => 'box',
33 'capabilities' => array(
34 'edit_post' => 'edit_box',
35 'edit_posts' => 'edit_boxes',
36 'edit_others_posts' => 'edit_other_boxes',
37 'publish_posts' => 'publish_boxes',
38 'read_post' => 'read_box',
39 'read_private_posts' => 'read_private_box',
40 'delete_posts' => 'delete_box',
41 ),
42 );
43
44 register_post_type( 'boxzilla-box', $args );
45
46 add_shortcode( 'boxzilla_link', 'boxzilla_get_link_html' );
47 }
48 );
49
50 add_action(
51 'admin_init',
52 function () {
53 $admins = get_role( 'administrator' );
54
55 if ( ! $admins->has_cap( 'edit_box' ) ) {
56 $admins->add_cap( 'edit_box' );
57 $admins->add_cap( 'edit_boxes' );
58 $admins->add_cap( 'edit_other_boxes' );
59 $admins->add_cap( 'publish_boxes' );
60 $admins->add_cap( 'read_box' );
61 $admins->add_cap( 'read_private_box' );
62 $admins->add_cap( 'delete_box' );
63 }
64 }
65 );
66
67 function boxzilla_get_link_html( $args = array(), $content = '' ) {
68 $valid_actions = array(
69 'show',
70 'toggle',
71 'hide',
72 'dismiss',
73 );
74 $box_id = empty( $args['box'] ) ? '' : absint( $args['box'] );
75 $class_attr = empty( $args['class'] ) ? '' : esc_attr( $args['class'] );
76 $action = empty( $args['action'] ) || ! in_array( $args['action'], $valid_actions, true ) ? 'show' : $args['action'];
77 return sprintf( '<a href="javascript:Boxzilla.%s(%s)" class="%s">', $action, $box_id, $class_attr ) . $content . '</a>';
78 }
79