Compare commits

...

3 Commits

Author SHA1 Message Date
Mahmoud Al-Qudsi c2a7360a3d Fix security issue with non-escaped HTML in options page 2018-02-10 13:23:21 -06:00
Mahmoud Al-Qudsi 8ad7ef9d8f Move flush_rewrite_rules to install()
It adds significant overhead to each pageload and is only needed when
the rules change (aka after install).
2018-02-10 13:22:31 -06:00
Mahmoud Al-Qudsi fb6b4da93d Fixed emails not being sent by removing duplicate mail header
Removing the MIME header (which was also being inserted
automatically by the mailing system) means emails are now being
sent.
2016-08-29 10:45:35 -05:00
6 changed files with 10 additions and 16 deletions

@ -55,7 +55,7 @@ class visitors_edits{
]);
global $post;
$new_content = str_replace("#post_link#", get_site_url().'/'.$post->post_name.'/suggestions', stripcslashes($options["propose_edit_link"]));
$content .= $new_content;
$content .= $new_content;
}
return $content;
}
@ -83,6 +83,7 @@ class visitors_edits{
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
dbDelta( $sql );
flush_rewrite_rules(true);
}
public function query_vars($query_vars){
$query_vars[] = 'visitors_edits_post_name';
@ -94,7 +95,6 @@ class visitors_edits{
'index.php?visitors_edits_post_name=$matches[1]',
'top'
);
flush_rewrite_rules(true);
}
public function parse_request($request){
if( isset( $request->query_vars['visitors_edits_post_name'] ) ):
@ -126,10 +126,10 @@ function visitors_editsDIFF($oldHtml,$newHtml){
require "vendor/autoload.php";
$htmlDiff = new HtmlDiff($oldHtml, $newHtml);
$htmlDiff->getConfig()->setGroupDiffs(false);
return $htmlDiff->build();
}
function visitors_editsDOM(){
return new Dom;
}
?>
?>

@ -14,14 +14,8 @@ class visitors_edits_EMAIL{
"notify_admin"=>null
]);
$headers= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
wp_mail($destination, $this->subject, $this->body,$headers);
/*
subject : $this->subject
body : $this->body
*/
$headers = "Content-Type: text/html; charset=UTF-8\r\n";
wp_mail($destination, $this->subject, $this->body, $headers);
}
private function loadTemplate($template){
ob_start();

@ -1,4 +1,4 @@
<?php
<?php
$options=[];
if(isset($_POST["save_settings"])){
$options=[
@ -8,7 +8,7 @@
"admin_notif_message"=>$_POST["admin_notif_message"],
"visitor_notif_message"=>$_POST["visitor_notif_message"],
"edit_notify_message"=>$_POST["edit_notify_message"],
"propose_edit_link"=>$_POST["propose_edit_link"]
"propose_edit_link"=>html_entity_decode($_POST["propose_edit_link"])
];
update_option( "visitors_edits_options", $options );
flashMessage("Settings saved.","");
@ -29,7 +29,7 @@
<form action="" method="post">
<div class="control">
<label>Propose an edit link</label>
<input type="text" name="propose_edit_link" value="<?php echo stripcslashes($options['propose_edit_link']) ?>">
<input type="text" name="propose_edit_link" value="<?php echo htmlentities(stripcslashes($options['propose_edit_link'])) ?>">
</div>
<div class="control">
<label>Admin notification message</label>
@ -68,4 +68,4 @@ function flashMessage($msg,$type){
</div>
<?php
}
?>
?>