|
@@ -12,7 +12,7 @@
|
|
* @package QBF
|
|
* @package QBF
|
|
*/
|
|
*/
|
|
|
|
|
|
-// $Id: qbf.module,v 1.9.4.4 2009-03-19 17:30:24 marand Exp $
|
|
|
|
|
|
+// $Id: qbf.module,v 1.9.4.5 2009-03-20 10:00:39 marand Exp $
|
|
|
|
|
|
/**
|
|
/**
|
|
* Saved error reporting level.
|
|
* Saved error reporting level.
|
|
@@ -672,14 +672,11 @@ function qbf___________________________________________________(){}
|
|
/**
|
|
/**
|
|
* Transform a form array for QBF.
|
|
* Transform a form array for QBF.
|
|
*
|
|
*
|
|
- * This function obtains the form array using Forms API, and transforms it by
|
|
|
|
- * modifying widgets to other types where needed.
|
|
|
|
|
|
+ * This function obtains the form array from the hook_form() implementation, and
|
|
|
|
+ * transforms it by modifying widgets to other types where needed.
|
|
*
|
|
*
|
|
- * Any additional parameter passed to the function is transmitted to the form
|
|
|
|
- * generating function.
|
|
|
|
- *
|
|
|
|
- * $form_state is generally not used, but is passed in to match the usual FAPI
|
|
|
|
- * signatures in Drupal 6.
|
|
|
|
|
|
+ * Any additional parameter passed to the function is transmitted to the
|
|
|
|
+ * hook_form() implementation.
|
|
*
|
|
*
|
|
* @ingroup forms
|
|
* @ingroup forms
|
|
* @param string $form_id
|
|
* @param string $form_id
|
|
@@ -783,40 +780,6 @@ function qbf_import_values($element, $form_values) {
|
|
return $element;
|
|
return $element;
|
|
}
|
|
}
|
|
|
|
|
|
-/**
|
|
|
|
- * Submit handler for query save form.
|
|
|
|
- *
|
|
|
|
- * @ingroup forms
|
|
|
|
- * @param $form_id string
|
|
|
|
- * @param $form_values array
|
|
|
|
- * @return string
|
|
|
|
- */
|
|
|
|
-function qbf_submit($form_id, $form_values) {
|
|
|
|
-/*
|
|
|
|
-
|
|
|
|
-function qbf_submit($form, &$form_state) {
|
|
|
|
-/* @TODO GW The 'op' element in the form values is deprecated.
|
|
|
|
- Each button can have #validate and #submit functions associated with it.
|
|
|
|
- Thus, there should be one button that submits the form and which invokes
|
|
|
|
- the normal form_id_validate and form_id_submit handlers. Any additional
|
|
|
|
- buttons which need to invoke different validate or submit functionality
|
|
|
|
- should have button-specific functions.
|
|
|
|
- switch ($form_state['values']['op']) { */
|
|
|
|
-
|
|
|
|
- switch ($form_values['op']) {
|
|
|
|
- case t('Search'):
|
|
|
|
- $ret = FALSE;
|
|
|
|
- break;
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- //dsm(array('QS' => $form_values));
|
|
|
|
- return $ret;
|
|
|
|
-/* @todo GW
|
|
|
|
- //dsm(array('QS' => $form_state['values']));
|
|
|
|
- $form_state['redirect'] = $ret;
|
|
|
|
-*/
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Save a query and return its qid.
|
|
* Save a query and return its qid.
|
|
*
|
|
*
|
|
@@ -844,9 +807,9 @@ function _qbf_save($form_id, $form_state)
|
|
// dsm($form, "prepare");
|
|
// dsm($form, "prepare");
|
|
$name = $form_state['values']['qbf_save_name'];
|
|
$name = $form_state['values']['qbf_save_name'];
|
|
$type = $form_state['values']['qbf_save_type'];
|
|
$type = $form_state['values']['qbf_save_type'];
|
|
- dsm($form_state);
|
|
|
|
|
|
+ // dsm($form_state);
|
|
$form_values = _qbf_extract_query($form, $form_state['values']);
|
|
$form_values = _qbf_extract_query($form, $form_state['values']);
|
|
- dsm($form_values);
|
|
|
|
|
|
+ // dsm($form_values);
|
|
$ar_values = array();
|
|
$ar_values = array();
|
|
foreach ($form_values as $key => $value)
|
|
foreach ($form_values as $key => $value)
|
|
{
|
|
{
|
|
@@ -878,31 +841,71 @@ function _qbf_save($form_id, $form_state)
|
|
function qbf_form($form_state, $form_id, $qbf_form_id, $save_type)
|
|
function qbf_form($form_state, $form_id, $qbf_form_id, $save_type)
|
|
{
|
|
{
|
|
// dsm(array("QBF_Form" => "Base = [$form_id], QBF ID = [$qbf_form_id]", 'save_type' => $save_type));
|
|
// dsm(array("QBF_Form" => "Base = [$form_id], QBF ID = [$qbf_form_id]", 'save_type' => $save_type));
|
|
|
|
+ // dsm($form_state);
|
|
|
|
|
|
- $form = array();
|
|
|
|
-// $form['#validate'][] = 'qbf_form_validate';
|
|
|
|
-// $form['#submit'][] = 'qbf_form_submit';
|
|
|
|
|
|
+ // Fetch the basic form and rename it, passing it the previous values
|
|
|
|
+ $node = new stdClass();
|
|
|
|
+ $form = $form_id($node, $form_state);
|
|
|
|
+
|
|
|
|
+ $qbf_form = array();
|
|
|
|
+ $qbf_form['#qbf_source_form_id'] = $form_id;
|
|
|
|
+ // On the form element itselfn only keep the QBF properties and the children
|
|
|
|
+ if (in_array('#qbf', element_properties($form)))
|
|
|
|
+ {
|
|
|
|
+ $qbf_form += $form['#qbf'];
|
|
|
|
+ }
|
|
|
|
|
|
- $form['qbf'] = array
|
|
|
|
|
|
+ foreach (element_children($form) as $key)
|
|
|
|
+ {
|
|
|
|
+ // dsm("Transforming $key, type " . $form[$key]['#type']);
|
|
|
|
+ $new_element = _qbf_transform_element($key, $form[$key], $form_state);
|
|
|
|
+ if (!is_null($new_element))
|
|
|
|
+ {
|
|
|
|
+ $qbf_form[$key] = $new_element;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $qbf_form['#id'] = $qbf_form_id;
|
|
|
|
+
|
|
|
|
+// $qbf_form['#after_build'][] = 'qbf_after_build';
|
|
|
|
+// $qbf_form['#validate'][] = 'qbf_form_validate';
|
|
|
|
+ $qbf_form['#submit'] = array('qbf_form_submit');
|
|
|
|
+ // dsm($qbf_form);
|
|
|
|
+
|
|
|
|
+ $qbf_form['qbf'] = array
|
|
(
|
|
(
|
|
'#type' => 'fieldset',
|
|
'#type' => 'fieldset',
|
|
'#title' => t('Query'),
|
|
'#title' => t('Query'),
|
|
);
|
|
);
|
|
|
|
+ if (isset($form_state['values']) && !empty($form_state['values']))
|
|
|
|
+ {
|
|
|
|
+ dsm(array("QBF form: we must restore these values" => $form_state['values']));
|
|
|
|
+ if (isset($form_state['qbf_results']))
|
|
|
|
+ {
|
|
|
|
+ $qbf_form['qbf']['qbf_results'] = array
|
|
|
|
+ (
|
|
|
|
+ '#type' => 'markup',
|
|
|
|
+ '#prefix' => '<p>',
|
|
|
|
+ '#value' => $form_state['qbf_results'],
|
|
|
|
+ '#suffix' => '</p>',
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
- $form['qbf']['qbf_save_type'] = array
|
|
|
|
|
|
+ $qbf_form['qbf']['qbf_save_type'] = array
|
|
(
|
|
(
|
|
'#type' => 'hidden',
|
|
'#type' => 'hidden',
|
|
'#value' => $save_type,
|
|
'#value' => $save_type,
|
|
);
|
|
);
|
|
|
|
|
|
- $form['qbf']['qbf_save_name'] = array
|
|
|
|
|
|
+ $qbf_form['qbf']['qbf_save_name'] = array
|
|
(
|
|
(
|
|
'#title' => t('Name of query in your save list'),
|
|
'#title' => t('Name of query in your save list'),
|
|
'#type' => 'textfield',
|
|
'#type' => 'textfield',
|
|
'#required' => TRUE,
|
|
'#required' => TRUE,
|
|
'#default_value' => substr($form_id, 0, -5) . ' ' . format_date(time(), 'large'),
|
|
'#default_value' => substr($form_id, 0, -5) . ' ' . format_date(time(), 'large'),
|
|
);
|
|
);
|
|
- $form['qbf']['qbf_save'] = array
|
|
|
|
|
|
+ $qbf_form['qbf']['qbf_save'] = array
|
|
(
|
|
(
|
|
'#submit' => array('qbf_form_save_submit'),
|
|
'#submit' => array('qbf_form_save_submit'),
|
|
'#validate' => array('qbf_form_save_validate'),
|
|
'#validate' => array('qbf_form_save_validate'),
|
|
@@ -911,16 +914,16 @@ function qbf_form($form_state, $form_id, $qbf_form_id, $save_type)
|
|
'#weight' => 5,
|
|
'#weight' => 5,
|
|
);
|
|
);
|
|
|
|
|
|
- $form['qbf']['qbf_perform'] = array
|
|
|
|
|
|
+ $qbf_form['qbf']['qbf_perform'] = array
|
|
(
|
|
(
|
|
'#submit' => array('qbf_form_perform_submit'),
|
|
'#submit' => array('qbf_form_perform_submit'),
|
|
- '#validate' => array('qbf_form_perform_validate'),
|
|
|
|
|
|
+ // '#validate' => array('qbf_form_perform_validate'),
|
|
'#type' => 'submit',
|
|
'#type' => 'submit',
|
|
'#value' => t('Perform query'),
|
|
'#value' => t('Perform query'),
|
|
'#weight' => 4,
|
|
'#weight' => 4,
|
|
);
|
|
);
|
|
|
|
|
|
- return $form;
|
|
|
|
|
|
+ return $qbf_form;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -932,8 +935,10 @@ function qbf_form($form_state, $form_id, $qbf_form_id, $save_type)
|
|
function qbf_form_perform_submit($form, &$form_state)
|
|
function qbf_form_perform_submit($form, &$form_state)
|
|
{
|
|
{
|
|
dsm('PERF SUB');
|
|
dsm('PERF SUB');
|
|
- dsm($form);
|
|
|
|
|
|
+ //dsm($form);
|
|
dsm($form_state);
|
|
dsm($form_state);
|
|
|
|
+ $form_state['qbf_results'] = "Les résultats sont là";
|
|
|
|
+ $form_state['rebuild'] = TRUE;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -945,20 +950,20 @@ function qbf_form_perform_submit($form, &$form_state)
|
|
function qbf_form_perform_validate($form, &$form_state)
|
|
function qbf_form_perform_validate($form, &$form_state)
|
|
{
|
|
{
|
|
dsm('PERF VAL');
|
|
dsm('PERF VAL');
|
|
- dsm($form);
|
|
|
|
|
|
+ //dsm($form);
|
|
dsm($form_state);
|
|
dsm($form_state);
|
|
}
|
|
}
|
|
|
|
|
|
function qbf_form_submit($form, &$form_state)
|
|
function qbf_form_submit($form, &$form_state)
|
|
{
|
|
{
|
|
dsm('FORM SUB');
|
|
dsm('FORM SUB');
|
|
- dsm($form);
|
|
|
|
|
|
+ //dsm($form);
|
|
dsm($form_state);
|
|
dsm($form_state);
|
|
}
|
|
}
|
|
|
|
|
|
function qbf_form_validate($form, &$form_state)
|
|
function qbf_form_validate($form, &$form_state)
|
|
{
|
|
{
|
|
dsm('FORM VAL');
|
|
dsm('FORM VAL');
|
|
- dsm($form);
|
|
|
|
|
|
+ //dsm($form);
|
|
dsm($form_state);
|
|
dsm($form_state);
|
|
}
|
|
}
|