diff --git a/wp-admin/templates.php b/wp-admin/templates.php index ee0e1d07f2..cc0d03ee49 100644 --- a/wp-admin/templates.php +++ b/wp-admin/templates.php @@ -41,12 +41,16 @@ case 'update': $newcontent = stripslashes($_POST['newcontent']); if (is_writeable($real_file)) { - $f = fopen($real_file, 'w+'); - fwrite($f, $newcontent); - fclose($f); - header("Location: templates.php?file=$file&a=te"); + $f = @ fopen($real_file, 'w+'); + if ( $f ) { + fwrite($f, $newcontent); + fclose($f); + header("Location: templates.php?file=$file&a=te"); + } else { + header("Location: templates.php?file=$file&a=err"); + } } else { - header("Location: templates.php?file=$file"); + header("Location: templates.php?file=$file&a=err"); } exit(); @@ -66,17 +70,25 @@ default: update_recently_edited($file); if (!is_file($real_file)) - $error = 1; + $error = true; if (!$error) { - $f = fopen($real_file, 'r'); - $content = fread($f, filesize($real_file)); - $content = htmlspecialchars($content); + $f = @ fopen($real_file, 'r'); + if ( $f ) { + $content = fread($f, filesize($real_file)); + $content = htmlspecialchars($content); + } else { + $error = true; + } } ?> + +

+

+