PluginProbe
Packeta / trunk
Packeta vtrunk
2.3.2 2.3.1 trunk 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3.0 1.3.1 1.3.2 1.4 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 All 56 releases
packeta / src / Packetery / Module / Plugin.php

Plugin.php in Packeta trunk, at src/Packetery/Module/Plugin.php

83 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Main Packeta plugin class.
4 *
5 * @package Packetery
6 */
7
8 declare( strict_types=1 );
9
10 namespace Packetery\Module;
11
12 use Packetery\Module\Dashboard\DashboardPage;
13 use Packetery\Module\Hooks\HookRegistrar;
14
15 /**
16 * Class Plugin
17 *
18 * @package Packetery
19 */
20 class Plugin {
21
22 public const VERSION = '2.3.2';
23 public const DOMAIN = 'packeta';
24 public const PARAM_PACKETERY_ACTION = 'packetery_action';
25 public const PARAM_NONCE = '_wpnonce';
26
27 /**
28 * @var HookRegistrar
29 */
30 private $hookRegistrar;
31
32 public function __construct( HookRegistrar $hookRegistrar ) {
33 $this->hookRegistrar = $hookRegistrar;
34 }
35
36 /**
37 * Gets list of multisite sites.
38 *
39 * @return array
40 */
41 public static function getSites(): array {
42 return get_sites(
43 [
44 'fields' => 'ids',
45 'number' => 0,
46 'update_site_cache' => false,
47 ]
48 );
49 }
50
51 /**
52 * Method to register hooks
53 */
54 public function run(): void {
55 $this->hookRegistrar->register();
56 }
57
58 /**
59 * Hides submenu item. Must not be called too early.
60 *
61 * @param string $itemSlug Item slug.
62 */
63 public static function hideSubmenuItem( string $itemSlug ): void {
64 global $submenu;
65 if ( isset( $submenu[ DashboardPage::SLUG ] ) ) {
66 foreach ( $submenu[ DashboardPage::SLUG ] as $key => $menu ) {
67 if ( $itemSlug === $menu[2] ) {
68 unset( $submenu[ DashboardPage::SLUG ][ $key ] );
69 }
70 }
71 }
72 }
73
74 /**
75 * Gets software identity for Packeta APIs.
76 *
77 * @return string
78 */
79 public static function getAppIdentity(): string {
80 return 'WordPress-' . get_bloginfo( 'version' ) . '-Woocommerce-' . WC_VERSION . '-Packeta-' . self::VERSION;
81 }
82 }
83