forked from extern/egroupware
Add method to handle POST submits outside of ajax framework
This commit is contained in:
parent
ea838035b6
commit
3af88b3f6e
@ -46,6 +46,13 @@ class etemplate_new extends etemplate_widget_template
|
|||||||
*/
|
*/
|
||||||
public $sitemgr=false;
|
public $sitemgr=false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tell egw framework it's ok to call this
|
||||||
|
*/
|
||||||
|
public $public_functions = array(
|
||||||
|
'ajax_post_process' => true
|
||||||
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* constructor of etemplate class, reads an eTemplate if $name is given
|
* constructor of etemplate class, reads an eTemplate if $name is given
|
||||||
*
|
*
|
||||||
@ -209,7 +216,35 @@ class etemplate_new extends etemplate_widget_template
|
|||||||
self::$response->generic('et2_validation_error', self::$validation_errors);
|
self::$response->generic('et2_validation_error', self::$validation_errors);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
error_log(__METHOD__."(,".array2string($content).') validated='.array2string($validated));
|
error_log(__METHOD__."(,".array2string($content).')');
|
||||||
|
error_log(' validated='.array2string($validated));
|
||||||
|
|
||||||
|
return ExecMethod(self::$request->method, self::complete_array_merge(self::$request->preserv, $validated));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Process via POST submitted content
|
||||||
|
*/
|
||||||
|
static public function ajax_process_post()
|
||||||
|
{
|
||||||
|
self::$request = etemplate_request::read($_POST['etemplate_exec_id']);
|
||||||
|
if (get_magic_quotes_gpc()) $_POST['value'] = stripslashes($_POST['value']);
|
||||||
|
$content = json_decode($_POST['value'],true);
|
||||||
|
|
||||||
|
if (!($template = self::instance(self::$request->template['name'], self::$request->template['template_set'],
|
||||||
|
self::$request->template['version'], self::$request->template['load_via'])))
|
||||||
|
{
|
||||||
|
throw new egw_exception_wrong_parameter('Can NOT read template '.array2string(self::$request->template));
|
||||||
|
}
|
||||||
|
$validated = array();
|
||||||
|
$template->run('validate', array('', $content, &$validated), true); // $respect_disabled=true: do NOT validate disabled widgets and children
|
||||||
|
if (self::validation_errors(self::$request->ignore_validation))
|
||||||
|
{
|
||||||
|
error_log(__METHOD__."(,".array2string($content).') validation_errors='.array2string(self::$validation_errors));
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
error_log(__METHOD__."(,".array2string($content).')');
|
||||||
|
error_log(' validated='.array2string($validated));
|
||||||
|
|
||||||
return ExecMethod(self::$request->method, self::complete_array_merge(self::$request->preserv, $validated));
|
return ExecMethod(self::$request->method, self::complete_array_merge(self::$request->preserv, $validated));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user