Completed
Push — master ( 8bffa3...d70731 )
by Sudar
06:01 queued 03:08
created

EmailLog::display_logs()   B

Complexity

Conditions 4
Paths 3

Size

Total Lines 45
Code Lines 30

Duplication

Lines 0
Ratio 0 %

Importance

Changes 8
Bugs 1 Features 1
Metric Value
cc 4
eloc 30
c 8
b 1
f 1
nc 3
nop 0
dl 0
loc 45
rs 8.5806
1
<?php
2
/**
3
 * Plugin Name: Email Log
4
 * Plugin URI: http://sudarmuthu.com/wordpress/email-log
5
 * Description: Logs every email sent through WordPress
6
 * Donate Link: http://sudarmuthu.com/if-you-wanna-thank-me
7
 * Author: Sudar
8
 * Version: 1.9.1
9
 * Author URI: http://sudarmuthu.com/
10
 * Text Domain: email-log
11
 * Domain Path: languages/
12
 * === RELEASE NOTES ===
13
 * Check readme file for full release notes
14
 */
15
16
/**
17
 * Copyright 2009  Sudar Muthu  (email : [email protected])
18
 * This program is free software; you can redistribute it and/or modify
19
 * it under the terms of the GNU General Public License, version 2, as
20
 * published by the Free Software Foundation.
21
 * This program is distributed in the hope that it will be useful,
22
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24
 * GNU General Public License for more details.
25
 * You should have received a copy of the GNU General Public License
26
 * along with this program; if not, write to the Free Software
27
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
28
 */
29
30
defined( 'ABSPATH' ) || exit; // Exit if accessed directly
31
32
if ( version_compare( PHP_VERSION, '5.3.0', '<' ) ) {
33
	/**
34
	 * v2.0 of the Email Log plugin dropped support for PHP 5.2.
35
	 * If you are still struck with PHP 5.2 and can't update, then use v1.9.1 of the plugin.
36
	 * But note that some add-ons may not work.
37
	 *
38
	 * @see   http://sudarmuthu.com/blog/why-i-am-dropping-support-for-php-5-2-in-my-wordpress-plugins/
39
	 *
40
	 * @since 2.0
41
	 */
42
	function email_log_compatibility_notice() {
43
		?>
44
		<div class="error">
45
			<p>
46
				<?php __( 'Email Log requires at least PHP 5.3 to function properly. Please upgrade PHP or use v1.9.1 of Email Log', 'email-log' ); ?>
47
			</p>
48
		</div>
49
		<?php
50
	}
51
52
	add_action( 'admin_notices', 'email_log_compatibility_notice' );
53
54
	/**
55
	 * Deactivate Email Log.
56
	 *
57
	 * @since 2.0
58
	 */
59
	function email_log_deactivate() {
60
		deactivate_plugins( plugin_basename( __FILE__ ) );
61
	}
62
63
	add_action( 'admin_init', 'email_log_deactivate' );
64
65
	return;
66
}
67
68
global $email_log;
69
$plugin_dir = plugin_dir_path( __FILE__ );
70
71
// setup autoloader.
72
require_once 'include/EmailLogAutoloader.php';
73
74
$loader = new \EmailLog\EmailLogAutoloader();
75
$loader->add_namespace( 'EmailLog', $plugin_dir . 'include' );
76
77
if ( file_exists( $plugin_dir . 'tests/' ) ) {
78
	// if tests are present, then add them.
79
	$loader->add_namespace( 'EmailLog', $plugin_dir . 'tests/wp-tests' );
80
}
81
82
$loader->add_file( $plugin_dir . 'include/Util/helper.php' );
83
84
$loader->register();
85
86
$email_log                = new \EmailLog\Core\EmailLog( __FILE__ );
87
$email_log->table_manager = new \EmailLog\Core\DB\TableManager();
88
89
// `register_activation_hook` can't be called from inside any hook.
90
register_activation_hook( __FILE__, array( $email_log->table_manager, 'on_activate' ) );
91
92
// Load the plugin
93
add_action( 'wp_loaded', array( $email_log, 'load' ) );
94
95
/**
96
 * Return the global instance of Email Log plugin.
97
 * Eventually the EmailLog class might become singleton.
98
 *
99
 * @since 2.0
100
 *
101
 * @global EmailLog $email_log
102
 * @return \EmailLog\Core\EmailLog
103
 */
104
function email_log() {
105
	global $email_log;
106
107
	return $email_log;
108
}
109