retrieve($_REQUEST['record']);
$all_fields = array_merge($focus->column_fields,$focus->additional_column_fields);
$obj = array();
$ret = array();
foreach($all_fields as $field) {
if(isset($focus->$field)) {
$obj[$field] = $focus->$field;
}
}
// cn: bug 12274 - defend against CSRF
$ret['fields'] = $obj;
print $json->encode($ret, true);
}
function json_get_full_list() {
global $beanFiles;
global $beanList;
require_once('include/utils.php');
require_once($beanFiles[$beanList[$_REQUEST['module']]]);
$json = getJSONobj();
$where = str_replace('\\','', rawurldecode($_REQUEST['where']));
$order = str_replace('\\','', rawurldecode($_REQUEST['order']));
$focus = new $beanList[$_REQUEST['module']];
$fullList = $focus->get_full_list($order, $where, '');
$all_fields = array_merge($focus->column_fields,$focus->additional_column_fields);
$js_fields_arr = array();
$i=1; // js doesn't like 0 index?
foreach($fullList as $note) {
$js_fields_arr[$i] = array();
foreach($all_fields as $field) {
if(isset($note->$field)) {
$note->$field = from_html($note->$field);
$note->$field = preg_replace('/\r\n/','
',$note->$field);
$note->$field = preg_replace('/\n/','
',$note->$field);
$js_fields_arr[$i][$field] = addslashes($note->$field);
}
}
$i++;
}
$out = $json->encode($js_fields_arr, true);
print($out);
}
//// END HELPER FUNCTIONS
///////////////////////////////////////////////////////////////////////////////
// called from another file
$GLOBALS['log'] = LoggerManager::getLogger('json.php');
$supported_functions = array('retrieve','get_full_list');
if(in_array($_REQUEST['action'],$supported_functions)) {
call_user_func('json_'.$_REQUEST['action']);
}
?>