From 54ffea24196e8f5d88cf9d8607455f0f6aab305c Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Fri, 3 Jul 2009 21:44:10 -0700 Subject: Split the clean method into two clean and purify. clean is a light weight approach using html::specialchars and purify uses HTMLPurifier to intelligently cleanse the output fields. Use purifier for text and title fields where it is likely that a user would enter html to format their data. --- modules/gallery/controllers/quick.php | 10 +++++----- modules/gallery/helpers/p.php | 4 ++++ modules/gallery/views/permissions_browse.html.php | 2 +- modules/gallery/views/simple_uploader.html.php | 6 +++--- 4 files changed, 13 insertions(+), 9 deletions(-) (limited to 'modules/gallery') diff --git a/modules/gallery/controllers/quick.php b/modules/gallery/controllers/quick.php index 5d3d8885..53af2ba6 100644 --- a/modules/gallery/controllers/quick.php +++ b/modules/gallery/controllers/quick.php @@ -89,7 +89,7 @@ class Quick_Controller extends Controller { access::required("view", $item->parent()); access::required("edit", $item->parent()); - $msg = t("Made %title this album's cover", array("title" => p::clean($item->title))); + $msg = t("Made %title this album's cover", array("title" => p::purify($item->title))); item::make_album_cover($item); message::success($msg); @@ -105,10 +105,10 @@ class Quick_Controller extends Controller { if ($item->is_album()) { print t( "Delete the album %title? All photos and movies in the album will also be deleted.", - array("title" => p::clean($item->title))); + array("title" => p::purify($item->title))); } else { print t("Are you sure you want to delete %title?", - array("title" => p::clean($item->title))); + array("title" => p::purify($item->title))); } $form = item::get_delete_form($item); @@ -122,9 +122,9 @@ class Quick_Controller extends Controller { access::required("edit", $item); if ($item->is_album()) { - $msg = t("Deleted album %title", array("title" => p::clean($item->title))); + $msg = t("Deleted album %title", array("title" => p::purify($item->title))); } else { - $msg = t("Deleted photo %title", array("title" => p::clean($item->title))); + $msg = t("Deleted photo %title", array("title" => p::purify($item->title))); } $item->delete(); diff --git a/modules/gallery/helpers/p.php b/modules/gallery/helpers/p.php index fe53102c..862c769b 100644 --- a/modules/gallery/helpers/p.php +++ b/modules/gallery/helpers/p.php @@ -20,6 +20,10 @@ class p_Core { private static $_purifier = null; static function clean($dirty_html) { + return html::specialchars($dirty_html); + } + + static function purify($dirty_html) { if (empty(self::$_purifier)) { require_once(dirname(__file__) . "/../lib/HTMLPurifier/HTMLPurifier.auto.php"); $config = HTMLPurifier_Config::createDefault(); diff --git a/modules/gallery/views/permissions_browse.html.php b/modules/gallery/views/permissions_browse.html.php index 36394877..888a27f7 100644 --- a/modules/gallery/views/permissions_browse.html.php +++ b/modules/gallery/views/permissions_browse.html.php @@ -42,7 +42,7 @@
  • - title) ?> + title) ?>
    diff --git a/modules/gallery/views/simple_uploader.html.php b/modules/gallery/views/simple_uploader.html.php index eee29679..56b1c656 100644 --- a/modules/gallery/views/simple_uploader.html.php +++ b/modules/gallery/views/simple_uploader.html.php @@ -6,7 +6,7 @@
    ">
    - p::clean($item->title))) ?> + p::purify($item->title))) ?>
    @@ -28,7 +28,7 @@ parents() as $parent): ?>
  • title) ?>
  • -
  • title) ?>
  • +
  • title) ?>
  • @@ -185,7 +185,7 @@ $("#gUploadQueueInfo").text("(completed " + stats.successful_uploads + " of " + (stats.files_queued + stats.successful_uploads + stats.upload_errors + stats.upload_cancelled + stats.queue_errors) + ")"); } - + // Auto start the upload this.startUpload(); } -- cgit v1.2.3