Contao demo website

A content management system is usually divided into two areas: the back end (administration area) and the front end (website). If you are reading this, you are currently viewing the front end. To log in to the back end, simply add /contao to your URL (http://hajfly.de/contao).

When I was creating the example website to give people an idea of what can be done with a content management system, I tried to find a "real world" scenario that involved more than one person. There are a lot of different scenarios that can be done with Contao: from a simple website managed by a single administrator to a community website with a lot of members (front end users) or a company website (intranet or internet) with a lot of back end users. Finally, I came up with a college website that has different back end users and front end users.

The Music Academy example includes three back end users (employees) and two front end users (students). Each user has a different role. You can log in to their accounts and see how Contao looks from their perspective. Please note that academy employees (back end user) can only log in to the back end and students (front end user) can only log in to the front end. You are currently viewing the front end.

User accounts

1. Kevin Jones
Username: k.jones
Password: kevinjones
Role: back end user and administrator
2. Helen Lewis
Username: h.lewis
Password: helenlewis
Role: back end user
3. James Wilson
Username: j.wilson
Password: jameswilson
Role: back end user
4. John Smith
Username: j.smith
Password: johnsmith
Role: front end user
5. Donna Evans
Username: d.evans
Password: donnaevans
Role: front end user

Roles and permissions

On the next page (The academy) we will take a closer look at the different roles and we will find out what our users are allowed to do and what they cannot do. You can then take a closer look at how these access restrictions have been implemented in the back end.

Make sure to visit http://www.contao.org for more information.

Contao debug information Execution time: 140 ms Memory usage: 17.1 MB Database queries: 25 Rows: 48 returned, 0 affected  

Array
(
    [classes_aliased] => Array
        (
            [0] => Input (Contao\Input)
            [1] => RequestToken (Contao\RequestToken)
            [2] => System (Contao\System)
            [3] => Environment (Contao\Environment)
            [4] => Frontend (Contao\Frontend)
            [5] => Controller (Contao\Controller)
            [6] => FrontendUser (Contao\FrontendUser)
            [7] => User (Contao\User)
            [8] => Session (Contao\Session)
            [9] => Database (Contao\Database)
            [10] => Database\Mysql (Contao\Database\Mysql)
            [11] => PageModel (Contao\PageModel)
            [12] => Model (Contao\Model)
            [13] => Model\QueryBuilder (Contao\Model\QueryBuilder)
            [14] => DcaExtractor (Contao\DcaExtractor)
            [15] => Database\Installer (Contao\Database\Installer)
            [16] => File (Contao\File)
            [17] => Files (Contao\Files)
            [18] => Files\Php (Contao\Files\Php)
            [19] => Cache (Contao\Cache)
            [20] => Backend (Contao\Backend)
            [21] => Database\Mysql\Statement (Contao\Database\Mysql\Statement)
            [22] => Database\Statement (Contao\Database\Statement)
            [23] => Database\Mysql\Result (Contao\Database\Mysql\Result)
            [24] => Database\Result (Contao\Database\Result)
            [25] => PageRoot (Contao\PageRoot)
            [26] => Model\Collection (Contao\Model\Collection)
            [27] => PageRegular (Contao\PageRegular)
            [28] => LayoutModel (Contao\LayoutModel)
            [29] => ThemeModel (Contao\ThemeModel)
            [30] => FrontendTemplate (Contao\FrontendTemplate)
            [31] => Template (Contao\Template)
            [32] => ModuleModel (Contao\ModuleModel)
            [33] => ModuleNavigation (Contao\ModuleNavigation)
            [34] => Module (Contao\Module)
            [35] => ModuleLogin (Contao\ModuleLogin)
            [36] => ModuleHtml (Contao\ModuleHtml)
            [37] => ModuleNewsList (Contao\ModuleNewsList)
            [38] => ModuleNews (Contao\ModuleNews)
            [39] => NewsArchiveModel (Contao\NewsArchiveModel)
            [40] => NewsModel (Contao\NewsModel)
            [41] => UserModel (Contao\UserModel)
            [42] => String (Contao\String)
            [43] => ContentModel (Contao\ContentModel)
            [44] => ContentText (Contao\ContentText)
            [45] => ContentElement (Contao\ContentElement)
            [46] => FilesModel (Contao\FilesModel)
            [47] => Image (Contao\Image)
            [48] => ModuleBreadcrumb (Contao\ModuleBreadcrumb)
            [49] => ArticleModel (Contao\ArticleModel)
            [50] => ModuleArticle (Contao\ModuleArticle)
            [51] => ContentAccordion (Contao\ContentAccordion)
            [52] => ContentHeadline (Contao\ContentHeadline)
            [53] => Combiner (Contao\Combiner)
            [54] => StyleSheetModel (Contao\StyleSheetModel)
            [55] => Search (Contao\Search)
        )

    [database_queries] => Array
        (
            [0] => Array
                (
                    [query] => SELECT tl_page.* FROM tl_page WHERE tl_page.type='root' AND (tl_page.dns='hajfly.de' OR tl_page.dns='') AND tl_page.fallback=1 AND (tl_page.start='' OR tl_page.start<1481408273) AND (tl_page.stop='' OR tl_page.stop>1481408273) AND tl_page.published=1 ORDER BY tl_page.dns DESC, tl_page.sorting LIMIT 0,1
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_page
                            [type] => ref
                            [possible_keys] => type
                            [key] => type
                            [key_len] => 98
                            [ref] => const
                            [rows] => 1
                            [Extra] => Using where; Using filesort
                        )

                    [returned] => 1 row(s) returned
                )

            [1] => Array
                (
                    [query] => SELECT tl_page.* FROM tl_page WHERE tl_page.pid='1' AND tl_page.type!='root' AND tl_page.type!='error_403' AND tl_page.type!='error_404' AND (tl_page.start='' OR tl_page.start<1481408273) AND (tl_page.stop='' OR tl_page.stop>1481408273) AND tl_page.published=1 ORDER BY tl_page.sorting LIMIT 0,1
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_page
                            [type] => ref
                            [possible_keys] => pid,type
                            [key] => pid
                            [key_len] => 4
                            [ref] => const
                            [rows] => 6
                            [Extra] => Using where; Using filesort
                        )

                    [returned] => 1 row(s) returned
                )

            [2] => Array
                (
                    [query] => SELECT tl_page.* FROM tl_page WHERE (tl_page.id='2' OR tl_page.alias='2') AND (tl_page.start='' OR tl_page.start<1481408273) AND (tl_page.stop='' OR tl_page.stop>1481408273) AND tl_page.published=1
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_page
                            [type] => index_merge
                            [possible_keys] => PRIMARY,alias
                            [key] => PRIMARY,alias
                            [key_len] => 4,130
                            [ref] => 
                            [rows] => 2
                            [Extra] => Using union(PRIMARY,alias); Using where
                        )

                    [returned] => 1 row(s) returned
                )

            [3] => Array
                (
                    [query] => SELECT *, @pid:=pid FROM tl_page WHERE id='1' UNION SELECT *, @pid:=pid FROM tl_page WHERE id=@pid UNION SELECT *, @pid:=pid FROM tl_page WHERE id=@pid UNION SELECT *, @pid:=pid FROM tl_page WHERE id=@pid UNION SELECT *, @pid:=pid FROM tl_page WHERE id=@pid UNION SELECT *, @pid:=pid FROM tl_page WHERE id=@pid UNION SELECT *, @pid:=pid FROM tl_page WHERE id=@pid UNION SELECT *, @pid:=pid FROM tl_page WHERE id=@pid UNION SELECT *, @pid:=pid FROM tl_page WHERE id=@pid UNION SELECT *, @pid:=pid FROM tl_page WHERE id=@pid
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => PRIMARY
                            [table] => tl_page
                            [type] => const
                            [possible_keys] => PRIMARY
                            [key] => PRIMARY
                            [key_len] => 4
                            [ref] => const
                            [rows] => 1
                            [Extra] => 
                        )

                    [returned] => 1 row(s) returned
                )

            [4] => Array
                (
                    [query] => SELECT tl_layout.*, j1.id AS pid__id, j1.tstamp AS pid__tstamp, j1.name AS pid__name, j1.author AS pid__author, j1.folders AS pid__folders, j1.screenshot AS pid__screenshot, j1.templates AS pid__templates, j1.vars AS pid__vars FROM tl_layout LEFT JOIN tl_theme j1 ON tl_layout.pid=j1.id WHERE tl_layout.id='1' LIMIT 0,1
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_layout
                            [type] => const
                            [possible_keys] => PRIMARY
                            [key] => PRIMARY
                            [key_len] => 4
                            [ref] => const
                            [rows] => 1
                            [Extra] => 
                        )

                    [returned] => 1 row(s) returned
                )

            [5] => Array
                (
                    [query] => SELECT tl_module.*, j1.id AS jumpTo__id, j1.pid AS jumpTo__pid, j1.sorting AS jumpTo__sorting, j1.tstamp AS jumpTo__tstamp, j1.title AS jumpTo__title, j1.alias AS jumpTo__alias, j1.type AS jumpTo__type, j1.pageTitle AS jumpTo__pageTitle, j1.language AS jumpTo__language, j1.robots AS jumpTo__robots, j1.description AS jumpTo__description, j1.redirect AS jumpTo__redirect, j1.jumpTo AS jumpTo__jumpTo, j1.url AS jumpTo__url, j1.target AS jumpTo__target, j1.dns AS jumpTo__dns, j1.staticFiles AS jumpTo__staticFiles, j1.staticSystem AS jumpTo__staticSystem, j1.staticPlugins AS jumpTo__staticPlugins, j1.fallback AS jumpTo__fallback, j1.adminEmail AS jumpTo__adminEmail, j1.dateFormat AS jumpTo__dateFormat, j1.timeFormat AS jumpTo__timeFormat, j1.datimFormat AS jumpTo__datimFormat, j1.createSitemap AS jumpTo__createSitemap, j1.sitemapName AS jumpTo__sitemapName, j1.useSSL AS jumpTo__useSSL, j1.autoforward AS jumpTo__autoforward, j1.protected AS jumpTo__protected, j1.groups AS jumpTo__groups, j1.includeLayout AS jumpTo__includeLayout, j1.layout AS jumpTo__layout, j1.mobileLayout AS jumpTo__mobileLayout, j1.includeCache AS jumpTo__includeCache, j1.cache AS jumpTo__cache, j1.includeChmod AS jumpTo__includeChmod, j1.cuser AS jumpTo__cuser, j1.cgroup AS jumpTo__cgroup, j1.chmod AS jumpTo__chmod, j1.noSearch AS jumpTo__noSearch, j1.cssClass AS jumpTo__cssClass, j1.sitemap AS jumpTo__sitemap, j1.hide AS jumpTo__hide, j1.guests AS jumpTo__guests, j1.tabindex AS jumpTo__tabindex, j1.accesskey AS jumpTo__accesskey, j1.published AS jumpTo__published, j1.start AS jumpTo__start, j1.stop AS jumpTo__stop FROM tl_module LEFT JOIN tl_page j1 ON tl_module.jumpTo=j1.id WHERE tl_module.id IN(1,4,16,5,3,0) ORDER BY FIND_IN_SET(tl_module.id, '1,4,16,5,3,0')
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_module
                            [type] => ALL
                            [possible_keys] => PRIMARY
                            [key] => 
                            [key_len] => 
                            [ref] => 
                            [rows] => 18
                            [Extra] => Using where; Using filesort
                        )

                    [returned] => 5 row(s) returned
                )

            [6] => Array
                (
                    [query] => SELECT p1.*, (SELECT COUNT(*) FROM tl_page p2 WHERE p2.pid=p1.id AND p2.type!='root' AND p2.type!='error_403' AND p2.type!='error_404' AND p2.hide='' AND (p2.start='' OR p2.start<1481408273) AND (p2.stop='' OR p2.stop>1481408273) AND p2.published=1) AS subpages FROM tl_page p1 WHERE p1.pid='1' AND p1.type!='root' AND p1.type!='error_403' AND p1.type!='error_404' AND p1.hide='' AND (p1.start='' OR p1.start<1481408273) AND (p1.stop='' OR p1.stop>1481408273) AND p1.published=1 ORDER BY p1.sorting
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => PRIMARY
                            [table] => p1
                            [type] => ref
                            [possible_keys] => pid,type
                            [key] => pid
                            [key_len] => 4
                            [ref] => const
                            [rows] => 6
                            [Extra] => Using where; Using filesort
                        )

                    [returned] => 4 row(s) returned
                )

            [7] => Array
                (
                    [query] => SELECT p1.*, (SELECT COUNT(*) FROM tl_page p2 WHERE p2.pid=p1.id AND p2.type!='root' AND p2.type!='error_403' AND p2.type!='error_404' AND p2.hide='' AND (p2.start='' OR p2.start<1481408273) AND (p2.stop='' OR p2.stop>1481408273) AND p2.published=1) AS subpages FROM tl_page p1 WHERE p1.pid='3' AND p1.type!='root' AND p1.type!='error_403' AND p1.type!='error_404' AND p1.hide='' AND (p1.start='' OR p1.start<1481408273) AND (p1.stop='' OR p1.stop>1481408273) AND p1.published=1 ORDER BY p1.sorting
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => PRIMARY
                            [table] => p1
                            [type] => ref
                            [possible_keys] => pid,type
                            [key] => pid
                            [key_len] => 4
                            [ref] => const
                            [rows] => 4
                            [Extra] => Using where; Using filesort
                        )

                    [returned] => 4 row(s) returned
                )

            [8] => Array
                (
                    [query] => SELECT p1.*, (SELECT COUNT(*) FROM tl_page p2 WHERE p2.pid=p1.id AND p2.type!='root' AND p2.type!='error_403' AND p2.type!='error_404' AND p2.hide='' AND (p2.start='' OR p2.start<1481408273) AND (p2.stop='' OR p2.stop>1481408273) AND p2.published=1) AS subpages FROM tl_page p1 WHERE p1.pid='4' AND p1.type!='root' AND p1.type!='error_403' AND p1.type!='error_404' AND p1.hide='' AND (p1.start='' OR p1.start<1481408273) AND (p1.stop='' OR p1.stop>1481408273) AND p1.published=1 ORDER BY p1.sorting
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => PRIMARY
                            [table] => p1
                            [type] => ref
                            [possible_keys] => pid,type
                            [key] => pid
                            [key_len] => 4
                            [ref] => const
                            [rows] => 2
                            [Extra] => Using where; Using filesort
                        )

                    [returned] => 2 row(s) returned
                )

            [9] => Array
                (
                    [query] => SELECT p1.*, (SELECT COUNT(*) FROM tl_page p2 WHERE p2.pid=p1.id AND p2.type!='root' AND p2.type!='error_403' AND p2.type!='error_404' AND p2.hide='' AND (p2.start='' OR p2.start<1481408273) AND (p2.stop='' OR p2.stop>1481408273) AND p2.published=1) AS subpages FROM tl_page p1 WHERE p1.pid='5' AND p1.type!='root' AND p1.type!='error_403' AND p1.type!='error_404' AND p1.hide='' AND (p1.start='' OR p1.start<1481408273) AND (p1.stop='' OR p1.stop>1481408273) AND p1.published=1 ORDER BY p1.sorting
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => PRIMARY
                            [table] => p1
                            [type] => ref
                            [possible_keys] => pid,type
                            [key] => pid
                            [key_len] => 4
                            [ref] => const
                            [rows] => 6
                            [Extra] => Using where; Using filesort
                        )

                    [returned] => 5 row(s) returned
                )

            [10] => Array
                (
                    [query] => SELECT tl_news_archive.*, j1.id AS jumpTo__id, j1.pid AS jumpTo__pid, j1.sorting AS jumpTo__sorting, j1.tstamp AS jumpTo__tstamp, j1.title AS jumpTo__title, j1.alias AS jumpTo__alias, j1.type AS jumpTo__type, j1.pageTitle AS jumpTo__pageTitle, j1.language AS jumpTo__language, j1.robots AS jumpTo__robots, j1.description AS jumpTo__description, j1.redirect AS jumpTo__redirect, j1.jumpTo AS jumpTo__jumpTo, j1.url AS jumpTo__url, j1.target AS jumpTo__target, j1.dns AS jumpTo__dns, j1.staticFiles AS jumpTo__staticFiles, j1.staticSystem AS jumpTo__staticSystem, j1.staticPlugins AS jumpTo__staticPlugins, j1.fallback AS jumpTo__fallback, j1.adminEmail AS jumpTo__adminEmail, j1.dateFormat AS jumpTo__dateFormat, j1.timeFormat AS jumpTo__timeFormat, j1.datimFormat AS jumpTo__datimFormat, j1.createSitemap AS jumpTo__createSitemap, j1.sitemapName AS jumpTo__sitemapName, j1.useSSL AS jumpTo__useSSL, j1.autoforward AS jumpTo__autoforward, j1.protected AS jumpTo__protected, j1.groups AS jumpTo__groups, j1.includeLayout AS jumpTo__includeLayout, j1.layout AS jumpTo__layout, j1.mobileLayout AS jumpTo__mobileLayout, j1.includeCache AS jumpTo__includeCache, j1.cache AS jumpTo__cache, j1.includeChmod AS jumpTo__includeChmod, j1.cuser AS jumpTo__cuser, j1.cgroup AS jumpTo__cgroup, j1.chmod AS jumpTo__chmod, j1.noSearch AS jumpTo__noSearch, j1.cssClass AS jumpTo__cssClass, j1.sitemap AS jumpTo__sitemap, j1.hide AS jumpTo__hide, j1.guests AS jumpTo__guests, j1.tabindex AS jumpTo__tabindex, j1.accesskey AS jumpTo__accesskey, j1.published AS jumpTo__published, j1.start AS jumpTo__start, j1.stop AS jumpTo__stop FROM tl_news_archive LEFT JOIN tl_page j1 ON tl_news_archive.jumpTo=j1.id WHERE tl_news_archive.id IN(3,1,2) ORDER BY FIND_IN_SET(tl_news_archive.id, '3,1,2')
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_news_archive
                            [type] => ALL
                            [possible_keys] => PRIMARY
                            [key] => 
                            [key_len] => 
                            [ref] => 
                            [rows] => 3
                            [Extra] => Using where; Using filesort
                        )

                    [returned] => 3 row(s) returned
                )

            [11] => Array
                (
                    [query] => SELECT COUNT(*) AS count FROM tl_news WHERE tl_news.pid IN(1) AND (tl_news.start='' OR tl_news.start<1481408273) AND (tl_news.stop='' OR tl_news.stop>1481408273) AND tl_news.published=1
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_news
                            [type] => ref
                            [possible_keys] => pid
                            [key] => pid
                            [key_len] => 4
                            [ref] => const
                            [rows] => 2
                            [Extra] => Using where
                        )

                    [returned] => 1 row(s) returned
                )

            [12] => Array
                (
                    [query] => SELECT tl_news.*, j1.id AS pid__id, j1.tstamp AS pid__tstamp, j1.title AS pid__title, j1.jumpTo AS pid__jumpTo, j1.protected AS pid__protected, j1.groups AS pid__groups, j1.allowComments AS pid__allowComments, j1.notify AS pid__notify, j1.sortOrder AS pid__sortOrder, j1.perPage AS pid__perPage, j1.moderate AS pid__moderate, j1.bbcode AS pid__bbcode, j1.requireLogin AS pid__requireLogin, j1.disableCaptcha AS pid__disableCaptcha, j2.id AS author__id, j2.tstamp AS author__tstamp, j2.username AS author__username, j2.name AS author__name, j2.email AS author__email, j2.language AS author__language, j2.backendTheme AS author__backendTheme, j2.uploader AS author__uploader, j2.showHelp AS author__showHelp, j2.thumbnails AS author__thumbnails, j2.useRTE AS author__useRTE, j2.useCE AS author__useCE, j2.password AS author__password, j2.pwChange AS author__pwChange, j2.admin AS author__admin, j2.groups AS author__groups, j2.inherit AS author__inherit, j2.modules AS author__modules, j2.themes AS author__themes, j2.pagemounts AS author__pagemounts, j2.alpty AS author__alpty, j2.filemounts AS author__filemounts, j2.fop AS author__fop, j2.forms AS author__forms, j2.formp AS author__formp, j2.disable AS author__disable, j2.start AS author__start, j2.stop AS author__stop, j2.session AS author__session, j2.dateAdded AS author__dateAdded, j2.lastLogin AS author__lastLogin, j2.currentLogin AS author__currentLogin, j2.loginCount AS author__loginCount, j2.locked AS author__locked, j2.calendars AS author__calendars, j2.calendarp AS author__calendarp, j2.calendarfeeds AS author__calendarfeeds, j2.calendarfeedp AS author__calendarfeedp, j2.faqs AS author__faqs, j2.faqp AS author__faqp, j2.news AS author__news, j2.newp AS author__newp, j2.newsfeeds AS author__newsfeeds, j2.newsfeedp AS author__newsfeedp, j2.newsletters AS author__newsletters, j2.newsletterp AS author__newsletterp FROM tl_news LEFT JOIN tl_news_archive j1 ON tl_news.pid=j1.id LEFT JOIN tl_user j2 ON tl_news.author=j2.id WHERE tl_news.pid IN(1) AND (tl_news.start='' OR tl_news.start<1481408273) AND (tl_news.stop='' OR tl_news.stop>1481408273) AND tl_news.published=1 ORDER BY tl_news.date DESC LIMIT 0,2
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_news
                            [type] => ref
                            [possible_keys] => pid
                            [key] => pid
                            [key_len] => 4
                            [ref] => const
                            [rows] => 2
                            [Extra] => Using where; Using filesort
                        )

                    [returned] => 2 row(s) returned
                )

            [13] => Array
                (
                    [query] => SELECT tl_page.* FROM tl_page WHERE tl_page.id='8' LIMIT 0,1
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_page
                            [type] => const
                            [possible_keys] => PRIMARY
                            [key] => PRIMARY
                            [key_len] => 4
                            [ref] => const
                            [rows] => 1
                            [Extra] => 
                        )

                    [returned] => 1 row(s) returned
                )

            [14] => Array
                (
                    [query] => SELECT tl_content.* FROM tl_content WHERE tl_content.pid='1' AND ptable='tl_news' AND tl_content.invisible='' ORDER BY tl_content.sorting
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_content
                            [type] => index_merge
                            [possible_keys] => pid,ptable
                            [key] => pid,ptable
                            [key_len] => 4,194
                            [ref] => 
                            [rows] => 1
                            [Extra] => Using intersect(pid,ptable); Using where; Using filesort
                        )

                    [returned] => 1 row(s) returned
                )

            [15] => Array
                (
                    [query] => SELECT tl_content.* FROM tl_content WHERE tl_content.id='80' LIMIT 0,1
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_content
                            [type] => const
                            [possible_keys] => PRIMARY
                            [key] => PRIMARY
                            [key_len] => 4
                            [ref] => const
                            [rows] => 1
                            [Extra] => 
                        )

                    [returned] => 1 row(s) returned
                )

            [16] => Array
                (
                    [query] => SELECT * FROM tl_files WHERE tl_files.id='11' LIMIT 0,1
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_files
                            [type] => const
                            [possible_keys] => PRIMARY
                            [key] => PRIMARY
                            [key_len] => 4
                            [ref] => const
                            [rows] => 1
                            [Extra] => 
                        )

                    [returned] => 1 row(s) returned
                )

            [17] => Array
                (
                    [query] => SELECT tl_content.* FROM tl_content WHERE tl_content.pid='3' AND ptable='tl_news' AND tl_content.invisible='' ORDER BY tl_content.sorting
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_content
                            [type] => ref
                            [possible_keys] => pid,ptable
                            [key] => pid
                            [key_len] => 4
                            [ref] => const
                            [rows] => 2
                            [Extra] => Using where; Using filesort
                        )

                    [returned] => 1 row(s) returned
                )

            [18] => Array
                (
                    [query] => SELECT tl_content.* FROM tl_content WHERE tl_content.id='82' LIMIT 0,1
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_content
                            [type] => const
                            [possible_keys] => PRIMARY
                            [key] => PRIMARY
                            [key_len] => 4
                            [ref] => const
                            [rows] => 1
                            [Extra] => 
                        )

                    [returned] => 1 row(s) returned
                )

            [19] => Array
                (
                    [query] => SELECT tl_article.*, j1.id AS author__id, j1.tstamp AS author__tstamp, j1.username AS author__username, j1.name AS author__name, j1.email AS author__email, j1.language AS author__language, j1.backendTheme AS author__backendTheme, j1.uploader AS author__uploader, j1.showHelp AS author__showHelp, j1.thumbnails AS author__thumbnails, j1.useRTE AS author__useRTE, j1.useCE AS author__useCE, j1.password AS author__password, j1.pwChange AS author__pwChange, j1.admin AS author__admin, j1.groups AS author__groups, j1.inherit AS author__inherit, j1.modules AS author__modules, j1.themes AS author__themes, j1.pagemounts AS author__pagemounts, j1.alpty AS author__alpty, j1.filemounts AS author__filemounts, j1.fop AS author__fop, j1.forms AS author__forms, j1.formp AS author__formp, j1.disable AS author__disable, j1.start AS author__start, j1.stop AS author__stop, j1.session AS author__session, j1.dateAdded AS author__dateAdded, j1.lastLogin AS author__lastLogin, j1.currentLogin AS author__currentLogin, j1.loginCount AS author__loginCount, j1.locked AS author__locked, j1.calendars AS author__calendars, j1.calendarp AS author__calendarp, j1.calendarfeeds AS author__calendarfeeds, j1.calendarfeedp AS author__calendarfeedp, j1.faqs AS author__faqs, j1.faqp AS author__faqp, j1.news AS author__news, j1.newp AS author__newp, j1.newsfeeds AS author__newsfeeds, j1.newsfeedp AS author__newsfeedp, j1.newsletters AS author__newsletters, j1.newsletterp AS author__newsletterp FROM tl_article LEFT JOIN tl_user j1 ON tl_article.author=j1.id WHERE tl_article.pid='2' AND tl_article.inColumn='main' AND (tl_article.start='' OR tl_article.start<1481408273) AND (tl_article.stop='' OR tl_article.stop>1481408273) AND tl_article.published=1 ORDER BY tl_article.sorting
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_article
                            [type] => ref
                            [possible_keys] => pid
                            [key] => pid
                            [key_len] => 4
                            [ref] => const
                            [rows] => 1
                            [Extra] => Using where; Using filesort
                        )

                    [returned] => 1 row(s) returned
                )

            [20] => Array
                (
                    [query] => SELECT tl_content.* FROM tl_content WHERE tl_content.pid='1' AND (ptable='tl_article' OR ptable='') AND tl_content.invisible='' ORDER BY tl_content.sorting
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_content
                            [type] => ref
                            [possible_keys] => pid,ptable
                            [key] => pid
                            [key_len] => 4
                            [ref] => const
                            [rows] => 13
                            [Extra] => Using where; Using filesort
                        )

                    [returned] => 12 row(s) returned
                )

            [21] => Array
                (
                    [query] => SELECT *, (SELECT tstamp FROM tl_theme WHERE tl_theme.id=tl_style_sheet.pid) AS tstamp3, (SELECT MAX(tstamp) FROM tl_style WHERE tl_style.pid=tl_style_sheet.id) AS tstamp2, (SELECT COUNT(*) FROM tl_style WHERE tl_style.selector='@font-face' AND tl_style.pid=tl_style_sheet.id) AS hasFontFace FROM tl_style_sheet WHERE id IN (2,1) ORDER BY FIND_IN_SET(id, '2,1')
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => PRIMARY
                            [table] => tl_style_sheet
                            [type] => range
                            [possible_keys] => PRIMARY
                            [key] => PRIMARY
                            [key_len] => 4
                            [ref] => 
                            [rows] => 2
                            [Extra] => Using where; Using filesort
                        )

                    [returned] => 2 row(s) returned
                )

            [22] => Array
                (
                    [query] => SELECT * FROM tl_files WHERE tl_files.id IN(0) ORDER BY FIND_IN_SET(tl_files.id, '0')
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => 
                            [type] => 
                            [possible_keys] => 
                            [key] => 
                            [key_len] => 
                            [ref] => 
                            [rows] => 
                            [Extra] => Impossible WHERE noticed after reading const tables
                        )

                    [returned] => 0 row(s) returned
                )

            [23] => Array
                (
                    [query] => SELECT tl_page.* FROM tl_page WHERE (tl_page.id='20' OR tl_page.alias='20') LIMIT 0,1
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_page
                            [type] => index_merge
                            [possible_keys] => PRIMARY,alias
                            [key] => PRIMARY,alias
                            [key_len] => 4,130
                            [ref] => 
                            [rows] => 2
                            [Extra] => Using union(PRIMARY,alias); Using where
                        )

                    [returned] => 1 row(s) returned
                )

            [24] => Array
                (
                    [query] => SELECT id, checksum FROM tl_search WHERE url='index.php/' AND pid='2' LIMIT 0,1
                    [explain] => Array
                        (
                            [id] => 1
                            [select_type] => SIMPLE
                            [table] => tl_search
                            [type] => ref
                            [possible_keys] => pid,url
                            [key] => url
                            [key_len] => 767
                            [ref] => const
                            [rows] => 1
                            [Extra] => Using where
                        )

                    [returned] => 1 row(s) returned
                )

        )

)