-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathfont-awesome-init.php
76 lines (66 loc) · 2.22 KB
/
font-awesome-init.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
namespace FortAwesome;
// Loader pattern follows that of wponion.
// Thanks to Varun Sridharan <[email protected]>.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
require_once trailingslashit( __DIR__ ) . 'defines.php';
require_once trailingslashit( FONTAWESOME_DIR_PATH ) . 'includes/class-fontawesome-exception.php';
require_once trailingslashit( FONTAWESOME_DIR_PATH ) . 'includes/error-util.php';
if ( defined( 'FONTAWESOME_OFFICIAL_LOADED' ) ) {
return;
}
/**
* This hook ensures that when we're in multisite mode, and a new site is activated
* after an initial plugin activation, that the plugin is initialized for that newly
* created site, but only if this plugin is otherwise network activated.
*
* If the plugin is only activated on a per-site basis, then creating a new site should
* not result in this plugin automatically being activated for it.
*/
if ( is_multisite() ) {
add_action(
'wp_initialize_site',
function ( $site ) {
if ( ! is_network_admin( FONTAWESOME_PLUGIN_FILE ) ) {
return;
}
require_once trailingslashit( FONTAWESOME_DIR_PATH ) . 'includes/class-fontawesome-activator.php';
switch_to_blog( $site->blog_id );
try {
FontAwesome_Activator::initialize_current_site( false );
} finally {
restore_current_blog();
}
},
99,
1
);
}
register_deactivation_hook(
FONTAWESOME_DIR_PATH . 'index.php',
function () {
try {
require_once FONTAWESOME_DIR_PATH . 'includes/class-fontawesome-deactivator.php';
FontAwesome_Deactivator::deactivate();
} catch ( Exception $e ) {
/**
* This will not block the deactivation since we're not exiting, but it will probably flash
* this error message before redirecting to plugins.php to report that the plugin was deactivated.
*/
echo '<div class="error"><p>Fatal exception while deactivating Font Awesome.</p></div>';
} catch ( Error $e ) {
echo '<div class="error"><p>Fatal error while deactivating Font Awesome.</p></div>';
}
}
);
try {
require_once trailingslashit( FONTAWESOME_DIR_PATH ) . 'includes/class-fontawesome.php';
define( 'FONTAWESOME_OFFICIAL_LOADED', 1 );
fa()->init();
} catch ( Exception $e ) {
notify_admin_fatal_error( $e );
} catch ( Error $e ) {
notify_admin_fatal_error( $e );
}