12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?php
- namespace Drupal\devel\Form;
- use Drupal\Core\Form\FormBase;
- use Drupal\Core\Form\FormStateInterface;
- /**
- * Defines a form that allows privileged users to execute arbitrary PHP code.
- */
- class ExecutePHP extends FormBase {
- /**
- * {@inheritdoc}
- */
- public function getFormId() {
- return 'devel_execute_form';
- }
- /**
- * {@inheritdoc}
- */
- public function buildForm(array $form, FormStateInterface $form_state) {
- $form = array(
- '#title' => $this->t('Execute PHP Code'),
- '#description' => $this->t('Execute some PHP code'),
- );
- $form['execute']['code'] = array(
- '#type' => 'textarea',
- '#title' => t('PHP code to execute'),
- '#description' => t('Enter some code. Do not use <code><?php ?></code> tags.'),
- '#default_value' => (isset($_SESSION['devel_execute_code']) ? $_SESSION['devel_execute_code'] : ''),
- '#rows' => 20,
- );
- $form['execute']['op'] = array('#type' => 'submit', '#value' => t('Execute'));
- $form['#redirect'] = FALSE;
- if (isset($_SESSION['devel_execute_code'])) {
- unset($_SESSION['devel_execute_code']);
- }
- return $form;
- }
- /**
- * {@inheritdoc}
- */
- public function submitForm(array &$form, FormStateInterface $form_state) {
- ob_start();
- $code = $form_state->getValue('code');
- print eval($code);
- $_SESSION['devel_execute_code'] = $code;
- dpm(ob_get_clean());
- }
- }
|