About

Hi! Thanks for visiting! You've reached sekaita.com, the personal website of D.G. Pickering, a software engineer, gadget-geek, emotional film-watcher, avid tea-drinker and maker of things.

You can check me out on stack overflow by clicking my button at the top-right of this page. I'm not fantastically active on there, but I really like the place - it's got a good vibe :)

This site runs on a CMS of my own design, not Wordpress or Drupal etc. Seeing as this site is supposed to show off my skills, I figured demonstrating that I can write a functional CMS is a good start? (but also a colossal waste of time). It is always under some form of construction, so please bear with me if you come across a blank page (or one full of lolcats) here or there!

For example, I have enable debugging on the node that represents this page, so a debug log should be visible below, which might shed some light on how this CMS works internally, if you're bothered... (now now black-hats, that's not an invitation :p)

I love writing code, designing web sites and solving problems, so this site aims to provide an insight into just that. It also serves as a mechanism to post the odd project, article, review, tutorial etc.

So mind the gap; watch out for the lolcats; and enjoy your stay! :)

Debug Log

0.0080-started: 01:37:38 12.02.23

0.0085-Parsing /volume1/web/www/bin/classes/template.php...

0.0198-Parsing /volume1/web/www/bin/classes/db.php...

0.0364-Parsing /volume1/web/www/bin/classes/StoredProc.php...

0.0452-Parsing /volume1/web/www/bin/classes/DataSet.php...

0.0524-Parsing /volume1/web/www/bin/classes/configuration.php...

0.0594-Parsing /volume1/web/www/bin/classes/cookies.php...

0.0674-Parsing /volume1/web/www/bin/classes/auth.php...

0.0749-Parsing /volume1/web/www/bin/classes/node.php...

0.1158-Parsing /volume1/web/www/bin/classes/forms.php...

0.1218-Parsing /volume1/web/www/bin/classes/filters.php...

0.1292-Parsing /volume1/web/www/bin/classes/events.php...

0.1338-Parsing /volume1/web/www/bin/classes/widgets.php...

0.1413-Parsing /volume1/web/www/bin/classes/media.php...

0.1649-Parsing /volume1/web/www/bin/classes/session.php...

0.1707-Sekaita::__construct:32

0.1713-    Sekaita::Initialise:45

0.1719-        requested path: about

0.1725-        Sekaita::LoadConfiguration:73

0.1732-            Util::GetDataBaseConn:105

0.1775-            sql: CALL GetConfigVar('template-include-path');

0.1821-            Util::GetDataBaseConn:105

0.1834-            sql: CALL GetConfigVar('widget-include-path');

0.1864-            Util::GetDataBaseConn:105

0.1877-            sql: CALL GetConfigVar('stylesheet-include-path');

0.1906-            Util::GetDataBaseConn:105

0.1919-            sql: CALL GetConfigVar('script-include-path');

0.1949-        Util::Initialise:376

0.1955-            Util::SetHostSite:117

0.1962-            Session::Initialise:26

0.1997-        Filters::Add:9

0.2002-            filter name: GetPageTitle

0.2007-            filter priority: 10

0.2013-            filters priorities attached to: GetPageTitle

0.2019-                priority: 10

0.2027-        Widgets::LoadWidgets:9

0.2388-            loading widget: bin/widgets/blogHistoryWidget.php

0.2393-            Parsing bin/widgets/blogHistoryWidget.php...

0.2458-            loading widget: bin/widgets/codeHighlightWidget.php

0.2465-            Parsing bin/widgets/codeHighlightWidget.php...

0.4224-            Widgets::RegisterWidget:38

0.4231-                registering widget: codeHighlightWidget

0.4237-                CodeHighlightWidget::Register:275

0.4242-                    Util::GetHostSite:124

0.4391-                    Filters::Add:9

0.4397-                        filter name: GetNodeContent

0.4402-                        filter priority: 0

0.4408-                        filters priorities attached to: GetNodeContent

0.4413-                            priority: 0

0.4422-                    Filters::Add:9

0.4427-                        filter name: GetNodeContent

0.4432-                        filter priority: 99

0.4438-                        filters priorities attached to: GetNodeContent

0.4444-                            priority: 0

0.4451-                            priority: 99

0.4460-                    Filters::Add:9

0.4465-                        filter name: GetNodeContent

0.4470-                        filter priority: 10

0.4476-                        filters priorities attached to: GetNodeContent

0.4482-                            priority: 0

0.4487-                            priority: 99

0.4492-                            priority: 10

0.4500-                    Filters::Add:9

0.4506-                        filter name: GetNodeContent

0.4511-                        filter priority: 10

0.4516-                        filters priorities attached to: GetNodeContent

0.4523-                            priority: 0

0.4528-                            priority: 99

0.4533-                            priority: 10

0.4544-            loading widget: bin/widgets/fileWidget.php

0.4549-            Parsing bin/widgets/fileWidget.php...

0.4615-            Widgets::RegisterWidget:38

0.4621-                registering widget: fileWidget

0.4626-                Util::GetHostSite:124

0.4633-                Sekaita::GetWidgetIncludePath:341

0.4640-                widgetTemplateFilename: fileWidget.php

0.4648-            loading widget: bin/widgets/navigationWidget.php

0.4653-            Parsing bin/widgets/navigationWidget.php...

0.4756-            Widgets::RegisterWidget:38

0.4765-                registering widget: navigationWidget

0.4771-                Util::GetHostSite:124

0.4778-                Sekaita::GetWidgetIncludePath:341

0.4788-                widgetTemplateFilename : navigationWidget.php

0.4795-            loading widget: bin/widgets/nodeContentWidget.php

0.4800-            Parsing bin/widgets/nodeContentWidget.php...

0.4863-            Widgets::RegisterWidget:38

0.4869-                registering widget: nodeContentWidget

0.4875-                Util::GetHostSite:124

0.4882-                Sekaita::GetWidgetIncludePath:341

0.4889-                widgetTemplateFilename: nodeContentWidget.php

0.4896-            loading widget: bin/widgets/nodeListItemWidget.php

0.4901-            Parsing bin/widgets/nodeListItemWidget.php...

0.4967-            Widgets::RegisterWidget:38

0.4977-                registering widget: nodeListItemWidget

0.4985-                Util::GetHostSite:124

0.4993-                Sekaita::GetWidgetIncludePath:341

0.5000-                widgetTemplateFilename: nodeListItemWidget.php

0.5007-            loading widget: bin/widgets/nodeListWidget.php

0.5012-            Parsing bin/widgets/nodeListWidget.php...

0.5094-            Widgets::RegisterWidget:38

0.5104-                registering widget: nodeListWidget

0.5109-                Util::GetHostSite:124

0.5116-                Sekaita::GetWidgetIncludePath:341

0.5124-                widgetTemplateFilename : nodeListWidget.php

0.5131-            loading widget: bin/widgets/nodeTreeWidget.php

0.5136-            Parsing bin/widgets/nodeTreeWidget.php...

0.5222-            Widgets::RegisterWidget:38

0.5229-                registering widget: nodeTreeWidget

0.5236-            loading widget: bin/widgets/nodeWidget.php

0.5240-            Parsing bin/widgets/nodeWidget.php...

0.5304-            loading widget: bin/widgets/workListWidget.php

0.5313-            Parsing bin/widgets/workListWidget.php...

0.5378-            Widgets::RegisterWidget:38

0.5387-                registering widget: workListWidget

0.5392-                Util::GetHostSite:124

0.5399-                Sekaita::GetWidgetIncludePath:341

0.5407-                widgetTemplateFilename : workListWidget.php

0.5414-            loaded widgets:

0.5420-                codeHighlightWidget 2011 fusi

0.5425-                fileWidget 2011 fusi

0.5429-                navigationWidget 2011 fusi

0.5434-                nodeContentWidget 2011 fusi

0.5439-                nodeListItemWidget 2011 fusi

0.5444-                nodeListWidget 2011 fusi

0.5449-                nodeTreeWidget 2011 fusi

0.5453-                workListWidget 2011 fusi

0.5461-        Media::Initialise:23

0.5467-            Util::GetDataBaseConn:105

0.5480-            sql: CALL GetConfigVar('media-path');

0.5509-    Sekaita::Execute:84

0.5515-        Node::PathExists:99

0.5521-            Util::GetDataBaseConn:105

0.5528-            Util::GetHostSite:124

0.5535-            Sekaita::GetRootNodeID:356

0.5541-                Util::GetDataBaseConn:105

0.5550-                sql: CALL FetchRootNodeID();

0.5635-            Util::GetHostSite:124

0.5643-            Sekaita::GetErrorNodeID:375

0.5649-                Util::GetDataBaseConn:105

0.5661-                sql: CALL FetchErrorNodeID('404');

0.5770-            sql: CALL FetchNodeChildrenNames('1');

0.5864-        Node::IsImpersonator:261

0.5871-            Node::GetMetaData:863

0.5877-                Util::GetDataBaseConn:105

0.5893-                sql: CALL FetchNodeMeta('4', 'impersonate');

0.5956-            Node::GetMetaData:863

0.5962-                Util::GetDataBaseConn:105

0.5977-                sql: CALL FetchNodeMeta('4', 'impersonate-newest');

0.6030-        Node::GetAuthorisationLevel:443

0.6036-            Util::GetDataBaseConn:105

0.6049-            sql: CALL FetchNodeAuthLevel('4');

0.6086-            authRequired: 0

0.6093-        Sekaita::ProcessPostedAuthCode:136

0.6100-        Auth::IsValid:59

0.6106-            authorisation not required.

0.6113-        Node::__construct:37

0.6118-            source: 4

0.6122-            sourceType: 0

0.6128-            Node::GetNodePathFromID:202

0.6133-                id: 4

0.6138-                Util::GetDataBaseConn:105

0.6145-                Util::GetHostSite:124

0.6152-                Sekaita::GetRootNodeID:356

0.6166-                sql: CALL FetchNodeNameAndParent('4');

0.6206-                nodePath: about

0.6213-            Node::Populate:68

0.6219-                Util::GetDataBaseConn:105

0.6231-                sql: CALL FetchNode('4');

0.6279-                Filters::Apply:44

0.6286-                    filter name: RetrieveNodeContent

0.6291-                    filter name doesnt exist.

0.6300-        Sekaita::BuildPage:183

0.6306-            Node::GetCacheExpiry:457

0.6312-                Node::GetMetaData:863

0.6318-                    Util::GetDataBaseConn:105

0.6333-                    sql: CALL FetchNodeMeta('4', 'cache-expiry');

0.6387-                Util::GetDataBaseConn:105

0.6400-                sql: CALL GetConfigVar('default-cache-expiry');

0.6427-                using default cache expiry: 0

0.6432-                cacheExpiry: 0

0.6439-            Node::GetPageTemplate:484

0.6444-                page template file:

0.6450-                Node::GetComputedTemplate:545

0.6455-                    getting computed template for type: page

0.6460-                    Util::GetDataBaseConn:105

0.6467-                    Util::GetHostSite:124

0.6474-                    Sekaita::GetRootNodeID:356

0.6482-                    Node::GetMetaData:863

0.6488-                        Util::GetDataBaseConn:105

0.6503-                        sql: CALL FetchNodeMeta('4', 'page-template');

0.6555-                    Node::GetMetaData:863

0.6561-                        Util::GetDataBaseConn:105

0.6577-                        sql: CALL FetchNodeMeta('4', 'page-template-inherit');

0.6629-                    node id: 4, template:

0.6640-                    sql: CALL FetchNodeParentID('4');

0.6678-                    Node::GetMetaData:863

0.6686-                        Util::GetDataBaseConn:105

0.6701-                        sql: CALL FetchNodeMeta('1', 'page-template-inherit');

0.6758-                    node id: 1, template: index.php

0.6763-                    computed template: index.php

0.6771-            Node::GetDateModified:711

0.6779-            CachedTemplate::__construct:77

0.6790-            CachedTemplate::Cached:89

0.6941-                no cache file

0.6948-            Node::GetHeaderTemplate:499

0.6953-                header template file:

0.6959-                Node::GetComputedTemplate:545

0.6964-                    getting computed template for type: header

0.6969-                    Util::GetDataBaseConn:105

0.6976-                    Util::GetHostSite:124

0.6986-                    Sekaita::GetRootNodeID:356

0.6995-                    Node::GetMetaData:863

0.7001-                        Util::GetDataBaseConn:105

0.7016-                        sql: CALL FetchNodeMeta('4', 'header-template');

0.7066-                    Node::GetMetaData:863

0.7072-                        Util::GetDataBaseConn:105

0.7090-                        sql: CALL FetchNodeMeta('4', 'header-template-inherit');

0.7139-                    node id: 4, template:

0.7150-                    sql: CALL FetchNodeParentID('4');

0.7178-                    Node::GetMetaData:863

0.7187-                        Util::GetDataBaseConn:105

0.7202-                        sql: CALL FetchNodeMeta('1', 'header-template-inherit');

0.7257-                    node id: 1, template: header.php

0.7262-                    computed template: header.php

0.7270-            Node::GetContentTemplate:514

0.7275-                content template file:

0.7281-                Node::GetComputedTemplate:545

0.7286-                    getting computed template for type: content

0.7292-                    Util::GetDataBaseConn:105

0.7299-                    Util::GetHostSite:124

0.7306-                    Sekaita::GetRootNodeID:356

0.7314-                    Node::GetMetaData:863

0.7320-                        Util::GetDataBaseConn:105

0.7335-                        sql: CALL FetchNodeMeta('4', 'content-template');

0.7388-                    Node::GetMetaData:863

0.7394-                        Util::GetDataBaseConn:105

0.7409-                        sql: CALL FetchNodeMeta('4', 'content-template-inherit');

0.7458-                    node id: 4, template:

0.7469-                    sql: CALL FetchNodeParentID('4');

0.7496-                    Node::GetMetaData:863

0.7502-                        Util::GetDataBaseConn:105

0.7518-                        sql: CALL FetchNodeMeta('1', 'content-template-inherit');

0.7575-                    node id: 1, template: content.php

0.7580-                    computed template: content.php

0.7591-            Node::GetFooterTemplate:530

0.7596-                footer template file:

0.7602-                Node::GetComputedTemplate:545

0.7607-                    getting computed template for type: footer

0.7612-                    Util::GetDataBaseConn:105

0.7619-                    Util::GetHostSite:124

0.7626-                    Sekaita::GetRootNodeID:356

0.7634-                    Node::GetMetaData:863

0.7640-                        Util::GetDataBaseConn:105

0.7655-                        sql: CALL FetchNodeMeta('4', 'footer-template');

0.7705-                    Node::GetMetaData:863

0.7711-                        Util::GetDataBaseConn:105

0.7726-                        sql: CALL FetchNodeMeta('4', 'footer-template-inherit');

0.7774-                    node id: 4, template:

0.7789-                    sql: CALL FetchNodeParentID('4');

0.7817-                    Node::GetMetaData:863

0.7823-                        Util::GetDataBaseConn:105

0.7838-                        sql: CALL FetchNodeMeta('1', 'footer-template-inherit');

0.7894-                    node id: 1, template: footer.php

0.7899-                    computed template: footer.php

0.7907-            CachedTemplate::__construct:77

0.7916-            CachedTemplate::__construct:77

0.7924-            CachedTemplate::__construct:77

0.7932-            CachedTemplate::Cached:89

0.8110-                no cache file

0.8118-            CachedTemplate::Cached:89

0.8157-                no cache file

0.8164-            CachedTemplate::Cached:89

0.8213-                no cache file

0.8221-            Node::GetComputedStyleSheets:593

0.8226-                getting computed stylesheets for node: 4

0.8232-                Util::GetDataBaseConn:105

0.8240-                Node::GetMetaData:863

0.8245-                    Util::GetDataBaseConn:105

0.8261-                    sql: CALL FetchNodeMeta('4', 'ignore-inherited-stylesheets');

0.8310-                Node::GetMetaData:863

0.8316-                    Util::GetDataBaseConn:105

0.8331-                    sql: CALL FetchNodeMeta('4', 'stylesheet');

0.8393-                sql: CALL FetchNodeParentID('4');

0.8420-                Node::GetMetaData:863

0.8426-                    Util::GetDataBaseConn:105

0.8442-                    sql: CALL FetchNodeMeta('1', 'stylesheet');

0.8511-                sql: CALL FetchNodeParentID('1');

0.8536-                3 computed stylesheets found.

0.8543-            Sekaita::AddComputedStyleSheets:261

0.8549-                Sekaita::AddStyleSheet:271

0.8555-                    Sekaita::GetStylesheetIncludePath:287

0.8564-                Sekaita::AddStyleSheet:271

0.8571-                    Sekaita::GetStylesheetIncludePath:287

0.8579-                Sekaita::AddStyleSheet:271

0.8589-                    Sekaita::GetStylesheetIncludePath:287

0.8599-            Node::GetComputedScripts:637

0.8605-                getting computed scripts for node: 4

0.8610-                Util::GetDataBaseConn:105

0.8617-                Node::GetMetaData:863

0.8623-                    Util::GetDataBaseConn:105

0.8638-                    sql: CALL FetchNodeMeta('4', 'ignore-inherited-scripts');

0.8688-                Node::GetMetaData:863

0.8695-                    Util::GetDataBaseConn:105

0.8710-                    sql: CALL FetchNodeMeta('4', 'script');

0.8766-                sql: CALL FetchNodeParentID('4');

0.8796-                Node::GetMetaData:863

0.8802-                    Util::GetDataBaseConn:105

0.8817-                    sql: CALL FetchNodeMeta('1', 'script');

0.8887-                sql: CALL FetchNodeParentID('1');

0.8913-                2 computed scripts found.

0.8920-            Sekaita::AddComputedScripts:301

0.8926-                Sekaita::AddScript:311

0.8933-                Sekaita::AddScript:311

0.8939-                    Sekaita::GetScriptIncludePath:327

0.8949-            CachedTemplate::FetchCache:166

0.8955-                CachedTemplate::Cached:89

0.8998-                    no cache file

0.9004-                not cached

0.9009-                Template::Fetch:49

0.9056-                cache disabled

0.9063-            CachedTemplate::FetchCache:166

0.9069-                CachedTemplate::Cached:89

0.9109-                    no cache file

0.9115-                not cached

0.9120-                Template::Fetch:49

0.9167-                    Sekaita::Node:176

0.9189-                    Node::GetTitle:362

0.9196-                        Node::GetPropagatedMeta:803

0.9202-                            Util::GetDataBaseConn:105

0.9209-                            Util::GetHostSite:124

0.9216-                            Sekaita::GetRootNodeID:356

0.9224-                            Node::GetMetaData:863

0.9230-                                Util::GetDataBaseConn:105

0.9246-                                sql: CALL FetchNodeMeta('4', 'title-depth');

0.9299-                            Node::GetMetaData:863

0.9305-                                Util::GetDataBaseConn:105

0.9321-                                sql: CALL FetchNodeMeta('4', 'title-depth-inherit');

0.9379-                            sql: CALL FetchNodeParentID('4');

0.9739-                            Node::GetMetaData:863

0.9745-                                Util::GetDataBaseConn:105

0.9761-                                sql: CALL FetchNodeMeta('1', 'title-depth-inherit');

0.9831-                            sql: CALL FetchNodeParentID('1');

0.9861-                    Sekaita::Node:176

0.9868-                    Node::GetContent:681

0.9874-                        Filters::Apply:44

0.9880-                            filter name: GetNodeContent

0.9886-                            processing filter: GetNodeContent, priority: 0

0.9892-                            CodeHighlightWidget::{closure}:226

0.9922-                            processing filter: GetNodeContent, priority: 10

0.9928-                            CodeHighlightWidget::{closure}:251

0.9938-                                CodeHighlightWidget::ImageFilterFunc:58

0.9966-                            processing filter: GetNodeContent, priority: 10

0.9972-                            CodeHighlightWidget::{closure}:263

0.9982-                            processing filter: GetNodeContent, priority: 99

0.9991-                            CodeHighlightWidget::{closure}:238

1.0007-                cache disabled

1.0015-            CachedTemplate::FetchCache:166

1.0020-                CachedTemplate::Cached:89

1.0060-                    no cache file

1.0066-                not cached

1.0071-                Template::Fetch:49

1.0122-                    Sekaita::Node:176

1.0130-                    Node::Debug:1008

1.0135-                        Node::GetMeta:763

1.0141-                            Node::GetMetaData:863

1.0148-                                Util::GetDataBaseConn:105

1.0163-                                sql: CALL FetchNodeMeta('4', 'debug');

1.0220-                    Sekaita::AddStyleSheet:271

1.0227-                        Sekaita::GetStylesheetIncludePath:287