It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://blet.shop/ticket/2496?format=rss

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  <head>
  12.    <title>
  13.      #2496 (Support slashes in slug settings)
  14.     – bbPress Trac
  15.    </title>
  16.      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  17.      <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  18.    <!--[if IE]><script type="text/javascript">
  19.      if (/^#__msie303:/.test(window.location.hash))
  20.        window.location.replace(window.location.hash.replace(/^#__msie303:/, '#'));
  21.    </script><![endif]-->
  22.          <link rel="search" href="/search" />
  23.          <link rel="prev" href="/ticket/2495" title="Ticket #2495" />
  24.          <link rel="last" href="/ticket/3609" title="Ticket #3609" />
  25.          <link rel="help" href="/wiki/TracGuide" />
  26.          <link rel="alternate" href="/ticket/2496?format=csv" type="text/csv" class="csv" title="Comma-delimited Text" />
  27.          <link rel="alternate" href="/ticket/2496?format=tab" type="text/tab-separated-values" class="tab" title="Tab-delimited Text" />
  28.          <link rel="alternate" href="/ticket/2496?format=rss" type="application/rss+xml" class="rss" title="RSS Feed" />
  29.          <link rel="next" href="/ticket/2497" title="Ticket #2497" />
  30.          <link rel="start" href="/wiki" />
  31. <link rel="stylesheet" href="https://s.w.org/style/trac/common/css/trac.css?v=220" />
  32. <link rel="stylesheet" href="https://s.w.org/style/trac/common/css/ticket.css?v=220" />
  33. <link rel="stylesheet" href="https://s.w.org/style/trac/common/css/jquery-ui/jquery-ui.css?v=220" />
  34. <link rel="stylesheet" href="https://s.w.org/style/trac/common/css/jquery-ui-addons.css?v=220" />
  35.          <link rel="icon" href="https://bbpress.org/favicon.ico" type="image/x-icon" />
  36.          <link rel="first" href="/ticket/1" title="Ticket #1" />
  37.    <style id="trac-noscript" type="text/css">.trac-noscript { display: none !important }</style>
  38.      <link type="application/opensearchdescription+xml" rel="search" href="/search/opensearch" title="Search bbPress Trac" />
  39.    <script type="text/javascript">
  40.      var auto_preview_timeout=2.0;
  41.      var form_token="0b5e4ff3474d5fa51ee2d1f6";
  42.      var jquery_ui={"ampm":true,"date_format":"mm/dd/yy","day_names":{"abbreviated":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"narrow":["Su","Mo","Tu","We","Th","Fr","Sa"],"wide":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},"default_timezone":null,"first_week_day":0,"month_names":{"abbreviated":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"wide":["January","February","March","April","May","June","July","August","September","October","November","December"]},"period_names":{"am":["AM","AM"],"pm":["PM","PM"]},"show_timezone":false,"time_format":"hh:mm:ss TT","timepicker_separator":" ","timezone_iso8601":false,"timezone_list":null};
  43.      var comments_prefs={"comments_order":"oldest","show_comments":"true","show_prop_changes":"true"};
  44.    </script>
  45. <link rel="dns-prefetch" href="//fonts.googleapis.com" />
  46. <link rel="dns-prefetch" href="//www.googletagmanager.com" />
  47. <script>//<![CDATA[
  48. (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  49. new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  50. j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  51. 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  52. })(window,document,'script','dataLayer','GTM-P24PF4B');
  53. //]]></script>
  54. <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Open+Sans%3A300italic%2C400italic%2C600italic%2C300%2C400%2C600&amp;subset=latin%2Clatin-ext&amp;ver=3.8.1-alpha" type="text/css" media="all" />
  55. <link type="text/css" media="screen" rel="stylesheet" href="//bbpress.org/wp-content/themes/bb-base/style.css?v=24" />
  56. <link type="text/css" media="screen" rel="stylesheet" href="//bbpress.org/wp-content/themes/bb-base/style-bbpress.css?v=24" />
  57.  
  58. <meta name="viewport" content="width=device-width" />
  59. <link rel="stylesheet" href="https://s.w.org/wp-includes/css/dashicons.min.css?20150710" type="text/css" />
  60. <link rel="stylesheet" type="text/css" href="https://s.w.org/style/trac/wp-trac.css?220" />
  61. <script src="https://s.w.org/style/trac/common/js/jquery.js?v=220"></script>
  62. <link rel="canonical" href="https://bbpress.trac.wordpress.org/ticket/2496" />
  63. <script src="https://s.w.org/style/trac/common/js/babel.js?v=220"></script>
  64. <script src="https://s.w.org/style/trac/common/js/trac.js?v=220"></script>
  65. <script src="https://s.w.org/style/trac/common/js/search.js?v=220"></script>
  66. <script src="https://s.w.org/style/trac/common/js/folding.js?v=220"></script>
  67. <script src="https://s.w.org/style/trac/common/js/wikitoolbar.js?v=220"></script>
  68. <script src="https://s.w.org/style/trac/common/js/resizer.js?v=220"></script>
  69. <script src="https://s.w.org/style/trac/common/js/auto_preview.js?v=220"></script>
  70. <script src="https://s.w.org/style/trac/common/js/jquery-ui.js?v=220"></script>
  71. <script src="https://s.w.org/style/trac/common/js/jquery-ui-addons.js?v=220"></script>
  72. <script src="https://s.w.org/style/trac/common/js/jquery-ui-i18n.js?v=220"></script>
  73.    <script type="text/javascript">
  74.      jQuery("#trac-noscript").remove();
  75.      jQuery(document).ready(function($) {
  76.        $(".trac-autofocus").focus();
  77.        $(".trac-target-new").attr("target", "_blank");
  78.        if ($.ui) { /* is jquery-ui added? */
  79.          $(".trac-datepicker:not([readonly])").prop("autocomplete", "off").datepicker();
  80.          $(".trac-datetimepicker:not([readonly])").prop("autocomplete", "off").datetimepicker();
  81.          $("#main").addClass("trac-nodatetimehint");
  82.        }
  83.        $(".trac-disable").disableSubmit(".trac-disable-determinant");
  84.        setTimeout(function() { $(".trac-scroll").scrollToTop() }, 1);
  85.        $(".trac-disable-on-submit").disableOnSubmit();
  86.      });
  87.    </script>
  88. <script src="https://s.w.org/style/trac/common/js/threaded_comments.js?v=220"></script>
  89.    <script type="text/javascript">
  90.      jQuery(document).ready(function($) {
  91.        $("div.description").find("h1,h2,h3,h4,h5,h6").addAnchor(_("Link to this section"));
  92.        $(".foldable").enableFolding(false, true);
  93.      /*<![CDATA[*/
  94.        $("#attachments").toggleClass("collapsed");
  95.        $("#trac-up-attachments").click(function () {
  96.          $("#attachments").removeClass("collapsed");
  97.          return true;
  98.        });
  99.        $("#modify").parent().toggleClass("collapsed");
  100.        $(".trac-topnav a").click(function() { $("#modify").parent().removeClass("collapsed"); });
  101.        function setRevertHandler() {
  102.          $("button.trac-revert").click(function() {
  103.            var div = $("div", this);
  104.            var field_name = div[0].id.substr(7);
  105.            var field_value = div.text();
  106.            var input = $("#propertyform *[name=field_" + field_name + "]");
  107.            if (input.length > 0) {
  108.              if (input.filter("input[type=radio]").length > 0) {
  109.                input.val([field_value]);
  110.              } else if (input.filter("input[type=checkbox]").length > 0) {
  111.                input.val(field_value == "1" ? [field_value] : []);
  112.              } else {
  113.                input.val(field_value);
  114.              }
  115.            } else { // Special case for CC checkbox
  116.              input = $("#propertyform input[name=cc_update]").val([]);
  117.            }
  118.            input.change();
  119.            // Remove the revert button
  120.            if ($(this).closest("tbody").children("tr").length === 1)
  121.              $(this).closest(".trac-change-panel").remove();
  122.            else
  123.              $(this).closest("tr").remove();
  124.            return false;
  125.          });
  126.        }
  127.        setRevertHandler();
  128.        var comment_focused = false;
  129.        $("#comment").focus(function() { comment_focused = true; })
  130.                     .blur(function() { comment_focused = false; });
  131.        $("#propertyform").autoSubmit({preview: '1'}, function(data, reply) {
  132.          var items = $(reply);
  133.          // Update ticket box
  134.          $("#ticket").replaceWith(items.filter('#ticket'));
  135.          // Replaces content of #changelog, without recreating it
  136.          $("#changelog").empty().append(items.filter("#changelog").contents());
  137.          // Apply comments order and "Show" preferences
  138.          applyCommentsOrder(
  139.            $('#prefs input[name="trac-comments-order"]:checked').val());
  140.          // Show warning
  141.          var new_changes = $("#changelog .trac-new");
  142.          $("#trac-edit-warning").toggle(new_changes.length != 0);
  143.          if (new_changes.length != 0)
  144.            $("#changelog").parent().show().removeClass("collapsed");
  145.          // Update view time
  146.          $("#propertyform input[name='view_time']").replaceWith(items.filter("input[name='view_time']"));
  147.          // Update preview
  148.          var preview = $("#ticketchange").html(items.filter('#preview').children());
  149.          var show_preview = preview.children().length != 0;
  150.          $("#ticketchange").toggle(show_preview);
  151.          setRevertHandler();
  152.          // Execute scripts to load stylesheets
  153.          items.filter("script").appendTo("head");
  154.        }, "#ticketchange .trac-loading");
  155.        $("#trac-comment-editor").autoSubmit({preview_comment: '1'}, function(data, reply) {
  156.          var comment = $("#trac-comment-editor").next("div.comment").html(reply);
  157.          comment.toggle(comment.children().length != 0);
  158.        }, "#changelog .trac-loading");
  159.        /*]]>*/
  160.      });
  161.    </script>
  162.  </head>
  163.  <body id="wordpress-org" class="bbpress trac wporg-make make-bbpress">
  164. <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P24PF4B" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  165.    <dl id="accessibility">
  166.        <dt>Skip to:</dt>
  167.        <dd><a href="#content" title="Skip to content">Content</a></dd>
  168.    </dl>
  169.    <div id="wporg-header">
  170.        <div id="header-inner">
  171. <button id="mobile-menu-button" aria-expanded="false"><span class="screen-reader-text">Toggle Menu</span></button>
  172.            <ul id="wporg-header-menu">
  173.                <li><a href="https://bbpress.org/about/">About</a></li>
  174.                <li><a href="https://bbpress.org/plugins/">Plugins</a></li>
  175.                <li><a href="https://bbpress.org/themes/">Themes</a></li>
  176.                <li><a href="https://codex.bbpress.org/">Documentation</a></li>
  177.                <li><a href="https://bbpress.org/blog/">Blog</a></li>
  178.                <li><a href="https://bbpress.org/forums/">Support</a></li>
  179.                <li class="download"><a href="https://bbpress.org/download/">Download</a></li>
  180.            </ul>
  181.            <h1><a href="https://bbpress.org">bbPress.org</a></h1>
  182.        </div>
  183.    </div>
  184. <div id="subnav">
  185. <div id="subnav-inner">
  186. <ul id="nav-user" class="menu">
  187. <li class="last first">
  188. <a href="https://login.wordpress.org/?redirect_to=https%3A%2F%2Fbbpress.trac.wordpress.org%2Fticket%2F2496" class="login">Login</a>
  189. </li>
  190. </ul>
  191. </div>
  192. </div>
  193. <div id="banner">
  194. <form id="search" action="/search" method="get">
  195.        <div>
  196.          <label for="proj-search">Search:</label>
  197.          <input type="text" id="proj-search" name="q" size="18" value="" />
  198.          <input type="submit" value="Search" />
  199.        </div>
  200.      </form>
  201. </div>
  202.    <div id="mainnav" class="nav">
  203.    <ul>
  204.      <li class="first"><a href="/timeline">Timeline</a></li><li class="active"><a href="/report">View Tickets</a></li><li><a href="/roadmap">Roadmap</a></li><li><a href="/browser">Browse Source</a></li><li class="last"><a href="/ticketgraph">Ticket Graph</a></li>
  205.    </ul>
  206.  </div>
  207.    <div id="main">
  208.      <div id="ctxtnav" class="nav">
  209.        <h2>Context Navigation</h2>
  210.        <ul>
  211.          <li class="first"><span>&larr; <a class="prev" href="/ticket/2495" title="Ticket #2495">Previous Ticket</a></span></li><li class="last"><span><a class="next" href="/ticket/2497" title="Ticket #2497">Next Ticket</a> &rarr;</span></li>
  212.        </ul>
  213.        <hr />
  214.      </div>
  215.    <div id="content" class="ticket">
  216.        <div id="ticket" class="trac-content ">
  217.  <div class="date">
  218.    <p>Opened <a class="timeline" href="/timeline?from=2013-12-25T02%3A21%3A34Z&amp;precision=second" title="See timeline at 12/25/2013 02:21:34 AM">11 years ago</a></p>
  219.    <p>Closed <a class="timeline" href="/timeline?from=2014-06-05T20%3A48%3A40Z&amp;precision=second" title="See timeline at 06/05/2014 08:48:40 PM">10 years ago</a></p>
  220.    <p>Last modified <a class="timeline" href="/timeline?from=2023-11-17T20%3A01%3A30Z&amp;precision=second" title="See timeline at 11/17/2023 08:01:30 PM">12 months ago</a></p>
  221.  </div>
  222.  <h2>
  223.    <a href="/ticket/2496" class="trac-id">#2496</a>
  224.    <span class="trac-status">
  225.      <a href="/query?status=closed">closed</a>
  226.    </span>
  227.    <span class="trac-type">
  228.      <a href="/query?status=!closed&amp;type=defect+(bug)">defect (bug)</a>
  229.    </span>
  230.    <span class="trac-resolution">
  231.      (<a href="/query?status=closed&amp;resolution=fixed">fixed</a>)
  232.    </span>
  233.  </h2>
  234.  <h1 id="trac-ticket-title" class="searchable">
  235.    <span class="summary">Support slashes in slug settings</span>
  236.  </h1>
  237.  <table class="properties">
  238.    <tr>
  239.      <th id="h_reporter">Reported by:</th>
  240.      <td headers="h_reporter" class="searchable">
  241.  <a href="https://profiles.wordpress.org/mordauk" data-nicename="mordauk">
  242.    <img class="avatar" src="https://wordpress.org/grav-redirect.php?user=mordauk&amp;s=48" srcset="https://wordpress.org/grav-redirect.php?user=mordauk&amp;s=96 2x" height="48" width="48" alt="mordauk's profile" />
  243.  </a>
  244.    <a class="trac-author" href="/query?status=!closed&amp;reporter=mordauk">mordauk</a>
  245. </td>
  246.      <th id="h_owner" class="missing">Owned by:</th>
  247.      <td headers="h_owner">
  248. </td>
  249.    </tr>
  250.    <tr>
  251.        <th id="h_milestone">
  252.          Milestone:
  253.        </th>
  254.        <td headers="h_milestone">
  255.              <a class="closed milestone" href="/milestone/2.5.4" title="Completed 10 years ago (06/06/2014 07:58:59 PM)">2.5.4</a>
  256.        </td>
  257.        <th id="h_priority">
  258.          Priority:
  259.        </th>
  260.        <td headers="h_priority">
  261.              <a href="/query?status=!closed&amp;priority=highest+omg+sweet+tea">highest omg sweet tea</a>
  262.        </td>
  263.    </tr><tr>
  264.        <th id="h_severity">
  265.          Severity:
  266.        </th>
  267.        <td headers="h_severity">
  268.              <a href="/query?status=!closed&amp;severity=normal">normal</a>
  269.        </td>
  270.        <th id="h_version">
  271.          Version:
  272.        </th>
  273.        <td headers="h_version">
  274.              <a href="/query?status=!closed&amp;version=2.1">2.1</a>
  275.        </td>
  276.    </tr><tr>
  277.        <th id="h_component">
  278.          Component:
  279.        </th>
  280.        <td headers="h_component">
  281.              <a href="/query?status=!closed&amp;component=API+-+Rewrite+Rules">API - Rewrite Rules</a>
  282.        </td>
  283.        <th id="h_keywords" class="missing">
  284.          Keywords:
  285.        </th>
  286.        <td headers="h_keywords" class="searchable">
  287.        </td>
  288.    </tr><tr>
  289.        <th id="h_cc">
  290.          Cc:
  291.        </th>
  292.        <td headers="h_cc" class="searchable">
  293.              pippin@…
  294.        </td>
  295.        <th class="missing">
  296.        </th>
  297.        <td>
  298.        </td>
  299.    </tr>
  300.  </table>
  301.  <div class="description">
  302.    <h3 id="comment:description">
  303.      Description
  304.    </h3>
  305.    <div class="searchable">
  306.      <p>
  307. Scenario: a site needs to have forum user profiles set to <code>forums/membership-services/view-profile/{username}</code><br />
  308. </p>
  309. <p>
  310. Problem: in order to do this (without modifying the URLs via a filter) the user needs to set <code>User Base</code> slug to <code>membership-services/view-profile</code>, except bbPress strips slashes from these fields.<br />
  311. </p>
  312. <p>
  313. It'd be great to be able to set bbPress URLs that contain an extra level.<br />
  314. </p>
  315.  
  316.    </div>
  317.  </div>
  318. </div>
  319.          
  320.    <div id="attachments">
  321.        <h3 class="foldable">Attachments <span class="trac-count">(1)</span></h3>
  322.        <div class="attachments">
  323.          <dl class="attachments">
  324.              <dt>
  325.    <a href="/attachment/ticket/2496/2496.patch" title="View attachment">2496.patch</a><a href="/raw-attachment/ticket/2496/2496.patch" class="trac-rawlink" title="Download">​</a> (<span title="5044 bytes">4.9 KB</span>) - added by <span class="trac-author">johnjamesjacoby</span> <a class="timeline" href="/timeline?from=2014-06-05T20%3A30%3A27Z&amp;precision=second" title="See timeline at 06/05/2014 08:30:27 PM">10 years ago</a>.
  326.  </dt>
  327.              <dd>
  328.                Patched against trunk
  329.              </dd>
  330.          </dl>
  331.          <p>
  332.            Download all attachments as: <a rel="nofollow" href="/zip-attachment/ticket/2496/">.zip</a>
  333.          </p>
  334.          
  335.        </div>
  336.    </div>
  337.  
  338.        <div>
  339.          <div class="trac-noscript" style="position: relative">
  340.            <form id="prefs" method="get" action="/prefs" style="position: absolute; right: 0">
  341.              <div id="trac-comments-order">
  342.                <input type="radio" id="trac-comments-oldest" name="trac-comments-order" value="oldest" checked="checked" />
  343.                <label for="trac-comments-oldest">Oldest first</label>
  344.                <input type="radio" id="trac-comments-newest" name="trac-comments-order" value="newest" />
  345.                <label for="trac-comments-newest">Newest first</label>
  346.                <span id="trac-threaded-toggle" style="display: none">
  347.                  <input type="radio" id="trac-comments-threaded" name="trac-comments-order" value="threaded" />
  348.                  <label for="trac-comments-threaded">Threaded</label>
  349.                </span>
  350.              </div>
  351.              <div>
  352.                <input id="trac-show-comments-toggle" type="checkbox" checked="checked" />
  353.                <label for="trac-show-comments-toggle">Show comments</label>
  354.                <input id="trac-show-property-changes-toggle" type="checkbox" />
  355.                <label for="trac-show-property-changes-toggle">Show property changes</label>
  356.              </div>
  357.            </form>
  358.          </div>
  359.          <h3 class="foldable">Change History <span class="trac-count">(10)</span></h3>
  360.          <div id="changelog">
  361.              <div class="change" id="trac-change-1-1387938467835164">
  362.                
  363.  <h3 class="change">
  364.    <span class="threading">
  365.      <span id="comment:1" class="cnum">
  366.    <a href="#comment:1">#1</a>
  367.  </span>
  368.    </span>
  369.        <span class="avatar">
  370.          <span class="username-line"><a href="https://profiles.wordpress.org/mordauk" class="profile-link">
  371.            <img src="https://wordpress.org/grav-redirect.php?user=mordauk&amp;s=48" srcset="https://wordpress.org/grav-redirect.php?user=mordauk&amp;s=96 2x" height="48" width="48" alt="" /> @<span class="username" data-username="mordauk" data-nicename="mordauk"><span class="trac-author">mordauk</span></span></a></span>
  372.            <br /><span class="time-ago"><a class="timeline" href="/timeline?from=2013-12-25T02%3A27%3A47Z&amp;precision=second" title="See timeline at 12/25/2013 02:27:47 AM">11 years</a> ago</span>
  373.        </span>
  374.    <div class="trac-ticket-buttons">
  375.    </div>
  376.  </h3>
  377.  <div class="trac-ticket-buttons"></div>
  378.    <div class="comment searchable">
  379.      <p>
  380. Currently the slugs are all passed through <code>sanitize_title()</code> for the <code>sanitize_callback</code>. We can support slashes by passing it through <code>sanitize_text_field()</code> instead.<br />
  381. </p>
  382. <p>
  383. I've tested this and it does work by simply changing <code>sanitize_title()</code> to <code>sanitize_text_field()</code>. Are there any draw backs to doing this?<br />
  384. </p>
  385.  
  386.    </div>
  387.  
  388.              </div>
  389.              <div class="change" id="trac-change-2-1387938554709000">
  390.                
  391.  <h3 class="change">
  392.    <span class="threading">
  393.      <span id="comment:2" class="cnum">
  394.    <a href="#comment:2">#2</a>
  395.  </span>
  396.    </span>
  397.        <span class="avatar">
  398.          <span class="username-line"><a href="https://profiles.wordpress.org/mordauk" class="profile-link">
  399.            <img src="https://wordpress.org/grav-redirect.php?user=mordauk&amp;s=48" srcset="https://wordpress.org/grav-redirect.php?user=mordauk&amp;s=96 2x" height="48" width="48" alt="" /> @<span class="username" data-username="mordauk" data-nicename="mordauk"><span class="trac-author">mordauk</span></span></a></span>
  400.            <br /><span class="time-ago"><a class="timeline" href="/timeline?from=2013-12-25T02%3A29%3A14Z&amp;precision=second" title="See timeline at 12/25/2013 02:29:14 AM">11 years</a> ago</span>
  401.        </span>
  402.    <div class="trac-ticket-buttons">
  403.    </div>
  404.  </h3>
  405.  <div class="trac-ticket-buttons"></div>
  406.  <ul class="changes">
  407.    <li class="trac-field-cc">
  408.      <strong class="trac-field-cc">Cc</strong>
  409.        <em>pippin@…</em> added
  410.    </li>
  411.  </ul>
  412.  
  413.              </div>
  414.              <div class="change" id="trac-change-3-1388733059734509">
  415.                
  416.  <h3 class="change">
  417.    <span class="threading">
  418.      <span id="comment:3" class="cnum">
  419.    <a href="#comment:3">#3</a>
  420.  </span>
  421.    </span>
  422.        <span class="avatar">
  423.          <span class="username-line"><a href="https://profiles.wordpress.org/johnjamesjacoby" class="profile-link">
  424.            <img src="https://wordpress.org/grav-redirect.php?user=johnjamesjacoby&amp;s=48" srcset="https://wordpress.org/grav-redirect.php?user=johnjamesjacoby&amp;s=96 2x" height="48" width="48" alt="" /> @<span class="username" data-username="johnjamesjacoby" data-nicename="johnjamesjacoby"><span class="trac-author">johnjamesjacoby</span></span></a></span>
  425.            <br /><span class="time-ago"><a class="timeline" href="/timeline?from=2014-01-03T07%3A10%3A59Z&amp;precision=second" title="See timeline at 01/03/2014 07:10:59 AM">11 years</a> ago</span>
  426.        </span>
  427.    <div class="trac-ticket-buttons">
  428.    </div>
  429.  </h3>
  430.  <div class="trac-ticket-buttons"></div>
  431.    <div class="comment searchable">
  432.      <p>
  433. <code>sanitize_text_field()</code> does not strip enough out. It allows unsafe URL characters, causing 404's.<br />
  434. </p>
  435. <p>
  436. We need a function that <code>explode()</code>'s by <code>/</code> and calls a number of sanitization's on each chunk in the string.<br />
  437. </p>
  438.  
  439.    </div>
  440.  
  441.              </div>
  442.              <div class="change" id="trac-change-4-1388733182995422">
  443.                
  444.  <h3 class="change">
  445.    <span class="threading">
  446.      <span id="comment:4" class="cnum">
  447.    <a href="#comment:4">#4</a>
  448.  </span>
  449.    </span>
  450.        <span class="avatar">
  451.          <span class="username-line"><a href="https://profiles.wordpress.org/johnjamesjacoby" class="profile-link">
  452.            <img src="https://wordpress.org/grav-redirect.php?user=johnjamesjacoby&amp;s=48" srcset="https://wordpress.org/grav-redirect.php?user=johnjamesjacoby&amp;s=96 2x" height="48" width="48" alt="" /> @<span class="username" data-username="johnjamesjacoby" data-nicename="johnjamesjacoby"><span class="trac-author">johnjamesjacoby</span></span></a></span>
  453.            <br /><span class="time-ago"><a class="timeline" href="/timeline?from=2014-01-03T07%3A13%3A02Z&amp;precision=second" title="See timeline at 01/03/2014 07:13:02 AM">11 years</a> ago</span>
  454.        </span>
  455.    <div class="trac-ticket-buttons">
  456.    </div>
  457.  </h3>
  458.  <div class="trac-ticket-buttons"></div>
  459.  <ul class="changes">
  460.    <li class="trac-field-milestone">
  461.      <strong class="trac-field-milestone">Milestone</strong>
  462.        changed from <em>Awaiting Review</em> to <em>2.7</em>
  463.    </li>
  464.  </ul>
  465.  
  466.              </div>
  467.              <div class="change" id="trac-change-5-1388780955688535">
  468.                
  469.  <h3 class="change">
  470.    <span class="threading">
  471.      <span id="comment:5" class="cnum">
  472.    <a href="#comment:5">#5</a>
  473.  </span>
  474.    </span>
  475.        <span class="avatar">
  476.          <span class="username-line"><a href="https://profiles.wordpress.org/mordauk" class="profile-link">
  477.            <img src="https://wordpress.org/grav-redirect.php?user=mordauk&amp;s=48" srcset="https://wordpress.org/grav-redirect.php?user=mordauk&amp;s=96 2x" height="48" width="48" alt="" /> @<span class="username" data-username="mordauk" data-nicename="mordauk"><span class="trac-author">mordauk</span></span></a></span>
  478.            <br /><span class="time-ago"><a class="timeline" href="/timeline?from=2014-01-03T20%3A29%3A15Z&amp;precision=second" title="See timeline at 01/03/2014 08:29:15 PM">11 years</a> ago</span>
  479.        </span>
  480.    <div class="trac-ticket-buttons">
  481.    </div>
  482.  </h3>
  483.  <div class="trac-ticket-buttons"></div>
  484.    <div class="comment searchable">
  485.      <p>
  486. Would passing each chunk through sanitize_title() be sufficient?<br />
  487. </p>
  488.  
  489.    </div>
  490.  
  491.              </div>
  492.              <div class="change" id="trac-change-6-1402000132921397">
  493.                
  494.  <h3 class="change">
  495.    <span class="threading">
  496.      <span id="comment:6" class="cnum">
  497.    <a href="#comment:6">#6</a>
  498.  </span>
  499.    </span>
  500.        <span class="avatar">
  501.          <span class="username-line"><a href="https://profiles.wordpress.org/johnjamesjacoby" class="profile-link">
  502.            <img src="https://wordpress.org/grav-redirect.php?user=johnjamesjacoby&amp;s=48" srcset="https://wordpress.org/grav-redirect.php?user=johnjamesjacoby&amp;s=96 2x" height="48" width="48" alt="" /> @<span class="username" data-username="johnjamesjacoby" data-nicename="johnjamesjacoby"><span class="trac-author">johnjamesjacoby</span></span></a></span>
  503.            <br /><span class="time-ago"><a class="timeline" href="/timeline?from=2014-06-05T20%3A28%3A52Z&amp;precision=second" title="See timeline at 06/05/2014 08:28:52 PM">10 years</a> ago</span>
  504.        </span>
  505.    <div class="trac-ticket-buttons">
  506.    </div>
  507.  </h3>
  508.  <div class="trac-ticket-buttons"></div>
  509.  <ul class="changes">
  510.    <li class="trac-field-milestone">
  511.      <strong class="trac-field-milestone">Milestone</strong>
  512.        changed from <em>2.7</em> to <em>2.5.4</em>
  513.    </li><li class="trac-field-priority">
  514.      <strong class="trac-field-priority">Priority</strong>
  515.        changed from <em>normal</em> to <em>highest</em>
  516.    </li><li class="trac-field-type">
  517.      <strong class="trac-field-type">Type</strong>
  518.        changed from <em>enhancement</em> to <em>defect</em>
  519.    </li><li class="trac-field-version">
  520.      <strong class="trac-field-version">Version</strong>
  521.        changed from <em>trunk</em> to <em>2.1</em>
  522.    </li>
  523.  </ul>
  524.    <div class="comment searchable">
  525.      <p>
  526. Turns out a somewhat urgent fix is necessary here, so moving to 2.5.4.<br />
  527. </p>
  528.  
  529.    </div>
  530.  
  531.              </div>
  532.              <div class="change">
  533.                
  534.  <h3 class="change">
  535.    <span class="threading">
  536.    </span>
  537.        <span class="avatar">
  538.          <span class="username-line"><a href="https://profiles.wordpress.org/johnjamesjacoby" class="profile-link">
  539.            <img src="https://wordpress.org/grav-redirect.php?user=johnjamesjacoby&amp;s=48" srcset="https://wordpress.org/grav-redirect.php?user=johnjamesjacoby&amp;s=96 2x" height="48" width="48" alt="" /> @<span class="username" data-username="johnjamesjacoby" data-nicename="johnjamesjacoby"><span class="trac-author">johnjamesjacoby</span></span></a></span>
  540.            <br /><span class="time-ago"><a class="timeline" href="/timeline?from=2014-06-05T20%3A30%3A27Z&amp;precision=second" title="See timeline at 06/05/2014 08:30:27 PM">10 years</a> ago</span>
  541.        </span>
  542.    <div class="trac-ticket-buttons">
  543.    </div>
  544.  </h3>
  545.  <div class="trac-ticket-buttons"></div>
  546.  <ul class="changes">
  547.    <li class="trac-field-attachment">
  548.      <strong class="trac-field-attachment">Attachment</strong>
  549.        <a href="/attachment/ticket/2496/2496.patch"><em>2496.patch</em></a><a href="/raw-attachment/ticket/2496/2496.patch" title="Download" class="trac-rawlink">​</a>
  550.          added
  551.    </li>
  552.  </ul>
  553.    <div class="comment searchable">
  554.      <p>
  555. Patched against trunk<br />
  556. </p>
  557.  
  558.    </div>
  559.  
  560.              </div>
  561.              <div class="change" id="trac-change-7-1402000835037663">
  562.                
  563.  <h3 class="change">
  564.    <span class="threading">
  565.      <span id="comment:7" class="cnum">
  566.    <a href="#comment:7">#7</a>
  567.  </span>
  568.    </span>
  569.        <span class="avatar">
  570.          <span class="username-line"><a href="https://profiles.wordpress.org/johnjamesjacoby" class="profile-link">
  571.            <img src="https://wordpress.org/grav-redirect.php?user=johnjamesjacoby&amp;s=48" srcset="https://wordpress.org/grav-redirect.php?user=johnjamesjacoby&amp;s=96 2x" height="48" width="48" alt="" /> @<span class="username" data-username="johnjamesjacoby" data-nicename="johnjamesjacoby"><span class="trac-author">johnjamesjacoby</span></span></a></span>
  572.            <br /><span class="time-ago"><a class="timeline" href="/timeline?from=2014-06-05T20%3A40%3A35Z&amp;precision=second" title="See timeline at 06/05/2014 08:40:35 PM">10 years</a> ago</span>
  573.        </span>
  574.    <div class="trac-ticket-buttons">
  575.    </div>
  576.  </h3>
  577.  <div class="trac-ticket-buttons"></div>
  578.    <div class="comment searchable">
  579.      <p>
  580. In <a class="changeset" href="/changeset/5365" title="Introduce `bbp_sanitize_slug()` function for sanitizing permalink ...">5365</a>:<br />
  581. </p>
  582. <div class="message"><p>
  583. Introduce <code>bbp_sanitize_slug()</code> function for sanitizing permalink slugs, and use it as the callback for any slug settings. Props mazengamal. See <a class="closed ticket" href="/ticket/2496" title="#2496: defect (bug): Support slashes in slug settings (closed: fixed)">#2496</a> (trunk).<br />
  584. </p>
  585. </div>
  586.    </div>
  587.  
  588.              </div>
  589.              <div class="change" id="trac-change-8-1402001096575104">
  590.                
  591.  <h3 class="change">
  592.    <span class="threading">
  593.      <span id="comment:8" class="cnum">
  594.    <a href="#comment:8">#8</a>
  595.  </span>
  596.    </span>
  597.        <span class="avatar">
  598.          <span class="username-line"><a href="https://profiles.wordpress.org/johnjamesjacoby" class="profile-link">
  599.            <img src="https://wordpress.org/grav-redirect.php?user=johnjamesjacoby&amp;s=48" srcset="https://wordpress.org/grav-redirect.php?user=johnjamesjacoby&amp;s=96 2x" height="48" width="48" alt="" /> @<span class="username" data-username="johnjamesjacoby" data-nicename="johnjamesjacoby"><span class="trac-author">johnjamesjacoby</span></span></a></span>
  600.            <br /><span class="time-ago"><a class="timeline" href="/timeline?from=2014-06-05T20%3A44%3A56Z&amp;precision=second" title="See timeline at 06/05/2014 08:44:56 PM">10 years</a> ago</span>
  601.        </span>
  602.    <div class="trac-ticket-buttons">
  603.    </div>
  604.  </h3>
  605.  <div class="trac-ticket-buttons"></div>
  606.    <div class="comment searchable">
  607.      <p>
  608. In <a class="changeset" href="/changeset/5366" title="Introduce `bbp_sanitize_slug()` function for sanitizing permalink ...">5366</a>:<br />
  609. </p>
  610. <div class="message"><p>
  611. Introduce <code>bbp_sanitize_slug()</code> function for sanitizing permalink slugs, and use it as the callback for any slug settings. Props mazengamal. See <a class="closed ticket" href="/ticket/2496" title="#2496: defect (bug): Support slashes in slug settings (closed: fixed)">#2496</a> (2.5 branch).<br />
  612. </p>
  613. </div>
  614.    </div>
  615.  
  616.              </div>
  617.              <div class="change" id="trac-change-9-1402001320379862">
  618.                
  619.  <h3 class="change">
  620.    <span class="threading">
  621.      <span id="comment:9" class="cnum">
  622.    <a href="#comment:9">#9</a>
  623.  </span>
  624.    </span>
  625.        <span class="avatar">
  626.          <span class="username-line"><a href="https://profiles.wordpress.org/johnjamesjacoby" class="profile-link">
  627.            <img src="https://wordpress.org/grav-redirect.php?user=johnjamesjacoby&amp;s=48" srcset="https://wordpress.org/grav-redirect.php?user=johnjamesjacoby&amp;s=96 2x" height="48" width="48" alt="" /> @<span class="username" data-username="johnjamesjacoby" data-nicename="johnjamesjacoby"><span class="trac-author">johnjamesjacoby</span></span></a></span>
  628.            <br /><span class="time-ago"><a class="timeline" href="/timeline?from=2014-06-05T20%3A48%3A40Z&amp;precision=second" title="See timeline at 06/05/2014 08:48:40 PM">10 years</a> ago</span>
  629.        </span>
  630.    <div class="trac-ticket-buttons">
  631.    </div>
  632.  </h3>
  633.  <div class="trac-ticket-buttons"></div>
  634.  <ul class="changes">
  635.    <li class="trac-field-resolution">
  636.      <strong class="trac-field-resolution">Resolution</strong>
  637.        set to <em>fixed</em>
  638.    </li><li class="trac-field-status">
  639.      <strong class="trac-field-status">Status</strong>
  640.        changed from <em>new</em> to <em>closed</em>
  641.    </li>
  642.  </ul>
  643.    <div class="comment searchable">
  644.      <p>
  645. Marking as resolved. Will release 2.5.4 later today.<br />
  646. </p>
  647.  
  648.    </div>
  649.  
  650.              </div>
  651.          </div>
  652.        </div>
  653.      <div id="help"><strong>Note:</strong> See
  654.        <a href="/wiki/TracTickets">TracTickets</a> for help on using
  655.        tickets.</div>
  656.    </div>
  657.    <div id="altlinks">
  658.    <a class="preferences-link" href="/prefs">Trac UI Preferences</a>
  659.      <h3>Download in other formats:</h3>
  660.      <ul>
  661.        <li class="first">
  662.          <a rel="nofollow" href="/ticket/2496?format=csv" class="csv">Comma-delimited Text</a>
  663.        </li><li>
  664.          <a rel="nofollow" href="/ticket/2496?format=tab" class="tab">Tab-delimited Text</a>
  665.        </li><li class="last">
  666.          <a rel="nofollow" href="/ticket/2496?format=rss" class="rss">RSS Feed</a>
  667.        </li>
  668.      </ul>
  669. </div>
  670.    </div>
  671. <div id="footer">
  672. <div class="links">
  673. <p>
  674. See also:
  675. <a href="http://wordpress.org">WordPress.org</a> •
  676. <a href="http://bbpress.org">bbPress.org</a> •
  677. <a href="http://buddypress.org">BuddyPress.org</a> •
  678. <a href="http://ma.tt">Matt</a> •
  679. <a href="http://bbpress.org/feed/" title="RSS Feed for Articles">Blog RSS</a>
  680. </p>
  681. </div>
  682. <div class="details">
  683. <p>
  684. <a href="http://twitter.com/bbpress" class="twitter">Follow bbPress on Twitter</a> •
  685. <a href="http://bbpress.org/about/gpl/">GPL</a> •
  686. <a href="http://bbpress.org/contact/">Contact Us</a> •
  687. <a href="http://bbpress.org/terms/">Terms of Service</a>
  688. </p>
  689. </div>
  690. </div>
  691. <script>
  692. var wpTracCurrentUser = "anonymous";
  693. </script>
  694. <script src="https://s.w.org/style/js/navigation.min.js?20190128"></script>
  695. <script src="https://s.w.org/style/trac/jquery.caret.min.js?ver=2015-02-01"></script>
  696. <script src="https://s.w.org/style/trac/jquery.atwho.min.js?ver=1.0.1"></script>
  697. <script src="https://s.w.org/style/trac/wp-trac.js?220"></script>
  698. </body>
  699. </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda