8 header(
'Content-type: text/html; charset='.
$app->_conf[
'oe']);
9 $record =&
$app->getRecord();
10 $query =&
$app->getQuery();
12 if ( isset($_REQUEST[
'-form-id']) ) $formid = $_REQUEST[
'-form-id'];
13 else $formid =
'ajax-form-'.rand();
16 $form_type = @$_REQUEST[
'-form-type'];
19 if ( isset($_REQUEST[
'-fields']) ){
20 $fields = explode(
',', $_REQUEST[
'-fields']);
28 $form = df_create_new_record_form($query[
'-table'],
$fields);
33 $form = df_create_edit_record_form($query[
'-table'],
$fields);
36 case 'new_related_record':
37 $form = df_create_new_related_record_form($record, $query[
'-relationship'],
$fields);
40 case 'existing_related_record':
41 $form = df_create_existing_related_record_form($record, $query[
'-relationship']);
45 import(
'Dataface/CompositeForm.php');
51 @include_once(
'forms/'.$form_type.
'.php');
52 if ( !class_exists(
'forms_'.$form_type) ){
55 $classname =
'forms_'.$form_type;
56 $form =
new $classname(
$fields);
63 $form->updateAttributes(array(
'target'=>$formid.
'-target',
'accept-charset'=>
$app->_conf[
'ie']));
64 $formparams = preg_grep(
'/^-[^\-].*/', array_keys($query));
65 foreach ( $formparams as $param){
66 $form->addElement(
'hidden',$param);
67 $form->setDefaults(array($param=>$query[$param]));
69 $form->addElement(
'hidden',
'-form-id');
70 $form->setDefaults(array(
'-form-id'=>$formid));
73 if ( $form->validate() ){
79 $app->clearMessages();
80 $result = $form->process( array( &$form,
'save') );
104 import(
'Dataface/Utilities.php');
107 $msg = implode(
"\n",
$app->getMessages());
112 'Record successfully saved',
114 "Record successfully saved.<br>"
123 $targetid = @$_REQUEST[
'-target-id'];
131 if ( method_exists($form,
'htmlValues') ){
132 if ( method_exists($form,
'changedFields') ){
133 $changed_fields = $form->changedFields();
135 $changed_fields = null;
139 $changed_values = $form->htmlValues($changed_fields);
140 import(
'Services/JSON.php');
141 $json =
new Services_JSON();
142 $changed_values_json = $json->encode($changed_values);
145 $changed_values_json =
'{}';
149 <html><body><script language=
"javascript"><!--
153 var targetel = parent.document.getElementById(
'$targetid');
154 targetel.handleResponse(
'$targetid', $changed_values_json);
155 targetel.onclick=parent.makeEditable;
156 targetel.onmouseover=targetel.old_onmouseover;
157 targetel.edit_form.parentNode.removeChild(targetel.edit_form);
169 import(
'Dataface/FormTool.php');
175 $singleField =
false;
177 $formTool->display($form, null, $singleField);
178 $out = ob_get_contents();
183 <div
id=
"{$formid}-wrapper">
184 <iframe
id=
"{$formid}-target" name=
"{$formid}-target" style=
"width:0px; height:0px; border: 0px"></iframe>
188 if ($form->isSubmitted()){
194 <script language=
"javascript"><!--
195 var targetel = parent.document.getElementById(
'{$formid}-wrapper');
196 var sourceel = document.getElementById(
'{$formid}-wrapper');
197 targetel.innerHTML = sourceel.innerHTML;