← All changes
|
admin/partials/charts/chart-builder-charts-display.php
+504
-183
trunk
→
3.8.1
View file →
| @@ -1,183 +1,504 @@ | ||
| 1 | -<?php | |
| 2 | -$items = $this->db_obj->get_items(); | |
| 3 | -$all_items = CBFunctions()->get_all_charts_count(); | |
| 4 | -$chart_count_per_page = count($items) > 0 ? $all_items/$this->db_obj->get_pagination_count() : 0; | |
| 5 | -$chart_paged = isset($_GET['paged']) && $_GET['paged'] != '' ? absint( sanitize_text_field($_GET['paged'])) : ''; | |
| 6 | -?> | |
| 7 | -<div class="wrap"> | |
| 8 | - <h1 class="wp-heading-inline"> | |
| 9 | - <?php | |
| 10 | - echo __( esc_html( get_admin_page_title() ), "chart-builder" ); | |
| 11 | - echo sprintf( '<a href="?page=%s&action=%s" class="btn btn-primary mx-2 chart-add-new-bttn">' . __( 'Add New', "chart-builder" ) . '</a>', esc_attr( $_REQUEST['page'] ), 'add'); | |
| 12 | - ?> | |
| 13 | - </h1> | |
| 14 | - | |
| 15 | - <div id="poststuff"> | |
| 16 | - <div id="post-body" class="metabox-holder"> | |
| 17 | - <div id="post-body-content"> | |
| 18 | - <div class="meta-box-sortables ui-sortable"> | |
| 19 | - <?php | |
| 20 | - // $this->surveys_categories_obj->views(); | |
| 21 | - ?> | |
| 22 | - <form method="post"> | |
| 23 | - <?php | |
| 24 | - // $this->surveys_categories_obj->prepare_items(); | |
| 25 | - // $this->surveys_categories_obj->display(); | |
| 26 | - ?> | |
| 27 | - <table class="chart-list-table table"> | |
| 28 | - <thead> | |
| 29 | - <tr> | |
| 30 | - <th class="column-cb"> | |
| 31 | - <input type="checkbox" class="form-check-input select-all" value="" /> | |
| 32 | - </th> | |
| 33 | - <th class="column-title"><?php echo esc_html(__( 'Title', "chart-builder" )); ?></th> | |
| 34 | - <th class="column-type"><?php echo esc_html(__( 'Type', "chart-builder" )); ?></th> | |
| 35 | - <th class="column-shortcode"><?php echo esc_html(__( 'Shortcode', "chart-builder" )); ?></th> | |
| 36 | - <th class="column-author"><?php echo esc_html(__( 'Author', "chart-builder" )); ?></th> | |
| 37 | - <th class="column-status"><?php echo esc_html(__( 'Status', "chart-builder" )); ?></th> | |
| 38 | - <th class="column-id"><?php echo esc_html(__( 'ID', "chart-builder" )); ?></th> | |
| 39 | - </tr> | |
| 40 | - </thead> | |
| 41 | - <tbody> | |
| 42 | - <?php if ( !empty( $items ) ): ?> | |
| 43 | - <?php foreach ( $items as $key => $item ): ?> | |
| 44 | - <tr> | |
| 45 | - <td class="column-cb"> | |
| 46 | - <input type="checkbox" class="form-check-input check-current-row" name="bulk-delete[]" value="<?php echo esc_attr($item['id']) ?>" /> | |
| 47 | - </td> | |
| 48 | - <td class="column-title"><?php | |
| 49 | - if($item['status'] == 'trashed'){ | |
| 50 | - $delete_nonce = wp_create_nonce( $this->plugin_name . '-delete-item' ); | |
| 51 | - }else{ | |
| 52 | - $delete_nonce = wp_create_nonce( $this->plugin_name . '-trash-item' ); | |
| 53 | - } | |
| 54 | - $chart_title = stripcslashes( $item['title'] ); | |
| 55 | - $q = esc_attr( $chart_title ); | |
| 56 | - $title = sprintf( '<a href="?page=%s&action=%s&id=%d" title="%s">%s</a>', esc_attr( $_REQUEST['page'] ), 'edit', absint( $item['id'] ), $q, stripcslashes($item['title'])); | |
| 57 | - | |
| 58 | - $actions = array(); | |
| 59 | - if($item['status'] == 'trashed'){ | |
| 60 | - $title = sprintf( '<strong><a>%s</a></strong>', $chart_title ); | |
| 61 | - $actions['restore'] = sprintf( '<a href="?page=%s&action=%s&id=%d&_wpnonce=%s">'. __('Restore', "chart-builder") .'</a>', esc_attr( $_REQUEST['page'] ), 'restore', absint( $item['id'] ), $delete_nonce ); | |
| 62 | - $actions['delete'] = sprintf( '<a class="ays_confirm_del" data-message="%s" href="?page=%s&action=%s&id=%s&_wpnonce=%s">'. __('Delete Permanently', "chart-builder") .'</a>', $chart_title, esc_attr( $_REQUEST['page'] ), 'delete', absint( $item['id'] ), $delete_nonce ); | |
| 63 | - }else{ | |
| 64 | - $draft_text = ''; | |
| 65 | - if( $item['status'] == 'draft' && !( isset( $_GET['fstatus'] ) && $_GET['fstatus'] == 'draft' )){ | |
| 66 | - $draft_text = ' — ' . '<span class="post-state">' . __( "Draft", "chart-builder" ) . '</span>'; | |
| 67 | - } | |
| 68 | - $title = sprintf( '<strong><a href="?page=%s&action=%s&id=%d" title="%s">%s</a>%s</strong>', esc_attr( $_REQUEST['page'] ), 'edit', absint( $item['id'] ), $q, $chart_title, $draft_text ); | |
| 69 | - | |
| 70 | - $actions['edit'] = sprintf( '<a href="?page=%s&action=%s&id=%d">'. __('Edit', "chart-builder") .'</a>', esc_attr( $_REQUEST['page'] ), 'edit', absint( $item['id'] ) ); | |
| 71 | - $actions['delete'] = sprintf( '<a href="?page=%s&action=%s&id=%s&_wpnonce=%s">'. __('Delete', "chart-builder") .'</a>', esc_attr( $_REQUEST['page'] ), 'delete', absint( $item['id'] ), $delete_nonce ); | |
| 72 | - } | |
| 73 | - echo wp_kses_post($title); | |
| 74 | - | |
| 75 | - echo '<p class="chart-list-table-actions-row">'; | |
| 76 | - foreach ( $actions as $action => $action_html ){ | |
| 77 | - $link_class = ''; | |
| 78 | - if( $action == 'delete' ){ | |
| 79 | - $link_class = 'link-danger'; | |
| 80 | - } | |
| 81 | - echo '<span class="chart-list-table-action-link ' . $link_class . '">' . $action_html . '</span>'; | |
| 82 | - } | |
| 83 | - echo '</p>'; | |
| 84 | - ?></td> | |
| 85 | - <td class="column-type"><?php | |
| 86 | - switch ($item['source_chart_type']) { | |
| 87 | - case 'bar_chart': | |
| 88 | - echo "<p><img src='" . esc_url(CHART_BUILDER_ADMIN_URL) . "/images/icons/bar-chart.png" . "' width='20px'>"; | |
| 89 | - echo "<span style='margin-left: 8px'>" . __('Bar Chart', "chart-builder") . "</span></p>"; | |
| 90 | - break; | |
| 91 | - | |
| 92 | - case 'pie_chart': | |
| 93 | - echo "<p><img src='" . esc_url(CHART_BUILDER_ADMIN_URL) . "/images/icons/pie-chart.png" . "' width='20px'>"; | |
| 94 | - echo "<span style='margin-left: 8px'>" . __('Pie Chart', "chart-builder") . "</span></p>"; | |
| 95 | - break; | |
| 96 | - | |
| 97 | - case 'column_chart': | |
| 98 | - echo "<p><img src='" . esc_url(CHART_BUILDER_ADMIN_URL) . "/images/icons/column-chart.png" . "' width='20px'>"; | |
| 99 | - echo "<span style='margin-left: 8px'>" . __('Column Chart', "chart-builder") . "</span></p>"; | |
| 100 | - break; | |
| 101 | - } | |
| 102 | - ?></td> | |
| 103 | - <td class="column-shortcode"> | |
| 104 | -<!-- <input type="text" onClick="this.setSelectionRange(0, this.value.length)" readonly value="--><?//= esc_attr('[ays_chart id="'. $item['id'] .'"]') ?><!--" />--> | |
| 105 | - <div class="ays-chart-shortcode-container"> | |
| 106 | - <div class="ays-chart-copy-image" data-toggle="tooltip" title="<?php echo esc_html(__('Click for copy.',"chart-builder"));?>"> | |
| 107 | - <img src='<?php echo esc_url(CHART_BUILDER_ADMIN_URL) . "/images/icons/copy-image.svg" ?>'> | |
| 108 | - </div> | |
| 109 | - <!-- <input type="text" class="ays-chart-shortcode-input" onClick="this.setSelectionRange(0, this.value.length)" readonly value="<//?= esc_attr('[ays_chart id="'. $item['id'] .'"]') ?>" /> --> | |
| 110 | - <input type="text" class="ays-chart-shortcode-input" readonly value="<?php echo esc_attr('[ays_chart id="'. $item['id'] .'"]') ?>" /> | |
| 111 | - </div> | |
| 112 | - </td> | |
| 113 | - <td class="column-author"><?php | |
| 114 | - $author = get_user_by("id", $item['author_id']); | |
| 115 | - if( $author ){ | |
| 116 | - $author_name = $author->data->display_name; | |
| 117 | - echo esc_html($author_name); | |
| 118 | - } | |
| 119 | - ?></td> | |
| 120 | - <td class="column-status"><?php | |
| 121 | - $status = ucfirst( $item['status'] ); | |
| 122 | - $date = date( 'Y/m/d', strtotime( $item['date_modified'] ) ); | |
| 123 | - $title_date = date( 'l jS \of F Y h:i:s A', strtotime( $item['date_modified'] ) ); | |
| 124 | - $html = "<p style='font-size:14px;margin:0;'>" . $status . "</p>"; | |
| 125 | - $html .= "<p style=';font-size:14px;margin:0;text-decoration: dotted underline;' title='" . $title_date . "'>" . $date . "</p>"; | |
| 126 | -// $html = "<p style=';font-size:14px;margin:0;text-decoration: dotted underline;' title='" . $title_date . "'>" . $date . "</p>"; | |
| 127 | - | |
| 128 | - echo wp_kses_post( $html ); | |
| 129 | - ?></td> | |
| 130 | - <td class="column-id"><?php echo esc_attr($item['id']) ?></td> | |
| 131 | - </tr> | |
| 132 | - <?php endforeach; ?> | |
| 133 | - <?php else: ?> | |
| 134 | - <tr> | |
| 135 | - <td colspan="7"><?php echo esc_html(__( 'There are no items yet.', "chart-builder" )); ?></td> | |
| 136 | - </tr> | |
| 137 | - <?php endif; ?> | |
| 138 | - </tbody> | |
| 139 | - <tfoot> | |
| 140 | - <?php if($chart_count_per_page > 1):?> | |
| 141 | - <tr> | |
| 142 | - <td colspan="7"> | |
| 143 | - <nav aria-label="Pagination" class="m-0"> | |
| 144 | - <ul class="pagination m-0 p-2"> | |
| 145 | - <?php for( $i = 0; $i < $chart_count_per_page; $i++ ): | |
| 146 | - $url = esc_url_raw( remove_query_arg( false ) ); | |
| 147 | - $url = esc_url_raw( add_query_arg( array( | |
| 148 | - 'paged' => $i + 1 | |
| 149 | - ), $url ) ); | |
| 150 | - | |
| 151 | - $active = ''; | |
| 152 | - if( $chart_paged != '' ){ | |
| 153 | - if( $chart_paged == $i + 1 ) { | |
| 154 | - $active = 'active'; | |
| 155 | - } | |
| 156 | - } else { | |
| 157 | - wp_safe_redirect($_SERVER['REQUEST_URI'] . "&paged=1"); | |
| 158 | - } | |
| 159 | - ?> | |
| 160 | - <li class="page-item <?php echo esc_attr($active) ?>"> | |
| 161 | - <a class="page-link" href="<?php echo esc_url($url) ?>"><?php echo esc_attr(absint($i)) + 1; ?></a> | |
| 162 | - </li> | |
| 163 | - <?php endfor; ?> | |
| 164 | - </ul> | |
| 165 | - </nav> | |
| 166 | - </td> | |
| 167 | - </tr> | |
| 168 | - <?php endif; ?> | |
| 169 | - </tfoot> | |
| 170 | - </table> | |
| 171 | - </form> | |
| 172 | - </div> | |
| 173 | - </div> | |
| 174 | - </div> | |
| 175 | - <br class="clear"> | |
| 176 | - </div> | |
| 177 | - <h1 class="wp-heading-inline"> | |
| 178 | - <?php | |
| 179 | - echo __( esc_html( get_admin_page_title() ), "chart-builder" ); | |
| 180 | - echo sprintf( '<a href="?page=%s&action=%s" class="btn btn-primary mx-2 chart-add-new-bttn">' . __( 'Add New', "chart-builder" ) . '</a>', esc_attr( $_REQUEST['page'] ), 'add'); | |
| 181 | - ?> | |
| 182 | - </h1> | |
| 183 | -</div> | |
| 1 | +<?php | |
| 2 | +$items = $this->db_obj->get_items(); | |
| 3 | + | |
| 4 | +$all_items = CBFunctions()->get_all_charts_count(); | |
| 5 | +$chart_count_per_page = count($items) > 0 ? $all_items/$this->db_obj->get_pagination_count() : 0; | |
| 6 | +$chart_paged = isset($_GET['paged']) && $_GET['paged'] != '' ? absint( sanitize_text_field(wp_unslash($_GET['paged']))) : ''; | |
| 7 | +$search = $this->db_obj->get_search_value(); | |
| 8 | +$chart_max_id = Chart_Builder_Admin::get_max_id('charts'); | |
| 9 | +$this->settings_obj = new Chart_Builder_Settings_DB_Actions($this->plugin_name); | |
| 10 | +$chart_title_length = $this->settings_obj->get_listtables_title_length(); | |
| 11 | +$filter_by_type = (isset($_GET['filterbytype']) && $_GET['filterbytype'] != "") ? intval(sanitize_text_field(wp_unslash($_GET['filterbytype']))) : ''; | |
| 12 | +$filter_by_source = (isset($_GET['filterbysource']) && $_GET['filterbysource'] != "") ? intval(sanitize_text_field(wp_unslash($_GET['filterbysource']))) : ''; | |
| 13 | +$filter_by_chart_source = (isset($_GET['filterbychartsource']) && $_GET['filterbychartsource'] != "") ? intval(sanitize_text_field(wp_unslash($_GET['filterbychartsource']))) : ''; | |
| 14 | +$filter_by_date = (isset($_GET['filterbydate']) && $_GET['filterbydate'] != "") ? sanitize_text_field(wp_unslash($_GET['filterbydate'])) : ''; | |
| 15 | +$order_by = (isset($_GET['orderby']) && $_GET['orderby'] != "") ? sanitize_text_field(wp_unslash($_GET['orderby'])) : ''; | |
| 16 | +$order = (isset($_GET['order']) && $_GET['order'] != "") ? sanitize_text_field(wp_unslash($_GET['order'])) : 'desc'; | |
| 17 | +$chart_types = array( | |
| 18 | + "Line Chart", | |
| 19 | + "Bar Chart", | |
| 20 | + "Pie Chart", | |
| 21 | + "Column Chart", | |
| 22 | + "Org Chart", | |
| 23 | + "Donut Chart", | |
| 24 | +); | |
| 25 | +$chart_sources = array( | |
| 26 | + "Manual", | |
| 27 | + "Quiz Maker", | |
| 28 | + "File Import", | |
| 29 | + "Google Sheet", | |
| 30 | + "Database Query", | |
| 31 | + "Woocommerce", | |
| 32 | +); | |
| 33 | +$chart_source_types = array( | |
| 34 | + "Google Charts", | |
| 35 | + "Chart.js", | |
| 36 | +); | |
| 37 | +$chart_dates = array( | |
| 38 | + 'today' => __("Today", "chart-builder"), | |
| 39 | + 'yesterday' => __("Yesterday", "chart-builder"), | |
| 40 | + 'last_week' => __("Last Week", "chart-builder"), | |
| 41 | + 'last_month' => __("Last Month", "chart-builder"), | |
| 42 | + 'last_year' => __("Last Year", "chart-builder"), | |
| 43 | +); | |
| 44 | +$order_by_values = array( | |
| 45 | + 'title' => __("Title", "chart-builder"), | |
| 46 | + 'date_created' => __("Date created", "chart-builder"), | |
| 47 | + 'date_modified' => __("Date modified", "chart-builder"), | |
| 48 | +); | |
| 49 | +$order_values = array( | |
| 50 | + 'asc' => __("Ascending", "chart-builder"), | |
| 51 | + 'desc' => __("Descending", "chart-builder"), | |
| 52 | +); | |
| 53 | +$filter_by_author_data = $this->db_obj->get_searched_author_info(); | |
| 54 | + | |
| 55 | +$plus_icon_svg = "<span class=''><img src='". esc_url(plugins_url('/images/icons/plus-icon.svg', dirname(__FILE__, 2))) ."'></span>";// phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage | |
| 56 | +$youtube_icon_svg = "<span class=''><img src='". esc_url(plugins_url('/images/icons/youtube-video-icon.svg', dirname(__FILE__, 2))) ."'></span>";// phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage | |
| 57 | + | |
| 58 | +?> | |
| 59 | +<div class="wrap ays_charts_list_table"> | |
| 60 | + <div class="ays-chart-heading-box"> | |
| 61 | + <div class="ays-chart-wordpress-user-manual-box"> | |
| 62 | + <a href="https://ays-pro.com/wordpress-chart-builder-plugin-user-manual" target="_blank" style="text-decoration: none;font-size: 13px;"> | |
| 63 | + <i class="ays_fa ays_fa_file_text" ></i> | |
| 64 | + <span style="margin-left: 3px;text-decoration: underline;">View Documentation</span> | |
| 65 | + </a> | |
| 66 | + </div> | |
| 67 | + </div> | |
| 68 | + <h1 class="wp-heading-inline"> | |
| 69 | + <?php | |
| 70 | + echo esc_html( get_admin_page_title() ); | |
| 71 | + ?> | |
| 72 | + </h1> | |
| 73 | + | |
| 74 | + <div class="ays-chart-add-new-button-box" style="margin-top: 10px;"> | |
| 75 | + <?php | |
| 76 | + $svg_sanitize_properties = Chart_Builder_Admin::chart_builder_svg_sanitize_allowed_properties(); | |
| 77 | + $sanitized_plus_icon_svg = wp_kses($plus_icon_svg, $svg_sanitize_properties); | |
| 78 | + echo sprintf( '<a href="?page=%s&action=%s" class="btn btn-primary chart-add-new-bttn chart-add-new-button-new-design"> %s ' . esc_html__( 'Add New', "chart-builder" ) . '</a>', esc_attr(sanitize_text_field(wp_unslash($_REQUEST['page'])) ), 'add',wp_kses_post($sanitized_plus_icon_svg)); | |
| 79 | + ?> | |
| 80 | + </div> | |
| 81 | + <div id="poststuff"> | |
| 82 | + <div id="post-body" class="metabox-holder"> | |
| 83 | + <div id="post-body-content"> | |
| 84 | + <div class="meta-box-sortables ui-sortable chart-list-table-container"> | |
| 85 | + <form method="post"> | |
| 86 | + <div class="ays-chart-table-actions-row"> | |
| 87 | + <div class="ays-chart-table-actions-row-section"> | |
| 88 | + <div class="ays-chart-delete-button"> | |
| 89 | + <?php wp_nonce_field( $this->plugin_name . '-bulk-delete' ); ?> | |
| 90 | + <button name="bulk_delete" id="ays-chart-bulk-delete" disabled><i class="ays_fa ays_fa_trash"></i><?php echo esc_html(__( 'Delete', "chart-builder" )); ?></button> | |
| 91 | + <button type="submit" name="bulk_delete_confirm" id="ays-chart-bulk-delete-confirm" style="display: none;"></button> | |
| 92 | + </div> | |
| 93 | + <div class="ays-chart-filter-section"> | |
| 94 | + <select name="filterbytype" id="ays-chart-filter-select"> | |
| 95 | + <option value=""><?php echo esc_html__( "Select Type", "chart-builder" ) ?></option> | |
| 96 | + <?php | |
| 97 | + foreach ( $chart_types as $k => $v ): | |
| 98 | + $selected = ( $filter_by_type == ($k+1) ) ? 'selected' : ''; | |
| 99 | + ?> | |
| 100 | + <option value="<?php echo esc_attr($k+1); ?>" <?php echo esc_attr($selected); ?>><?php echo esc_html($v); ?></option> | |
| 101 | + <?php | |
| 102 | + endforeach; | |
| 103 | + ?> | |
| 104 | + </select> | |
| 105 | + <select name="filterbysource" id="ays-chart-filter-source"> | |
| 106 | + <option value=""><?php echo esc_html__( "Select Source", "chart-builder" ) ?></option> | |
| 107 | + <?php | |
| 108 | + foreach ( $chart_sources as $k => $v ): | |
| 109 | + $disabled = $k >= 2 ? 'disabled' : '' ; | |
| 110 | + $selected = ( $filter_by_source == ($k+1) ) ? 'selected' : ''; | |
| 111 | + ?> | |
| 112 | + <option value="<?php echo esc_attr($k+1); ?>" <?php echo esc_attr($selected); ?> <?php echo esc_attr($disabled); ?>><?php echo esc_html($v); ?></option> | |
| 113 | + <?php | |
| 114 | + endforeach; | |
| 115 | + ?> | |
| 116 | + </select> | |
| 117 | + <select name="filterbychartsource" id="ays-chart-filter-chart-source"> | |
| 118 | + <option value=""><?php echo esc_html__( "Select Chart Source", "chart-builder" ) ?></option> | |
| 119 | + <?php | |
| 120 | + foreach ( $chart_source_types as $k => $v ): | |
| 121 | + $disabled = $k >= 2 ? 'disabled' : '' ; | |
| 122 | + $selected = ( $filter_by_chart_source == ($k+1) ) ? 'selected' : ''; | |
| 123 | + ?> | |
| 124 | + <option value="<?php echo esc_attr($k+1); ?>" <?php echo esc_attr($selected); ?> <?php echo esc_attr($disabled); ?>><?php echo esc_html($v); ?></option> | |
| 125 | + <?php | |
| 126 | + endforeach; | |
| 127 | + ?> | |
| 128 | + </select> | |
| 129 | + <select name="filterbydate" id="ays-chart-filter-date"> | |
| 130 | + <option value=""><?php echo esc_html__( "Select Date", "chart-builder" ) ?></option> | |
| 131 | + <?php | |
| 132 | + foreach ( $chart_dates as $k => $v ): | |
| 133 | + $selected = ( $filter_by_date == $k ) ? 'selected' : ''; | |
| 134 | + ?> | |
| 135 | + <option value="<?php echo esc_attr($k); ?>" <?php echo esc_attr($selected); ?>><?php echo esc_html($v); ?></option> | |
| 136 | + <?php | |
| 137 | + endforeach; | |
| 138 | + ?> | |
| 139 | + </select> | |
| 140 | + <select name="filterbyauthor" id="ays-chart-filter-author"> | |
| 141 | + <?php if (isset($filter_by_author_data) && !empty($filter_by_author_data)): ?> | |
| 142 | + <option value="<?php echo esc_attr($filter_by_author_data['ID'])?>" selected><?php echo esc_html($filter_by_author_data['display_name'])?></option> | |
| 143 | + <?php endif; ?> | |
| 144 | + </select> | |
| 145 | + <select name="orderby" id="ays-chart-order-by"> | |
| 146 | + <option value=""><?php echo esc_html__( "Order by", "chart-builder" ) ?></option> | |
| 147 | + <?php | |
| 148 | + foreach ( $order_by_values as $k => $v ): | |
| 149 | + // $disabled = $k >= 2 ? 'disabled' : '' ; | |
| 150 | + $selected = ( $order_by == $k ) ? 'selected' : ''; | |
| 151 | + ?> | |
| 152 | + <option value="<?php echo esc_attr($k); ?>" <?php echo esc_attr($selected); ?>><?php echo esc_html($v); ?></option> | |
| 153 | + <?php | |
| 154 | + endforeach; | |
| 155 | + ?> | |
| 156 | + </select> | |
| 157 | + <select name="order" id="ays-chart-order"> | |
| 158 | + <?php | |
| 159 | + foreach ( $order_values as $k => $v ): | |
| 160 | + $selected = ( $order == $k ) ? 'selected' : ''; | |
| 161 | + ?> | |
| 162 | + <option value="<?php echo esc_attr($k); ?>" <?php echo esc_attr($selected); ?>><?php echo esc_html($v); ?></option> | |
| 163 | + <?php | |
| 164 | + endforeach; | |
| 165 | + ?> | |
| 166 | + </select> | |
| 167 | + <button type="submit" name="ays_chart_filter" id="ays-chart-filter"><?php echo esc_html(__( 'Filter', "chart-builder" )); ?></button> | |
| 168 | + <button type="submit" name="ays_chart_filter_clear" id="ays-chart-filter-clear"><?php echo esc_html(__( 'Clear filters', "chart-builder" )); ?></button> | |
| 169 | + </div> | |
| 170 | + </div> | |
| 171 | + <div class="ays-chart-search-block"> | |
| 172 | + <input type="text" name="s" id="ays-chart-search-input" value="<?php echo esc_attr($search); ?>"> | |
| 173 | + <button type="submit" name="ays_chart_search" id="ays-chart-search"><?php echo esc_html(__( 'Search', "chart-builder" )); ?></button> | |
| 174 | + </div> | |
| 175 | + </div> | |
| 176 | + <table class="chart-list-table table"> | |
| 177 | + <thead> | |
| 178 | + <tr> | |
| 179 | + <th class="column-cb"> | |
| 180 | + <input type="checkbox" class="form-check-input select-all" value="" /> | |
| 181 | + </th> | |
| 182 | + <th class="column-title"><?php echo esc_html(__( 'Title', "chart-builder" )); ?></th> | |
| 183 | + <th class="column-type"><?php echo esc_html(__( 'Type', "chart-builder" )); ?></th> | |
| 184 | + <th class="column-source-type"><?php echo esc_html(__( 'Source', "chart-builder" )); ?></th> | |
| 185 | + <th class="column-chart-source"><?php echo esc_html(__( 'Chart Source', "chart-builder" )); ?></th> | |
| 186 | + <th class="column-shortcode"><?php echo esc_html(__( 'Shortcode', "chart-builder" )); ?></th> | |
| 187 | + <th class="column-author"><?php echo esc_html(__( 'Author', "chart-builder" )); ?></th> | |
| 188 | + <th class="column-status"><?php echo esc_html(__( 'Status', "chart-builder" )); ?></th> | |
| 189 | + <th class="column-date"><?php echo esc_html(__( 'Date', "chart-builder" )); ?></th> | |
| 190 | + <th class="column-id"><?php echo esc_html(__( 'ID', "chart-builder" )); ?></th> | |
| 191 | + </tr> | |
| 192 | + </thead> | |
| 193 | + <tbody> | |
| 194 | + <?php if ( !empty( $items ) ): ?> | |
| 195 | + <?php foreach ( $items as $key => $item ): ?> | |
| 196 | + <tr> | |
| 197 | + <td class="column-cb"> | |
| 198 | + <input type="checkbox" class="form-check-input check-current-row" name="bulk-delete[]" value="<?php echo esc_attr($item['id']) ?>" /> | |
| 199 | + </td> | |
| 200 | + <td class="column-title"><?php | |
| 201 | + if($item['status'] == 'trashed'){ | |
| 202 | + $delete_nonce = wp_create_nonce( $this->plugin_name . '-trash-item' ); | |
| 203 | + }else{ | |
| 204 | + $delete_nonce = wp_create_nonce( $this->plugin_name . '-delete-item' ); | |
| 205 | + } | |
| 206 | + $publish_nonce = wp_create_nonce( $this->plugin_name . '-publish-item' ); | |
| 207 | + $unpublish_nonce = wp_create_nonce( $this->plugin_name . '-unpublish-item' ); | |
| 208 | + $duplicate_nonce = wp_create_nonce( $this->plugin_name . '-duplicate-item' ); | |
| 209 | + $chart_title = stripcslashes( $item['title'] ); | |
| 210 | + $q = esc_attr( $chart_title ); | |
| 211 | + $custom_post_id = isset($item['custom_post_id']) && $item['custom_post_id'] != 0 && $item['custom_post_id'] != '' ? esc_attr(intval($item['custom_post_id'])) : 0; | |
| 212 | + $restitle = Chart_Builder_Admin::ays_restriction_string("word", $chart_title, $chart_title_length); | |
| 213 | + $actions = array(); | |
| 214 | + if($item['status'] == 'trashed'){ | |
| 215 | + $title = sprintf( '<strong><a>%s</a></strong>', $restitle ); | |
| 216 | + $actions['restore'] = sprintf( '<a href="?page=%s&action=%s&id=%d&_wpnonce=%s">'. __('Restore', "chart-builder") .'</a>', esc_attr( sanitize_text_field(wp_unslash($_REQUEST['page']))), 'restore', absint( $item['id'] ), $delete_nonce ); | |
| 217 | + $actions['delete'] = sprintf( '<a class="ays_confirm_del" data-message="%s" href="?page=%s&action=%s&id=%s&_wpnonce=%s">'. esc_html__('Delete Permanently', "chart-builder") .'</a>', $restitle, esc_attr(sanitize_text_field(wp_unslash($_REQUEST['page'] ))), 'delete', absint( $item['id'] ), $delete_nonce ); | |
| 218 | + }else{ | |
| 219 | + $actions['edit'] = sprintf( '<a class="btn btn-primary btn-sm" href="?page=%s&action=%s&id=%d" data-bs-toggle="tooltip" title="'. esc_html(__('Edit',"chart-builder")) .'"><i class="ays_fa ays_fa_pen_to_square"></i></a>', esc_attr( sanitize_text_field(wp_unslash($_REQUEST['page'] ))), 'edit', absint( $item['id'] ) ); | |
| 220 | + | |
| 221 | + $draft_text = ''; | |
| 222 | + if( $item['status'] == 'draft' && !( isset( $_GET['fstatus'] ) && $_GET['fstatus'] == 'draft' )){ | |
| 223 | + $draft_text = ' — ' . '<span class="post-state">' . __( "Draft", "chart-builder" ) . '</span>'; | |
| 224 | + $actions['publish'] = sprintf( '<a class="btn btn-primary btn-sm" href="?page=%s&action=%s&id=%s&_wpnonce=%s" data-bs-toggle="tooltip" title="'. esc_html(__('Publish',"chart-builder")) .'"><i class="ays_fa ays_fa_unpublished"></i></a>', esc_attr( sanitize_text_field(wp_unslash($_REQUEST['page'] ))), 'publish', absint( $item['id'] ), $publish_nonce ); | |
| 225 | + } else { | |
| 226 | + $actions['unpublish'] = sprintf( '<a class="btn btn-primary btn-sm" href="?page=%s&action=%s&id=%s&_wpnonce=%s" data-bs-toggle="tooltip" title="'. esc_html(__('Unpublish',"chart-builder")) .'"><i class="ays_fa ays_fa_published"></i></a>', esc_attr( sanitize_text_field(wp_unslash($_REQUEST['page'] ))), 'unpublish', absint( $item['id'] ), $unpublish_nonce ); | |
| 227 | + } | |
| 228 | + | |
| 229 | + $title = sprintf( '<strong><a href="?page=%s&action=%s&id=%d" title="%s">%s</a>%s</strong>', esc_attr( sanitize_text_field(wp_unslash($_REQUEST['page'] ))), 'edit', absint( $item['id'] ), $q, $restitle, $draft_text ); | |
| 230 | + if($custom_post_id > 0){ | |
| 231 | + $actions['custom_posts'] = sprintf( '<a href="%s" class="btn btn-primary btn-sm" target="_blank"><i class="fa fa-eye"></i></a>', esc_url( add_query_arg( 'preview', 'true', get_permalink($custom_post_id) ) )); | |
| 232 | + } | |
| 233 | + $actions['duplicate'] = sprintf( '<a class="btn btn-primary btn-sm" href="?page=%s&action=%s&id=%s&_wpnonce=%s" data-bs-toggle="tooltip" title="'. esc_html(__('Duplicate',"chart-builder")) .'"><i class="ays_fa ays_fa_copy"></i></a>', esc_attr( sanitize_text_field(wp_unslash($_REQUEST['page'] ))), 'duplicate', absint( $item['id'] ), $duplicate_nonce ); | |
| 234 | + | |
| 235 | + $actions['delete'] = sprintf( '<a class="ays_chart_delete_confirm btn btn-danger btn-sm" href="?page=%s&action=%s&id=%s&_wpnonce=%s" data-bs-toggle="tooltip" title="'. esc_html(__('Delete',"chart-builder")) .'"><i class="ays_fa ays_fa_trash_o"></i></a>', esc_attr( sanitize_text_field(wp_unslash($_REQUEST['page'] ))), 'delete', absint( $item['id'] ), $delete_nonce ); | |
| 236 | + } | |
| 237 | + echo wp_kses_post($title); | |
| 238 | + | |
| 239 | + echo '<p class="chart-list-table-actions-row">'; | |
| 240 | + foreach ( $actions as $action => $action_html ){ | |
| 241 | + $link_class = ''; | |
| 242 | + // if( $action == 'delete' ){ | |
| 243 | + // $link_class = 'link-danger'; | |
| 244 | + // } | |
| 245 | + echo '<span class="chart-list-table-action-link ' . esc_attr( $link_class ) . '">'; | |
| 246 | + echo wp_kses_post( $action_html ); | |
| 247 | + echo '</span>'; | |
| 248 | + } | |
| 249 | + echo '</p>'; | |
| 250 | + ?></td> | |
| 251 | + <td class="column-type"><?php | |
| 252 | + switch ($item['source_chart_type']) { | |
| 253 | + case 'line_chart': | |
| 254 | + echo "<p><img src='" . esc_url(plugins_url('/images/icons/line-chart.png', dirname(__FILE__, 2))) . "' width='20px'>";// phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage | |
| 255 | + echo "<span style='margin-left: 8px'>" . esc_html__('Line Chart', 'chart-builder') . "</span></p>"; | |
| 256 | + break; | |
| 257 | + | |
| 258 | + case 'bar_chart': | |
| 259 | + echo "<p><img src='" . esc_url(plugins_url('/images/icons/bar-chart.png', dirname(__FILE__, 2))) . "' width='20px'>";// phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage | |
| 260 | + echo "<span style='margin-left: 8px'>" . esc_html__('Bar Chart', "chart-builder") . "</span></p>"; | |
| 261 | + break; | |
| 262 | + | |
| 263 | + case 'pie_chart': | |
| 264 | + echo "<p><img src='" . esc_url(plugins_url('/images/icons/pie-chart.png', dirname(__FILE__, 2))) . "' width='20px'>";// phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage | |
| 265 | + echo "<span style='margin-left: 8px'>" . esc_html__('Pie Chart', "chart-builder") . "</span></p>"; | |
| 266 | + break; | |
| 267 | + | |
| 268 | + case 'column_chart': | |
| 269 | + echo "<p><img src='" . esc_url(plugins_url('/images/icons/column-chart.png', dirname(__FILE__, 2))) . "' width='20px'>";// phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage | |
| 270 | + echo "<span style='margin-left: 8px'>" . esc_html__('Column Chart', "chart-builder") . "</span></p>"; | |
| 271 | + break; | |
| 272 | + | |
| 273 | + case 'donut_chart': | |
| 274 | + echo "<p><img src='" . esc_url(plugins_url('/images/icons/donut-chart.png', dirname(__FILE__, 2))) . "' width='20px'>";// phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage | |
| 275 | + echo "<span style='margin-left: 8px'>" . esc_html__('Donut Chart', "chart-builder") . "</span></p>"; | |
| 276 | + break; | |
| 277 | + | |
| 278 | + case 'org_chart': | |
| 279 | + echo "<p><img src='" . esc_url(plugins_url('/images/icons/org-chart.png', dirname(__FILE__, 2))) . "' width='20px'>";// phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage | |
| 280 | + echo "<span style='margin-left: 8px'>" . esc_html__('Org Chart', 'chart-builder') . "</span></p>"; | |
| 281 | + break; | |
| 282 | + } | |
| 283 | + ?></td> | |
| 284 | + <td class="column-source-type"><?php | |
| 285 | + switch ($item['source_type']) { | |
| 286 | + case 'quiz_maker': | |
| 287 | + echo "<span style='margin-left: 8px'>" . esc_html__('Quiz Maker', 'chart-builder') . "</span>"; | |
| 288 | + break; | |
| 289 | + case 'manual': | |
| 290 | + default: | |
| 291 | + echo "<span style='margin-left: 8px'>" . esc_html__('Manual', 'chart-builder') . "</span>"; | |
| 292 | + break; | |
| 293 | + } | |
| 294 | + ?></td> | |
| 295 | + <td class="column-chart-source"><?php | |
| 296 | + switch ($item['type']) { | |
| 297 | + case 'chart-js': | |
| 298 | + echo "<span style='margin-left: 8px'>" . esc_html__('Chart.js', 'chart-builder') . "</span>"; | |
| 299 | + break; | |
| 300 | + case 'google-charts': | |
| 301 | + default: | |
| 302 | + echo "<span style='margin-left: 8px'>" . esc_html__('Google Charts', 'chart-builder') . "</span>"; | |
| 303 | + break; | |
| 304 | + } | |
| 305 | + ?></td> | |
| 306 | + <td class="column-shortcode"> | |
| 307 | + <div class="ays-chart-shortcode-container"> | |
| 308 | + <div class="ays-chart-copy-image" data-bs-toggle="tooltip" title="<?php echo esc_html(__('Click to copy',"chart-builder"));?>"> | |
| 309 | + <img src='<?php echo esc_url(CHART_BUILDER_ADMIN_URL) . "/images/icons/copy-image.svg" ?>'> | |
| 310 | + </div> | |
| 311 | + <!-- <input type="text" class="ays-chart-shortcode-input" onClick="this.setSelectionRange(0, this.value.length)" readonly value="<//?php echo esc_attr('[ays_chart id="'. $item['id'] .'"]') ?>" /> --> | |
| 312 | + <input type="text" class="ays-chart-shortcode-input" readonly value="<?php echo esc_attr('[ays_chart id="'. $item['id'] .'"]') ?>" /> | |
| 313 | + </div> | |
| 314 | + </td> | |
| 315 | + <td class="column-author"><?php | |
| 316 | + $author = get_user_by("id", $item['author_id']); | |
| 317 | + if( $author ){ | |
| 318 | + $author_name = $author->data->display_name; | |
| 319 | + echo esc_html($author_name); | |
| 320 | + } else { | |
| 321 | + echo '<span style="color:red">'. esc_html__('Deleted user', 'chart-builder').'</span>'; | |
| 322 | + } | |
| 323 | + ?></td> | |
| 324 | + <td class="column-status"><?php | |
| 325 | + $status = ucfirst( $item['status'] ); | |
| 326 | + $html = "<p style='font-size:14px;margin:0;'>" . $status . "</p>"; | |
| 327 | + | |
| 328 | + echo wp_kses_post( $html ); | |
| 329 | + ?></td> | |
| 330 | + <td class="column-date"><?php | |
| 331 | + $date = gmdate( 'Y/m/d', strtotime( $item['date_modified'] ) ); | |
| 332 | + $title_date = gmdate( 'l jS \of F Y h:i:s A', strtotime( $item['date_modified'] ) ); | |
| 333 | + $html = "<p style='font-size:14px;margin:0;text-decoration: dotted underline;' title='" . $title_date . "'>" . $date . "</p>"; | |
| 334 | + | |
| 335 | + echo wp_kses_post( $html ); | |
| 336 | + ?></td> | |
| 337 | + <td class="column-id"><?php echo esc_attr($item['id']) ?></td> | |
| 338 | + </tr> | |
| 339 | + <?php endforeach; ?> | |
| 340 | + <?php else: ?> | |
| 341 | + <tr> | |
| 342 | + <td colspan="8"><?php echo esc_html(__( 'There are no items yet.', "chart-builder" )); ?></td> | |
| 343 | + </tr> | |
| 344 | + <?php endif; ?> | |
| 345 | + </tbody> | |
| 346 | + </table> | |
| 347 | + <div class="ays-chart-table-actions-row"> | |
| 348 | + <div class="ays-chart-table-actions-row-section"> | |
| 349 | + <div class="ays-chart-delete-button"> | |
| 350 | + <button name="bulk_delete" id="ays-chart-bulk-delete-bottom" disabled><i class="ays_fa ays_fa_trash"></i><?php echo esc_html(__( 'Delete', "chart-builder" )); ?></button> | |
| 351 | + <button type="submit" name="bulk_delete_confirm" id="ays-chart-bulk-delete-confirm-bottom" style="display: none;"></button> | |
| 352 | + </div> | |
| 353 | + <div class="ays-chart-filter-section"> | |
| 354 | + <select name="filterbytype" id="ays-chart-filter-select-bottom"> | |
| 355 | + <option value=""><?php echo esc_html__( "Select Type", "chart-builder" ) ?></option> | |
| 356 | + <?php | |
| 357 | + foreach ( $chart_types as $k => $v ): | |
| 358 | + $selected = ( $filter_by_type == ($k+1) ) ? 'selected' : ''; | |
| 359 | + ?> | |
| 360 | + <option value="<?php echo esc_attr($k+1); ?>" <?php echo esc_attr($selected); ?>><?php echo esc_html($v); ?></option> | |
| 361 | + <?php | |
| 362 | + endforeach; | |
| 363 | + ?> | |
| 364 | + </select> | |
| 365 | + <select name="filterbysource" id="ays-chart-filter-source-bottom"> | |
| 366 | + <option value=""><?php echo esc_html__( "Select Source", "chart-builder" ) ?></option> | |
| 367 | + <?php | |
| 368 | + foreach ( $chart_sources as $k => $v ): | |
| 369 | + $disabled = $k >= 2 ? 'disabled' : '' ; | |
| 370 | + $selected = ( $filter_by_source == ($k+1) ) ? 'selected' : ''; | |
| 371 | + ?> | |
| 372 | + <option value="<?php echo esc_attr($k+1); ?>" <?php echo esc_attr($selected); ?> <?php echo esc_attr($disabled); ?>><?php echo esc_html($v); ?></option> | |
| 373 | + <?php | |
| 374 | + endforeach; | |
| 375 | + ?> | |
| 376 | + </select> | |
| 377 | + <select name="filterbychartsource" id="ays-chart-filter-chart-source-bottom"> | |
| 378 | + <option value=""><?php echo esc_html__( "Select Chart Source", "chart-builder" ) ?></option> | |
| 379 | + <?php | |
| 380 | + foreach ( $chart_source_types as $k => $v ): | |
| 381 | + $disabled = $k >= 2 ? 'disabled' : '' ; | |
| 382 | + $selected = ( $filter_by_chart_source == ($k+1) ) ? 'selected' : ''; | |
| 383 | + ?> | |
| 384 | + <option value="<?php echo esc_attr($k+1); ?>" <?php echo esc_attr($selected); ?> <?php echo esc_attr($disabled); ?>><?php echo esc_html($v); ?></option> | |
| 385 | + <?php | |
| 386 | + endforeach; | |
| 387 | + ?> | |
| 388 | + </select> | |
| 389 | + <select name="filterbydate" id="ays-chart-filter-date-bottom"> | |
| 390 | + <option value=""><?php echo esc_html__( "Select Date", "chart-builder" ) ?></option> | |
| 391 | + <?php | |
| 392 | + foreach ( $chart_dates as $k => $v ): | |
| 393 | + $selected = ( $filter_by_date == $k ) ? 'selected' : ''; | |
| 394 | + ?> | |
| 395 | + <option value="<?php echo esc_attr($k); ?>" <?php echo esc_attr($selected); ?>><?php echo esc_html($v); ?></option> | |
| 396 | + <?php | |
| 397 | + endforeach; | |
| 398 | + ?> | |
| 399 | + </select> | |
| 400 | + <select name="filterbyauthor" id="ays-chart-filter-author-bottom"> | |
| 401 | + <?php if (isset($filter_by_author_data) && !empty($filter_by_author_data)): ?> | |
| 402 | + <option value="<?php echo esc_html($filter_by_author_data['ID'])?>" selected><?php echo esc_html($filter_by_author_data['display_name'])?></option> | |
| 403 | + <?php endif; ?> | |
| 404 | + </select> | |
| 405 | + <select name="orderby" id="ays-chart-order-by-bottom"> | |
| 406 | + <option value=""><?php echo esc_html__( "Order by", "chart-builder" ) ?></option> | |
| 407 | + <?php | |
| 408 | + foreach ( $order_by_values as $k => $v ): | |
| 409 | + // $disabled = $k >= 2 ? 'disabled' : '' ; | |
| 410 | + $selected = ( $order_by == $k ) ? 'selected' : ''; | |
| 411 | + ?> | |
| 412 | + <option value="<?php echo esc_attr($k); ?>" <?php echo esc_attr($selected); ?>><?php echo esc_html($v); ?></option> | |
| 413 | + <?php | |
| 414 | + endforeach; | |
| 415 | + ?> | |
| 416 | + </select> | |
| 417 | + <select name="order" id="ays-chart-order-bottom"> | |
| 418 | + <?php | |
| 419 | + foreach ( $order_values as $k => $v ): | |
| 420 | + $selected = ( $order == $k ) ? 'selected' : ''; | |
| 421 | + ?> | |
| 422 | + <option value="<?php echo esc_attr($k); ?>" <?php echo esc_attr($selected); ?>><?php echo esc_html($v); ?></option> | |
| 423 | + <?php | |
| 424 | + endforeach; | |
| 425 | + ?> | |
| 426 | + </select> | |
| 427 | + <button type="submit" name="ays_chart_filter" id="ays-chart-filter-bottom"><?php echo esc_html(__( 'Filter', "chart-builder" )); ?></button> | |
| 428 | + <button type="submit" name="ays_chart_filter_clear" id="ays-chart-filter-clear-bottom"><?php echo esc_html(__( 'Clear filters', "chart-builder" )); ?></button> | |
| 429 | + </div> | |
| 430 | + </div> | |
| 431 | + <?php if($chart_count_per_page > 1):?> | |
| 432 | + <div class> | |
| 433 | + <nav aria-label="Pagination" class="m-0"> | |
| 434 | + <ul class="pagination m-0 p-2"> | |
| 435 | + <?php for( $i = 0; $i < $chart_count_per_page; $i++ ): | |
| 436 | + $url = esc_url_raw( remove_query_arg( false ) ); | |
| 437 | + $url = esc_url_raw( add_query_arg( array( | |
| 438 | + 'paged' => $i + 1 | |
| 439 | + ), $url ) ); | |
| 440 | + | |
| 441 | + $active = ''; | |
| 442 | + if( $chart_paged != '' ){ | |
| 443 | + if( $chart_paged == $i + 1 ) { | |
| 444 | + $active = 'active'; | |
| 445 | + } | |
| 446 | + } else { | |
| 447 | + wp_safe_redirect($_SERVER['REQUEST_URI'] . "&paged=1"); | |
| 448 | + } | |
| 449 | + ?> | |
| 450 | + <li class="page-item <?php echo esc_attr($active) ?>"> | |
| 451 | + <a class="page-link" href="<?php echo esc_url($url) ?>"><?php echo esc_attr(absint($i)) + 1; ?></a> | |
| 452 | + </li> | |
| 453 | + <?php endfor; ?> | |
| 454 | + </ul> | |
| 455 | + </nav> | |
| 456 | + </div> | |
| 457 | + <?php endif; ?> | |
| 458 | + </div> | |
| 459 | + </form> | |
| 460 | + </div> | |
| 461 | + </div> | |
| 462 | + </div> | |
| 463 | + <br class="clear"> | |
| 464 | + <div class="ays-chart-add-new-button-box"> | |
| 465 | + <?php | |
| 466 | + $svg_sanitize_properties = Chart_Builder_Admin::chart_builder_svg_sanitize_allowed_properties(); | |
| 467 | + $sanitized_plus_icon_svg = wp_kses($plus_icon_svg, $svg_sanitize_properties); | |
| 468 | + echo sprintf( '<a href="?page=%s&action=%s" class="btn btn-primary chart-add-new-bttn chart-add-new-button-new-design"> %s ' . esc_html__( 'Add New', "chart-builder" ) . '</a>', esc_attr( sanitize_text_field(wp_unslash($_REQUEST['page'] ))), 'add', wp_kses_post($plus_icon_svg)); | |
| 469 | + ?> | |
| 470 | + </div> | |
| 471 | + <?php if($chart_max_id <= 3): ?> | |
| 472 | + <div class="ays-chart-create-chart-video-box" style="margin: 0 auto 30px;"> | |
| 473 | + <div class="ays-chart-create-chart-title"> | |
| 474 | + <h4><?php echo esc_html__( "Create Your First Chart in Under One Minute", 'chart-builder' ); ?></h4> | |
| 475 | + </div> | |
| 476 | + <div class="ays-chart-create-chart-youtube-video"> | |
| 477 | + <div class="ays-chart-youtube-placeholder" data-video-id="ysjUMK0HH3c" style="cursor: pointer"> | |
| 478 | + <img src="<?php echo esc_url(CHART_BUILDER_ADMIN_URL .'/images/create-chart-on-wordpress.webp'); ?>" loading="lazy" width="560" height="315"> | |
| 479 | + </div> | |
| 480 | + </div> | |
| 481 | + <div class="ays_chart_small_hint_text_for_message_variables" style="text-align: center;"> | |
| 482 | + <?php echo esc_html__( 'Please note that this video will disappear once you created 4 charts.', 'chart-builder' ); ?> | |
| 483 | + </div> | |
| 484 | + <div class="ays-chart-create-chart-youtube-video-button-box"> | |
| 485 | + <?php | |
| 486 | + $svg_sanitize_properties = Chart_Builder_Admin::chart_builder_svg_sanitize_allowed_properties(); | |
| 487 | + $sanitized_plus_icon_svg = wp_kses($plus_icon_svg, $svg_sanitize_properties); | |
| 488 | + echo sprintf( '<a href="?page=%s&action=%s" class="ays-chart-add-new-button-video chart-add-new-button-new-design"> %s ' . esc_html__('Add New', 'chart-builder') . '</a>', esc_attr( sanitize_text_field(wp_unslash($_REQUEST['page'] ))), 'add', wp_kses_post($plus_icon_svg)); | |
| 489 | + ?> | |
| 490 | + </div> | |
| 491 | + </div> | |
| 492 | + <?php else: ?> | |
| 493 | + <div class="ays-chart-create-chart-video-box ays-chart-create-chart-video-box-only-link" style="margin: auto;"> | |
| 494 | + <div class="ays-chart-create-chart-youtube-video"> | |
| 495 | + <?php | |
| 496 | + $svg_sanitize_properties = Chart_Builder_Admin::chart_builder_svg_sanitize_allowed_properties(); | |
| 497 | + $sanitized_youtube_icon_svg = wp_kses($youtube_icon_svg, $svg_sanitize_properties); | |
| 498 | + echo wp_kses_post($sanitized_youtube_icon_svg); ?> | |
| 499 | + <a href="https://www.youtube.com/watch?v=ysjUMK0HH3c" target="_blank" style="color:#2271b1;text-decoration:none" title="YouTube video player"><?php echo esc_html__("How to create chart in one minute?", 'chart-builder'); ?></a> | |
| 500 | + </div> | |
| 501 | + </div> | |
| 502 | + <?php endif; ?> | |
| 503 | + </div> | |
| 504 | +</div> | |