function ConvertOutputAjaxlib($responses) { //$depmgr = DependencyManager::singleton(); $ret = array(); if (!empty($responses)) { foreach ($responses as $name => $response) { if (is_array($response)) { foreach ($response as $respname => $respval) { $responseobj = array("type" => "{$name}", "name" => $respname); switch ($name) { case "data": $responseobj["_content"] = json_encode($respval); break; default: $responseobj["_content"] = (string) $respval; } $ret[] = $responseobj; } } else { if ($response instanceof AjaxlibResponse) { $responseobj = $response->flatten(array("target" => $name)); } else { $responseobj = array("type" => "xhtml", "target" => $name); $responseobj["_content"] = (string) $response; } $ret[] = $responseobj; } } } $dependencies = DependencyManager::get(); foreach ($dependencies as $prio => $browsers) { foreach ($browsers as $browser => $deptypes) { foreach ($deptypes as $deptype => $deps) { if ($deptype != "jstemplate") { // FIXME - for some reason jstemplate dependencies in AJAX responses cause all hell to break loose...they're not used yet anyway foreach ($deps as $depid => $dep) { // jesus $depobj = object_to_array($dep); $depobj["deptype"] = $depobj["type"]; $depobj["type"] = "dependency"; $ret[] = $depobj; } } } } } $user = User::singleton(); global $webapp; if (!empty($webapp->debug) && ($user->HasRole("DEBUG") || $user->HasRole("ADMIN") || $user->HasRole("QA"))) { //$ret[] = array("type" => "debug", "_content" => Logger::Display(E_ALL)); $ret[] = array("type" => "debug", "_content" => "\n[[debug]]\n"); } return $ret; }