menu_title = __( 'Robin Image Optimizer', 'robin-image-optimizer' ); $this->menu_sub_title = __( 'Optimize', 'robin-image-optimizer' ); $this->page_menu_short_description = __( 'Compress bulk of images', 'robin-image-optimizer' ); $this->plugin = $plugin; parent::__construct( $plugin ); add_action( 'admin_enqueue_scripts', [ $this, 'print_i18n' ] ); add_filter( 'wbcr/factory/pages/impressive/print_all_notices', [ $this, 'register_limit_notice' ], 10, 2 ); } /** * @param $plugin * @param $obj * * @return void|bool */ public function register_limit_notice( $plugin, $obj ) { if ( ( $this->plugin->getPluginName() !== $plugin->getPluginName() ) || ( 'rio_general' !== $obj->id ) ) { return false; } } /** * Подменяем простраинство имен для меню плагина, если активирован плагин * Меню текущего плагина будет добавлено в общее мен * * @return string */ public function getMenuScope() { if ( $this->clearfy_collaboration ) { // $this->internal = true; return 'wbcr_clearfy'; } return 'robin-image-optimizer'; } /** * {@inheritdoc} */ public function getMenuTitle() { return $this->menu_title; } /** * {@inheritdoc} */ public function getPageTitle() { return $this->clearfy_collaboration ? __( 'Image optimizer', 'robin-image-optimizer' ) : __( 'Bulk optimization', 'robin-image-optimizer' ); } /** * {@inheritdoc} */ public function assets( $scripts, $styles ) { parent::assets( $scripts, $styles ); $this->styles->add( WRIO_PLUGIN_URL . '/admin/assets/css/base-statistic.css' ); $this->scripts->add( WRIO_PLUGIN_URL . '/admin/assets/js/sweetalert2.js' ); $this->styles->add( WRIO_PLUGIN_URL . '/admin/assets/css/sweetalert2.css' ); $this->styles->add( WRIO_PLUGIN_URL . '/admin/assets/css/sweetalert-custom.css' ); $this->scripts->add( WRIO_PLUGIN_URL . '/admin/assets/js/Chart.min.js' ); // $this->scripts->add( WRIO_PLUGIN_URL . '/admin/assets/js/statistic.js' ); $this->scripts->add( WRIO_PLUGIN_URL . '/admin/assets/js/modals.js', [ 'jquery' ], 'wrio-modals' ); $this->scripts->add( WRIO_PLUGIN_URL . '/admin/assets/js/bulk-optimization.js', [ 'jquery', 'wrio-modals', ] ); $this->scripts->add( WRIO_PLUGIN_URL . '/admin/assets/js/calculate-attachments.js' ); $this->scripts->add( WRIO_PLUGIN_URL . '/admin/assets/js/bulk-conversion.js', [ 'jquery', 'wrio-modals', ] ); if ( defined( 'WBCR_CLEARFY_PLUGIN_ACTIVE' ) ) { $this->styles->add( WCL_PLUGIN_URL . '/admin/assets/css/general.css' ); } } /** * Print localization only current page * * @throws \Exception * @since 1.3.0 */ public function print_i18n() { $page = $this->plugin->request->get( 'page', null ); if ( $page !== $this->getResultId() ) { return; } $backup = new WIO_Backup(); wp_enqueue_script( 'wio-statistic-page', WRIO_PLUGIN_URL . '/admin/assets/js/statistic.js', [ 'jquery' ], WRIO_Plugin::app()->getPluginVersion(), true ); wp_localize_script( 'wio-statistic-page', 'wrio_l18n_bulk_page', $this->get_i18n() ); wp_localize_script( 'wio-statistic-page', 'wrio_settings_bulk_page', [ 'is_premium' => wrio_is_license_activate(), 'is_network_admin' => WRIO_Plugin::app()->isNetworkAdmin() ? 1 : 0, 'is_writable_backup_dir' => $backup->isBackupWritable() ? 1 : 0, 'images_backup' => WRIO_Plugin::app()->getPopulateOption( 'backup_origin_images', false ) ? 1 : 0, 'need_migration' => wbcr_rio_has_meta_to_migrate() ? 1 : 0, 'scope' => $this->scope, 'optimization_nonce' => wp_create_nonce( 'bulk_optimization' ), 'conversion_nonce' => wp_create_nonce( 'bulk_conversion' ), ] ); } /** * {@inheritdoc} */ public function showPageContent() { $is_premium = wrio_is_license_activate(); $statistics = $this->get_statisctic_data(); $template_data = [ 'is_premium' => $is_premium, 'scope' => $this->scope, ]; // do_action( 'wbcr/rio/multisite_current_blog' ); // Page header $this->view->print_template( 'part-page-header', [ 'title' => __( 'Image optimization dashboard', 'robin-image-optimizer' ), 'description' => __( 'Monitor image optimization statistics and run on demand or scheduled optimization.', 'robin-image-optimizer' ), ], $this ); // Page tabs $this->view->print_template( 'part-bulk-optimization-tabs', $template_data, $this ); ?>