'' . __('Get Support', 'pixel-gallery') . '', 'video' => '' . __('Video Tutorials', 'pixel-gallery') . '', ]; $plugin_meta = array_merge($plugin_meta, $row_meta); } return $plugin_meta; } /** * Plugin action links * @access public * @return array */ public function plugin_action_links( $plugin_meta ) { $row_meta = [ 'settings' => '' . __('Settings', 'pixel-gallery') . '', ]; $plugin_meta = array_merge($plugin_meta, $row_meta); return $plugin_meta; } /** * Action meta * @access public * @return array */ public function plugin_action_meta($links) { $links = array_merge([sprintf('%s', pixel_gallery_dashboard_link('#pixel_gallery_welcome'), esc_html__('Settings', 'pixel-gallery'))], $links); $links = array_merge($links, [ sprintf( '%s', pixel_gallery_dashboard_link('#pixel_gallery_license_settings'), esc_html__('License', 'pixel-gallery') ) ]); return $links; } /** * Change Pixel Gallery Name * @access public * @return string */ public function pixel_gallery_name_change($translated_text, $text, $domain) { switch ($translated_text) { case 'Pixel Gallery': $translated_text = BDTPG_TITLE; break; } return $translated_text; } /** * Hiding plugins //still in testing purpose * @access public */ public function hide_pixel_gallery() { global $wp_list_table; $hide_plg_array = array('pixel-gallery/pixel-gallery.php'); $all_plugins = $wp_list_table->items; foreach ($all_plugins as $key => $val) { if (in_array($key, $hide_plg_array)) { unset($wp_list_table->items[$key]); } } } /** * Register admin script * @access public */ public function admin_script() { if (is_admin()) { // for Admin Dashboard Only if (isset($_GET['page']) && ($_GET['page'] == 'pixel_gallery_options')) { wp_enqueue_script('chart', BDTPG_ADMIN_URL . 'assets/js/chart.min.js', ['jquery'], '2.7.3', true); wp_enqueue_script('pg-admin', BDTPG_ADMIN_URL . 'assets/js/pg-admin.min.js', ['jquery', 'chart'], BDTPG_VER, true); }else{ wp_enqueue_script('pg-admin', BDTPG_ADMIN_URL . 'assets/js/pg-admin.min.js', ['jquery'], BDTPG_VER, true); } wp_enqueue_script('jquery'); wp_enqueue_script('jquery-form'); wp_enqueue_style('bdt-admin-api-biggopti', BDTPG_ADMIN_URL . 'assets/css/pg-admin-api-biggopti.css', [], BDTPG_VER); wp_enqueue_style('bdt-product-feed', BDTPG_ADMIN_URL . 'assets/css/pg-admin-feeds.css', [], BDTPG_VER); wp_enqueue_script('pg-biggopti', BDTPG_ADMIN_URL . 'assets/js/pg-biggopti.min.js', ['jquery'], BDTPG_VER, true); wp_enqueue_script('pg-admin-api-biggopti', BDTPG_ADMIN_URL . 'assets/js/pg-admin-api-biggopti.min.js', ['jquery'], BDTPG_VER, true); $dismissals = get_option('bdt_biggopti_dismissals', []); $dismissed_display_ids = []; $prefix = 'bdt-admin-biggopti-api-biggopti-'; foreach (array_keys($dismissals) as $key) { if (strpos($key, $prefix) === 0) { $dismissed_display_ids[] = substr($key, strlen($prefix)); } else { $dismissed_display_ids[] = $key; } } $current_sector = ''; if ( isset( $_GET['page'] ) && $_GET['page'] === 'pixel_gallery_options' ) { $current_sector = 'plugin_dashboard'; } $script_config = [ 'ajaxurl' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('pixel-gallery'), 'isPro' => function_exists('_is_pg_pro_activated') && _is_pg_pro_activated(), 'assetsUrl' => defined('BDTPG_ASSETS_URL') ? BDTPG_ASSETS_URL : '', 'dismissedDisplayIds' => $dismissed_display_ids, 'currentSector' => $current_sector, ]; wp_localize_script('pg-biggopti', 'PixelGalleryBiggoptiConfig', $script_config); wp_localize_script('pg-admin-api-biggopti', 'PixelGalleryAdminApiBiggoptiConfig', $script_config); } } /** * Drop Tables on deactivated plugin * @access public */ public function pixel_gallery_plugin_on_deactivate() { global $wpdb; $table_cat = $wpdb->prefix . 'pg_template_library_cat'; $table_post = $wpdb->prefix . 'pg_template_library_post'; $table_cat_post = $wpdb->prefix . 'pg_template_library_cat_post'; // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange $wpdb->query('DROP TABLE IF EXISTS ' . $table_cat_post); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange $wpdb->query('DROP TABLE IF EXISTS ' . $table_cat); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange $wpdb->query('DROP TABLE IF EXISTS ' . $table_post); } /** * Upgrade Process Complete * @access public */ public function pixel_gallery_plugin_on_upgrade_process_complete($upgrader_object, $options) { if (isset($options['action']) && $options['action'] == 'update' && $options['type'] == 'plugin') { if (isset($options['plugins']) && is_array($options['plugins'])) { foreach ($options['plugins'] as $each_plugin) { if ($each_plugin == BDTPG_PBNAME) { @$this->pixel_gallery_plugin_on_deactivate(); } } } } } }