Joomla

What?
I'm writing a Joomla 2.5.x component for logging time and projects and need a dropdown to have selectable options restricted to the logged-in user. This is specified in the XML file of the custom Joomla component and needs some SQL dependent on some dynamic variables.

Why?
In Joomla, the XML type of "sql" is extremely limited. The component I'm making has to ensure user's can only see their own projects and not everyone's:
SELECT * FROM #__projects ORDER BY name

-- yields all projects irrespective of which user is logged in
What I want:
SELECT * FROM #__projects WHERE user_id=<logged_in_user> ORDER BY name

Please Note: This article focuses on a front-end form dropdown. If you would like to see how to do modals for the admin panel, see my article Joomla article modal with clear button for Joomla article selection.

How?

What?
This is a quick note on one reason you may get the above error in a Joomla CMS environment.

Call to a member function mark() on a non-object in /public_html/index.php

How?
Not really a solution here because this is indicating that the system can't find the core framework files. Yes the bad news is you have lost your site. The good news is that it's only the core files and component files. Here are some tips when restoring the site to return it to as it was.

What?
I'm making a custom component for Joomla CMS 2.5.x which is restricted to registered users only. On installation, and by default, the menu item returns a 500 - Server Error because the parameters haven't been set. I need to go into the Joomla Admin panel, view the Options of the component, and click on "Save"... despite the fact that I don't change anything.

How?

Applies to:
  • Joomla! CMS 2.5.x

Joomla Filter: Validation OnSave
  • INT Forces the value to be an Integer

  • UINT Forces the value to be an absolute number (-4.2 becomes 4.2)

  • FLOAT Forces the value to be a floating point value

  • BOOL Forces the value to be true or false

  • WORD Strips anything that is not letters (including numbers)

  • ALNUM Forces the value to be alphanumeric (Letters and numbers only. No special characters)

  • CMD Forces the value to be alphanumeric plus the following three special characters _ (underscore) . (dot) - (dash)

  • BASE64 Forces the value to be a base64 encoded the string. Note it does not encode the string, it simply strips characters that may not exist in a base 64 encoded string.

  • STRING Removes HTML

  • HTML Allows basic HTML

  • ARRAY Forces value to be an array

  • PATH Forces value to be a file path

  • USERNAME Forces value to only contain characters allowed in the selection of a Joomla username

  • UNSET Completely remove any input

  • RAW Allow any content

  • URL Forces content to be a URL

  • TEL Forces content to be a properly formatted US phone number

What?
A quick reminder on how to disable user registration in Joomla! CMS version 1.5.x without using the Joomla! CMS back-end panel.

Why?
Because we're having some corruption issues and simply using the Joomla! administrator panel to navigate to global configuration, does not work!

How?
It isn't in the configuration.php file prior to Joomla! v1.6.x but in the database.
  1. Open the database to the Joomla 1.5.x website
  2. Browse the table "jos_components" (or "#__components" where "#_" is the site table prefix. default is "jos").
  3. Open the row where name="User Manager"
  4. Set the value under params for AllowUserRegistration
    • allowUserRegistration=0 to disable it.
    • allowUserRegistration=1 to enable it.

Not Working?
Are you sure you are using the Joomla user component or a 3rd-party such as Community Builder or K2? If so, you're in trouble as you HAVE to use the joomla admin panel to edit the settings of the 3rd party components.

What?
More for others than for myself, but this article is for those who do not have development/test environments of their Joomla website.

I have been doing this for years and still come across clients who have the one version of their website. They experiment on their customer-facing website and in most cases, they are paying for a hosting package which would allow them to have several copies of their website.

What?
So this is a note to myself so that I have a checklist and can quickly update any extensions designed for Joomla 1.5.x and make these compatible with Joomla 2.5.x websites.

In the past, I have only ever changed the words <params> to <fields> but for more stability, there are a few more tweaks to do.

How?
For demo purposes we will be referring to a Joomla module called "mod_moduletoupgrade" in British English (en-GB). I don't think it actually exists in reality but you replace the name "moduletoupgrade" with whatever you're upgrading and follow the below instructions.

I'm also going on the basis tha.

Credit where Credit is Due:


Feel free to copy, redistribute and share this information. All that we ask is that you attribute credit and possibly even a link back to this website as it really helps in our search engine rankings.

Disclaimer: Please note that the information provided on this website is intended for informational purposes only and does not represent a warranty. The opinions expressed are those of the author only. We recommend testing any solutions in a development environment before implementing them in production. The articles are based on our good faith efforts and were current at the time of writing, reflecting our practical experience in a commercial setting.

Thank you for visiting and, as always, we hope this website was of some use to you!

Kind Regards,

Joel Lipman
www.joellipman.com

Accreditation

Badge - Zoho Creator Certified Developer Associate
Badge - Zoho Deluge Certified Developer
Badge - Certified Zoho CRM Developer

Donate & Support

If you like my content, and would like to support this sharing site, feel free to donate using a method below:

Paypal:
Donate to Joel Lipman via PayPal

Bitcoin:
Donate to Joel Lipman with Bitcoin bc1qf6elrdxc968h0k673l2djc9wrpazhqtxw8qqp4

Ethereum:
Donate to Joel Lipman with Ethereum 0xb038962F3809b425D661EF5D22294Cf45E02FebF

Please publish modules in offcanvas position.