PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.3.4
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.3.4
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
← All changes | classes/Visualizer/Render/Library.php +41 -12 3.1.13.3.4 View file →
@@ -39,9 +39,12 @@
39 39 echo '<div class="wrap">';
40 40 echo '<div id="visualizer-icon" class="icon32"><br></div>';
41 41 echo '<h2>';
42 42 esc_html_e( 'Visualizer Library', 'visualizer' );
43 - echo ' <a href="javascript:;" class="add-new-h2">', esc_html__( 'Add New', 'visualizer' ), '</a>';
43 + echo ' <a href="javascript:;" class="add-new-h2 add-new-chart">', esc_html__( 'Add New', 'visualizer' ), '</a>';
44 + if ( Visualizer_Module::is_pro() ) {
45 + echo ' <a href="' . admin_url( 'options-general.php' ) . '" class="page-title-action">', esc_html__( 'License Settings', 'visualizer' ), '</a>';
46 + }
44 47 echo '</h2>';
45 48 $this->_renderMessages();
46 49 $this->_renderLibrary();
47 50 echo '</div>';
@@ -80,8 +83,10 @@
80 83 // Added by Ash/Upwork
81 84 echo $this->custom_css;
82 85 echo '<div id="visualizer-types" class="visualizer-clearfix">';
83 86 echo '<ul class="subsubsub">';
87 + // All tab.
88 + echo '<li class="visualizer-list-item all"><a class="' . ( ! isset( $_GET['type'] ) || empty( $_GET['type'] ) ? 'current' : '' ) . '" href="', esc_url( add_query_arg( array( 'vpage' => false, 'type' => false, 'vaction' => false, 's' => false ) ) ), '">' . __( 'All', 'visualizer' ) . '</a> | </li>';
84 89 foreach ( $this->types as $type => $array ) {
85 90 if ( ! is_array( $array ) ) {
86 91 // support for old pro
87 92 $array = array( 'enabled' => true, 'name' => $array );
@@ -91,8 +96,10 @@
91 96 add_query_arg(
92 97 array(
93 98 'type' => $type,
94 99 'vpage' => false,
100 + 'vaction' => false,
101 + 's' => false,
95 102 )
96 103 )
97 104 ) . '">';
98 105 if ( ! $array['enabled'] ) {
@@ -97,11 +104,11 @@
97 104 ) . '">';
98 105 if ( ! $array['enabled'] ) {
99 106 $link = "<a class=' visualizer-pro-only' href='" . Visualizer_Plugin::PRO_TEASER_URL . "' target='_blank'>";
100 107 }
101 - echo '<li class="visualizer-list-item all">';
102 - if ( $type == $this->type ) {
103 - echo '<a class=" current" href="', esc_url( add_query_arg( 'vpage', false ) ), '">';
108 + echo '<li class="visualizer-list-item ' . esc_attr( $this->type ) . '">';
109 + if ( $type === $this->type ) {
110 + echo '<a class="current" href="', esc_url( add_query_arg( 'vpage', false ) ), '">';
104 111 echo $label;
105 112 echo '</a>';
106 113 } else {
107 114 echo $link;
@@ -111,25 +118,35 @@
111 118 echo ' | </li>';
112 119 }
113 120 echo '</ul>';
114 121 echo '<form action="" method="get"><p id="visualizer-search" class="search-box">
115 - <input type="search" name="s" value="' . $filterBy . '">
122 + <input type="search" placeholder="' . __( 'Enter title', 'visualizer' ) . '" name="s" value="' . $filterBy . '">
116 123 <input type="hidden" name="page" value="visualizer">
117 - <input type="submit" id="search-submit" class="button button-secondary" value="' . esc_attr__( 'Search', 'visualizer' ) . '">
124 + <button type="submit" id="search-submit" title="' . __( 'Search', 'visualizer' ) . '"><i class="dashicons dashicons-search"></i></button>
125 + <button type="button" class="add-new-chart" title="' . __( 'Add New', 'visualizer' ) . '"><i class="dashicons dashicons-plus-alt"></i></button>
118 126 </p> </form>';
119 127 echo '</div>';
120 128 echo '<div id="visualizer-content-wrapper">';
121 129 if ( ! empty( $this->charts ) ) {
122 130 echo '<div id="visualizer-library" class="visualizer-clearfix">';
131 + $count = 0;
123 132 foreach ( $this->charts as $placeholder_id => $chart ) {
124 133 $this->_renderChartBox( $placeholder_id, $chart['id'] );
134 + // show the sidebar after the first 3 charts.
135 + if ( $count++ === 2 ) {
136 + $this->_renderSidebar();
137 + }
125 138 }
139 + // show the sidebar if there are less than 3 charts.
140 + if ( $count < 3 ) {
141 + $this->_renderSidebar();
142 + }
126 143 echo '</div>';
127 144 } else {
128 145 echo '<div id="visualizer-library" class="visualizer-clearfix">';
129 146 echo '<div class="visualizer-chart">';
130 147 echo '<div class="visualizer-chart-canvas visualizer-nochart-canvas">';
131 - echo '<div class="visualizer-notfound">', esc_html__( 'No charts found', 'visualizer' ), '</div>';
148 + echo '<div class="visualizer-notfound">', esc_html__( 'No charts found', 'visualizer' ), '<p><h2><a href="javascript:;" class="add-new-h2 add-new-chart">', esc_html__( 'Add New', 'visualizer' ), '</a></h2></p></div>';
132 149 echo '</div>';
133 150 echo '<div class="visualizer-chart-footer visualizer-clearfix">';
134 151 echo '<span class="visualizer-chart-action visualizer-nochart-delete"></span>';
135 152 echo '<span class="visualizer-chart-action visualizer-nochart-clone"></span>';
@@ -139,11 +156,11 @@
139 156 echo '&nbsp;[visualizer]&nbsp;';
140 157 echo '</span>';
141 158 echo '</div>';
142 159 echo '</div>';
160 + $this->_renderSidebar();
143 161 echo '</div>';
144 162 }
145 - $this->_renderSidebar();
146 163 echo '</div>';
147 164 if ( is_array( $this->pagination ) ) {
148 165 echo '<ul class=" subsubsub">';
149 166 foreach ( $this->pagination as $page ) {
@@ -168,8 +185,16 @@
168 185 $title = '#' . $chart_id;
169 186 if ( ! empty( $settings[0]['title'] ) ) {
170 187 $title = $settings[0]['title'];
171 188 }
189 + // for ChartJS, title is an array.
190 + if ( is_array( $title ) && isset( $title['text'] ) ) {
191 + $title = $title['text'];
192 + }
193 + if ( empty( $title ) ) {
194 + $title = '#' . $chart_id;
195 + }
196 +
172 197 $ajax_url = admin_url( 'admin-ajax.php' );
173 198 $delete_url = add_query_arg(
174 199 array(
175 200 'action' => Visualizer_Plugin::ACTION_DELETE_CHART,
@@ -214,19 +239,23 @@
214 239 /**
215 240 * Render sidebar.
216 241 */
217 242 private function _renderSidebar() {
218 - if ( ! VISUALIZER_PRO ) {
243 + if ( ! Visualizer_Module::is_pro() ) {
219 244 echo '<div id="visualizer-sidebar">';
220 245 echo '<div class="visualizer-sidebar-box">';
221 - echo '<h3>' . __( 'Gain more editing power', 'visualizer' ) . '</h3><ul>';
246 + echo '<h3>' . __( 'Discover the power of PRO!', 'visualizer' ) . '</h3><ul>';
222 247 echo '<li>' . __( 'Spreadsheet like editor', 'visualizer' ) . '</li>';
223 248 echo '<li>' . __( 'Import from other charts', 'visualizer' ) . '</li>';
249 + echo '<li>' . __( 'Use database query to create charts', 'visualizer' ) . '</li>';
250 + echo '<li>' . __( 'Create charts from WordPress tables', 'visualizer' ) . '</li>';
224 251 echo '<li>' . __( 'Frontend editor', 'visualizer' ) . '</li>';
225 252 echo '<li>' . __( 'Private charts', 'visualizer' ) . '</li>';
226 253 echo '<li>' . __( 'Auto-sync with online files', 'visualizer' ) . '</li>';
227 - echo '<li>' . __( '3 more chart types', 'visualizer' ) . '</li></ul>';
228 - echo '<a href="' . Visualizer_Plugin::PRO_TEASER_URL . '" target="_blank" class="button button-primary">' . __( 'View more features', 'visualizer' ) . '</a>';
254 + echo '<li>' . __( '6 more chart types', 'visualizer' ) . '</li></ul>';
255 + echo '<p><a href="' . Visualizer_Plugin::PRO_TEASER_URL . '" target="_blank" class="button button-primary">' . __( 'View more features', 'visualizer' ) . '</a></p>';
256 + echo '<p style="background-color: #0073aac7; color: #ffffff; padding: 2px; font-weight: bold;">' . __( 'We offer a 30-day no-questions-asked money back guarantee!', 'visualizer' ) . '</p>';
257 + echo '<p><a href="' . VISUALIZER_SURVEY . '" target="_blank" class="">' . __( 'Don\'t see the features you need? Help us improve!', 'visualizer' ) . '</a></p>';
229 258 echo '</div>';
230 259 echo '</div>';
231 260 }
232 261 }