| // +----------------------------------------------------------------------+ /** * Renders chart data setup page. * * @category Visualizer * @package Render * @subpackage Page * * @since 1.0.0 */ class Visualizer_Render_Page_Data extends Visualizer_Render_Page { /** * Renders page content. * * @since 1.0.0 * * @access protected */ protected function _renderContent() { // Added by Ash/Upwork if ( Visualizer_Module::can_show_feature( 'simple-editor' ) ) { Visualizer_Render_Layout::show( 'simple-editor-screen', $this->chart->ID ); } if ( Visualizer_Module::is_pro() ) { do_action( 'visualizer_add_editor_etc', $this->chart->ID ); if ( Visualizer_Module::is_pro() && Visualizer_Module::is_pro_older_than( '1.9.0' ) ) { global $Visualizer_Pro; $Visualizer_Pro->_addEditor( $this->chart->ID ); if ( method_exists( $Visualizer_Pro, '_addFilterWizard' ) ) { $Visualizer_Pro->_addFilterWizard( $this->chart->ID ); } } } $this->add_additional_content(); // Added by Ash/Upwork echo '
'; echo ''; echo '
'; echo $this->custom_css; } /** * Renders sidebar content. * * @since 1.0.0 * * @access protected */ protected function _renderSidebarContent() { $upload_link = add_query_arg( array( 'action' => Visualizer_Plugin::ACTION_UPLOAD_DATA, 'nonce' => wp_create_nonce(), 'chart' => $this->chart->ID, ), admin_url( 'admin-ajax.php' ) ); // this will allow us to open the correct source tab by default. $source_of_chart = strtolower( get_post_meta( $this->chart->ID, Visualizer_Plugin::CF_SOURCE, true ) ); // both import from wp and import from db have the same source so we need to differentiate. $filter_config = get_post_meta( $this->chart->ID, Visualizer_Plugin::CF_FILTER_CONFIG, true ); // if filter config is present, then its import from wp. if ( ! empty( $filter_config ) ) { $source_of_chart .= '_wp'; } $editor_type = get_post_meta( $this->chart->ID, Visualizer_Plugin::CF_EDITOR, true ); if ( $editor_type ) { $source_of_chart = 'visualizer_source_manual'; } $type = get_post_meta( $this->chart->ID, Visualizer_Plugin::CF_CHART_TYPE, true ); $lib = get_post_meta( $this->chart->ID, Visualizer_Plugin::CF_CHART_LIBRARY, true ); ?> $v ) { $this->$k = $v; } } ?> ', '', 'viz-chart-perm-view ' . apply_filters( 'visualizer_pro_upsell_class', 'only-pro-feature', 'chart-permissions' ) ); Visualizer_Render_Sidebar::_renderSectionStart(); Visualizer_Render_Sidebar::_renderSectionDescription( esc_html__( 'Select who can view the chart on the front-end.', 'visualizer' ) ); if ( ! isset( $this->permissions['read'] ) ) { $this->permissions['read'] = 'all'; } Visualizer_Render_Sidebar::_renderSelectItem( '', 'permissions[read]', $this->permissions['read'], array( 'all' => esc_html__( 'All Users', 'visualizer' ), 'users' => esc_html__( 'Select Users', 'visualizer' ), 'roles' => esc_html__( 'Select Roles', 'visualizer' ), ), '', false, array( 'visualizer-permission', 'visualizer-permission-type', 'visualizer-permission-read' ), array( 'permission-type' => 'read', ) ); $options = apply_filters( 'visualizer_pro_get_permissions_data', array(), isset( $this->permissions['read'] ) ? $this->permissions['read'] : 'roles' ); Visualizer_Render_Sidebar::_renderSelectItem( '', 'permissions[read-specific][]', isset( $this->permissions['read-specific'] ) ? $this->permissions['read-specific'] : array(), $options, '', true, array( 'visualizer-permission', 'visualizer-permission-specific', 'visualizer-permission-read-specific' ) ); Visualizer_Render_Sidebar::_renderSectionEnd( apply_filters( 'visualizer_pro_upsell', 'only-pro-feature', 'chart-permissions' ) ); Visualizer_Render_Sidebar::_renderGroupEnd(); Visualizer_Render_Sidebar::_renderGroupStart( esc_html__( 'Who can edit this chart?', 'visualizer' ) . '', '', 'viz-chart-perm-edit ' . apply_filters( 'visualizer_pro_upsell_class', 'only-pro-feature', 'chart-permissions' ) ); Visualizer_Render_Sidebar::_renderSectionStart(); Visualizer_Render_Sidebar::_renderSectionDescription( esc_html__( 'Select who can edit the chart on the front-end.', 'visualizer' ) ); if ( ! isset( $this->permissions['edit'] ) ) { $this->permissions['edit'] = 'roles'; $this->permissions['edit-specific'] = 'administrator'; } Visualizer_Render_Sidebar::_renderSelectItem( '', 'permissions[edit]', $this->permissions['edit'], array( 'all' => esc_html__( 'All Users', 'visualizer' ), 'users' => esc_html__( 'Select Users', 'visualizer' ), 'roles' => esc_html__( 'Select Roles', 'visualizer' ), ), '', false, array( 'visualizer-permission', 'visualizer-permission-type', 'visualizer-permission-edit' ), array( 'permission-type' => 'edit', ) ); $options = apply_filters( 'visualizer_pro_get_permissions_data', array(), isset( $this->permissions['edit'] ) ? $this->permissions['edit'] : 'roles' ); Visualizer_Render_Sidebar::_renderSelectItem( '', 'permissions[edit-specific][]', isset( $this->permissions['edit-specific'] ) ? $this->permissions['edit-specific'] : array(), $options, '', true, array( 'visualizer-permission', 'visualizer-permission-specific', 'visualizer-permission-edit-specific' ) ); Visualizer_Render_Sidebar::_renderSectionEnd( apply_filters( 'visualizer_pro_upsell', 'only-pro-feature', 'chart-permissions' ) ); Visualizer_Render_Sidebar::_renderGroupEnd(); } /** * Renders toolbar content. * * @since 1.0.0 * * @access protected */ protected function _renderToolbar() { // don't show back button at all. // NOTE: We can't be selective on the post_status here because when a new chart reaches the settings screen, its status changes to publish. if ( ! VISUALIZER_SKIP_CHART_TYPE_PAGE ) { echo '
'; echo ''; esc_html_e( 'Back', 'visualizer' ); echo ''; echo '
'; } echo ''; if ( isset( $this->cancel_button ) ) { echo ''; } } /** * Renders the additional content. * * @access private */ private function add_additional_content() { $source = strtolower( get_post_meta( $this->chart->ID, Visualizer_Plugin::CF_SOURCE, true ) ); $query = ''; if ( 'visualizer_source_query' === $source ) { $query = get_post_meta( $this->chart->ID, Visualizer_Plugin::CF_DB_QUERY, true ); } Visualizer_Render_Layout::show( 'db-query', $query, $this->chart->ID ); Visualizer_Render_Layout::show( 'json-screen', $this->chart->ID ); } }