Mantis - Quercus
Viewing Issue Advanced Details
533 minor always 12-21-05 01:13 04-06-06 13:57
bago  
 
normal  
closed  
fixed  
none    
none 3.0.18  
0000533: array_merge_recursive function is not implemented
http://www.php.net/array_merge_recursive [^]
php Workaround (this supports objects too):

if (!function_exists('array_merge_recursive')) {
    function array_merge_recursive($paArray1, $paArray2)
{
   if(is_array($paArray2))
   {
       foreach ($paArray2 AS $sKey2 => $sValue2)
       {
           $paArray1[$sKey2] = array_merge_recursive(@$paArray1[$sKey2], $sValue2);
       }
   }
   elseif(is_object($paArray2))
   {
       foreach ($paArray2 AS $sKey2 => $sValue2)
       {
             $paArray1->{$sKey2} = array_merge_recursive(@$paArray1->{$sKey2}, $sValue2);
       }
   } else {
         return $paArray2;
   }
   return $paArray1;
}
}

Notes
(0000594)
ferg   
12-28-05 11:58   
php/173a
(0000618)
bago   
12-31-05 05:17   
I see the method has been implemented but trying to call it from a php page still output this error:

com.caucho.quercus.QuercusRuntimeException: 'array_merge_recursive' is
an unknown function.
    at com.caucho.quercus.env.Env.error(Env.java:2281)
    at com.caucho.quercus.env.Env.errorException(Env.java:2134)
    at com.caucho.quercus.env.Env.getFunction(Env.java:1267)
    at _quercus._includes._form__inc.fun__element_info(_form__inc.java:1461)
    at _quercus._includes._form__inc.fun_drupal_get_form(_form__inc.java:349)
    at _quercus._includes._form__inc$9.eval(_form__inc.java:405)
    at com.caucho.quercus.program.CompiledFunction_3.eval(CompiledFunction_3.java:104)
    at com.caucho.quercus.program.AbstractFunction.eval(AbstractFunction.java:211)
    at _quercus._modules._user__module.fun_user_pass(_user__module.java:385)
    at _quercus._modules._user__module$8.eval(_user__module.java:393)
    at com.caucho.quercus.program.CompiledFunction_0.eval(CompiledFunction_0.java:86)
    at com.caucho.quercus.env.CallbackFunction.eval(CallbackFunction.java:129)
    at com.caucho.quercus.lib.QuercusFunctionModule.call_user_func_array(QuercusFunctionModule.java:82)
    at _quercus._includes._menu__inc.fun_menu_execute_active_handler(_menu__inc.java:1195)
    at _quercus._includes._menu__inc$25.eval(_menu__inc.java:1203)
    at _quercus._index__php.execute(_index__php.java:64)
    at com.caucho.quercus.page.PhpPage.executeTop(PhpPage.java:116)
    at com.caucho.quercus.servlet.QuercusServlet.service(QuercusServlet.java:194)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
    at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106)
    at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:267)
    at com.caucho.server.port.TcpConnection.run(TcpConnection.java:388)
    at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:490)
    at com.caucho.util.ThreadPool.run(ThreadPool.java:423)
    at java.lang.Thread.run(Thread.java:595)
(0000621)
bago   
12-31-05 06:38   
I deleted all the generated classes and now it worked fine!
Maybe you should add a quercus version check to the compiled class so that when a new version of quercus is uploaded the old generated classes are automatically deleted.