diff --git a/3.0/modules/about_this_album/helpers/about_this_album_block.php b/3.0/modules/about_this_album/helpers/about_this_album_block.php new file mode 100644 index 00000000..a2a849e5 --- /dev/null +++ b/3.0/modules/about_this_album/helpers/about_this_album_block.php @@ -0,0 +1,76 @@ + t("About This Album")); + } + + static function get($block_id, $theme) { + switch ($block_id) { + case "aboutthisalbum": + $item = $theme->item; + if ((!$item) or (!$theme->item->is_album())) { + return ""; + } + if ($theme->item->is_album()) { + $block = new Block(); + $block->css_id = "g-about-this-album"; + $block->content = new View("about_this_album.html"); + + if ($theme->item()->id == item::root()->id) { + $block->title = t("About this Site"); + $block->content->album_count = ORM::factory("item")->where("type", "=", "album")->where("id", "<>", 1)->count_all(); + $block->content->photo_count = ORM::factory("item")->where("type", "=", "photo")->count_all(); + $block->content->vcount = Database::instance()->query("SELECT SUM({items}.view_count) as c FROM {items} WHERE type=\"photo\"")->current()->c; + } Else { + $block->title = t("About this Album"); + $block->content->album_count = $item->descendants_count(array(array("type", "=", "album"))); + $block->content->photo_count = $item->descendants_count(array(array("type", "=", "photo"))); + // $block->content->vcount= $theme->item()->view_count; + $descds = $item->descendants(); + $descds_view = 0; + foreach ($descds as $descd) { + if ($descd->is_photo()) { + $descds_view += $descd->view_count; + } + } + $block->content->vcount = $descds_view; + if ($item->description) { + $block->content->description = html::clean($item->description); + } + } + + + $all_tags = ORM::factory("tag") + ->join("items_tags", "items_tags.tag_id", "tags.id") + ->join("items", "items.id", "items_tags.item_id", "LEFT") + ->where("items.parent_id", "=", $item->id) + ->order_by("tags.id", "ASC") + ->find_all(); + if (count($all_tags) > 0) { + $block->content->all_tags = $all_tags; + } + } + break; + } + return $block; + } +} diff --git a/3.0/modules/about_this_album/module.info b/3.0/modules/about_this_album/module.info new file mode 100644 index 00000000..8080a24d --- /dev/null +++ b/3.0/modules/about_this_album/module.info @@ -0,0 +1,3 @@ +name = "About this Album" +description = "Show some simple, specific and useful info about a given album" +version = 1 diff --git a/3.0/modules/about_this_album/views/about_this_album.html.php b/3.0/modules/about_this_album/views/about_this_album.html.php new file mode 100644 index 00000000..01dee4f7 --- /dev/null +++ b/3.0/modules/about_this_album/views/about_this_album.html.php @@ -0,0 +1,68 @@ + + +
+ + + 0): ?> + + + + + + + + + + + + + +
+ + + + 0): ?> +
+ + + ""): ?> + + +
+ + + 0): ?> +
+ + + + id) { + $tag = ORM::factory("tag", $one_tag->id); + $display_tags[] = array(html::clean($tag->name), $tag->url()); + $last_tagid = $one_tag->id; + } + } + + // Sort the array. + asort($display_tags); + + // Print out the list of tags as clickable links. + $not_first = 0; + foreach ($display_tags as $one_tag) { + if ($not_first++ > 0) { + print ", "; + } + print "" . $one_tag[0] . ""; + } +?> + +
+
diff --git a/3.0/modules/about_this_photo/helpers/about_this_photo_block.php b/3.0/modules/about_this_photo/helpers/about_this_photo_block.php index c1adb174..808d19bd 100644 --- a/3.0/modules/about_this_photo/helpers/about_this_photo_block.php +++ b/3.0/modules/about_this_photo/helpers/about_this_photo_block.php @@ -27,6 +27,10 @@ class about_this_photo_block_Core { $block = new Block(); switch ($block_id) { case "simple": + $item = $theme->item; + if ((!$item) or (!$item->is_photo())) { + return ""; + } $block->css_id = "g-about-this-photo"; $block->title = t("About this photo"); $block->content = new View("about_this_photo.html"); @@ -37,11 +41,25 @@ class about_this_photo_block_Core { if ($exif->loaded()) { $exif = unserialize($exif->data); $timestamp = strtotime($exif["DateTime"]); - $block->content->date = gallery::date($timestamp); + //$block->content->date = gallery::date($timestamp); + $block->content->date = date('D j M Y', $timestamp); $block->content->time = gallery::time($timestamp); } } + $block->content->vcount = $theme->item()->view_count; + + // IPTC - copied more or less from iptc.php + if (module::is_active("iptc")) { + $record = ORM::factory("iptc_record")->where("item_id", "=", $theme->item()->id)->find(); + if ($record->loaded()) { + $record = unserialize($record->data); + $block->content->name = $record["ObjectName"]; + $block->content->caption = $record["Caption"]; + + } + } + if (module::is_active("tag")) { $block->content->tags = tag::item_tags($theme->item()); } @@ -49,4 +67,5 @@ class about_this_photo_block_Core { } return $block; } -} \ No newline at end of file +} + diff --git a/3.0/modules/about_this_photo/module.info b/3.0/modules/about_this_photo/module.info index 6943685e..e324ae3b 100644 --- a/3.0/modules/about_this_photo/module.info +++ b/3.0/modules/about_this_photo/module.info @@ -1,3 +1,3 @@ name = "About this Photo" description = "Show some simple, specific and useful info about a given photo" -version = 1 +version = 3 diff --git a/3.0/modules/about_this_photo/views/about_this_photo.html.php b/3.0/modules/about_this_photo/views/about_this_photo.html.php index aa91c578..f0ef130a 100644 --- a/3.0/modules/about_this_photo/views/about_this_photo.html.php +++ b/3.0/modules/about_this_photo/views/about_this_photo.html.php @@ -1,17 +1,34 @@ - +
+ + diff --git a/3.0/modules/albumtree/views/albumtree_block_list.html.php b/3.0/modules/albumtree/views/albumtree_block_list.html.php index 43db3a24..0e2cdb6d 100644 --- a/3.0/modules/albumtree/views/albumtree_block_list.html.php +++ b/3.0/modules/albumtree/views/albumtree_block_list.html.php @@ -34,5 +34,5 @@ - + diff --git a/3.0/modules/captionator/controllers/captionator.php b/3.0/modules/captionator/controllers/captionator.php index 007ee86f..231f4248 100644 --- a/3.0/modules/captionator/controllers/captionator.php +++ b/3.0/modules/captionator/controllers/captionator.php @@ -30,6 +30,18 @@ class Captionator_Controller extends Controller { $v = new Theme_View("page.html", "collection", "captionator"); $v->content = new View("captionator_dialog.html"); $v->content->album = $album; + $v->content->enable_tags = module::is_active("tag"); + if ($v->content->enable_tags) { + $v->content->tags = array(); + foreach ($album->viewable()->children() as $child) { + $item = ORM::factory("item", $child->id); + $tag_names = array(); + foreach (tag::item_tags($item) as $tag) { + $tag_names[] = $tag->name; + } + $v->content->tags[$child->id] = implode(", ", $tag_names); + } + } print $v; } @@ -42,12 +54,23 @@ class Captionator_Controller extends Controller { if (Input::instance()->post("save")) { $titles = Input::instance()->post("title"); $descriptions = Input::instance()->post("description"); + $tags = Input::instance()->post("tags"); + $enable_tags = module::is_active("tag"); foreach (array_keys($titles) as $id) { $item = ORM::factory("item", $id); if ($item->loaded() && access::can("edit", $item)) { $item->title = $titles[$id]; $item->description = $descriptions[$id]; $item->save(); + if ($enable_tags) { + tag::clear_all($item); + foreach (explode(",", $tags[$id]) as $tag_name) { + if ($tag_name) { + tag::add($item, trim($tag_name)); + } + } + tag::compact(); + } } } message::success(t("Captions saved")); diff --git a/3.0/modules/captionator/views/captionator_dialog.html.php b/3.0/modules/captionator/views/captionator_dialog.html.php index b74be58d..317873ee 100644 --- a/3.0/modules/captionator/views/captionator_dialog.html.php +++ b/3.0/modules/captionator/views/captionator_dialog.html.php @@ -1,5 +1,11 @@
+
id}") ?>" method="post" id="g-captionator-form">
@@ -23,6 +29,12 @@ + +
  • + + +
  • + diff --git a/3.0/modules/ecard/helpers/ecard_block.php b/3.0/modules/ecard/helpers/ecard_block.php index 051c55c6..89e818d7 100644 --- a/3.0/modules/ecard/helpers/ecard_block.php +++ b/3.0/modules/ecard/helpers/ecard_block.php @@ -28,7 +28,7 @@ class ecard_block_Core { case "ecard": if ($theme->item() && $theme->item()->is_photo() && module::get_var("ecard", "location") == "sidebar") { $block = new Block(); - $block->css_id = "g-send-ecard"; + $block->css_id = "g-sendecard"; $block->title = t("eCard"); $block->content = new View("ecard_block.html"); } diff --git a/3.0/modules/ecard/helpers/ecard_installer.php b/3.0/modules/ecard/helpers/ecard_installer.php index d9887094..a9a6934f 100644 --- a/3.0/modules/ecard/helpers/ecard_installer.php +++ b/3.0/modules/ecard/helpers/ecard_installer.php @@ -25,6 +25,6 @@ class ecard_installer { "Click the image to be taken to the gallery."); module::set_var("ecard", "bcc", ""); module::set_var("ecard", "access_permissions", "everybody"); - module::set_version("ecard", 4); + module::set_version("ecard", 5); } } diff --git a/3.0/modules/ecard/module.info b/3.0/modules/ecard/module.info index 95c8f6a4..407ebd68 100644 --- a/3.0/modules/ecard/module.info +++ b/3.0/modules/ecard/module.info @@ -1,4 +1,4 @@ name = "E-Card" description = "Send a photo as a postcard" -version = 4 +version = 5 diff --git a/3.0/modules/ecard/views/ecard_block.html.php b/3.0/modules/ecard/views/ecard_block.html.php index 3f307a1d..d8aa4e4e 100644 --- a/3.0/modules/ecard/views/ecard_block.html.php +++ b/3.0/modules/ecard/views/ecard_block.html.php @@ -1,6 +1,6 @@ -id}") ?>" id="g-send-ecard" +id}") ?>" class="g-dialog-link g-button ui-state-default ui-corner-all"> - + diff --git a/3.0/modules/ldap/libraries/drivers/IdentityProvider/Ldap.php b/3.0/modules/ldap/libraries/drivers/IdentityProvider/Ldap.php index d4e096ff..64b11573 100644 --- a/3.0/modules/ldap/libraries/drivers/IdentityProvider/Ldap.php +++ b/3.0/modules/ldap/libraries/drivers/IdentityProvider/Ldap.php @@ -232,7 +232,10 @@ class Ldap_User implements User_Definition { } public function display_name() { - return $this->ldap_entry["displayname"][0]; + if (!empty($this->ldap_entry["displayname"][0])) { + return $this->ldap_entry["displayname"][0]; + } + return $this->ldap_entry["cn"][0]; } public function __get($key) { diff --git a/3.0/modules/moduleupdates/controllers/admin_moduleupdates.php b/3.0/modules/moduleupdates/controllers/admin_moduleupdates.php index b1274111..8c06c351 100755 --- a/3.0/modules/moduleupdates/controllers/admin_moduleupdates.php +++ b/3.0/modules/moduleupdates/controllers/admin_moduleupdates.php @@ -16,7 +16,6 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ - class Admin_Moduleupdates_Controller extends Admin_Controller { /** @@ -44,15 +43,10 @@ class Admin_Moduleupdates_Controller extends Admin_Controller { $view->page_title = t("Gallery 3 :: Manage Module Updates"); $view->content = new View("admin_moduleupdates.html"); - $devDebug = false; $refreshCache = false; $cache = unserialize(Cache::instance()->get("moduleupdates_cache")); $cache_updates = unserialize(Cache::instance()->get("moduleupdates_cache_updates")); - - //--------------------------------------------------------------------------------------------- - //echo 'Message 01: ' .$cache_updates . '
    '; - //--------------------------------------------------------------------------------------------- //if someone pressed the button to refresh now if (request::method() == "post") { @@ -78,7 +72,6 @@ class Admin_Moduleupdates_Controller extends Admin_Controller { } } catch (Exception $e) { - //echo 'Message: ' .$e->getMessage() . '
    '; } //Check the ability to access the Google $Google = null; @@ -91,71 +84,82 @@ class Admin_Moduleupdates_Controller extends Admin_Controller { } } catch (Exception $e) { - //echo 'Message: ' .$e->getMessage() . '
    '; } + $update_count = 0; + if($refreshCache == true){ foreach (module::available() as $this_module_name => $module_info) { + + $font_color_local = "black"; + $core_version = ''; + $core_server = ''; + $core_dlink = ''; + $font_color_core = "black"; + $contrib_version = ''; + $contrib_server = ''; + $contrib_dlink = ''; + $font_color_contrib = "black"; + $gh_version = ''; + $gh_server = ''; + $gh_dlink = ''; + $font_color_gh = "black"; - //example code for setting cache values - //Cache::instance()->set($key, "$log{$msg}", array("task", "log", "import"), 2592000); - //example delete cache - //Cache::instance()->delete("update_l10n_cache:{$task->id}"); - //example for reading cache - //$log = Cache::instance()->get($key); - $remote_version = ''; - $remote_server = ''; - $update_count = 0; - list ($remote_version, $remote_server) = $this->get_remote_module_version($this_module_name, $devDebug); + $font_color_local = $this->get_local_module_version_color ($module_info->version, $module_info->code_version); + list ($core_version, $core_server) = $this->get_remote_module_version($this_module_name, "CORE"); + $font_color_core = $this->get_module_version_color ($module_info->version, $module_info->code_version, $core_version); + list ($contrib_version, $contrib_server) = $this->get_remote_module_version($this_module_name, "CONTRIB"); + $font_color_contrib = $this->get_module_version_color ($module_info->version, $module_info->code_version, $contrib_version); + list ($gh_version, $gh_server) = $this->get_remote_module_version($this_module_name, "GH"); + $font_color_gh = $this->get_module_version_color ($module_info->version, $module_info->code_version, $gh_version); - $font_color = "black"; - //BLUE - DNE: Does Not Exist, this module was not found - if ($remote_version == "DNE") { - $font_color = "blue"; - //PINK - Your installed version is newer than file version - } else if ($module_info->version != '' and $module_info->code_version < $module_info->version) { - $font_color = "pink"; - //ORANGE - Your file version is newer than the installed version - } else if ($module_info->version != '' and $module_info->code_version > $module_info->version) { - $font_color = "orange"; - //GREEN - Your version is newer than the GitHub - } else if ($remote_version < $module_info->code_version or ($module_info->version != '' - and $remote_version < $module_info->version)) { - $font_color = "green"; - //RED - Your version is older than the GitHub - } else if ($remote_version > $module_info->code_version or ($module_info->version != '' - and $remote_version > $module_info->version)) { - $font_color = "red"; + if($font_color_core == "red" or $font_color_contrib == "red" or $font_color_gh == "red"){ $update_count++; - /* - if($remote_server == "(G3)"){ - $module_info->name = "".$module_info->name.""; - }else if($remote_server == "(G3CC)"){ - $module_info->name = "".$module_info->name.""; - }else if($remote_server == "(brentil)"){ - $module_info->name = "".$module_info->name.""; - } - */ } $module_info->name = "".$module_info->name.""; + if (is_numeric($core_version)) { + if($core_version > $module_info->version) { + $core_dlink = "http://github.com/gallery/gallery3/tree/master/modules/".$this_module_name; + } + } + + if (is_numeric($contrib_version)) { + if($contrib_version > $module_info->version) { + $contrib_dlink = "http://github.com/gallery/gallery3-contrib/tree/master/". + substr_replace(gallery::VERSION,"",strpos(gallery::VERSION," ")) ."/modules/".$this_module_name; + } + } + + if (is_numeric($gh_version)) { + if($gh_version > $module_info->version) { + $this_gm_repo = str_replace(".","",substr_replace(gallery::VERSION,"",strpos(gallery::VERSION," "))); + if($this_gm_repo == "30"){ + $gh_dlink = "http://www.gallerymodules.com/update/".$this_module_name; + } else { + $gh_dlink = "http://www.gallerymodules.com/update".this_gm_repo."/".$this_module_name; + } + + } + } + //populate the list fo modules and their data $cache->$this_module_name = array ("name" => $module_info->name, "locked" => $module_info->locked, "code_version" => $module_info->code_version, "active" => $module_info->active, "version" => $module_info->version,"description" => $module_info->description, - "remote_version" => $remote_version, "remote_server" => $remote_server, "font_color" => $font_color); + "core_version" => $core_version, "core_server" => $core_server, "font_color_core" => $font_color_core, + "contrib_version" => $contrib_version, "contrib_server" => $contrib_server, "font_color_contrib" => $font_color_contrib, + "gh_version" => $gh_version, "gh_server" => $gh_server, "font_color_gh" => $font_color_gh, + "font_color_local" => $font_color_local, "core_dlink" => $core_dlink, "contrib_dlink" => $contrib_dlink, + "gh_dlink" => $gh_dlink); } //Define right now as YYYY.MM.DD HH:MM with the # of updates that are out of date $cache_updates = array("date" => date("Y.m.d - H:i"), "updates" => $update_count); - - //--------------------------------------------------------------------------------------------- - //echo 'Message 02: ' .$cache_updates . '
    '; - //--------------------------------------------------------------------------------------------- - + //Write out the new data to cache with a 30 day expiration & 0 for update data so it's always present Cache::instance()->set("moduleupdates_cache", serialize($cache), array("ModuleUpdates"), 30*86400); Cache::instance()->set("moduleupdates_cache_updates", serialize($cache_updates), array("ModuleUpdates"), null); @@ -174,6 +178,52 @@ class Admin_Moduleupdates_Controller extends Admin_Controller { } + /** + * + **/ + private function get_module_version_color ($version, $code_version, $remote_version) { + + $font_color = "black"; + + //BLACK - no module version detected + if ($remote_version == "") { + $font_color = "black"; + //BLUE - DNE: Does Not Exist, this module was not found + } else if ($remote_version == "DNE") { + $font_color = "blue"; + //GREEN - Your version is newer than the GitHub + } else if ($remote_version < $code_version or ($version != '' + and $remote_version < $version)) { + $font_color = "green"; + //RED - Your version is older than the GitHub + } else if ($remote_version > $code_version or ($version != '' + and $remote_version > $version)) { + $font_color = "red"; + } + + return $font_color; + } + + + /** + * + **/ + private function get_local_module_version_color ($version, $code_version) { + + $font_color = "black"; + + //PINK - Your installed version is newer than file version + if ($version != '' and $code_version < $version) { + $font_color = "pink"; + //ORANGE - Your file version is newer than the installed version + } else if ($version != '' and $code_version > $version) { + $font_color = "orange"; + } + + return $font_color; + } + + /** * Parses the known GitHub repositories for new versions of modules. * @@ -183,71 +233,88 @@ class Admin_Moduleupdates_Controller extends Admin_Controller { * * http://github.com/gallery/gallery3 * http://github.com/gallery/gallery3-contrib + * http://www.gallerymodules.com * * @author brentil - * @param String The folder name of the module to search for on the remote GitHub server - * @return Array An array with the remote module version and the server it was found on. + * @param String - The folder name of the module to search for on the remote GitHub server + * @param String - The remote server to check against + * @return Array - An array with the remote module version and the server it was found on. */ - private function get_remote_module_version ($module_name, $devDebug) { + private function get_remote_module_version ($module_name, $server_location) { - $version = 'DNE'; + $version = ''; $server = ''; $file = null; - //For development debug only - if ($devDebug == true){ - if ($file == null) { - try { - $file = fopen ("http://github.com/brentil/gallery3-contrib/raw/master/". substr_replace(gallery::VERSION,"",strpos(gallery::VERSION," ")) ."/modules/".$module_name."/module.info", "r"); - if ($file != null) { - $server = '(brentil)'; + switch ($server_location) { + case "CONTRIB": + //Check the Gallery3 Community Contributions GitHub + if ($file == null) { + try { + $file = fopen ("http://github.com/gallery/gallery3-contrib/raw/master/". + substr_replace(gallery::VERSION,"",strpos(gallery::VERSION," "))."/modules/".$module_name."/module.info", "r"); + if ($file != null) { + $server = '(GCC)'; + } + } + catch (Exception $e) { + } } - } - catch (Exception $e) { - //echo 'Message: ' .$e->getMessage() . '
    '; - } - } - } - - //Check the main Gallery3 GitHub - if ($file == null) { - try { - $file = fopen ("http://github.com/gallery/gallery3/raw/master/modules/".$module_name."/module.info", "r"); - if ($file != null) { - $server = '(G)'; - } - } - catch (Exception $e) { - //echo 'Message: ' .$e->getMessage() . '
    '; - } + break; + case "CORE": + //Check the main Gallery3 GitHub + if ($file == null) { + try { + $file = fopen ("http://github.com/gallery/gallery3/raw/master/modules/".$module_name."/module.info", "r"); + if ($file != null) { + $server = '(G)'; + } + } + catch (Exception $e) { + } + } + break; + case "GH": + //Check GalleryModules.com + if ($file == null) { + try { + $this_gm_repo = str_replace(".","",substr_replace(gallery::VERSION,"",strpos(gallery::VERSION," "))); + if($this_gm_repo == "30"){ + $file = fopen ("http://www.gallerymodules.com/m/".$module_name, "r"); + } else { + $file = fopen ("http://www.gallerymodules.com/".this_gm_repo."m/".$module_name, "r"); + } + if ($file != null) { + $server = '(GH)'; + } + } + catch (Exception $e) { + } + } + break; } - - //Check the Gallery3 Community Contributions GitHub - if ($file == null) { - try { - $file = fopen ("http://github.com/gallery/gallery3-contrib/raw/master/". substr_replace(gallery::VERSION,"",strpos(gallery::VERSION," ")) ."/modules/".$module_name."/module.info", "r"); - if ($file != null) { - $server = '(GCC)'; - } - } - catch (Exception $e) { - //echo 'Message: ' .$e->getMessage() . '
    '; - } - } - - if ($file != null) { + + if ($file != null) { while (!feof ($file)) { $line = fgets ($file, 1024); - - //Regular expression to find & gather the version number in the remote module.info file - if (preg_match ("@version = (.*)@i", $line, $out)) { - $version = $out[1]; - break; - } + if ($server_location == "GH"){ + //GH stores only the version info + if($line == "Not entered" or $line == "See git") { + $line = ""; + } + $version = $line; + break; + } else { + //Regular expression to find & gather the version number in the remote module.info file + if (preg_match ("@version = (.*)@i", $line, $out)) { + $version = $out[1]; + break; + } + } } fclose ($file); } - return array ($version, $server); - } -} + return array ($version, $server); + } +} \ No newline at end of file diff --git a/3.0/modules/moduleupdates/helpers/moduleupdates_event.php b/3.0/modules/moduleupdates/helpers/moduleupdates_event.php index 8dbed46c..dd6efc9c 100644 --- a/3.0/modules/moduleupdates/helpers/moduleupdates_event.php +++ b/3.0/modules/moduleupdates/helpers/moduleupdates_event.php @@ -27,4 +27,4 @@ class moduleupdates_event_Core { ->label(t("Module Updates")) ->url(url::site("admin/moduleupdates"))); } -} +} \ No newline at end of file diff --git a/3.0/modules/moduleupdates/helpers/moduleupdates_installer.php b/3.0/modules/moduleupdates/helpers/moduleupdates_installer.php index 39d1dcc0..911f6b81 100644 --- a/3.0/modules/moduleupdates/helpers/moduleupdates_installer.php +++ b/3.0/modules/moduleupdates/helpers/moduleupdates_installer.php @@ -23,8 +23,8 @@ class moduleupdates_installer { static function install() { $version = module::get_version("moduleupdates"); - if ($version == 0) { - module::set_version("moduleupdates", 4); + if ($version < 1) { + module::set_version("moduleupdates", 5); //Remove the ModuleUpdates cache entry 'JIC' Cache::instance()->delete("ModuleUpdates"); //create the blank ModuleUpdates cache entry with an expiration of 0 days @@ -34,7 +34,7 @@ class moduleupdates_installer { } static function upgrade($version) { - module::set_version("moduleupdates", 4); + module::set_version("moduleupdates", 5); //Remove the ModuleUpdates cache entry 'JIC' Cache::instance()->delete("ModuleUpdates"); //Empty the ModuleUpdates cache entry so our new version starts from scratch diff --git a/3.0/modules/moduleupdates/module.info b/3.0/modules/moduleupdates/module.info index 722abecc..34868eaf 100755 --- a/3.0/modules/moduleupdates/module.info +++ b/3.0/modules/moduleupdates/module.info @@ -1,3 +1,3 @@ name = "Module Updates" description = "Compares your installed module version against the ones stored in the GitHub." -version = 4 \ No newline at end of file +version = 5 \ No newline at end of file diff --git a/3.0/modules/moduleupdates/views/admin_moduleupdates.html.php b/3.0/modules/moduleupdates/views/admin_moduleupdates.html.php index 3d7d5453..a5dc4a0b 100644 --- a/3.0/modules/moduleupdates/views/admin_moduleupdates.html.php +++ b/3.0/modules/moduleupdates/views/admin_moduleupdates.html.php @@ -2,8 +2,8 @@
    -

    - +

    +
    @@ -16,7 +16,6 @@
  • Green = Your version is newer than the GitHub
    ") ?>
  • Orange = Your file version is newer than the installed version
    ") ?>
  • Pink = Your installed version is newer than file version
    ") ?>
  • -
  • Blue = Does Not Exist/No information available
    ") ?>
  • ") ?>
  • " class="submit" />
  • @@ -25,24 +24,36 @@
      -
    • +
    - - - - + + + + + + "> - - - - + + + + + + + + + + + + + +
    [File/Installed]") ?>
    Installed") ?>
    "; ?> "; ?> "; ?> "; ?> "; ?> *"; } ?> "; } ?> "; ?> *"; } ?> $module_name['code_version']) { echo "".$module_name['core_version']."";} else { echo $module_name['core_version']; } ?> "; } ?> "; ?> *"; } ?> $module_name['version'] or $module_name['core_version'] > $module_name['code_version']) { echo "".$module_name['contrib_version']."";} else { echo $module_name['contrib_version']; } ?> "; } ?> "; ?> *"; } ?> $module_name['version'] or $module_name['core_version'] > $module_name['code_version']) { echo "".$module_name['gh_version']."";} else { echo $module_name['gh_version']; } ?> "; } ?>
    Installed") ?>
    -
    +
    \ No newline at end of file diff --git a/3.0/modules/purifier/helpers/purifier.php b/3.0/modules/purifier/helpers/purifier.php index 97742b50..2af53180 100644 --- a/3.0/modules/purifier/helpers/purifier.php +++ b/3.0/modules/purifier/helpers/purifier.php @@ -21,7 +21,7 @@ class purifier { static function purify($dirty_html) { if (!isset(self::$_purifier)) { - require_once(MODPATH . "purifier/lib/HTMLPurifier/HTMLPurifier.auto.php"); + require_once(MODPATH . "purifier/vendor/HTMLPurifier/HTMLPurifier.auto.php"); $config = HTMLPurifier_Config::createDefault(); foreach (Kohana::config("purifier") as $category => $key_value) { foreach ($key_value as $key => $value) { diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema.ser b/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema.ser deleted file mode 100644 index bbf12f9c..00000000 Binary files a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema.ser and /dev/null differ diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt b/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt deleted file mode 100644 index 888d5581..00000000 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt +++ /dev/null @@ -1,18 +0,0 @@ -HTML.AllowedElements -TYPE: lookup/null -VERSION: 1.3.0 -DEFAULT: NULL ---DESCRIPTION-- -

    - If HTML Purifier's tag set is unsatisfactory for your needs, you - can overload it with your own list of tags to allow. Note that this - method is subtractive: it does its job by taking away from HTML Purifier - usual feature set, so you cannot add a tag that HTML Purifier never - supported in the first place (like embed, form or head). If you - change this, you probably also want to change %HTML.AllowedAttributes. -

    -

    - Warning: If another directive conflicts with the - elements here, that directive will win and override. -

    ---# vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt b/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt deleted file mode 100644 index 32967b88..00000000 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt +++ /dev/null @@ -1,14 +0,0 @@ -HTML.SafeObject -TYPE: bool -VERSION: 3.1.1 -DEFAULT: false ---DESCRIPTION-- -

    - Whether or not to permit object tags in documents, with a number of extra - security features added to prevent script execution. This is similar to - what websites like MySpace do to object tags. You may also want to - enable %HTML.SafeEmbed for maximum interoperability with Internet Explorer, - although embed tags will cause your website to stop validating. - Highly experimental. -

    ---# vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/module.info b/3.0/modules/purifier/module.info index ef14f615..4819b4e5 100644 --- a/3.0/modules/purifier/module.info +++ b/3.0/modules/purifier/module.info @@ -1,3 +1,3 @@ name = "HTML Purifier" description = "Enable XSS protection using HTMLPurifier" -version = 1 +version = 2 diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.auto.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.auto.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.auto.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.auto.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.autoload.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.autoload.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.autoload.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.autoload.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.func.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.func.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.func.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.func.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.includes.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.includes.php similarity index 97% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.includes.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.includes.php index e57f2ab3..08737c20 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.includes.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.includes.php @@ -7,7 +7,7 @@ * primary concern and you are using an opcode cache. PLEASE DO NOT EDIT THIS * FILE, changes will be overwritten the next time the script is run. * - * @version 4.0.0 + * @version 4.2.0 * * @warning * You must *not* include any other HTML Purifier files before this file, @@ -176,6 +176,7 @@ require 'HTMLPurifier/Injector/DisplayLinkURI.php'; require 'HTMLPurifier/Injector/Linkify.php'; require 'HTMLPurifier/Injector/PurifierLinkify.php'; require 'HTMLPurifier/Injector/RemoveEmpty.php'; +require 'HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php'; require 'HTMLPurifier/Injector/SafeObject.php'; require 'HTMLPurifier/Lexer/DOMLex.php'; require 'HTMLPurifier/Lexer/DirectLex.php'; @@ -195,9 +196,12 @@ require 'HTMLPurifier/Token/Start.php'; require 'HTMLPurifier/Token/Text.php'; require 'HTMLPurifier/URIFilter/DisableExternal.php'; require 'HTMLPurifier/URIFilter/DisableExternalResources.php'; +require 'HTMLPurifier/URIFilter/DisableResources.php'; require 'HTMLPurifier/URIFilter/HostBlacklist.php'; require 'HTMLPurifier/URIFilter/MakeAbsolute.php'; require 'HTMLPurifier/URIFilter/Munge.php'; +require 'HTMLPurifier/URIScheme/data.php'; +require 'HTMLPurifier/URIScheme/file.php'; require 'HTMLPurifier/URIScheme/ftp.php'; require 'HTMLPurifier/URIScheme/http.php'; require 'HTMLPurifier/URIScheme/https.php'; diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.kses.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.kses.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.kses.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.kses.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.path.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.path.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.path.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.path.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.php similarity index 98% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.php index 71e90632..0430ad39 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.php @@ -19,7 +19,7 @@ */ /* - HTML Purifier 4.0.0 - Standards Compliant HTML Filtering + HTML Purifier 4.2.0 - Standards Compliant HTML Filtering Copyright (C) 2006-2008 Edward Z. Yang This library is free software; you can redistribute it and/or @@ -55,10 +55,10 @@ class HTMLPurifier { /** Version of HTML Purifier */ - public $version = '4.0.0'; + public $version = '4.2.0'; /** Constant with version of HTML Purifier */ - const VERSION = '4.0.0'; + const VERSION = '4.2.0'; /** Global configuration object */ public $config; diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.safe-includes.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.safe-includes.php similarity index 97% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.safe-includes.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.safe-includes.php index 5f0e1d8f..899a1f2e 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.safe-includes.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.safe-includes.php @@ -170,6 +170,7 @@ require_once $__dir . '/HTMLPurifier/Injector/DisplayLinkURI.php'; require_once $__dir . '/HTMLPurifier/Injector/Linkify.php'; require_once $__dir . '/HTMLPurifier/Injector/PurifierLinkify.php'; require_once $__dir . '/HTMLPurifier/Injector/RemoveEmpty.php'; +require_once $__dir . '/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php'; require_once $__dir . '/HTMLPurifier/Injector/SafeObject.php'; require_once $__dir . '/HTMLPurifier/Lexer/DOMLex.php'; require_once $__dir . '/HTMLPurifier/Lexer/DirectLex.php'; @@ -189,9 +190,12 @@ require_once $__dir . '/HTMLPurifier/Token/Start.php'; require_once $__dir . '/HTMLPurifier/Token/Text.php'; require_once $__dir . '/HTMLPurifier/URIFilter/DisableExternal.php'; require_once $__dir . '/HTMLPurifier/URIFilter/DisableExternalResources.php'; +require_once $__dir . '/HTMLPurifier/URIFilter/DisableResources.php'; require_once $__dir . '/HTMLPurifier/URIFilter/HostBlacklist.php'; require_once $__dir . '/HTMLPurifier/URIFilter/MakeAbsolute.php'; require_once $__dir . '/HTMLPurifier/URIFilter/Munge.php'; +require_once $__dir . '/HTMLPurifier/URIScheme/data.php'; +require_once $__dir . '/HTMLPurifier/URIScheme/file.php'; require_once $__dir . '/HTMLPurifier/URIScheme/ftp.php'; require_once $__dir . '/HTMLPurifier/URIScheme/http.php'; require_once $__dir . '/HTMLPurifier/URIScheme/https.php'; diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrCollections.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrCollections.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrCollections.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrCollections.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef.php similarity index 71% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef.php index 7fac54e8..6f82201e 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef.php @@ -82,6 +82,42 @@ abstract class HTMLPurifier_AttrDef return preg_replace('/rgb\((\d+)\s*,\s*(\d+)\s*,\s*(\d+)\)/', 'rgb(\1,\2,\3)', $string); } + /** + * Parses a possibly escaped CSS string and returns the "pure" + * version of it. + */ + protected function expandCSSEscape($string) { + // flexibly parse it + $ret = ''; + for ($i = 0, $c = strlen($string); $i < $c; $i++) { + if ($string[$i] === '\\') { + $i++; + if ($i >= $c) { + $ret .= '\\'; + break; + } + if (ctype_xdigit($string[$i])) { + $code = $string[$i]; + for ($a = 1, $i++; $i < $c && $a < 6; $i++, $a++) { + if (!ctype_xdigit($string[$i])) break; + $code .= $string[$i]; + } + // We have to be extremely careful when adding + // new characters, to make sure we're not breaking + // the encoding. + $char = HTMLPurifier_Encoder::unichr(hexdec($code)); + if (HTMLPurifier_Encoder::cleanUTF8($char) === '') continue; + $ret .= $char; + if ($i < $c && trim($string[$i]) !== '') $i--; + continue; + } + if ($string[$i] === "\n") continue; + } + $ret .= $string[$i]; + } + return $ret; + } + } // vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/AlphaValue.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/AlphaValue.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/AlphaValue.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/AlphaValue.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Background.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Background.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Background.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Background.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php similarity index 85% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php index e067a754..665321e3 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php @@ -59,7 +59,8 @@ class HTMLPurifier_AttrDef_CSS_BackgroundPosition extends HTMLPurifier_AttrDef $keywords = array(); $keywords['h'] = false; // left, right $keywords['v'] = false; // top, bottom - $keywords['c'] = false; // center + $keywords['ch'] = false; // center (first word) + $keywords['cv'] = false; // center (second word) $measures = array(); $i = 0; @@ -79,6 +80,13 @@ class HTMLPurifier_AttrDef_CSS_BackgroundPosition extends HTMLPurifier_AttrDef $lbit = ctype_lower($bit) ? $bit : strtolower($bit); if (isset($lookup[$lbit])) { $status = $lookup[$lbit]; + if ($status == 'c') { + if ($i == 0) { + $status = 'ch'; + } else { + $status = 'cv'; + } + } $keywords[$status] = $lbit; $i++; } @@ -101,20 +109,19 @@ class HTMLPurifier_AttrDef_CSS_BackgroundPosition extends HTMLPurifier_AttrDef if (!$i) return false; // no valid values were caught - $ret = array(); // first keyword if ($keywords['h']) $ret[] = $keywords['h']; - elseif (count($measures)) $ret[] = array_shift($measures); - elseif ($keywords['c']) { - $ret[] = $keywords['c']; - $keywords['c'] = false; // prevent re-use: center = center center + elseif ($keywords['ch']) { + $ret[] = $keywords['ch']; + $keywords['cv'] = false; // prevent re-use: center = center center } + elseif (count($measures)) $ret[] = array_shift($measures); if ($keywords['v']) $ret[] = $keywords['v']; + elseif ($keywords['cv']) $ret[] = $keywords['cv']; elseif (count($measures)) $ret[] = array_shift($measures); - elseif ($keywords['c']) $ret[] = $keywords['c']; if (empty($ret)) return false; return implode(' ', $ret); diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Border.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Border.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Border.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Border.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Color.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Color.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Color.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Color.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Composite.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Composite.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Composite.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Composite.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Filter.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Filter.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Filter.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Filter.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Font.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Font.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Font.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Font.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php similarity index 51% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php index 33435c76..f1ceec4a 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php @@ -34,37 +34,10 @@ class HTMLPurifier_AttrDef_CSS_FontFamily extends HTMLPurifier_AttrDef $quote = $font[0]; if ($font[$length - 1] !== $quote) continue; $font = substr($font, 1, $length - 2); - - $new_font = ''; - for ($i = 0, $c = strlen($font); $i < $c; $i++) { - if ($font[$i] === '\\') { - $i++; - if ($i >= $c) { - $new_font .= '\\'; - break; - } - if (ctype_xdigit($font[$i])) { - $code = $font[$i]; - for ($a = 1, $i++; $i < $c && $a < 6; $i++, $a++) { - if (!ctype_xdigit($font[$i])) break; - $code .= $font[$i]; - } - // We have to be extremely careful when adding - // new characters, to make sure we're not breaking - // the encoding. - $char = HTMLPurifier_Encoder::unichr(hexdec($code)); - if (HTMLPurifier_Encoder::cleanUTF8($char) === '') continue; - $new_font .= $char; - if ($i < $c && trim($font[$i]) !== '') $i--; - continue; - } - if ($font[$i] === "\n") continue; - } - $new_font .= $font[$i]; - } - - $font = $new_font; } + + $font = $this->expandCSSEscape($font); + // $font is a pure representation of the font name if (ctype_alnum($font) && $font !== '') { @@ -73,12 +46,21 @@ class HTMLPurifier_AttrDef_CSS_FontFamily extends HTMLPurifier_AttrDef continue; } - // complicated font, requires quoting + // bugger out on whitespace. form feed (0C) really + // shouldn't show up regardless + $font = str_replace(array("\n", "\t", "\r", "\x0C"), ' ', $font); - // armor single quotes and new lines - $font = str_replace("\\", "\\\\", $font); - $font = str_replace("'", "\\'", $font); - $final .= "'$font', "; + // These ugly transforms don't pose a security + // risk (as \\ and \" might). We could try to be clever and + // use single-quote wrapping when there is a double quote + // present, but I have choosen not to implement that. + // (warning: this code relies on the selection of quotation + // mark below) + $font = str_replace('\\', '\\5C ', $font); + $font = str_replace('"', '\\22 ', $font); + + // complicated font, requires quoting + $final .= "\"$font\", "; // note that this will later get turned into " } $final = rtrim($final, ', '); if ($final === '') return false; diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Length.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Length.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Length.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Length.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/ListStyle.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/ListStyle.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/ListStyle.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/ListStyle.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Multiple.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Multiple.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Multiple.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Multiple.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Number.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Number.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Number.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Number.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Percentage.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Percentage.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Percentage.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Percentage.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/TextDecoration.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/TextDecoration.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/TextDecoration.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/TextDecoration.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/URI.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/URI.php similarity index 79% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/URI.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/URI.php index d09c87bc..98df033d 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/URI.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/URI.php @@ -34,20 +34,16 @@ class HTMLPurifier_AttrDef_CSS_URI extends HTMLPurifier_AttrDef_URI $uri = substr($uri, 1, $new_length - 1); } - $keys = array( '(', ')', ',', ' ', '"', "'"); - $values = array('\\(', '\\)', '\\,', '\\ ', '\\"', "\\'"); - $uri = str_replace($values, $keys, $uri); + $uri = $this->expandCSSEscape($uri); $result = parent::validate($uri, $config, $context); if ($result === false) return false; - // escape necessary characters according to CSS spec - // except for the comma, none of these should appear in the - // URI at all - $result = str_replace($keys, $values, $result); + // extra sanity check; should have been done by URI + $result = str_replace(array('"', "\\", "\n", "\x0c", "\r"), "", $result); - return "url($result)"; + return "url(\"$result\")"; } diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Enum.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Enum.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Enum.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Enum.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Bool.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Bool.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Bool.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Bool.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Class.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Class.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Class.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Class.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Color.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Color.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Color.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Color.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/FrameTarget.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/FrameTarget.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/FrameTarget.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/FrameTarget.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/ID.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/ID.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/ID.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/ID.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Length.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Length.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Length.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Length.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/LinkTypes.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/LinkTypes.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/LinkTypes.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/LinkTypes.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/MultiLength.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/MultiLength.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/MultiLength.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/MultiLength.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Nmtokens.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Nmtokens.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Nmtokens.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Nmtokens.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Pixels.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Pixels.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Pixels.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Pixels.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Integer.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Integer.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Integer.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Integer.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Lang.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Lang.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Lang.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Lang.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Switch.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Switch.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Switch.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Switch.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Text.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Text.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Text.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Text.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/Email.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/Email.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/Email.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/Email.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/Host.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/Host.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/Host.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/Host.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/IPv4.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/IPv4.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/IPv4.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/IPv4.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/IPv6.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/IPv6.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/IPv6.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/IPv6.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Background.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Background.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Background.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Background.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/BdoDir.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/BdoDir.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/BdoDir.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/BdoDir.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/BgColor.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/BgColor.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/BgColor.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/BgColor.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/BoolToCSS.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/BoolToCSS.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/BoolToCSS.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/BoolToCSS.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Border.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Border.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Border.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Border.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/EnumToCSS.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/EnumToCSS.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/EnumToCSS.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/EnumToCSS.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/ImgRequired.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/ImgRequired.php similarity index 90% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/ImgRequired.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/ImgRequired.php index a1e5a83a..3d09eca3 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/ImgRequired.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/ImgRequired.php @@ -24,7 +24,8 @@ class HTMLPurifier_AttrTransform_ImgRequired extends HTMLPurifier_AttrTransform if ($src) { $alt = $config->get('Attr.DefaultImageAlt'); if ($alt === null) { - $attr['alt'] = basename($attr['src']); + // truncate if the alt is too long + $attr['alt'] = substr(basename($attr['src']),0,40); } else { $attr['alt'] = $alt; } diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/ImgSpace.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/ImgSpace.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/ImgSpace.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/ImgSpace.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Input.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Input.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Input.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Input.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Lang.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Lang.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Lang.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Lang.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Length.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Length.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Length.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Length.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Name.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Name.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Name.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Name.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/NameSync.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/NameSync.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/NameSync.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/NameSync.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/SafeEmbed.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/SafeEmbed.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/SafeEmbed.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/SafeEmbed.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/SafeObject.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/SafeObject.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/SafeObject.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/SafeObject.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/SafeParam.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/SafeParam.php similarity index 74% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/SafeParam.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/SafeParam.php index e677feae..d14390bc 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/SafeParam.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/SafeParam.php @@ -33,12 +33,25 @@ class HTMLPurifier_AttrTransform_SafeParam extends HTMLPurifier_AttrTransform case 'allowNetworking': $attr['value'] = 'internal'; break; + case 'allowFullScreen': + if ($config->get('HTML.FlashAllowFullScreen')) { + $attr['value'] = ($attr['value'] == 'true') ? 'true' : 'false'; + } else { + $attr['value'] = 'false'; + } + break; case 'wmode': $attr['value'] = 'window'; break; case 'movie': + case 'src': + $attr['name'] = "movie"; $attr['value'] = $this->uri->validate($attr['value'], $config, $context); break; + case 'flashvars': + // we're going to allow arbitrary inputs to the SWF, on + // the reasoning that it could only hack the SWF, not us. + break; // add other cases to support other param name/value pairs default: $attr['name'] = $attr['value'] = null; diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/ScriptRequired.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/ScriptRequired.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/ScriptRequired.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/ScriptRequired.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Textarea.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Textarea.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Textarea.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Textarea.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTypes.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTypes.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTypes.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTypes.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrValidator.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrValidator.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrValidator.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrValidator.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Bootstrap.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Bootstrap.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Bootstrap.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Bootstrap.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/CSSDefinition.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/CSSDefinition.php similarity index 95% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/CSSDefinition.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/CSSDefinition.php index 17bf9931..09afc1f1 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/CSSDefinition.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/CSSDefinition.php @@ -272,20 +272,29 @@ class HTMLPurifier_CSSDefinition extends HTMLPurifier_Definition // setup allowed elements $support = "(for information on implementing this, see the ". "support forums) "; - $allowed_attributes = $config->get('CSS.AllowedProperties'); - if ($allowed_attributes !== null) { + $allowed_properties = $config->get('CSS.AllowedProperties'); + if ($allowed_properties !== null) { foreach ($this->info as $name => $d) { - if(!isset($allowed_attributes[$name])) unset($this->info[$name]); - unset($allowed_attributes[$name]); + if(!isset($allowed_properties[$name])) unset($this->info[$name]); + unset($allowed_properties[$name]); } // emit errors - foreach ($allowed_attributes as $name => $d) { + foreach ($allowed_properties as $name => $d) { // :TODO: Is this htmlspecialchars() call really necessary? $name = htmlspecialchars($name); trigger_error("Style attribute '$name' is not supported $support", E_USER_WARNING); } } + $forbidden_properties = $config->get('CSS.ForbiddenProperties'); + if ($forbidden_properties !== null) { + foreach ($this->info as $name => $d) { + if (isset($forbidden_properties[$name])) { + unset($this->info[$name]); + } + } + } + } } diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Chameleon.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Chameleon.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Chameleon.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Chameleon.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Custom.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Custom.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Custom.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Custom.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Empty.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Empty.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Empty.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Empty.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Optional.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Optional.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Optional.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Optional.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Required.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Required.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Required.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Required.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/StrictBlockquote.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/StrictBlockquote.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/StrictBlockquote.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/StrictBlockquote.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Table.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Table.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Table.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Table.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Config.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Config.php similarity index 99% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Config.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Config.php index 28529e7f..ada1b701 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Config.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Config.php @@ -20,7 +20,7 @@ class HTMLPurifier_Config /** * HTML Purifier's version */ - public $version = '4.0.0'; + public $version = '4.2.0'; /** * Bool indicator whether or not to automatically finalize diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Builder/Xml.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Builder/Xml.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Builder/Xml.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Builder/Xml.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Exception.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Exception.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Exception.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Exception.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange/Directive.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange/Directive.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange/Directive.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange/Directive.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange/Id.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange/Id.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange/Id.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange/Id.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/InterchangeBuilder.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/InterchangeBuilder.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/InterchangeBuilder.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/InterchangeBuilder.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Validator.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Validator.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Validator.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Validator.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/ValidatorAtom.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/ValidatorAtom.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/ValidatorAtom.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/ValidatorAtom.php diff --git a/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema.ser b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema.ser new file mode 100644 index 00000000..978089c6 Binary files /dev/null and b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema.ser differ diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedClasses.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedClasses.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedClasses.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedClasses.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRev.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRev.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRev.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRev.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.ClassUseCDATA.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.ClassUseCDATA.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.ClassUseCDATA.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.ClassUseCDATA.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultTextDir.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultTextDir.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultTextDir.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultTextDir.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.ForbiddenClasses.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.ForbiddenClasses.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.ForbiddenClasses.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.ForbiddenClasses.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.AutoParagraph.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.AutoParagraph.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.AutoParagraph.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.AutoParagraph.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.txt diff --git a/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveSpansWithoutAttributes.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveSpansWithoutAttributes.txt new file mode 100644 index 00000000..dde990ab --- /dev/null +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveSpansWithoutAttributes.txt @@ -0,0 +1,11 @@ +AutoFormat.RemoveSpansWithoutAttributes +TYPE: bool +VERSION: 4.0.1 +DEFAULT: false +--DESCRIPTION-- +

    + This directive causes span tags without any attributes + to be removed. It will also remove spans that had all attributes + removed during processing. +

    +--# vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowTricky.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowTricky.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowTricky.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowTricky.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowedProperties.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowedProperties.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowedProperties.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowedProperties.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.DefinitionRev.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.DefinitionRev.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.DefinitionRev.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.DefinitionRev.txt diff --git a/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt new file mode 100644 index 00000000..f1f5c5f1 --- /dev/null +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt @@ -0,0 +1,13 @@ +CSS.ForbiddenProperties +TYPE: lookup +VERSION: 4.2.0 +DEFAULT: array() +--DESCRIPTION-- +

    + This is the logical inverse of %CSS.AllowedProperties, and it will + override that directive or any other directive. If possible, + %CSS.AllowedProperties is recommended over this directive, + because it can sometimes be difficult to tell whether or not you've + forbidden all of the CSS properties you truly would like to disallow. +

    +--# vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.Proprietary.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.Proprietary.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.Proprietary.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.Proprietary.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyFixLt.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyFixLt.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyFixLt.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyFixLt.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.Encoding.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.Encoding.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.Encoding.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.Encoding.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.Language.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.Language.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.Language.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.Language.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.LexerImpl.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.LexerImpl.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.LexerImpl.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.LexerImpl.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt diff --git a/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt new file mode 100644 index 00000000..d77f5360 --- /dev/null +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt @@ -0,0 +1,11 @@ +Core.NormalizeNewlines +TYPE: bool +VERSION: 4.2.0 +DEFAULT: true +--DESCRIPTION-- +

    + Whether or not to normalize newlines to the operating + system default. When false, HTML Purifier + will attempt to preserve mixed newline files. +

    +--# vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt diff --git a/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt new file mode 100644 index 00000000..3397d9f7 --- /dev/null +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt @@ -0,0 +1,11 @@ +Core.RemoveProcessingInstructions +TYPE: bool +VERSION: 4.2.0 +DEFAULT: false +--DESCRIPTION-- +Instead of escaping processing instructions in the form <? ... +?>, remove it out-right. This may be useful if the HTML +you are validating contains XML processing instruction gunk, however, +it can also be user-unfriendly for people attempting to post PHP +snippets. +--# vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveScriptContents.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveScriptContents.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveScriptContents.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveScriptContents.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Scope.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Scope.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Scope.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Scope.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt similarity index 65% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt index 7fa6536b..321eaa2d 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt @@ -3,6 +3,11 @@ TYPE: bool VERSION: 3.1.0 DEFAULT: false --DESCRIPTION-- +

    + Warning: Deprecated in favor of %HTML.SafeObject and + %Output.FlashCompat (turn both on to allow YouTube videos and other + Flash content). +

    This directive enables YouTube video embedding in HTML Purifier. Check this document diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt similarity index 54% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt index 3e231d2d..0b2c106d 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt @@ -5,11 +5,14 @@ DEFAULT: NULL --DESCRIPTION--

    - This is a convenience directive that rolls the functionality of - %HTML.AllowedElements and %HTML.AllowedAttributes into one directive. + This is a preferred convenience directive that combines + %HTML.AllowedElements and %HTML.AllowedAttributes. Specify elements and attributes that are allowed using: - element1[attr1|attr2],element2.... You can also use - newlines instead of commas to separate elements. + element1[attr1|attr2],element2.... For example, + if you would like to only allow paragraphs and links, specify + a[href],p. You can specify attributes that apply + to all elements using an asterisk, e.g. *[lang]. + You can also use newlines instead of commas to separate elements.

    Warning: diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedAttributes.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedAttributes.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedAttributes.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedAttributes.txt diff --git a/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt new file mode 100644 index 00000000..1d3fa790 --- /dev/null +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt @@ -0,0 +1,23 @@ +HTML.AllowedElements +TYPE: lookup/null +VERSION: 1.3.0 +DEFAULT: NULL +--DESCRIPTION-- +

    + If HTML Purifier's tag set is unsatisfactory for your needs, you can + overload it with your own list of tags to allow. If you change + this, you probably also want to change %HTML.AllowedAttributes; see + also %HTML.Allowed which lets you set allowed elements and + attributes at the same time. +

    +

    + If you attempt to allow an element that HTML Purifier does not know + about, HTML Purifier will raise an error. You will need to manually + tell HTML Purifier about this element by using the + advanced customization features. +

    +

    + Warning: If another directive conflicts with the + elements here, that directive will win and override. +

    +--# vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionID.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionID.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionID.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionID.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt diff --git a/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt new file mode 100644 index 00000000..7878dc0b --- /dev/null +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt @@ -0,0 +1,11 @@ +HTML.FlashAllowFullScreen +TYPE: bool +VERSION: 4.2.0 +DEFAULT: false +--DESCRIPTION-- +

    + Whether or not to permit embedded Flash content from + %HTML.SafeObject to expand to the full screen. Corresponds to + the allowFullScreen parameter. +

    +--# vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenAttributes.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenAttributes.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenAttributes.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenAttributes.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt similarity index 65% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt index f635a685..cdda09a4 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt @@ -7,8 +7,7 @@ DEFAULT: false Whether or not to permit embed tags in documents, with a number of extra security features added to prevent script execution. This is similar to what websites like MySpace do to embed tags. Embed is a proprietary - element and will cause your website to stop validating. You probably want - to enable this with %HTML.SafeObject. - Highly experimental. -

    + element and will cause your website to stop validating; you should + see if you can use %Output.FlashCompat with %HTML.SafeObject instead + first.

    --# vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt new file mode 100644 index 00000000..ceb342e2 --- /dev/null +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt @@ -0,0 +1,13 @@ +HTML.SafeObject +TYPE: bool +VERSION: 3.1.1 +DEFAULT: false +--DESCRIPTION-- +

    + Whether or not to permit object tags in documents, with a number of extra + security features added to prevent script execution. This is similar to + what websites like MySpace do to object tags. You should also enable + %Output.FlashCompat in order to generate Internet Explorer + compatibility code for your object tags. +

    +--# vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyRemove.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyRemove.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyRemove.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyRemove.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt diff --git a/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.FlashCompat.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.FlashCompat.txt new file mode 100644 index 00000000..93398e85 --- /dev/null +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.FlashCompat.txt @@ -0,0 +1,11 @@ +Output.FlashCompat +TYPE: bool +VERSION: 4.1.0 +DEFAULT: false +--DESCRIPTION-- +

    + If true, HTML Purifier will generate Internet Explorer compatibility + code for all object code. This is highly recommended if you enable + %HTML.SafeObject. +

    +--# vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.TidyFormat.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.TidyFormat.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.TidyFormat.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.TidyFormat.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt similarity index 74% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt index 98fdfe92..666635a5 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt @@ -12,4 +12,6 @@ array ( --DESCRIPTION-- Whitelist that defines the schemes that a URI is allowed to have. This prevents XSS attacks from using pseudo-schemes like javascript or mocha. +There is also support for the data and file +URI schemes, but they are not enabled by default. --# vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Base.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Base.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Base.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Base.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefaultScheme.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefaultScheme.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefaultScheme.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefaultScheme.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt similarity index 64% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt index 51e6ea91..f891de49 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt @@ -1,12 +1,15 @@ URI.DisableResources TYPE: bool -VERSION: 1.3.0 +VERSION: 4.2.0 DEFAULT: false --DESCRIPTION-- -

    Disables embedding resources, essentially meaning no pictures. You can still link to them though. See %URI.DisableExternalResources for why this might be a good idea.

    +

    + Note: While this directive has been available since 1.3.0, + it didn't actually start doing anything until 4.2.0. +

    --# vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Host.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Host.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Host.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Host.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/info.ini b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/info.ini similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/info.ini rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/info.ini diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ContentSets.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ContentSets.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ContentSets.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ContentSets.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Context.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Context.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Context.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Context.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Definition.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Definition.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Definition.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Definition.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Memory.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Memory.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Memory.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Memory.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Template.php.in b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Template.php.in similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Template.php.in rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Template.php.in diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Null.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Null.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Null.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Null.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Serializer.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Serializer.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Serializer.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Serializer.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Serializer/README b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Serializer/README similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Serializer/README rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Serializer/README diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCacheFactory.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCacheFactory.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCacheFactory.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCacheFactory.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Doctype.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Doctype.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Doctype.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Doctype.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DoctypeRegistry.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DoctypeRegistry.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DoctypeRegistry.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DoctypeRegistry.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ElementDef.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ElementDef.php similarity index 96% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ElementDef.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ElementDef.php index c4f5df97..cbd4e345 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ElementDef.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ElementDef.php @@ -97,6 +97,13 @@ class HTMLPurifier_ElementDef */ public $autoclose = array(); + /** + * If a foreign element is found in this element, test if it is + * allowed by this sub-element; if it is, instead of closing the + * current element, place it inside this element. + */ + public $wrap; + /** * Whether or not this is a formatting element affected by the * "Active Formatting Elements" algorithm. diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Encoder.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Encoder.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Encoder.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Encoder.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/EntityLookup.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/EntityLookup.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/EntityLookup.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/EntityLookup.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/EntityLookup/entities.ser b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/EntityLookup/entities.ser similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/EntityLookup/entities.ser rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/EntityLookup/entities.ser diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/EntityParser.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/EntityParser.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/EntityParser.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/EntityParser.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ErrorCollector.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ErrorCollector.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ErrorCollector.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ErrorCollector.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ErrorStruct.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ErrorStruct.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ErrorStruct.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ErrorStruct.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Exception.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Exception.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Exception.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Exception.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Filter.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Filter.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Filter.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Filter.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Filter/ExtractStyleBlocks.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Filter/ExtractStyleBlocks.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Filter/ExtractStyleBlocks.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Filter/ExtractStyleBlocks.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Filter/YouTube.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Filter/YouTube.php similarity index 74% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Filter/YouTube.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Filter/YouTube.php index aa3c17a0..9a9d9f96 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Filter/YouTube.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Filter/YouTube.php @@ -7,13 +7,13 @@ class HTMLPurifier_Filter_YouTube extends HTMLPurifier_Filter public function preFilter($html, $config, $context) { $pre_regex = '#]+>.+?'. - 'http://www.youtube.com/v/([A-Za-z0-9\-_]+).+?#s'; + 'http://www.youtube.com/((?:v|cp)/[A-Za-z0-9\-_=]+).+?#s'; $pre_replace = '\1'; return preg_replace($pre_regex, $pre_replace, $html); } public function postFilter($html, $config, $context) { - $post_regex = '#([A-Za-z0-9\-_]+)#'; + $post_regex = '#((?:v|cp)/[A-Za-z0-9\-_=]+)#'; return preg_replace_callback($post_regex, array($this, 'postFilterCallback'), $html); } @@ -24,10 +24,10 @@ class HTMLPurifier_Filter_YouTube extends HTMLPurifier_Filter protected function postFilterCallback($matches) { $url = $this->armorUrl($matches[1]); return ''. - ''. + 'data="http://www.youtube.com/'.$url.'">'. + ''. ''. diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Generator.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Generator.php similarity index 73% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Generator.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Generator.php index 22e841c1..e5988b64 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Generator.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Generator.php @@ -31,6 +31,17 @@ class HTMLPurifier_Generator */ private $_sortAttr; + /** + * Cache of %Output.FlashCompat + */ + private $_flashCompat; + + /** + * Stack for keeping track of object information when outputting IE + * compatibility code. + */ + private $_flashStack = array(); + /** * Configuration for the generator */ @@ -44,6 +55,7 @@ class HTMLPurifier_Generator $this->config = $config; $this->_scriptFix = $config->get('Output.CommentScriptContents'); $this->_sortAttr = $config->get('Output.SortAttr'); + $this->_flashCompat = $config->get('Output.FlashCompat'); $this->_def = $config->getHTMLDefinition(); $this->_xhtml = $this->_def->doctype->xml; } @@ -86,9 +98,11 @@ class HTMLPurifier_Generator } // Normalize newlines to system defined value - $nl = $this->config->get('Output.Newline'); - if ($nl === null) $nl = PHP_EOL; - if ($nl !== "\n") $html = str_replace("\n", $nl, $html); + if ($this->config->get('Core.NormalizeNewlines')) { + $nl = $this->config->get('Output.Newline'); + if ($nl === null) $nl = PHP_EOL; + if ($nl !== "\n") $html = str_replace("\n", $nl, $html); + } return $html; } @@ -104,12 +118,41 @@ class HTMLPurifier_Generator } elseif ($token instanceof HTMLPurifier_Token_Start) { $attr = $this->generateAttributes($token->attr, $token->name); + if ($this->_flashCompat) { + if ($token->name == "object") { + $flash = new stdclass(); + $flash->attr = $token->attr; + $flash->param = array(); + $this->_flashStack[] = $flash; + } + } return '<' . $token->name . ($attr ? ' ' : '') . $attr . '>'; } elseif ($token instanceof HTMLPurifier_Token_End) { - return 'name . '>'; + $_extra = ''; + if ($this->_flashCompat) { + if ($token->name == "object" && !empty($this->_flashStack)) { + $flash = array_pop($this->_flashStack); + $compat_token = new HTMLPurifier_Token_Empty("embed"); + foreach ($flash->attr as $name => $val) { + if ($name == "classid") continue; + if ($name == "type") continue; + if ($name == "data") $name = "src"; + $compat_token->attr[$name] = $val; + } + foreach ($flash->param as $name => $val) { + if ($name == "movie") $name = "src"; + $compat_token->attr[$name] = $val; + } + $_extra = ""; + } + } + return $_extra . 'name . '>'; } elseif ($token instanceof HTMLPurifier_Token_Empty) { + if ($this->_flashCompat && $token->name == "param" && !empty($this->_flashStack)) { + $this->_flashStack[count($this->_flashStack)-1]->param[$token->attr['name']] = $token->attr['value']; + } $attr = $this->generateAttributes($token->attr, $token->name); return '<' . $token->name . ($attr ? ' ' : '') . $attr . ( $this->_xhtml ? ' /': '' ) //
    v.
    @@ -174,7 +217,10 @@ class HTMLPurifier_Generator * permissible for non-attribute output. * @return String escaped data. */ - public function escape($string, $quote = ENT_COMPAT) { + public function escape($string, $quote = null) { + // Workaround for APC bug on Mac Leopard reported by sidepodcast + // http://htmlpurifier.org/phorum/read.php?3,4823,4846 + if ($quote === null) $quote = ENT_COMPAT; return htmlspecialchars($string, $quote, 'UTF-8'); } diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLDefinition.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLDefinition.php similarity index 97% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLDefinition.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLDefinition.php index 0195ce4c..f775604a 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLDefinition.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLDefinition.php @@ -300,7 +300,12 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition unset($allowed_attributes_mutable[$key]); } } - if ($delete) unset($this->info[$tag]->attr[$attr]); + if ($delete) { + if ($this->info[$tag]->attr[$attr]->required) { + trigger_error("Required attribute '$attr' in element '$tag' was not allowed, which means '$tag' will not be allowed either", E_USER_WARNING); + } + unset($this->info[$tag]->attr[$attr]); + } } } // emit errors diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Bdo.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Bdo.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Bdo.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Bdo.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/CommonAttributes.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/CommonAttributes.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/CommonAttributes.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/CommonAttributes.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Edit.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Edit.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Edit.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Edit.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Forms.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Forms.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Forms.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Forms.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Hypertext.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Hypertext.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Hypertext.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Hypertext.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Image.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Image.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Image.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Image.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Legacy.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Legacy.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Legacy.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Legacy.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/List.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/List.php similarity index 85% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/List.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/List.php index db2d5324..2911a69b 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/List.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/List.php @@ -20,8 +20,10 @@ class HTMLPurifier_HTMLModule_List extends HTMLPurifier_HTMLModule public $content_sets = array('Flow' => 'List'); public function setup($config) { - $this->addElement('ol', 'List', 'Required: li', 'Common'); - $this->addElement('ul', 'List', 'Required: li', 'Common'); + $ol = $this->addElement('ol', 'List', 'Required: li', 'Common'); + $ol->wrap = "li"; + $ul = $this->addElement('ul', 'List', 'Required: li', 'Common'); + $ul->wrap = "li"; $this->addElement('dl', 'List', 'Required: dt | dd', 'Common'); $this->addElement('li', false, 'Flow', 'Common'); diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Name.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Name.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Name.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Name.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Object.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Object.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Object.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Object.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Presentation.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Presentation.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Presentation.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Presentation.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Proprietary.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Proprietary.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Proprietary.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Proprietary.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Ruby.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Ruby.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Ruby.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Ruby.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/SafeEmbed.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/SafeEmbed.php similarity index 96% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/SafeEmbed.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/SafeEmbed.php index 1fd57145..7f602317 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/SafeEmbed.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/SafeEmbed.php @@ -20,6 +20,7 @@ class HTMLPurifier_HTMLModule_SafeEmbed extends HTMLPurifier_HTMLModule 'height' => 'Pixels#' . $max, 'allowscriptaccess' => 'Enum#never', 'allownetworking' => 'Enum#internal', + 'flashvars' => 'Text', 'wmode' => 'Enum#window', 'name' => 'ID', ) diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/SafeObject.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/SafeObject.php similarity index 83% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/SafeObject.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/SafeObject.php index 4378d2c6..d3de4f47 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/SafeObject.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/SafeObject.php @@ -28,7 +28,10 @@ class HTMLPurifier_HTMLModule_SafeObject extends HTMLPurifier_HTMLModule 'type' => 'Enum#application/x-shockwave-flash', 'width' => 'Pixels#' . $max, 'height' => 'Pixels#' . $max, - 'data' => 'URI#embedded' + 'data' => 'URI#embedded', + 'classid' => 'Enum#clsid:d27cdb6e-ae6d-11cf-96b8-444553540000', + 'codebase' => new HTMLPurifier_AttrDef_Enum(array( + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0')), ) ); $object->attr_transform_post[] = new HTMLPurifier_AttrTransform_SafeObject(); diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Scripting.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Scripting.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Scripting.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Scripting.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/StyleAttribute.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/StyleAttribute.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/StyleAttribute.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/StyleAttribute.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tables.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tables.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tables.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tables.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Target.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Target.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Target.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Target.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Text.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Text.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Text.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Text.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Name.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Name.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Name.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Name.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Proprietary.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Proprietary.php similarity index 91% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Proprietary.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Proprietary.php index f6aa6b03..d043aa72 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Proprietary.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Proprietary.php @@ -15,6 +15,7 @@ class HTMLPurifier_HTMLModule_Tidy_Proprietary extends HTMLPurifier_HTMLModule_T $r['thead@background'] = new HTMLPurifier_AttrTransform_Background(); $r['tfoot@background'] = new HTMLPurifier_AttrTransform_Background(); $r['tbody@background'] = new HTMLPurifier_AttrTransform_Background(); + $r['table@height'] = new HTMLPurifier_AttrTransform_Length('height'); return $r; } diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Strict.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Strict.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Strict.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Strict.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Transitional.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Transitional.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Transitional.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Transitional.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/XHTML.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/XHTML.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/XHTML.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/XHTML.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/XMLCommonAttributes.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/XMLCommonAttributes.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/XMLCommonAttributes.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/XMLCommonAttributes.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModuleManager.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModuleManager.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModuleManager.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModuleManager.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/IDAccumulator.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/IDAccumulator.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/IDAccumulator.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/IDAccumulator.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/AutoParagraph.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/AutoParagraph.php similarity index 95% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/AutoParagraph.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/AutoParagraph.php index c5444dbe..72152d81 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/AutoParagraph.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/AutoParagraph.php @@ -34,16 +34,21 @@ class HTMLPurifier_Injector_AutoParagraph extends HTMLPurifier_Injector // ---- // This is a degenerate case } else { - // State 1.2: PAR1 - // ---- + if (!$token->is_whitespace || $this->_isInline($current)) { + // State 1.2: PAR1 + // ---- - // State 1.3: PAR1\n\nPAR2 - // ------------ + // State 1.3: PAR1\n\nPAR2 + // ------------ - // State 1.4:
    PAR1\n\nPAR2 (see State 2) - // ------------ - $token = array($this->_pStart()); - $this->_splitText($text, $token); + // State 1.4:
    PAR1\n\nPAR2 (see State 2) + // ------------ + $token = array($this->_pStart()); + $this->_splitText($text, $token); + } else { + // State 1.5: \n
    + // -- + } } } else { // State 2:
    PAR1... (similar to 1.4) diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/DisplayLinkURI.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/DisplayLinkURI.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/DisplayLinkURI.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/DisplayLinkURI.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/Linkify.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/Linkify.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/Linkify.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/Linkify.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/PurifierLinkify.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/PurifierLinkify.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/PurifierLinkify.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/PurifierLinkify.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/RemoveEmpty.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/RemoveEmpty.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/RemoveEmpty.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/RemoveEmpty.php diff --git a/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php new file mode 100644 index 00000000..509d5dc7 --- /dev/null +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php @@ -0,0 +1,60 @@ +attrValidator = new HTMLPurifier_AttrValidator(); + $this->config = $config; + $this->context = $context; + return parent::prepare($config, $context); + } + + public function handleElement(&$token) { + if ($token->name !== 'span' || !$token instanceof HTMLPurifier_Token_Start) { + return; + } + + // We need to validate the attributes now since this doesn't normally + // happen until after MakeWellFormed. If all the attributes are removed + // the span needs to be removed too. + $this->attrValidator->validateToken($token, $this->config, $this->context); + $token->armor['ValidateAttributes'] = true; + + if (!empty($token->attr)) { + return; + } + + $nesting = 0; + $spanContentTokens = array(); + while ($this->forwardUntilEndToken($i, $current, $nesting)) {} + + if ($current instanceof HTMLPurifier_Token_End && $current->name === 'span') { + // Mark closing span tag for deletion + $current->markForDeletion = true; + // Delete open span tag + $token = false; + } + } + + public function handleEnd(&$token) { + if ($token->markForDeletion) { + $token = false; + } + } +} + +// vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/SafeObject.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/SafeObject.php similarity index 93% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/SafeObject.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/SafeObject.php index 42d8fd40..fc01eebc 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/SafeObject.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/SafeObject.php @@ -20,6 +20,9 @@ class HTMLPurifier_Injector_SafeObject extends HTMLPurifier_Injector protected $allowedParam = array( 'wmode' => true, 'movie' => true, + 'flashvars' => true, + 'src' => true, + 'allowFullScreen' => true, // if omitted, assume to be 'false' ); public function prepare($config, $context) { @@ -47,7 +50,8 @@ class HTMLPurifier_Injector_SafeObject extends HTMLPurifier_Injector // We need this fix because YouTube doesn't supply a data // attribute, which we need if a type is specified. This is // *very* Flash specific. - if (!isset($this->objectStack[$i]->attr['data']) && $token->attr['name'] == 'movie') { + if (!isset($this->objectStack[$i]->attr['data']) && + ($token->attr['name'] == 'movie' || $token->attr['name'] == 'src')) { $this->objectStack[$i]->attr['data'] = $token->attr['value']; } // Check if the parameter is the correct value but has not diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/classes/en-x-test.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/classes/en-x-test.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/classes/en-x-test.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/classes/en-x-test.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/messages/en-x-test.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/messages/en-x-test.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/messages/en-x-test.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/messages/en-x-test.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/messages/en-x-testmini.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/messages/en-x-testmini.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/messages/en-x-testmini.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/messages/en-x-testmini.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/messages/en.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/messages/en.php similarity index 98% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/messages/en.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/messages/en.php index 5377e5a3..2c96e307 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/messages/en.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/messages/en.php @@ -23,6 +23,7 @@ $messages = array( 'Lexer: Missing gt' => 'Missing greater-than sign (>), previous less-than sign (<) should be escaped', 'Lexer: Missing attribute key' => 'Attribute declaration has no key', 'Lexer: Missing end quote' => 'Attribute declaration has no end quote', +'Lexer: Extracted body' => 'Removed document metadata tags', 'Strategy_RemoveForeignElements: Tag transform' => '<$1> element transformed into $CurrentToken.Serialized', 'Strategy_RemoveForeignElements: Missing required attribute' => '$CurrentToken.Compact element missing required attribute $1', diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/LanguageFactory.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/LanguageFactory.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/LanguageFactory.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/LanguageFactory.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Length.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Length.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Length.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Length.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer.php similarity index 90% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer.php index 9f20a412..6d6f4864 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer.php @@ -230,6 +230,17 @@ class HTMLPurifier_Lexer ); } + /** + * Special Internet Explorer conditional comments should be removed. + */ + protected static function removeIEConditional($string) { + return preg_replace( + '##si', // probably should generalize for all strings + '', + $string + ); + } + /** * Callback function for escapeCDATA() that does the work. * @@ -252,20 +263,32 @@ class HTMLPurifier_Lexer public function normalize($html, $config, $context) { // normalize newlines to \n - $html = str_replace("\r\n", "\n", $html); - $html = str_replace("\r", "\n", $html); + if ($config->get('Core.NormalizeNewlines')) { + $html = str_replace("\r\n", "\n", $html); + $html = str_replace("\r", "\n", $html); + } if ($config->get('HTML.Trusted')) { // escape convoluted CDATA $html = $this->escapeCommentedCDATA($html); } + $html = $this->removeIEConditional($html); + // escape CDATA $html = $this->escapeCDATA($html); // extract body from document if applicable if ($config->get('Core.ConvertDocumentToFragment')) { - $html = $this->extractBody($html); + $e = false; + if ($config->get('Core.CollectErrors')) { + $e =& $context->get('ErrorCollector'); + } + $new_html = $this->extractBody($html); + if ($e && $new_html != $html) { + $e->send(E_WARNING, 'Lexer: Extracted body'); + } + $html = $new_html; } // expand entities that aren't the big five @@ -276,6 +299,11 @@ class HTMLPurifier_Lexer // represent non-SGML characters (horror, horror!) $html = HTMLPurifier_Encoder::cleanUTF8($html); + // if processing instructions are to removed, remove them now + if ($config->get('Core.RemoveProcessingInstructions')) { + $html = preg_replace('#<\?.+?\?>#s', '', $html); + } + return $html; } diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/DOMLex.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/DOMLex.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/DOMLex.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/DOMLex.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/DirectLex.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/DirectLex.php similarity index 99% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/DirectLex.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/DirectLex.php index eb421b23..b7d9abfa 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/DirectLex.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/DirectLex.php @@ -384,7 +384,7 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer } } if ($value === false) $value = ''; - return array($key => $value); + return array($key => $this->parseData($value)); } // setup loop environment diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/PEARSax3.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/PEARSax3.php similarity index 69% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/PEARSax3.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/PEARSax3.php index 57173455..72c87635 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/PEARSax3.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/PEARSax3.php @@ -26,13 +26,20 @@ class HTMLPurifier_Lexer_PEARSax3 extends HTMLPurifier_Lexer * Internal accumulator array for SAX parsers. */ protected $tokens = array(); + protected $last_token_was_empty; + + private $parent_handler; + private $stack = array(); public function tokenizeHTML($string, $config, $context) { $this->tokens = array(); + $this->last_token_was_empty = false; $string = $this->normalize($string, $config, $context); + $this->parent_handler = set_error_handler(array($this, 'muteStrictErrorHandler')); + $parser = new XML_HTMLSax3(); $parser->set_object($this); $parser->set_element_handler('openHandler','closeHandler'); @@ -44,6 +51,8 @@ class HTMLPurifier_Lexer_PEARSax3 extends HTMLPurifier_Lexer $parser->parse($string); + restore_error_handler(); + return $this->tokens; } @@ -58,9 +67,11 @@ class HTMLPurifier_Lexer_PEARSax3 extends HTMLPurifier_Lexer } if ($closed) { $this->tokens[] = new HTMLPurifier_Token_Empty($name, $attrs); + $this->last_token_was_empty = true; } else { $this->tokens[] = new HTMLPurifier_Token_Start($name, $attrs); } + $this->stack[] = $name; return true; } @@ -71,10 +82,12 @@ class HTMLPurifier_Lexer_PEARSax3 extends HTMLPurifier_Lexer // HTMLSax3 seems to always send empty tags an extra close tag // check and ignore if you see it: // [TESTME] to make sure it doesn't overreach - if ($this->tokens[count($this->tokens)-1] instanceof HTMLPurifier_Token_Empty) { + if ($this->last_token_was_empty) { + $this->last_token_was_empty = false; return true; } $this->tokens[] = new HTMLPurifier_Token_End($name); + if (!empty($this->stack)) array_pop($this->stack); return true; } @@ -82,6 +95,7 @@ class HTMLPurifier_Lexer_PEARSax3 extends HTMLPurifier_Lexer * Data event handler, interface is defined by PEAR package. */ public function dataHandler(&$parser, $data) { + $this->last_token_was_empty = false; $this->tokens[] = new HTMLPurifier_Token_Text($data); return true; } @@ -91,7 +105,18 @@ class HTMLPurifier_Lexer_PEARSax3 extends HTMLPurifier_Lexer */ public function escapeHandler(&$parser, $data) { if (strpos($data, '--') === 0) { - $this->tokens[] = new HTMLPurifier_Token_Comment($data); + // remove trailing and leading double-dashes + $data = substr($data, 2); + if (strlen($data) >= 2 && substr($data, -2) == "--") { + $data = substr($data, 0, -2); + } + if (isset($this->stack[sizeof($this->stack) - 1]) && + $this->stack[sizeof($this->stack) - 1] == "style") { + $this->tokens[] = new HTMLPurifier_Token_Text($data); + } else { + $this->tokens[] = new HTMLPurifier_Token_Comment($data); + } + $this->last_token_was_empty = false; } // CDATA is handled elsewhere, but if it was handled here: //if (strpos($data, '[CDATA[') === 0) { @@ -101,6 +126,14 @@ class HTMLPurifier_Lexer_PEARSax3 extends HTMLPurifier_Lexer return true; } + /** + * An error handler that mutes strict errors + */ + public function muteStrictErrorHandler($errno, $errstr, $errfile=null, $errline=null, $errcontext=null) { + if ($errno == E_STRICT) return; + return call_user_func($this->parent_handler, $errno, $errstr, $errfile, $errline, $errcontext); + } + } // vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/PH5P.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/PH5P.php similarity index 99% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/PH5P.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/PH5P.php index 0d20c0ce..b42965ef 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/PH5P.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/PH5P.php @@ -125,8 +125,6 @@ class HTML5 { const EOF = 5; public function __construct($data) { - $data = str_replace("\r\n", "\n", $data); - $data = str_replace("\r", null, $data); $this->data = $data; $this->char = -1; @@ -3903,4 +3901,4 @@ class HTML5TreeConstructer { return $this->dom; } } - +?> diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/PercentEncoder.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/PercentEncoder.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/PercentEncoder.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/PercentEncoder.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/CSSDefinition.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/CSSDefinition.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/CSSDefinition.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/CSSDefinition.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.css b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.css similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.css rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.css diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.js b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.js similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.js rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.js diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/HTMLDefinition.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/HTMLDefinition.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/HTMLDefinition.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/HTMLDefinition.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/PropertyList.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/PropertyList.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/PropertyList.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/PropertyList.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/PropertyListIterator.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/PropertyListIterator.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/PropertyListIterator.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/PropertyListIterator.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/Composite.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/Composite.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/Composite.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/Composite.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/Core.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/Core.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/Core.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/Core.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/FixNesting.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/FixNesting.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/FixNesting.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/FixNesting.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/MakeWellFormed.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/MakeWellFormed.php similarity index 94% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/MakeWellFormed.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/MakeWellFormed.php index c81b6b7b..03c92bd4 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/MakeWellFormed.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/MakeWellFormed.php @@ -83,6 +83,7 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy $this->injectors[] = $injector; } foreach ($custom_injectors as $injector) { + if (!$injector) continue; if (is_string($injector)) { $injector = "HTMLPurifier_Injector_$injector"; $injector = new $injector; @@ -164,6 +165,7 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy $token = $tokens[$t]; //echo '
    '; printTokens($tokens, $t); printTokens($this->stack); + //flush(); // quick-check: if it's not a tag, no need to process if (empty($token->is_tag)) { @@ -219,6 +221,22 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy $autoclose = false; } + if ($autoclose && $definition->info[$token->name]->wrap) { + // Check if an element can be wrapped by another + // element to make it valid in a context (for + // example,
        needs a
      • in between) + $wrapname = $definition->info[$token->name]->wrap; + $wrapdef = $definition->info[$wrapname]; + $elements = $wrapdef->child->getAllowedElements($config); + $parent_elements = $definition->info[$parent->name]->child->getAllowedElements($config); + if (isset($elements[$token->name]) && isset($parent_elements[$wrapname])) { + $newtoken = new HTMLPurifier_Token_Start($wrapname); + $this->insertBefore($newtoken); + $reprocess = true; + continue; + } + } + $carryover = false; if ($autoclose && $definition->info[$parent->name]->formatting) { $carryover = true; diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/RemoveForeignElements.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/RemoveForeignElements.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/RemoveForeignElements.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/RemoveForeignElements.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/ValidateAttributes.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/ValidateAttributes.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/ValidateAttributes.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/ValidateAttributes.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/StringHash.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/StringHash.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/StringHash.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/StringHash.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/StringHashParser.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/StringHashParser.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/StringHashParser.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/StringHashParser.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/TagTransform.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/TagTransform.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/TagTransform.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/TagTransform.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/TagTransform/Font.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/TagTransform/Font.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/TagTransform/Font.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/TagTransform/Font.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/TagTransform/Simple.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/TagTransform/Simple.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/TagTransform/Simple.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/TagTransform/Simple.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Comment.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Comment.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Comment.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Comment.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Empty.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Empty.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Empty.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Empty.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/End.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/End.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/End.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/End.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Start.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Start.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Start.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Start.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Tag.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Tag.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Tag.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Tag.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Text.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Text.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Text.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Text.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/TokenFactory.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/TokenFactory.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/TokenFactory.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/TokenFactory.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URI.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URI.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URI.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URI.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIDefinition.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIDefinition.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIDefinition.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIDefinition.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/DisableExternal.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/DisableExternal.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/DisableExternal.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/DisableExternal.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/DisableExternalResources.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/DisableExternalResources.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/DisableExternalResources.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/DisableExternalResources.php diff --git a/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/DisableResources.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/DisableResources.php new file mode 100644 index 00000000..e69d970a --- /dev/null +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/DisableResources.php @@ -0,0 +1,11 @@ +get('EmbeddedURI', true); + } +} + +// vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/HostBlacklist.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/HostBlacklist.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/HostBlacklist.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/HostBlacklist.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/MakeAbsolute.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/MakeAbsolute.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/MakeAbsolute.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/MakeAbsolute.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/Munge.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/Munge.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/Munge.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/Munge.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIParser.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIParser.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIParser.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIParser.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme.php diff --git a/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/data.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/data.php new file mode 100644 index 00000000..bc4fb8cd --- /dev/null +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/data.php @@ -0,0 +1,93 @@ + true, + 'image/gif' => true, + 'image/png' => true, + ); + + public function validate(&$uri, $config, $context) { + $result = explode(',', $uri->path, 2); + $is_base64 = false; + $charset = null; + $content_type = null; + if (count($result) == 2) { + list($metadata, $data) = $result; + // do some legwork on the metadata + $metas = explode(';', $metadata); + while(!empty($metas)) { + $cur = array_shift($metas); + if ($cur == 'base64') { + $is_base64 = true; + break; + } + if (substr($cur, 0, 8) == 'charset=') { + // doesn't match if there are arbitrary spaces, but + // whatever dude + if ($charset !== null) continue; // garbage + $charset = substr($cur, 8); // not used + } else { + if ($content_type !== null) continue; // garbage + $content_type = $cur; + } + } + } else { + $data = $result[0]; + } + if ($content_type !== null && empty($this->allowed_types[$content_type])) { + return false; + } + if ($charset !== null) { + // error; we don't allow plaintext stuff + $charset = null; + } + $data = rawurldecode($data); + if ($is_base64) { + $raw_data = base64_decode($data); + } else { + $raw_data = $data; + } + // XXX probably want to refactor this into a general mechanism + // for filtering arbitrary content types + $file = tempnam("/tmp", ""); + file_put_contents($file, $raw_data); + if (function_exists('exif_imagetype')) { + $image_code = exif_imagetype($file); + } elseif (function_exists('getimagesize')) { + set_error_handler(array($this, 'muteErrorHandler')); + $info = getimagesize($file); + restore_error_handler(); + if ($info == false) return false; + $image_code = $info[2]; + } else { + trigger_error("could not find exif_imagetype or getimagesize functions", E_USER_ERROR); + } + $real_content_type = image_type_to_mime_type($image_code); + if ($real_content_type != $content_type) { + // we're nice guys; if the content type is something else we + // support, change it over + if (empty($this->allowed_types[$real_content_type])) return false; + $content_type = $real_content_type; + } + // ok, it's kosher, rewrite what we need + $uri->userinfo = null; + $uri->host = null; + $uri->port = null; + $uri->fragment = null; + $uri->query = null; + $uri->path = "$content_type;base64," . base64_encode($raw_data); + return true; + } + + public function muteErrorHandler($errno, $errstr) {} + +} + diff --git a/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/file.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/file.php new file mode 100644 index 00000000..66c30232 --- /dev/null +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/file.php @@ -0,0 +1,26 @@ +userinfo = null; + // file:// makes no provisions for accessing the resource + $uri->port = null; + // While it seems to work on Firefox, the querystring has + // no possible effect and is thus stripped. + $uri->query = null; + return true; + } + +} + +// vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/ftp.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/ftp.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/ftp.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/ftp.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/http.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/http.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/http.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/http.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/https.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/https.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/https.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/https.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/mailto.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/mailto.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/mailto.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/mailto.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/news.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/news.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/news.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/news.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/nntp.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/nntp.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/nntp.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/nntp.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URISchemeRegistry.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URISchemeRegistry.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URISchemeRegistry.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URISchemeRegistry.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/UnitConverter.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/UnitConverter.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/UnitConverter.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/UnitConverter.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParser.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParser.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParser.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParser.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParser/Flexible.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParser/Flexible.php similarity index 88% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParser/Flexible.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParser/Flexible.php index e5998e5e..dea9f169 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParser/Flexible.php +++ b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParser/Flexible.php @@ -62,7 +62,7 @@ class HTMLPurifier_VarParser_Flexible extends HTMLPurifier_VarParser foreach ($var as $keypair) { $c = explode(':', $keypair, 2); if (!isset($c[1])) continue; - $nvar[$c[0]] = $c[1]; + $nvar[trim($c[0])] = trim($c[1]); } $var = $nvar; } @@ -79,8 +79,15 @@ class HTMLPurifier_VarParser_Flexible extends HTMLPurifier_VarParser return $new; } else break; } + if ($type === self::ALIST) { + trigger_error("Array list did not have consecutive integer indexes", E_USER_WARNING); + return array_values($var); + } if ($type === self::LOOKUP) { foreach ($var as $key => $value) { + if ($value !== true) { + trigger_error("Lookup array has non-true value at key '$key'; maybe your input array was not indexed numerically", E_USER_WARNING); + } $var[$key] = true; } } diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParser/Native.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParser/Native.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParser/Native.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParser/Native.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParserException.php b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParserException.php similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParserException.php rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParserException.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifierLicense b/3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifierLicense similarity index 100% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifierLicense rename to 3.0/modules/purifier/vendor/HTMLPurifier/HTMLPurifierLicense diff --git a/3.0/modules/star/controllers/admin_star.php b/3.0/modules/star/controllers/admin_star.php new file mode 100644 index 00000000..983618f2 --- /dev/null +++ b/3.0/modules/star/controllers/admin_star.php @@ -0,0 +1,52 @@ +page_title = t("Star settings"); + $view->content = new View("admin_star.html"); + $view->content->form = $this->_get_admin_form(); + $view->content->title = $view->page_title; + print $view; + } + + public function save() { + access::verify_csrf(); + $form = $this->_get_admin_form(); + $form->validate(); + module::set_var("star", "show", + $form->show->value); + message::success(t("Star settings updated")); + url::redirect("admin/star"); + } + + private function _get_admin_form() { + $form = new Forge("admin/star/save", "", "post", + array("id" => "g-star-admin-form")); + $form->dropdown("show") + ->label(t("Default to showing...")) + ->options(array(0 => "All",1 => "Starred")) + ->selected(module::get_var("star", "show")); + $form->submit("save")->value(t("Save")); + return $form; + } +} diff --git a/3.0/modules/star/controllers/display.php b/3.0/modules/star/controllers/display.php new file mode 100644 index 00000000..cf2fe805 --- /dev/null +++ b/3.0/modules/star/controllers/display.php @@ -0,0 +1,94 @@ + %title item", array("title" => html::purify($item->title))); + + $this->_check_star_permissions($item); + star::star($item); + message::success($msg); + + json::reply(array("result" => "success", "reload" => 1)); + } + + /** + * Allows the given item to be displayed again. + * + * @param int $id the item id + */ + public function unstar($id) { + $item = model_cache::get("item", $id); + $msg = t("Un-starred %title item", array("title" => html::purify($item->title))); + + $this->_check_star_permissions($item); + star::unstar($item); + message::success($msg); + + json::reply(array("result" => "success", "reload" => 1)); + } + + public function star_only_on() { + //$item = model_cache::get("item", $id); + access::verify_csrf(); + $msg = t("Showing starred items."); + + //$this->_check_star_permissions($item); + star::star_only_on(); + message::success($msg); + + json::reply(array("result" => "success", "reload" => 1)); + } + +public function star_only_off() { + //$item = model_cache::get("item", $id); + access::verify_csrf(); + $msg = t("Showing all items."); + + //$this->_check_star_permissions($item); + star::star_only_off(); + message::success($msg); + + json::reply(array("result" => "success", "reload" => 1)); + } + + /** + * Checks whether the given object can be starred by the active user. + * + * @param Item_Model $item the item + */ + private function _check_star_permissions(Item_Model $item) { + access::verify_csrf(); + + access::required("view", $item); + access::required("edit", $item); + + if (!star::can_star()) { + access::forbidden(); + } + } +} diff --git a/3.0/modules/star/helpers/MY_item.php b/3.0/modules/star/helpers/MY_item.php new file mode 100644 index 00000000..281ea650 --- /dev/null +++ b/3.0/modules/star/helpers/MY_item.php @@ -0,0 +1,34 @@ +join("starred_items", "items.id", "starred_items.item_id", "LEFT OUTER") + ->and_where("starred_items.item_id", "IS", TRUE); + } + + return $model; + } +} diff --git a/3.0/modules/star/helpers/star.php b/3.0/modules/star/helpers/star.php new file mode 100644 index 00000000..db9dc3a1 --- /dev/null +++ b/3.0/modules/star/helpers/star.php @@ -0,0 +1,163 @@ +select_list("id", "name"); + // return array_merge(array(self::NONE => t("Nobody")), $options); + // } + + /** + * Returns the starred_item model related to the given item. + * + * There is an attempt to fetch the model from the database through the model + * cache. If it fails, a new unsaved model is created. + * + * @param Item_Model $item the item + * @return Starred_Item_Model the related starred_item model + */ + static function get_starred_item_model(Item_Model $item) { + try { + $model = model_cache::get("item", $id); + } + catch (Exception $e) { + $model = ORM::factory("starred_item"); + $model->item_id = $item->id; + $model->validate(); + } + + return $model; + } + + static function get_star_user_model() { + $model = ORM::factory("starred_only_user"); + $model->user_id = identity::active_user()->id; + $model->validate(); + return $model; + } + + /** + * Returns whether the given item can be starred. + * + * @param Item_Model $item the item + * @return bool + */ + static function can_be_starred(Item_Model $item) { + if (empty($item)) { + return false; + } + + //if ($item->type == "album") { + // return false; + //} + + return true; + } + + /** + * Returns whether the given item is starred. + * + * @param Item_Model $item the item + * @return bool + */ + static function is_starred(Item_Model $item) { + $model = self::get_starred_item_model($item); + return $model->loaded(); + } + + /** + * Stars the given item. + * + * @param Item_Model $item the item to star + */ + static function star(Item_Model $item) { + if (self::is_starred($item)) { + return; + } + + $starred_item = self::get_starred_item_model($item); + $starred_item->save(); + } + + /** + * Allows the given item to be unstarred. + * + * @param Item_Model $item the item to display + */ + static function unstar(Item_Model $item) { + if (!self::is_starred($item)) { + return; + } + + $starred_item = self::get_starred_item_model($item); + $starred_item->delete(); + } + + static function star_only_on() { + if (self::show_only_starred_items()) { + return; + } + + $star_user = self::get_star_user_model(); + $star_user->save(); + } + static function star_only_off() { + if (!self::show_only_starred_items()) { + return; + } + + $star_user = self::get_star_user_model(); + $star_user->delete(); + } + + /** + * Returns whether the active user shows only starred items. + * + * @return bool + */ + static function show_only_starred_items() { + $model = self::get_star_user_model(); + return $model->loaded(); + } + + /** + * Returns whether the active user can star any items. + * + * @return bool + */ + static function can_star() { + if (identity::active_user()->admin) { + return true; + } + + return false; + } +} diff --git a/3.0/modules/star/helpers/star_block.php b/3.0/modules/star/helpers/star_block.php new file mode 100644 index 00000000..12407900 --- /dev/null +++ b/3.0/modules/star/helpers/star_block.php @@ -0,0 +1,51 @@ + t("Star Item")); + } + + static function get($block_id, $theme) { + $item = $theme->item; + switch ($block_id) { + case "star": + + // If Item is movie then... + //if ($item && $item->is_movie() && access::can("view_full", $item)) { + $block = new Block(); + $block->css_id = "g-star-options"; + $block->title = t("Star"); + $block->content = new View("star_block.html"); + return $block; + //} + + // If Item is photo then... + //if ($item && $item->is_photo() && access::can("view_full", $item)) { + // $block = new Block(); + // $block->css_id = "g-download-fullsize"; + // $block->title = t("Download Photo"); + // $block->content = new View("downloadfullsize_block.html"); + // return $block; + //} + } + return ""; + } + +} diff --git a/3.0/modules/star/helpers/star_event.php b/3.0/modules/star/helpers/star_event.php new file mode 100644 index 00000000..e033c41a --- /dev/null +++ b/3.0/modules/star/helpers/star_event.php @@ -0,0 +1,91 @@ +get("settings_menu") + ->append(Menu::factory("link") + ->label(t("Star")) + ->url(url::site("admin/star"))); + } + + static function site_menu($menu, $theme, $item_css_selector) { + $item = $theme->item(); + + if (!empty($item) && star::can_be_starred($item) && star::can_star($item)) { + $csrf = access::csrf_token(); + $link = self::_get_star_link_data($item); + + $menu->get("options_menu") + ->append(Menu::factory("ajax_link") + ->label($link["text"]) + ->ajax_handler("function(data) { window.location.reload() }") + ->url(url::site("display/".$link["action"]."/$item->id?csrf=$csrf"))); + } + } + + static function context_menu($menu, $theme, $item, $thumb_css_selector) { + if (star::can_be_starred($item) && star::can_star($item)) { + $csrf = access::csrf_token(); + $link = self::_get_star_link_data($item); + + $menu + ->get("options_menu") + ->append(Menu::factory("ajax_link") + ->label($link["text"]) + ->ajax_handler("function(data) { window.location.reload() }") + ->url(url::site("display/".$link["action"]."/$item->id?csrf=$csrf"))); + } + } + + /** + * Returns some data used to create a star link. + * + * @param Item_Model $item the related item + * @return array + */ + private static function _get_star_link_data(Item_Model $item) { + if (star::is_starred($item)) { + $action = "unstar"; + $action_label = "Unstar"; + } + else { + $action = "star"; + $action_label = "Star"; + } + + switch ($item->type) { + case "movie": + $item_type_label = "movie"; + break; + case "album": + $item_type_label = "album"; + break; + default: + $item_type_label = "photo"; + break; + } + + $label = t("$action_label this $item_type_label"); + + return array("text" => $label, "action" => $action); + } +} diff --git a/3.0/modules/star/helpers/star_installer.php b/3.0/modules/star/helpers/star_installer.php new file mode 100644 index 00000000..ab260c67 --- /dev/null +++ b/3.0/modules/star/helpers/star_installer.php @@ -0,0 +1,43 @@ +query("CREATE TABLE IF NOT EXISTS {starred_items} ( + `item_id` int(9) NOT NULL, + PRIMARY KEY (`item_id`)) + DEFAULT CHARSET=utf8;"); + $db->query("CREATE TABLE IF NOT EXISTS {starred_only_users} ( + `user_id` int(9) NOT NULL, + PRIMARY KEY (`user_id`)) + DEFAULT CHARSET=utf8;"); + + module::set_var("star", "access_permissions", 0); + module::set_version("star", 1); + } + + static function uninstall() { + $db = Database::instance(); + $db->query("DROP TABLE IF EXISTS {starred_items};"); + $db->query("DROP TABLE IF EXISTS {starred_only_users};"); + } +} diff --git a/3.0/modules/star/helpers/star_theme.php b/3.0/modules/star/helpers/star_theme.php new file mode 100755 index 00000000..3a0a345e --- /dev/null +++ b/3.0/modules/star/helpers/star_theme.php @@ -0,0 +1,23 @@ + +
        +

        +
        + +
        +
        diff --git a/3.0/modules/star/views/star_block.html.php b/3.0/modules/star/views/star_block.html.php new file mode 100644 index 00000000..b76c5470 --- /dev/null +++ b/3.0/modules/star/views/star_block.html.php @@ -0,0 +1,141 @@ + + +item->is_photo()) { ?> +item)) { ?> + + + + + + + + +item->is_photo()) { ?> +item)) { ?> + + + + + + + + + +item)) { ?> + + + + + + + + + + + +
        + + + +" + class="g-button ui-icon-left ui-state-default ui-corner-all"> +
        + + + + +
        + + + +" + class="g-button ui-icon-left ui-state-default ui-corner-all"> +
        + + + + + + + + diff --git a/3.1/modules/about_this_album/helpers/about_this_album_block.php b/3.1/modules/about_this_album/helpers/about_this_album_block.php new file mode 100644 index 00000000..a2a849e5 --- /dev/null +++ b/3.1/modules/about_this_album/helpers/about_this_album_block.php @@ -0,0 +1,76 @@ + t("About This Album")); + } + + static function get($block_id, $theme) { + switch ($block_id) { + case "aboutthisalbum": + $item = $theme->item; + if ((!$item) or (!$theme->item->is_album())) { + return ""; + } + if ($theme->item->is_album()) { + $block = new Block(); + $block->css_id = "g-about-this-album"; + $block->content = new View("about_this_album.html"); + + if ($theme->item()->id == item::root()->id) { + $block->title = t("About this Site"); + $block->content->album_count = ORM::factory("item")->where("type", "=", "album")->where("id", "<>", 1)->count_all(); + $block->content->photo_count = ORM::factory("item")->where("type", "=", "photo")->count_all(); + $block->content->vcount = Database::instance()->query("SELECT SUM({items}.view_count) as c FROM {items} WHERE type=\"photo\"")->current()->c; + } Else { + $block->title = t("About this Album"); + $block->content->album_count = $item->descendants_count(array(array("type", "=", "album"))); + $block->content->photo_count = $item->descendants_count(array(array("type", "=", "photo"))); + // $block->content->vcount= $theme->item()->view_count; + $descds = $item->descendants(); + $descds_view = 0; + foreach ($descds as $descd) { + if ($descd->is_photo()) { + $descds_view += $descd->view_count; + } + } + $block->content->vcount = $descds_view; + if ($item->description) { + $block->content->description = html::clean($item->description); + } + } + + + $all_tags = ORM::factory("tag") + ->join("items_tags", "items_tags.tag_id", "tags.id") + ->join("items", "items.id", "items_tags.item_id", "LEFT") + ->where("items.parent_id", "=", $item->id) + ->order_by("tags.id", "ASC") + ->find_all(); + if (count($all_tags) > 0) { + $block->content->all_tags = $all_tags; + } + } + break; + } + return $block; + } +} diff --git a/3.1/modules/about_this_album/module.info b/3.1/modules/about_this_album/module.info new file mode 100644 index 00000000..8080a24d --- /dev/null +++ b/3.1/modules/about_this_album/module.info @@ -0,0 +1,3 @@ +name = "About this Album" +description = "Show some simple, specific and useful info about a given album" +version = 1 diff --git a/3.1/modules/about_this_album/views/about_this_album.html.php b/3.1/modules/about_this_album/views/about_this_album.html.php new file mode 100644 index 00000000..01dee4f7 --- /dev/null +++ b/3.1/modules/about_this_album/views/about_this_album.html.php @@ -0,0 +1,68 @@ + + + diff --git a/3.1/modules/about_this_photo/helpers/about_this_photo_block.php b/3.1/modules/about_this_photo/helpers/about_this_photo_block.php index c1adb174..808d19bd 100644 --- a/3.1/modules/about_this_photo/helpers/about_this_photo_block.php +++ b/3.1/modules/about_this_photo/helpers/about_this_photo_block.php @@ -27,6 +27,10 @@ class about_this_photo_block_Core { $block = new Block(); switch ($block_id) { case "simple": + $item = $theme->item; + if ((!$item) or (!$item->is_photo())) { + return ""; + } $block->css_id = "g-about-this-photo"; $block->title = t("About this photo"); $block->content = new View("about_this_photo.html"); @@ -37,11 +41,25 @@ class about_this_photo_block_Core { if ($exif->loaded()) { $exif = unserialize($exif->data); $timestamp = strtotime($exif["DateTime"]); - $block->content->date = gallery::date($timestamp); + //$block->content->date = gallery::date($timestamp); + $block->content->date = date('D j M Y', $timestamp); $block->content->time = gallery::time($timestamp); } } + $block->content->vcount = $theme->item()->view_count; + + // IPTC - copied more or less from iptc.php + if (module::is_active("iptc")) { + $record = ORM::factory("iptc_record")->where("item_id", "=", $theme->item()->id)->find(); + if ($record->loaded()) { + $record = unserialize($record->data); + $block->content->name = $record["ObjectName"]; + $block->content->caption = $record["Caption"]; + + } + } + if (module::is_active("tag")) { $block->content->tags = tag::item_tags($theme->item()); } @@ -49,4 +67,5 @@ class about_this_photo_block_Core { } return $block; } -} \ No newline at end of file +} + diff --git a/3.1/modules/about_this_photo/module.info b/3.1/modules/about_this_photo/module.info index 6943685e..e324ae3b 100644 --- a/3.1/modules/about_this_photo/module.info +++ b/3.1/modules/about_this_photo/module.info @@ -1,3 +1,3 @@ name = "About this Photo" description = "Show some simple, specific and useful info about a given photo" -version = 1 +version = 3 diff --git a/3.1/modules/about_this_photo/views/about_this_photo.html.php b/3.1/modules/about_this_photo/views/about_this_photo.html.php index aa91c578..f0ef130a 100644 --- a/3.1/modules/about_this_photo/views/about_this_photo.html.php +++ b/3.1/modules/about_this_photo/views/about_this_photo.html.php @@ -1,17 +1,34 @@ - +
        + +
    diff --git a/3.1/modules/albumtree/views/albumtree_block_list.html.php b/3.1/modules/albumtree/views/albumtree_block_list.html.php index 43db3a24..0e2cdb6d 100644 --- a/3.1/modules/albumtree/views/albumtree_block_list.html.php +++ b/3.1/modules/albumtree/views/albumtree_block_list.html.php @@ -34,5 +34,5 @@ -
    + diff --git a/3.1/modules/captionator/controllers/captionator.php b/3.1/modules/captionator/controllers/captionator.php index 007ee86f..231f4248 100644 --- a/3.1/modules/captionator/controllers/captionator.php +++ b/3.1/modules/captionator/controllers/captionator.php @@ -30,6 +30,18 @@ class Captionator_Controller extends Controller { $v = new Theme_View("page.html", "collection", "captionator"); $v->content = new View("captionator_dialog.html"); $v->content->album = $album; + $v->content->enable_tags = module::is_active("tag"); + if ($v->content->enable_tags) { + $v->content->tags = array(); + foreach ($album->viewable()->children() as $child) { + $item = ORM::factory("item", $child->id); + $tag_names = array(); + foreach (tag::item_tags($item) as $tag) { + $tag_names[] = $tag->name; + } + $v->content->tags[$child->id] = implode(", ", $tag_names); + } + } print $v; } @@ -42,12 +54,23 @@ class Captionator_Controller extends Controller { if (Input::instance()->post("save")) { $titles = Input::instance()->post("title"); $descriptions = Input::instance()->post("description"); + $tags = Input::instance()->post("tags"); + $enable_tags = module::is_active("tag"); foreach (array_keys($titles) as $id) { $item = ORM::factory("item", $id); if ($item->loaded() && access::can("edit", $item)) { $item->title = $titles[$id]; $item->description = $descriptions[$id]; $item->save(); + if ($enable_tags) { + tag::clear_all($item); + foreach (explode(",", $tags[$id]) as $tag_name) { + if ($tag_name) { + tag::add($item, trim($tag_name)); + } + } + tag::compact(); + } } } message::success(t("Captions saved")); diff --git a/3.1/modules/captionator/views/captionator_dialog.html.php b/3.1/modules/captionator/views/captionator_dialog.html.php index b74be58d..317873ee 100644 --- a/3.1/modules/captionator/views/captionator_dialog.html.php +++ b/3.1/modules/captionator/views/captionator_dialog.html.php @@ -1,5 +1,11 @@
    + id}") ?>" method="post" id="g-captionator-form">
    @@ -23,6 +29,12 @@ + +
  • + + +
  • + diff --git a/3.1/modules/ecard/helpers/ecard_block.php b/3.1/modules/ecard/helpers/ecard_block.php index 051c55c6..89e818d7 100644 --- a/3.1/modules/ecard/helpers/ecard_block.php +++ b/3.1/modules/ecard/helpers/ecard_block.php @@ -28,7 +28,7 @@ class ecard_block_Core { case "ecard": if ($theme->item() && $theme->item()->is_photo() && module::get_var("ecard", "location") == "sidebar") { $block = new Block(); - $block->css_id = "g-send-ecard"; + $block->css_id = "g-sendecard"; $block->title = t("eCard"); $block->content = new View("ecard_block.html"); } diff --git a/3.1/modules/ecard/helpers/ecard_installer.php b/3.1/modules/ecard/helpers/ecard_installer.php index d9887094..a9a6934f 100644 --- a/3.1/modules/ecard/helpers/ecard_installer.php +++ b/3.1/modules/ecard/helpers/ecard_installer.php @@ -25,6 +25,6 @@ class ecard_installer { "Click the image to be taken to the gallery."); module::set_var("ecard", "bcc", ""); module::set_var("ecard", "access_permissions", "everybody"); - module::set_version("ecard", 4); + module::set_version("ecard", 5); } } diff --git a/3.1/modules/ecard/module.info b/3.1/modules/ecard/module.info index 95c8f6a4..407ebd68 100644 --- a/3.1/modules/ecard/module.info +++ b/3.1/modules/ecard/module.info @@ -1,4 +1,4 @@ name = "E-Card" description = "Send a photo as a postcard" -version = 4 +version = 5 diff --git a/3.1/modules/ecard/views/ecard_block.html.php b/3.1/modules/ecard/views/ecard_block.html.php index 3f307a1d..d8aa4e4e 100644 --- a/3.1/modules/ecard/views/ecard_block.html.php +++ b/3.1/modules/ecard/views/ecard_block.html.php @@ -1,6 +1,6 @@ -id}") ?>" id="g-send-ecard" +id}") ?>" class="g-dialog-link g-button ui-state-default ui-corner-all"> - + diff --git a/3.1/modules/moduleupdates/controllers/admin_moduleupdates.php b/3.1/modules/moduleupdates/controllers/admin_moduleupdates.php index ee74c90d..8c06c351 100755 --- a/3.1/modules/moduleupdates/controllers/admin_moduleupdates.php +++ b/3.1/modules/moduleupdates/controllers/admin_moduleupdates.php @@ -16,7 +16,6 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ - class Admin_Moduleupdates_Controller extends Admin_Controller { /** @@ -44,15 +43,10 @@ class Admin_Moduleupdates_Controller extends Admin_Controller { $view->page_title = t("Gallery 3 :: Manage Module Updates"); $view->content = new View("admin_moduleupdates.html"); - $devDebug = false; - $refreshCache = false; + $refreshCache = false; $cache = unserialize(Cache::instance()->get("moduleupdates_cache")); - $cache_updates = unserialize(Cache::instance()->get("moduleupdates_cache_updates")); - - //--------------------------------------------------------------------------------------------- - //echo 'Message 01: ' .$cache_updates . '
    '; - //--------------------------------------------------------------------------------------------- + $cache_updates = unserialize(Cache::instance()->get("moduleupdates_cache_updates")); //if someone pressed the button to refresh now if (request::method() == "post") { @@ -78,7 +72,6 @@ class Admin_Moduleupdates_Controller extends Admin_Controller { } } catch (Exception $e) { - //echo 'Message: ' .$e->getMessage() . '
    '; } //Check the ability to access the Google $Google = null; @@ -91,71 +84,82 @@ class Admin_Moduleupdates_Controller extends Admin_Controller { } } catch (Exception $e) { - //echo 'Message: ' .$e->getMessage() . '
    '; } + $update_count = 0; + if($refreshCache == true){ foreach (module::available() as $this_module_name => $module_info) { + + $font_color_local = "black"; + $core_version = ''; + $core_server = ''; + $core_dlink = ''; + $font_color_core = "black"; + $contrib_version = ''; + $contrib_server = ''; + $contrib_dlink = ''; + $font_color_contrib = "black"; + $gh_version = ''; + $gh_server = ''; + $gh_dlink = ''; + $font_color_gh = "black"; - //example code for setting cache values - //Cache::instance()->set($key, "$log{$msg}", array("task", "log", "import"), 2592000); - //example delete cache - //Cache::instance()->delete("update_l10n_cache:{$task->id}"); - //example for reading cache - //$log = Cache::instance()->get($key); - $remote_version = ''; - $remote_server = ''; - $update_count = 0; - list ($remote_version, $remote_server) = $this->get_remote_module_version($this_module_name, $devDebug); + $font_color_local = $this->get_local_module_version_color ($module_info->version, $module_info->code_version); + list ($core_version, $core_server) = $this->get_remote_module_version($this_module_name, "CORE"); + $font_color_core = $this->get_module_version_color ($module_info->version, $module_info->code_version, $core_version); + list ($contrib_version, $contrib_server) = $this->get_remote_module_version($this_module_name, "CONTRIB"); + $font_color_contrib = $this->get_module_version_color ($module_info->version, $module_info->code_version, $contrib_version); + list ($gh_version, $gh_server) = $this->get_remote_module_version($this_module_name, "GH"); + $font_color_gh = $this->get_module_version_color ($module_info->version, $module_info->code_version, $gh_version); - $font_color = "black"; - //BLUE - DNE: Does Not Exist, this module was not found - if ($remote_version == "DNE") { - $font_color = "blue"; - //PINK - Your installed version is newer than file version - } else if ($module_info->version != '' and $module_info->code_version < $module_info->version) { - $font_color = "pink"; - //ORANGE - Your file version is newer than the installed version - } else if ($module_info->version != '' and $module_info->code_version > $module_info->version) { - $font_color = "orange"; - //GREEN - Your version is newer than the GitHub - } else if ($remote_version < $module_info->code_version or ($module_info->version != '' - and $remote_version < $module_info->version)) { - $font_color = "green"; - //RED - Your version is older than the GitHub - } else if ($remote_version > $module_info->code_version or ($module_info->version != '' - and $remote_version > $module_info->version)) { - $font_color = "red"; + if($font_color_core == "red" or $font_color_contrib == "red" or $font_color_gh == "red"){ $update_count++; - /* - if($remote_server == "(G3)"){ - $module_info->name = "".$module_info->name.""; - }else if($remote_server == "(G3CC)"){ - $module_info->name = "".$module_info->name.""; - }else if($remote_server == "(brentil)"){ - $module_info->name = "".$module_info->name.""; - } - */ } $module_info->name = "".$module_info->name.""; + if (is_numeric($core_version)) { + if($core_version > $module_info->version) { + $core_dlink = "http://github.com/gallery/gallery3/tree/master/modules/".$this_module_name; + } + } + + if (is_numeric($contrib_version)) { + if($contrib_version > $module_info->version) { + $contrib_dlink = "http://github.com/gallery/gallery3-contrib/tree/master/". + substr_replace(gallery::VERSION,"",strpos(gallery::VERSION," ")) ."/modules/".$this_module_name; + } + } + + if (is_numeric($gh_version)) { + if($gh_version > $module_info->version) { + $this_gm_repo = str_replace(".","",substr_replace(gallery::VERSION,"",strpos(gallery::VERSION," "))); + if($this_gm_repo == "30"){ + $gh_dlink = "http://www.gallerymodules.com/update/".$this_module_name; + } else { + $gh_dlink = "http://www.gallerymodules.com/update".this_gm_repo."/".$this_module_name; + } + + } + } + //populate the list fo modules and their data $cache->$this_module_name = array ("name" => $module_info->name, "locked" => $module_info->locked, "code_version" => $module_info->code_version, "active" => $module_info->active, "version" => $module_info->version,"description" => $module_info->description, - "remote_version" => $remote_version, "remote_server" => $remote_server, "font_color" => $font_color); + "core_version" => $core_version, "core_server" => $core_server, "font_color_core" => $font_color_core, + "contrib_version" => $contrib_version, "contrib_server" => $contrib_server, "font_color_contrib" => $font_color_contrib, + "gh_version" => $gh_version, "gh_server" => $gh_server, "font_color_gh" => $font_color_gh, + "font_color_local" => $font_color_local, "core_dlink" => $core_dlink, "contrib_dlink" => $contrib_dlink, + "gh_dlink" => $gh_dlink); } //Define right now as YYYY.MM.DD HH:MM with the # of updates that are out of date $cache_updates = array("date" => date("Y.m.d - H:i"), "updates" => $update_count); - - //--------------------------------------------------------------------------------------------- - //echo 'Message 02: ' .$cache_updates . '
    '; - //--------------------------------------------------------------------------------------------- - + //Write out the new data to cache with a 30 day expiration & 0 for update data so it's always present Cache::instance()->set("moduleupdates_cache", serialize($cache), array("ModuleUpdates"), 30*86400); Cache::instance()->set("moduleupdates_cache_updates", serialize($cache_updates), array("ModuleUpdates"), null); @@ -167,12 +171,59 @@ class Admin_Moduleupdates_Controller extends Admin_Controller { $view->content->csrf = access::csrf_token(); $view->content->Google = $Google; $view->content->GitHub = $GitHub; + $view->content->Gallery_Version = substr_replace(gallery::VERSION,"",strpos(gallery::VERSION," ")); print $view; } + /** + * + **/ + private function get_module_version_color ($version, $code_version, $remote_version) { + + $font_color = "black"; + + //BLACK - no module version detected + if ($remote_version == "") { + $font_color = "black"; + //BLUE - DNE: Does Not Exist, this module was not found + } else if ($remote_version == "DNE") { + $font_color = "blue"; + //GREEN - Your version is newer than the GitHub + } else if ($remote_version < $code_version or ($version != '' + and $remote_version < $version)) { + $font_color = "green"; + //RED - Your version is older than the GitHub + } else if ($remote_version > $code_version or ($version != '' + and $remote_version > $version)) { + $font_color = "red"; + } + + return $font_color; + } + + + /** + * + **/ + private function get_local_module_version_color ($version, $code_version) { + + $font_color = "black"; + + //PINK - Your installed version is newer than file version + if ($version != '' and $code_version < $version) { + $font_color = "pink"; + //ORANGE - Your file version is newer than the installed version + } else if ($version != '' and $code_version > $version) { + $font_color = "orange"; + } + + return $font_color; + } + + /** * Parses the known GitHub repositories for new versions of modules. * @@ -182,71 +233,88 @@ class Admin_Moduleupdates_Controller extends Admin_Controller { * * http://github.com/gallery/gallery3 * http://github.com/gallery/gallery3-contrib + * http://www.gallerymodules.com * * @author brentil - * @param String The folder name of the module to search for on the remote GitHub server - * @return Array An array with the remote module version and the server it was found on. + * @param String - The folder name of the module to search for on the remote GitHub server + * @param String - The remote server to check against + * @return Array - An array with the remote module version and the server it was found on. */ - private function get_remote_module_version ($module_name, $devDebug) { + private function get_remote_module_version ($module_name, $server_location) { - $version = 'DNE'; + $version = ''; $server = ''; $file = null; - //For development debug only - if ($devDebug == true){ - if ($file == null) { - try { - $file = fopen ("http://github.com/brentil/gallery3-contrib/raw/master/3.1/modules/".$module_name."/module.info", "r"); - if ($file != null) { - $server = '(brentil)'; + switch ($server_location) { + case "CONTRIB": + //Check the Gallery3 Community Contributions GitHub + if ($file == null) { + try { + $file = fopen ("http://github.com/gallery/gallery3-contrib/raw/master/". + substr_replace(gallery::VERSION,"",strpos(gallery::VERSION," "))."/modules/".$module_name."/module.info", "r"); + if ($file != null) { + $server = '(GCC)'; + } + } + catch (Exception $e) { + } } - } - catch (Exception $e) { - //echo 'Message: ' .$e->getMessage() . '
    '; - } - } - } - - //Check the main Gallery3 GitHub - if ($file == null) { - try { - $file = fopen ("http://github.com/gallery/gallery3/raw/master/modules/".$module_name."/module.info", "r"); - if ($file != null) { - $server = '(G3)'; - } - } - catch (Exception $e) { - //echo 'Message: ' .$e->getMessage() . '
    '; - } + break; + case "CORE": + //Check the main Gallery3 GitHub + if ($file == null) { + try { + $file = fopen ("http://github.com/gallery/gallery3/raw/master/modules/".$module_name."/module.info", "r"); + if ($file != null) { + $server = '(G)'; + } + } + catch (Exception $e) { + } + } + break; + case "GH": + //Check GalleryModules.com + if ($file == null) { + try { + $this_gm_repo = str_replace(".","",substr_replace(gallery::VERSION,"",strpos(gallery::VERSION," "))); + if($this_gm_repo == "30"){ + $file = fopen ("http://www.gallerymodules.com/m/".$module_name, "r"); + } else { + $file = fopen ("http://www.gallerymodules.com/".this_gm_repo."m/".$module_name, "r"); + } + if ($file != null) { + $server = '(GH)'; + } + } + catch (Exception $e) { + } + } + break; } - - //Check the Gallery3 Community Contributions GitHub - if ($file == null) { - try { - $file = fopen ("http://github.com/gallery/gallery3-contrib/raw/master/3.1/modules/".$module_name."/module.info", "r"); - if ($file != null) { - $server = '(G3CC)'; - } - } - catch (Exception $e) { - //echo 'Message: ' .$e->getMessage() . '
    '; - } - } - - if ($file != null) { + + if ($file != null) { while (!feof ($file)) { $line = fgets ($file, 1024); - - //Regular expression to find & gather the version number in the remote module.info file - if (preg_match ("@version = (.*)@i", $line, $out)) { - $version = $out[1]; - break; - } + if ($server_location == "GH"){ + //GH stores only the version info + if($line == "Not entered" or $line == "See git") { + $line = ""; + } + $version = $line; + break; + } else { + //Regular expression to find & gather the version number in the remote module.info file + if (preg_match ("@version = (.*)@i", $line, $out)) { + $version = $out[1]; + break; + } + } } fclose ($file); } - return array ($version, $server); - } -} + return array ($version, $server); + } +} \ No newline at end of file diff --git a/3.1/modules/moduleupdates/helpers/moduleupdates_installer.php b/3.1/modules/moduleupdates/helpers/moduleupdates_installer.php index dd0dddb8..911f6b81 100644 --- a/3.1/modules/moduleupdates/helpers/moduleupdates_installer.php +++ b/3.1/modules/moduleupdates/helpers/moduleupdates_installer.php @@ -23,8 +23,8 @@ class moduleupdates_installer { static function install() { $version = module::get_version("moduleupdates"); - if ($version == 0) { - module::set_version("moduleupdates", 2); + if ($version < 1) { + module::set_version("moduleupdates", 5); //Remove the ModuleUpdates cache entry 'JIC' Cache::instance()->delete("ModuleUpdates"); //create the blank ModuleUpdates cache entry with an expiration of 0 days @@ -34,7 +34,7 @@ class moduleupdates_installer { } static function upgrade($version) { - module::set_version("moduleupdates", 2); + module::set_version("moduleupdates", 5); //Remove the ModuleUpdates cache entry 'JIC' Cache::instance()->delete("ModuleUpdates"); //Empty the ModuleUpdates cache entry so our new version starts from scratch @@ -48,4 +48,4 @@ class moduleupdates_installer { Cache::instance()->delete("ModuleUpdates"); module::delete("moduleupdates"); } -} +} \ No newline at end of file diff --git a/3.1/modules/moduleupdates/module.info b/3.1/modules/moduleupdates/module.info index cf43770b..34868eaf 100755 --- a/3.1/modules/moduleupdates/module.info +++ b/3.1/modules/moduleupdates/module.info @@ -1,3 +1,3 @@ name = "Module Updates" description = "Compares your installed module version against the ones stored in the GitHub." -version = 3 +version = 5 \ No newline at end of file diff --git a/3.1/modules/moduleupdates/views/admin_moduleupdates.html.php b/3.1/modules/moduleupdates/views/admin_moduleupdates.html.php index 3fdc06a7..a5dc4a0b 100644 --- a/3.1/modules/moduleupdates/views/admin_moduleupdates.html.php +++ b/3.1/modules/moduleupdates/views/admin_moduleupdates.html.php @@ -2,8 +2,8 @@
    -

    - +

    +
    @@ -16,7 +16,6 @@
  • Green = Your version is newer than the GitHub
    ") ?>
  • Orange = Your file version is newer than the installed version
    ") ?>
  • Pink = Your installed version is newer than file version
    ") ?>
  • -
  • Blue = Does Not Exist/No information available
    ") ?>
  • ") ?>
  • " class="submit" />
  • @@ -25,24 +24,36 @@
      -
    • +
    - - - - + + + + + + "> - - - - + + + + + + + + + + + + + +
    [File/Installed]") ?>
    Installed") ?>
    "; ?> "; ?> "; ?> "; ?> "; ?> *"; } ?> "; } ?> "; ?> *"; } ?> $module_name['code_version']) { echo "".$module_name['core_version']."";} else { echo $module_name['core_version']; } ?> "; } ?> "; ?> *"; } ?> $module_name['version'] or $module_name['core_version'] > $module_name['code_version']) { echo "".$module_name['contrib_version']."";} else { echo $module_name['contrib_version']; } ?> "; } ?> "; ?> *"; } ?> $module_name['version'] or $module_name['core_version'] > $module_name['code_version']) { echo "".$module_name['gh_version']."";} else { echo $module_name['gh_version']; } ?> "; } ?>
    Installed") ?>
    \ No newline at end of file diff --git a/3.1/modules/purifier/helpers/purifier.php b/3.1/modules/purifier/helpers/purifier.php index 97742b50..2af53180 100644 --- a/3.1/modules/purifier/helpers/purifier.php +++ b/3.1/modules/purifier/helpers/purifier.php @@ -21,7 +21,7 @@ class purifier { static function purify($dirty_html) { if (!isset(self::$_purifier)) { - require_once(MODPATH . "purifier/lib/HTMLPurifier/HTMLPurifier.auto.php"); + require_once(MODPATH . "purifier/vendor/HTMLPurifier/HTMLPurifier.auto.php"); $config = HTMLPurifier_Config::createDefault(); foreach (Kohana::config("purifier") as $category => $key_value) { foreach ($key_value as $key => $value) { diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema.ser b/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema.ser deleted file mode 100644 index bbf12f9c..00000000 Binary files a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema.ser and /dev/null differ diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt b/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt deleted file mode 100644 index 888d5581..00000000 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt +++ /dev/null @@ -1,18 +0,0 @@ -HTML.AllowedElements -TYPE: lookup/null -VERSION: 1.3.0 -DEFAULT: NULL ---DESCRIPTION-- -

    - If HTML Purifier's tag set is unsatisfactory for your needs, you - can overload it with your own list of tags to allow. Note that this - method is subtractive: it does its job by taking away from HTML Purifier - usual feature set, so you cannot add a tag that HTML Purifier never - supported in the first place (like embed, form or head). If you - change this, you probably also want to change %HTML.AllowedAttributes. -

    -

    - Warning: If another directive conflicts with the - elements here, that directive will win and override. -

    ---# vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt b/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt deleted file mode 100644 index 32967b88..00000000 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt +++ /dev/null @@ -1,14 +0,0 @@ -HTML.SafeObject -TYPE: bool -VERSION: 3.1.1 -DEFAULT: false ---DESCRIPTION-- -

    - Whether or not to permit object tags in documents, with a number of extra - security features added to prevent script execution. This is similar to - what websites like MySpace do to object tags. You may also want to - enable %HTML.SafeEmbed for maximum interoperability with Internet Explorer, - although embed tags will cause your website to stop validating. - Highly experimental. -

    ---# vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/module.info b/3.1/modules/purifier/module.info index ef14f615..4819b4e5 100644 --- a/3.1/modules/purifier/module.info +++ b/3.1/modules/purifier/module.info @@ -1,3 +1,3 @@ name = "HTML Purifier" description = "Enable XSS protection using HTMLPurifier" -version = 1 +version = 2 diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.auto.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.auto.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.auto.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.auto.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.autoload.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.autoload.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.autoload.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.autoload.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.func.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.func.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.func.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.func.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.includes.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.includes.php similarity index 97% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.includes.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.includes.php index e57f2ab3..08737c20 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.includes.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.includes.php @@ -7,7 +7,7 @@ * primary concern and you are using an opcode cache. PLEASE DO NOT EDIT THIS * FILE, changes will be overwritten the next time the script is run. * - * @version 4.0.0 + * @version 4.2.0 * * @warning * You must *not* include any other HTML Purifier files before this file, @@ -176,6 +176,7 @@ require 'HTMLPurifier/Injector/DisplayLinkURI.php'; require 'HTMLPurifier/Injector/Linkify.php'; require 'HTMLPurifier/Injector/PurifierLinkify.php'; require 'HTMLPurifier/Injector/RemoveEmpty.php'; +require 'HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php'; require 'HTMLPurifier/Injector/SafeObject.php'; require 'HTMLPurifier/Lexer/DOMLex.php'; require 'HTMLPurifier/Lexer/DirectLex.php'; @@ -195,9 +196,12 @@ require 'HTMLPurifier/Token/Start.php'; require 'HTMLPurifier/Token/Text.php'; require 'HTMLPurifier/URIFilter/DisableExternal.php'; require 'HTMLPurifier/URIFilter/DisableExternalResources.php'; +require 'HTMLPurifier/URIFilter/DisableResources.php'; require 'HTMLPurifier/URIFilter/HostBlacklist.php'; require 'HTMLPurifier/URIFilter/MakeAbsolute.php'; require 'HTMLPurifier/URIFilter/Munge.php'; +require 'HTMLPurifier/URIScheme/data.php'; +require 'HTMLPurifier/URIScheme/file.php'; require 'HTMLPurifier/URIScheme/ftp.php'; require 'HTMLPurifier/URIScheme/http.php'; require 'HTMLPurifier/URIScheme/https.php'; diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.kses.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.kses.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.kses.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.kses.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.path.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.path.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier.path.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.path.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.php similarity index 98% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.php index 71e90632..0430ad39 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.php @@ -19,7 +19,7 @@ */ /* - HTML Purifier 4.0.0 - Standards Compliant HTML Filtering + HTML Purifier 4.2.0 - Standards Compliant HTML Filtering Copyright (C) 2006-2008 Edward Z. Yang This library is free software; you can redistribute it and/or @@ -55,10 +55,10 @@ class HTMLPurifier { /** Version of HTML Purifier */ - public $version = '4.0.0'; + public $version = '4.2.0'; /** Constant with version of HTML Purifier */ - const VERSION = '4.0.0'; + const VERSION = '4.2.0'; /** Global configuration object */ public $config; diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.safe-includes.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.safe-includes.php similarity index 97% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.safe-includes.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.safe-includes.php index 5f0e1d8f..899a1f2e 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier.safe-includes.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier.safe-includes.php @@ -170,6 +170,7 @@ require_once $__dir . '/HTMLPurifier/Injector/DisplayLinkURI.php'; require_once $__dir . '/HTMLPurifier/Injector/Linkify.php'; require_once $__dir . '/HTMLPurifier/Injector/PurifierLinkify.php'; require_once $__dir . '/HTMLPurifier/Injector/RemoveEmpty.php'; +require_once $__dir . '/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php'; require_once $__dir . '/HTMLPurifier/Injector/SafeObject.php'; require_once $__dir . '/HTMLPurifier/Lexer/DOMLex.php'; require_once $__dir . '/HTMLPurifier/Lexer/DirectLex.php'; @@ -189,9 +190,12 @@ require_once $__dir . '/HTMLPurifier/Token/Start.php'; require_once $__dir . '/HTMLPurifier/Token/Text.php'; require_once $__dir . '/HTMLPurifier/URIFilter/DisableExternal.php'; require_once $__dir . '/HTMLPurifier/URIFilter/DisableExternalResources.php'; +require_once $__dir . '/HTMLPurifier/URIFilter/DisableResources.php'; require_once $__dir . '/HTMLPurifier/URIFilter/HostBlacklist.php'; require_once $__dir . '/HTMLPurifier/URIFilter/MakeAbsolute.php'; require_once $__dir . '/HTMLPurifier/URIFilter/Munge.php'; +require_once $__dir . '/HTMLPurifier/URIScheme/data.php'; +require_once $__dir . '/HTMLPurifier/URIScheme/file.php'; require_once $__dir . '/HTMLPurifier/URIScheme/ftp.php'; require_once $__dir . '/HTMLPurifier/URIScheme/http.php'; require_once $__dir . '/HTMLPurifier/URIScheme/https.php'; diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrCollections.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrCollections.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrCollections.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrCollections.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef.php similarity index 71% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef.php index 7fac54e8..6f82201e 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef.php @@ -82,6 +82,42 @@ abstract class HTMLPurifier_AttrDef return preg_replace('/rgb\((\d+)\s*,\s*(\d+)\s*,\s*(\d+)\)/', 'rgb(\1,\2,\3)', $string); } + /** + * Parses a possibly escaped CSS string and returns the "pure" + * version of it. + */ + protected function expandCSSEscape($string) { + // flexibly parse it + $ret = ''; + for ($i = 0, $c = strlen($string); $i < $c; $i++) { + if ($string[$i] === '\\') { + $i++; + if ($i >= $c) { + $ret .= '\\'; + break; + } + if (ctype_xdigit($string[$i])) { + $code = $string[$i]; + for ($a = 1, $i++; $i < $c && $a < 6; $i++, $a++) { + if (!ctype_xdigit($string[$i])) break; + $code .= $string[$i]; + } + // We have to be extremely careful when adding + // new characters, to make sure we're not breaking + // the encoding. + $char = HTMLPurifier_Encoder::unichr(hexdec($code)); + if (HTMLPurifier_Encoder::cleanUTF8($char) === '') continue; + $ret .= $char; + if ($i < $c && trim($string[$i]) !== '') $i--; + continue; + } + if ($string[$i] === "\n") continue; + } + $ret .= $string[$i]; + } + return $ret; + } + } // vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/AlphaValue.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/AlphaValue.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/AlphaValue.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/AlphaValue.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Background.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Background.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Background.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Background.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php similarity index 85% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php index e067a754..665321e3 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php @@ -59,7 +59,8 @@ class HTMLPurifier_AttrDef_CSS_BackgroundPosition extends HTMLPurifier_AttrDef $keywords = array(); $keywords['h'] = false; // left, right $keywords['v'] = false; // top, bottom - $keywords['c'] = false; // center + $keywords['ch'] = false; // center (first word) + $keywords['cv'] = false; // center (second word) $measures = array(); $i = 0; @@ -79,6 +80,13 @@ class HTMLPurifier_AttrDef_CSS_BackgroundPosition extends HTMLPurifier_AttrDef $lbit = ctype_lower($bit) ? $bit : strtolower($bit); if (isset($lookup[$lbit])) { $status = $lookup[$lbit]; + if ($status == 'c') { + if ($i == 0) { + $status = 'ch'; + } else { + $status = 'cv'; + } + } $keywords[$status] = $lbit; $i++; } @@ -101,20 +109,19 @@ class HTMLPurifier_AttrDef_CSS_BackgroundPosition extends HTMLPurifier_AttrDef if (!$i) return false; // no valid values were caught - $ret = array(); // first keyword if ($keywords['h']) $ret[] = $keywords['h']; - elseif (count($measures)) $ret[] = array_shift($measures); - elseif ($keywords['c']) { - $ret[] = $keywords['c']; - $keywords['c'] = false; // prevent re-use: center = center center + elseif ($keywords['ch']) { + $ret[] = $keywords['ch']; + $keywords['cv'] = false; // prevent re-use: center = center center } + elseif (count($measures)) $ret[] = array_shift($measures); if ($keywords['v']) $ret[] = $keywords['v']; + elseif ($keywords['cv']) $ret[] = $keywords['cv']; elseif (count($measures)) $ret[] = array_shift($measures); - elseif ($keywords['c']) $ret[] = $keywords['c']; if (empty($ret)) return false; return implode(' ', $ret); diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Border.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Border.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Border.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Border.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Color.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Color.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Color.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Color.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Composite.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Composite.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Composite.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Composite.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Filter.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Filter.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Filter.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Filter.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Font.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Font.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Font.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Font.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php similarity index 51% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php index 33435c76..f1ceec4a 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/FontFamily.php @@ -34,37 +34,10 @@ class HTMLPurifier_AttrDef_CSS_FontFamily extends HTMLPurifier_AttrDef $quote = $font[0]; if ($font[$length - 1] !== $quote) continue; $font = substr($font, 1, $length - 2); - - $new_font = ''; - for ($i = 0, $c = strlen($font); $i < $c; $i++) { - if ($font[$i] === '\\') { - $i++; - if ($i >= $c) { - $new_font .= '\\'; - break; - } - if (ctype_xdigit($font[$i])) { - $code = $font[$i]; - for ($a = 1, $i++; $i < $c && $a < 6; $i++, $a++) { - if (!ctype_xdigit($font[$i])) break; - $code .= $font[$i]; - } - // We have to be extremely careful when adding - // new characters, to make sure we're not breaking - // the encoding. - $char = HTMLPurifier_Encoder::unichr(hexdec($code)); - if (HTMLPurifier_Encoder::cleanUTF8($char) === '') continue; - $new_font .= $char; - if ($i < $c && trim($font[$i]) !== '') $i--; - continue; - } - if ($font[$i] === "\n") continue; - } - $new_font .= $font[$i]; - } - - $font = $new_font; } + + $font = $this->expandCSSEscape($font); + // $font is a pure representation of the font name if (ctype_alnum($font) && $font !== '') { @@ -73,12 +46,21 @@ class HTMLPurifier_AttrDef_CSS_FontFamily extends HTMLPurifier_AttrDef continue; } - // complicated font, requires quoting + // bugger out on whitespace. form feed (0C) really + // shouldn't show up regardless + $font = str_replace(array("\n", "\t", "\r", "\x0C"), ' ', $font); - // armor single quotes and new lines - $font = str_replace("\\", "\\\\", $font); - $font = str_replace("'", "\\'", $font); - $final .= "'$font', "; + // These ugly transforms don't pose a security + // risk (as \\ and \" might). We could try to be clever and + // use single-quote wrapping when there is a double quote + // present, but I have choosen not to implement that. + // (warning: this code relies on the selection of quotation + // mark below) + $font = str_replace('\\', '\\5C ', $font); + $font = str_replace('"', '\\22 ', $font); + + // complicated font, requires quoting + $final .= "\"$font\", "; // note that this will later get turned into " } $final = rtrim($final, ', '); if ($final === '') return false; diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Length.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Length.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Length.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Length.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/ListStyle.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/ListStyle.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/ListStyle.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/ListStyle.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Multiple.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Multiple.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Multiple.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Multiple.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Number.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Number.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Number.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Number.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Percentage.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Percentage.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Percentage.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/Percentage.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/TextDecoration.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/TextDecoration.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/TextDecoration.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/TextDecoration.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/URI.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/URI.php similarity index 79% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/URI.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/URI.php index d09c87bc..98df033d 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/CSS/URI.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/CSS/URI.php @@ -34,20 +34,16 @@ class HTMLPurifier_AttrDef_CSS_URI extends HTMLPurifier_AttrDef_URI $uri = substr($uri, 1, $new_length - 1); } - $keys = array( '(', ')', ',', ' ', '"', "'"); - $values = array('\\(', '\\)', '\\,', '\\ ', '\\"', "\\'"); - $uri = str_replace($values, $keys, $uri); + $uri = $this->expandCSSEscape($uri); $result = parent::validate($uri, $config, $context); if ($result === false) return false; - // escape necessary characters according to CSS spec - // except for the comma, none of these should appear in the - // URI at all - $result = str_replace($keys, $values, $result); + // extra sanity check; should have been done by URI + $result = str_replace(array('"', "\\", "\n", "\x0c", "\r"), "", $result); - return "url($result)"; + return "url(\"$result\")"; } diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Enum.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Enum.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Enum.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Enum.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Bool.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Bool.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Bool.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Bool.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Class.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Class.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Class.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Class.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Color.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Color.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Color.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Color.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/FrameTarget.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/FrameTarget.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/FrameTarget.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/FrameTarget.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/ID.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/ID.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/ID.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/ID.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Length.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Length.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Length.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Length.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/LinkTypes.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/LinkTypes.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/LinkTypes.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/LinkTypes.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/MultiLength.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/MultiLength.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/MultiLength.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/MultiLength.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Nmtokens.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Nmtokens.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Nmtokens.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Nmtokens.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Pixels.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Pixels.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Pixels.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/HTML/Pixels.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Integer.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Integer.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Integer.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Integer.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Lang.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Lang.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Lang.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Lang.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Switch.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Switch.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Switch.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Switch.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Text.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Text.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/Text.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/Text.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/Email.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/Email.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/Email.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/Email.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/Host.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/Host.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/Host.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/Host.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/IPv4.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/IPv4.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/IPv4.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/IPv4.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/IPv6.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/IPv6.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrDef/URI/IPv6.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrDef/URI/IPv6.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Background.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Background.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Background.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Background.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/BdoDir.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/BdoDir.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/BdoDir.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/BdoDir.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/BgColor.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/BgColor.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/BgColor.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/BgColor.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/BoolToCSS.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/BoolToCSS.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/BoolToCSS.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/BoolToCSS.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Border.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Border.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Border.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Border.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/EnumToCSS.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/EnumToCSS.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/EnumToCSS.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/EnumToCSS.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/ImgRequired.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/ImgRequired.php similarity index 90% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/ImgRequired.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/ImgRequired.php index a1e5a83a..3d09eca3 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/ImgRequired.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/ImgRequired.php @@ -24,7 +24,8 @@ class HTMLPurifier_AttrTransform_ImgRequired extends HTMLPurifier_AttrTransform if ($src) { $alt = $config->get('Attr.DefaultImageAlt'); if ($alt === null) { - $attr['alt'] = basename($attr['src']); + // truncate if the alt is too long + $attr['alt'] = substr(basename($attr['src']),0,40); } else { $attr['alt'] = $alt; } diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/ImgSpace.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/ImgSpace.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/ImgSpace.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/ImgSpace.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Input.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Input.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Input.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Input.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Lang.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Lang.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Lang.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Lang.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Length.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Length.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Length.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Length.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Name.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Name.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Name.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Name.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/NameSync.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/NameSync.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/NameSync.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/NameSync.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/SafeEmbed.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/SafeEmbed.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/SafeEmbed.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/SafeEmbed.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/SafeObject.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/SafeObject.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/SafeObject.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/SafeObject.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/SafeParam.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/SafeParam.php similarity index 74% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/SafeParam.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/SafeParam.php index e677feae..d14390bc 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/SafeParam.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/SafeParam.php @@ -33,12 +33,25 @@ class HTMLPurifier_AttrTransform_SafeParam extends HTMLPurifier_AttrTransform case 'allowNetworking': $attr['value'] = 'internal'; break; + case 'allowFullScreen': + if ($config->get('HTML.FlashAllowFullScreen')) { + $attr['value'] = ($attr['value'] == 'true') ? 'true' : 'false'; + } else { + $attr['value'] = 'false'; + } + break; case 'wmode': $attr['value'] = 'window'; break; case 'movie': + case 'src': + $attr['name'] = "movie"; $attr['value'] = $this->uri->validate($attr['value'], $config, $context); break; + case 'flashvars': + // we're going to allow arbitrary inputs to the SWF, on + // the reasoning that it could only hack the SWF, not us. + break; // add other cases to support other param name/value pairs default: $attr['name'] = $attr['value'] = null; diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/ScriptRequired.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/ScriptRequired.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/ScriptRequired.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/ScriptRequired.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Textarea.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Textarea.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTransform/Textarea.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTransform/Textarea.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTypes.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTypes.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrTypes.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrTypes.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrValidator.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrValidator.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/AttrValidator.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/AttrValidator.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Bootstrap.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Bootstrap.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Bootstrap.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Bootstrap.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/CSSDefinition.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/CSSDefinition.php similarity index 95% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/CSSDefinition.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/CSSDefinition.php index 17bf9931..09afc1f1 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/CSSDefinition.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/CSSDefinition.php @@ -272,20 +272,29 @@ class HTMLPurifier_CSSDefinition extends HTMLPurifier_Definition // setup allowed elements $support = "(for information on implementing this, see the ". "support forums) "; - $allowed_attributes = $config->get('CSS.AllowedProperties'); - if ($allowed_attributes !== null) { + $allowed_properties = $config->get('CSS.AllowedProperties'); + if ($allowed_properties !== null) { foreach ($this->info as $name => $d) { - if(!isset($allowed_attributes[$name])) unset($this->info[$name]); - unset($allowed_attributes[$name]); + if(!isset($allowed_properties[$name])) unset($this->info[$name]); + unset($allowed_properties[$name]); } // emit errors - foreach ($allowed_attributes as $name => $d) { + foreach ($allowed_properties as $name => $d) { // :TODO: Is this htmlspecialchars() call really necessary? $name = htmlspecialchars($name); trigger_error("Style attribute '$name' is not supported $support", E_USER_WARNING); } } + $forbidden_properties = $config->get('CSS.ForbiddenProperties'); + if ($forbidden_properties !== null) { + foreach ($this->info as $name => $d) { + if (isset($forbidden_properties[$name])) { + unset($this->info[$name]); + } + } + } + } } diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Chameleon.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Chameleon.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Chameleon.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Chameleon.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Custom.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Custom.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Custom.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Custom.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Empty.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Empty.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Empty.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Empty.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Optional.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Optional.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Optional.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Optional.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Required.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Required.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Required.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Required.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/StrictBlockquote.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/StrictBlockquote.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/StrictBlockquote.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/StrictBlockquote.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Table.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Table.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ChildDef/Table.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ChildDef/Table.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Config.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Config.php similarity index 99% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Config.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Config.php index 28529e7f..ada1b701 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Config.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Config.php @@ -20,7 +20,7 @@ class HTMLPurifier_Config /** * HTML Purifier's version */ - public $version = '4.0.0'; + public $version = '4.2.0'; /** * Bool indicator whether or not to automatically finalize diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Builder/Xml.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Builder/Xml.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Builder/Xml.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Builder/Xml.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Exception.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Exception.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Exception.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Exception.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange/Directive.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange/Directive.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange/Directive.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange/Directive.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange/Id.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange/Id.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange/Id.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Interchange/Id.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/InterchangeBuilder.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/InterchangeBuilder.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/InterchangeBuilder.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/InterchangeBuilder.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Validator.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Validator.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/Validator.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/Validator.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/ValidatorAtom.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/ValidatorAtom.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/ValidatorAtom.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/ValidatorAtom.php diff --git a/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema.ser b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema.ser new file mode 100644 index 00000000..978089c6 Binary files /dev/null and b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema.ser differ diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedClasses.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedClasses.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedClasses.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedClasses.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedFrameTargets.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRel.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRev.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRev.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRev.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.AllowedRev.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.ClassUseCDATA.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.ClassUseCDATA.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.ClassUseCDATA.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.ClassUseCDATA.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultImageAlt.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImage.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultInvalidImageAlt.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultTextDir.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultTextDir.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultTextDir.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.DefaultTextDir.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.EnableID.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.ForbiddenClasses.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.ForbiddenClasses.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.ForbiddenClasses.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.ForbiddenClasses.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklist.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDBlacklistRegexp.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefix.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Attr.IDPrefixLocal.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.AutoParagraph.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.AutoParagraph.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.AutoParagraph.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.AutoParagraph.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Custom.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.DisplayLinkURI.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.Linkify.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.DocURL.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.PurifierLinkify.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.RemoveNbsp.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveEmpty.txt diff --git a/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveSpansWithoutAttributes.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveSpansWithoutAttributes.txt new file mode 100644 index 00000000..dde990ab --- /dev/null +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/AutoFormat.RemoveSpansWithoutAttributes.txt @@ -0,0 +1,11 @@ +AutoFormat.RemoveSpansWithoutAttributes +TYPE: bool +VERSION: 4.0.1 +DEFAULT: false +--DESCRIPTION-- +

    + This directive causes span tags without any attributes + to be removed. It will also remove spans that had all attributes + removed during processing. +

    +--# vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowImportant.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowTricky.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowTricky.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowTricky.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowTricky.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowedProperties.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowedProperties.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowedProperties.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.AllowedProperties.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.DefinitionRev.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.DefinitionRev.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.DefinitionRev.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.DefinitionRev.txt diff --git a/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt new file mode 100644 index 00000000..f1f5c5f1 --- /dev/null +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt @@ -0,0 +1,13 @@ +CSS.ForbiddenProperties +TYPE: lookup +VERSION: 4.2.0 +DEFAULT: array() +--DESCRIPTION-- +

    + This is the logical inverse of %CSS.AllowedProperties, and it will + override that directive or any other directive. If possible, + %CSS.AllowedProperties is recommended over this directive, + because it can sometimes be difficult to tell whether or not you've + forbidden all of the CSS properties you truly would like to disallow. +

    +--# vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.MaxImgLength.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.Proprietary.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.Proprietary.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.Proprietary.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/CSS.Proprietary.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Cache.DefinitionImpl.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPath.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyFixLt.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyFixLt.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyFixLt.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.AggressivelyFixLt.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.CollectErrors.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.ConvertDocumentToFragment.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.DirectLexLineNumberSyncInterval.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.Encoding.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.Encoding.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.Encoding.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.Encoding.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidTags.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.EscapeNonASCIICharacters.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.HiddenElements.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.Language.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.Language.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.Language.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.Language.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.LexerImpl.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.LexerImpl.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.LexerImpl.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.LexerImpl.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.MaintainLineNumbers.txt diff --git a/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt new file mode 100644 index 00000000..d77f5360 --- /dev/null +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt @@ -0,0 +1,11 @@ +Core.NormalizeNewlines +TYPE: bool +VERSION: 4.2.0 +DEFAULT: true +--DESCRIPTION-- +

    + Whether or not to normalize newlines to the operating + system default. When false, HTML Purifier + will attempt to preserve mixed newline files. +

    +--# vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveInvalidImg.txt diff --git a/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt new file mode 100644 index 00000000..3397d9f7 --- /dev/null +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt @@ -0,0 +1,11 @@ +Core.RemoveProcessingInstructions +TYPE: bool +VERSION: 4.2.0 +DEFAULT: false +--DESCRIPTION-- +Instead of escaping processing instructions in the form <? ... +?>, remove it out-right. This may be useful if the HTML +you are validating contains XML processing instruction gunk, however, +it can also be user-unfriendly for people attempting to post PHP +snippets. +--# vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveScriptContents.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveScriptContents.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveScriptContents.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Core.RemoveScriptContents.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.Custom.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Escaping.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Scope.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Scope.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Scope.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.Scope.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.TidyImpl.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.ExtractStyleBlocks.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt similarity index 65% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt index 7fa6536b..321eaa2d 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt @@ -3,6 +3,11 @@ TYPE: bool VERSION: 3.1.0 DEFAULT: false --DESCRIPTION-- +

    + Warning: Deprecated in favor of %HTML.SafeObject and + %Output.FlashCompat (turn both on to allow YouTube videos and other + Flash content). +

    This directive enables YouTube video embedding in HTML Purifier. Check this document diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt similarity index 54% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt index 3e231d2d..0b2c106d 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt @@ -5,11 +5,14 @@ DEFAULT: NULL --DESCRIPTION--

    - This is a convenience directive that rolls the functionality of - %HTML.AllowedElements and %HTML.AllowedAttributes into one directive. + This is a preferred convenience directive that combines + %HTML.AllowedElements and %HTML.AllowedAttributes. Specify elements and attributes that are allowed using: - element1[attr1|attr2],element2.... You can also use - newlines instead of commas to separate elements. + element1[attr1|attr2],element2.... For example, + if you would like to only allow paragraphs and links, specify + a[href],p. You can specify attributes that apply + to all elements using an asterisk, e.g. *[lang]. + You can also use newlines instead of commas to separate elements.

    Warning: diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedAttributes.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedAttributes.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedAttributes.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedAttributes.txt diff --git a/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt new file mode 100644 index 00000000..1d3fa790 --- /dev/null +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt @@ -0,0 +1,23 @@ +HTML.AllowedElements +TYPE: lookup/null +VERSION: 1.3.0 +DEFAULT: NULL +--DESCRIPTION-- +

    + If HTML Purifier's tag set is unsatisfactory for your needs, you can + overload it with your own list of tags to allow. If you change + this, you probably also want to change %HTML.AllowedAttributes; see + also %HTML.Allowed which lets you set allowed elements and + attributes at the same time. +

    +

    + If you attempt to allow an element that HTML Purifier does not know + about, HTML Purifier will raise an error. You will need to manually + tell HTML Purifier about this element by using the + advanced customization features. +

    +

    + Warning: If another directive conflicts with the + elements here, that directive will win and override. +

    +--# vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.AllowedModules.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Attr.Name.UseCDATA.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.BlockWrapper.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.CoreModules.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.CustomDoctype.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionID.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionID.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionID.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionID.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.DefinitionRev.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Doctype.txt diff --git a/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt new file mode 100644 index 00000000..7878dc0b --- /dev/null +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt @@ -0,0 +1,11 @@ +HTML.FlashAllowFullScreen +TYPE: bool +VERSION: 4.2.0 +DEFAULT: false +--DESCRIPTION-- +

    + Whether or not to permit embedded Flash content from + %HTML.SafeObject to expand to the full screen. Corresponds to + the allowFullScreen parameter. +

    +--# vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenAttributes.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenAttributes.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenAttributes.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenAttributes.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.ForbiddenElements.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.MaxImgLength.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Parent.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Proprietary.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt similarity index 65% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt index f635a685..cdda09a4 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeEmbed.txt @@ -7,8 +7,7 @@ DEFAULT: false Whether or not to permit embed tags in documents, with a number of extra security features added to prevent script execution. This is similar to what websites like MySpace do to embed tags. Embed is a proprietary - element and will cause your website to stop validating. You probably want - to enable this with %HTML.SafeObject. - Highly experimental. -

    + element and will cause your website to stop validating; you should + see if you can use %Output.FlashCompat with %HTML.SafeObject instead + first.

    --# vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt new file mode 100644 index 00000000..ceb342e2 --- /dev/null +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.SafeObject.txt @@ -0,0 +1,13 @@ +HTML.SafeObject +TYPE: bool +VERSION: 3.1.1 +DEFAULT: false +--DESCRIPTION-- +

    + Whether or not to permit object tags in documents, with a number of extra + security features added to prevent script execution. This is similar to + what websites like MySpace do to object tags. You should also enable + %Output.FlashCompat in order to generate Internet Explorer + compatibility code for your object tags. +

    +--# vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Strict.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyAdd.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyLevel.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyRemove.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyRemove.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyRemove.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.TidyRemove.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/HTML.XHTML.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.CommentScriptContents.txt diff --git a/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.FlashCompat.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.FlashCompat.txt new file mode 100644 index 00000000..93398e85 --- /dev/null +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.FlashCompat.txt @@ -0,0 +1,11 @@ +Output.FlashCompat +TYPE: bool +VERSION: 4.1.0 +DEFAULT: false +--DESCRIPTION-- +

    + If true, HTML Purifier will generate Internet Explorer compatibility + code for all object code. This is highly recommended if you enable + %HTML.SafeObject. +

    +--# vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.Newline.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.SortAttr.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.TidyFormat.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.TidyFormat.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.TidyFormat.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Output.TidyFormat.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/Test.ForceNoIconv.txt diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt similarity index 74% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt index 98fdfe92..666635a5 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt @@ -12,4 +12,6 @@ array ( --DESCRIPTION-- Whitelist that defines the schemes that a URI is allowed to have. This prevents XSS attacks from using pseudo-schemes like javascript or mocha. +There is also support for the data and file +URI schemes, but they are not enabled by default. --# vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Base.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Base.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Base.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Base.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefaultScheme.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefaultScheme.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefaultScheme.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefaultScheme.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionID.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DefinitionRev.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Disable.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternal.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableExternalResources.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt similarity index 64% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt index 51e6ea91..f891de49 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt @@ -1,12 +1,15 @@ URI.DisableResources TYPE: bool -VERSION: 1.3.0 +VERSION: 4.2.0 DEFAULT: false --DESCRIPTION-- -

    Disables embedding resources, essentially meaning no pictures. You can still link to them though. See %URI.DisableExternalResources for why this might be a good idea.

    +

    + Note: While this directive has been available since 1.3.0, + it didn't actually start doing anything until 4.2.0. +

    --# vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Host.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Host.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Host.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Host.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.HostBlacklist.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MakeAbsolute.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.Munge.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MungeResources.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/URI.OverrideAllowedSchemes.txt diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/info.ini b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/info.ini similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/info.ini rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ConfigSchema/schema/info.ini diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ContentSets.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ContentSets.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ContentSets.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ContentSets.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Context.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Context.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Context.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Context.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Definition.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Definition.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Definition.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Definition.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Memory.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Memory.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Memory.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Memory.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Template.php.in b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Template.php.in similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Template.php.in rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Decorator/Template.php.in diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Null.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Null.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Null.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Null.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Serializer.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Serializer.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Serializer.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Serializer.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Serializer/README b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Serializer/README similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCache/Serializer/README rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCache/Serializer/README diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCacheFactory.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCacheFactory.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DefinitionCacheFactory.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DefinitionCacheFactory.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Doctype.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Doctype.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Doctype.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Doctype.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DoctypeRegistry.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DoctypeRegistry.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/DoctypeRegistry.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/DoctypeRegistry.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ElementDef.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ElementDef.php similarity index 96% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ElementDef.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ElementDef.php index c4f5df97..cbd4e345 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ElementDef.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ElementDef.php @@ -97,6 +97,13 @@ class HTMLPurifier_ElementDef */ public $autoclose = array(); + /** + * If a foreign element is found in this element, test if it is + * allowed by this sub-element; if it is, instead of closing the + * current element, place it inside this element. + */ + public $wrap; + /** * Whether or not this is a formatting element affected by the * "Active Formatting Elements" algorithm. diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Encoder.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Encoder.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Encoder.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Encoder.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/EntityLookup.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/EntityLookup.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/EntityLookup.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/EntityLookup.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/EntityLookup/entities.ser b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/EntityLookup/entities.ser similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/EntityLookup/entities.ser rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/EntityLookup/entities.ser diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/EntityParser.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/EntityParser.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/EntityParser.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/EntityParser.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ErrorCollector.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ErrorCollector.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ErrorCollector.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ErrorCollector.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ErrorStruct.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ErrorStruct.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/ErrorStruct.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/ErrorStruct.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Exception.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Exception.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Exception.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Exception.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Filter.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Filter.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Filter.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Filter.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Filter/ExtractStyleBlocks.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Filter/ExtractStyleBlocks.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Filter/ExtractStyleBlocks.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Filter/ExtractStyleBlocks.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Filter/YouTube.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Filter/YouTube.php similarity index 74% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Filter/YouTube.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Filter/YouTube.php index aa3c17a0..9a9d9f96 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Filter/YouTube.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Filter/YouTube.php @@ -7,13 +7,13 @@ class HTMLPurifier_Filter_YouTube extends HTMLPurifier_Filter public function preFilter($html, $config, $context) { $pre_regex = '#]+>.+?'. - 'http://www.youtube.com/v/([A-Za-z0-9\-_]+).+?
    #s'; + 'http://www.youtube.com/((?:v|cp)/[A-Za-z0-9\-_=]+).+?#s'; $pre_replace = '\1'; return preg_replace($pre_regex, $pre_replace, $html); } public function postFilter($html, $config, $context) { - $post_regex = '#([A-Za-z0-9\-_]+)#'; + $post_regex = '#((?:v|cp)/[A-Za-z0-9\-_=]+)#'; return preg_replace_callback($post_regex, array($this, 'postFilterCallback'), $html); } @@ -24,10 +24,10 @@ class HTMLPurifier_Filter_YouTube extends HTMLPurifier_Filter protected function postFilterCallback($matches) { $url = $this->armorUrl($matches[1]); return ''. - ''. + 'data="http://www.youtube.com/'.$url.'">'. + ''. ''. diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Generator.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Generator.php similarity index 73% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Generator.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Generator.php index 22e841c1..e5988b64 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Generator.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Generator.php @@ -31,6 +31,17 @@ class HTMLPurifier_Generator */ private $_sortAttr; + /** + * Cache of %Output.FlashCompat + */ + private $_flashCompat; + + /** + * Stack for keeping track of object information when outputting IE + * compatibility code. + */ + private $_flashStack = array(); + /** * Configuration for the generator */ @@ -44,6 +55,7 @@ class HTMLPurifier_Generator $this->config = $config; $this->_scriptFix = $config->get('Output.CommentScriptContents'); $this->_sortAttr = $config->get('Output.SortAttr'); + $this->_flashCompat = $config->get('Output.FlashCompat'); $this->_def = $config->getHTMLDefinition(); $this->_xhtml = $this->_def->doctype->xml; } @@ -86,9 +98,11 @@ class HTMLPurifier_Generator } // Normalize newlines to system defined value - $nl = $this->config->get('Output.Newline'); - if ($nl === null) $nl = PHP_EOL; - if ($nl !== "\n") $html = str_replace("\n", $nl, $html); + if ($this->config->get('Core.NormalizeNewlines')) { + $nl = $this->config->get('Output.Newline'); + if ($nl === null) $nl = PHP_EOL; + if ($nl !== "\n") $html = str_replace("\n", $nl, $html); + } return $html; } @@ -104,12 +118,41 @@ class HTMLPurifier_Generator } elseif ($token instanceof HTMLPurifier_Token_Start) { $attr = $this->generateAttributes($token->attr, $token->name); + if ($this->_flashCompat) { + if ($token->name == "object") { + $flash = new stdclass(); + $flash->attr = $token->attr; + $flash->param = array(); + $this->_flashStack[] = $flash; + } + } return '<' . $token->name . ($attr ? ' ' : '') . $attr . '>'; } elseif ($token instanceof HTMLPurifier_Token_End) { - return 'name . '>'; + $_extra = ''; + if ($this->_flashCompat) { + if ($token->name == "object" && !empty($this->_flashStack)) { + $flash = array_pop($this->_flashStack); + $compat_token = new HTMLPurifier_Token_Empty("embed"); + foreach ($flash->attr as $name => $val) { + if ($name == "classid") continue; + if ($name == "type") continue; + if ($name == "data") $name = "src"; + $compat_token->attr[$name] = $val; + } + foreach ($flash->param as $name => $val) { + if ($name == "movie") $name = "src"; + $compat_token->attr[$name] = $val; + } + $_extra = ""; + } + } + return $_extra . 'name . '>'; } elseif ($token instanceof HTMLPurifier_Token_Empty) { + if ($this->_flashCompat && $token->name == "param" && !empty($this->_flashStack)) { + $this->_flashStack[count($this->_flashStack)-1]->param[$token->attr['name']] = $token->attr['value']; + } $attr = $this->generateAttributes($token->attr, $token->name); return '<' . $token->name . ($attr ? ' ' : '') . $attr . ( $this->_xhtml ? ' /': '' ) //
    v.
    @@ -174,7 +217,10 @@ class HTMLPurifier_Generator * permissible for non-attribute output. * @return String escaped data. */ - public function escape($string, $quote = ENT_COMPAT) { + public function escape($string, $quote = null) { + // Workaround for APC bug on Mac Leopard reported by sidepodcast + // http://htmlpurifier.org/phorum/read.php?3,4823,4846 + if ($quote === null) $quote = ENT_COMPAT; return htmlspecialchars($string, $quote, 'UTF-8'); } diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLDefinition.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLDefinition.php similarity index 97% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLDefinition.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLDefinition.php index 0195ce4c..f775604a 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLDefinition.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLDefinition.php @@ -300,7 +300,12 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition unset($allowed_attributes_mutable[$key]); } } - if ($delete) unset($this->info[$tag]->attr[$attr]); + if ($delete) { + if ($this->info[$tag]->attr[$attr]->required) { + trigger_error("Required attribute '$attr' in element '$tag' was not allowed, which means '$tag' will not be allowed either", E_USER_WARNING); + } + unset($this->info[$tag]->attr[$attr]); + } } } // emit errors diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Bdo.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Bdo.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Bdo.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Bdo.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/CommonAttributes.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/CommonAttributes.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/CommonAttributes.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/CommonAttributes.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Edit.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Edit.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Edit.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Edit.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Forms.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Forms.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Forms.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Forms.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Hypertext.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Hypertext.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Hypertext.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Hypertext.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Image.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Image.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Image.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Image.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Legacy.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Legacy.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Legacy.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Legacy.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/List.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/List.php similarity index 85% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/List.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/List.php index db2d5324..2911a69b 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/List.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/List.php @@ -20,8 +20,10 @@ class HTMLPurifier_HTMLModule_List extends HTMLPurifier_HTMLModule public $content_sets = array('Flow' => 'List'); public function setup($config) { - $this->addElement('ol', 'List', 'Required: li', 'Common'); - $this->addElement('ul', 'List', 'Required: li', 'Common'); + $ol = $this->addElement('ol', 'List', 'Required: li', 'Common'); + $ol->wrap = "li"; + $ul = $this->addElement('ul', 'List', 'Required: li', 'Common'); + $ul->wrap = "li"; $this->addElement('dl', 'List', 'Required: dt | dd', 'Common'); $this->addElement('li', false, 'Flow', 'Common'); diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Name.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Name.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Name.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Name.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Object.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Object.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Object.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Object.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Presentation.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Presentation.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Presentation.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Presentation.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Proprietary.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Proprietary.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Proprietary.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Proprietary.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Ruby.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Ruby.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Ruby.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Ruby.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/SafeEmbed.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/SafeEmbed.php similarity index 96% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/SafeEmbed.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/SafeEmbed.php index 1fd57145..7f602317 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/SafeEmbed.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/SafeEmbed.php @@ -20,6 +20,7 @@ class HTMLPurifier_HTMLModule_SafeEmbed extends HTMLPurifier_HTMLModule 'height' => 'Pixels#' . $max, 'allowscriptaccess' => 'Enum#never', 'allownetworking' => 'Enum#internal', + 'flashvars' => 'Text', 'wmode' => 'Enum#window', 'name' => 'ID', ) diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/SafeObject.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/SafeObject.php similarity index 83% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/SafeObject.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/SafeObject.php index 4378d2c6..d3de4f47 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/SafeObject.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/SafeObject.php @@ -28,7 +28,10 @@ class HTMLPurifier_HTMLModule_SafeObject extends HTMLPurifier_HTMLModule 'type' => 'Enum#application/x-shockwave-flash', 'width' => 'Pixels#' . $max, 'height' => 'Pixels#' . $max, - 'data' => 'URI#embedded' + 'data' => 'URI#embedded', + 'classid' => 'Enum#clsid:d27cdb6e-ae6d-11cf-96b8-444553540000', + 'codebase' => new HTMLPurifier_AttrDef_Enum(array( + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0')), ) ); $object->attr_transform_post[] = new HTMLPurifier_AttrTransform_SafeObject(); diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Scripting.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Scripting.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Scripting.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Scripting.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/StyleAttribute.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/StyleAttribute.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/StyleAttribute.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/StyleAttribute.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tables.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tables.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tables.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tables.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Target.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Target.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Target.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Target.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Text.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Text.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Text.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Text.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Name.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Name.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Name.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Name.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Proprietary.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Proprietary.php similarity index 91% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Proprietary.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Proprietary.php index f6aa6b03..d043aa72 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Proprietary.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Proprietary.php @@ -15,6 +15,7 @@ class HTMLPurifier_HTMLModule_Tidy_Proprietary extends HTMLPurifier_HTMLModule_T $r['thead@background'] = new HTMLPurifier_AttrTransform_Background(); $r['tfoot@background'] = new HTMLPurifier_AttrTransform_Background(); $r['tbody@background'] = new HTMLPurifier_AttrTransform_Background(); + $r['table@height'] = new HTMLPurifier_AttrTransform_Length('height'); return $r; } diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Strict.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Strict.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Strict.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Strict.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Transitional.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Transitional.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Transitional.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/Transitional.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/XHTML.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/XHTML.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/XHTML.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/XHTML.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/XMLCommonAttributes.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/XMLCommonAttributes.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModule/XMLCommonAttributes.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModule/XMLCommonAttributes.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModuleManager.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModuleManager.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/HTMLModuleManager.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/HTMLModuleManager.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/IDAccumulator.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/IDAccumulator.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/IDAccumulator.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/IDAccumulator.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/AutoParagraph.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/AutoParagraph.php similarity index 95% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/AutoParagraph.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/AutoParagraph.php index c5444dbe..72152d81 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/AutoParagraph.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/AutoParagraph.php @@ -34,16 +34,21 @@ class HTMLPurifier_Injector_AutoParagraph extends HTMLPurifier_Injector // ---- // This is a degenerate case } else { - // State 1.2: PAR1 - // ---- + if (!$token->is_whitespace || $this->_isInline($current)) { + // State 1.2: PAR1 + // ---- - // State 1.3: PAR1\n\nPAR2 - // ------------ + // State 1.3: PAR1\n\nPAR2 + // ------------ - // State 1.4:
    PAR1\n\nPAR2 (see State 2) - // ------------ - $token = array($this->_pStart()); - $this->_splitText($text, $token); + // State 1.4:
    PAR1\n\nPAR2 (see State 2) + // ------------ + $token = array($this->_pStart()); + $this->_splitText($text, $token); + } else { + // State 1.5: \n
    + // -- + } } } else { // State 2:
    PAR1... (similar to 1.4) diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/DisplayLinkURI.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/DisplayLinkURI.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/DisplayLinkURI.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/DisplayLinkURI.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/Linkify.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/Linkify.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/Linkify.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/Linkify.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/PurifierLinkify.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/PurifierLinkify.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/PurifierLinkify.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/PurifierLinkify.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/RemoveEmpty.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/RemoveEmpty.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/RemoveEmpty.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/RemoveEmpty.php diff --git a/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php new file mode 100644 index 00000000..509d5dc7 --- /dev/null +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php @@ -0,0 +1,60 @@ +attrValidator = new HTMLPurifier_AttrValidator(); + $this->config = $config; + $this->context = $context; + return parent::prepare($config, $context); + } + + public function handleElement(&$token) { + if ($token->name !== 'span' || !$token instanceof HTMLPurifier_Token_Start) { + return; + } + + // We need to validate the attributes now since this doesn't normally + // happen until after MakeWellFormed. If all the attributes are removed + // the span needs to be removed too. + $this->attrValidator->validateToken($token, $this->config, $this->context); + $token->armor['ValidateAttributes'] = true; + + if (!empty($token->attr)) { + return; + } + + $nesting = 0; + $spanContentTokens = array(); + while ($this->forwardUntilEndToken($i, $current, $nesting)) {} + + if ($current instanceof HTMLPurifier_Token_End && $current->name === 'span') { + // Mark closing span tag for deletion + $current->markForDeletion = true; + // Delete open span tag + $token = false; + } + } + + public function handleEnd(&$token) { + if ($token->markForDeletion) { + $token = false; + } + } +} + +// vim: et sw=4 sts=4 diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/SafeObject.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/SafeObject.php similarity index 93% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/SafeObject.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/SafeObject.php index 42d8fd40..fc01eebc 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Injector/SafeObject.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Injector/SafeObject.php @@ -20,6 +20,9 @@ class HTMLPurifier_Injector_SafeObject extends HTMLPurifier_Injector protected $allowedParam = array( 'wmode' => true, 'movie' => true, + 'flashvars' => true, + 'src' => true, + 'allowFullScreen' => true, // if omitted, assume to be 'false' ); public function prepare($config, $context) { @@ -47,7 +50,8 @@ class HTMLPurifier_Injector_SafeObject extends HTMLPurifier_Injector // We need this fix because YouTube doesn't supply a data // attribute, which we need if a type is specified. This is // *very* Flash specific. - if (!isset($this->objectStack[$i]->attr['data']) && $token->attr['name'] == 'movie') { + if (!isset($this->objectStack[$i]->attr['data']) && + ($token->attr['name'] == 'movie' || $token->attr['name'] == 'src')) { $this->objectStack[$i]->attr['data'] = $token->attr['value']; } // Check if the parameter is the correct value but has not diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/classes/en-x-test.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/classes/en-x-test.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/classes/en-x-test.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/classes/en-x-test.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/messages/en-x-test.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/messages/en-x-test.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/messages/en-x-test.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/messages/en-x-test.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/messages/en-x-testmini.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/messages/en-x-testmini.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/messages/en-x-testmini.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/messages/en-x-testmini.php diff --git a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/messages/en.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/messages/en.php similarity index 98% rename from 3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/messages/en.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/messages/en.php index 5377e5a3..2c96e307 100644 --- a/3.0/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Language/messages/en.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Language/messages/en.php @@ -23,6 +23,7 @@ $messages = array( 'Lexer: Missing gt' => 'Missing greater-than sign (>), previous less-than sign (<) should be escaped', 'Lexer: Missing attribute key' => 'Attribute declaration has no key', 'Lexer: Missing end quote' => 'Attribute declaration has no end quote', +'Lexer: Extracted body' => 'Removed document metadata tags', 'Strategy_RemoveForeignElements: Tag transform' => '<$1> element transformed into $CurrentToken.Serialized', 'Strategy_RemoveForeignElements: Missing required attribute' => '$CurrentToken.Compact element missing required attribute $1', diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/LanguageFactory.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/LanguageFactory.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/LanguageFactory.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/LanguageFactory.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Length.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Length.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Length.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Length.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer.php similarity index 90% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer.php index 9f20a412..6d6f4864 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer.php @@ -230,6 +230,17 @@ class HTMLPurifier_Lexer ); } + /** + * Special Internet Explorer conditional comments should be removed. + */ + protected static function removeIEConditional($string) { + return preg_replace( + '##si', // probably should generalize for all strings + '', + $string + ); + } + /** * Callback function for escapeCDATA() that does the work. * @@ -252,20 +263,32 @@ class HTMLPurifier_Lexer public function normalize($html, $config, $context) { // normalize newlines to \n - $html = str_replace("\r\n", "\n", $html); - $html = str_replace("\r", "\n", $html); + if ($config->get('Core.NormalizeNewlines')) { + $html = str_replace("\r\n", "\n", $html); + $html = str_replace("\r", "\n", $html); + } if ($config->get('HTML.Trusted')) { // escape convoluted CDATA $html = $this->escapeCommentedCDATA($html); } + $html = $this->removeIEConditional($html); + // escape CDATA $html = $this->escapeCDATA($html); // extract body from document if applicable if ($config->get('Core.ConvertDocumentToFragment')) { - $html = $this->extractBody($html); + $e = false; + if ($config->get('Core.CollectErrors')) { + $e =& $context->get('ErrorCollector'); + } + $new_html = $this->extractBody($html); + if ($e && $new_html != $html) { + $e->send(E_WARNING, 'Lexer: Extracted body'); + } + $html = $new_html; } // expand entities that aren't the big five @@ -276,6 +299,11 @@ class HTMLPurifier_Lexer // represent non-SGML characters (horror, horror!) $html = HTMLPurifier_Encoder::cleanUTF8($html); + // if processing instructions are to removed, remove them now + if ($config->get('Core.RemoveProcessingInstructions')) { + $html = preg_replace('#<\?.+?\?>#s', '', $html); + } + return $html; } diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/DOMLex.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/DOMLex.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/DOMLex.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/DOMLex.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/DirectLex.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/DirectLex.php similarity index 99% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/DirectLex.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/DirectLex.php index eb421b23..b7d9abfa 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/DirectLex.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/DirectLex.php @@ -384,7 +384,7 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer } } if ($value === false) $value = ''; - return array($key => $value); + return array($key => $this->parseData($value)); } // setup loop environment diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/PEARSax3.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/PEARSax3.php similarity index 69% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/PEARSax3.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/PEARSax3.php index 57173455..72c87635 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/PEARSax3.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/PEARSax3.php @@ -26,13 +26,20 @@ class HTMLPurifier_Lexer_PEARSax3 extends HTMLPurifier_Lexer * Internal accumulator array for SAX parsers. */ protected $tokens = array(); + protected $last_token_was_empty; + + private $parent_handler; + private $stack = array(); public function tokenizeHTML($string, $config, $context) { $this->tokens = array(); + $this->last_token_was_empty = false; $string = $this->normalize($string, $config, $context); + $this->parent_handler = set_error_handler(array($this, 'muteStrictErrorHandler')); + $parser = new XML_HTMLSax3(); $parser->set_object($this); $parser->set_element_handler('openHandler','closeHandler'); @@ -44,6 +51,8 @@ class HTMLPurifier_Lexer_PEARSax3 extends HTMLPurifier_Lexer $parser->parse($string); + restore_error_handler(); + return $this->tokens; } @@ -58,9 +67,11 @@ class HTMLPurifier_Lexer_PEARSax3 extends HTMLPurifier_Lexer } if ($closed) { $this->tokens[] = new HTMLPurifier_Token_Empty($name, $attrs); + $this->last_token_was_empty = true; } else { $this->tokens[] = new HTMLPurifier_Token_Start($name, $attrs); } + $this->stack[] = $name; return true; } @@ -71,10 +82,12 @@ class HTMLPurifier_Lexer_PEARSax3 extends HTMLPurifier_Lexer // HTMLSax3 seems to always send empty tags an extra close tag // check and ignore if you see it: // [TESTME] to make sure it doesn't overreach - if ($this->tokens[count($this->tokens)-1] instanceof HTMLPurifier_Token_Empty) { + if ($this->last_token_was_empty) { + $this->last_token_was_empty = false; return true; } $this->tokens[] = new HTMLPurifier_Token_End($name); + if (!empty($this->stack)) array_pop($this->stack); return true; } @@ -82,6 +95,7 @@ class HTMLPurifier_Lexer_PEARSax3 extends HTMLPurifier_Lexer * Data event handler, interface is defined by PEAR package. */ public function dataHandler(&$parser, $data) { + $this->last_token_was_empty = false; $this->tokens[] = new HTMLPurifier_Token_Text($data); return true; } @@ -91,7 +105,18 @@ class HTMLPurifier_Lexer_PEARSax3 extends HTMLPurifier_Lexer */ public function escapeHandler(&$parser, $data) { if (strpos($data, '--') === 0) { - $this->tokens[] = new HTMLPurifier_Token_Comment($data); + // remove trailing and leading double-dashes + $data = substr($data, 2); + if (strlen($data) >= 2 && substr($data, -2) == "--") { + $data = substr($data, 0, -2); + } + if (isset($this->stack[sizeof($this->stack) - 1]) && + $this->stack[sizeof($this->stack) - 1] == "style") { + $this->tokens[] = new HTMLPurifier_Token_Text($data); + } else { + $this->tokens[] = new HTMLPurifier_Token_Comment($data); + } + $this->last_token_was_empty = false; } // CDATA is handled elsewhere, but if it was handled here: //if (strpos($data, '[CDATA[') === 0) { @@ -101,6 +126,14 @@ class HTMLPurifier_Lexer_PEARSax3 extends HTMLPurifier_Lexer return true; } + /** + * An error handler that mutes strict errors + */ + public function muteStrictErrorHandler($errno, $errstr, $errfile=null, $errline=null, $errcontext=null) { + if ($errno == E_STRICT) return; + return call_user_func($this->parent_handler, $errno, $errstr, $errfile, $errline, $errcontext); + } + } // vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/PH5P.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/PH5P.php similarity index 99% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/PH5P.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/PH5P.php index 0d20c0ce..b42965ef 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Lexer/PH5P.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Lexer/PH5P.php @@ -125,8 +125,6 @@ class HTML5 { const EOF = 5; public function __construct($data) { - $data = str_replace("\r\n", "\n", $data); - $data = str_replace("\r", null, $data); $this->data = $data; $this->char = -1; @@ -3903,4 +3901,4 @@ class HTML5TreeConstructer { return $this->dom; } } - +?> diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/PercentEncoder.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/PercentEncoder.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/PercentEncoder.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/PercentEncoder.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/CSSDefinition.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/CSSDefinition.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/CSSDefinition.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/CSSDefinition.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.css b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.css similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.css rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.css diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.js b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.js similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.js rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.js diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/ConfigForm.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/HTMLDefinition.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/HTMLDefinition.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Printer/HTMLDefinition.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Printer/HTMLDefinition.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/PropertyList.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/PropertyList.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/PropertyList.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/PropertyList.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/PropertyListIterator.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/PropertyListIterator.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/PropertyListIterator.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/PropertyListIterator.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/Composite.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/Composite.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/Composite.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/Composite.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/Core.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/Core.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/Core.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/Core.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/FixNesting.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/FixNesting.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/FixNesting.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/FixNesting.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/MakeWellFormed.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/MakeWellFormed.php similarity index 94% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/MakeWellFormed.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/MakeWellFormed.php index c81b6b7b..03c92bd4 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/MakeWellFormed.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/MakeWellFormed.php @@ -83,6 +83,7 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy $this->injectors[] = $injector; } foreach ($custom_injectors as $injector) { + if (!$injector) continue; if (is_string($injector)) { $injector = "HTMLPurifier_Injector_$injector"; $injector = new $injector; @@ -164,6 +165,7 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy $token = $tokens[$t]; //echo '
    '; printTokens($tokens, $t); printTokens($this->stack); + //flush(); // quick-check: if it's not a tag, no need to process if (empty($token->is_tag)) { @@ -219,6 +221,22 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy $autoclose = false; } + if ($autoclose && $definition->info[$token->name]->wrap) { + // Check if an element can be wrapped by another + // element to make it valid in a context (for + // example,
        needs a
      • in between) + $wrapname = $definition->info[$token->name]->wrap; + $wrapdef = $definition->info[$wrapname]; + $elements = $wrapdef->child->getAllowedElements($config); + $parent_elements = $definition->info[$parent->name]->child->getAllowedElements($config); + if (isset($elements[$token->name]) && isset($parent_elements[$wrapname])) { + $newtoken = new HTMLPurifier_Token_Start($wrapname); + $this->insertBefore($newtoken); + $reprocess = true; + continue; + } + } + $carryover = false; if ($autoclose && $definition->info[$parent->name]->formatting) { $carryover = true; diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/RemoveForeignElements.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/RemoveForeignElements.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/RemoveForeignElements.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/RemoveForeignElements.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/ValidateAttributes.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/ValidateAttributes.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Strategy/ValidateAttributes.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Strategy/ValidateAttributes.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/StringHash.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/StringHash.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/StringHash.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/StringHash.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/StringHashParser.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/StringHashParser.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/StringHashParser.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/StringHashParser.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/TagTransform.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/TagTransform.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/TagTransform.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/TagTransform.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/TagTransform/Font.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/TagTransform/Font.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/TagTransform/Font.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/TagTransform/Font.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/TagTransform/Simple.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/TagTransform/Simple.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/TagTransform/Simple.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/TagTransform/Simple.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Comment.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Comment.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Comment.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Comment.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Empty.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Empty.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Empty.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Empty.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/End.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/End.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/End.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/End.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Start.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Start.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Start.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Start.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Tag.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Tag.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Tag.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Tag.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Text.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Text.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/Token/Text.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/Token/Text.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/TokenFactory.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/TokenFactory.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/TokenFactory.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/TokenFactory.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URI.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URI.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URI.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URI.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIDefinition.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIDefinition.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIDefinition.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIDefinition.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/DisableExternal.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/DisableExternal.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/DisableExternal.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/DisableExternal.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/DisableExternalResources.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/DisableExternalResources.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/DisableExternalResources.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/DisableExternalResources.php diff --git a/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/DisableResources.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/DisableResources.php new file mode 100644 index 00000000..e69d970a --- /dev/null +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/DisableResources.php @@ -0,0 +1,11 @@ +get('EmbeddedURI', true); + } +} + +// vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/HostBlacklist.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/HostBlacklist.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/HostBlacklist.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/HostBlacklist.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/MakeAbsolute.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/MakeAbsolute.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/MakeAbsolute.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/MakeAbsolute.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/Munge.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/Munge.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIFilter/Munge.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIFilter/Munge.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIParser.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIParser.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIParser.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIParser.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme.php diff --git a/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/data.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/data.php new file mode 100644 index 00000000..bc4fb8cd --- /dev/null +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/data.php @@ -0,0 +1,93 @@ + true, + 'image/gif' => true, + 'image/png' => true, + ); + + public function validate(&$uri, $config, $context) { + $result = explode(',', $uri->path, 2); + $is_base64 = false; + $charset = null; + $content_type = null; + if (count($result) == 2) { + list($metadata, $data) = $result; + // do some legwork on the metadata + $metas = explode(';', $metadata); + while(!empty($metas)) { + $cur = array_shift($metas); + if ($cur == 'base64') { + $is_base64 = true; + break; + } + if (substr($cur, 0, 8) == 'charset=') { + // doesn't match if there are arbitrary spaces, but + // whatever dude + if ($charset !== null) continue; // garbage + $charset = substr($cur, 8); // not used + } else { + if ($content_type !== null) continue; // garbage + $content_type = $cur; + } + } + } else { + $data = $result[0]; + } + if ($content_type !== null && empty($this->allowed_types[$content_type])) { + return false; + } + if ($charset !== null) { + // error; we don't allow plaintext stuff + $charset = null; + } + $data = rawurldecode($data); + if ($is_base64) { + $raw_data = base64_decode($data); + } else { + $raw_data = $data; + } + // XXX probably want to refactor this into a general mechanism + // for filtering arbitrary content types + $file = tempnam("/tmp", ""); + file_put_contents($file, $raw_data); + if (function_exists('exif_imagetype')) { + $image_code = exif_imagetype($file); + } elseif (function_exists('getimagesize')) { + set_error_handler(array($this, 'muteErrorHandler')); + $info = getimagesize($file); + restore_error_handler(); + if ($info == false) return false; + $image_code = $info[2]; + } else { + trigger_error("could not find exif_imagetype or getimagesize functions", E_USER_ERROR); + } + $real_content_type = image_type_to_mime_type($image_code); + if ($real_content_type != $content_type) { + // we're nice guys; if the content type is something else we + // support, change it over + if (empty($this->allowed_types[$real_content_type])) return false; + $content_type = $real_content_type; + } + // ok, it's kosher, rewrite what we need + $uri->userinfo = null; + $uri->host = null; + $uri->port = null; + $uri->fragment = null; + $uri->query = null; + $uri->path = "$content_type;base64," . base64_encode($raw_data); + return true; + } + + public function muteErrorHandler($errno, $errstr) {} + +} + diff --git a/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/file.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/file.php new file mode 100644 index 00000000..66c30232 --- /dev/null +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/file.php @@ -0,0 +1,26 @@ +userinfo = null; + // file:// makes no provisions for accessing the resource + $uri->port = null; + // While it seems to work on Firefox, the querystring has + // no possible effect and is thus stripped. + $uri->query = null; + return true; + } + +} + +// vim: et sw=4 sts=4 diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/ftp.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/ftp.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/ftp.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/ftp.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/http.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/http.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/http.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/http.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/https.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/https.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/https.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/https.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/mailto.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/mailto.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/mailto.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/mailto.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/news.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/news.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/news.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/news.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/nntp.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/nntp.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URIScheme/nntp.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URIScheme/nntp.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URISchemeRegistry.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URISchemeRegistry.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/URISchemeRegistry.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/URISchemeRegistry.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/UnitConverter.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/UnitConverter.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/UnitConverter.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/UnitConverter.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParser.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParser.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParser.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParser.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParser/Flexible.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParser/Flexible.php similarity index 88% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParser/Flexible.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParser/Flexible.php index e5998e5e..dea9f169 100644 --- a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParser/Flexible.php +++ b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParser/Flexible.php @@ -62,7 +62,7 @@ class HTMLPurifier_VarParser_Flexible extends HTMLPurifier_VarParser foreach ($var as $keypair) { $c = explode(':', $keypair, 2); if (!isset($c[1])) continue; - $nvar[$c[0]] = $c[1]; + $nvar[trim($c[0])] = trim($c[1]); } $var = $nvar; } @@ -79,8 +79,15 @@ class HTMLPurifier_VarParser_Flexible extends HTMLPurifier_VarParser return $new; } else break; } + if ($type === self::ALIST) { + trigger_error("Array list did not have consecutive integer indexes", E_USER_WARNING); + return array_values($var); + } if ($type === self::LOOKUP) { foreach ($var as $key => $value) { + if ($value !== true) { + trigger_error("Lookup array has non-true value at key '$key'; maybe your input array was not indexed numerically", E_USER_WARNING); + } $var[$key] = true; } } diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParser/Native.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParser/Native.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParser/Native.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParser/Native.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParserException.php b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParserException.php similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifier/VarParserException.php rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifier/VarParserException.php diff --git a/3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifierLicense b/3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifierLicense similarity index 100% rename from 3.1/modules/purifier/lib/HTMLPurifier/HTMLPurifierLicense rename to 3.1/modules/purifier/vendor/HTMLPurifier/HTMLPurifierLicense diff --git a/README b/README new file mode 100644 index 00000000..189117a1 --- /dev/null +++ b/README @@ -0,0 +1,15 @@ +Gallery3 Contrib + +These are unofficial modules, themes and utilities for Gallery 3 +created by the Gallery community. Many of them add considerable value +to your Gallery 3 install, but they come with no official support from +the core Gallery team. + +To discuss anything you find here, please refer to the Gallery forums: + + http://gallery.menalto.com/forum/96 + +For an easy interface to download and install individual modules, +please refer to: + + http://gallerymodules.com