<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Geek Gumbo &#187; Joomla</title>
	<atom:link href="http://www.geekgumbo.com/category/webdev/cms/joomla/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.geekgumbo.com</link>
	<description>A potpourri of Web Development, Linux, and Windows tips, tidbits, and observations</description>
	<lastBuildDate>Thu, 02 Feb 2012 20:31:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Joomla 1.5 Component and Module Usage Summaries</title>
		<link>http://www.geekgumbo.com/2011/04/13/joomla-1-5-component-and-module-usage-summaries/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=joomla-1-5-component-and-module-usage-summaries</link>
		<comments>http://www.geekgumbo.com/2011/04/13/joomla-1-5-component-and-module-usage-summaries/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 02:10:35 +0000</pubDate>
		<dc:creator>imperialWicket</dc:creator>
				<category><![CDATA[Joomla]]></category>

		<guid isPermaLink="false">http://www.geekgumbo.com/?p=2919</guid>
		<description><![CDATA[Ever wonder which Joomla 1.5 Components and Modules am I using; and where am I using them? Component usage and positioning is available in the Extension Manager (Components tab). The main table validates which components are enabled, and then fingering &#8230; <a class="more-link" href="http://www.geekgumbo.com/2011/04/13/joomla-1-5-component-and-module-usage-summaries/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ever wonder which Joomla 1.5 Components and Modules am I using; and where am I using them?</p>
<p>Component usage and positioning is available in the Extension Manager (Components tab). The main table validates which components are enabled, and then fingering through the Menu Item Manager (Type column) for each of your menus will show where each component is used. Similarly, the Module Manager displays whether or not each installed module is enabled or not, the Module Manager also tells you whether the enabled modules are configured to display on "All" pages, "None" of the pages, or "Varies". For any modules displaying the "Varies" pages value, you must investigate positioning by advancing to the Module Edit screen to determine the pages where that module is configured to display.</p>
<p>The aforementioned techniques are functional, but I prefer a more streamlined approach to these questions.</p>
<p>A couple of quick database queries will give us the same data in a much more concise manner. Notice that my database is named "joomla15" and the database prefix is "j15_", these likely require modification in the queries that follow:</p>
<pre class="brush:sql">-- Check which modules are enabled and on which menus they are configured to display.
-- We only care about published (published=1) and front-end (client_id=0) modules.

SELECT men.id AS menu_id, men.name AS menu_name, modules.id AS module_id, modules.title AS module_title, modules.module
FROM joomla15.j15_modules_menu mm
INNER JOIN joomla15.j15_menu men ON (mm.menuid=men.id)
RIGHT JOIN joomla15.j15_modules modules ON (mm.moduleid=modules.id)
WHERE modules.published=1
AND modules.client_id=0
ORDER BY module;

-- Check which components are enabled and on which menus they are configured to display.
-- We only care about enabled (enabled=1) and front-end (link!='') components.

SELECT men.id AS menu_id, men.name AS menu_name, comps.id AS comps_id, comps.name AS comps_name
FROM joomla15.j15_menu men
RIGHT JOIN joomla15.j15_components comps ON (men.componentid=comps.id)
WHERE comps.enabled=1
AND comps.link!=''
ORDER BY comps.name;
</pre>
<p>If you install the sample data in a Joomla 1.5, these queries show you that quite a few Modules and Components are enabled, but not used (menu_id/menu_name are null). On client sites, this is generally a bad practice. With the exception of the core Components/Modules, you should at least disable, if not uninstall, unused extensions. Just be careful when uninstalling unused extensions that are package with Joomla, as an upgrade package will likely reinstall such extensions.</p>
<p>The output also details on which menu you will find each component and module. This is helpful when troubleshooting manual changes to styles and code, particularly for sites where you may not have completed the original design and/or implementation.</p>
<p>Some example module output from the sample data shows us that we can safely unpublish the Breadcrumbs (mod_breadcrumbs) and Footer (mod_footer) modules, but that the mod_mainmenu and mod_latestnews modules are getting a lot of use. Note that I removed the menu_id and module_id columns from the output for display purposes.</p>
<table border="1">
<tbody>
<tr>
<th class="medium">menu_name</th>
<th class="medium">module_title</th>
<th class="medium">module</th>
</tr>
<tr>
<td class="normal" valign="top">NULL</td>
<td class="normal" valign="top">Banners</td>
<td class="normal" valign="top">mod_banners</td>
</tr>
<tr>
<td class="normal" valign="top">Home</td>
<td class="normal" valign="top">Advertisement</td>
<td class="normal" valign="top">mod_banners</td>
</tr>
<tr>
<td class="normal" valign="top">NULL</td>
<td class="normal" valign="top">Breadcrumbs</td>
<td class="normal" valign="top">mod_breadcrumbs</td>
</tr>
<tr>
<td class="normal" valign="top">NULL</td>
<td class="normal" valign="top">Footer</td>
<td class="normal" valign="top">mod_footer</td>
</tr>
<tr>
<td class="normal" valign="top">Home</td>
<td class="normal" valign="top">Latest News</td>
<td class="normal" valign="top">mod_latestnews</td>
</tr>
<tr>
<td class="normal" valign="top">Joomla! License</td>
<td class="normal" valign="top">Latest News</td>
<td class="normal" valign="top">mod_latestnews</td>
</tr>
<tr>
<td class="normal" valign="top">Joomla! Overview</td>
<td class="normal" valign="top">Latest News</td>
<td class="normal" valign="top">mod_latestnews</td>
</tr>
<tr>
<td class="normal" valign="top">Home</td>
<td class="normal" valign="top">Login Form</td>
<td class="normal" valign="top">mod_login</td>
</tr>
<tr>
<td class="normal" valign="top">NULL</td>
<td class="normal" valign="top">Main Menu</td>
<td class="normal" valign="top">mod_mainmenu</td>
</tr>
<tr>
<td class="normal" valign="top">NULL</td>
<td class="normal" valign="top">User Menu</td>
<td class="normal" valign="top">mod_mainmenu</td>
</tr>
<tr>
<td class="normal" valign="top">NULL</td>
<td class="normal" valign="top">Top Menu</td>
<td class="normal" valign="top">mod_mainmenu</td>
</tr>
<tr>
<td class="normal" valign="top">Home</td>
<td class="normal" valign="top">Resources</td>
<td class="normal" valign="top">mod_mainmenu</td>
</tr>
<tr>
<td class="normal" valign="top">Example Pages</td>
<td class="normal" valign="top">Example Pages</td>
<td class="normal" valign="top">mod_mainmenu</td>
</tr>
<tr>
<td class="normal" valign="top">Section Blog</td>
<td class="normal" valign="top">Example Pages</td>
<td class="normal" valign="top">mod_mainmenu</td>
</tr>
<tr>
<td class="normal" valign="top">Section Table</td>
<td class="normal" valign="top">Example Pages</td>
<td class="normal" valign="top">mod_mainmenu</td>
</tr>
<tr>
<td class="normal" valign="top">Category Blog</td>
<td class="normal" valign="top">Example Pages</td>
<td class="normal" valign="top">mod_mainmenu</td>
</tr>
<tr>
<td class="normal" valign="top">Category Table</td>
<td class="normal" valign="top">Example Pages</td>
<td class="normal" valign="top">mod_mainmenu</td>
</tr>
<tr>
<td class="normal" valign="top">NULL</td>
<td class="normal" valign="top">Key Concepts</td>
<td class="normal" valign="top">mod_mainmenu</td>
</tr>
<tr>
<td class="normal" valign="top">Home</td>
<td class="normal" valign="top">Popular</td>
<td class="normal" valign="top">mod_mostread</td>
</tr>
<tr>
<td class="normal" valign="top">Joomla! License</td>
<td class="normal" valign="top">Popular</td>
<td class="normal" valign="top">mod_mostread</td>
</tr>
<tr>
<td class="normal" valign="top">Joomla! Overview</td>
<td class="normal" valign="top">Popular</td>
<td class="normal" valign="top">mod_mostread</td>
</tr>
<tr>
<td class="normal" valign="top">NULL</td>
<td class="normal" valign="top">Newsflash</td>
<td class="normal" valign="top">mod_newsflash</td>
</tr>
<tr>
<td class="normal" valign="top">Home</td>
<td class="normal" valign="top">Polls</td>
<td class="normal" valign="top">mod_poll</td>
</tr>
<tr>
<td class="normal" valign="top">NULL</td>
<td class="normal" valign="top">Random Image</td>
<td class="normal" valign="top">mod_random_image</td>
</tr>
<tr>
<td class="normal" valign="top">NULL</td>
<td class="normal" valign="top">Search</td>
<td class="normal" valign="top">mod_search</td>
</tr>
<tr>
<td class="normal" valign="top">NULL</td>
<td class="normal" valign="top">Sections</td>
<td class="normal" valign="top">mod_sections</td>
</tr>
<tr>
<td class="normal" valign="top">NULL</td>
<td class="normal" valign="top">Syndication</td>
<td class="normal" valign="top">mod_syndicate</td>
</tr>
<tr>
<td class="normal" valign="top">Home</td>
<td class="normal" valign="top">Who's Online</td>
<td class="normal" valign="top">mod_whosonline</td>
</tr>
</tbody>
</table>
<p>I will validate these in Joomla 1.6 soon. Until then, feel free to share Joomla 1.6 compatibility success/issues in the comments. I will post an update once I have validated.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geekgumbo.com/2011/04/13/joomla-1-5-component-and-module-usage-summaries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joomla vs. Drupal</title>
		<link>http://www.geekgumbo.com/2011/02/16/joomla-vs-drupal/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=joomla-vs-drupal</link>
		<comments>http://www.geekgumbo.com/2011/02/16/joomla-vs-drupal/#comments</comments>
		<pubDate>Wed, 16 Feb 2011 05:50:26 +0000</pubDate>
		<dc:creator>imperialWicket</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Joomla]]></category>

		<guid isPermaLink="false">http://www.geekgumbo.com/?p=2780</guid>
		<description><![CDATA[I just read a terribly biased "Open source CMS shootout". Since I use Joomla quite a bit, and have dabbled with Drupal 7, I thought I'd chime in here at Geek Gumbo from a little bit more of a Joomla &#8230; <a class="more-link" href="http://www.geekgumbo.com/2011/02/16/joomla-vs-drupal/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I just read a <a href="http://www.itworld.com/development/136756/joomla-vs-drupal-an-open-source-cms-shootout">terribly biased "Open source CMS shootout"</a>.  Since I use Joomla quite a bit, and have dabbled with Drupal 7, I thought I'd chime in here at Geek Gumbo from a little bit more of a Joomla perspective.</p>
<p>The ITWorld article makes a number of valid points, and a couple of commentators definitely add invaluable notes.  They also make some wildly sweeping claims (these are never a good idea); and clearly contacted Drupal-centric developers for input.  Some of my favorite bits:</p>
<ul>
<li>One interviewee notes that Joomla has a steeper learning curve, a second states that Joomla is more intuitive to use than Drupal, and a third notes that Joomla is better if you want something easier.  Not sure what I should take from this.</li>
<li>It is stated that Drupal is not good for small/medium sites, and also that, "Drupal is good for sites that require interactivity." (I guess only the large sites require interactivity?  I hope this was taken out of context.)</li>
<li>"The hosting company may not support PHP 5 [so use old Joomla or new Drupal]".  Except that Drupal 7 requires PHP 5, and what hosting companies are still only supporting PHP 4?  Come on.</li>
<li>Some of the companies who provided feedback:  "We've been developing websites using Drupal (exclusively) for over five years."  "A small boutique agency that has standardized in Drupal".  "a Drupal based web development company".  Don't worry though, they spoke with Joomla co-founder Mitch Pirtle.  He is quoted detailing the fact that Joomla usually has more options in the extension market, thanks for your expert insight Mitch, I wish they had given you a meaningful quote.</li>
</ul>
<p>Enough with the negative.  ITWorld started at a deficit by polling a strangely Drupal-centric group of developers, but CMS comparison is no easy task, and I'm sure a lot of those quotes were pulled slightly out of context.  So, with a few more points about Joomla this time:</p>
<h4>Joomla!</h4>
<p>Joomla is a mediocre framework with an over-bearing CMS laid on top.  Think: more CMS, less framework.  As a result:</p>
<ul>
<li>Extension creation is more convoluted (this includes templates).</li>
<li>Performance will tend to be slower (although not substantially for small/medium traffic sites, but the benchmarks will almost always fall in favor of Drupal, and Joomla definitely has a performance ceiling).</li>
<li>Non-technical individuals can administer a Joomla site with small amounts of training.</li>
</ul>
<h4>Drupal</h4>
<p>Drupal is a mediocre CMS with an over-bearing framework underneath.  Think: more framework, less CMS.  As a result:</p>
<ul>
<li>Extension creation is more straight-forward.</li>
<li>Performance will tend to be faster (and performance issues will tend to be the developer's fault, not Drupal's).</li>
<li>Non-technical individuals can rarely be trusted to successfully administer a Drupal site.  Note, that I said administer, as opposed to simply making content updates.  Anyone can update content with a little training (in either Joomla or Drupal.  Moving modules about and changing the look and feel of a site in Drupal is not something I would trust to a non-technical person.</li>
</ul>
<p>At a high-level, that's all that matters.  When I am selecting one, or the other, for a project, it comes down to this, "Choose Your Own Adventure" exercise:</p>
<p>1.  Will the client maintain the site?<br />
Yes (Goto 2) or No, they want a maintenance contract (Goto 6)</p>
<p>2.  Does the client have a dedicated web developer(s)?<br />
Yes (Goto 3) or No (Goto 4)</p>
<p>3.  Does the client's web developer have experience with Drupal, Joomla, both, or neither?<br />
Drupal (Goto 5) or Joomla (Goto 4) or both (Goto 6) or neither (Goto 4)</p>
<p>4.  Joomla - it's far easier to get a non-technical administrator up and running with Joomla.  Unless there are a vast number of functionalities for which custom extensions are required, the minimized training effort alone is worth using Joomla in this case.</p>
<p>5.  Drupal - any extensions you require will be much easier to develop, and your client's web developer will be more comfortable in a CMS with which they are familiar.</p>
<p>6.  Use whichever CMS is the best fit for the team.  Keep in mind the trade-offs in development:  More custom PHP effort in Drupal, and more figuring out the admin interface in Joomla.  Be sure to remember the aptitude of the final site administrator, as well as future extensibility requirements for the site.</p>
<p>If custom extensions will be necessary, remember that we said Joomla extensions can be more difficult to create - particularly for PHP devs who are new to Joomla.</p>
<p>That's it.  That's how I decide, but remember my disclosure as a more Joomla-centric developer, than the bulk of those quoted in the ITWorld article, that inspired this.  Hopefully, I stayed a little closer to the middle of the road, but it is my article, and I probably just slanted it the other direction.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geekgumbo.com/2011/02/16/joomla-vs-drupal/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Joomla 1.5: Display modules without assigning a menu item</title>
		<link>http://www.geekgumbo.com/2011/02/01/joomla-1-5-display-modules-without-assigning-a-menu-item/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=joomla-1-5-display-modules-without-assigning-a-menu-item</link>
		<comments>http://www.geekgumbo.com/2011/02/01/joomla-1-5-display-modules-without-assigning-a-menu-item/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 02:51:05 +0000</pubDate>
		<dc:creator>imperialWicket</dc:creator>
				<category><![CDATA[Joomla]]></category>

		<guid isPermaLink="false">http://www.geekgumbo.com/?p=2738</guid>
		<description><![CDATA[First, I want to address the inevitable concern, "Joomla 1.6 is out, why worry about 1.5?" Well, I worked on a Joomla 1.0 site last week, and I think that is enough argument to keep focusing on Joomla 1.5 releases &#8230; <a class="more-link" href="http://www.geekgumbo.com/2011/02/01/joomla-1-5-display-modules-without-assigning-a-menu-item/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>First, I want to address the inevitable concern, "Joomla 1.6 is out, why worry about 1.5?"  Well, I worked on a Joomla 1.0 site last week, and I think that is enough argument to keep focusing on Joomla 1.5 releases for at least a couple of months.</p>
<p>This article touches on the root cause of a <a href=http://www.geekgumbo.com/2010/06/29/joomla-modules-not-loading/">previous article</a> that also deals with module loading and menu items.  In the earlier article, we discussed that third party SEF components for Joomla 1.5 often assign multiple non-SEF URLs to a single SEF URL.  Here is a brief example to review:</p>
<p>SEF Component URL: mysite.com/what-search-engines-want-see</p>
<p>Maps to<br />
1.  mysite.com/index.php?option=com_content&view=article&id=43<br />
2.  mysite.com/index.php?option=com_content&view=article&id=43&Itemid=43<br />
3.  mysite.com/index.php?option=com_content&view=article&Itemid=43&id=43</p>
<p>URLs two and three are obviously the same; they differ only in the ordering of their GET parameters.  The first URL is problematic, as it does not include the Itemid parameter.  At a glance, this loads the page successfully, since an Itemid is not a strict requirement.  However, you will notice that when a page loads without an Itemid, module loading may not meet your expectations.  But why do some modules load, and others fail?  </p>
<p>Let's walk through a quick example.  Download the latest 1.5 release (1.5.22 as I am writing this) from joomla.org.  Run the setup and install the sample data.  Load the resulting Home page, and on the left menu bar, under "Key Concepts", select "Example Pages".  </p>
<p><a href="http://www.geekgumbo.com/wp-content/uploads/2011/01/joomla15_home.png"><img src="http://www.geekgumbo.com/wp-content/uploads/2011/01/joomla15_home-300x244.png" alt="Joomla 1.5 Sample data home" title="joomla15_home" width="300" height="244" class="aligncenter size-medium wp-image-2740" /></a></p>
<p>You should get a page with URL like: "./index.php?option=com_content&view=article&id=43&Itemid=43".</p>
<p>Now edit the URL, and remove the "&Itemid=43" parameter from the end, then load the resulting page.  Notice the "Example Pages" side menu disappears.  This is a particularly good example for the investigation, as the "id" and "Itemid" values are the same!  Let's login to the admin interface and investigate the issue further.  </p>
<p>Once in the admin area, proceed to the Article Manager and check the ID:</p>
<p><a href="http://www.geekgumbo.com/wp-content/uploads/2011/01/joomla15_articleMan.png"><img src="http://www.geekgumbo.com/wp-content/uploads/2011/01/joomla15_articleMan-300x127.png" alt="Joomla 1.5 Article Manager" title="joomla15_articleMan" width="300" height="127" class="aligncenter size-medium wp-image-2739" /></a></p>
<p>As the "id" GET parameter suggests, the "Example Pages and Menu Links" article has ID 43.  Again, why does taking away the Itemid affect the module loading?  </p>
<p>Let's review the module configuration for the Example Pages menu.  In the admin area, under Extensions -> Module Manager find the "Example Pages" module and select it.  Notice that the Module is configured to display only for particular Menu Selections.  </p>
<p><a href="http://www.geekgumbo.com/wp-content/uploads/2011/01/joomla15_moduleEdit.png"><img src="http://www.geekgumbo.com/wp-content/uploads/2011/01/joomla15_moduleEdit-300x206.png" alt="Joomla 1.5 Module edit screen" title="joomla15_moduleEdit" width="300" height="206" class="aligncenter size-medium wp-image-2742" /></a></p>
<p>Knowing that the module only displays for some Menu Selections, we should review the menu items.  Staying in the admin area, proceed to Menus -> Key Concepts (remember that we originally selected the "Example Pages" link from the "Key Concepts" menu module on the home page).  There we have it!  The Menu Item does not have a plain "ID" value like an article, rather it has an ItemID.  And the "Example Pages" menu item has ItemID 43.</p>
<p><a href="http://www.geekgumbo.com/wp-content/uploads/2011/01/joomla15_menuMan.png"><img src="http://www.geekgumbo.com/wp-content/uploads/2011/01/joomla15_menuMan-300x127.png" alt="Joomla 1.5 Menu Manager" title="joomla15_menuMan" width="300" height="127" class="aligncenter size-medium wp-image-2741" /></a></p>
<p>To make this clear, when you configure a module position, it either gets assigned to all menus (all ItemIds), or it is assigned to a selection of menus (ItemIds).  If you assign a module to all menus, the module loads in a given position without checking for an ItemId value from the URL.  However, our problem comes about when you load a page that includes modules which do not display on all menus.  In this case, before loading the "Example Pages" module, Joomla validates that the ItemId GET param corresponds to one of the selected Menu assignments in the Example Pages module configuration.  When Joomla detects that no ItemId GET param exists, it does not load any modules that are configured to display for selected menu assignments (the "null" value is not present in the array of menu assignments for any of these modules).  To further review this functionality, you can try changing the Itemid value in the URL.  Use the "Example Pages and Menu Links" page where we started.  We originally saw the "Example Pages" module disappear, now try passing "Itemid=42", and notice the menu module is removed (just as it was with an absent Itemid value).  Also notice the breadcrumbs changed - since they represent the current location based on the Menu assignment.  Try "Itemid=44" and notice that the "Example Pages" module returns, and the breadcrumbs again update to represent the appropriate menu.  </p>
<p>After that long explanation of the problem, it is time to get to the point:  How do you load a module on a page without assigning a menu item to that page?  It is a trick question of sorts, because the most straight forward way to accomplish this task is to create a hidden menu.  First, create your nomadic page (this could be a "Thank you for purchasing", "Your request is being processed", or some sneaky easter egg - any page that needs to be available, but that you don't want to be selectable from within your menu system).  Let's create a page titled "Thank you" with some Lorem ipsum content.  Be sure to create it in Section/Category "Uncategorized".  </p>
<p>How do we get the "Example Pages" menu module to display on our "Thank You" page?  You can probably load the article with URL "./index.php?option=com_content&view=article&id=46" (unless you added other articles first...).  Since you'll be manually adding the link within the content of your site, you could cheat a little, and just piggy-back on an acceptable existing menu.  This would look like: "./index.php?option=com_content&view=article&id=46&Itemid=43".  Here we are simply telling Joomla that it's loading an article (46) and that the current menu is 43 - even though the user didn't actually click on the menu item with Itemid 43. It's worth noting that using the piggy-back technique on sites with breadcrumbs is rarely desirable, since the breadcrumbs will display content based on whatever menu item you use.  Occasionally, you get lucky in the configuration and this technique can still work with breadcrumbs.</p>
<p>While menu piggy-backing might work for your needs, I always feel better creating a distinct menu for these purposes.  Let's call it "hiddenMenu".  Create your "hiddenMenu" menu, and then add a Menu Item of type Article Layout, using the "Thank You" article.  The title can be anything, so long as it is recognizable for you and/or your site administrator (Note that it will be used in breadcrumbs if they are enabled).  After creating the menu, note the ItemID value; it will be 53 if you are using a fresh Joomla 1.5 installation and have not added other menu items.  Once we have a menu item for our "Thank You" article, let's return to the "Example Pages" module configuration and add the hidden menu item to the list of menu assignments.  Now you can load URL "./index.php?option=com_content&view=article&id=46&Itemid=53" and see the "Thank You" article with the "Example Pages" module.</p>
<p>Joomla now knows that when Itemid 53 is loaded, the "Example Pages" module should be added to the page.  As mentioned, your hiddenMenu item's title is also the value that displays in the breadcrumbs.  Note that since we did not actually add the hiddenMenu to the site's frontend, this entire effort remains transparent to your end users.  </p>
<p>Hidden menus can be extremely useful in Joomla 1.5.  They are worth having around for the purposes of module placement, and there are a number of useful components that support enhanced functionality if their content is added to a hidden menu.  I hope this helps explain a little more about the intracacies of modules in Joomla 1.5 and offers useful work-arounds for fine tuning module placement.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geekgumbo.com/2011/02/01/joomla-1-5-display-modules-without-assigning-a-menu-item/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Joomla 1.6 is Released</title>
		<link>http://www.geekgumbo.com/2011/01/13/joomla-1-6-is-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=joomla-1-6-is-released</link>
		<comments>http://www.geekgumbo.com/2011/01/13/joomla-1-6-is-released/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 21:38:32 +0000</pubDate>
		<dc:creator>daleV</dc:creator>
				<category><![CDATA[Joomla]]></category>

		<guid isPermaLink="false">http://www.geekgumbo.com/?p=2707</guid>
		<description><![CDATA[The new version of Joomla version 1.6 was officially released this week. This version was rebuilt from the start, and is a major change from the previous 1.5 release. The Joomla team had three main goals for this release. First, &#8230; <a class="more-link" href="http://www.geekgumbo.com/2011/01/13/joomla-1-6-is-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The new version of Joomla version 1.6 was officially released this week.  This version was rebuilt from the start, and is a major change from the previous 1.5 release.</p>
<p>The Joomla team had three main goals for this release.  First, they wanted to expand and improve the access control system.  This was a much needed improvement, as competing CMS systems, like Drupal, already had a good authorization system implemented.  Users have been asking for this for awhile now.</p>
<p>The second goal was to have a nested category system.  The previous release allowed for articles to be organized by sections and categories, but that was it.  The new system gives you a hierarchy of categories to further group articles.</p>
<p>The third goal was to standardize on the way extensions and added functionality was coded.  This will allow for a consistent interface through out Joomla.</p>
<p>Other improvements were ease of installation, running several sites off the same engine, expanded language support, and more creative control of template styles.</p>
<div id="attachment_2708" class="wp-caption aligncenter" style="width: 610px"><a href="http://www.geekgumbo.com/wp-content/uploads/2011/01/jm16-admin.png"><img class="size-full wp-image-2708" title="jm16-admin" src="http://www.geekgumbo.com/wp-content/uploads/2011/01/jm16-admin.png" alt="" width="600" height="297" /></a><p class="wp-caption-text">Joomla 1.6 Admin Panel</p></div>
<p>The overall look of the administration panel includes new icons and a  new look to the previous confusing, and all important, menu type  selection page. The page now is laid out without drop down menus which  is much better.</p>
<div id="attachment_2709" class="wp-caption aligncenter" style="width: 610px"><a href="http://www.geekgumbo.com/wp-content/uploads/2011/01/jm16-menutype.png"><img class="size-full wp-image-2709" title="jm16-menutype" src="http://www.geekgumbo.com/wp-content/uploads/2011/01/jm16-menutype.png" alt="" width="600" height="487" /></a><p class="wp-caption-text">Joomla 1.6 Menu Types Page</p></div>
<p>The tools menu has disappeared which allowed for mass mailings, and  global check-ins.  The mass mailings have been moved to the Users menu  where it makes more sense, and the Global Check In has moved under  Site&gt;Maintenance, along with the now included Clear Cache. This was a  separately installed plug-in in the last version.</p>
<p>Categories now can be nested in a hierarchy of categories, and permissions can be set on individual categories.</p>
<p>Which brings me to the permissions system.  A new Category Manager gives you permissions by category and sub-category by group, with choices of Inherited, Allowed, or Denied on Create, Edit, Delete, Edit State, and Edit Owner for each group of users.  Permission can be changed for each type of user or group of users. A new Access Levels Manager allows you to manage users by group hierarchically. Another nice touch is you can create you own group of users and give that group special permissions, very nice. Permissions alone would have made the new version great, and there's more.  None of this was  possible in version 1.5.</p>
<div id="attachment_2710" class="wp-caption aligncenter" style="width: 610px"><a href="http://www.geekgumbo.com/wp-content/uploads/2011/01/jm16perm.png"><img class="size-full wp-image-2710" title="jm16perm" src="http://www.geekgumbo.com/wp-content/uploads/2011/01/jm16perm.png" alt="" width="600" height="306" /></a><p class="wp-caption-text">Joomla 1.6 Category Permissions</p></div>
<p>There is a new back end messaging component that allows you to set up messaging between developers and users.</p>
<p>A big plus, to me, is a new "Redirect Manager" under the Components menu.  This should hopefully eliminate the previous "buggy" SEF component plug-ins that caused so many errors.  Another new component is the Links manager for controlling your external links and grouping them into categories.</p>
<div id="attachment_2711" class="wp-caption aligncenter" style="width: 610px"><a href="http://www.geekgumbo.com/wp-content/uploads/2011/01/jm16redirect.png"><img class="size-full wp-image-2711 " title="jm16redirect" src="http://www.geekgumbo.com/wp-content/uploads/2011/01/jm16redirect.png" alt="" width="600" height="357" /></a><p class="wp-caption-text">Joomla 1.6 Redirect Manager</p></div>
<p>As to the front end of the site, the developers have given you two types of sites as examples with corresponding brand new templates to use as an example.  This will hopefully allow developers of smaller sites to get sites put together more quickly , and in the second example, you get a more upscale corporate looking site of a fruit company in Australia with menus.</p>
<p>If your just starting a new site, Joomla 1.6 is a worthy choice.  A note of caution, though.  If  you use a lot of  modules and components to add functionality to your sites, you may want to wait until version 1.6 matures to give Joomla 1.5 plug-in developers time to upgrade their plug-ins to run 1.6.</p>
<p>At first, quick, glance, it looks like Joomla used an old Microsoft trick of just changing the looks slightly, and calling it a new version, but after you start looking around under the hood, you realize that a wealth of new functionality has been worked into this release. The developers have added some very needed and hard to do functionality and deserve a hardy thank you for their efforts.  Version 1.6, at first glance, looks like a winner, and I expect developers to move forward rapidly to upgrade their plug-ins for the new version.  Congratulations, Joomla Development Team, and Thank You.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geekgumbo.com/2011/01/13/joomla-1-6-is-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Phoca Gallery: Enable SEF URLs and Better Searching (Joomla 1.5.x)</title>
		<link>http://www.geekgumbo.com/2010/10/19/phoca-gallery-enable-sef-urls-and-better-searching-joomla-1-5-x/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=phoca-gallery-enable-sef-urls-and-better-searching-joomla-1-5-x</link>
		<comments>http://www.geekgumbo.com/2010/10/19/phoca-gallery-enable-sef-urls-and-better-searching-joomla-1-5-x/#comments</comments>
		<pubDate>Tue, 19 Oct 2010 12:47:23 +0000</pubDate>
		<dc:creator>imperialWicket</dc:creator>
				<category><![CDATA[Joomla]]></category>

		<guid isPermaLink="false">http://www.geekgumbo.com/?p=2288</guid>
		<description><![CDATA[Make sure you have a working Joomla 1.5.x (I'm using 1.5.21) installation and the Phoca Gallery Component (I'm using 2.7.5) and Phoca Gallery Search Plugin (I'm using 2.7.1) are installed and enabled. Enable SEF - this is tricky because your &#8230; <a class="more-link" href="http://www.geekgumbo.com/2010/10/19/phoca-gallery-enable-sef-urls-and-better-searching-joomla-1-5-x/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Make sure you have a working Joomla 1.5.x (I'm using 1.5.21) installation and the Phoca Gallery Component (I'm using 2.7.5) and Phoca Gallery Search Plugin (I'm using 2.7.1) are installed and enabled.</p>
<p>Enable SEF - this is tricky because your Phoca Gallery Images do not exist in proper Joomla categories, so Joomla does not really know how to build the SEF URL (Joomla uses the category alias to build the SEF URL).  The way around this is to generate a phony menu item that will serve as a shell for housing all of your Phoca Gallery content.   </p>
<ul>
<li>1.  Go to Menus - Menu Manager.</li>
<li>2.  Select "New" from the Menu Manager toolbar.</li>
<li>3.  Let's call the menu "hidden" (Unique Name = hidden, Title = hidden).</li>
<li>4.  Go to Extensions - Module Manager.</li>
<li>5.  Select "New" from the Module Manager toolbar.</li>
<li>6.  Select Module Type "Menu", then "Next" from the Module: [New] toolbar.</li>
<li>7.  Provide a Title - Something like, "PhocaGallery Utility" will do.</li>
<li>8.  Set "Enabled" to "No", and choose the "Menu Name" option for "hidden" - the menu item we just created.</li>
<li>9.  Go to Menus - hidden.</li>
<li>10.  Select "New" from the Menu Item Manager: [hidden] toolbar.</li>
<li>11.  Choose Menu Item Type Internal Link - Phoca Gallery - All Categories - Phoca Gallery Category List Layout</li>
<li>12.  Provide a meaningful title, this alias will be in present in your SEF URLs to categories, I usually use "gallery" or "photos" ("gallery" is hard-coded in the downloadable files).</li>
</ul>
<p>Now, enable SEF URLs and configure a Phoca Gallery instance.  In order to get what I am dubbing "Better Searching" (support for any, exact, all options; thumbnail with modal popup; and categories that load to the correct location), you must replace two files:</p>
<p>JOOMLA_ROOT/components/com_search/views/search/tmpl/default_results.php<br />
JOOMLA_ROOT/plugins/phocagallery.php</p>
<p>Files available for download here:  <a href='http://www.geekgumbo.com/wp-content/uploads/2010/10/phocaGallerySearchMods.zip'>phocaGallerySearchMods</a></p>
<p>The phocagallery.php file is accessed when users initiate a search, and handles retrieving a search result dataset for the provided search criteria.  It then passes the search result dataset to the Search Component, which uses default_results.php to display the results.  The updated phocagallery.php file pulls slightly different data from the Phoca Gallery database tables, and then the updated default_results.php file checks to see if that data is included in the resultset.  If default_results.php finds the Phoca-Gallery-specific data, it assumes the search result is an image and loads a different search result template.</p>
<p>One final update, in order to get the modal popup slideshow working, you need to be sure that the appropriate JavaScript libraries are displaying on your page.  There are alternative ways to do this, but the easiest is to add the Phoca Gallery Image Module (use the latest 2.7.1 release) to your Search component page.  The image module will check for your current configuration, and make sure that all of the appropriate JavaScript libraries are loaded, and this will ensure that your modal overlays are working as expected.  If you want this benefit but without the module, try styling it to be hidden on this screen (I'm not sure if this works, but it would be a nice little hack!).</p>
<p>Note that the files here will require modification to work properly if:<br />
1.  SEF is disabled.<br />
2.  You upload images to a custom directory (not images/phocagallery/).<br />
3.  You named the hidden menu item something other than "gallery" </p>
<p>This is working in a basic Joomla 1.5.21 install in Apache on XP, Win7, and Linux for me.  I don't think I skipped any steps or left anything out, but if you encounter issues, hit the comments with any questions - it is entirely possible that I glossed over something that deserved more attention.  If you are looking for a lot of help, or need heavy customization, don't forget about the <a href="http://www.phoca.cz/forum/">Phoca Forums</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geekgumbo.com/2010/10/19/phoca-gallery-enable-sef-urls-and-better-searching-joomla-1-5-x/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Joomla mod_mainmenu:  Add separator images between menu items</title>
		<link>http://www.geekgumbo.com/2010/08/12/joomla-mod_mainmenu-add-separator-images-between-items/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=joomla-mod_mainmenu-add-separator-images-between-items</link>
		<comments>http://www.geekgumbo.com/2010/08/12/joomla-mod_mainmenu-add-separator-images-between-items/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 13:45:03 +0000</pubDate>
		<dc:creator>imperialWicket</dc:creator>
				<category><![CDATA[Joomla]]></category>

		<guid isPermaLink="false">http://www.geekgumbo.com/?p=2003</guid>
		<description><![CDATA[I see a lot of forum posts complaining about Joomla's built in menu module not being able to support adding images for your separator menu items. The root cause of this is that the menu module uses a span to &#8230; <a class="more-link" href="http://www.geekgumbo.com/2010/08/12/joomla-mod_mainmenu-add-separator-images-between-items/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I see a lot of forum posts complaining about Joomla's built in menu module not being able to support adding images for your separator menu items.  The root cause of this is that the menu module uses a span to output your menu separator.  This is not a terrible implementation, and works quite well if for a text based menu with hyphen or pipe separator text.  However, if you simply want a separator image, with no text, a span is frustrating because it has no width (and hence, does not display any background image...).</p>
<p>Some options:</p>
<p>1.  Use the <a href="http://extensions.joomla.org/extensions/structure-a-navigation/menu-systems/tree-menus/163">extended menu module</a> - this module is not designed for ease of use, as the developers detail.  It does give you a lot of nice options to enhance or customize your menu module though, and if you have a reasonable command of html, this could be a good solution.</p>
<p>2.  Customize the mod_mainmenu code to output a div instead of a span, and then configure your css appropriately.  I am not going to detail this, because it seems to me that options 1 or 3 are always better, easier, and quicker alternatives.</p>
<p>3.  Insert standard Joomla menu items of type separator.  For the title insert a non-breaking space (thus providing your span with its much-needed width).  Add your background image in css, and voila!</p>
<p>For most menus, where a simple vertical line or separator image is all that is needed to help distinguish menu items and your navigation bar, option 3 is a pretty simple solution.  If you feel like you want a lot more control over your menu, it's functionality, and it's styling - check out the <a href="http://extensions.joomla.org/extensions/structure-a-navigation/menu-systems/tree-menus/163">extended menu module</a>.</p>
<p>I hope this saves you some headaches and time spent searching the web for "setting span width" and "setting empty span background image".</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geekgumbo.com/2010/08/12/joomla-mod_mainmenu-add-separator-images-between-items/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Favorite Joomla Extensions</title>
		<link>http://www.geekgumbo.com/2010/07/29/my-favorite-joomla-extensions/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=my-favorite-joomla-extensions</link>
		<comments>http://www.geekgumbo.com/2010/07/29/my-favorite-joomla-extensions/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 22:32:43 +0000</pubDate>
		<dc:creator>imperialWicket</dc:creator>
				<category><![CDATA[Joomla]]></category>

		<guid isPermaLink="false">http://www.geekgumbo.com/?p=1919</guid>
		<description><![CDATA[There are a lot of Joomla extensions out there, many of which are free (or at least offer limited release or branded versions for free). There are so many, I would say, that it can be frustrating to search for &#8230; <a class="more-link" href="http://www.geekgumbo.com/2010/07/29/my-favorite-joomla-extensions/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>There are a lot of Joomla extensions out there, many of which are free (or at least offer limited release or branded versions for free).  There are so many, I would say, that it can be frustrating to search for an extension when you need one.  I can not fix this problem, but I hope I can reduce the search time for others when it comes to a few common extension needs.</p>
<p>My short list of must-have, FREE Joomla Extensions </p>
<p>Components:<br />
1.  <a href="http://www.akeebabackup.com/">akeebaBackup</a> (formerly joomlapack) - Since updating to akeebaBackup, I think this particular component has started to cater to its commercial version a little too heavily.  Nonetheless, it stands as the best backup utility that I have used.  It backups the entire file system (allowing custom exclusions, and including standard exclusions for directories like tmp), it generates a backup of the database (including all the tables, not just the standard installation tables), and it creates its own custom installation directory for restoring the site using the file system and db backups.  I use akeebaBackup for moving sites between my test servers, and among live servers.  I also have akeebaBackups pre-built with all of my preferred extensions and templates installed, so I can hit the ground running on my new projects.<br />
2.  <a href="http://www.joomlacontenteditor.net/">JCE </a>(Joomla Content Editor) - Joomla Content Editor takes Tiny MCE project to the next level within Joomla sites.  It occasionally causes issues with editor buttons, but these are worth troubleshooting, as the JCE interface is much more manageable, and offers a lot of configuration options.  This component requires the JCE plugin to reach its full glory.<br />
3.  <a href="http://www.phoca.cz/phocagallery">Phoca Gallery</a> - I have posted a couple of hacks to alter Phoca Gallery plugins, and I am generally a big fan of their projects.  Phoca Downloads, Phoca Maps, Phoca Documentation, and Phoca PDF have all served my needs well for projects - but I must admit to not investigating alternatives in these cases.  As far as galleries go, I think the Phoca Gallery really has the best combination of user-friendly administration, feature-rich without being bloated with parameters (although it does have quite a few), and a great suite of complimentary Modules and Plugins (I never install the Phoca Gallery without the Phoca Image Module and Phoca Search Plugin).<br />
 4.  <a href="http://www.chronoengine.com/downloads/9-chronoforms.html">ChronoForms</a> - I wish forms would just go away.  They're ugly, annoying, browser-specific, and did I mention ugly and annoying?  Anyway, they are not going anywhere, and I have spent a lot of time looking for a good (free) form component that can meet all my form building needs.  I think ChronoForms is a bit lacking in UI elements, but it by far the best option I have found for putting forms in my Joomla sites.<br />
5.  <a href="http://www.jevents.net/">JEvents</a> - For event management.  UI, options, functionality are all where they should be for a free component.  JEvents is popular for a reason, and I use it when I need events data on a site.  There are also good modules/plugins available to complement.<br />
6.  <a href="http://joomla.vargas.co.cr/en/downloads/cat_view/1-xmap">XMap</a> - Everyone is concerned about SEO and making sure Google has their latest and greatest site map and has indexed every last word they posted.  XMap easily takes care of this, and also provides a means to include your site map on your site.<br />
7.  <a href="http://virtuemart.net/downloads">VirtueMart</a> - I prefer VirtueMart for e-commerce in Joomla.  I hope I am not starting a war here.<br />
8.  My Custom Blank Component.  I searched long and hard for a blank component, but could not seem to track one down.  I know you should use a different template, or you can include a show component option in your template.  But many times I just have one page, where all I want is to show a bunch of modules.  In those cases, I just want to assign a menu item that is going to leave the component blank.  So I made a blank component, and I use it a LOT.</p>
<p>This is getting long, so I'll skim the modules:<br />
1.  <a href="http://joomlacode.org/gf/project/extended_menu/frs/">Extended Menu Module</a> - If you are not using this already, you should be.<br />
2.  <a href="http://www.aimini.it/en/download/7-modaidanews">AiDaNews Module</a> - A good enhancement to the Latest News plugin that comes pre-installed.<br />
3.  <a href="http://omar84.com/downloads">Simple Image Holder</a> - I use this thing everywhere.  It is probably my most used extension on a per page basis.<br />
4.  <a href="http://www.joomlaworks.gr/">Simple Image Rotator</a> - I am fairly anti-flash, and I generally opt for the Simple Image Rotator over alternatives.</p>
<p>My Plugins are all complements to my components.  Since I tend to avoid flash, my articles tend to be images and text.  The only times I require plugins are when I want an article to interface with a component, hence you will find all my top Plugins at the links previously provided.</p>
<p>And for templates, I will defer to a good article I caught recently at <a href="http://www.joomlapraise.com/blog/team/the-best-free-joomla-templates-and-the-need-for-more.php">JoomlaPraise</a>.  I will also say that many of my Joomla projects start with one of the free JoomlaPraise templates.</p>
<p>I intentionally did not list a flash player (I usually turn to the Flash Module or Embedia - moseasymedia, are these really the best?)  or an all encompassing media component.  I have tried too many to count, and just can't seem to find one (or even two or three) that will meet all of my needs.  Hopefully someone can recommend a good media component (plugin/module) or suite of utilities and help me figure what I am doing wrong on this front.  </p>
<p>Well, other than the media component/flash player are there any others I missed?  Or, does anyone have reasonable alternatives or disagreements?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geekgumbo.com/2010/07/29/my-favorite-joomla-extensions/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Use Joomla Login Credentials Outside of Joomla</title>
		<link>http://www.geekgumbo.com/2010/07/02/use-joomla-login-credentials-outside-of-joomla/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=use-joomla-login-credentials-outside-of-joomla</link>
		<comments>http://www.geekgumbo.com/2010/07/02/use-joomla-login-credentials-outside-of-joomla/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 17:24:54 +0000</pubDate>
		<dc:creator>imperialWicket</dc:creator>
				<category><![CDATA[Joomla]]></category>

		<guid isPermaLink="false">http://www.geekgumbo.com/?p=1825</guid>
		<description><![CDATA[On several occasions I needed to interface with a Joomla installation from a satellite web application. In these scenarios, it is useful to integrate a login check that accesses the Joomla username and password data. While this integration is not &#8230; <a class="more-link" href="http://www.geekgumbo.com/2010/07/02/use-joomla-login-credentials-outside-of-joomla/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>On several occasions I needed to interface with a Joomla installation from a satellite web application.  In these scenarios, it is useful to integrate a login check that accesses the Joomla username and password data.  While this integration is not terribly difficult, I spent a long time digging around forums before I located helpful information.  In the interest of saving time for others, here is what I found.</p>
<p>First, the Joomla process for creating a new user goes like this:<br />
1.  Validate that username is unique.<br />
2.  Generate a random 32 character "salt" value.<br />
3.  Combine the password + salt, and encrypt the compounded value.<br />
4.  Store the encrypted result followed by the salt value used to generate it.</p>
<p>For example, when I create a new user with username 'joomla_user' and password 'joomla_password', Joomla does the following:<br />
1.  Make sure there is not an existing 'joomla_user' username value in jos_users.<br />
2.  Generate a random 32 character salt (ex: TUIG6Wyx2gPavlcPm73mdpN4uWjZ8dvv).<br />
3.  Combine password and salt, then encrypt the entire value:<br />
  $value = ( md5('joomla_password'.'TUIG6Wyx2gPavlcPm73mdpN4uWjZ8dvv');<br />
4.  Store encrypted value followed by original salt in database (separated by colon):<br />
  $value.':TUIG6Wyx2gPavlcPm73mdpN4uWjZ8dvv' is inserted. </p>
<p>In order to integrate your web application with the Joomla login, retrieve the appropriate values from the database, separate the salt and the encrypted password + salt combination, salt and encrypt the entered password value, and compare your result to the value in the database.  Looks like this in PHP:</p>
<pre class="brush:php">
$dbhostname = 'localhost';
$dbusername = 'root';
$dbpassword = 'password';
$dbdatabase = 'joomla15';

// Get these from your form...
$username_for_check = 'admin';
$password_for_check = 'admin';

$joomla_user;
$joomla_pass;
$joomla_salt;

$mysqli = new mysqli($dbhostname,$dbusername,$dbpassword,$dbdatabase);

if ($result = $mysqli->query('SELECT j.username,j.password FROM joomla15.jos_users j WHERE j.username="'.$username_for_check.'" LIMIT 1;')) {

  if ($result->num_rows == 0){
      echo 'Username does not exist.';
  }else{
    while ($row = $result->fetch_object()) {
      $joomla_user = $row->username;

      $pass_array = explode(':',$row->password);
      $joomla_pass = $pass_array[0];
      $joomla_salt = $pass_array[1];
    }

    if($joomla_pass == md5($password_for_check.$joomla_salt)){
      echo 'Username and password combination validated.';
    }else{
      echo 'Invalid password for username.';
    }
  }
} else {
  echo 'LOGIN VALIDATION: MySQL Error - '.$mysqli->error;
}

$mysqli->close();
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.geekgumbo.com/2010/07/02/use-joomla-login-credentials-outside-of-joomla/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Joomla – Modules not Loading</title>
		<link>http://www.geekgumbo.com/2010/06/29/joomla-modules-not-loading/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=joomla-modules-not-loading</link>
		<comments>http://www.geekgumbo.com/2010/06/29/joomla-modules-not-loading/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 17:02:02 +0000</pubDate>
		<dc:creator>daleV</dc:creator>
				<category><![CDATA[Joomla]]></category>

		<guid isPermaLink="false">http://www.geekgumbo.com/?p=1819</guid>
		<description><![CDATA[Well, I drew the short straw on this one, and have been goaded into writing this one up by my cohort. Both of us have developed several sites with Joomla, and so we know a little about Joomla, which is &#8230; <a class="more-link" href="http://www.geekgumbo.com/2010/06/29/joomla-modules-not-loading/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Well, I drew the short straw on this one, and have been goaded into writing this one up by my cohort. Both of us have developed several sites with Joomla, and so we know a little about Joomla, which is why this bug surprised us.  It took both of us working together, and for a good part independently, about three hours to find the answer to this bug.</p>
<p>What I thought I'd do is walk you through the process, like a mystery, and see if we can save, at least, one of our readers a couple of hours in the future, and while were doing that we'll talk about the operation of some of Joomla's internals.</p>
<p>Let's set the scene, one of the sites we maintain is a Joomla site with a Section Blog Layout front page.  The center of the page has three article snippets, each with a "read more" link to the full article on another page.</p>
<p><span style="color: #0000ff;">Normal operation: </span>when you click on a "read more" link in each one of the three article snippets, a new page comes up with the full article in the center and a picture in the right sidebar.</p>
<p><span style="color: #0000ff;">The problem:</span> When you click the "read more" link on one of the articles, the new page comes up with the entire article, however there is no picture in the right sidebar.  What made the problem more interesting was of the three articles, only one article did not bring up the picture, the other two articles operated normally, and brought up the picture in the right sidebar.</p>
<p>There you have it, pause number one. What's your first guess of what could cause this problem?</p>
<p>Answer: something is different in the one article without the picture, than the articles with the pictures in the right sidebar.</p>
<p>Looking at each article in the editor, the html was identical, except for the actual article content, in each or the articles, no, not the problem. And when you think of it, it didn't matter if the article html structure was different or not.</p>
<p>Let's go over how the screen populates.  You click on the "read more." This is a hidden menu with a link to the template page and article number of the full "read more" page.  When the template loads it goes to the database with the article number, retrieves the page, and inserts it into the center component section of the page.  The template then loads the module for the right sidebar, which goes to the media library, gets the correct picture, and places the picture in the module in the right sidebar, that's the normal flow.  The module controls the picture load, not the component which loads the article.  The article load has nothing to do with the right picture problem.</p>
<p>Let's move on. Pause number two, your next guess of what could be the cause of the problem?</p>
<p>Well, something in the module. The module's job is to place the picture in the right sidebar, true, but, two of the articles work properly, so the module is working properly.</p>
<p>Next guess, the menu link is not hooked up properly, or is bringing up the wrong template. We checked. No not the problem, the menu hook ups were identical to those of the two good articles, as were the section and category.  As a matter of fact, all the parameters you can configure by clicking on menus, the media library, modules, templates, and the articles were identical in all three articles, hmmm.</p>
<p>We started going through the modules and plug ins and wondering if there wasn't a conflict, yes, we were starting to pull at straws. Each time we're shot down, by the fact, that two articles are working properly.</p>
<p>Then we came to the "AceSEF" component.  For those not familiar with this component, it has the same functionality as "sh404SEF," and "JoomSEF."  Let's talk about what an SEF component does and how it works.</p>
<p>SEF stands for Search Engine Friendly. An SEF component's job is to make easy URL's for pages on your web site.  Instead of having a long URL with numbers and strange long cryptic text, you can call a page something like, "/the_cat_page," which will show up in the top of the browser in the address window.  The easy URL is easy to remember, and makes it easy for Google to list your site higher up in their ratings.</p>
<p>How does AceSEF or any SEF component work?  When you create a menu item to bring up an article, Joomla assigns it a Joomla URL with the article id number, category id number, and section id number.  This is the sites "Real URL".  The "Real URL" is usually cryptic, and hard to type.</p>
<p>In the case of a Section Blog Layout, actually three Real URL's are created for each article.  One for the Section Blog page with the article snippet and the "read more," one for the full length article page after you click "read more," and one for the edit page you use when you bring the page up in the article editor.</p>
<p>AceSEF automatically picks up these three menu items and allows you to give each a SEF friendly URL.  SEF programs, including sh404SEF, will allow you to designate one of these three pages as the main page to load, at the exclusion of the other two pages.</p>
<p>The answer to our riddle was in the SEF component.  The "Real URL" of the page with the module to load,  has a picture id included in the Real URL,  which identifies the picture to load into the module.  If the wrong "SEF URL" is assigned to the wrong "Real URL," then the wrong page loads.  The article will still load in it entirety as it is stored as a blob in the database, but the module will not be able to load the picture, since no picture is identified, so no module will load.  You'll end up with a blank space, while the other two articles will have the correct SEF link with the picture module and load correctly.</p>
<p>Bottom line, if you find a page where the module is not loading, while other pages with the same module work correctly.  Check your SEF component, and save yourself a lot of the time, we wasted, tracking this one down.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geekgumbo.com/2010/06/29/joomla-modules-not-loading/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Phoca Gallery Search Plugin: Display thumbnail images</title>
		<link>http://www.geekgumbo.com/2010/06/07/phoca-gallery-search-plugin-display-thumbnail-images/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=phoca-gallery-search-plugin-display-thumbnail-images</link>
		<comments>http://www.geekgumbo.com/2010/06/07/phoca-gallery-search-plugin-display-thumbnail-images/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 12:05:04 +0000</pubDate>
		<dc:creator>imperialWicket</dc:creator>
				<category><![CDATA[Joomla]]></category>

		<guid isPermaLink="false">http://www.geekgumbo.com/?p=1574</guid>
		<description><![CDATA[This is a follow up article to the earlier post, regarding exact, any, and all word search support for the Phoca Gallery Search Plugin. If you read the earlier post, you are aware that my three main concerns regarding the &#8230; <a class="more-link" href="http://www.geekgumbo.com/2010/06/07/phoca-gallery-search-plugin-display-thumbnail-images/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is a follow up article to the earlier <a href="http://www.geekgumbo.com/2010/06/05/phoca-gallery-search-plugin-multiple-keywords-any-exact-and-all/">post</a>, regarding exact, any, and all word search support for the Phoca Gallery Search Plugin.  If you read the earlier post, you are aware that my three main concerns regarding the Phoca Gallery Search Plugin are the support of exact, any, and all (resolved in the previous post); the lack of a preview image, and the support for showing the correct image (not merely the category) when you select a search result item.</p>
<p><strong>The Problem</strong><br />
Search results that pertain to an image should show the user a thumbnail of the image.  When selecting the search result link, the user should see the full image information, not an category page.  </p>
<p>To demonstrate these concerns notice the search results when I search for "green normal" (the green normal image is from the earlier <a href="http://www.geekgumbo.com/2010/06/05/phoca-gallery-search-plugin-multiple-keywords-any-exact-and-all/">post</a>):</p>
<div id="attachment_1575" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.geekgumbo.com/wp-content/uploads/2010/06/search-result-no-thumb.png"><img src="http://www.geekgumbo.com/wp-content/uploads/2010/06/search-result-no-thumb-300x167.png" alt="Search result with no thumbnail image." title="search-result-no-thumb" width="300" height="167" class="size-medium wp-image-1575" /></a><p class="wp-caption-text">Search result with no thumbnail image.</p></div>
<p>Now notice the resulting screen when I click on the search result link "fonts and colors: normal and green".  The page does not include the image for which I searched.</p>
<div id="attachment_1576" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.geekgumbo.com/wp-content/uploads/2010/06/search-result-category-link.png"><img src="http://www.geekgumbo.com/wp-content/uploads/2010/06/search-result-category-link-300x169.png" alt="Resulting category display without target image." title="search-result-category-link" width="300" height="169" class="size-medium wp-image-1576" /></a><p class="wp-caption-text">Resulting category display without target image.</p></div>
<p>The resulting page is always the first page of the category.  In my example, this isn't a major concern, as there are only 10 images.  But it is still an issue, as a user could select an result item from a search and be taken to a page that does not include that target result.  For a real site implementation, it is reasonable for a category to have 60, 80, or 100s of images.  The image for which the user searched might be far enough away to steer them from your site entirely.  </p>
<p><strong>The Solution</strong><br />
Since these both require modifications to the same files, we will address them together.  This issue must be resolved in two areas.  The first area is the Phoca Gallery Search Plugin, specifically the JOOMLA_ROOT/plugins/search/phocagallery.php file (This is the same file we modified to update the exact/any/all words support.).  In this file we need to modify the SQL queries to retrieve more data from the database, and then we need to be sure that the additional data is formatted appropriately and passed along with the search results.</p>
<p>The SQL query modification requires additional column values.  Simply modify the following line under the "// Images" comment (the line is 161 in my file, which is modified to support exact, any, all searching per the earlier <a href="http://www.geekgumbo.com/2010/06/05/phoca-gallery-search-plugin-multiple-keywords-any-exact-and-all/">post</a>):</p>
<pre class="brush:php">
. ' "2" AS browsernav, b.id as catid, b.alias as catalias'
</pre>
<p>Update the line so it includes the additional columns below:</p>
<pre class="brush:php">
. ' "2" AS browsernav, b.id as catid, b.alias as catalias, a.filename, a.alias AS photoalias, a.ordering AS photoordering'
</pre>
<p>We also want to construct a thumbnail path, and add a flag so that we can easily identify a result item as a phoca image.  Update the foreach loop that traverse the $listImages.  I am including the entire loop for reference (should be near line 175).</p>
<pre class="brush:php">
foreach($listImages as $key => $value) {
	$listImages[$key]->href = JRoute::_(PhocaGalleryRoute::getCategoryRoute($value->catid, $value->catalias));

	// Phoca Gallery Search Updates For Thumbnails -- BEGIN

        // Store the filename, so we can generate a path to the thumbnail
        $phoca_filename = $listImages[$key]->filename;

	// Scrub the filename, which is a relative path, if there are sub-directories,
        // we only want the final filename,
	// then append that to the thumbs directory and prefix.
	if(strrpos($phoca_filename,'/') === false){
             $path = 'thumbs/phoca_thumb_s_'.$phoca_filename;
        }else{
             $path = substr($phoca_filename, 0, (strrpos($phoca_filename, '/')+1)).'thumbs/phoca_thumb_s_'.substr($phoca_filename, (strrpos($phoca_filename, '/'))+1);
        }

	// Update the filename with the full path to the thumbnail
        $listImages[$key]->filename = 'images/phocagallery/'.$path;

	//Add ordering info to the URL
	$listImages[$key]->href.='&limitstart='.($listImages[$key]->photoordering-1);

	// Phoca Gallery Search Updates for Thumbnails -- END
}
</pre>
<p>Now we have access to the image alias and the ordering information.  With this data, we can proceed to change the way that the Joomla! Search Component displays its results.  This is controlled by the JOOMLA_ROOT/components/com_search/views/search/tmpl/default_results.php file.  </p>
<p>It is worth noting that you should override this file within your template directory instead of editing the actual component tmpl file.  I will not go over reasons for this in detail, because this is not a Joomla! best practices post.  If you want more info on this, search for something to the effect of "Joomla 1.5 template layout override" and you should find more than enough information.</p>
<p>So, instead of editing the current file that controls this behavior, we are going to override it in our template directory.  Create a JOOMLA_ROOT/templates/rhuk_milkyway/html/com_search/search/default_results.php file.  Note that "rhuk_milkyway" is my active template, and the directory must reflect your active template.  If this is your introduction to layout overrides in Joomla!, I would also note that the two paths (the overriding and the overridden) are not a directory for directory match.  </p>
<p>In the new default_results.php file we need to make a check to see if the result is a Phoca Gallery Image result, this avoids searching for thumbnails when a user is returned an article result item.  We then need to add some custom html to the page to rearrange the result layout, and add our image thumbnail.  </p>
<p>[Note that the following two code sections have spaces after opening angle brackets to avoid parsing of html and php code.  You can download the updated <a href="http://www.geekgumbo.com/wp-content/uploads/2010/06/default_results.zip">default_results.php</a>, without the extra whitespace.]</p>
<p>Immediately after the first div tag (line 9), add the following  [!!!!!! As eavary points out in the comments, there are a couple of issues in the text below resulting from style issues and php code parsing; either use this as a guide to make your own edits, or download the finished file using the link above.  For those who like to live dangerously, cut and paste out of the sample below with caution !!!!!!]:</p>
<pre class="brush:php">
< ?php //Phoca Gallery BEGIN ************************************ ?>
    				< ?php if (array_key_exists('phocaImage',$result)): ?>

              < span style='float: left;' class="small< ?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
  						  < ?php echo $this->pagination->limitstart + $result->count.'. ';?>
  					  < /span>

              < div id='phoca-image' style='float:left; padding:0px 4px;'>

                    <a href="< ?php echo $result->href ?>">< ?php echo '<img src="'.$result->filename.'"'; ?> alt="< ?php echo $result->title ?>"  /></a> 

              < /div>
              < ?php if ( $result->href ) :
                echo 'Visit this category: ';
    						if ($result->browsernav == 1 ) : ?>
    							<a href="<?php echo JRoute::_($result->href); ?>" target="_blank">
    						< ?php else : ?>
    							<a href="<?php echo JRoute::_($result->href); ?>">
    						< ?php endif;

    						echo $this->escape($result->title);

    						if ( $result->href ) : ?>
    							</a>
    						< ?php endif;
    						if ( $result->section ) : ?>
    							< br />
    							< span class="small< ?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
    								(< ?php echo $this->escape($result->section); ?>)
    							< /span>
    						< ?php endif; ?>
    					< ?php endif; ?>
    				< /div>

    					< ?php echo $result->text; ?>
    				< /div>
    				< ?php
    					if ( $this->params->get( 'show_date' )) : ?>
    				< div class="small< ?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
    					< ?php echo $result->created; ?>
    				< /div>
    				< ?php endif; ?>

            < /div>
            < ?php else : ?>

            < ?php //Phoca Gallery BREAK ************************************ ?> 
</pre>
<p>And immediately before the fieldset closing tag (11-12 lines from the bottom of the file), insert:</p>
<pre class="brush:php">
  < ?php //Phoca Gallery RESUME ************************************ ?>
  < ?php endif; ?>
  < ?php //Phoca Gallery END *************************************** ?>
</pre>
<p>Now when we execute a search, the search results display with a thumbnail icon, and the thumbnail icon as well as the result title link to the correct page of images within the target category.  Notice the search result with thumbnail (My thumbnail is merely green text, not that impressive.):</p>
<div id="attachment_1577" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.geekgumbo.com/wp-content/uploads/2010/06/search-result-thumb.png"><img src="http://www.geekgumbo.com/wp-content/uploads/2010/06/search-result-thumb-300x168.png" alt="Search result with thumbnail." title="search-result-thumb" width="300" height="168" class="size-medium wp-image-1577" /></a><p class="wp-caption-text">Search result with thumbnail.</p></div>
<p>And upon selecting either the thumbnail or the title of the result set item, I am taken to the correct page of the category display, as opposed to the previous links which always loaded the first page of the category:</p>
<div id="attachment_1578" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.geekgumbo.com/wp-content/uploads/2010/06/search-result-link-update.png"><img src="http://www.geekgumbo.com/wp-content/uploads/2010/06/search-result-link-update-300x169.png" alt="Search result links directly to correct page within category." title="search-result-link-update" width="300" height="169" class="size-medium wp-image-1578" /></a><p class="wp-caption-text">Search result links directly to correct page within category.</p></div>
<p>A couple of caveats:  This implementation requires additional updates to work properly with SEF URLs enabled, and the image paths are hardcoded as the Phoca Gallery/Joomla! defaults.  There is a lot of information about the work-arounds necessary for handling SEF in the Phoca Gallery forums, I will note that you need to use the "photoalias" column that we added to the SQL query to build your SEF URL, and you will also need to make a non-displaying menu item to reference as an alias for your Phoca Gallery component.  </p>
<p>UPDATE:  After some troubleshooting and a few questions, I posted an updated version of this information <a href="http://www.geekgumbo.com/2010/10/19/phoca-gallery-enable-sef-urls-and-better-searching-joomla-1-5-x/">here</a>.  Check it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geekgumbo.com/2010/06/07/phoca-gallery-search-plugin-display-thumbnail-images/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
	</channel>
</rss>

