Index: devel.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/devel/devel.module,v
retrieving revision 1.412
diff -u -r1.412 devel.module
--- devel.module 28 Mar 2010 15:11:33 -0000 1.412
+++ devel.module 3 Apr 2010 09:57:59 -0000
@@ -659,8 +659,7 @@
case 'execute_php':
if (user_access('execute php code')) {
- $block['subject'] = t('Execute PHP');
- $block['content'] = drupal_get_form('devel_execute_form');
+ $block['content'] = drupal_get_form('devel_execute_block_form');
}
break;
}
@@ -1030,15 +1029,30 @@
/**
* Generates the execute block form.
*/
+function devel_execute_block_form() {
+ $form['execute'] = array(
+ '#type' => 'fieldset',
+ '#title' => t('Execute PHP Code'),
+ '#collapsible' => TRUE,
+ '#collapsed' => (!isset($_SESSION['devel_code'])),
+ );
+ $form['#submit'] = array('devel_execute_form_submit');
+ return array_merge_recursive($form, devel_execute_form());
+}
+
+/**
+ * Generates the execute form.
+ */
function devel_execute_form() {
- $form['code'] = array(
+ $form['execute']['code'] = array(
'#type' => 'textarea',
'#title' => t('PHP code to execute'),
- '#description' => t('Enter some code. Do not use <?php ?> tags.')
+ '#description' => t('Enter some code. Do not use <?php ?> tags.'),
+ '#default_value' => (isset($_SESSION['devel_code']) ? $_SESSION['devel_code'] : ''),
);
- $form['op'] = array('#type' => 'submit', '#value' => t('Execute'));
+ $form['execute']['op'] = array('#type' => 'submit', '#value' => t('Execute'));
$form['#redirect'] = FALSE;
- $form['#skip_duplicate_check'] = TRUE;
+ unset($_SESSION['devel_code']);
return $form;
}
@@ -1048,6 +1062,7 @@
function devel_execute_form_submit($form, &$form_state) {
ob_start();
print eval($form_state['values']['code']);
+ $_SESSION['devel_code'] = $form_state['values']['code'];
dsm(ob_get_clean());
}