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()); }