CINXE.COM
Joomla! Issue Tracker | Joomla! CMS Issues
<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="blue" /> <meta property="og:description" content="Issue tracking platform for the Joomla! project" /> <meta property="og:image" content="https://cdn.joomla.org/images/sharing/joomla-org-og.jpg" /> <meta property="og:site_name" content="Joomla! Issue Tracker" /> <meta property="og:title" content="Joomla! Issue Tracker | Joomla! CMS Issues" /> <meta property="og:url" content="https://issues.joomla.org/tracker/joomla-cms" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:description" content="Issue tracking platform for the Joomla! project" /> <meta name="twitter:image" content="https://cdn.joomla.org/images/sharing/joomla-twitter-card.png" /> <meta name="twitter:site" content="@joomla" /> <meta name="twitter:title" content="Joomla! Issue Tracker | Joomla! CMS Issues" /> <link rel="stylesheet" href="https://cdn.joomla.org/template/css/template_4.0.7.min.css" media="screen" /> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400" /> <link rel="stylesheet" href="/media/css/vendor/octicons.css?148ac47b" /> <link rel="stylesheet" href="/media/css/jtracker.css?148ac47b" /> <link rel="stylesheet" href="/media/css/fontawesome.min.css?148ac47b" /> <link rel="apple-touch-icon-precomposed" href="/media/images/apple-touch-icon-144-precomposed.png" sizes="144x144" /> <link rel="apple-touch-icon-precomposed" href="/media/images/apple-touch-icon-114-precomposed.png" sizes="114x114" /> <link rel="apple-touch-icon-precomposed" href="/media/images/apple-touch-icon-72-precomposed.png" sizes="72x72" /> <link rel="apple-touch-icon-precomposed" href="/media/images/apple-touch-icon-57-precomposed.png" /> <style type="text/css"> h1, h2, h3, h4, h5, h6 { font-family: 'Open Sans', sans-serif; } </style> <link rel="stylesheet" href="/media/css/vendor/bootstrap-select.css?148ac47b" /> <title>Joomla! Issue Tracker | Joomla! CMS Issues</title> </head> <body class="site app-tracker view-issues layout-index"> <!-- Google Tag Manager --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-M7HXQ7" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-M7HXQ7');</script> <!-- End Google Tag Manager --> <nav class="navigation" role="navigation" aria-label="Quick Links to Joomla Official Websites"> <div id="mega-menu" class="navbar navbar-expand-md py-md-1"> <div class="container-xxl"> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#primaryMenu" aria-controls="primaryMenu" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="navbar-collapse collapse" id="primaryMenu"> <ul id="nav-joomla" class="navbar-nav"> <li class="dropdown"> <button type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"> <span dir="ltr"><span aria-hidden="true" class="fab fa-joomla"></span> Joomla!<sup>®</sup></span> <span class="caret"></span> </button> <ul class="dropdown-menu"> <li class="dropdown-item nav-header"><span>About us</span></li> <li> <a class="dropdown-item" href="https://www.joomla.org"> <span aria-hidden="true" class="icon-joomla"></span> Joomla Home </a> </li> <li><a class="dropdown-item" href="https://www.joomla.org/about-joomla.html">What is Joomla?</a></li> <li><a class="dropdown-item" href="https://www.joomla.org/core-features.html">Benefits & Features</a></li> <li><a class="dropdown-item" href="https://www.joomla.org/about-joomla/the-project.html">Project & Leadership</a></li> <li><a class="dropdown-item" href="https://tm.joomla.org">Trademark & Licensing</a></li> <li><a class="dropdown-item" href="https://joomlafoundation.org">The Joomla Foundation</a></li> <li class="dropdown-divider"></li> <li class="dropdown-item nav-header"><span>Support us</span></li> <li><a class="dropdown-item" href="https://www.joomla.org/contribute-to-joomla.html">Contribute</a></li> <li><a class="dropdown-item" href="https://www.joomla.org/sponsor.html">Sponsor</a></li> <li><a class="dropdown-item" href="https://www.joomla.org/about-joomla/partners.html">Partner</a></li> <li><a class="dropdown-item" href="https://shop.joomla.org">Shop</a></li> </ul> </li> <li class="dropdown"> <button type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"> Download & Extend <span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a class="dropdown-item" href="https://downloads.joomla.org">Downloads</a></li> <li><a class="dropdown-item" href="https://extensions.joomla.org">Extensions</a></li> <li><a class="dropdown-item" href="https://community.joomla.org/translations.html">Languages</a></li> <li><a class="dropdown-item" href="https://launch.joomla.org">Get a free site</a></li> <li><a class="dropdown-item" href="https://domains.joomla.org">Get a domain</a></li> </ul> </li> <li class="dropdown"> <button type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"> Discover & Learn <span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a class="dropdown-item" href="https://docs.joomla.org">Documentation</a></li> <li><a class="dropdown-item" href="https://community.joomla.org/joomla-training.html">Training</a></li> <li><a class="dropdown-item" href="https://certification.joomla.org">Certification</a></li> <li><a class="dropdown-item" href="https://showcase.joomla.org">Site Showcase</a></li> <li><a class="dropdown-item" href="https://www.joomla.org/announcements.html">Announcements</a></li> <li><a class="dropdown-item" href="https://community.joomla.org/blogs.html">Blogs</a></li> <li><a class="dropdown-item" href="https://magazine.joomla.org">Magazine</a></li> </ul> </li> <li class="dropdown"> <button type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"> Community & Support <span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a class="dropdown-item" href="https://community.joomla.org">Community Portal</a></li> <li><a class="dropdown-item" href="https://community.joomla.org/events.html">Events</a></li> <li><a class="dropdown-item" href="https://community.joomla.org/user-groups.html">User Groups</a></li> <li><a class="dropdown-item" href="https://forum.joomla.org">Forum</a></li> <li><a class="dropdown-item" href="https://community.joomla.org/service-providers-directory.html">Service Providers Directory</a></li> <li><a class="dropdown-item" href="https://volunteers.joomla.org">Volunteers Portal</a></li> <li><a class="dropdown-item" href="https://extensions.joomla.org/vulnerable-extensions/vulnerable/">Vulnerable Extensions List</a></li> </ul> </li> <li class="dropdown"> <button type="button" class="btn dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"> Developer Resources <span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a class="dropdown-item" href="https://developer.joomla.org">Developer Network</a></li> <li><a class="dropdown-item" href="https://developer.joomla.org/security.html">Security Centre</a></li> <li><a class="dropdown-item" href="https://issues.joomla.org">Issue Tracker</a></li> <li><a class="dropdown-item" href="https://github.com/joomla">GitHub</a></li> <li><a class="dropdown-item" href="https://api.joomla.org">API Documentation</a></li> <li><a class="dropdown-item" href="https://framework.joomla.org"><span dir="ltr">Joomla!</span> Framework</a></li> </ul> </li> </ul> <div id="nav-search" class="navbar-search float-md-end"> <jdoc:include type="modules" name="position-0" style="none" /> </div> </div> </div> </div> </nav> <header class="header"> <div class="container-md"> <div class="row"> <div class="col-md-7"> <h1 class="page-title"><a href="/">Joomla! Issue Tracker - CMS</a></h1> </div> <div class="col-md-5"> <div class="btn-toolbar pt-md-1 row"> <div class="btn-group col-6"> <a href="https://downloads.joomla.org" class="btn btn-lg btn-warning">Download</a> </div> <div class="btn-group col-6"> <a href="https://launch.joomla.org" class="btn btn-lg btn-primary">Launch<span class="fas fa-rocket ms-2" aria-hidden="true"></span></a> </div> </div> </div> </div> </div> </header> <div class="subnav-wrapper"> <div class="subnav"> <div class="container-md"> <ul class="nav menu nav-pills"> <li class="active"> <a class="nav-link" href="/tracker/joomla-cms">Tracker</a> </li> <li class="dropdown"> <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button">Project</a> <ul class="dropdown-menu"> <li class="nav-header">Joomla! CMS</li> <li class="dropdown-divider"><span></span></li> <li> <a class="dropdown-item" href="/project/joomla-cms"><span aria-hidden="true" class="fas fa-eye"></span> Show</a> </li> <li> <a class="dropdown-item" href="/activity/project/joomla-cms"><span aria-hidden="true" class="fas fa-chart-line"></span> Project Activity</a> </li> <li> <a class="dropdown-item" href="/activity/snapshot/joomla-cms"><span aria-hidden="true" class="fas fa-chart-line"></span> Snapshot</a> </li> <li> <a class="dropdown-item" href="/activity/user/joomla-cms"><span aria-hidden="true" class="fas fa-chart-line"></span> User Activity</a> </li> </ul> </li> <li class=""> <a class="nav-link" href="/projects">Projects</a> </li> <li class="dropdown"> <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button">/etc</a> <ul class="dropdown-menu"> <li class=""> <a class="dropdown-item" href="/page/about">About</a> </li> <li class=""> <a class="dropdown-item" href="/documentation">Documentation</a> </li> </ul> </li> <li class="ms-auto"> <a class="nav-link bg-success" href="https://github.com/login/oauth/authorize?client_id=e7208079bca517f781dd&redirect_uri=https%3A%2F%2Fissues.joomla.org%2Flogin%3Fusr_redirect%3DaHR0cHM6Ly9pc3N1ZXMuam9vbWxhLm9yZy90cmFja2VyL2pvb21sYS1jbXM%3D&scope=public_repo">Login with GitHub</a> </li> </ul> </div> </div> </div> <div class="body"> <div class="container"> <noscript><h2 class="alert">Please activate JavaScript in your browser.</h2></noscript> <div id="issuesForm" class="form-inline form-search"> <div class="filters btn-toolbar clearfix mb-4"> <div class="clearfix w-100"> <div class="btn-group" data-bs-toggle="buttons-checkbox" id="filter-state-div"> <button type="button" class="btn active btn-success" value="0">Open</button> <button type="button" class="btn btn-secondary" value="1">Closed</button> <button type="button" class="btn btn-secondary" value="2">All</button> </div> <div id="stools-button" class="btn-group"> <button type="button" class="btn btn-secondary float-start" data-bs-toggle="collapse" data-bs-target="#stools-container" aria-controls="stools-container" aria-expanded="false"> Search Tools <span aria-hidden="true" class="fas fa-caret-down"></span> </button> </div> <div class="btn-group"> <button class="btn btn-secondary" id="button-remove" type="button">Clear</button> </div> <div class="btn-group float-end"> <a class="btn btn-secondary" id="permalink" href="javascript:">Permalink</a> <a class="btn btn-secondary" href="/tracker/joomla-cms/random">Feeling Lucky</a> </div> </div> <div id="stools-container" class="collapse clearfix float-start"> <div class="filter-search btn-group input-append"> <label class="filter-search-lbl visually-hidden" for="filter-search">Filter the list by summary or description.</label> <input type="text" class="toclear search-query form-control" name="filter-search" id="filter-search" value="" title="Filter the list by ID, summary, or description." placeholder="Filter the list by ID, summary, or description."/> <button class="btn btn-secondary" type="submit"><span aria-hidden="true" class="fas fa-magnifying-glass"></span></button> </div> <div class="btn-group"> <select name="filter-type" id="filter-type" class="toclear input-medium-140 form-select"> <option value="0" selected="selected">- Type -</option> <option value="1">Pull Request</option> <option value="2">Issue</option> </select> </div> <div id="status-open" class="btn-group"> <select name="filter-status" id="filter-status-open" class="toclear input-medium-160 form-select"> <option value="0" selected="selected">- Status -</option> <option value="1">New</option> <option value="2">Confirmed</option> <option value="3">Pending</option> <option value="4">Ready To Commit</option> <option value="6">Needs Review</option> <option value="7">Information Required</option> <option value="14">Discussion</option> </select> </div> <div id="status-closed" class="btn-group" style="display: none"> <select name="filter-status" id="filter-status-closed" class="toclear input-medium-160 form-select"> <option value="0" selected="selected">- Status -</option> <option value="5">Fixed in Code Base</option> <option value="8">Unconfirmed Report</option> <option value="9">No Reply</option> <option value="10">Closed</option> <option value="11">Expected Behaviour</option> <option value="12">Known Issue</option> <option value="13">Duplicate Report</option> </select> </div> <div id="status-all" class="btn-group" style="display: none"> <select name="filter-status" id="filter-status-all" class="toclear input-medium-160 form-select"> <option value="0" selected="selected">- Status -</option> <option value="1">New</option> <option value="2">Confirmed</option> <option value="3">Pending</option> <option value="4">Ready To Commit</option> <option value="6">Needs Review</option> <option value="7">Information Required</option> <option value="14">Discussion</option> <option value="5">Fixed in Code Base</option> <option value="8">Unconfirmed Report</option> <option value="9">No Reply</option> <option value="10">Closed</option> <option value="11">Expected Behaviour</option> <option value="12">Known Issue</option> <option value="13">Duplicate Report</option> </select> </div> <div class="btn-group"> <select name="filter-category" id="filter-category" class="toclear selectpicker"> <option value="0" selected="selected">- Categories -</option> <option value="-1">No Categories</option> <option value="38">Accessibility</option> <option value="7">ACL</option> <option value="23">Administration</option> <option value="21">Authentication</option> <option value="17">Cache</option> <option value="18">CLI</option> <option value="22">Code style</option> <option value="42">com_admin</option> <option value="41">com_ajax</option> <option value="72">com_associations</option> <option value="43">com_banners</option> <option value="44">com_cache</option> <option value="45">com_categories</option> <option value="46">com_checkin</option> <option value="47">com_config</option> <option value="48">com_contact</option> <option value="49">com_content</option> <option value="50">com_contenthistory</option> <option value="51">com_cpanel</option> <option value="74">com_csp</option> <option value="71">com_fields</option> <option value="52">com_finder</option> <option value="53">com_installer</option> <option value="54">com_joomlaupdate</option> <option value="55">com_languages</option> <option value="56">com_login</option> <option value="69">com_mailto</option> <option value="35">com_media</option> <option value="58">com_menus</option> <option value="59">com_messages</option> <option value="60">com_modules</option> <option value="61">com_newsfeeds</option> <option value="62">com_plugins</option> <option value="63">com_postinstall</option> <option value="64">com_redirect</option> <option value="65">com_search</option> <option value="16">com_tags</option> <option value="67">com_templates</option> <option value="68">com_users</option> <option value="75">com_workflow</option> <option value="70">com_wrapper</option> <option value="29">Components</option> <option value="73">Composer Change</option> <option value="37">Documentation</option> <option value="4">External Library</option> <option value="39">Feature Request</option> <option value="40">Fields</option> <option value="24">Front End</option> <option value="6">IIS</option> <option value="25">Installation</option> <option value="1">JavaScript</option> <option value="27">Language & Strings</option> <option value="15">Layout</option> <option value="12">Libraries</option> <option value="13">Modules</option> <option value="3">MS SQL</option> <option value="8">Multilanguage</option> <option value="76">NPM Change</option> <option value="28">Plugins</option> <option value="2">Postgresql</option> <option value="36">Repository</option> <option value="19">Router / SEF</option> <option value="5">RTL</option> <option value="20">Search</option> <option value="10">SQL</option> <option value="31">Templates (admin)</option> <option value="30">Templates (site)</option> <option value="9">UI/UX</option> <option value="14">Unit Tests</option> <option value="26">Updating</option> <option value="77">Webservices</option> </select> </div> <div class="btn-group"> <select name="filter-label" id="filter-label" class="toclear selectpicker"> <option value="0" selected="selected">- Labels -</option> <option value="107">Conflicting Files</option> <option value="112">J4 Issue</option> <option value="113">J3 Issue</option> <option value="126">NPM Resource Changed</option> <option value="136">J4 Media Manager</option> <option value="145">Information Required</option> <option value="1274">a11y</option> <option value="1280">PBF</option> <option value="1285">bug</option> <option value="1286">good first issue</option> <option value="1326">Composer Dependency Changed</option> <option value="1327">Documentation Required</option> <option value="1340">Language Change</option> <option value="1401">No Code Attached Yet</option> <option value="1714">Release Blocker</option> <option value="1717">Ready to take over</option> <option value="1718">PHP 8.x</option> <option value="1719">Maintainers Checked</option> <option value="1721">PR-4.3-dev</option> <option value="1722">PR-5.0-dev</option> <option value="1727">PR-4.4-dev</option> <option value="1728">b/c break</option> <option value="1729">Removal</option> <option value="1730">Feature</option> <option value="1733">Backend Template</option> <option value="1734">Frontend Template</option> <option value="1735">PR-5.1-dev</option> <option value="1736">Dark Mode</option> <option value="1785">PR-3.10-dev</option> <option value="1869">PR-6.0-dev</option> <option value="1944">RMDQ</option> <option value="1945"></option> <option value="1946"></option> <option value="1947">UI/UX</option> <option value="1948">RTC</option> <option value="1949">Test instructions missing</option> <option value="1950">Small</option> <option value="1951">Webservices</option> <option value="1952">Updates Requested</option> <option value="1953">Unit/System Tests</option> <option value="1954">RFC</option> <option value="1955">PR-5.2-dev</option> <option value="1956">Code Review</option> <option value="1957">Enhancement</option> <option value="1958">Review effort [1-5]: 3</option> <option value="1959">PR-5.3-dev</option> <option value="1960">Guided Tours</option> <option value="1961">Performance</option> </select> </div> <div class="filter-search btn-group input-append"> <label class="filter-search-lbl visually-hidden" for="filter-created_by">Filter the list by creator.</label> <input type="text" class="toclear search-query form-control" name="filter-created_by" id="filter-created_by" value="" title="Filter the list by creator." placeholder="Filter the list by creator."/> <button class="btn btn-secondary" type="submit"><span class="fas fa-magnifying-glass"></span></button> </div> <div class="btn-group"> <select name="filter-priority" id="filter-priority" class="toclear input-small-120 form-select"> <option value="0" selected="selected">- Priority -</option> <option value="1">Critical</option> <option value="2">Urgent</option> <option value="3">Medium</option> <option value="4">Low</option> <option value="5">Very low</option> </select> </div> <div class="btn-group"> <select name="filter-tests" id="filter-tests" class="toclear input-medium-140 form-select"> <option value="0" selected="selected">- Tests -</option> <option value="1">Needs one test</option> <option value="2">Has two tests</option> <option value="3">Needs tests</option> </select> </div> <div class="btn-group"> <select name="filter-easytest" id="filter-easytest" class="toclear form-select"> <option value="2" selected="selected">- Easy -</option> <option value="1">Yes</option> <option value="0">No</option> </select> </div> <div class="btn-group"> <select name="filter-milestone" id="filter-milestone" class="toclear selectpicker input-medium-140"> <option value="0" selected="selected">- Milestones -</option> <option value="115">Joomla 3.10.10</option> <option value="125">Joomla 3.10.5</option> <option value="123">Joomla 3.10.6</option> <option value="120">Joomla 3.10.7</option> <option value="122">Joomla 3.10.8</option> <option value="117">Joomla 3.10.9</option> <option value="124">Joomla 4.0.6</option> <option value="76">Joomla 4.1.0</option> <option value="121">Joomla 4.1.1</option> <option value="119">Joomla 4.1.2</option> <option value="118">Joomla 4.1.3</option> <option value="116">Joomla 4.1.4</option> <option value="114">Joomla 4.1.5</option> <option value="113">Joomla! 3.10.11</option> <option value="104">Joomla! 3.10.12</option> <option value="83">Joomla! 4.2.0</option> <option value="112">Joomla! 4.2.4</option> <option value="111">Joomla! 4.2.6</option> <option value="110">Joomla! 4.2.7</option> <option value="109">Joomla! 4.2.9</option> <option value="108">Joomla! 4.3.0</option> <option value="107">Joomla! 4.3.1</option> <option value="106">Joomla! 4.3.2</option> <option value="105">Joomla! 4.3.3</option> <option value="103">Joomla! 4.3.4</option> <option value="102">Joomla! 4.3.5</option> <option value="101">Joomla! 4.4.0</option> <option value="95">Joomla! 4.4.1</option> <option value="130">Joomla! 4.4.2</option> <option value="81">Joomla! 5.0.0</option> <option value="96">Joomla! 5.0.1</option> <option value="129">Joomla! 5.0.2</option> <option value="94">Joomla! 5.1.0</option> <option value="100">Joomla! 5.2.0</option> <option value="99">Joomla! 5.3.0</option> <option value="98">Joomla! 5.4.0</option> <option value="97">Joomla! 6.0.0</option> </select> </div> <div class="btn-group"> <select name="filter-sort" id="filter-sort" class="input-medium-180 form-select"> <option value="0" selected="selected">Newest</option> <option value="1">Oldest</option> <option value="2">Recently updated</option> <option value="3">Least recently updated</option> </select> </div> </div> <input type="hidden" name="filter-state" id="filter-state" value="0"/> <input type="hidden" name="stools-active" id="stools-active" value="0"/> </div> <div class="table-responsive"> <table class="table table-bordered table-striped table-sm" id="issuesList"> <thead> <tr> <th scope="col" width="2%" class="nowrap center">ID</th> <th scope="col">Summary</th> <th scope="col" width="5%" class="center">Priority</th> <th scope="col" width="10%" class="center">Status</th> </tr> </thead> <tbody> <tr> <td class="center" colspan="4">Loading, please wait...</td> </tr> </tbody> </table> </div> </div> <ul id="pagination" class="trackerPagination"></ul> <input type="hidden" name="page" id="page" value="1"/> <!-- ++++++++++++++++++++++++++ --> <!-- + JavaScript templates + --> <!-- ++++++++++++++++++++++++++ --> <!-- @todo This is to retrieve extended information on an issue - review @todo add much more info =;) <script type="text/x-tmpl" id="tplIssueInfo"> <ul class="list-unstyled"> <li>Opened by: [%= o.opened_by %]</li> <li>Comments: [%= o.comment_count %]</li> </ul> </script> --> <!-- @todo find a way to replace debug output after processing the renderer --> <div class="debug"></div> </div> </div> <footer class="footer text-center"> <div class="container"> <hr /> <div class="social"> <ul class="soc"> <li><a href="https://twitter.com/joomla" target="_blank" rel="noopener" title="Joomla! on Twitter"><span aria-hidden="true" class="fab fa-twitter"></span><span class="visually-hidden">Joomla! on Twitter</span></a></li> <li><a href="https://www.facebook.com/joomla" target="_blank" rel="noopener" title="Joomla! on Facebook"><span aria-hidden="true" class="fab fa-facebook"></span><span class="visually-hidden">Joomla! on Facebook</span></a></li> <li><a href="https://www.youtube.com/user/joomla" target="_blank" rel="noopener" title="Joomla! on YouTube"><span aria-hidden="true" class="fab fa-youtube"></span><span class="visually-hidden">Joomla! on YouTube</span></a></li> <li><a href="https://www.linkedin.com/company/joomla" target="_blank" rel="noopener" title="Joomla! on LinkedIn"><span aria-hidden="true" class="fab fa-linkedin"></span><span class="visually-hidden">Joomla! on LinkedIn</span></a></li> <li><a href="https://www.pinterest.com/joomla" target="_blank" rel="noopener" title="Joomla! on Pinterest"><span aria-hidden="true" class="fab fa-pinterest"></span><span class="visually-hidden">Joomla! on Pinterest</span></a></li> <li><a href="https://www.instagram.com/joomlaofficial/" target="_blank" rel="noopener" title="Joomla! on Instagram"><span aria-hidden="true" class="fab fa-instagram"></span><span class="visually-hidden">Joomla! on Instagram</span></a></li> <li><a href="https://github.com/joomla" target="_blank" rel="noopener" title="Joomla! on GitHub"><span aria-hidden="true" class="fab fa-github"></span><span class="visually-hidden">Joomla! on GitHub</span></a></li> </ul> </div> <div class="footer-menu"> <nav class="navbar navbar-expand"> <div class="container-fluid"> <ul class="navbar-nav mx-auto flex-wrap"> <li class="nav-item"><a class="nav-link" href="https://www.joomla.org"><span>Home</span></a></li> <li class="nav-item"><a class="nav-link" href="https://www.joomla.org/about-joomla.html"><span>About</span></a></li> <li class="nav-item"><a class="nav-link" href="https://community.joomla.org"><span>Community</span></a></li> <li class="nav-item"><a class="nav-link" href="https://forum.joomla.org"><span>Forum</span></a></li> <li class="nav-item"><a class="nav-link" href="https://extensions.joomla.org"><span>Extensions</span></a></li> <li class="nav-item"><a class="nav-link" href="https://community.joomla.org/service-providers-directory.html"><span>Services</span></a></li> <li class="nav-item"><a class="nav-link" href="https://docs.joomla.org"><span>Docs</span></a></li> <li class="nav-item"><a class="nav-link" href="https://developer.joomla.org"><span>Developer</span></a></li> <li class="nav-item"><a class="nav-link" href="https://community.joomla.org/the-joomla-shop.html"><span>Shop</span></a></li> </ul> </div> </nav> <nav class="navbar navbar-expand"> <div class="container-fluid"> <ul class="navbar-nav mx-auto flex-wrap"> <li class="nav-item"><a class="nav-link" href="https://www.joomla.org/accessibility-statement.html">Accessibility Statement</a></li> <li class="nav-item"><a class="nav-link" href="https://www.joomla.org/privacy-policy.html">Privacy Policy</a></li> <li class="nav-item"><a class="nav-link" href="https://www.joomla.org/cookie-policy.html">Cookie Policy</a></li> <li class="nav-item"><a class="nav-link" href="https://community.joomla.org/sponsorship-campaigns.html">Sponsor Joomla! with $5</a></li> <li class="nav-item"><a class="nav-link" href="https://joomla.crowdin.com" target="_blank" rel="noopener">Help Translate</a></li> <li class="nav-item"><a class="nav-link" href="/tracker/jtracker/add">Report an Issue</a></li> <li class="nav-item"><a class="nav-link" href="https://github.com/login/oauth/authorize?client_id=e7208079bca517f781dd&redirect_uri=https%3A%2F%2Fissues.joomla.org%2Flogin%3Fusr_redirect%3DaHR0cHM6Ly9pc3N1ZXMuam9vbWxhLm9yZy8%3D&scope=public_repo">Log in</a></li> </ul> </div> </nav> <p class="copyright">© 2005 - 2024 <a href="https://opensourcematters.org">Open Source Matters, Inc.</a> All Rights Reserved.</p> <div class="hosting"> <div class="hosting-image"><a href="https://www.rochen.com/joomla-hosting" rel="noopener" target="_blank"><img class="rochen" src="https://cdn.joomla.org/rochen/rochen_footer_logo_white.svg" alt="Rochen" /></a></div> <div class="hosting-text"><a href="https://www.rochen.com/joomla-hosting" rel="noopener" target="_blank"><span dir="ltr">Joomla!</span> Hosting by Rochen</a></div> </div> </div> <div id="adblock-msg" class="alert alert-danger d-none"> <button class="btn-close" data-bs-dismiss="alert" href="#"><span class="visually-hidden">Close</span></button> <span class="fa fa-triangle-exclamation"></span> We have detected that you are using an ad blocker. The Joomla! Project relies on revenue from these advertisements so please consider disabling the ad blocker for this domain. </div> </div> </footer> <script src="/media/js/vendor/jquery.js?148ac47b"></script> <script src="/media/js/vendor/bootstrap.min.js?148ac47b"></script> <script src="/media/js/vendor/skipto.min.js?148ac47b"></script> <script src="/media/js/vendor/blueimp-tmpl.js?148ac47b"></script> <script src="/media/js/jtracker.js?148ac47b"></script> <script type="text/javascript"> var SkipToConfig = { 'settings': { 'skipTo': { enableActions: false, enableHeadingLevelShortcuts: false, accesskey: '9', displayOption: 'popup', headings: 'h1, h2, h3', landmarks: 'main, nav, search, aside, header, footer, form', attachElement: '.navigation', asideLabel: 'Aside', headerLabel: 'Header', footerLabel: 'Footer' } } }; window.addEventListener('DOMContentLoaded', (event) => { processScrollInit(); function processScrollInit() { // This width corresponds to the sm width in bootstrap css at which point the nav becomes sticky if (document.body.clientWidth > 575) { const subnav = document.querySelector('.subnav-wrapper'); subnav.style.top = `${document.getElementById('mega-menu').offsetHeight}px` } } }); </script> <script src="/media/js/vendor/bootstrap-select.js?148ac47b"></script> <script src="/media/js/vendor/twbs-pagination.js?148ac47b"></script> <script src="/media/js/jtracker-tmpl.js?148ac47b"></script> <script type="text/x-tmpl" id="ajaxListing"> [% if (o.data.items.length) { %] [% for (var i = 0; i < o.data.items.length ; i++) { %] [% var item = o.data.items[i]; %] [% var rowClass = ''; %] [% var blockers = [1,2]; %] [% if (item.priority in blockers) { %] [% rowClass = 'class=table-error'; } %] [% if (item.status === 4) { %] [% rowClass = 'class=table-success'; } %] <tr [%= rowClass %]> <th scope="row" class="text-center valign-center"> [%= item.issue_number %] </th> <td class="hasContext"> <a class="list-issue-title" href="/tracker/joomla-cms/[%= item.issue_number %]"> [%= item.title %] </a> [% print(item.labelHtml,true); %] [% if (item.is_draft) { %] <span class="badge rounded-pill text-bg-secondary">Draft PR</span> [% } %] [% if (item.categories.length) { %] <br/> [% for (var n=0, category; category=item.categories[n]; n++) { %] <a class="text-decoration-none" href="/tracker/joomla-cms/?category=[%= category.alias %]"> <span class="badge rounded-pill" style="background-color:#[%= category.color %]; color:[%= JTracker.getContrastColor(category.color) %];"> [%= category.title %] </span> </a> [% } %] [% } %] <br/> <span class="list-issue-details"> [% if (item.opened_by) { %] Created by <a href="https://github.com/[%= item.opened_by %]">[%= item.opened_by %]</a> • [% } %] GitHub ID <a href="https://github.com/joomla/joomla-cms/issues/[%=item.issue_number%]" target="_blank"> [%= item.issue_number %] </a> [% if (item.foreign_number || item.opened_date || item.closed_status != '0' || item.modified_date != '-0001-11-30' || item.milestone_title) { %] • [% } %] [% if (item.foreign_number) { %] Foreign ID <a href="http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=[%= item.foreign_number %]" target="_blank"> [%= item.foreign_number %] </a> [% if (item.opened_date || item.closed_status != '0' || item.modified_date != '-0001-11-30' || item.milestone_title) { %] • [% } %] [% } %] [% if (item.opened_date) { %] Opened [%= item.opened_date %] [% if (item.closed_status != '0' || item.modified_date != '-0001-11-30' || item.milestone_title) { %] • [% } %] [% } %] [% if (item.closed_status != '0') { %] Closed [%= item.closed_date %] [% if (item.modified_date != '-0001-11-30' || item.milestone_title) { %] • [% } %] [% } %] [% if (item.modified_date != '-0001-11-30') { %] Modified [%= item.modified_date %] [% if (item.milestone_title) { %] • [% } %] [% } %] [% if (item.milestone_title) { %] Milestone: [%= item.milestone_title %] [% } %] </span> </td> <td class="text-center valign-center"> [% var priorities = {1: 'Critical', 2: 'Urgent', 3: 'Medium', 4: 'Low', 5: 'Very Low' }; %] <span class="badge rounded-pill [%=getIssuePriorityClass(item.priority)%] ">[%=priorities[item.priority]%]</span> </td> <td class="text-center valign-center"> [%= getStatusName(item.status) %] [% if(item.merge_state) { %] <br /> <span class="badge rounded-pill text-bg-[%= getMergeStateClass(item.merge_state) %] " title="GitHub merge status"> [%= translateMergeState(item.merge_state) %] </span> [% } %] </td> </tr> [% } %] [% } else { %] <tr> <td class="center" colspan="4"> No items found. </td> </tr> [% } %] </script> <script type="text/javascript"> // Get issues list getListItems(); /* @todo This is to retrieve extended information on an issue - review $('*[data-issue]').click( function () { var el = $(this); $.get(el.data('issue'), function(r) { el.popover({ content: tmpl("tplIssueInfo", r.data), html: true }).popover('show'); }); el.unbind('click'); return false; } ); */ $('[id^=filter]').change(function () { $('#page').val(0); getListItems(); }); $('#filter-state-div button').click(function () { var val = $(this).val(); $('#filter-state').val(val); if (val == 0) { // Open $(this).addClass("active btn-success"); $(this).next().removeClass("active btn-danger"); $(this).next().next().removeClass("active btn-inverse"); $('#status-open').show(); $('#status-closed').hide(); $('#status-all').hide(); } else if (val == 2) { // All $(this).addClass("active btn-inverse"); $(this).prev().removeClass("active btn-danger"); $(this).prev().prev().removeClass("active btn-success"); $('#status-open').hide(); $('#status-closed').hide(); $('#status-all').show(); } else { // Closed $(this).addClass("active btn-danger"); $(this).prev().removeClass("active btn-success"); $(this).next().removeClass("active btn-inverse"); $('#status-open').hide(); $('#status-closed').show(); $('#status-all').hide(); } $('#page').val(0); getListItems(); }); $("#button-remove").click(function () { $('[class^=toclear]').val(''); $('#filter-user').val(0); $('#filter-sort').val(0); getListItems(); }); $(".button-submit").click(function () { getListItems(); }); function getIssuePriorityClass(priority) { priority = parseInt(priority); switch (priority) { case 1 : return 'text-bg-danger'; case 2 : return 'text-bg-warning'; case 3 : return 'text-bg-info'; case 4 : return 'text-bg-inverse'; default : return ''; } } function getMergeStateClass(status) { switch (status) { case 'success' : return 'success'; case 'pending' : return 'warning'; case 'error' : case 'failure' : return 'danger'; } return ''; } function translateMergeState(state) { switch (state) { case 'success': return 'Success'; case 'pending': return 'Pending'; case 'error': return 'Error'; case 'failure': return 'Failure'; } return '?'; } function getStatusName(id) { statuses = []; statuses['1'] = 'New'; statuses['2'] = 'Confirmed'; statuses['3'] = 'Pending'; statuses['4'] = 'Ready To Commit'; statuses['5'] = 'Fixed in Code Base'; statuses['6'] = 'Needs Review'; statuses['7'] = 'Information Required'; statuses['8'] = 'Unconfirmed Report'; statuses['9'] = 'No Reply'; statuses['10'] = 'Closed'; statuses['11'] = 'Expected Behaviour'; statuses['12'] = 'Known Issue'; statuses['13'] = 'Duplicate Report'; statuses['14'] = 'Discussion'; return statuses[id]; } function getListItems() { $('#pagination').remove(); $('#issuesForm').after('<ul id="pagination" class="trackerPagination"></ul>'); $('#issuesList tbody').animate({opacity: 0.3}, 100); var active = $('#stools-active').val(); var search = $('#filter-search').val(); var state = $('#filter-state').val(); if (state == 0) { var status = $('#filter-status-open').val(); } if (state == 1) { var status = $('#filter-status-closed').val(); } if (state == 2) { var status = $('#filter-status-all').val(); } var priority = $('#filter-priority').val(); var sort = $('#filter-sort').val(); var user = $('#filter-user').val(); var created_by = $('#filter-created_by').val(); var category = $('#filter-category').val(); var label = $('#filter-label').val(); var tests = $('#filter-tests').val(); var easytest = $('#filter-easytest').val(); var type = $('#filter-type').val(); var milestone = $('#filter-milestone').val(); var page = $('#page').val(); // If the tests filter is active, we need to reset the state to open items only if (tests != 0 && state != 0) { $('#filter-state-div button:first').click(); // Clicking the button triggers the onclick handler which calls back into this function, we won't need to process the rest return; } $.ajax({ type: 'POST', url: "/tracker/joomla-cms/listing-ajax", data: { 'search': search, 'status': status, 'priority': priority, 'user': user, 'created_by': created_by, 'sort': sort, 'state': state, 'category': category, 'label': label, 'tests': tests, 'easytest': easytest, 'type': type, 'milestone': milestone, 'stools-active': active, 'page': page }, success: function (r) { if (r.data.pagesTotal > 1) { $("#pagination").twbsPagination({ totalPages: r.data.pagesTotal, visiblePages: 5, startPage: r.data.currentPage, first: 'First', prev: 'Previous', next: 'Next', last: 'Last', onPageClick: function (event, page) { $('#issuesList tbody').animate({opacity: 0.3}, 100); $.ajax({ type: 'POST', url: '/tracker/joomla-cms/listing-ajax?page=' + page, data: { 'search': search, 'status': status, 'priority': priority, 'user': user, 'created_by': created_by, 'sort': sort, 'state': state, 'category': category, 'label': label, 'tests': tests, 'easytest': easytest, 'type': type, 'milestone': milestone, 'stools-active': active }, success: function (data) { $('#issuesList tbody').html(tmpl("ajaxListing", data)); $('#issuesList tbody').animate({opacity: 1}, 100); } }); } }); } else { $("#pagination").html(''); } $('#issuesList tbody').html(tmpl("ajaxListing", r)); $('#issuesList tbody').animate({opacity: 1}, 100); var categoryText = $('#filter-category option:selected').text(); $('#permalink').attr('href', getPermaLink( search, status, priority, user, sort, state, category, categoryText, label, tests, easytest, type, created_by, milestone )); } }); } function getPermaLink(search, status, priority, user, sort, state, category, categoryText, label, tests, easytest, type, created_by, milestone) { var permaLink = '/tracker/joomla-cms/?'; var filters = []; var stools = []; // Replace non alpha numeric chars with dash categoryText = categoryText.replace(/[\W_]+/g, '-'); // Remove the last dash if exists if (categoryText.charAt(categoryText.length - 1) == '-') { categoryText = categoryText.slice(0, -1); } // Process sorting sort = parseInt(sort); var sorting = ''; switch (sort) { case 1 : sorting = 'sort=issue&direction=asc'; break; case 2 : sorting = 'sort=updated&direction=desc'; break; case 3 : sorting = 'sort=updated&direction=asc'; break; default : sorting = 'sort=issue&direction=desc'; } stools[stools.length] = '' + sorting; // Process state state = parseInt(state); var stateStr = ''; switch (state) { case 1 : stateStr = 'state=closed'; break; case 2 : stateStr = 'state=all'; break; default : stateStr = 'state=open'; } filters[filters.length] = stateStr; if (search) { stools[stools.length] = 'search=' + search } if (status != 0) { stools[stools.length] = 'status=' + status } if (priority != 0) { stools[stools.length] = 'priority=' + priority } if (user != 0 && user != undefined) { stools[stools.length] = 'user=' + user } if (category != 0) { stools[stools.length] = 'category=' + categoryText.toLowerCase() } if (label != 0) { stools[stools.length] = 'label=' + label } if (tests != 0) { stools[stools.length] = 'tests=' + tests } if (easytest != 2) { stools[stools.length] = 'easytest=' + easytest } if (type != 0) { stools[stools.length] = 'type=' + type } if (created_by != 0) { stools[stools.length] = 'created_by=' + created_by } if (milestone != 0) { stools[stools.length] = 'milestone=' + milestone } permaLink += filters.length ? filters.join('&') + '&' : ''; permaLink += stools.length ? stools.join('&') + '&' : ''; permaLink += stools.length ? 'stools-active=1' : 'stools-active=0'; return permaLink; } $('#stools-button button').click( function () { var val = $('#stools-active').val(); if (val == 0) { $('#stools-active').val(1); } else { $('#stools-active').val(0); } } ); $('#stools-container').on('shown.bs.collapse', function () { $('#stools-container').css('overflow', 'inherit'); }).on('hide.bs.collapse', function () { $('#stools-container').css('overflow', 'hidden'); }); $(document).ready(function ($) { $('.selectpicker').selectpicker(); if ($('#stools-container').hasClass('in')) { $('#stools-container').css('overflow', 'inherit'); } if ($('#filter-tests').find(':selected').val() != 0) { $('#filter-state-div > button').each(function () { $(this).attr('disabled', true); }); } }); $('#filter-tests').on('change', function () { var filterValue = $(this).find(':selected').val(), buttons = $('#filter-state-div > button'); // If the tests filter is active, disable the state filter buttons if (filterValue != 0) { buttons.each(function () { $(this).attr('disabled', true); }); } else { buttons.each(function () { $(this).removeAttr('disabled'); }); } }); </script> </body> </html>