mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-30 03:43:40 +01:00
fix an other CSP error, caused by json-responses send eg. from get_rows method on a GET request, filemanager opened in iframe from tracker
This commit is contained in:
parent
cb35a10b4c
commit
f49bbab26f
@ -216,6 +216,17 @@ class etemplate_new extends etemplate_widget_template
|
|||||||
{
|
{
|
||||||
echo '<div id="popupMainDiv">'."\n";
|
echo '<div id="popupMainDiv">'."\n";
|
||||||
}
|
}
|
||||||
|
// Send any accumulated json responses - after flush to avoid sending the buffer as a response
|
||||||
|
if(egw_json_response::isJSONResponse())
|
||||||
|
{
|
||||||
|
$load_array['response'] = egw_json_response::get()->returnResult();
|
||||||
|
/*$response = egw_json_response::get();
|
||||||
|
echo '<script>egw_LAB.wait(function() {var json = egw.json(); json.handleResponse(';
|
||||||
|
ob_flush();
|
||||||
|
$response->sendResult();
|
||||||
|
unset($response);
|
||||||
|
echo ')});</script>';*/
|
||||||
|
}
|
||||||
echo '<div id="'.$dom_id.'" class="et2_container" data-etemplate="'.html::htmlspecialchars(json_encode($load_array), true).'"></div>';
|
echo '<div id="'.$dom_id.'" class="et2_container" data-etemplate="'.html::htmlspecialchars(json_encode($load_array), true).'"></div>';
|
||||||
|
|
||||||
if ($output_mode == 2)
|
if ($output_mode == 2)
|
||||||
@ -224,17 +235,6 @@ class etemplate_new extends etemplate_widget_template
|
|||||||
echo $GLOBALS['egw']->framework->footer();
|
echo $GLOBALS['egw']->framework->footer();
|
||||||
}
|
}
|
||||||
ob_flush();
|
ob_flush();
|
||||||
|
|
||||||
// Send any accumulated json responses - after flush to avoid sending the buffer as a response
|
|
||||||
if(egw_json_response::isJSONResponse())
|
|
||||||
{
|
|
||||||
$response = egw_json_response::get();
|
|
||||||
echo '<script>egw_LAB.wait(function() {var json = egw.json(); json.handleResponse(';
|
|
||||||
ob_flush();
|
|
||||||
$response->sendResult();
|
|
||||||
unset($response);
|
|
||||||
echo ')});</script>';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
self::$request = null;
|
self::$request = null;
|
||||||
}
|
}
|
||||||
|
@ -284,6 +284,25 @@ class egw_json_response
|
|||||||
$inst->initResponseArray();
|
$inst->initResponseArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return json response data, after running beforeSendDataProcs
|
||||||
|
*
|
||||||
|
* Used to send json response with etemplate data in GET request
|
||||||
|
*
|
||||||
|
* @return array responseArray
|
||||||
|
*/
|
||||||
|
public static function returnResult()
|
||||||
|
{
|
||||||
|
$inst = self::get();
|
||||||
|
|
||||||
|
//Call each attached before send data proc
|
||||||
|
foreach ($inst->beforeSendDataProcs as $proc)
|
||||||
|
{
|
||||||
|
call_user_func_array($proc['proc'], $proc['params']);
|
||||||
|
}
|
||||||
|
return $inst->initResponseArray();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* xAjax compatibility function
|
* xAjax compatibility function
|
||||||
*/
|
*/
|
||||||
|
@ -227,6 +227,11 @@
|
|||||||
}
|
}
|
||||||
var et2 = new etemplate2(node, currentapp+".etemplate_new.ajax_process_content.etemplate");
|
var et2 = new etemplate2(node, currentapp+".etemplate_new.ajax_process_content.etemplate");
|
||||||
et2.load(data.name,data.url,data.data);
|
et2.load(data.name,data.url,data.data);
|
||||||
|
if (typeof data.response != 'undefined')
|
||||||
|
{
|
||||||
|
var json_request = egw(window).json();
|
||||||
|
json_request.handleResponse({response: data.response});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$j(function() {
|
$j(function() {
|
||||||
|
Loading…
Reference in New Issue
Block a user