diff --git a/administrator/components/com_content/View/Articles/Html.php b/administrator/components/com_content/View/Articles/Html.php
new file mode 100644
index 0000000000000..b9745db1354cc
--- /dev/null
+++ b/administrator/components/com_content/View/Articles/Html.php
@@ -0,0 +1,208 @@
+getLayout() !== 'modal')
+ {
+ ContentHelper::addSubmenu('articles');
+ }
+
+ $this->items = $this->get('Items');
+ $this->pagination = $this->get('Pagination');
+ $this->state = $this->get('State');
+ $this->authors = $this->get('Authors');
+ $this->filterForm = $this->get('FilterForm');
+ $this->activeFilters = $this->get('ActiveFilters');
+ $this->vote = \JPluginHelper::isEnabled('content', 'vote');
+
+ // Check for errors.
+ if (count($errors = $this->get('Errors')))
+ {
+ throw new \JViewGenericdataexception(implode("\n", $errors), 500);
+ }
+
+ // We don't need toolbar in the modal window.
+ if ($this->getLayout() !== 'modal')
+ {
+ $this->addToolbar();
+ $this->sidebar = \JHtmlSidebar::render();
+ }
+ else
+ {
+ // In article associations modal we need to remove language filter if forcing a language.
+ // We also need to change the category filter to show show categories with All or the forced language.
+ if ($forcedLanguage = \JFactory::getApplication()->input->get('forcedLanguage', '', 'CMD'))
+ {
+ // If the language is forced we can't allow to select the language, so transform the language selector filter into an hidden field.
+ $languageXml = new \SimpleXMLElement('');
+ $this->filterForm->setField($languageXml, 'filter', true);
+
+ // Also, unset the active language filter so the search tools is not open by default with this filter.
+ unset($this->activeFilters['language']);
+
+ // One last changes needed is to change the category filter to just show categories with All language or with the forced language.
+ $this->filterForm->setFieldAttribute('category_id', 'language', '*,' . $forcedLanguage, 'filter');
+ }
+ }
+
+ return parent::display($tpl);
+ }
+
+ /**
+ * Add the page title and toolbar.
+ *
+ * @return void
+ *
+ * @since 1.6
+ */
+ protected function addToolbar()
+ {
+ $canDo = \JHelperContent::getActions('com_content', 'category', $this->state->get('filter.category_id'));
+ $user = \JFactory::getUser();
+
+ // Get the toolbar object instance
+ $bar = \JToolbar::getInstance('toolbar');
+
+ \JToolbarHelper::title(\JText::_('COM_CONTENT_ARTICLES_TITLE'), 'stack article');
+
+ if ($canDo->get('core.create') || (count($user->getAuthorisedCategories('com_content', 'core.create'))) > 0)
+ {
+ \JToolbarHelper::addNew('article.add');
+ }
+
+ // Add a batch button
+ if ($user->authorise('core.create', 'com_content')
+ && $user->authorise('core.edit', 'com_content')
+ && $user->authorise('core.edit.state', 'com_content'))
+ {
+ $title = \JText::_('JTOOLBAR_BATCH');
+
+ // Instantiate a new \JLayoutFile instance and render the batch button
+ $layout = new \JLayoutFile('joomla.toolbar.batch');
+
+ $dhtml = $layout->render(array('title' => $title));
+ $bar->appendButton('Custom', $dhtml, 'batch');
+ }
+
+ if ($this->state->get('filter.published') == -2 && $canDo->get('core.delete'))
+ {
+ \JToolbarHelper::deleteList('JGLOBAL_CONFIRM_DELETE', 'articles.delete', 'JTOOLBAR_EMPTY_TRASH');
+ }
+
+ if ($user->authorise('core.admin', 'com_content') || $user->authorise('core.options', 'com_content'))
+ {
+ \JToolbarHelper::preferences('com_content');
+ }
+
+ \JToolbarHelper::help('JHELP_CONTENT_ARTICLE_MANAGER');
+ }
+
+ /**
+ * Returns an array of fields the table can be sorted by
+ *
+ * @return array Array containing the field name to sort by as the key and display text as value
+ *
+ * @since 3.0
+ */
+ protected function getSortFields()
+ {
+ return array(
+ 'a.ordering' => \JText::_('JGRID_HEADING_ORDERING'),
+ 'a.state' => \JText::_('JSTATUS'),
+ 'a.title' => \JText::_('JGLOBAL_TITLE'),
+ 'category_title' => \JText::_('JCATEGORY'),
+ 'access_level' => \JText::_('JGRID_HEADING_ACCESS'),
+ 'a.created_by' => \JText::_('JAUTHOR'),
+ 'language' => \JText::_('JGRID_HEADING_LANGUAGE'),
+ 'a.created' => \JText::_('JDATE'),
+ 'a.id' => \JText::_('JGRID_HEADING_ID'),
+ 'a.featured' => \JText::_('JFEATURED')
+ );
+ }
+}
diff --git a/administrator/components/com_content/tmpl/articles/default.php b/administrator/components/com_content/tmpl/articles/default.php
index ebd22579a6b23..40e6894417f27 100644
--- a/administrator/components/com_content/tmpl/articles/default.php
+++ b/administrator/components/com_content/tmpl/articles/default.php
@@ -51,6 +51,8 @@
$assoc = JLanguageAssociations::isEnabled();
+$canDo = JHelperContent::getActions('com_content', 'category', $this->state->get('filter.category_id'));
+
// Configure content state button renderer.
$publishedButton = new PublishedButton(['task_prefix' => 'articles.', 'checkbox_name' => 'cb']);
@@ -58,6 +60,7 @@
$featuredButton = (new ActionButton(['tip_title' => 'JGLOBAL_TOGGLE_FEATURED']))
->addState(0, 'articles.featured', 'unfeatured', 'COM_CONTENT_UNFEATURED')
->addState(1, 'articles.unfeatured', 'featured', 'COM_CONTENT_FEATURED');
+
?>