Welcome to the Fruit Shop

We sell fruits from around the world. Please use our website to learn more about our business. We hope you will come to our shop and buy some fruit.

This mini site will show you how you might want to set up a site for a business, in this case one selling fruit. It shows how to use access controls to manage your site content. If you were building a real site, you would might want to extend it with e-commerce, a catalog, mailing lists or other enhancements, many of which are available through the Joomla! Extensions Directory.

To understand this site you will probably want to make one user with groups set to customer and one with group set to grower. By logging in with different privileges you can see how access control works.

Profile Information

Application 0.001 seconds (+0.001); 0.94 MB (+0.94) - afterLoad
Application 0.090 seconds (+0.089); 5.03 MB (+4.08) - afterInitialise
Application 0.138 seconds (+0.048); 7.62 MB (+2.60) - afterRoute
Application 0.264 seconds (+0.126); 11.56 MB (+3.94) - afterDispatch
Application 0.358 seconds (+0.094); 12.27 MB (+0.70) - afterRender

Memory Usage

12.28 MB (12,880,048 Bytes)

16 Queries Logged

  1. SELECT `data`
      FROM `lor2_session`
      WHERE `session_id` = 'db2702218512da762a4468174642c5c6'
  2. DELETE
      FROM `lor2_session`
      WHERE `time` < 1337567495
  3. SELECT folder AS type, element AS name, params
      FROM lor2_extensions
      WHERE enabled >= 1
      AND type ='plugin'
      AND state >= 0
      AND access IN (1,1)
      ORDER BY ordering
  4. SELECT extension_id AS "id", element AS "option", params, enabled
      FROM lor2_extensions
      WHERE `type` = 'component'
      AND `element` = 'com_languages'
  5. SELECT m.id, m.menutype, m.title, m.alias, m.path AS route, m.link, m.type, m.level,m.browserNav, m.access, m.params, m.home, m.img, m.template_style_id, m.component_id, m.parent_id,m.language,e.element as component
      FROM lor2_menu AS m
      LEFT JOIN lor2_extensions AS e
      ON m.component_id = e.extension_id
      WHERE m.published = 1
      AND m.parent_id > 0
      AND m.client_id = 0
      AND m.access IN (1,1)
      ORDER BY m.lft
  6. SELECT extension_id AS "id", element AS "option", params, enabled
      FROM lor2_extensions
      WHERE `type` = 'component'
      AND `element` = 'com_content'
  7. SELECT *
      FROM lor2_languages
      WHERE published=1
      ORDER BY lang_id ASC
  8. SELECT id, home, template, params
      FROM lor2_template_styles
      WHERE client_id = 0
  9. SELECT b.rules
      FROM lor2_assets AS a
      LEFT JOIN lor2_assets AS b
      ON b.lft <= a.lft
      AND b.rgt >= a.rgt
      WHERE a.name = 'com_content'
      ORDER BY b.lft
  10. SELECT extension_id AS "id", element AS "option", params, enabled
      FROM lor2_extensions
      WHERE `type` = 'component'
      AND `element` = 'com_users'
  11. SELECT a.id, a.asset_id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext, CASE WHEN badcats.id is null THEN a.state ELSE 0 END AS state, a.mask, a.catid, a.created, a.created_by, a.created_by_alias, a.modified, a.modified_by, a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.images, a.urls, a.attribs, a.version, a.parentid, a.ordering, a.metakey, a.metadesc, a.access, a.hits, a.metadata, a.featured, a.language, a.xreference,c.title AS category_title, c.alias AS category_alias, c.access AS category_access,u.name AS author,contact.id as contactid,parent.title as parent_title, parent.id as parent_id, parent.path as parent_route, parent.alias as parent_alias,ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count as rating_count
      FROM lor2_content AS a
      LEFT JOIN lor2_categories AS c
      on c.id = a.catid
      LEFT JOIN lor2_users AS u
      on u.id = a.created_by
      LEFT JOIN lor2_contact_details AS contact
      on contact.user_id = a.created_by
      LEFT JOIN lor2_categories as parent
      ON parent.id = c.parent_id
      LEFT JOIN lor2_content_rating AS v
      ON a.id = v.content_id
      LEFT
      OUTER JOIN (SELECT cat.id as id
      FROM lor2_categories AS cat JOIN lor2_categories AS parent
      ON cat.lft BETWEEN parent.lft
      AND parent.rgt
      WHERE parent.extension = 'com_content'
      AND parent.published <= 0
      GROUP BY cat.id) AS badcats
      ON badcats.id = c.id
      WHERE a.id = 20
      AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2012-05-21 02:46:35')
      AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2012-05-21 02:46:35')
      AND (a.state = 1 OR a.state =2)
  12. SELECT c.*,CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(":", c.id, c.alias) ELSE c.id END as slug
      FROM lor2_categories as c
      LEFT JOIN lor2_categories AS s
      ON (s.lft <= c.lft
      AND s.rgt >= c.rgt) OR (s.lft > c.lft
      AND s.rgt < c.rgt)
      LEFT JOIN (SELECT cat.id as id
      FROM lor2_categories AS cat JOIN lor2_categories AS parent
      ON cat.lft BETWEEN parent.lft
      AND parent.rgt
      WHERE parent.extension = 'com_content'
      AND parent.published != 1
      GROUP BY cat.id) AS badcats
      ON badcats.id = c.id
      WHERE (c.extension='com_content' OR c.extension='system')
      AND c.access IN (1,1)
      AND c.published = 1
      AND s.id=29
      AND badcats.id is null
      GROUP BY c.id
      ORDER BY c.lft
  13. UPDATE lor2_content
      SET hits = hits + 1
      WHERE id = 20
  14. SELECT id, title, module, position, content, showtitle, params, mm.menuid
      FROM lor2_modules AS m
      LEFT JOIN lor2_modules_menu AS mm
      ON mm.moduleid = m.id
      WHERE m.published = 1
      AND (m.publish_up = '0000-00-00 00:00:00' OR m.publish_up <= '2012-05-21 02:46:35')
      AND (m.publish_down = '0000-00-00 00:00:00' OR m.publish_down >= '2012-05-21 02:46:35')
      AND m.access IN (1,1)
      AND m.client_id = 0
      AND (mm.menuid = 429 OR mm.menuid <= 0)
      ORDER BY position, ordering
  15. SELECT extension_id AS "id", element AS "option", params, enabled
      FROM lor2_extensions
      WHERE `type` = 'component'
      AND `element` = 'com_contact'
  16. UPDATE `lor2_session`
      SET `data` = '__default|a:9:{s:15:\"session.counter\";i:32;s:19:\"session.timer.start\";i:1337567101;s:18:\"session.timer.last\";i:1337568248;s:17:\"session.timer.now\";i:1337568395;s:22:\"session.client.browser\";s:48:\"CCBot/1.0 (+http://www.commoncrawl.org/bot.html)\";s:8:\"registry\";O:9:\"JRegistry\":1:{s:7:\"\0*\0data\";O:8:\"stdClass\":1:{s:5:\"users\";O:8:\"stdClass\":1:{s:5:\"login\";O:8:\"stdClass\":1:{s:4:\"form\";O:8:\"stdClass\":1:{s:4:\"data\";a:1:{s:6:\"return\";s:39:\"index.php?option=com_users&view=profile\";}}}}}}s:4:\"user\";O:5:\"JUser\":23:{s:9:\"\0*\0isRoot\";b:0;s:2:\"id\";i:0;s:4:\"name\";N;s:8:\"username\";N;s:5:\"email\";N;s:8:\"password\";N;s:14:\"password_clear\";s:0:\"\";s:8:\"usertype\";N;s:5:\"block\";N;s:9:\"sendEmail\";i:0;s:12:\"registerDate\";N;s:13:\"lastvisitDate\";N;s:10:\"activation\";N;s:6:\"params\";N;s:6:\"groups\";a:0:{}s:5:\"guest\";i:1;s:10:\"\0*\0_params\";O:9:\"JRegistry\":1:{s:7:\"\0*\0data\";O:8:\"stdClass\":0:{}}s:14:\"\0*\0_authGroups\";a:1:{i:0;i:1;}s:14:\"\0*\0_authLevels\";a:2:{i:0;i:1;i:1;i:1;}s:15:\"\0*\0_authActions\";N;s:12:\"\0*\0_errorMsg\";N;s:10:\"\0*\0_errors\";a:0:{}s:3:\"aid\";i:0;}s:13:\"session.token\";s:32:\"4237c2c960208ce672e017197a2e77e6\";s:16:\"com_mailto.links\";a:16:{s:40:\"bccf484ce085d0f83b0d0e25c0b0bd0b7d7c461e\";O:8:\"stdClass\":2:{s:4:\"link\";s:46:\"http://www.villalorena.eu/index.php/directions\";s:6:\"expiry\";i:1337567206;}s:40:\"fd9a51f0cc17c5e1e5b506a134d73188befd02e1\";O:8:\"stdClass\":2:{s:4:\"link\";s:67:\"http://www.villalorena.eu/index.php/growers/23-happy-orange-orchard\";s:6:\"expiry\";i:1337567257;}s:40:\"169add92f0db9eff173f8885d34af67de3e2725d\";O:8:\"stdClass\":2:{s:4:\"link\";s:67:\"http://www.villalorena.eu/index.php/growers/58-wonderful-watermelon\";s:6:\"expiry\";i:1337567257;}s:40:\"2a0ec223c7e286c96a0375e91d04e04674581e10\";O:8:\"stdClass\":2:{s:4:\"link\";s:64:\"http://www.villalorena.eu/index.php/park-blog/17-first-blog-post\";s:6:\"expiry\";i:1337567412;}s:40:\"6f167af117da0e5cfd21e33f8270be1050529856\";O:8:\"stdClass\":2:{s:4:\"link\";s:65:\"http://www.villalorena.eu/index.php/park-blog/18-second-blog-post\";s:6:\"expiry\";i:1337567412;}s:40:\"d5f754069f9ff1f96669652404ab6b35159ec1af\";O:8:\"stdClass\":2:{s:4:\"link\";s:95:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/administrator-components\";s:6:\"expiry\";i:1337567558;}s:40:\"41d6347b8a314f6ee81053c18b9496d43f5723b0\";O:8:\"stdClass\":2:{s:4:\"link\";s:88:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/content-component\";s:6:\"expiry\";i:1337567584;}s:40:\"6dac595135c9e6281c3f7d695189ac3588679093\";O:8:\"stdClass\":2:{s:4:\"link\";s:120:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/content-component/article-category-list/24-joomla\";s:6:\"expiry\";i:1337567834;}s:40:\"78451a54118ac735e981826a0c0c8ad1ea138eae\";O:8:\"stdClass\":2:{s:4:\"link\";s:122:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/content-component/article-category-list/8-beginners\";s:6:\"expiry\";i:1337567834;}s:40:\"ebf82da1c6931b0ffdcacfd421252d55b34ca770\";O:8:\"stdClass\":2:{s:4:\"link\";s:123:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/content-component/article-category-list/50-upgraders\";s:6:\"expiry\";i:1337567834;}s:40:\"775f4a1428750ded269a283764b1d712b5d46f64\";O:8:\"stdClass\":2:{s:4:\"link\";s:127:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/content-component/article-category-list/35-professionals\";s:6:\"expiry\";i:1337567834;}s:40:\"f96ff047d880bdccb59ea69c0768928ebb58176a\";O:8:\"stdClass\":2:{s:4:\"link\";s:46:\"http://www.villalorena.eu/index.php/parks-home\";s:6:\"expiry\";i:1337567859;}s:40:\"110ca291e488a1b88c79fdd7dff1708144895004\";O:8:\"stdClass\":2:{s:4:\"link\";s:91:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/news-feeds-component\";s:6:\"expiry\";i:1337567886;}s:40:\"70bbed5c42792ad9035e8095823a8a79ddd9bc5d\";O:8:\"stdClass\":2:{s:4:\"link\";s:87:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/search-component\";s:6:\"expiry\";i:1337567911;}s:40:\"918bdc3800a98297d51b15de25be12a24d753969\";O:8:\"stdClass\":2:{s:4:\"link\";s:86:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/users-component\";s:6:\"expiry\";i:1337568038;}s:40:\"c7b4f11ccd3fd38d50dd81c24650718843c5db56\";O:8:\"stdClass\":2:{s:4:\"link\";s:89:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/weblinks-component\";s:6:\"expiry\";i:1337568168;}}}', `time` = 1337568395
      WHERE `session_id` = 'db2702218512da762a4468174642c5c6'

13 Query Types Logged, Sorted by Occurrences.

SELECT Tables:
  1. 4 × SELECT extension_id AS "id", element AS "option", params, enabled FROM lor2_extensions
  2. 1 × SELECT a.id, a.asset_id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext, CASE WHEN badcats.id is null THEN a.state ELSE 0 END AS state, a.mask, a.catid, a.created, a.created_by, a.created_by_alias, a.modified, a.modified_by, a.checked_out, a.checked_out_time, a.publish_up, a.publish_down, a.images, a.urls, a.attribs, a.version, a.parentid, a.ordering, a.metakey, a.metadesc, a.access, a.hits, a.metadata, a.featured, a.language, a.xreference,c.title AS category_title, c.alias AS category_alias, c.access AS category_access,u.name AS author,contact.id as contactid,parent.title as parent_title, parent.id as parent_id, parent.path as parent_route, parent.alias as parent_alias,ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count as rating_count FROM lor2_content AS a LEFT JOIN lor2_categories AS c on c.id = a.catid LEFT JOIN lor2_users AS u on u.id = a.created_by LEFT JOIN lor2_contact_details AS contact on contact.user_id = a.created_by LEFT JOIN lor2_categories as parent ON parent.id = c.parent_id LEFT JOIN lor2_content_rating AS v ON a.id = v.content_id LEFT OUTER JOIN (SELECT cat.id as id FROM lor2_categories AS cat JOIN lor2_categories AS parent ON cat.lft BETWEEN parent.lft AND parent.rgt
  3. 1 × SELECT c.*,CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(":", c.id, c.alias) ELSE c.id END as slug FROM lor2_categories as c LEFT JOIN lor2_categories AS s ON (s.lft <= c.lft AND s.rgt >= c.rgt) OR (s.lft > c.lft AND s.rgt < c.rgt) LEFT JOIN (SELECT cat.id as id FROM lor2_categories AS cat JOIN lor2_categories AS parent ON cat.lft BETWEEN parent.lft AND parent.rgt
  4. 1 × SELECT b.rules FROM lor2_assets AS a LEFT JOIN lor2_assets AS b ON b.lft <= a.lft AND b.rgt >= a.rgt
  5. 1 × SELECT id, title, module, position, content, showtitle, params, mm.menuid FROM lor2_modules AS m LEFT JOIN lor2_modules_menu AS mm ON mm.moduleid = m.id
  6. 1 × SELECT * FROM lor2_languages
  7. 1 × SELECT folder AS type, element AS name, params FROM lor2_extensions
  8. 1 × SELECT m.id, m.menutype, m.title, m.alias, m.path AS route, m.link, m.type, m.level,m.browserNav, m.access, m.params, m.home, m.img, m.template_style_id, m.component_id, m.parent_id,m.language,e.element as component FROM lor2_menu AS m LEFT JOIN lor2_extensions AS e ON m.component_id = e.extension_id
  9. 1 × SELECT `data` FROM `lor2_session`
  10. 1 × SELECT id, home, template, params FROM lor2_template_styles
OTHER Tables:
  1. 1 × UPDATE `lor2_session` SET `data` = '__default|a:9:{s:15:\"session.counter\";i:32;s:19:\"session.timer.start\";i:1337567101;s:18:\"session.timer.last\";i:1337568248;s:17:\"session.timer.now\";i:1337568395;s:22:\"session.client.browser\";s:48:\"CCBot/1.0 (+http://www.commoncrawl.org/bot.html)\";s:8:\"registry\";O:9:\"JRegistry\":1:{s:7:\"\0*\0data\";O:8:\"stdClass\":1:{s:5:\"users\";O:8:\"stdClass\":1:{s:5:\"login\";O:8:\"stdClass\":1:{s:4:\"form\";O:8:\"stdClass\":1:{s:4:\"data\";a:1:{s:6:\"return\";s:39:\"index.php?option=com_users&view=profile\";}}}}}}s:4:\"user\";O:5:\"JUser\":23:{s:9:\"\0*\0isRoot\";b:0;s:2:\"id\";i:0;s:4:\"name\";N;s:8:\"username\";N;s:5:\"email\";N;s:8:\"password\";N;s:14:\"password_clear\";s:0:\"\";s:8:\"usertype\";N;s:5:\"block\";N;s:9:\"sendEmail\";i:0;s:12:\"registerDate\";N;s:13:\"lastvisitDate\";N;s:10:\"activation\";N;s:6:\"params\";N;s:6:\"groups\";a:0:{}s:5:\"guest\";i:1;s:10:\"\0*\0_params\";O:9:\"JRegistry\":1:{s:7:\"\0*\0data\";O:8:\"stdClass\":0:{}}s:14:\"\0*\0_authGroups\";a:1:{i:0;i:1;}s:14:\"\0*\0_authLevels\";a:2:{i:0;i:1;i:1;i:1;}s:15:\"\0*\0_authActions\";N;s:12:\"\0*\0_errorMsg\";N;s:10:\"\0*\0_errors\";a:0:{}s:3:\"aid\";i:0;}s:13:\"session.token\";s:32:\"4237c2c960208ce672e017197a2e77e6\";s:16:\"com_mailto.links\";a:16:{s:40:\"bccf484ce085d0f83b0d0e25c0b0bd0b7d7c461e\";O:8:\"stdClass\":2:{s:4:\"link\";s:46:\"http://www.villalorena.eu/index.php/directions\";s:6:\"expiry\";i:1337567206;}s:40:\"fd9a51f0cc17c5e1e5b506a134d73188befd02e1\";O:8:\"stdClass\":2:{s:4:\"link\";s:67:\"http://www.villalorena.eu/index.php/growers/23-happy-orange-orchard\";s:6:\"expiry\";i:1337567257;}s:40:\"169add92f0db9eff173f8885d34af67de3e2725d\";O:8:\"stdClass\":2:{s:4:\"link\";s:67:\"http://www.villalorena.eu/index.php/growers/58-wonderful-watermelon\";s:6:\"expiry\";i:1337567257;}s:40:\"2a0ec223c7e286c96a0375e91d04e04674581e10\";O:8:\"stdClass\":2:{s:4:\"link\";s:64:\"http://www.villalorena.eu/index.php/park-blog/17-first-blog-post\";s:6:\"expiry\";i:1337567412;}s:40:\"6f167af117da0e5cfd21e33f8270be1050529856\";O:8:\"stdClass\":2:{s:4:\"link\";s:65:\"http://www.villalorena.eu/index.php/park-blog/18-second-blog-post\";s:6:\"expiry\";i:1337567412;}s:40:\"d5f754069f9ff1f96669652404ab6b35159ec1af\";O:8:\"stdClass\":2:{s:4:\"link\";s:95:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/administrator-components\";s:6:\"expiry\";i:1337567558;}s:40:\"41d6347b8a314f6ee81053c18b9496d43f5723b0\";O:8:\"stdClass\":2:{s:4:\"link\";s:88:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/content-component\";s:6:\"expiry\";i:1337567584;}s:40:\"6dac595135c9e6281c3f7d695189ac3588679093\";O:8:\"stdClass\":2:{s:4:\"link\";s:120:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/content-component/article-category-list/24-joomla\";s:6:\"expiry\";i:1337567834;}s:40:\"78451a54118ac735e981826a0c0c8ad1ea138eae\";O:8:\"stdClass\":2:{s:4:\"link\";s:122:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/content-component/article-category-list/8-beginners\";s:6:\"expiry\";i:1337567834;}s:40:\"ebf82da1c6931b0ffdcacfd421252d55b34ca770\";O:8:\"stdClass\":2:{s:4:\"link\";s:123:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/content-component/article-category-list/50-upgraders\";s:6:\"expiry\";i:1337567834;}s:40:\"775f4a1428750ded269a283764b1d712b5d46f64\";O:8:\"stdClass\":2:{s:4:\"link\";s:127:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/content-component/article-category-list/35-professionals\";s:6:\"expiry\";i:1337567834;}s:40:\"f96ff047d880bdccb59ea69c0768928ebb58176a\";O:8:\"stdClass\":2:{s:4:\"link\";s:46:\"http://www.villalorena.eu/index.php/parks-home\";s:6:\"expiry\";i:1337567859;}s:40:\"110ca291e488a1b88c79fdd7dff1708144895004\";O:8:\"stdClass\":2:{s:4:\"link\";s:91:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/news-feeds-component\";s:6:\"expiry\";i:1337567886;}s:40:\"70bbed5c42792ad9035e8095823a8a79ddd9bc5d\";O:8:\"stdClass\":2:{s:4:\"link\";s:87:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/search-component\";s:6:\"expiry\";i:1337567911;}s:40:\"918bdc3800a98297d51b15de25be12a24d753969\";O:8:\"stdClass\":2:{s:4:\"link\";s:86:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/users-component\";s:6:\"expiry\";i:1337568038;}s:40:\"c7b4f11ccd3fd38d50dd81c24650718843c5db56\";O:8:\"stdClass\":2:{s:4:\"link\";s:89:\"http://www.villalorena.eu/index.php/using-joomla/extensions/components/weblinks-component\";s:6:\"expiry\";i:1337568168;}}}', `time` = 1337568395
  2. 1 × UPDATE lor2_content SET hits = hits + 1
  3. 1 × DELETE FROM `lor2_session`