Completed
Push — feature/45-drop-php-52 ( f96425 )
by Sudar
11:51
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
70
// setup autoloader.
71
require_once 'include/EmailLogAutoloader.php';
72
73
$loader = new \EmailLog\EmailLogAutoloader();
74
$loader->register();
75
76
$plugin_dir = plugin_dir_path( __FILE__ );
77
$loader->add_namespace( 'EmailLog', $plugin_dir . 'include' );
78
79
if ( file_exists( $plugin_dir . 'tests/' ) ) {
80
	// if tests are present, then add them.
81
	$loader->add_namespace( 'EmailLog', $plugin_dir . 'tests/wp-tests' );
82
}
83
84
$email_log = new \EmailLog\Core\EmailLog( __FILE__ );
85
add_action( 'wp_loaded', array( $email_log, 'load' ) );
86
87
/**
88
 * Return the global instance of Email Log plugin.
89
 * Eventually the EmailLog class might become singleton.
90
 *
91
 * @since 2.0
92
 *
93
 * @global EmailLog $email_log
94
 * @return \EmailLog\Core\EmailLog
95
 */
96
function email_log() {
97
	global $email_log;
98
99
	return $email_log;
100
}
101
102
// TODO: move all these to seperate files.
103
/**
104
 * Plugin Root File
105
 *
106
 * @since 1.7.2
107
 */
108
if ( ! defined( 'EMAIL_LOG_PLUGIN_FILE' ) ) {
109
	define( 'EMAIL_LOG_PLUGIN_FILE', __FILE__ );
110
}
111
112
/**
113
 * Handles installation and table creation.
114
 */
115
require_once plugin_dir_path( __FILE__ ) . 'include/install.php';
116
117
/**
118
 * Helper functions.
119
 */
120
require_once plugin_dir_path( __FILE__ ) . 'include/util/helper.php';
121