}
}
//echo  fRequest::encode('id_zone','integer');
//echo  fRequest::encode('id_section','integer');
/*
 * Add Article
 */
$banner = new Banner();
$banner->setId_zone(fRequest::encode('id_zone', 'integer'));
$banner->setLink(fRequest::encode('link', 'string'));
$banner->setOrder(fRequest::encode('order', 'integer'));
$banner->setId_section(fRequest::encode('id_section', 'integer'));
/* Limited By User Permissions */
$banner->setStatus(fRequest::get('id_state', 'integer'));
try {
    $banner->store();
} catch (Exception $e) {
    exit("Ha ocurrido un error.");
}
$lastId = $banner->prepareIdBanner();
/*
 * Add Region 
 * Limited By User Permissions
 */
/*
 * Add Files to Server
 */
if (!empty($_FILES)) {
    $uploader = new fUpload();
    $uploader->setOptional();
    $uploader->setMIMETypes($acceptedFiles, 'El tipo de archivo es incorrecto');
Exemple #2
0
 /**
  * Create a new banner
  */
 public function new_action()
 {
     // add new banner input
     if (Request::submitted('anlegen')) {
         $description = Request::get('description');
         $alttext = Request::get('alttext');
         $target_type = Request::option('target_type');
         //add the right target
         if ($target_type == 'url') {
             $target = Request::get('target');
         } else {
             if ($target_type == 'inst') {
                 $target = Request::option('institut');
             } else {
                 if ($target_type == 'user') {
                     $target = Request::username('user');
                 } else {
                     if ($target_type == 'seminar') {
                         $target = Request::option('seminar');
                     } else {
                         $target = Request::get('target');
                     }
                 }
             }
         }
         $priority = Request::int('priority');
         $errors = array();
         $upload = $_FILES['imgfile'];
         if (!$upload['name']) {
             $errors[] = _('Es wurde kein Bild ausgewählt.');
         } else {
             $banner_path = $this->bannerupload($upload['tmp_name'], $upload['size'], $upload['name'], $errors);
         }
         $startDate = explode('.', Request::get('start_date'));
         if (($x = $this->valid_date(Request::int('start_hour'), Request::int('start_minute'), $startDate[0], $startDate[1], $startDate[2])) == -1) {
             $errors[] = _('Bitte geben Sie einen gültiges Startdatum ein.');
         } else {
             $startdate = $x;
         }
         $endDate = explode('.', Request::get('end_date'));
         if (($x = $this->valid_date(Request::int('end_hour'), Request::int('end_minute'), $endDate[0], $endDate[1], $endDate[2])) == -1) {
             $errors[] = _('Bitte geben Sie einen gültiges Enddatum ein.');
         } else {
             $enddate = $x;
         }
         if (!$target && $target_type != 'none') {
             $errors[] = _('Es wurde kein Verweisziel angegeben.');
         } else {
             switch ($target_type) {
                 case 'url':
                     if (!preg_match('~^(https?|ftp)://~i', $target)) {
                         $errors[] = _('Das Verweisziel muss eine gültige URL sein (incl. http://).');
                     }
                     break;
                 case 'inst':
                     if (Institute::find($target) === null) {
                         $errors[] = _('Die angegebene Einrichtung existiert nicht. ' . 'Bitte geben Sie eine gültige Einrichtungs-ID ein.');
                     }
                     break;
                 case 'user':
                     if (User::findByUsername($target) === null) {
                         $errors[] = _('Der angegebene Benutzername existiert nicht.');
                     }
                     break;
                 case 'seminar':
                     try {
                         Seminar::getInstance($target);
                     } catch (Exception $e) {
                         $errors[] = _('Die angegebene Veranstaltung existiert nicht. ' . 'Bitte geben Sie eine gültige Veranstaltungs-ID ein.');
                     }
                     break;
                 case 'none':
                     $target = '';
                     break;
             }
         }
         if (count($errors) > 0) {
             PageLayout::postMessage(MessageBox::error(_('Es sind folgende Fehler aufgetreten:'), $errors));
         } else {
             $banner = new Banner();
             $banner->banner_path = $banner_path;
             $banner->description = $description;
             $banner->alttext = $alttext;
             $banner->target_type = $target_type;
             $banner->target = $target;
             $banner->startdate = $startdate;
             $banner->enddate = $enddate;
             $banner->priority = $priority;
             $banner->store();
             PageLayout::postMessage(MessageBox::success(_('Der Banner wurde erfolgreich gespeichert.')));
             $this->redirect('admin/banner');
         }
     }
 }