本文整理汇总了PHP中wfConfig::getAlertEmails方法的典型用法代码示例。如果您正苦于以下问题:PHP wfConfig::getAlertEmails方法的具体用法?PHP wfConfig::getAlertEmails怎么用?PHP wfConfig::getAlertEmails使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wfConfig
的用法示例。
在下文中一共展示了wfConfig::getAlertEmails方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: emailNewIssues
public function emailNewIssues()
{
$level = wfConfig::getAlertLevel();
$emails = wfConfig::getAlertEmails();
$shortSiteURL = preg_replace('/^https?:\\/\\//i', '', site_url());
$subject = "[Wordfence Alert] Problems found on {$shortSiteURL}";
if (sizeof($emails) < 1) {
return;
}
if ($level < 1) {
return;
}
if ($level == 2 && $this->totalCriticalIssues < 1 && $this->totalWarningIssues < 1) {
return;
}
if ($level == 1 && $this->totalCriticalIssues < 1) {
return;
}
$emailedIssues = wfConfig::get_ser('emailedIssuesList', array());
if (!is_array($emailedIssues)) {
$emailedIssues = array();
}
$finalIssues = array();
foreach ($this->newIssues as $newIssue) {
$alreadyEmailed = false;
foreach ($emailedIssues as $emailedIssue) {
if ($newIssue['ignoreP'] == $emailedIssue['ignoreP'] || $newIssue['ignoreC'] == $emailedIssue['ignoreC']) {
$alreadyEmailed = true;
break;
}
}
if (!$alreadyEmailed) {
$finalIssues[] = $newIssue;
}
}
if (sizeof($finalIssues) < 1) {
return;
}
$totalWarningIssues = 0;
$totalCriticalIssues = 0;
foreach ($finalIssues as $i) {
$emailedIssues[] = array('ignoreC' => $i['ignoreC'], 'ignoreP' => $i['ignoreP']);
if ($i['severity'] == 1) {
$totalCriticalIssues++;
} else {
if ($i['severity'] == 2) {
$totalWarningIssues++;
}
}
}
wfConfig::set_ser('emailedIssuesList', $emailedIssues);
if ($level == 2 && $totalCriticalIssues < 1 && $totalWarningIssues < 1) {
return;
}
if ($level == 1 && $totalCriticalIssues < 1) {
return;
}
$content = wfUtils::tmpl('email_newIssues.php', array('isPaid' => wfConfig::get('isPaid'), 'issues' => $finalIssues, 'totalCriticalIssues' => $totalCriticalIssues, 'totalWarningIssues' => $totalWarningIssues, 'level' => $level));
wp_mail(implode(',', $emails), $subject, $content, 'Content-type: text/html');
}
示例2: emailNewIssues
public function emailNewIssues()
{
$level = wfConfig::getAlertLevel();
$emails = wfConfig::getAlertEmails();
$subject = "[Wordfence Alert] Problems found on " . get_bloginfo('name', 'raw');
if (sizeof($emails) < 1) {
return;
}
if ($level < 1) {
return;
}
if ($level == 2 && $this->totalCriticalIssues < 1 && $this->totalWarningIssues < 1) {
return;
}
if ($level == 1 && $this->totalCriticalIssues < 1) {
return;
}
$emailedIssues = wfConfig::get_ser('emailedIssuesList', array());
if (!is_array($emailedIssues)) {
$emailedIssues = array();
}
$finalIssues = array();
foreach ($this->newIssues as $newIssue) {
$alreadyEmailed = false;
foreach ($emailedIssues as $emailedIssue) {
if ($newIssue['ignoreP'] == $emailedIssue['ignoreP'] || $newIssue['ignoreC'] == $emailedIssue['ignoreC']) {
$alreadyEmailed = true;
break;
}
}
if (!$alreadyEmailed) {
$finalIssues[] = $newIssue;
}
}
if (sizeof($finalIssues) < 1) {
return;
}
$totalWarningIssues = 0;
$totalCriticalIssues = 0;
foreach ($finalIssues as $i) {
$emailedIssues[] = array('ignoreC' => $i['ignoreC'], 'ignoreP' => $i['ignoreP']);
if ($i['severity'] == 1) {
$totalCriticalIssues++;
} else {
if ($i['severity'] == 2) {
$totalWarningIssues++;
}
}
}
wfConfig::set_ser('emailedIssuesList', $emailedIssues);
if ($level == 2 && $totalCriticalIssues < 1 && $totalWarningIssues < 1) {
return;
}
if ($level == 1 && $totalCriticalIssues < 1) {
return;
}
$content = wfUtils::tmpl('email_newIssues.php', array('issues' => $finalIssues, 'totalCriticalIssues' => $totalCriticalIssues, 'totalWarningIssues' => $totalWarningIssues, 'level' => $level));
wp_mail(implode(',', $emails), $subject, $content);
}
示例3: executeCronJob
/**
* Send out the report and reschedule the next report's cron job.
*/
public static function executeCronJob()
{
$report = new self();
$report->sendReportViaEmail(wfConfig::getAlertEmails());
self::scheduleCronJob();
}
示例4:
target="_blank" class="wfhelp"></a></h2>
<p style="width: 600px;">
Wordfence works great out of the box for most websites. Simply install Wordfence and your site and
content is protected. For finer granularity of control, we have provided advanced options.
</p>
</div>
<div id="wfConfigAdvanced">
<table class="wfConfigForm">
<tr>
<td colspan="2"><h3 class="wfConfigHeading">Alerts<a
href="http://docs.wordfence.com/en/Wordfence_options#Alerts" target="_blank"
class="wfhelp"></a></h3></td>
</tr>
<?php
$emails = wfConfig::getAlertEmails();
if (sizeof($emails) < 1) {
echo "<tr><th colspan=\"2\" style=\"color: #F00;\">You have not configured an email to receive alerts yet. Set this up under \"Basic Options\" above.</th></tr>\n";
}
?>
<tr>
<th>Email me when Wordfence is automatically updated</th>
<td><input type="checkbox" id="alertOn_update" class="wfConfigElem" name="alertOn_update"
value="1" <?php
$w->cb('alertOn_update');
?>
/> If you have automatic updates
enabled (see above), you'll get an email when an update occurs.
</td>
</tr>
<tr>
示例5: alert
public static function alert($subject, $alertMsg, $IP)
{
wfConfig::inc('totalAlertsSent');
$emails = wfConfig::getAlertEmails();
if (sizeof($emails) < 1) {
return;
}
$IPMsg = "";
if ($IP) {
$IPMsg = "User IP: {$IP}\n";
$reverse = wfUtils::reverseLookup($IP);
if ($reverse) {
$IPMsg .= "User hostname: " . $reverse . "\n";
}
$userLoc = wfUtils::getIPGeo($IP);
if ($userLoc) {
$IPMsg .= "User location: ";
if ($userLoc['city']) {
$IPMsg .= $userLoc['city'] . ', ';
}
$IPMsg .= $userLoc['countryName'] . "\n";
}
}
$content = wfUtils::tmpl('email_genericAlert.php', array('isPaid' => wfConfig::get('isPaid'), 'subject' => $subject, 'blogName' => get_bloginfo('name', 'raw'), 'adminURL' => get_admin_url(), 'alertMsg' => $alertMsg, 'IPMsg' => $IPMsg, 'date' => wfUtils::localHumanDate(), 'myHomeURL' => self::getMyHomeURL(), 'myOptionsURL' => self::getMyOptionsURL()));
$shortSiteURL = preg_replace('/^https?:\\/\\//i', '', site_url());
$subject = "[Wordfence Alert] {$shortSiteURL} " . $subject;
$sendMax = wfConfig::get('alert_maxHourly', 0);
if ($sendMax > 0) {
$sendArr = wfConfig::get_ser('alertFreqTrack', array());
if (!is_array($sendArr)) {
$sendArr = array();
}
$minuteTime = floor(time() / 60);
$totalSent = 0;
for ($i = $minuteTime; $i > $minuteTime - 60; $i--) {
$totalSent += isset($sendArr[$i]) ? $sendArr[$i] : 0;
}
if ($totalSent >= $sendMax) {
return;
}
$sendArr[$minuteTime] = isset($sendArr[$minuteTime]) ? $sendArr[$minuteTime] + 1 : 1;
wfConfig::set_ser('alertFreqTrack', $sendArr);
}
//Prevent duplicate emails within 1 hour:
$hash = md5(implode(',', $emails) . ':' . $subject . ':' . $alertMsg . ':' . $IP);
//Hex
$lastHash = wfConfig::get('lastEmailHash', false);
if ($lastHash) {
$lastHashDat = explode(':', $lastHash);
//[time, hash]
if (time() - $lastHashDat[0] < 3600) {
if ($lastHashDat[1] == $hash) {
return;
//Don't send because this email is identical to the previous email which was sent within the last hour.
}
}
}
wfConfig::set('lastEmailHash', time() . ':' . $hash);
wp_mail(implode(',', $emails), $subject, $content);
}
示例6: emailNewIssues
public function emailNewIssues()
{
$level = wfConfig::getAlertLevel();
$emails = wfConfig::getAlertEmails();
$shortSiteURL = preg_replace('/^https?:\\/\\//i', '', site_url());
$subject = "[Wordfence Alert] Problems found on {$shortSiteURL}";
if (sizeof($emails) < 1) {
return;
}
if ($level < 1) {
return;
}
if ($level == 2 && $this->totalCriticalIssues < 1 && $this->totalWarningIssues < 1) {
return;
}
if ($level == 1 && $this->totalCriticalIssues < 1) {
return;
}
$emailedIssues = wfConfig::get_ser('emailedIssuesList', array());
if (!is_array($emailedIssues)) {
$emailedIssues = array();
}
$finalIssues = array();
foreach ($this->newIssues as $newIssue) {
$alreadyEmailed = false;
foreach ($emailedIssues as $emailedIssue) {
if ($newIssue['ignoreP'] == $emailedIssue['ignoreP'] || $newIssue['ignoreC'] == $emailedIssue['ignoreC']) {
$alreadyEmailed = true;
break;
}
}
if (!$alreadyEmailed) {
$finalIssues[] = $newIssue;
}
}
if (sizeof($finalIssues) < 1) {
return;
}
$totalWarningIssues = 0;
$totalCriticalIssues = 0;
foreach ($finalIssues as $i) {
$emailedIssues[] = array('ignoreC' => $i['ignoreC'], 'ignoreP' => $i['ignoreP']);
if ($i['severity'] == 1) {
$totalCriticalIssues++;
} else {
if ($i['severity'] == 2) {
$totalWarningIssues++;
}
}
}
wfConfig::set_ser('emailedIssuesList', $emailedIssues);
if ($level == 2 && $totalCriticalIssues < 1 && $totalWarningIssues < 1) {
return;
}
if ($level == 1 && $totalCriticalIssues < 1) {
return;
}
$content = wfUtils::tmpl('email_newIssues.php', array('isPaid' => wfConfig::get('isPaid'), 'issues' => $finalIssues, 'totalCriticalIssues' => $totalCriticalIssues, 'totalWarningIssues' => $totalWarningIssues, 'level' => $level));
require_once ABSPATH . WPINC . '/class-phpmailer.php';
require_once ABSPATH . WPINC . '/class-smtp.php';
$mail = new PHPMailer();
// Get the site domain and get rid of www.
$from_email = 'wordpress@' . preg_replace('/^(https?:\\/\\/(www.)?)(.+?)(\\/)?$/', '$3', site_url());
$mail->From = apply_filters('wp_mail_from', $from_email);
$mail->FromName = apply_filters('wp_mail_from_name', 'Wordfence');
foreach ($emails as $email) {
try {
$mail->addAddress($email);
} catch (phpmailerException $e) {
}
}
$mail->Subject = $subject;
$mail->msgHTML($content);
try {
$mail->send();
} catch (phpmailerException $e) {
// use wp_mail if there's a problem (which uses PHPMailer anyways :P)
wp_mail(implode(',', $emails), $subject, strip_tags($content));
}
}
示例7: alert
public static function alert($subject, $alertMsg, $IP)
{
$emails = wfConfig::getAlertEmails();
if (sizeof($emails) < 1) {
return;
}
$IPMsg = "";
if ($IP) {
$IPMsg = "User IP: {$IP}\n";
$reverse = wfUtils::reverseLookup($IP);
if ($reverse) {
$IPMsg .= "User hostname: " . $reverse . "\n";
}
$userLoc = wfUtils::getIPGeo($IP);
if ($userLoc) {
$IPMsg .= "User location: ";
if ($userLoc['city']) {
$IPMsg .= $userLoc['city'] . ', ';
}
$IPMsg .= $userLoc['countryName'] . "\n";
}
}
$content = wfUtils::tmpl('email_genericAlert.php', array('isPaid' => wfConfig::get('isPaid'), 'subject' => $subject, 'blogName' => get_bloginfo('name', 'raw'), 'adminURL' => get_admin_url(), 'alertMsg' => $alertMsg, 'IPMsg' => $IPMsg, 'date' => wfUtils::localHumanDate(), 'myHomeURL' => self::getMyHomeURL(), 'myOptionsURL' => self::getMyOptionsURL()));
$shortSiteURL = preg_replace('/^https?:\\/\\//i', '', site_url());
$subject = "[Wordfence Alert] {$shortSiteURL} " . $subject;
$sendMax = wfConfig::get('alert_maxHourly', 0);
if ($sendMax > 0) {
$sendArr = wfConfig::get_ser('alertFreqTrack', array());
if (!is_array($sendArr)) {
$sendArr = array();
}
$minuteTime = floor(time() / 60);
$totalSent = 0;
for ($i = $minuteTime; $i > $minuteTime - 60; $i--) {
$totalSent += isset($sendArr[$i]) ? $sendArr[$i] : 0;
}
if ($totalSent >= $sendMax) {
return;
}
$sendArr[$minuteTime] = isset($sendArr[$minuteTime]) ? $sendArr[$minuteTime] + 1 : 1;
wfConfig::set_ser('alertFreqTrack', $sendArr);
}
wp_mail(implode(',', $emails), $subject, $content);
}
示例8: alert
public static function alert($subject, $alertMsg, $IP)
{
$IPMsg = "";
if ($IP) {
$IPMsg = "User IP: {$IP}\n";
$reverse = wfUtils::reverseLookup($IP);
if ($reverse) {
$IPMsg .= "User hostname: " . $reverse . "\n";
}
$userLoc = wfUtils::getIPGeo($IP);
if ($userLoc) {
$IPMsg .= "User location: ";
if ($userLoc['city']) {
$IPMsg .= $userLoc['city'] . ', ';
}
$IPMsg .= $userLoc['countryName'] . "\n";
}
}
$content = wfUtils::tmpl('email_genericAlert.php', array('subject' => $subject, 'blogName' => get_bloginfo('name', 'raw'), 'alertMsg' => $alertMsg, 'IPMsg' => $IPMsg, 'date' => wfUtils::localHumanDate(), 'myHomeURL' => self::getMyHomeURL(), 'myOptionsURL' => self::getMyOptionsURL()));
$emails = wfConfig::getAlertEmails();
if (sizeof($emails) < 1) {
return;
}
$shortSiteURL = preg_replace('/^https?:\\/\\//i', '', site_url());
$subject = "[Wordfence Alert] {$shortSiteURL} " . $subject;
wp_mail(implode(',', $emails), $subject, $content);
}