Search

I noticed that the Profile Devkit extension is not working properly (which means it is actually missing a lot of parameter/value pairs) on two of my websites. These websites happen to be the most complicated ones.

The problem I experience is connected to line 28 of content.profile.php. This line is:

$this->_profiler = Frontend::instance()->Profiler;

A long time ago it used to be:

$this->_profiler = $this->_page->_Parent->Profiler;

The strange thing is: The old (deprecated) version to get the profiler array is working perfectly, while the new one does not.

Doing a var_dump (or print_r) on both versions I see that indeed the _profiler array is missing a lot of information (i.e. profiler arrays) if I use the new Frontend::instance() syntax.

I hope that someone has any ideas concerning this issue.

BTW. This is Symphony 2.1.2, of course.

I discovered the exact opposite a while back — when using the _Parent syntax it was under-reporting. I believe this is a deeper problem with the old _Parent syntax whereby the _Parent object is actually a different object than the static X:instance() class. Many of the _Parent references in the core have been replaced with the cleaner alternatives, but some extensions that still use _Parent may be causing things to go awry.

So I should search for extensions which still use the deprecated syntax? Can it be they somehow break the instance object?

I found the extension which breaks the whole thing: It’s the Section Schemas extension. No joke, and I really have no idea why. But I swear that if I uninstall it (and remove it from the extensions folder), everything works as intended. (And yes, it is the latest version.)

And here we go… The problem is in line 4 of extension.driver.php:

require_once(CORE . '/class.administration.php');

If I comment this line out, everything’s fine.

Ooops, sorry Michael!

Annoyingly I added this into the code because Section Schemas invokes field functions in the frontend that were only originally intended to be invoked from the backend, therefore I have to include Administration otherwise some fields give a fatal PHP error.

How now I’ve added the “incompatible” list, I would think this require_once can be safely removed.

So you will roll out version 1.5? (I don’t like hacked extensions…potential chaos…)

Thak you, Nick, for 1.5. Case closed.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details