| @@ -69,9 +69,9 @@ | ||
| 69 | 69 | public function load_actions() { |
| 70 | 70 | if (is_admin()) { |
| 71 | 71 | add_action('wpmu_new_blog', [&$this, 'action_wpmu_new_blog']); |
| 72 | 72 | add_action('admin_menu', [&$this, 'action_admin_menu']); |
| 73 | - add_action('admin_init', [&$this, 'action_admin_init']); | |
| 73 | + add_action('admin_init', [&$this, 'action_admin_init'], 9); | |
| 74 | 74 | add_action('admin_enqueue_scripts', [&$this, 'action_admin_enqueue_scripts']); |
| 75 | 75 | add_action('current_screen', [&$this, 'action_current_screen']); |
| 76 | 76 | add_action('plugins_loaded', [&$this, 'action_plugins_loaded']); |
| 77 | 77 | } |
| @@ -501,8 +501,41 @@ | ||
| 501 | 501 | |
| 502 | 502 | // settings page |
| 503 | 503 | public function action_admin_init() { |
| 504 | 504 | register_setting('e2pdf-settings', 'e2pdf_debug'); |
| 505 | + | |
| 506 | + /** | |
| 507 | + * Compatibility fix with Gallery : FooGallery | |
| 508 | + * https://wordpress.org/plugins/foogallery/ | |
| 509 | + */ | |
| 510 | + if (class_exists('FooGallery_Admin_Extensions')) { | |
| 511 | + if (!wp_doing_ajax()) { | |
| 512 | + return; | |
| 513 | + } | |
| 514 | + $action = isset($_REQUEST['action']) && is_string($_REQUEST['action']) ? $_REQUEST['action'] : ''; | |
| 515 | + if ('e2pdf_upload' !== $action) { | |
| 516 | + return; | |
| 517 | + } | |
| 518 | + global $wp_filter; | |
| 519 | + if (isset($wp_filter['admin_init']) && $wp_filter['admin_init'] instanceof WP_Hook) { | |
| 520 | + foreach ($wp_filter['admin_init']->callbacks as $priority => $callbacks) { | |
| 521 | + if (!is_array($callbacks)) { | |
| 522 | + continue; | |
| 523 | + } | |
| 524 | + foreach ($callbacks as $callback) { | |
| 525 | + if ( | |
| 526 | + isset($callback['function']) && | |
| 527 | + is_array($callback['function']) && | |
| 528 | + isset($callback['function'][0], $callback['function'][1]) && | |
| 529 | + $callback['function'][0] instanceof FooGallery_Admin_Extensions && | |
| 530 | + 'handle_extension_action' === $callback['function'][1] | |
| 531 | + ) { | |
| 532 | + remove_action('admin_init', $callback['function'], $priority); | |
| 533 | + } | |
| 534 | + } | |
| 535 | + } | |
| 536 | + } | |
| 537 | + } | |
| 505 | 538 | } |
| 506 | 539 | |
| 507 | 540 | // admin_enqueue_scripts action |
| 508 | 541 | public function action_admin_enqueue_scripts($page) { |
| @@ -884,13 +917,8 @@ | ||
| 884 | 917 | 'extensions' => $model_e2pdf_extension->extensions(), |
| 885 | 918 | 'template_sizes' => $controller_e2pdf_templates->get_sizes_list(), |
| 886 | 919 | 'css_styles' => array_keys($this->helper->load('properties')->css_styles()), |
| 887 | 920 | 'undo_limit' => get_option('e2pdf_undo_limit', '20'), |
| 888 | - ]; | |
| 889 | - break; | |
| 890 | - case 'frontend_params': | |
| 891 | - $data = [ | |
| 892 | - 'pdfjs' => plugins_url('assets/pdf.js', $this->helper->get('plugin_file_path')), | |
| 893 | 921 | ]; |
| 894 | 922 | break; |
| 895 | 923 | default: |
| 896 | 924 | break; |