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

219 lines 8.7 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 $settings = get_post_meta( $chart_id, Visualizer_Plugin::CF_SETTINGS );
163 $title = '#' . $chart_id;
164 if ( ! empty( $settings[0]['title'] ) ) {
165 $title = $settings[0]['title'];
166 }
167 $ajax_url = admin_url( 'admin-ajax.php' );
168 $delete_url = add_query_arg( array(
169 'action' => Visualizer_Plugin::ACTION_DELETE_CHART,
170 'nonce' => wp_create_nonce(),
171 'chart' => $chart_id,
172 ), $ajax_url );
173 $clone_url = add_query_arg( array(
174 'action' => Visualizer_Plugin::ACTION_CLONE_CHART,
175 'nonce' => wp_create_nonce( Visualizer_Plugin::ACTION_CLONE_CHART ),
176 'chart' => $chart_id,
177 'type' => $this->type,
178 ), $ajax_url );
179 $export_link = add_query_arg( array(
180 'action' => Visualizer_Plugin::ACTION_EXPORT_DATA,
181 'chart' => $chart_id,
182 'security' => wp_create_nonce( Visualizer_Plugin::ACTION_EXPORT_DATA . Visualizer_Plugin::VERSION ),
183 ), admin_url( 'admin-ajax.php' ) );
184 echo '<div class="visualizer-chart"><div class="visualizer-chart-title">', esc_html( $title ), '</div>';
185 echo '<div id="', $placeholder_id, '" class="visualizer-chart-canvas">';
186 echo '<img src="', VISUALIZER_ABSURL, 'images/ajax-loader.gif" class="loader">';
187 echo '</div>';
188 echo '<div class="visualizer-chart-footer visualizer-clearfix">';
189 echo '<a class="visualizer-chart-action visualizer-chart-delete" href="', $delete_url, '" title="', esc_attr__( 'Delete', 'visualizer' ), '" onclick="return showNotice.warn();"></a>';
190 echo '<a class="visualizer-chart-action visualizer-chart-clone" href="', $clone_url, '" title="', esc_attr__( 'Clone', 'visualizer' ), '"></a>';
191 echo '<a class="visualizer-chart-action visualizer-chart-edit" href="javascript:;" title="', esc_attr__( 'Edit', 'visualizer' ), '" data-chart="', $chart_id, '"></a>';
192 echo '<a class="visualizer-chart-action visualizer-chart-export" href="javascript:;" title="', esc_attr__( 'Export', 'visualizer' ), '" data-chart="', $export_link, '"></a>';
193 echo '<span class="visualizer-chart-shortcode" title="', esc_attr__( 'Click to select', 'visualizer' ), '">';
194 echo '&nbsp;[visualizer id=&quot;', $chart_id, '&quot;]&nbsp;';
195 echo '</span>';
196 echo '</div>';
197 echo '</div>';
198 }
199
200 /**
201 * Render sidebar.
202 */
203 private function _renderSidebar() {
204 if ( ! VISUALIZER_PRO ) {
205 echo '<div id="visualizer-sidebar">';
206 echo '<div class="visualizer-sidebar-box">';
207 echo '<h3>' . __( 'Gain more editing power', 'visualizer' ) . '</h3><ul>';
208 echo '<li>' . __( 'Spreadsheet like editor', 'visualizer' ) . '</li>';
209 echo '<li>' . __( 'Import from other charts', 'visualizer' ) . '</li>';
210 echo '<li>' . __( 'Auto-sync with online files', 'visualizer' ) . '</li>';
211 echo '<li>' . __( '3 more chart types', 'visualizer' ) . '</li></ul>';
212 echo '<a href="' . Visualizer_Plugin::PRO_TEASER_URL . '" target="_blank" class="button button-primary">' . __( 'View more features', 'visualizer' ) . '</a>';
213 echo '</div>';
214 echo '</div>';
215 }
216 }
217
218 }
219