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

224 lines 9.1 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( add_query_arg( array(
90 'type' => $type,
91 'vpage' => false,
92 ) ) ) . '">';
93 if ( ! $array['enabled'] ) {
94 $link = "<a class=' visualizer-pro-only' href='" . Visualizer_Plugin::PRO_TEASER_URL . "' target='_blank'>";
95 }
96 echo '<li class="visualizer-list-item all">';
97 if ( $type == $this->type ) {
98 echo '<a class=" current" href="', esc_url( add_query_arg( 'vpage', false ) ), '">';
99 echo $label;
100 echo '</a>';
101 } else {
102 echo $link;
103 echo $label;
104 echo '</a>';
105 }
106 echo ' | </li>';
107 }
108 echo '</ul>';
109 echo '<form action="" method="get"><p id="visualizer-search" class="search-box">
110 <input type="search" name="s" value="' . $filterBy . '">
111 <input type="hidden" name="page" value="visualizer">
112 <input type="submit" id="search-submit" class="button button-secondary" value="' . esc_attr__( 'Search', 'visualizer' ) . '">
113 </p> </form>';
114 echo '</div>';
115 echo '<div id="visualizer-content-wrapper">';
116 if ( ! empty( $this->charts ) ) {
117 echo '<div id="visualizer-library" class="visualizer-clearfix">';
118 foreach ( $this->charts as $placeholder_id => $chart ) {
119 $this->_renderChartBox( $placeholder_id, $chart['id'] );
120 }
121 echo '</div>';
122 } else {
123 echo '<div id="visualizer-library" class="visualizer-clearfix">';
124 echo '<div class="visualizer-chart">';
125 echo '<div class="visualizer-chart-canvas visualizer-nochart-canvas">';
126 echo '<div class="visualizer-notfound">', esc_html__( 'No charts found', 'visualizer' ), '</div>';
127 echo '</div>';
128 echo '<div class="visualizer-chart-footer visualizer-clearfix">';
129 echo '<span class="visualizer-chart-action visualizer-nochart-delete"></span>';
130 echo '<span class="visualizer-chart-action visualizer-nochart-clone"></span>';
131 echo '<span class="visualizer-chart-action visualizer-nochart-edit"></span>';
132 echo '<span class="visualizer-chart-action visualizer-nochart-export"></span>';
133 echo '<span class="visualizer-chart-shortcode">';
134 echo '&nbsp;[visualizer]&nbsp;';
135 echo '</span>';
136 echo '</div>';
137 echo '</div>';
138 echo '</div>';
139 }
140 $this->_renderSidebar();
141 echo '</div>';
142 if ( is_array( $this->pagination ) ) {
143 echo '<ul class=" subsubsub">';
144 foreach ( $this->pagination as $page ) {
145 echo '<li class="all">', $page, '</li>';
146 }
147 echo '</ul>';
148 }
149 }
150
151 /**
152 * Renders chart's box block.
153 *
154 * @since 1.0.0
155 *
156 * @access private
157 *
158 * @param string $placeholder_id The placeholder's id for the chart.
159 * @param int $chart_id The id of the chart.
160 */
161 private function _renderChartBox( $placeholder_id, $chart_id ) {
162 $ajax_url = admin_url( 'admin-ajax.php' );
163 $delete_url = add_query_arg( array(
164 'action' => Visualizer_Plugin::ACTION_DELETE_CHART,
165 'nonce' => wp_create_nonce(),
166 'chart' => $chart_id,
167 ), $ajax_url );
168 $clone_url = add_query_arg( array(
169 'action' => Visualizer_Plugin::ACTION_CLONE_CHART,
170 'nonce' => wp_create_nonce( Visualizer_Plugin::ACTION_CLONE_CHART ),
171 'chart' => $chart_id,
172 'type' => $this->type,
173 ), $ajax_url );
174 $export_link = add_query_arg( array(
175 'action' => Visualizer_Plugin::ACTION_EXPORT_DATA,
176 'chart' => $chart_id,
177 'security' => wp_create_nonce( Visualizer_Plugin::ACTION_EXPORT_DATA . Visualizer_Plugin::VERSION ),
178 ), admin_url( 'admin-ajax.php' ) );
179 echo '<div class="visualizer-chart">';
180 echo '<div id="', $placeholder_id, '" class="visualizer-chart-canvas">';
181 echo '<img src="', VISUALIZER_ABSURL, 'images/ajax-loader.gif" class="loader">';
182 echo '</div>';
183 echo '<div class="visualizer-chart-footer visualizer-clearfix">';
184 echo '<a class="visualizer-chart-action visualizer-chart-delete" href="', $delete_url, '" title="', esc_attr__( 'Delete', 'visualizer' ), '" onclick="return showNotice.warn();"></a>';
185 echo '<a class="visualizer-chart-action visualizer-chart-clone" href="', $clone_url, '" title="', esc_attr__( 'Clone', 'visualizer' ), '"></a>';
186 echo '<a class="visualizer-chart-action visualizer-chart-edit" href="javascript:;" title="', esc_attr__( 'Edit', 'visualizer' ), '" data-chart="', $chart_id, '"></a>';
187 echo '<a class="visualizer-chart-action visualizer-chart-export" href="javascript:;" title="', esc_attr__( 'Export', 'visualizer' ), '" data-chart="', $export_link, '"></a>';
188 echo '<span class="visualizer-chart-shortcode" title="', esc_attr__( 'Click to select', 'visualizer' ), '">';
189 echo '&nbsp;[visualizer id=&quot;', $chart_id, '&quot;]&nbsp;';
190 echo '</span>';
191 echo '</div>';
192 echo '</div>';
193 }
194
195 /**
196 * Render sidebar.
197 */
198 private function _renderSidebar() {
199 if ( ! VISUALIZER_PRO ) {
200 $checked = apply_filters( 'visualizer_logger_flag', false );
201 $checked = ( $checked === false ) ? '' : 'checked';
202 echo '<div id="visualizer-sidebar">';
203 echo '<div class="visualizer-sidebar-box">';
204 echo '<h3>' . __( 'Gain more editing power', 'visualizer' ) . '</h3><ul>';
205 echo '<li>' . __( 'Spreadsheet like editor', 'visualizer' ) . '</li>';
206 echo '<li>' . __( 'Import from other charts', 'visualizer' ) . '</li>';
207 echo '<li>' . __( 'Auto-sync with online files', 'visualizer' ) . '</li>';
208 echo '<li>' . __( '3 more chart types', 'visualizer' ) . '</li></ul>';
209 echo '<a href="' . Visualizer_Plugin::PRO_TEASER_URL . '" target="_blank" class="button button-primary">' . __( 'View more features', 'visualizer' ) . '</a>';
210 echo '</div>';
211 echo '<div class="visualizer-sidebar-box visualizer-tracking">';
212 echo '<label class="visualizer-switch">';
213 echo '<input type="checkbox" ' . $checked . ' >';
214 echo '<div class="visualizer-slider visualizer-round"></div>';
215 echo '</label>';
216 echo '<span>' . __( 'Enable Tracking', 'visualizer' ) . '<sup>*</sup></span>';
217 echo '<p><small><sup>*</sup>' . __( 'Allow Visualizer to anonymously track how this plugin is used and help us make the plugin better. No sensitive data is tracked.', 'visualizer' ) . '</small></p>';
218 echo '</div>';
219 echo '</div>';
220 }
221 }
222
223 }
224