Example #1
0
 public function index()
 {
     global $conf;
     $categoryId = intval($_GET['category']);
     $self = MODUL_SELF . '&category=' . $categoryId;
     // upload files
     if (isset($_FILES['file']) && isset($_POST['category'])) {
         $file = $_FILES['file'];
         $category = intval($_POST['category']);
         if (!$file['name'] && !$file['tmp_name']) {
             $this->view->error('Es muss eine Datei für den Upload ausgewählt werden!');
         } elseif (!$category) {
             $this->view->error('Es muss eine Kategorie für den Upload ausgewählt werden!');
         } else {
             // May be restricted by modul rights later
             $types = array('png', 'jpg', 'jpeg', 'gif');
             $fileClass = new upload_attachment($file);
             $fileClass->restrictFileSize(1024 * 1024 * 2)->restrictType($types);
             $fileClass->attach('media', $category);
             $fileClass->save(self::UPLOAD_DIR . 'upload_' . uniqid());
             $this->view->success('Upload erfolgreich!');
         }
     }
     // move files
     if (isset($_GET['move']) && $categoryId) {
         upload_list::move($_GET['move'], $categoryId);
         throw new redirect($self);
     }
     // delete file hook
     if (isset($_GET['deleteImg'])) {
         $img = db()->t('content_upload')->row((int) $_GET['deleteImg'])->assoc();
         upload_list::delete($img['id']);
         $writer = new writer_fs();
         $writer->delete($img['path']);
         $this->view->success('Datei erfolgreich gelöscht!');
     }
     // category data controller
     $rc = new data_controller('content_upload_category', $self);
     $rc->add('id', 'ID', 1, 0, 0, 0);
     $rc->add('name', 'Name');
     // edit category form
     if ($_GET['edit']) {
         $this->view->content($rc->get_edit($_GET['edit']));
         $this->view->format = 'plain';
         return;
     }
     // delete hook
     if (isset($_GET['delete'])) {
         $list = new upload_list('media');
         if ($list->get($_GET['delete'])->num_rows()) {
             $this->view->error('Die Kategorie kann nicht gelöscht werden, da sie noch Dateien enthält!');
             $run = false;
         } else {
             $run = true;
         }
     } else {
         $run = true;
     }
     // run category actions
     if ($run && $rc->run()) {
         throw new redirect($self);
     }
     // upload form
     $uploadForm = new form_renderer($self, 'Hochladen');
     $uploadForm->select('category', 'Kategorie', array(0 => "Bitte Wählen") + db()->t('content_upload_category')->get(1)->relate(), $categoryId);
     $uploadForm->upload('file', 'Datei');
     $error = false;
     $data = array();
     // filter files by category
     if ($_GET['category'] > 0) {
         $list = new upload_list('media');
         $data = $list->get($categoryId);
         if (!$data->num_rows()) {
             $error = 'Keine Ergebnisse!';
         }
     } else {
         $error = "Keine Ergebnisse!";
     }
     // render the page
     $this->view->content(template('iv.media')->render(array('categories' => db()->t('content_upload_category')->all(), 'modul_self' => MODUL_SELF, 'current' => $categoryId, 'images' => $data, 'url' => trim($conf->page->url, '/'), 'error' => $error, 'category' => $categoryId, 'uploadForm' => $uploadForm, 'createForm' => $rc->get_create())));
 }
<?php

if (!empty($_POST)) {
    $_POST['captcha'] = isset($_POST['captcha']);
    $panelvars = array_intersect_key($_POST, array_flip(array('theme', 'captcha')));
}
$form = new form_renderer(EDITOR_SELF);
$form->checkbox('captcha', 'Use Captcha', $panelvars['captcha']);
$form->select('theme', 'Recaptcha Theme', array('red' => 'red', 'white' => 'white', 'blackglass' => 'blackglass', 'clean' => 'clean'), $panelvars['theme']);
$form->text('passlen', 'Passwort Länge', $panelvars['passlen']);
$view->box($form, "Registrierungseinstellungen");
Example #3
0
 protected function create_form($type, $action, $edit, $back = NULL)
 {
     $form = new form_renderer($action, 'Speichern');
     if ($back) {
         $form->linkbutton('Zurück', $back);
     }
     foreach ($this->columns as $c) {
         if ($c[$type]) {
             switch ($c['type']) {
                 case 'password':
                     $form->password($c['name'], $c['caption'], $edit[$c['name']]);
                     break;
                 case 'radio':
                     $form->radio($c['name'], $c['caption'], $c['values'], $edit[$c['name']]);
                     break;
                 case 'hidden':
                     $form->hidden($c['name'], $edit[$c['name']]);
                     break;
                 case 'textarea':
                     $form->textarea($c['name'], $c['caption'], $edit[$c['name']]);
                     break;
                 case 'select':
                     $form->select($c['name'], $c['caption'], $c['values'], $edit[$c['name']]);
                     break;
                 case 'checkbox':
                     $form->checkbox($c['name'], $c['caption'], $edit[$c['name']]);
                     break;
                 case 'date':
                     $form->field(new form_field_date($c['name'], $c['caption'], $edit[$c['name']]));
                     break;
                 default:
                     $form->text($c['name'], $c['caption'], $edit[$c['name']]);
             }
         }
     }
     return $form;
 }