Details
-
Bug
-
Resolution: Unresolved
-
High
-
None
-
5.4.6
-
None
Description
eZINI:instance seems bugged when $rootDir parameter is used
The 7th parameter ($addArrayDefinition) passed to this method is marked as deprecated since 4.5, but in 5.4 we are able to verify that setting it largely changes the way in which $rootDir parameter is handled.
Consider the following example
- In an updated installation of eZPublish 5.4, with demo content, setup SiteURL in ezdemo_site_user and ezdemo_site_admin, so that each siteaccess has it's own siteURL
- Create a script and place it in ezplublish_legacy/bin/php
<?php require_once 'autoload.php'; $helper = new eZCacheHelper( $cli = eZCLI::instance(), $script = eZScript::instance( array( 'description' => "Tester for legacy CS\n" . "./bin/php/initester.phpt", 'use-session' => false, 'use-modules' => false, 'use-extensions' => true ) ) ); $script->startup(); $script->initialize(); $ini = eZINI::instance( 'site.ini', 'settings/siteaccess/ezdemo_site_user'); $param = $ini->variable('SiteSettings', 'SiteURL'); $cli->output( "SiteURL: $param" ); $ini = eZINI::instance( 'site.ini.append.php', 'settings/siteaccess/ezdemo_site_user'); $param = $ini->variable('SiteSettings', 'SiteURL'); $cli->output( "SiteURL: $param" ); $ini = eZINI::instance( 'site.ini', 'settings/siteaccess/ezdemo_site_user', null, null, false, true ); $param = $ini->variable('SiteSettings', 'SiteURL'); $cli->output( "SiteURL: $param" ); $ini = eZINI::instance( 'site.ini.append.php', 'settings/siteaccess/ezdemo_site_user', null, null, false, true ); $param = $ini->variable('SiteSettings', 'SiteURL'); $cli->output( "SiteURL: $param" ); $ini = eZINI::instance( 'site.ini', 'settings/siteaccess/ezdemo_site_user', null, null, false, false ); $param = $ini->variable('SiteSettings', 'SiteURL'); $cli->output( "SiteURL: $param" ); $ini = eZINI::instance( 'site.ini.append.php', 'settings/siteaccess/ezdemo_site_user', null, null, false, false ); $param = $ini->variable('SiteSettings', 'SiteURL'); $cli->output( "SiteURL: $param" ); $cli->output( 'execution done' ); $script->shutdown();
Execute the script, from EZROOT, with the following command
php ezpublish/console --env=prod --siteaccess=ezdemo_site_admin ezpublish:legacy:script bin/php/initester.php
The expected result would be to see the SiteURL defined for ezdemo_site_user outputted in all cases, but when $addArrayDefinition is left as false (default value), $fileName needs to be set to site.ini.append.php in order for the proper value to be assumed. (otherwise value from default eng siteaccess is echoed