Tuesday 24 January 2006 3:31:18 am
I'm still trying to resolve this error, and have gotten a bit further. I've moved the entire site to a new server, and done a fresh eZ install with the same DB. This still produces the same error, which leads me to the conclusion that the error is in the DB. In fair of having to look through our DB with 3 million records for errors, I'm trying to track down which part of the DB is corrupted. My theory is that eZ some place along the way replaces the actual module with the 'ee' module, by fetching something from the DB. The error seems to appear somewhere in the EZURLALIAS_CACHE_FUNCTION in the translateByWildcard function in kernel/classes/ezurlalias.php:
(partial code, starts around line 580-590)
if ( function_exists( EZURLALIAS_CACHE_FUNCTION ) )
{
$hasCache = true;
$function = EZURLALIAS_CACHE_FUNCTION;
$hasTranslated = false;
$url = false;
$ini =& eZINI::instance();
$maxIterationCount = $ini->variable( 'URLTranslator', 'MaximumWildcardIterations' );
$iteration = 0;
## At this point, $uriString is correct, "user/login"
while ( $function( $uriString, $urlAlias ) )
{
## Here the $uriString is output as "ee/user/login". For each iteriation in this while-loop, it adds another ee, resulting in "ee/ee/ee/ee/ee/ee/ee/ee/ee/ee/ee/ee/ee/ee/ee/ee/ee/ee/ee/ee/user/login" after 19 iteriations.
The ezurlalias_cache_function is defined in the beginning of the file:
define( 'EZURLALIAS_CACHE_FUNCTION', 'eZURLAliasWilcardTranslate' );
My problem now is that I can't seem to find any other reference to the ezURLAliasWilcardTranslate, and thus can't track the problem further. I can't find any docs on it either. I've noticed that it says Wilcard (and not wildcard), but grep'ing for wildcard doesn't bring me any further.. So, any pointers on where to find docs, or to what could possibly be wrong in my DB, would be greatly appriciated! Can anyone help? :) Eivind
|