PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.0.12
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.0.12
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 3.0.12, at classes/Visualizer/Render/Library.php

234 lines 8.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 // +----------------------------------------------------------------------+
3 // | Copyright 2013 Madpixels (email : visualizer@madpixels.net) |
4 // +----------------------------------------------------------------------+
5 // | This program is free software; you can redistribute it and/or modify |
6 // | it under the terms of the GNU General Public License, version 2, as |
7 // | published by the Free Software Foundation. |
8 // | |
9 // | This program is distributed in the hope that it will be useful, |
10 // | but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
12 // | GNU General Public License for more details. |
13 // | |
14 // | You should have received a copy of the GNU General Public License |
15 // | along with this program; if not, write to the Free Software |
16 // | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, |
17 // | MA 02110-1301 USA |
18 // +----------------------------------------------------------------------+
19 // | Author: Eugene Manuilov <eugene@manuilov.org> |
20 // +----------------------------------------------------------------------+
21 /**
22 * Renders visualizer library page.
23 *
24 * @category Visualizer
25 * @package Render
26 *
27 * @since 1.0.0
28 */
29 class Visualizer_Render_Library extends Visualizer_Render {
30
31 /**
32 * Renders library page.
33 *
34 * @since 1.0.0
35 *
36 * @access protected
37 */
38 protected function _toHTML() {
39 echo '<div class="wrap">';
40 echo '<div id="visualizer-icon" class="icon32"><br></div>';
41 echo '<h2>';
42 esc_html_e( 'Visualizer Library', 'visualizer' );
43 echo ' <a href="javascript:;" class="add-new-h2">', esc_html__( 'Add New', 'visualizer' ), '</a>';
44 echo '</h2>';
45 $this->_renderMessages();
46 $this->_renderLibrary();
47 echo '</div>';
48 }
49
50 /**
51 * Renders notification messages if need be.
52 *
53 * @since 1.4.2
54 *
55 * @access private
56 */
57 private function _renderMessages() {
58 if ( ! filter_var( ini_get( 'allow_url_fopen' ), FILTER_VALIDATE_BOOLEAN ) ) {
59 echo '<div class="updated error">';
60 echo '<p>';
61 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' ), '<b>allow_url_fopen</b>' );
62 echo '</p>';
63 echo '</div>';
64 }
65 }
66
67 /**
68 * Renders library content.
69 *
70 * @since 1.0.0
71 *
72 * @access private
73 */
74 private function _renderLibrary() {
75 // Added by Ash/Upwork
76 $filterBy = null;
77 if ( isset( $_GET['s'] ) && strlen( $_GET['s'] ) > 0 ) {
78 $filterBy = filter_input( INPUT_GET, 's', FILTER_SANITIZE_STRING );
79 }
80 // Added by Ash/Upwork
81 echo '<div id="visualizer-types" class="visualizer-clearfix">';
82 echo '<ul class="subsubsub">';
83 foreach ( $this->types as $type => $array ) {
84 if ( ! is_array( $array ) ) {
85 // support for old pro
86 $array = array( 'enabled' => true, 'name' => $array );
87 }
88 $label = $array['name'];
89 $link = '<a class=" " href="' . esc_url(
90 add_query_arg(
91 array(
92 'type' => $type,
93 'vpage' => false,
94 )
95 )
96 ) . '">';
97 if ( ! $array['enabled'] ) {
98 $link = "<a class=' visualizer-pro-only' href='" . Visualizer_Plugin::PRO_TEASER_URL . "' target='_blank'>";
99 }
100 echo '<li class="visualizer-list-item all">';
101 if ( $type == $this->type ) {
102 echo '<a class=" current" href="', esc_url( add_query_arg( 'vpage', false ) ), '">';
103 echo $label;
104 echo '</a>';
105 } else {
106 echo $link;
107 echo $label;
108 echo '</a>';
109 }
110 echo ' | </li>';
111 }
112 echo '</ul>';
113 echo '<form action="" method="get"><p id="visualizer-search" class="search-box">
114 <input type="search" name="s" value="' . $filterBy . '">
115 <input type="hidden" name="page" value="visualizer">
116 <input type="submit" id="search-submit" class="button button-secondary" value="' . esc_attr__( 'Search', 'visualizer' ) . '">
117 </p> </form>';
118 echo '</div>';
119 echo '<div id="visualizer-content-wrapper">';
120 if ( ! empty( $this->charts ) ) {
121 echo '<div id="visualizer-library" class="visualizer-clearfix">';
122 foreach ( $this->charts as $placeholder_id => $chart ) {
123 $this->_renderChartBox( $placeholder_id, $chart['id'] );
124 }
125 echo '</div>';
126 } else {
127 echo '<div id="visualizer-library" class="visualizer-clearfix">';
128 echo '<div class="visualizer-chart">';
129 echo '<div class="visualizer-chart-canvas visualizer-nochart-canvas">';
130 echo '<div class="visualizer-notfound">', esc_html__( 'No charts found', 'visualizer' ), '</div>';
131 echo '</div>';
132 echo '<div class="visualizer-chart-footer visualizer-clearfix">';
133 echo '<span class="visualizer-chart-action visualizer-nochart-delete"></span>';
134 echo '<span class="visualizer-chart-action visualizer-nochart-clone"></span>';
135 echo '<span class="visualizer-chart-action visualizer-nochart-edit"></span>';
136 echo '<span class="visualizer-chart-action visualizer-nochart-export"></span>';
137 echo '<span class="visualizer-chart-shortcode">';
138 echo '&nbsp;[visualizer]&nbsp;';
139 echo '</span>';
140 echo '</div>';
141 echo '</div>';
142 echo '</div>';
143 }
144 $this->_renderSidebar();
145 echo '</div>';
146 if ( is_array( $this->pagination ) ) {
147 echo '<ul class=" subsubsub">';
148 foreach ( $this->pagination as $page ) {
149 echo '<li class="all">', $page, '</li>';
150 }
151 echo '</ul>';
152 }
153 }
154
155 /**
156 * Renders chart's box block.
157 *
158 * @since 1.0.0
159 *
160 * @access private
161 *
162 * @param string $placeholder_id The placeholder's id for the chart.
163 * @param int $chart_id The id of the chart.
164 */
165 private function _renderChartBox( $placeholder_id, $chart_id ) {
166 $settings = get_post_meta( $chart_id, Visualizer_Plugin::CF_SETTINGS );
167 $title = '#' . $chart_id;
168 if ( ! empty( $settings[0]['title'] ) ) {
169 $title = $settings[0]['title'];
170 }
171 $ajax_url = admin_url( 'admin-ajax.php' );
172 $delete_url = add_query_arg(
173 array(
174 'action' => Visualizer_Plugin::ACTION_DELETE_CHART,
175 'nonce' => wp_create_nonce(),
176 'chart' => $chart_id,
177 ),
178 $ajax_url
179 );
180 $clone_url = add_query_arg(
181 array(
182 'action' => Visualizer_Plugin::ACTION_CLONE_CHART,
183 'nonce' => wp_create_nonce( Visualizer_Plugin::ACTION_CLONE_CHART ),
184 'chart' => $chart_id,
185 'type' => $this->type,
186 ),
187 $ajax_url
188 );
189 $export_link = add_query_arg(
190 array(
191 'action' => Visualizer_Plugin::ACTION_EXPORT_DATA,
192 'chart' => $chart_id,
193 'security' => wp_create_nonce( Visualizer_Plugin::ACTION_EXPORT_DATA . Visualizer_Plugin::VERSION ),
194 ),
195 admin_url( 'admin-ajax.php' )
196 );
197 echo '<div class="visualizer-chart"><div class="visualizer-chart-title">', esc_html( $title ), '</div>';
198 echo '<div id="', $placeholder_id, '" class="visualizer-chart-canvas">';
199 echo '<img src="', VISUALIZER_ABSURL, 'images/ajax-loader.gif" class="loader">';
200 echo '</div>';
201 echo '<div class="visualizer-chart-footer visualizer-clearfix">';
202 echo '<a class="visualizer-chart-action visualizer-chart-delete" href="', $delete_url, '" title="', esc_attr__( 'Delete', 'visualizer' ), '" onclick="return showNotice.warn();"></a>';
203 echo '<a class="visualizer-chart-action visualizer-chart-clone" href="', $clone_url, '" title="', esc_attr__( 'Clone', 'visualizer' ), '"></a>';
204 echo '<a class="visualizer-chart-action visualizer-chart-edit" href="javascript:;" title="', esc_attr__( 'Edit', 'visualizer' ), '" data-chart="', $chart_id, '"></a>';
205 echo '<a class="visualizer-chart-action visualizer-chart-export" href="javascript:;" title="', esc_attr__( 'Export', 'visualizer' ), '" data-chart="', $export_link, '"></a>';
206 echo '<span class="visualizer-chart-shortcode" title="', esc_attr__( 'Click to select', 'visualizer' ), '">';
207 echo '&nbsp;[visualizer id=&quot;', $chart_id, '&quot;]&nbsp;';
208 echo '</span>';
209 echo '</div>';
210 echo '</div>';
211 }
212
213 /**
214 * Render sidebar.
215 */
216 private function _renderSidebar() {
217 if ( ! VISUALIZER_PRO ) {
218 echo '<div id="visualizer-sidebar">';
219 echo '<div class="visualizer-sidebar-box">';
220 echo '<h3>' . __( 'Gain more editing power', 'visualizer' ) . '</h3><ul>';
221 echo '<li>' . __( 'Spreadsheet like editor', 'visualizer' ) . '</li>';
222 echo '<li>' . __( 'Import from other charts', 'visualizer' ) . '</li>';
223 echo '<li>' . __( 'Frontend editor', 'visualizer' ) . '</li>';
224 echo '<li>' . __( 'Private charts', 'visualizer' ) . '</li>';
225 echo '<li>' . __( 'Auto-sync with online files', 'visualizer' ) . '</li>';
226 echo '<li>' . __( '3 more chart types', 'visualizer' ) . '</li></ul>';
227 echo '<a href="' . Visualizer_Plugin::PRO_TEASER_URL . '" target="_blank" class="button button-primary">' . __( 'View more features', 'visualizer' ) . '</a>';
228 echo '</div>';
229 echo '</div>';
230 }
231 }
232
233 }
234