summaryrefslogtreecommitdiffstats
path: root/handlers/phpexec.inc.php
blob: 2c1f7b49d7a25c42e7361f19cc75c79311fd0e5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?PHP
  include('code/message.inc.php');
  include('code/links.inc.php');
  
  class phpexec_handler {
    function Get($data) {
      if($data['title'])
        $title = strtr($data['title'], array('<' => '&lt;', '>' => '&gt;', '&' => '&amp;', '"' => '&quot;'));
      else
        $title = strtr($data['_page'], array(':' => ' - '));
      
      ob_start();
      
      eval('?>' . $data['code']);
      
      $content = ob_get_contents();
      ob_end_clean();
      
      return array('title' => $title, 'content' => $content);
    }
    
    function Add() {
      $title = 'Add page';
      
      $content = '<form method="post" action="' . $GLOBALS['links']->GetNeonLink('Pages:Add') . '">';
      $content .= '<input type="hidden" name="handler" value="' . $_POST['handler'] . '" />';
      $content .= 'Name: ';
      $content .= '<input type="text" name="name" size="70" /><br />';
      $content .= '<textarea name="code" class="pageedit pageedit_input" rows="25" cols="70">';
      $content .= '</textarea><br />';
      $content .= '<input type="submit" class="submit" value="Hinzufügen" /> ';
      $content .= '<input type="submit" name="back" class="submit" value="Zurück" />';
      $content .= '</form>';
      
      return array('title' => $title, 'content' => $content);
    }
    
    function Edit($data) {
      $title = 'Edit \'' . $data['_page'] . '\'';
      
      $content = '<form method="post" action="' . $GLOBALS['links']->GetNeonLink('Pages:Edit') . '">';
      $content .= '<input type="hidden" name="id" value="' . $_POST['id'] . '" />';
      $content .= '<textarea name="code" class="pageedit pageedit_input" rows="25" cols="70">';
      $content .= strtr($data['code'], array('<' => '&lt;', '>' => '&gt;', '&' => '&amp;', '"' => '&quot;'));
      $content .= '</textarea><br />';
      $content .= '<input type="submit" class="submit" value="Änderungen übernehmen" /> ';
      $content .= '<input type="submit" name="back" class="submit" value="Zurück" />';
      $content .= '</form>';
      
      return array('title' => $title, 'content' => $content);
    }
    
    function ErrorMessage($type, $data = array()) {
      return array('content' => '<span class="error">' . Message($type, $data) . '</span>', 'title' => Message('error'));
    }
  }
  
  $handlers['phpexec'] = new phpexec_handler;
?>