PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 1.4.2.3
Visualizer – Tables & Charts Manager with Built-in AI Generator v1.4.2.3
4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 3.10.4 All 148 releases
visualizer / classes / Visualizer / Render / Library.php

Library.php in Visualizer – Tables & Charts Manager with Built-in AI Generator 1.4.2.3, at classes/Visualizer/Render/Library.php

171 lines 6.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 // +----------------------------------------------------------------------+
4 // | Copyright 2013 Madpixels (email : visualizer@madpixels.net) |
5 // +----------------------------------------------------------------------+
6 // | This program is free software; you can redistribute it and/or modify |
7 // | it under the terms of the GNU General Public License, version 2, as |
8 // | published by the Free Software Foundation. |
9 // | |
10 // | This program is distributed in the hope that it will be useful, |
11 // | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 // | GNU General Public License for more details. |
14 // | |
15 // | You should have received a copy of the GNU General Public License |
16 // | along with this program; if not, write to the Free Software |
17 // | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, |
18 // | MA 02110-1301 USA |
19 // +----------------------------------------------------------------------+
20 // | Author: Eugene Manuilov <eugene@manuilov.org> |
21 // +----------------------------------------------------------------------+
22
23 /**
24 * Renders visualizer library page.
25 *
26 * @category Visualizer
27 * @package Render
28 *
29 * @since 1.0.0
30 */
31 class Visualizer_Render_Library extends Visualizer_Render {
32
33 /**
34 * Renders chart's box block.
35 *
36 * @since 1.0.0
37 *
38 * @access private
39 * @param string $placeholder_id The placeholder's id for the chart.
40 * @param int $chart_id The id of the chart.
41 */
42 private function _renderChartBox( $placeholder_id, $chart_id ) {
43 $ajax_url = admin_url( 'admin-ajax.php' );
44
45 $delete_url = add_query_arg( array(
46 'action' => Visualizer_Plugin::ACTION_DELETE_CHART,
47 'nonce' => wp_create_nonce(),
48 'chart' => $chart_id,
49 ), $ajax_url );
50
51 $clone_url = add_query_arg( array(
52 'action' => Visualizer_Plugin::ACTION_CLONE_CHART,
53 'nonce' => wp_create_nonce( Visualizer_Plugin::ACTION_CLONE_CHART ),
54 'chart' => $chart_id,
55 'type' => $this->type,
56 ), $ajax_url );
57
58 echo '<div class="visualizer-chart">';
59 echo '<div id="', $placeholder_id, '" class="visualizer-chart-canvas">';
60 echo '<img src="', VISUALIZER_ABSURL, 'images/ajax-loader.gif" class="loader">';
61 echo '</div>';
62 echo '<div class="visualizer-chart-footer visualizer-clearfix">';
63 echo '<a class="visualizer-chart-action visualizer-chart-delete" href="', $delete_url, '" title="', esc_attr__( 'Delete', Visualizer_Plugin::NAME ), '" onclick="return showNotice.warn();"></a>';
64 echo '<a class="visualizer-chart-action visualizer-chart-clone" href="', $clone_url, '" title="', esc_attr__( 'Clone', Visualizer_Plugin::NAME ), '"></a>';
65 echo '<a class="visualizer-chart-action visualizer-chart-edit" href="javascript:;" title="', esc_attr__( 'Edit', Visualizer_Plugin::NAME ), '" data-chart="', $chart_id, '"></a>';
66
67 echo '<span class="visualizer-chart-shortcode" title="', esc_attr__( 'Click to select', Visualizer_Plugin::NAME ), '">';
68 echo '&nbsp;[visualizer id=&quot;', $chart_id, '&quot;]&nbsp;';
69 echo '</span>';
70 echo '</div>';
71 echo '</div>';
72 }
73
74 /**
75 * Renders library content.
76 *
77 * @since 1.0.0
78 *
79 * @access private
80 */
81 private function _renderLibrary() {
82 echo '<div id="visualizer-types" class="visualizer-clearfix">';
83 echo '<ul>';
84 foreach ( $this->types as $type => $label ) {
85 echo '<li class="visualizer-list-item">';
86 if ( $type == $this->type ) {
87 echo '<a class="page-numbers current" href="', add_query_arg( 'vpage', false ), '">';
88 echo $label;
89 echo '</a>';
90 } else {
91 echo '<a class="page-numbers" href="', add_query_arg( array( 'type' => $type, 'vpage' => false ) ), '">';
92 echo $label;
93 echo '</a>';
94 }
95 echo '</li>';
96 }
97 echo '</ul>';
98 echo '</div>';
99
100 if ( !empty( $this->charts ) ) {
101 echo '<div id="visualizer-library" class="visualizer-clearfix">';
102 foreach ( $this->charts as $placeholder_id => $chart ) {
103 $this->_renderChartBox( $placeholder_id, $chart['id'] );
104 }
105 echo '</div>';
106
107 if ( is_array( $this->pagination ) ) {
108 echo '<ul class="visualizer-library-pagination">';
109 foreach ( $this->pagination as $page ) {
110 echo '<li class="visualizer-list-item">', $page, '</li>';
111 }
112 echo '</ul>';
113 }
114 } else {
115 echo '<div id="visualizer-library" class="visualizer-clearfix">';
116 echo '<div class="visualizer-chart">';
117 echo '<div class="visualizer-chart-canvas visualizer-nochart-canvas">';
118 echo '<div class="visualizer-notfound">', esc_html__( 'No charts found', Visualizer_Plugin::NAME ), '</div>';
119 echo '</div>';
120 echo '<div class="visualizer-chart-footer visualizer-clearfix">';
121 echo '<span class="visualizer-chart-action visualizer-nochart-delete"></span>';
122 echo '<span class="visualizer-chart-action visualizer-nochart-clone"></span>';
123 echo '<span class="visualizer-chart-action visualizer-nochart-edit"></span>';
124
125 echo '<span class="visualizer-chart-shortcode">';
126 echo '&nbsp;[visualizer]&nbsp;';
127 echo '</span>';
128 echo '</div>';
129 echo '</div>';
130 echo '</div>';
131 }
132 }
133
134 /**
135 * Renders library page.
136 *
137 * @since 1.0.0
138 *
139 * @access protected
140 */
141 protected function _toHTML() {
142 echo '<div class="wrap">';
143 echo '<div id="visualizer-icon" class="icon32"><br></div>';
144 echo '<h2>';
145 esc_html_e( 'Visualizer Library', Visualizer_Plugin::NAME );
146 echo ' <a href="javascript:;" class="add-new-h2">', esc_html__( 'Add New', Visualizer_Plugin::NAME ), '</a>';
147 echo '</h2>';
148
149 $this->_renderMessages();
150 $this->_renderLibrary();
151 echo '</div>';
152 }
153
154 /**
155 * Renders notification messages if need be.
156 *
157 * @since 1.4.2
158 *
159 * @access private
160 */
161 private function _renderMessages() {
162 if ( !filter_var( ini_get( 'allow_url_fopen' ), FILTER_VALIDATE_BOOLEAN ) ) {
163 echo '<div class="updated error">';
164 echo '<p>';
165 printf( esc_html__( '%s option is disabled in your php.ini config. Please, enable it by change its value to 1. This option increases the speed of remote CSV uploading.', Visualizer_Plugin::NAME ), '<b>allow_url_fopen</b>' );
166 echo '</p>';
167 echo '</div>';
168 }
169 }
170
171 }