diff --git a/administrator/components/com_categories/views/category/tmpl/edit.php b/administrator/components/com_categories/views/category/tmpl/edit.php
index 15791c25a7f18..119b4b3ad7de4 100644
--- a/administrator/components/com_categories/views/category/tmpl/edit.php
+++ b/administrator/components/com_categories/views/category/tmpl/edit.php
@@ -2,7 +2,7 @@
/**
* @package Joomla.Administrator
* @subpackage com_categories
- * @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
+ * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
@@ -86,7 +86,25 @@
loadTemplate('metadata'); ?>
-
+ form->getFieldsets('attribs'); ?>
+ $fieldSet) : ?>
+ label) ? $fieldSet->label : 'COM_CATEGORIES_'.$name.'_FIELDSET_LABEL'; ?>
+
+
+ description) && trim($fieldSet->description)) : ?>
+
escape(JText::_($fieldSet->description));?>
+
+
+
+
+
diff --git a/administrator/components/com_config/models/component.php b/administrator/components/com_config/models/component.php
index f6c2a9548772f..ec9736e97d1f2 100644
--- a/administrator/components/com_config/models/component.php
+++ b/administrator/components/com_config/models/component.php
@@ -17,6 +17,22 @@
*/
class ConfigModelComponent extends JModelForm
{
+ /**
+ * The event to trigger before saving the data.
+ *
+ * @var string
+ * @since 2.5.10
+ */
+ protected $event_before_save = 'onConfigurationBeforeSave';
+
+ /**
+ * The event to trigger before deleting the data.
+ *
+ * @var string
+ * @since 2.5.10
+ */
+ protected $event_after_save = 'onConfigurationAfterSave';
+
/**
* Method to auto-populate the model state.
*
@@ -68,7 +84,8 @@ public function getForm($data = array(), $loadData = true)
'/config'
);
- if (empty($form)) {
+ if (empty($form))
+ {
return false;
}
@@ -108,14 +125,18 @@ function getComponent()
*/
public function save($data)
{
+ $dispatcher = JDispatcher::getInstance();
$table = JTable::getInstance('extension');
+ $isNew = true;
// Save the rules.
- if (isset($data['params']) && isset($data['params']['rules'])) {
+ if (isset($data['params']) && isset($data['params']['rules']))
+ {
$rules = new JAccessRules($data['params']['rules']);
$asset = JTable::getInstance('asset');
- if (!$asset->loadByName($data['option'])) {
+ if (!$asset->loadByName($data['option']))
+ {
$root = JTable::getInstance('asset');
$root->loadByName('root.1');
$asset->name = $data['option'];
@@ -124,7 +145,8 @@ public function save($data)
}
$asset->rules = (string) $rules;
- if (!$asset->check() || !$asset->store()) {
+ if (!$asset->check() || !$asset->store())
+ {
$this->setError($asset->getError());
return false;
}
@@ -135,7 +157,8 @@ public function save($data)
}
// Load the previous Data
- if (!$table->load($data['id'])) {
+ if (!$table->load($data['id']))
+ {
$this->setError($table->getError());
return false;
}
@@ -143,19 +166,31 @@ public function save($data)
unset($data['id']);
// Bind the data.
- if (!$table->bind($data)) {
+ if (!$table->bind($data))
+ {
$this->setError($table->getError());
return false;
}
// Check the data.
- if (!$table->check()) {
+ if (!$table->check())
+ {
+ $this->setError($table->getError());
+ return false;
+ }
+
+ // Trigger the oonConfigurationBeforeSave event.
+ $result = $dispatcher->trigger($this->event_before_save, array($this->option . '.' . $this->name, $table, $isNew));
+
+ if (in_array(false, $result, true))
+ {
$this->setError($table->getError());
return false;
}
// Store the data.
- if (!$table->store()) {
+ if (!$table->store())
+ {
$this->setError($table->getError());
return false;
}
@@ -163,6 +198,9 @@ public function save($data)
// Clean the component cache.
$this->cleanCache('_system');
+ // Trigger the onConfigurationAfterSave event.
+ $dispatcher->trigger($this->event_after_save, array($this->option . '.' . $this->name, $table, $isNew));
+
return true;
}
}
diff --git a/administrator/components/com_contact/tables/contact.php b/administrator/components/com_contact/tables/contact.php
index a08ae0f2bb838..a35a677bbdb92 100644
--- a/administrator/components/com_contact/tables/contact.php
+++ b/administrator/components/com_contact/tables/contact.php
@@ -115,15 +115,6 @@ function check()
$this->setError(JText::_('COM_CONTACT_WARNING_PROVIDE_VALID_NAME'));
return false;
}
- /** check for existing name */
- $query = 'SELECT id FROM #__contact_details WHERE name = '.$this->_db->Quote($this->name).' AND catid = '.(int) $this->catid;
- $this->_db->setQuery($query);
-
- $xid = intval($this->_db->loadResult());
- if ($xid && $xid != intval($this->id)) {
- $this->setError(JText::_('COM_CONTACT_WARNING_SAME_NAME'));
- return false;
- }
if (empty($this->alias)) {
$this->alias = $this->name;
diff --git a/administrator/components/com_content/config.xml b/administrator/components/com_content/config.xml
index c8a3f483ac076..bf49bfb1415ee 100644
--- a/administrator/components/com_content/config.xml
+++ b/administrator/components/com_content/config.xml
@@ -427,7 +427,13 @@
extension="com_content"
view="category"
/>
-
+
+
+
+ getState('list.direction') == 'desc' ? -1 : 1, true, $lang->getLocale());
+ $direction = ($this->getState('list.direction') == 'desc') ? -1 : 1;
+ JArrayHelper::sortObjects($result, $ordering, $direction, true, $lang->getLocale());
+
$total = count($result);
$this->cache[$this->getStoreId('getTotal')] = $total;
if ($total < $limitstart) {
diff --git a/administrator/includes/toolbar.php b/administrator/includes/toolbar.php
index 4cf959461bc83..b39eb56ea07d2 100644
--- a/administrator/includes/toolbar.php
+++ b/administrator/includes/toolbar.php
@@ -39,6 +39,8 @@ public static function title($title, $icon = 'generic.png')
$app = JFactory::getApplication();
$app->JComponentTitle = $html;
+ $doc = JFactory::getDocument();
+ $doc->setTitle($app->getCfg('sitename'). ' - ' .JText::_('JADMINISTRATION').' - '.$title);
}
/**
diff --git a/administrator/language/en-GB/en-GB.com_contact.ini b/administrator/language/en-GB/en-GB.com_contact.ini
index f2d17aea11a50..f0fae2e57082a 100644
--- a/administrator/language/en-GB/en-GB.com_contact.ini
+++ b/administrator/language/en-GB/en-GB.com_contact.ini
@@ -269,7 +269,6 @@ COM_CONTACT_UNFEATURED="Unfeatured contact"
COM_CONTACT_WARNING_CATEGORY="This category is invalid"
COM_CONTACT_WARNING_PROVIDE_VALID_NAME="Please provide a valid name"
COM_CONTACT_WARNING_PROVIDE_VALID_URL="Please provide a valid URL"
-COM_CONTACT_WARNING_SAME_NAME="The name of this contact is already used. Please enter another name"
COM_CONTACT_WARNING_SELECT_CONTACT_TOPUBLISH="Please select a contact to publish"
COM_CONTACT_XML_DESCRIPTION="This component shows a listing of contact information"
JGLOBAL_NEWITEMSLAST_DESC="New Contacts default to the last position. Ordering can be changed after this Contact is saved."
diff --git a/administrator/language/en-GB/en-GB.ini b/administrator/language/en-GB/en-GB.ini
index e02e0e756668e..a748e55fb6c48 100644
--- a/administrator/language/en-GB/en-GB.ini
+++ b/administrator/language/en-GB/en-GB.ini
@@ -410,6 +410,8 @@ JGLOBAL_SHOW_CATEGORY_DESCRIPTION_DESC="Show or hide the description of the sele
JGLOBAL_SHOW_CATEGORY_DESCRIPTION_LABEL="Category Description"
JGLOBAL_SHOW_CATEGORY_IMAGE_DESC="Show or hide the image of the selected Category."
JGLOBAL_SHOW_CATEGORY_IMAGE_LABEL="Category Image"
+JGLOBAL_SHOW_CATEGORY_HEADING_TITLE_TEXT_LABEL="Show Subcategories Text"
+JGLOBAL_SHOW_CATEGORY_HEADING_TITLE_TEXT_DESC="If Show, the "Subcategories" will show as a subheading on the page. The subheading is usually displayed inside the "H3" tag."
JGLOBAL_SHOW_CATEGORY_LABEL="Show Category"
JGLOBAL_SHOW_CATEGORY_TITLE="Category Title"
JGLOBAL_SHOW_CATEGORY_TITLE_DESC="If Show, the Category Title will show as a subheading on the page. The subheading is usually displayed inside the "H2" tag."
diff --git a/administrator/language/en-GB/en-GB.plg_system_languagefilter.ini b/administrator/language/en-GB/en-GB.plg_system_languagefilter.ini
index 510a6482a840b..dfd3044bc1d6f 100644
--- a/administrator/language/en-GB/en-GB.plg_system_languagefilter.ini
+++ b/administrator/language/en-GB/en-GB.plg_system_languagefilter.ini
@@ -4,16 +4,20 @@
; Note : All ini files need to be saved as UTF-8
PLG_SYSTEM_LANGUAGEFILTER="System - Language Filter"
-PLG_SYSTEM_LANGUAGEFILTER_XML_DESCRIPTION="This plugin filters the displayed content depending on language. This plugin is to be enabled only when the Language Switcher module is published. If this plugin is activated, it is suggested to publish the administrator multilanguage status module."
+PLG_SYSTEM_LANGUAGEFILTER_BROWSER_SETTINGS="Browser Settings"
+PLG_SYSTEM_LANGUAGEFILTER_FIELD_ALTERNATE_META_DESC="Add alternate meta tags for menu items with associated menu items in other languages."
+PLG_SYSTEM_LANGUAGEFILTER_FIELD_ALTERNATE_META_LABEL="Add alternate meta tags"
PLG_SYSTEM_LANGUAGEFILTER_FIELD_AUTOMATIC_CHANGE_DESC="This option will automatically change the content language used in the frontend when a user site language is changed"
PLG_SYSTEM_LANGUAGEFILTER_FIELD_AUTOMATIC_CHANGE_LABEL="Automatic Language Change"
+PLG_SYSTEM_LANGUAGEFILTER_FIELD_COOKIE_DESC="Language cookies can be set to expire at the end of the session or after a year. Default is a year."
+PLG_SYSTEM_LANGUAGEFILTER_FIELD_COOKIE_LABEL="Cookie Lifetime"
PLG_SYSTEM_LANGUAGEFILTER_FIELD_DETECT_BROWSER_DESC="Choose Site default language or try to detect the browser settings language. It will default to site language if browser settings can't be found."
PLG_SYSTEM_LANGUAGEFILTER_FIELD_DETECT_BROWSER_LABEL="Language Selection for new Visitors."
-PLG_SYSTEM_LANGUAGEFILTER_BROWSER_SETTINGS="Browser Settings"
-PLG_SYSTEM_LANGUAGEFILTER_SITE_LANGUAGE="Site Language"
PLG_SYSTEM_LANGUAGEFILTER_FIELD_MENU_ASSOCIATIONS_DESC="This option will allow menu associations when switching from one language to another"
PLG_SYSTEM_LANGUAGEFILTER_FIELD_MENU_ASSOCIATIONS_LABEL="Menu associations"
PLG_SYSTEM_LANGUAGEFILTER_FIELD_REMOVE_DEFAULT_PREFIX_DESC="Remove the defined URL Language Code of the Content Language that corresponds to the default site language when Search Engine Friendly URLs is set to 'Yes'."
PLG_SYSTEM_LANGUAGEFILTER_FIELD_REMOVE_DEFAULT_PREFIX_LABEL="Remove URL Language Code"
-PLG_SYSTEM_LANGUAGEFILTER_FIELD_ALTERNATE_META_DESC="Add alternate meta tags for menu items with associated menu items in other languages."
-PLG_SYSTEM_LANGUAGEFILTER_FIELD_ALTERNATE_META_LABEL="Add alternate meta tags"
+PLG_SYSTEM_LANGUAGEFILTER_OPTION_SESSION="Session"
+PLG_SYSTEM_LANGUAGEFILTER_OPTION_YEAR="Year"
+PLG_SYSTEM_LANGUAGEFILTER_SITE_LANGUAGE="Site Language"
+PLG_SYSTEM_LANGUAGEFILTER_XML_DESCRIPTION="This plugin filters the displayed content depending on language. This plugin is to be enabled only when the Language Switcher module is published. If this plugin is activated, it is suggested to publish the administrator multilanguage status module."
diff --git a/administrator/language/en-GB/en-GB.xml b/administrator/language/en-GB/en-GB.xml
index bd718ce02550f..f056a402b4257 100644
--- a/administrator/language/en-GB/en-GB.xml
+++ b/administrator/language/en-GB/en-GB.xml
@@ -1,7 +1,7 @@
English (United Kingdom)
- 2.5.5
+ 2.5.102008-03-15Joomla! Projectadmin@joomla.org
diff --git a/administrator/templates/hathor/html/com_categories/category/edit.php b/administrator/templates/hathor/html/com_categories/category/edit.php
index d48cf264ddea6..cd4e924c5fa5e 100644
--- a/administrator/templates/hathor/html/com_categories/category/edit.php
+++ b/administrator/templates/hathor/html/com_categories/category/edit.php
@@ -90,6 +90,24 @@
loadTemplate('metadata'); ?>
+ form->getFieldsets('attribs'); ?>
+ $fieldSet) : ?>
+ label) ? $fieldSet->label : 'COM_CATEGORIES_'.$name.'_FIELDSET_LABEL'; ?>
+
+
+ description) && trim($fieldSet->description)) : ?>
+
escape(JText::_($fieldSet->description));?>
+
+
+
+
diff --git a/build/build.php b/build/build.php
index cdb057df19b53..6de5330dd7998 100644
--- a/build/build.php
+++ b/build/build.php
@@ -90,7 +90,7 @@
"tmp/index.html\n" => true,
"htaccess.txt\n" => true,
"web.config.txt\n" => true,
- "robots.txt\n" => true,
+ "robots.txt.dist\n" => true,
"LICENSE.txt\n" => true,
"README.txt\n" => true,
"index.php\n" => true,
@@ -140,7 +140,7 @@
echo "Skipping create archive for version $version.$num\n";
continue;
}
-
+
$fromName = $num == 0 ? 'x' : $num;
// Create the diff archive packages using the file name list.
system('tar --create --bzip2 --no-recursion --directory '.$full.' --file packages'.$version.'/Joomla_'.$version.'.'.$fromName.'_to_'.$full.'-Stable-Patch_Package.tar.bz2 --files-from diffconvert/'.$version.'.'.$num . '> /dev/null');
diff --git a/components/com_content/helpers/query.php b/components/com_content/helpers/query.php
index e3484aabb275b..cb37e92f415c9 100644
--- a/components/com_content/helpers/query.php
+++ b/components/com_content/helpers/query.php
@@ -103,7 +103,7 @@ public static function orderbySecondary($orderby, $orderDate = 'created')
break;
case 'front' :
- $orderby = 'fp.ordering';
+ $orderby = 'a.featured DESC, fp.ordering';
break;
default :
diff --git a/components/com_content/models/article.php b/components/com_content/models/article.php
index 081b9364f1a3a..205a3da06bbf6 100644
--- a/components/com_content/models/article.php
+++ b/components/com_content/models/article.php
@@ -55,6 +55,8 @@ protected function populateState()
$this->setState('filter.published', 1);
$this->setState('filter.archived', 2);
}
+
+ $this->setState('filter.language', JLanguageMultilang::isEnabled());
}
/**
@@ -101,7 +103,7 @@ public function &getItem($pk = null)
// Join on user table.
$query->select('u.name AS author');
$query->join('LEFT', '#__users AS u on u.id = a.created_by');
-
+
// Join on contact table
$subQuery = $db->getQuery(true);
$subQuery->select('contact.user_id, MAX(contact.id) AS id, contact.language');
@@ -110,7 +112,14 @@ public function &getItem($pk = null)
$subQuery->group('contact.user_id, contact.language');
$query->select('contact.id as contactid' );
$query->join('LEFT', '(' . $subQuery . ') AS contact ON contact.user_id = a.created_by');
-
+
+ // Filter by language
+ if ($this->getState('filter.language'))
+ {
+ $query->where('a.language in ('.$db->quote(JFactory::getLanguage()->getTag()).','.$db->quote('*').')');
+ $query->where('(contact.language in ('.$db->quote(JFactory::getLanguage()->getTag()).','.$db->quote('*').') OR contact.language IS NULL)');
+ }
+
// Join over the categories to get parent category titles
$query->select('parent.title as parent_title, parent.id as parent_id, parent.path as parent_route, parent.alias as parent_alias');
$query->join('LEFT', '#__categories as parent ON parent.id = c.parent_id');
diff --git a/components/com_content/views/category/tmpl/blog.php b/components/com_content/views/category/tmpl/blog.php
index fd94ac19b1553..840a4e9e4499a 100644
--- a/components/com_content/views/category/tmpl/blog.php
+++ b/components/com_content/views/category/tmpl/blog.php
@@ -102,9 +102,11 @@
children[$this->category->id])&& $this->maxLevel != 0) : ?>