Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimization and fix of multilingual associations and add layouts to com_content links #20229

Merged
merged 19 commits into from May 5, 2018
Merged

Optimization and fix of multilingual associations and add layouts to com_content links #20229

merged 19 commits into from May 5, 2018

Conversation

Septdir
Copy link
Contributor

@Septdir Septdir commented Apr 25, 2018

Summary of Changes

This PR contains many fixes based on the following PR's
#19681 #19683 #19314 #20211

Differences from previous PR

Testing Instructions

In advance I apologize for the laziness. But I'll just list pr in which you can see Testing Instructions
In the courtyard night. And if all the tests listed in this description it turns out to be too huge

Explanations about add advanced where clause param (d99dca5)

I thought for a long time how best to do it. It was necessary to take into account an infinite number of options. The highest priority was to ensure that developers do not have to make unnecessary queries to the database.

With this, completely delete what did @infograf768 in #19314 because if the visitor can not go to the article page, then neither the flag nor the link should be displayed.

The obvious option was to have all the necessary conditions passed to libraries/src/Language/Associations.php However, the conditions for a correct selection can be countless.

  • Someone uses state in their components
  • someone uses published \ trashed
  • someone who uses access does not have someone
  • someone will use publish_up publish_down
  • someone in general needs absolutely different conditions

How many components are there and so many options.

Based on this, I decided to add $advClause param

This is an array through which any developer can add to the requests those where he needs.

Truth had to change the value of $queryKey but according to my understanding $extension, $tablename, $context, $id would be enough to identify the query

P.S I have rather bad English and I often resort to the help of an interpreter, so if something is not clear, or do not properly ask at once, or point out mistakes

@Quy If there are fixes for docblock I will be very grateful if you immediately attach the code

@Septdir
Copy link
Contributor Author

Septdir commented Apr 25, 2018

@mbabker @brianteeman @infograf768 @Quy @ggppdk @Arkadiy-Sedelnikov @tonypartridge @CB9TOIIIA @pavluk @ReLater And those who took part in other related PR

What do you think about this PR?

@Septdir
Copy link
Contributor Author

Septdir commented Apr 25, 2018

continuous-integration/drone/pr

FILE: ...rc/github.com/joomla/joomla-cms/libraries/src/Language/Associations.php
--------------------------------------------------------------------------------
FOUND 0 ERROR(S) AND 1 WARNING(S) AFFECTING 1 LINE(S)
--------------------------------------------------------------------------------
 40 | WARNING | Line exceeds 150 characters; contains 156 characters
--------------------------------------------------------------------------------
UPGRADE TO PHP_CODESNIFFER 2.0 TO FIX ERRORS AUTOMATICALLY
--------------------------------------------------------------------------------

But i can't shorten line by 6 characters. Can I leave 156 characters?

@mbabker
Copy link
Contributor

mbabker commented Apr 25, 2018

But i can't shorten line by 6 characters. Can I leave 156 characters?

Unfortunately no, because of our existing PHPCS rules you'll have to change the method declaration to this (luckily there's an open task to make this something better):

	public static function getAssociations($extension, $tablename, $context, $id, $pk = 'id', $aliasField = 'alias', $catField = 'catid',
		$advClause = array())
	{
		// Code
	}

(Will look more later, about to sign off for the night and was just quickly clearing unread email queue)

@Arkadiy-Sedelnikov
Copy link
Contributor

There is no limit to perfection 😄. This PR is made much more necessary changes than in the previous.

@infograf768
Copy link
Member

Looks like working fine here.
We have to make sure it is totally B/C and also see if we need to modify some other core components to use the new variable.

@Septdir
Copy link
Contributor Author

Septdir commented Apr 25, 2018

@mbabker It turned out at the second attempt. Now all automatic checks should be success.

@Septdir
Copy link
Contributor Author

Septdir commented Apr 25, 2018

@infograf768

and also see if we need to modify some other core components to use the new variable.

At the moment, all components work as they worked. I checked com_contact, but the additional check is not superfluous

However, in the near future it is desirable to do this like 79ed099 for com_contanct and com_newsfeed

In addition, you will need to add &layout=xxx to links in all templates and modules. This was not initially, and this PR does not affect the work of these extensions, but it still needs to be done.

So after testing, checking and I hope to merge this PR you can create a new issue for each task separately and I or someone else will write the code as far as possible.

It will be more convenient. Because in this PR and so there are 4 Testing Instructions and but they are all related to com_content. So it's relatively convenient to test.

// Filter by current language
$advClause[] = 'c2.language != ' . $db->quote(JFactory::getLanguage()->getTag());

if ((!$user->authorise('core.edit.state', 'com_content')) && (!$user->authorise('core.edit', 'com_content')))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need imho for double parenthesis line 61

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@infograf768
I agree. I just copied this line from models/article.php
https://github.com/joomla/joomla-cms/blob/staging/components/com_content/models/article.php#L55

At work it does not affect. Perhaps double parentheses were made for better code performance ?

Remove double parenthesis in line 61 or leave?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

{
// To avoid doing duplicate database queries.
static $multilanguageAssociations = array();

// Multilanguage association array key. If the key is already in the array we don't need to run the query again, just return it.
$queryKey = implode('|', func_get_args());
$queryKey = implode('|', array($extension, $tablename, $context, $id));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The $advClause param should probably be part of the key here as that will alter the query result, so what's cached can't really be re-used here.

Copy link
Contributor Author

@Septdir Septdir Apr 25, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mbabker I thought about that. But that key can turn out too long

Current key

com_content|#__content|com_content.item|1

Key with $advClause

com_content|#__content|com_content.item|1|c2.access IN (1,1,5)|c2.language != 'en-GB'|(c2.publish_up = '0000-00-00 00:00:00' OR c2.publish_up <= '2018-04-25 11:39:07')|(c2.publish_down = '0000-00-00 00:00:00' OR c2.publish_down >= '2018-04-25 11:39:07')|c2.state = 1

Key with all arguments

com_content|#__content|com_content.item|1|id|alias|catid|c2.access IN (1,1,5)|c2.language != 'en-GB'|(c2.publish_up = '0000-00-00 00:00:00' OR c2.publish_up <= '2018-04-25 11:40:39')|(c2.publish_down = '0000-00-00 00:00:00' OR c2.publish_down >= '2018-04-25 11:40:39')|c2.state = 1

Choose, in this issue I do not have a principled position

The key with all the parameters is the most accurate if we talk about caching, but I'm not sure that such precision is needed

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally I'm not concerned with key length, I'm more concerned with ensuring accuracy in the code. I do think having the id, alias, and catid column names in the key is redundant because it's not like the table schema is going to change in the middle of the request (and the table is already part of the key) so dropping those are a good idea.

Make this the key:

$queryKey = md5(serialize(array_merge(array($extension, $tablename, $context, $id), $advClause)));

The key length is now consistent and has enough entropy that if you run this method with two different $advClause parameters that your result won't be affected because that param isn't considered as part of the cache and inherently the second or later calls ignore it completely.

Copy link
Contributor Author

@Septdir Septdir Apr 25, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the code. Great idea. Done

}
else
{
$return[$tag] = 'index.php?option=' . $extension . '&view=category&id=' . $item;
$viewLayout = ($layout) ? '&layout=' . $layout : '';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove parenthesis

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@Septdir
Copy link
Contributor Author

Septdir commented Apr 25, 2018

continuous-integration/drone/pr — the build failed JavaScript

@Septdir
Copy link
Contributor Author

Septdir commented Apr 25, 2018

2 PR in the last 3 hours - this indicates that people have finally begun to notice the wrong links on sites

@infograf768
Copy link
Member

I have tested this item ✅ successfully on f5d85ff

Looks OK here.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/20229.

@brianteeman
Copy link
Contributor

restarted drone

@Arkadiy-Sedelnikov
Copy link
Contributor

I have tested this item ✅ successfully on f5d85ff

Ок.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/20229.

@Quy
Copy link
Contributor

Quy commented May 1, 2018

RTC


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/20229.

@joomla-cms-bot joomla-cms-bot added the RTC This Pull Request is Ready To Commit label May 1, 2018
@infograf768 infograf768 added this to the Joomla 3.8.8 milestone May 2, 2018
@jreys
Copy link
Contributor

jreys commented May 2, 2018

I have tested this item ✅ successfully on f5d85ff


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/20229.

@mbabker mbabker merged commit 0042b1a into joomla:staging May 5, 2018
@joomla-cms-bot joomla-cms-bot removed the RTC This Pull Request is Ready To Commit label May 5, 2018
@Septdir Septdir deleted the fix-layouts-and-associations branch May 5, 2018 22:05
wilsonge pushed a commit that referenced this pull request Jun 14, 2018
* Prepare 3.8.4 Release Candidate

* Reset for dev

* Regression in the ISIS backed css

PR for #19411

* Regression: Isis RTL forgotten in 19417 (#19423)

* [com_content] - archived legacy SEF fix (#19397)

* [com_content] - archived legacy sef fix

* cs

* Fix media manager 'up' button (#19443)

* Regression at createUri from #19099 (#19415)

* [installer] - sanitize extensions type as lower case (#18416)

* Fix filter by multiple categories (#19450)

* Fix filter by multiple categories

* Remove debug code

* 2nd Release Candidate for 3.8.4

* Do not add unnecessary parameters in the archive link (#19447)

* Do not add unnecessary parameters in the archive link

* Remove php notice

* Unset parameter month=0 when year is not set

* Prepare 3.8.4 release

* Reset for development

* Move from protocol relative links to https for google fonts imports (#19488)

* move to protocol relative links to https

* fix one broken font link

* Revert "Regression at createUri from #19099 (#19415)"

This reverts commit 128a4d4.

* Revert "Correctly redirect after logging into the multilingual joomla with association enabled (#19295)"

This reverts commit 5994eb1.

* Revert "Fix parser error in plugin languagefilter on php5 (#19268)"

This reverts commit 05fd1d9.

* Revert "Do not add default or active Itemid to every link without own menu item (#19099)"

This reverts commit d068868.

* Update CMSApplication.php (#19514)

* CodeMirror Updated to 5.34.0 (#19533)

* Prepare 3.8.5 release candidate

* Reset to dev

* Revert "Do not add unnecessary parameters in the archive link (#19447)"

This reverts commit 0155f35.

* Revert "[com_content] - archived legacy SEF fix (#19397)"

This reverts commit 01a9147.

* Prepare 3.8.5 release

* Reset for dev

* Changed parameter to bool (#19573)

* Removed orphan weblinks languages (#19495)

* Changing loading order for between Redirect and Logout system plugins at (#19489)

install time

* mod_articles_news. Define $item_heading only if needed (#19439)

* mod_articles_news. Define $item_heading only if needed

* Update _item.php

* Update _item.php

* Fix count() in PHP 7.2 (#19396)

* Fix count()

* Simplify check

* [CS] Code style Tabs must be used to indent lines; round 1 (#19350)

* Tabs must be used to indent lines; round 1

Tabs must be used to indent lines; spaces are not allowed

* Fix some indent issues not fixed by the auto fixer

nothing is perfect, sometimes we need to make some minor adjustments.

* fix line issue

* Make suggested changes to reflect general code style

* Add space after ;

- correct indenting
- remove extra ;
- correct spaces

* &nbsp; was on it's own line

* fix missing semicolon

* align equals

replace tab with spaces on line 25

* remove extra space

* fix missing semicolons

fix some spacing around operators

* com_mailto remove unused params (#19290)

I was checking to see why we had an untranslated string and as far as i can tell this entire params section is not used

To test apply pr and make sure that the send to friend functionality works as before

* [com_fields] Fields are not copied when batch duplicating an article (#16958)

* [#16740] - [com_fields] Fields are not copied when batch duplicating an article

* user deploy version over the wrong since tag ;)

* [#16740] - [com_fields] Fields are not copied when batch duplicating an article

* Handle modified date in Document objects consistently (#19592)

* Delete existing user_keys, if password is changed (#17827)

* Delete existing user_keys, if password is changed

* corrected styling issues

* deploy version - as I said, this is my first pr

* pushing to patch-2

* newline after }

* push to patch-2

* push to patch-2

* Update en-GB.com_users.ini

* Update remember.php

* Update remember.xml

* configuration option in XML file

radio button option to activate/deactivate the "reset RememberMe" functionality on password-change.

* Update en-GB.plg_system_remember.ini

* hm...

* Update remember.php

* Update remember.php

* XML styles

* commenting out the user message

* Update remember.php

* Update en-GB.plg_system_remember.ini

* btn-group-yesno

* Update remember.php

* Update remember.php

* reference to Alice Ruggles removed!

* making it mandatory

* Update remember.php

* making it mandatory

* making it mandatory

* making it mandatory

* as per the remarks of Quy

changed

* changed as per Quy's remarks

* [CS] Code style Tabs must be used to indent lines; round 2 (#19351)

* [CS] Code style Tabs must be used to indent lines; round 2

- Tabs must be used to indent lines; spaces are not allowed

* fix some indenting not fixed by the auto fixer

* Fix some more indenting and spacing

* use and/or in template mixed HTML/PHP files

For consistancy, Until a decision is made on joomla/coding-standards#191
use `and`/`or` in template mixed HTML/PHP files rather than our normal
required `&&`/`||` requierment that we have for full PHP files

* Use the && and || operators

preferences to Use the && and || operators

* Remove space indent exceptions (#19609)

* remove space indent exceptions

* tab indent not spaces

* Tabs must be used to indent lines; spaces are not allowed

* Tabs must be used to indent lines; spaces are not allowed

try using the concatenation to fix space indent strangeness

* Tabs must be used to indent lines; spaces are not allowed

* [3.9] Tweak update percentage message to include %-sign (#19628)

* Tweak update percentage message to include %-sign

* Add minified version.

* Typo Joomla is vegetarian (#19649)

Quick fix to the spelling of meet

* Plain English cont. (#19654)

The accessibility standard Web Content Accessibility Guidelines (WCAG) 2.0 Section 3 states https://www.w3.org/TR/WCAG20/#understandable

>### 3. Understandable
> Information and the operation of user interface must be understandable.

>#### Guideline 3.1 Readable
> Make text content readable and understandable.

> #### Success Criterion 3.1.5 Reading Level
> When text requires reading ability more advanced than the lower secondary education level after removal of proper names and titles, supplemental content, or a version that does not require reading ability more advanced than the lower secondary education level, is available.

To achieve this we should use "plain language" wherever possible

1. Word choice: use the simplest word that conveys your meaning.
http://plainlanguagenetwork.org/plain-language/what-is-plain-language/

2. Prefer the short word to the long.
https://www.plainlanguage.gov/guidelines/words/

This PR continues the work and removes the superfluous text " to make it possible"

* Plain English (#19629)

* accordingly

* advised => recommended

* assist => help

* attempt=>try

* concerning => relevant

* contains => has

* containing -> with

* contains=-> has

* Currently -> (omit)

* designated -> marked

* initial -> first

* initialise->start

* in order to -> to

* it is -> (omit)

* optimal -> best

* regarding->on

* remain -> stay

* terminated -> stopped

* word order

* Fix PHP Warning for Session on PHP 7.2 (#19199)

* Fix PHP Warning for Session on PHP 7.2

* CS

* Correctly call function with the parameter by reference (#19233)

* Better code for set category view layout (#19238)

* [Modern Routing] make a simpler loop in StandardRules::build (#19271)

* Simpler loop in build method of StandardRules

* Now use last_id only

* Remove useless code

* Remove support for new router configuration

* Improve performance of the com_content category view for a huge number of articles (#19284)

* Multilingual: Associated categories should display only when published (#19551)

* Multilingual: Associated categories should display only when published

* cs

* cs

* [CS] Array list style (#19610)

* array list style

* array list style

* array list style

* array list style

* Prevent compounding inputmode attribute (#19632)

* Fix user profile plugin (#19633)

* Update pagebreak plugin description (#19653)

Simple PR to update the very outdated text suggesting that the page break button is normally found under the article text area.

* Chinese calendar js files don't load on Linux because they are not (#19662)

lowercase.

* Typo (#19675)

Simple PR to fix a typo in a string

* Implement Session GC Cli (#19548)

* Implement Session GC Cli

* CS add new line

* Add deprecate log message for the pathway name attribute (#19700)

* Add deprecate log message for the name attribute

* Spelling

* typo (#19691)

* typo

can be merged on review

* more

* Possible misprint (#19688)

I think $ids array stores articles ids, because $articleModel->getItem()->id. Maybe copy-paste from line 159/line 206?
Also, this possible misprint can be found in  4.0 branch.

* Add the missing import in the application (#19709)

* Add the missing import in the application

* Use the local logger

* fix 404 on github dokukmentation links (#19775)

* Articles - Latest (#19664)

The descriptions says "This module shows a list of the most recently published and current Articles."

So if they are "current" then they cant also "may have expired"

Simple PR to correct that on the front end

For the admin version of the module the change is a little different as here the list will show all the articles irrespective of their current published state so the string change is different and is just a simplification and not a correction

* reCAPTCHA V1 stops on March 31 (#19648)

* reCAPTCHA V1 stops on March 31

Google have emailed directly anyone using v1 reCAPTCHA keys but users don't read their email.

This PR adds a post-installation message IF they have the reCAPTCHA plugin enabled AND they are using v1 keys.

This PR also updates the messages in the plugin informing them that V1 will not work after march 31

@mbabker already completely refactored the plugin for J4 to remove V1 etc this PR is ust for the messages

* CS - new lines

* use query to find the extension_id and not haardcoded

* docblock

* 3.8.6

* Update actions.php

* System Information (#19764)

* System Information

We had the db version and the db collation but not the type
This PR adds the database type eg postgresql, mysql etc

* Update sysinfo.php

* rename and move

* rename

* Overrides do not find 3rd party plugins languages when files are in the (#19740)

plugin

* Com_redirect: Differentiating utf8 old_url (#19734)

* TinyMCE: uglify the inline XTD-btns script (#19731)

* remove tabs and returns and spaces

* more compression

* Add some comments so others can follow the code

* Doh, this code was for J4

* reninitialise the array 😡

* Update bootstrap-rtl.css (#19715)

* Update bootstrap-rtl.css

Duplicate entry .radio.btn-group > label:first-of-type

* Update bootstrap-rtl.less

Removed 2nd occurrence of  .btn-group > .btn:first-child, .radio.btn-group > label:first-of-type

* Hide global configuration and system information from non super users (#19697)

* Hide global configuration and system information from non super users

* Use identical operator

* [a11y] Cache toolbar (#19686)

We use the icon name to populate the ID. This toolbar has the same icon for both buttons so we have two buttons with the same id which is an accessibility failure

This pr ensures every id attribute value is unique

Because the icon has multiple names we can simply use one of the alternative names as a quick and dirty fix.

There is no visual change

* Wrong desc fixed. Changed title to document! (#19685)

* Wrong desc fixed. Changed title to document!

* Update Document.php

* Move custom buttons to the other buttons in TinyMCE (#19656)

* Proxy to a higher error handler if there is one available (#19645)

* Correct output_buffering check in 3.8.x (#19611)

* correct output_buffering check in 3.8.x

* simplified the check @Quy

* this is why we can not have nice things.. fixing the check for output_buffering

* Pass the configuration tmp_path to the archive package for extension installations (#19608)

* pass the configuration tmp_path to the archive package for extension installations

* add missing \

* Improve header handling in PageController cache (#19591)

* Defining typeAlias (#19647)

* Fix JRoute('&var=...') not adding current URL variables when current URL is the home page (#19582)

* Fix loosing current URL vars when in home page

* Update SiteRouter.php

* Test units

* Test units

* [TemplateAdapter.php] Rewrote hardcoded SQL to query object (#17923)

* rewrote hardcoded SQL to query object

* correction in SQL for home field is declared as char/varchar

* correction in SQL for home field is declared as char/varchar + ->q()

* the requested change from @Quy

* added microdata (#17689)

* [Schema checker] (Database FIX) Add support for checking NULL and DEFAULT column attributes (#17351)

* [Schema checker] (Database FIX) Add support for checking NULL and DEFAULT column attributes

* CS

* Update en-GB.com_installer.ini

* english

* The One Right Session Management Configuration For Joomla! 3 (#19687)

* Session garbage collection plugin

* Session metadata manager

* Expand metadata manager to allow all apps, CLI for metadata cleaner

* Move metadata cleanup to the plugin

* Misc fixes from feedback

* Language tweaks

* Change to uint filter, if it'll get people to review and accept the damn PR...

* Fix mssql installation (#19796)

* Prepare 3.8.6 RC1 Release

* Reset for dev

* Update Greek Installation language files (#19806)

* Another typo in Greek (#19816)

* checksum extensions light (#17619)

* [3.8] - checksum extensions

porting checksum extensions from 4.0

* install checksum

add install checksum

* update checksum

add update checksum

* lang

add lang string

* doc block

add missing parameter

* tab

tab

* PHP cs

* PHP CS

* return integer

return integer instead of mixed

* switch

switch inteder

* switch

switch integer

* add CONST and remove sha1/md5

add CONST and remove sha1/md5

* hash algos

hash algos

* sha256,sh384,sha512

hash algos

* alpha order

alpha order

* fix docbloc

fix docbloc

* Revert "checksum extensions light (#17619)" (#19873)

This reverts commit 4d79fe2.

* Update spanish installation language (#19878)

* implement check provided by @ggppdk (#19791)

* Fix undefined index: password_clear (#19892)

* Prepare 3.8.6 release

* Reset for development

* Fix appveyor builds and bump driver dll version (#19805)

* bump driver dll version and add php 7.2

* remove php 7.2 until drivers are available

* Use powershell 'Invoke-WebRequest' Workaround

When you use appveyor command-line utility to download, its user-agent is empty, 
Some sites do not allow empty user-agents to download. 
Use powershell 'Invoke-WebRequest' Workaround until appveyor fixes their command-line utility to have a user agent

* Don't have a metadataManager class property to avoid circular dependency problem when instantiating multiple applications (#19912)

* typo (#19910)

typo

* Clear button in article publish date (#17809)

* For clear button issue

* Update calendar.js

* Update module.php

* Remove commented line

* [com_templates] Rewrote hardcoded SQL to query object (#17921)

* rewrote hardcoded SQL to query object

* correction in SQL for home field is declared as char/varchar

* correction in SQL for home field is declared as char/varchar + ->q()

* Break where clauses up

* Fix Help URLs and update to Help38 (#19181)

* Fix Help URLs

* Update to Help38

* Fixed trig on change event (#19538)

* [com_content] - fix link when layout and association (#19681)

* Date format localise (#19690)

* Add new date format LC6

* LC6

* commit 2

* [behavior.formvalidator] - pattern attribute behaviour fix (#19771)

* [behavior.formvalidator] - pattern behaviour fix

* minify

* Fix a subform table layout to be more strict to rows container (#19774)

* mod_breadcrumbs. remove JHtml::bootstrap.tooltip (#19787)

* Debug plugin style (#19790)

* Debug plugin style

Wrong css on the buttons for Log Category Mode

It should be green for the positive action (include) and red for the negative action (exclude)

This simple PR ensures that is the case

* oops

* Front end menu items translated in error (#19802)

* Front end menu items translated in error

PR #13606 introduced translatable admin menu item creation but the code didnt check if the menu item was for the frontend or the admin before doing the translation

### Test Instructions
1. Install any additional language eg italian
2. Create a menu item called "Sun"
3. On the list of all the menu items you will see it is displayed as "Dom" - the italian translation
4. Enable language debug
5. On the list of all the menu items you will see all your menu item titles are surrounded by ?? - to indicate no translation found -  except for "Dom" which has ** instead to show it has been translated
6. Apply this PR
7. Sun still says Sun
8. There are NO ?? or ** when in language debug mode
9. Bonus - check a custom admin menu item and you will see it can be translated

* code style

* cs

* CodeMirror 5.35.0 (#19809)

* Correcting finder feeds items date when language is not English (#19815)

* Correcting finder feeds items date when language is not English

* typo

* [com_ajax] Change modules check (#19818)

* Add com_ajax check in getModuleList query

* Restore getModuleList query

* Change module check inside com_ajax

* Categories: Allow sorting by Associations (#19821)

* Categories: Allow sorting by Associations

* moving assoc sorting after access

* Article and contact modal should not use addslashes (#19826)

* Menu tems select field: no need to escape string value (#19828)

* Allow limiting calendar field to current year (#19846)

* Allow locking to min and / or max year to current year

* Update calendar.php

* Cleared non-set variable notices

* Update JHtml::calendar to support relative years limits (#19847)

* Simplify switch statement (#19849)

* [CS] Code style Fix some inline doc blocks for IDE hinting - round 1 (#19862)

* Fix Operator Spacing

* Fix inline doc blocks for IDE hinting

* Fix some docblocks and comments (#19863)

* Custom admin menus: Translating menu items titles (#19900)

* adapt default values (#19924)

* Use getter method (#19925)

* Custom Admin menu item edit: Display Title, Parent Item and Ordering translations (#19916)

* Admin menu item edit: Display Title, Parent Item and Ordering
translations

* Modifs suggested by izharaazmi

* cs

* display translated title only when item exists

* Correcting label alignment

* Cosmetic changes

* In theory, you may not always be working with the default database. So use the correct one. (#19474)

* [plugin][content] - loadmodule by id (#19362)

* [plugin][content] - loadmodule by id

* [plugin][content] - loadmodule by id

* getModuleById

* getModuleById

* id not found

* id not found

* simple syntax

* js side

* modal

* minify js

* regex only digits

* remove title

* use static load()

* regex

* cs

* return

* cs tabs removed

* simplify code

* clean code

* no style

* replace loadmodule with loadmoduleid

* cs

* replace loadmodule with loadmoduleid

* replace

* missed echo

* moved back

* Update loadmodule.php

fixed cs

* Revert "[plugin][content] - loadmodule by id (#19362)" (#19931)

This reverts commit 4172f79.

* Category Modal - add notes (#19131)

* Category Modal - add notes

If you add a note to a category then it is displayed in the category list but not displayed in the category modal (eg when you select a category for a blog menu item)

This PR adds the note, alias, and full path (on hover) to the modal to make it consistent with the list view

* space

* Please consider a blank line preceding your comment (#19936)

* Fix typo in editor field (#19938)

* [CS] long form function return types; round 1 (#19934)

* PHPCS2 - fixes

* 2 spaces after

* Expected 2 spaces after the longest param type

* [libraries][legacy][request] - fix php 7.1 warning not numeric (#19710)

* [libraries][legacy][request] - fix php 7.1 warning not numeric

* dry

* [com_fields] Normalise the request com_fields data (#19884)

* Normalise the request com_fields data

* CS

* PHP 5.3 compat

* Fields in com_fields array (#9)

Fields should be set in com_fields array and not direcly in $data

* Spelling

* Also normalise request data on front-end user profile save (#10)

* Also normalise request data on front-end user profile save

* correct context and option

* Handle 0 properly in empty check

* Simplify

* allowing value 0 to be saved (#11)

when setting a value of 0 in a text field the function empty will return true > setting the value to null

* correct needsUpdate when strlen (or count) = 1 which incorrectly equa… (#12)

* correct needsUpdate when strlen (or count) = 1 which incorrectly equaled to 'true'

* Update field.php

* Update field.php

* [event dispatcher]  - use strict comparison (#19907)

* [com_users] Fix display of custom field of value 0 (#19933)

* [CS] long form function return types; round 2 (#19935)

* PHPCS2 Auto Fixes

- Expected "boolean" but found "bool" for function return type
- Expected "integer" but found "int" for function return type

* Manual correction of docBlock spacing

* Manual correction of docBlock spacing

* Manual correction of docBlock spacing

* Manual correction of docBlock spacing

* Add some Member var comments

* Manual correction of docBlock spacing

* Add some Member Var comments

* return tag after access tag

* 3 spaces after var tag before the type

* add tag since 3.1 to Class Properties and align var tags

* add tag since 3.1 and align var tag

* adjust some tag alignments

* Two spaces after type

* integer not int

* Redirects Plugin - Make Relative or Absolute. (#19942)

* Redirects Plugin - Make Relative or Absolute.

* Orderiing and capital I.

* Update en-GB.plg_system_redirect.ini

* Update en-GB.plg_system_redirect.ini

updated as per @quys comment.

* Update en-GB.plg_system_redirect.ini

* Make calendar output usable in other css-frameworks (#19944)

* Revert changes expect css

* Make calendar output usable in other css-frameworks

* A min-width makes look better

* Fix for duplicate url check bug introduced by #19734 and support utf8… (#19950)

* Fix for duplicate url check bug introduced by #19734 and support utf8 on old_urls.
Couldn't find a solution to handle this within mysql. So a simple foreach handles it perfectly.

* Update link.php

* solved issue number #19930 (#19969)

corrected typo to ensure proper checkbox functionality

* Removed text-output and enabled a disabled tick box for consistency (#19974)

* Change to allow str_pos to match when the exclude term is at the root… (#19979)

* Change to allow str_pos to match when the exclude term is at the root of the path

* updated redirect.php - clearly I was tired with the first pr.

* Fix for #11070 (tag-category) - Improve also views newsfeed-category … (#16627)

* Fix for #11070 (tag-category) - Improve also views newsfeed-category and category-list

* Correctly modifying .LESS and regenerate .CSS (#16627)

* Simple enhancement to allow the user to make all Post Install Messages read (#19958)

* Simple enhancement to allow the user to make all Post Install Messages as read.

* Update message.php

* Update messages.php

* Update messages.php

* Added onDisplay function for handling the display of the button.

* removed blank lines.

* updated quotes around ints.

As per @alikon comments

* Added (int) just to be safe.

* Update messages.php

* Update messages.php

* Update messages.php

* [com_mailto] Add missing placeholder (#19999)

* Make sure items is an array. (#20000)

* Make sure items is an array.

Resolved #19998

* Update default_items.php

* Update tag.php

* Update tag.php

* Update tag.php

* Update tag.php

* [com_fields] Fix fields display HTML prepared 4 or 5 times per article, make it be prepared only twice (#17895)

* Pass field displayType (aka event type) to getFields

* Update getFields to respect the 'display' parameter of every field

* Update onContentPrepare to respect 'display' parameter of every field

* Prepare for manual display

* Do not create $item->jcfields multiple times

* Revert the code for manual display to always prepare the field value

* Wrong function name

* Fix docblock

* Better comment for parameter of getFields method

* fix media field in ISIS Template (#17205)

* fix media field in ISIS Template

* fix media field in ISIS Template

* [3.x] New sessiongc plugin is not declared as core plugin for manifest cache refresh (#20038)

* add sessiongc plugin to the core plugins

* alphasorting thanks @brianteeman

* [module] [articles category] filter by multiple tags (#19983)

* [module] [articles category] filter by multiple tags

* multiple tags

* spelling

* [com_finder] Remove unused params (#20009)

* [com_finder] Unused params

* Update en-GB.com_finder.ini

* Update sample_learn.sql

* Update sample_testing.sql

* Update sample_learn.sql

* Update sample_testing.sql

* Update sample_learn.sql

* Update sample_testing.sql

* Update jos_menu.csv

* Restore and deprecate strings

* Two new fonts for CodeMirror: IBM Plex Mono, Nanum Gothic Coding (#20017)

* CategoryEdit field published filter (#20018)

* Smart Search: Highlighting terms also in fulltext when using readmore (#20019)

* Smart Search: Highlighting terms also in fulltext when using readmore

* parsing summary + body to get text only

* Escape full query in NestedTable debug mode (#20024)

* Changed viewname filter in RouteHelper (#20031)

* Fix GMail plugin so it doesn't crash and burn on 4.0 upgrades (#20043)

* Tweak build script for added flexibility (#19848)

* Refresh Manifest Cache failed: Extension is not currently installed (#19560)

* Refresh Manifest Cache failed: Extension is not currently installed

PR for #17604

Change the message to include the name of the extension.

I have no idea how to test this - sorry - only code review - unless someone knows how?

* partial revert

* revert comment

* Remove rtrim() since it allows invalid emails (#20080)

* Custom Fields toggle display on read only rights (#20068)

* [com_fields] Normalise the request com_fields data (#19884)

* Normalise the request com_fields data

* CS

* PHP 5.3 compat

* Fields in com_fields array (#9)

Fields should be set in com_fields array and not direcly in $data

* Spelling

* Also normalise request data on front-end user profile save (#10)

* Also normalise request data on front-end user profile save

* correct context and option

* Handle 0 properly in empty check

* Simplify

* allowing value 0 to be saved (#11)

when setting a value of 0 in a text field the function empty will return true > setting the value to null

* correct needsUpdate when strlen (or count) = 1 which incorrectly equa… (#12)

* correct needsUpdate when strlen (or count) = 1 which incorrectly equaled to 'true'

* Update field.php

* Update field.php

* Custom fields view on form via toggle on read-only rights

* fix back-end new article

* first / seperate check on read-only access

* refactor code so show_on parameter is part of helper function

* implement inherit value in fields + language things

* loadmodel only when needed

* changed function comment

* change values order so default value (inherit) is displayed first

* Must use self:: for local static member reference

* Fixed page with multiple codemirror editors fields with different syntax highlighting (#20063)

* Fix for: Can't choose module using editor plugin if you search first (#20005)

* fixit

* cs

* Update modal.php

* Basic check to make sure the bulk import seperator is being used. (#19982)

* Basic check to make sure the bulk import seperator is being used.
Added Import State function as to how the urls should be imported, enabled or disabled.

* force int.

* Update config.xml

* Update links.php

* Update en-GB.com_redirect.ini

* Update config.xml

* Update links.php

* Update en-GB.com_redirect.ini

* Update config.xml

As per standards i.e:
https://github.com/joomla/joomla-cms/blob/staging/administrator/components/com_config/model/form/application.xml

i.e. endtag inline with options and closing tag inline with opening tag.

* Update links.php

* Changed none selected to none, to be used when there are none availab… (#19977)

* Changed none selected to none, to be used when there are none available to select and when none are selected.
Set select to be readonly is they cannot select any options

* Update plugins.php

* Update plugins.php

* Update en-GB.ini

* Update en-GB.ini

* Update plugins.php

* Update plugins.php

* Update plugins.php

* Update plugins.php

* Update plugins.php

Space/tabbing for drone.

* Update plugins.php

* Corrected bug on empty subject of com_mailto (#19956)

* Corrected bug on empty subject

If the subject is empty, the posted value is an empty string (exists) so the default value is never added.

* Updated code to include null value

* text corrections (#20111)

* Typo and copy paste error (#20123)

Someone couldn't spell and then someone else must have copy pasted the error

No idea how to test but this has been wrong since 3.5

* correct the use of the use command and move it below the defined command (#20130)

* Prepare 3.8.7 RC

* Reset for dev

* Add a security policy (#20163)

* Add a security policy

Many projects now add a SECURITY.md document to their repository. Often this is related to using HackerOne but not always.

This PR adds a policy to our github repo. It is based on the existing policy on the d.j.o web site

The file doesn't need to be distributed so it has been added to the exclude list in the github repo.

* tweek

* copy paste

* Update SECURITY.md

* Update SECURITY.md

* Prepare 3.8.7 release

* Reset for dev

* Introduce CODEOWNERS (#20137)

* Tidy writeDynaList() (#12184)

* Cleaned writeDynaList() in core.js

* Removed explanation comments

* removed all API changes

* updated compressed core.js

* [fix] publish/unpublish does not work with tables using null as default checked_out value (#20204)

* Fix overwrite by .table-striped (#20180)

Fix overwrite by administrator/templates/isis/css/template.css line 1787

table.table-striped tbody > tr:nth-child(odd) > td,
table.table-striped tbody > tr:nth-child(odd) > th {
	background-color: #f9f9f9;
}

* Fix overwrite by .table-striped (#20179)

Fix overwrite by administrator/templates/isis/css/template.css line 1787

table.table-striped tbody > tr:nth-child(odd) > td,
table.table-striped tbody > tr:nth-child(odd) > th {
	background-color: #f9f9f9;
}

* Tooltips not loading com_users (#20177)

The edit profile form is not loading the bootstrap tooltip code. So any tooltip (not popovers) are displayed as html as seen in the screenshot below when TFA is enabled.

This was spotted by @o2tsen and @sandewt while testing #20051 but as it is a bug effecting more than that PR I have created a new PR. (a pr should only fix one problem)

* [a11y] Headings consecutive order Debug Console (#20167)

> Headings communicate the organization of the content on the page. Web browsers, plug-ins, and assistive technologies can use them to provide in-page navigation.

> Skipping heading ranks can be confusing and should be avoided where possible: Make sure that a < h2> is not followed directly by an < h4>, for example.

Source (https://www.w3.org/WAI/tutorials/page-structure/headings/)

The headings were probably chosen for cosmetic reasons and not structural reasons which they should have been

This PR changes the heading in the debug console from h1 to h2

There is a very small visual change as a result but imho the benefits outweigh the small cost

* [a11y] Headings consecutive order (#20166)

* [WIP] [a11y] Headings consecutive order

> Headings communicate the organization of the content on the page. Web browsers, plug-ins, and assistive technologies can use them to provide in-page navigation.

> Skipping heading ranks can be confusing and should be avoided where possible: Make sure that a <h2> is not followed directly by an <h4>, for example.

Source (https://www.w3.org/WAI/tutorials/page-structure/headings/)

This PR changes the heading in the plugin and modules from h3 to h2 and in the template styles to h4

### todo
joomla.edit.item_title layout uses h4 but before I change it I need to check everywhere that it is being used

* layout

* Fix typos in InstallerControllerUpdate (#20154)

* Fix typos in InstallerControllerUpdate

* Fix same error on other places. Thanks @Quy

* Remove similar unnecessary code

* Revert "Remove similar unnecessary code"

This reverts commit 56410c0.

* One more

* Revert "One more"

This reverts commit aa1b101.

* [com_contact] Don't hide contact filter form (#20126)

* Update default_items.php

* Correct implode order.

* Codestyle

* More codestyle

* Fix for JUserHelper::addUserToGroup() when user group title is a number. (#20091)

* Update UserHelper.php

* Update UserHelper.php

* Fix count() in PHP 7.2 (#20044)

* [com_content][Multilanguage] - remove duplicated queries (#19683)

* [com_content][Multilanguage] - remove duplicated queries

* cs

* add $db->qn()

* removed ()

* Make CodeMirror work in repeatable subforms (#12542)

* One function to initialize any and all CodeMirror instances rather than individual functions to initialize one-by-one. Call on page load and also on subform-row-add

* Minor js changes

* Codemirror fullscreen modifier message (do we still need this?)

* Call the popover init function when creating new subform rows. (#20222)

* Call the popover init function when creating new subform rows.

* Update teh popover test

* [a11y] post-installation message in control panel (#20220)

> Headings communicate the organization of the content on the page. Web browsers, plug-ins, and assistive technologies can use them to provide in-page navigation.

> Skipping heading ranks can be confusing and should be avoided where possible: Make sure that a < h2> is not followed directly by an < h4>, for example.

Source (https://www.w3.org/WAI/tutorials/page-structure/headings/)

The heading was probably chosen for cosmetic reasons and not structural reasons which they should have been

This PR changes the heading for the post-installtion message i the control panel from h4 to h3

There is a very small visual change as a result but imho the benefits outweigh the small cost

* Solves issue #20195 (#20214)

* [plugin][search][content] give priority on result when title is matched (#20197)

* [plugin][search][content] give priority on result when title is matched

* Missed comma

* Add relevance weighting according to number of words

* Relevance by number of words in title only, removed introtext relevance

* Fix order string concatenation

* You've Got Mail (#20162)

* You've Got Mail

Since 2003 the internet has changed. We no longer get a message to say that we have a message. Instead we just give you the message. You probably never use the messages component (especially for private message to a specific user) as they are the equivalent of https://www.youtube.com/watch?v=gFBLiHpkcOk

The Joomla com_messages component is used in two instances

1. Notification of a new article
2. Sending a message to another user

### Current email for Notification of a new article
Subject: A new private message has arrived from [sitename]
Body:
> Please log in to [link] to read your message.

### New email for Notification of a new article
Subject: New message from [user] at [sitename]
Body:
> New Article
A new Article has been submitted by 'user' entitled 'blog post'.
> Please log in to [link] to read your message.

### Current email when sending a message to another user
Subject: A new private message has arrived from [sitename]
Body:
> Please log in to [link] to read your message.

### New email when sending a message to another user
Subject: New message from [user] at [sitename]
Body:
> [subject]
 [message]
[login link]

## Backwards Compatibility
No issues. The message contains the old login message PLUS the content of the message. So if you were using this message in a custom workflow there is no change required to that workflow

* subj

* cs

* add new string and mark existing string for deprecation

* Support Codemirror's included key mappings (#19833)

* Support Codemirror's included key mappings

* Use a list instead of radio buttons

* Don't expose LDAP authentication usage. (#18531)

* Don't expose LDAP authentication usage.

* Use new language strings for LDAP authentication.

* remove bind string

* remove bind string

* use connect string

* alpha order

* alpha order

* Handle the case that JFolder::files returns 'false' (#11715)

* Initialize tooltips when a new a row is added in a subform (#12996)

* Initialize tooltips when a new a row is added in a subform

* Fix a test since the init function has changed

* Replace htaccess which was removed inexplicably

* Missing space (#20260)

* Tiny JLanguage::loadLanguage() code improvement (#20257)

* [com_content] Remove redundant check (#20254)

* Update articles.php (#20245)

* [com_config] Capitalize label (#20299)

* Implement Issue Templates as discussen in #20298

#20298

* [fix] openbase_dir processing (#20280)

* CodeMirror updated to version 5.37.0 (#20269)

* Use title from menu item (#20267)

* Change the defaults for new installs to disable com_mailto in articles (#20266)

* change the defaults for new installs to disable com_mailto in articles

* change more defaults to 0 thanks @Quy

* Don't enable sending the PW on new installs (#20247)

* disable plaun pw sending per default on new installs

* make sure we have to set a PW when we dont send the plain pw via mail

* chagne the default in the xml to thanks @Quy

* update the sample data thanks @Quy

* make sure the mail to user does not include the PW too

* Revert "make sure the mail to user does not include the PW too"

This reverts commit 9095819.

* address comments by @Bakual thanks

* Optimization and fix of multilingual associations and add layouts to com_content links (#20229)

* Revert #19681

* Revert #19683

* Remove addition query and check after #19314

* Add layout to com_content links

* Add layout to com_content article associations

* Add layout to category associations

* add advanced where clause param

* add advanced where clause for com_content article associations

* drone code formatting fix

* drone code formatting fix

* drone code formatting fix

* Line exceeds 150 characters

* PHPCS rules

* Remove parenthesis

* Change queryKey

* Fix typo

* Improve description

* Add checksum generation to the build script

* Replace "label" classes with the new "badge" ones

* Replace "label" classes with the new "badge" ones

* Siwtch back comment about labels

* Revert "Merge branch 'staging' into 4.0-dev"

This reverts commit 831e986, reversing
changes made to b8c7f7f.

* Replace label classes on js files

* Replace missing label classes

* Use the "danger" to replace "important" in badges

* Use the "danger" to replace "important" in badges

* Replace label classes on a language file
@infograf768
Copy link
Member

@Septdir
I am thinking about a possible improvement to this.

Basically, if an associated article is set to registered, we should still be able to display the flag and link to that associated article in frontend when there is a Read More and show_noauth is set to Yes.
I.e. in components/com_content/helpers/association.php
we would not use $advClause[] = 'c2.access IN (' . $groups . ')'; in that case.

When clicking the flag and the item is displayed, a Register to Read More should display.
To test I just commented //$advClause[] = 'c2.access IN (' . $groups . ')'; (without doing the checks).

Here I also have improved the components/com_content/views/article/tmpl/default.php to use the readmore layout. (as it is now, it is not a button)

The issue is the check for params in the target associated article as we do not get its id before looking for associations.

Any idea?

@Septdir
Copy link
Contributor Author

Septdir commented Jul 11, 2018

@infograf768 hm..
If one idea however, you might have to make additional query

You can comment
$advClause[] = 'c2.access IN (' . $groups . ')';

Then there will be absolutely all id

But then you have to make a query to get the parameters and the accees value
And then in the cycle do the necessary checks. What in my opinion is not the best idea.

Or finalize getAssociation function

So select as well as where could be customizable.

@Septdir
Copy link
Contributor Author

Septdir commented Jul 11, 2018

P.S In fact, I do not really like how the getAssociation function and the Associations class as a whole is done.

He is not very flexible. In fact, it is entirely created for the components of "copies of com_content"
Any difference, for example, the absence of categories or the alias field, or when some other parameters are needed to form associations, leads to usage difficulties.

$advClause in getAssociation function has added a bit of flexibility, but this is just a small patch in a hurry.

Ideally, it is necessary to seriously revise the Multilingual Associations, but this requires a lot of time and effort. And now there are more important tasks

joomlabeat added a commit to joomlabeat/joomla-cms that referenced this pull request Aug 2, 2018
* [com_ajax] Change modules check (joomla#19818)

* Add com_ajax check in getModuleList query

* Restore getModuleList query

* Change module check inside com_ajax

* Categories: Allow sorting by Associations (joomla#19821)

* Categories: Allow sorting by Associations

* moving assoc sorting after access

* Article and contact modal should not use addslashes (joomla#19826)

* Menu tems select field: no need to escape string value (joomla#19828)

* Allow limiting calendar field to current year (joomla#19846)

* Allow locking to min and / or max year to current year

* Update calendar.php

* Cleared non-set variable notices

* Update JHtml::calendar to support relative years limits (joomla#19847)

* Simplify switch statement (joomla#19849)

* [CS] Code style Fix some inline doc blocks for IDE hinting - round 1 (joomla#19862)

* Fix Operator Spacing

* Fix inline doc blocks for IDE hinting

* Fix some docblocks and comments (joomla#19863)

* Custom admin menus: Translating menu items titles (joomla#19900)

* adapt default values (joomla#19924)

* Use getter method (joomla#19925)

* Custom Admin menu item edit: Display Title, Parent Item and Ordering translations (joomla#19916)

* Admin menu item edit: Display Title, Parent Item and Ordering
translations

* Modifs suggested by izharaazmi

* cs

* display translated title only when item exists

* Correcting label alignment

* Cosmetic changes

* In theory, you may not always be working with the default database. So use the correct one. (joomla#19474)

* [plugin][content] - loadmodule by id (joomla#19362)

* [plugin][content] - loadmodule by id

* [plugin][content] - loadmodule by id

* getModuleById

* getModuleById

* id not found

* id not found

* simple syntax

* js side

* modal

* minify js

* regex only digits

* remove title

* use static load()

* regex

* cs

* return

* cs tabs removed

* simplify code

* clean code

* no style

* replace loadmodule with loadmoduleid

* cs

* replace loadmodule with loadmoduleid

* replace

* missed echo

* moved back

* Update loadmodule.php

fixed cs

* Revert "[plugin][content] - loadmodule by id (joomla#19362)" (joomla#19931)

This reverts commit 4172f79.

* Category Modal - add notes (joomla#19131)

* Category Modal - add notes

If you add a note to a category then it is displayed in the category list but not displayed in the category modal (eg when you select a category for a blog menu item)

This PR adds the note, alias, and full path (on hover) to the modal to make it consistent with the list view

* space

* Please consider a blank line preceding your comment (joomla#19936)

* Fix typo in editor field (joomla#19938)

* [CS] long form function return types; round 1 (joomla#19934)

* PHPCS2 - fixes

* 2 spaces after

* Expected 2 spaces after the longest param type

* [libraries][legacy][request] - fix php 7.1 warning not numeric (joomla#19710)

* [libraries][legacy][request] - fix php 7.1 warning not numeric

* dry

* [com_fields] Normalise the request com_fields data (joomla#19884)

* Normalise the request com_fields data

* CS

* PHP 5.3 compat

* Fields in com_fields array (joomla#9)

Fields should be set in com_fields array and not direcly in $data

* Spelling

* Also normalise request data on front-end user profile save (joomla#10)

* Also normalise request data on front-end user profile save

* correct context and option

* Handle 0 properly in empty check

* Simplify

* allowing value 0 to be saved (joomla#11)

when setting a value of 0 in a text field the function empty will return true > setting the value to null

* correct needsUpdate when strlen (or count) = 1 which incorrectly equa… (joomla#12)

* correct needsUpdate when strlen (or count) = 1 which incorrectly equaled to 'true'

* Update field.php

* Update field.php

* [event dispatcher]  - use strict comparison (joomla#19907)

* [com_users] Fix display of custom field of value 0 (joomla#19933)

* [CS] long form function return types; round 2 (joomla#19935)

* PHPCS2 Auto Fixes

- Expected "boolean" but found "bool" for function return type
- Expected "integer" but found "int" for function return type

* Manual correction of docBlock spacing

* Manual correction of docBlock spacing

* Manual correction of docBlock spacing

* Manual correction of docBlock spacing

* Add some Member var comments

* Manual correction of docBlock spacing

* Add some Member Var comments

* return tag after access tag

* 3 spaces after var tag before the type

* add tag since 3.1 to Class Properties and align var tags

* add tag since 3.1 and align var tag

* adjust some tag alignments

* Two spaces after type

* integer not int

* Redirects Plugin - Make Relative or Absolute. (joomla#19942)

* Redirects Plugin - Make Relative or Absolute.

* Orderiing and capital I.

* Update en-GB.plg_system_redirect.ini

* Update en-GB.plg_system_redirect.ini

updated as per @quys comment.

* Update en-GB.plg_system_redirect.ini

* Make calendar output usable in other css-frameworks (joomla#19944)

* Revert changes expect css

* Make calendar output usable in other css-frameworks

* A min-width makes look better

* Fix for duplicate url check bug introduced by joomla#19734 and support utf8… (joomla#19950)

* Fix for duplicate url check bug introduced by joomla#19734 and support utf8 on old_urls.
Couldn't find a solution to handle this within mysql. So a simple foreach handles it perfectly.

* Update link.php

* solved issue number joomla#19930 (joomla#19969)

corrected typo to ensure proper checkbox functionality

* Removed text-output and enabled a disabled tick box for consistency (joomla#19974)

* Change to allow str_pos to match when the exclude term is at the root… (joomla#19979)

* Change to allow str_pos to match when the exclude term is at the root of the path

* updated redirect.php - clearly I was tired with the first pr.

* Fix for joomla#11070 (tag-category) - Improve also views newsfeed-category … (joomla#16627)

* Fix for joomla#11070 (tag-category) - Improve also views newsfeed-category and category-list

* Correctly modifying .LESS and regenerate .CSS (joomla#16627)

* Simple enhancement to allow the user to make all Post Install Messages read (joomla#19958)

* Simple enhancement to allow the user to make all Post Install Messages as read.

* Update message.php

* Update messages.php

* Update messages.php

* Added onDisplay function for handling the display of the button.

* removed blank lines.

* updated quotes around ints.

As per @alikon comments

* Added (int) just to be safe.

* Update messages.php

* Update messages.php

* Update messages.php

* [com_mailto] Add missing placeholder (joomla#19999)

* Make sure items is an array. (joomla#20000)

* Make sure items is an array.

Resolved joomla#19998

* Update default_items.php

* Update tag.php

* Update tag.php

* Update tag.php

* Update tag.php

* [com_fields] Fix fields display HTML prepared 4 or 5 times per article, make it be prepared only twice (joomla#17895)

* Pass field displayType (aka event type) to getFields

* Update getFields to respect the 'display' parameter of every field

* Update onContentPrepare to respect 'display' parameter of every field

* Prepare for manual display

* Do not create $item->jcfields multiple times

* Revert the code for manual display to always prepare the field value

* Wrong function name

* Fix docblock

* Better comment for parameter of getFields method

* fix media field in ISIS Template (joomla#17205)

* fix media field in ISIS Template

* fix media field in ISIS Template

* [3.x] New sessiongc plugin is not declared as core plugin for manifest cache refresh (joomla#20038)

* add sessiongc plugin to the core plugins

* alphasorting thanks @brianteeman

* [module] [articles category] filter by multiple tags (joomla#19983)

* [module] [articles category] filter by multiple tags

* multiple tags

* spelling

* [com_finder] Remove unused params (joomla#20009)

* [com_finder] Unused params

* Update en-GB.com_finder.ini

* Update sample_learn.sql

* Update sample_testing.sql

* Update sample_learn.sql

* Update sample_testing.sql

* Update sample_learn.sql

* Update sample_testing.sql

* Update jos_menu.csv

* Restore and deprecate strings

* Two new fonts for CodeMirror: IBM Plex Mono, Nanum Gothic Coding (joomla#20017)

* CategoryEdit field published filter (joomla#20018)

* Smart Search: Highlighting terms also in fulltext when using readmore (joomla#20019)

* Smart Search: Highlighting terms also in fulltext when using readmore

* parsing summary + body to get text only

* Escape full query in NestedTable debug mode (joomla#20024)

* Changed viewname filter in RouteHelper (joomla#20031)

* Fix GMail plugin so it doesn't crash and burn on 4.0 upgrades (joomla#20043)

* Tweak build script for added flexibility (joomla#19848)

* Refresh Manifest Cache failed: Extension is not currently installed (joomla#19560)

* Refresh Manifest Cache failed: Extension is not currently installed

PR for joomla#17604

Change the message to include the name of the extension.

I have no idea how to test this - sorry - only code review - unless someone knows how?

* partial revert

* revert comment

* Remove rtrim() since it allows invalid emails (joomla#20080)

* Custom Fields toggle display on read only rights (joomla#20068)

* [com_fields] Normalise the request com_fields data (joomla#19884)

* Normalise the request com_fields data

* CS

* PHP 5.3 compat

* Fields in com_fields array (joomla#9)

Fields should be set in com_fields array and not direcly in $data

* Spelling

* Also normalise request data on front-end user profile save (joomla#10)

* Also normalise request data on front-end user profile save

* correct context and option

* Handle 0 properly in empty check

* Simplify

* allowing value 0 to be saved (joomla#11)

when setting a value of 0 in a text field the function empty will return true > setting the value to null

* correct needsUpdate when strlen (or count) = 1 which incorrectly equa… (joomla#12)

* correct needsUpdate when strlen (or count) = 1 which incorrectly equaled to 'true'

* Update field.php

* Update field.php

* Custom fields view on form via toggle on read-only rights

* fix back-end new article

* first / seperate check on read-only access

* refactor code so show_on parameter is part of helper function

* implement inherit value in fields + language things

* loadmodel only when needed

* changed function comment

* change values order so default value (inherit) is displayed first

* Must use self:: for local static member reference

* Fixed page with multiple codemirror editors fields with different syntax highlighting (joomla#20063)

* Fix for: Can't choose module using editor plugin if you search first (joomla#20005)

* fixit

* cs

* Update modal.php

* Basic check to make sure the bulk import seperator is being used. (joomla#19982)

* Basic check to make sure the bulk import seperator is being used.
Added Import State function as to how the urls should be imported, enabled or disabled.

* force int.

* Update config.xml

* Update links.php

* Update en-GB.com_redirect.ini

* Update config.xml

* Update links.php

* Update en-GB.com_redirect.ini

* Update config.xml

As per standards i.e:
https://github.com/joomla/joomla-cms/blob/staging/administrator/components/com_config/model/form/application.xml

i.e. endtag inline with options and closing tag inline with opening tag.

* Update links.php

* Changed none selected to none, to be used when there are none availab… (joomla#19977)

* Changed none selected to none, to be used when there are none available to select and when none are selected.
Set select to be readonly is they cannot select any options

* Update plugins.php

* Update plugins.php

* Update en-GB.ini

* Update en-GB.ini

* Update plugins.php

* Update plugins.php

* Update plugins.php

* Update plugins.php

* Update plugins.php

Space/tabbing for drone.

* Update plugins.php

* Corrected bug on empty subject of com_mailto (joomla#19956)

* Corrected bug on empty subject

If the subject is empty, the posted value is an empty string (exists) so the default value is never added.

* Updated code to include null value

* text corrections (joomla#20111)

* Typo and copy paste error (joomla#20123)

Someone couldn't spell and then someone else must have copy pasted the error

No idea how to test but this has been wrong since 3.5

* correct the use of the use command and move it below the defined command (joomla#20130)

* Prepare 3.8.7 RC

* Reset for dev

* Add a security policy (joomla#20163)

* Add a security policy

Many projects now add a SECURITY.md document to their repository. Often this is related to using HackerOne but not always.

This PR adds a policy to our github repo. It is based on the existing policy on the d.j.o web site

The file doesn't need to be distributed so it has been added to the exclude list in the github repo.

* tweek

* copy paste

* Update SECURITY.md

* Update SECURITY.md

* Prepare 3.8.7 release

* Reset for dev

* Introduce CODEOWNERS (joomla#20137)

* Tidy writeDynaList() (joomla#12184)

* Cleaned writeDynaList() in core.js

* Removed explanation comments

* removed all API changes

* updated compressed core.js

* [fix] publish/unpublish does not work with tables using null as default checked_out value (joomla#20204)

* Fix overwrite by .table-striped (joomla#20180)

Fix overwrite by administrator/templates/isis/css/template.css line 1787

table.table-striped tbody > tr:nth-child(odd) > td,
table.table-striped tbody > tr:nth-child(odd) > th {
	background-color: #f9f9f9;
}

* Fix overwrite by .table-striped (joomla#20179)

Fix overwrite by administrator/templates/isis/css/template.css line 1787

table.table-striped tbody > tr:nth-child(odd) > td,
table.table-striped tbody > tr:nth-child(odd) > th {
	background-color: #f9f9f9;
}

* Tooltips not loading com_users (joomla#20177)

The edit profile form is not loading the bootstrap tooltip code. So any tooltip (not popovers) are displayed as html as seen in the screenshot below when TFA is enabled.

This was spotted by @o2tsen and @sandewt while testing joomla#20051 but as it is a bug effecting more than that PR I have created a new PR. (a pr should only fix one problem)

* [a11y] Headings consecutive order Debug Console (joomla#20167)

> Headings communicate the organization of the content on the page. Web browsers, plug-ins, and assistive technologies can use them to provide in-page navigation.

> Skipping heading ranks can be confusing and should be avoided where possible: Make sure that a < h2> is not followed directly by an < h4>, for example.

Source (https://www.w3.org/WAI/tutorials/page-structure/headings/)

The headings were probably chosen for cosmetic reasons and not structural reasons which they should have been

This PR changes the heading in the debug console from h1 to h2

There is a very small visual change as a result but imho the benefits outweigh the small cost

* [a11y] Headings consecutive order (joomla#20166)

* [WIP] [a11y] Headings consecutive order

> Headings communicate the organization of the content on the page. Web browsers, plug-ins, and assistive technologies can use them to provide in-page navigation.

> Skipping heading ranks can be confusing and should be avoided where possible: Make sure that a <h2> is not followed directly by an <h4>, for example.

Source (https://www.w3.org/WAI/tutorials/page-structure/headings/)

This PR changes the heading in the plugin and modules from h3 to h2 and in the template styles to h4

### todo
joomla.edit.item_title layout uses h4 but before I change it I need to check everywhere that it is being used

* layout

* Fix typos in InstallerControllerUpdate (joomla#20154)

* Fix typos in InstallerControllerUpdate

* Fix same error on other places. Thanks @Quy

* Remove similar unnecessary code

* Revert "Remove similar unnecessary code"

This reverts commit 56410c0.

* One more

* Revert "One more"

This reverts commit aa1b101.

* [com_contact] Don't hide contact filter form (joomla#20126)

* Update default_items.php

* Correct implode order.

* Codestyle

* More codestyle

* Fix for JUserHelper::addUserToGroup() when user group title is a number. (joomla#20091)

* Update UserHelper.php

* Update UserHelper.php

* Fix count() in PHP 7.2 (joomla#20044)

* [com_content][Multilanguage] - remove duplicated queries (joomla#19683)

* [com_content][Multilanguage] - remove duplicated queries

* cs

* add $db->qn()

* removed ()

* Make CodeMirror work in repeatable subforms (joomla#12542)

* One function to initialize any and all CodeMirror instances rather than individual functions to initialize one-by-one. Call on page load and also on subform-row-add

* Minor js changes

* Codemirror fullscreen modifier message (do we still need this?)

* Call the popover init function when creating new subform rows. (joomla#20222)

* Call the popover init function when creating new subform rows.

* Update teh popover test

* [a11y] post-installation message in control panel (joomla#20220)

> Headings communicate the organization of the content on the page. Web browsers, plug-ins, and assistive technologies can use them to provide in-page navigation.

> Skipping heading ranks can be confusing and should be avoided where possible: Make sure that a < h2> is not followed directly by an < h4>, for example.

Source (https://www.w3.org/WAI/tutorials/page-structure/headings/)

The heading was probably chosen for cosmetic reasons and not structural reasons which they should have been

This PR changes the heading for the post-installtion message i the control panel from h4 to h3

There is a very small visual change as a result but imho the benefits outweigh the small cost

* Solves issue joomla#20195 (joomla#20214)

* [plugin][search][content] give priority on result when title is matched (joomla#20197)

* [plugin][search][content] give priority on result when title is matched

* Missed comma

* Add relevance weighting according to number of words

* Relevance by number of words in title only, removed introtext relevance

* Fix order string concatenation

* You've Got Mail (joomla#20162)

* You've Got Mail

Since 2003 the internet has changed. We no longer get a message to say that we have a message. Instead we just give you the message. You probably never use the messages component (especially for private message to a specific user) as they are the equivalent of https://www.youtube.com/watch?v=gFBLiHpkcOk

The Joomla com_messages component is used in two instances

1. Notification of a new article
2. Sending a message to another user

### Current email for Notification of a new article
Subject: A new private message has arrived from [sitename]
Body:
> Please log in to [link] to read your message.

### New email for Notification of a new article
Subject: New message from [user] at [sitename]
Body:
> New Article
A new Article has been submitted by 'user' entitled 'blog post'.
> Please log in to [link] to read your message.

### Current email when sending a message to another user
Subject: A new private message has arrived from [sitename]
Body:
> Please log in to [link] to read your message.

### New email when sending a message to another user
Subject: New message from [user] at [sitename]
Body:
> [subject]
 [message]
[login link]

## Backwards Compatibility
No issues. The message contains the old login message PLUS the content of the message. So if you were using this message in a custom workflow there is no change required to that workflow

* subj

* cs

* add new string and mark existing string for deprecation

* Support Codemirror's included key mappings (joomla#19833)

* Support Codemirror's included key mappings

* Use a list instead of radio buttons

* Don't expose LDAP authentication usage. (joomla#18531)

* Don't expose LDAP authentication usage.

* Use new language strings for LDAP authentication.

* remove bind string

* remove bind string

* use connect string

* alpha order

* alpha order

* Handle the case that JFolder::files returns 'false' (joomla#11715)

* Initialize tooltips when a new a row is added in a subform (joomla#12996)

* Initialize tooltips when a new a row is added in a subform

* Fix a test since the init function has changed

* Replace htaccess which was removed inexplicably

* Missing space (joomla#20260)

* Tiny JLanguage::loadLanguage() code improvement (joomla#20257)

* [com_content] Remove redundant check (joomla#20254)

* Update articles.php (joomla#20245)

* [com_config] Capitalize label (joomla#20299)

* Implement Issue Templates as discussen in joomla#20298

joomla#20298

* [fix] openbase_dir processing (joomla#20280)

* CodeMirror updated to version 5.37.0 (joomla#20269)

* Use title from menu item (joomla#20267)

* Change the defaults for new installs to disable com_mailto in articles (joomla#20266)

* change the defaults for new installs to disable com_mailto in articles

* change more defaults to 0 thanks @Quy

* Don't enable sending the PW on new installs (joomla#20247)

* disable plaun pw sending per default on new installs

* make sure we have to set a PW when we dont send the plain pw via mail

* chagne the default in the xml to thanks @Quy

* update the sample data thanks @Quy

* make sure the mail to user does not include the PW too

* Revert "make sure the mail to user does not include the PW too"

This reverts commit 9095819.

* address comments by @Bakual thanks

* Optimization and fix of multilingual associations and add layouts to com_content links (joomla#20229)

* Revert joomla#19681

* Revert joomla#19683

* Remove addition query and check after joomla#19314

* Add layout to com_content links

* Add layout to com_content article associations

* Add layout to category associations

* add advanced where clause param

* add advanced where clause for com_content article associations

* drone code formatting fix

* drone code formatting fix

* drone code formatting fix

* Line exceeds 150 characters

* PHPCS rules

* Remove parenthesis

* Change queryKey

* Fix typo

* Improve description

* Add checksum generation to the build script

* Hide Enabled/Disabled users column headers and be a11y compliant (joomla#20279)

* Code mirror autofocus issue (joomla#20270)

* Pass the autofocus param to the plugin.

While we're at it, pretty up this function a little.

* Get autofocus from $params, not $this->params.

Also, make sure we only autofocus one CodeMirror per page.

* We won't be needing these things anymore.

* Keep the unused strings.

* Add a deprecated flag in database query for a few union/unionAll/unionDistinct (joomla#20219)

* Add showon attribute (joomla#20156)

* [com_contact] Display 0 value with custom field (joomla#20124)

* Display 0 value

* Display 0 value

* fix custom fields with tab format (joomla#20023)

* Show a sample editor on the CodeMirror plugin config page. (joomla#17042)

* Show a sample editor on the CodeMirror plugin config page.

* Call it a 'Preview'

* Reordered attributes as per the Joomla coding standards for xml

* hiddenFieldsets & configFieldsets needs to be defined (joomla#16856)

* hiddenFieldsets & configFieldsets needs to be defined

* use getter

* Fix subform repeat counter. (joomla#19693)

* Fix subform repeat counter.

As normal rows should be zero indexed.

When length === count === 0, first row should be 0.

Note: PHP creates existing rows with zero index - so if min=1, you
currently get row 0 on form load then row 2, 3 etc. as you add them.

* Update unit tests

* Additional test fixes.

* Fix typo in comment.

* Reminify subform-repeatable.js

* Fixing so that editors-xtd plugins works with com_ajax (joomla#17939)

* Fixing so that editors-xtd plugins works with com_ajax

* Code formatting fix

* [Plugins] Add filters to manifest files. (joomla#20410)

* URL Menu Item Type link should be required. (joomla#20392)

* Fix up the protostar template.js (joomla#20224)

Don't use unnecessary closure, just use jQuery ready function.
Use javsacript strict mode
use event delegation where possible
Make tooltips and button groups work properly with repeatable subforms

* Bootstrap alert compatible (joomla#18909)

* Bootstrap alert compatible

Alert compatibility with new Bootstrap versions.

* Strict comparison

* Bootstrap alert compatible minified file

Alert compatibility with new Bootstrap versions.

* Add PHP 7.3 polyfill (joomla#20441)

* [com_finder] Fix regression joomla#19969 (joomla#20411)

* [com_finder] - fix update inner join syntax for postgres (joomla#19964)

* [com_finder] - fix update inner join syntax for postgres

* drone fix

cs

* quoteName vs qn

* cs

* Update tag.php (joomla#19951)

There is a bug in getItem, the function parameter is called $pk, but in code it is using $id, so whenever the parameter  is passed it is not used in the function.

* Change the Administrator group's filtering to use the default blacklist

* Add postinstall message explaining revised default settings

* Prepare 3.8.8 Release Candidate

* Reset for dev

* Typo in nl-NL installation language file (joomla#20460)

* Update joomla/filter package

* Update joomla/application package

* Store plaintext passwords in a separate options key, do not display passwords on summary page

* Prepare 3.8.8 release

* When JFeed was moved, old files were never deleted

* Reset for dev

* Correctly escape the random image module output (joomla#20533)

* Finally com_mailto allow the usage of a captcha by using JForm (joomla#20265)

* finaly com_mailto allow the usage of a captach by using JForm

* remove unused $session variable

* Line ending to LF

* fix typo thanks @brianteeman

* no need to use set and get thanks @mbabker

* expend the popup & fix the auto population thanks @Quy

* captcha handling

* fix the captcha check

* commit header check thanks for reporting @brianteeman @mbabaker and for the improved code @Quy

* style changes affected hight thanks @brianteeman

* line ending again

* close <fieldset> thanks @Quy

* make the iframe a bit bigger  thnks @Quy

* commit proposed changes by @Quy

* implement suggested improvments

* use <?php echo $field->renderField(); ?> thanks @laoneo

* Remove check for a valid form from two places in plugins (joomla#20277)

* If that is not a valid form our system is broken at all

* Typehint the form argument

* Fallback to integer (joomla#20338)

* [plg_user_profile] Misc fixes (joomla#20412)

* Update profile.xml

* Update profile.xml

* Update profile.php

* Update tos.php

* [plg_fields] Manifest cleanup, filters, Editor plugin fix (joomla#20422)

* Update calendar.xml

* Update checkboxes.xml

* Update checkboxes.xml

* Update editor.xml

* Update editor.xml

* Update editor.php

* Update imagelist.xml

* Update imagelist.xml

* Update integer.xml

* Update integer.xml

* Update list.xml

* Update list.xml

* Update media.xml

* Update radio.xml

* Update radio.xml

* Update checkboxes.xml

* Update list.xml

* Update sql.xml

* Update sql.xml

* Update textarea.xml

* Update textarea.xml

* Update url.xml

* Update url.xml

* Update usergrouplist.xml

* Update usergrouplist.xml

* Restore empty value

* [plg_system] Manifest file filters (joomla#20456)

* [CS] fix some doc comment types (joomla#20522)

* PHPCS2 manual fixes

- Variables passed by reference should not have the `&` prefixed in the doc comment
  - Joomla.Commenting.FunctionComment.MissingParamTag
  - Joomla.Commenting.FunctionComment.ParamNameNoMatch
- correct return statement

* exclude administrator/components/ folder

"Having a "&" in the docblock (whether it's in front of the type or name) is not valid. References are to be expressed solely by the function/method declaration."

so we need to exclude this sniff while we trasition to the PHPCS 2.x version

* [styles] Fix checkboxes/buttons not clickable under Menu Assignment in Chrome (joomla#20542)

* Remove css

* Remove css

* Remove css rtl

* cs

* [Regression] Menu item type url with rel attribute nofollow (joomla#19949)

* Menu item url attribute rel nofollow with target blank

* logic

* cs

* cs fix - thx Quy

* concat

* To many elements to index (joomla#13868)

* To many elements to index

I don't know why in the query `#__tags` is twice. Once as a `a` and second time as a `b`. For me it works perfectly when we remove `b`. I had a problem with this - for 1100 tags on my websites, Smart Search Indexer found more than 1233000 items to index.

* Mistake with query

I corrected a bug with calling the `#__tags` table in the query.

* Update joomla/filter package (joomla#20579 and joomla#20580)

* Fix folder browsing and file upload that broke in 3.8.8 due to escaping (joomla#20586)

* Fix de-escaping of slash in folder name

* code style

* Update popup-imagemanager.js

* standardise contact strings (joomla#20577)

as spotted by @MartijnMaandag

* Enable to change FormData in com_menu (joomla#20313)

* Set as object to allow for alterations

* Cast to object directly

* fix typo in installation string (joomla#20607)

It is IN each catefgory not ON each category

INSTL_DEFAULTLANGUAGE_INSTALL_LOCALISED_CONTENT_DESC="If active, Joomla will automatically create one content category per each installed language. Also, one featured article with dummy content will be created in each category."

* Resync deleted files list back to 1.7.3 tag (joomla#20564)

* Add additional check that view exists before proceeding (joomla#18757)

* Add additional check that view exists before proceeding

We assume the array key exists with view but not ID. I have come across some installations where view does not exist and it causes php warnings. So just check it does exist before actually proceeding further as we do with ID.

* Update legacyrouter.php

* Update legacyrouter.php

* Default installation value in configuration.php-dist (joomla#20655)

* Default installation value in configuration.php-dist

The config file to use in manual installs has incorrect advice and paths for tmp and logs as they are referring to server paths and not paths within a joomla installation

* oops

* CodeMirror updated to 5.38.0 (joomla#20636)

* Bump Composer dependencies (joomla#20583)

* Bump Composer dependencies

* Bad user data

* Try changing test to fix PHP 5.3 behavior

* Another attempt at fixing this

* Try upstream changes without tag yet

* Back to empty array

* Now with release tag

* Update app package with UA fix

* [fix] Error decoding JSON data: Syntax error (joomla#20663)

* [fix] Error decoding JSON data: Syntax error

* [test] ensure that empty params do not cause user loading issues

* Don't try to json_decode() a null value (joomla#20675)

* Don't try to json_decode() a null value

* Add Registry package fix to make sure broken code can continue to work

* Joomla\CMS\Categories\Categories fix (joomla#20680)

A constructor can't return a value.

* [CS] fix some doc comment types (round 2) (joomla#20647)

* PHPCS2 manual changes

- Doc comment for parameter does not match actual variable name
- Comment closer must be on a new line (just convert to single line comment)
- be more specific with the rules we want to exclude

* fix spaces

Expected only 2 spaces after the longest variable name

* one more fix for doc comment

- Doc comment for parameter does not match actual variable name

* [Newsfeeds] Use item link instead of guid. (joomla#20717)

* Feed links

* Restore http check for now

* CS

* Some cleanups

* Verb wrong tense (joomla#20708)

* Verb wrong tense

Clearly using the present tense is incorrect for an error message and it should be the past tense

* no error

* Replace UCMType::getType() by UCMType::getTypeByAlias($this->alias) (joomla#20672)

* JTableAsset::loadByName(): replace two sql queries by one (joomla#20671)

* Display 404 page if banner not found (joomla#20664)

* Update strings (joomla#20591)

* Fix stale session data wrongly overriding configuration file when editing global configuration (joomla#20590)

* Fix stale session data wrongly overriding configuration file when editing global configuration

* Use $this variable

* [com_menus] - fix php warning (joomla#18471)

* Singular not plural (joomla#20751)

* Singular not plural

Obvious correction. sorry I dont know what I did to display the error.

* Update en-GB.mod_sampledata.ini

* [com_tags] Image caption in Tags view (joomla#20648)

* Put all build packages in one directory (joomla#20745)

* [com_tags] Tagged item link in feed (joomla#20723)

* [com_tags] Tagged item feed links

* Nesting error

* [mod_tags_similar] Link cleanup (joomla#20730)

* [mod_tags_similar] Link cleanup

* CS

* Com_finder meta data (joomla#20772)

* Com_finder meta data

com_finder aka smart search was not following any meta data set in the menu item

#### to test

 - setup and configure smart search
 - create a menu item for smart search and set the meta description and meta keywords
 - open the menu item on the front end - check source and the meta data set in the menu is not present
 - do a search
 - check source and the meta data has been generated from the search

Apply this PR
 - open the menu item on the front end - check source and the meta data set in the menu is present
 - do a search
 - check source and the meta data has been generated from the search

* remove copy paste error

* Add UTF-8 encoding to phpcs in .drone.yml (joomla#20769)

* Login to view the article redirect fix (joomla#20732)

Without the view=login parameter JRoute can not resolve the Itemid. 
So the menu item assigned to 'login' is not active.

Seems there is a related hack here:
/com_content/views/article/tmpl/default.php ~line 143

This can also cause problems with third party extensions like sh404sef.

* Mouse over edit - rename (joomla#20743)

At the time this feature was introduced we weren't happy with the name "Mouse over edit" but couldn't really think of anything else.

I believe that today the term "inline editing" is far more understood and is a more appropriate name

* Better mode autoloading. (joomla#20746)

* Respect access of editor plugin inside profile form (joomla#20713)

* Respect access of editor plugin inside profile form

* Use value string 'true', '*' instead of integer for useaccess parameter

* Additional Escaping Of Paths In com_media (joomla#20616)

* Additional Escaping Of Paths In com_media

* Additional Override Escaping

* carefully revert some escaping (security)

* more specific and special reverse encoding of slash

* C&P Error

* [com_tags] Images in Tagged Items view (joomla#20601)

* [com_contenthistory] - fix for not delete keep forever items (joomla#20430)

* [com_contenthistory] - fix for not delete kepp forever items

* don't stop delete

* cs

* cs removed spaces at end of line

* Fixing com_fields integration in com_contact (joomla#20413)

* Fixing com_fields integration

Custom fields in com_contact currently doesnt work propertly. Chosing a category on which they should appear doesn't work cause fields plugin has no informations about contact catid as not data is passed to form when contact form is displayed. This fixes it.

* Fixing code style

* Removing whitespace, fixing spelling

* enable mod_sampledata extension

* [ModuleHelper] owncache param as integer (joomla#20626)

* Changed return 0 to continue

To prevent the entire function to quit, it just needs to go to the next file.
Fix joomla#17954

* [mod_articles_category] Fatal error (joomla#20834)

* Prepare 3.8.9 Release Candidate

* Reset for dev

* Very small language file cs (joomla#20844)

* Whitelist allowed global access

* Bump joomla/input package

* Use new method for dynamically resolving Input based on request method

* Prepare 3.8.9 release

* Reset for development

* Fix the autoloader for Windows platforms (joomla#20877)

* Prepare 3.8.10 release

* Reset for dev, again

* Don't delete file that is still in use (Fix joomla#20881)

* [plg_user_profile] Add RTL check to ToS field

* FIX: Install Languages Manager language badges wrongly set to not match since upgrade to 3.8.10 (joomla#20906)

* FIX: Install Languages Manager language badges wrongly set to not match
since upgrade to 3.8.10

* Correcting Installed languages too

* Replace the URL parameter "limitstart=0" with "start=0" if the SEF mode is on (joomla#19452)

* Replace &limitstart=0 to &start=0 if SEF is ON

* Replace URL param start=x to limitstart=x even if start is 0

* Remove non callable array items from field categories (joomla#20093)

* Update default.php

* Update fields.php

* Update default.php

* Update fields.php

* Update fields.php

* Update fields.php

* [Site Modules] Manifest file filters, part 1 (joomla#20845)

* [Modules] Manifest file filters

* Chosen placeholders

* [cs] leading spaces (joomla#20858)

* [cs]leading spaces

While checking joomla#20844 I saw that these strings all have a leading space which should not be there

* oops

* [Site Modules] Manifest file filters, part 2 (joomla#20856)

* [Site Modules] Manifest file filters, part 2

* Update default.php

* Update default.php

* Update default.php

* [Site Modules] Manifest file filters, part 3 (joomla#20857)

* [Admin Modules] Manifest file filters (joomla#20868)

* [Admin Modules] Manifest file filters

* Default values

* Fix OpenSearch implementation

* [mod_articles_category] Showon

* Add showon to levels

* Update string

* Remove CSS

* Add security issue template

* Formatting

* Let the table check the data before storing.

* [Templates] Escape sitename (joomla#21008)

* Checking return value and catching whole stuff

* Updating Bosnian installation language files

* Updated 3.9-dev and added 3.10-dev (joomla#21097)

* Exceptions in Joomla\CMS\Table\Usergroup refer to categories (joomla#21098)

* Exceptions in Joomla\CMS\Table\Usergroup refer to categories

Pull Request for Issue joomla#21092 .

### Summary of Changes
remove todo that is clearly a copy paste error from somewhere else
change exception message to usergroups from catergory

NOTE the first exception` if ($this->id == 0)`
I am not sure if that should even be present - doesn't look like it to me - please advise

* Update Usergroup.php

* Deprecate sef_advanced strings (joomla#21116)

* [com_content] Featured articles tag filtering (joomla#21138)

* Update ModuleHelper.php (joomla#20273)

* The JPATH_ constants are not magic strings (joomla#21151)

* Remove if/else in user debug models that can never hit else conditions (joomla#21188)

* [com_content] Featured articles access filter (joomla#21168)

* Media manager doesn't obey relative pathes for video files (joomla#21156)

* correct video url

fixes joomla#21145 (comment)

* fix

* Speed up regex in emailcloak plugin (joomla#20956)

* Speed up regex in emailcloak plugin

* Fix comment

* Fix subform.repeatable-table multi field styling (joomla#20209)

* Fix subform.repeatable-table multi field styling

* Fix staging less/css

* revert previous

* Update FormField.php (joomla#20168)

* Update HTMLHelper.php (joomla#19770)

* Fix a problem with older Joomla versions language packs registration and update sites rebuild (joomla#16355)

* Fix a problem with older language packs

Language packs installed under older Joomla versions are registered in the database under their package name, not under their name and since rebuild function fails on them.

e.g. package with 
  <name>Afrikaans (South Africa)</name>
  <packagename>af-ZA</packagename>

has name column in #_extensions table set as 	af-ZA and since existing query fails.

* Update updatesites.php

* missing single quote (joomla#21213)

* Add a note field from the #__fields_groups table to the field list query

* [3.x FIX] Getting the correct associations in sidebyside view for contact and newsfeeds (joomla#21180)

* [3.x FIX] Getting the correct associations in sidebyside view for
contact and newsfeeds

* undefined property

* correction in js

* [com_menus] Remove useglobal (joomla#21095)

* [fix] fixed PluginHelper import of xtd-editors plugins (joomla#17907)

* [fix] fixed PluginHelper import of xtd-editors plugins

* [imp] small adjustment and comment

* Fix errors exposed by strict (joomla#12544)

* Don't need a closure, jQuery ready function is enough. Use strict.

* Fix errors exposed by strict. Undeclared variables. wrong regex backreference

* Fix some undeclared/wrongly declared variables

* Avoid some redundant calls of $(this)

* Remove some redundant (also wrong) code.

* [3.8] Make the text clearer (joomla#20940)

* make the text clealer

Make the PLG_TWOFACTORAUTH_TOTP_STEP3_TEXT text clealer.

* thans @brianteeman

* Adding lithuan language files.

* Updating lithuanian language strings for TinyMCE

* Appended input fields (joomla#21257)

PR for joomla#12448

## Steps to reproduce the issue

Effects all appended input fields. Eg. Navigate to a single article menu item (Menus -> MainMenu -> Home) and resize the screen below 767px. Input fields extend outside the viewport.

* CSS for flags (joomla#21254)

Fix for joomla#13678 reported by @gwsdesk

* Add "Reviewed by Hound" badge (joomla#21263)

* Adjust doc block to ensure file is included in patch packages due to accidental deletion with last release's post-update script

* Prepare 3.8.11 release candidate

* Reset to dev

* Prepare 3.8.11 release

* Bump to 3.8.12-dev

* Added security scan tool to CI setup (joomla#20796)

* Added security scan tool to CI setup

* Updated ordering

* fixed command name
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants