示例#1
0
 public function edit()
 {
     // auth
     Auth::isAdminAuthorized($this->signedUser, 'admin.media', true, '/media');
     // action
     $id = Converter::int('id');
     $media = \Rebond\Core\Media\Data::loadById($id);
     if (!isset($media)) {
         Session::adminError('itemNotFound', [$id], '/media');
     }
     $form = new \Rebond\Core\Media\Form($media);
     $save = Converter::string('save', 'post');
     if (isset($save)) {
         Auth::isAdminAuthorized($this->signedUser, 'admin.media.edit', true, '/media/edit');
         $oldUpload = $media->getUpload();
         $form->setFromPost();
         // extension removed in form
         $media->setUpload($media->getUpload() . '.' . $media->getExtension());
         if ($form->validate()->isValid()) {
             \Rebond\Util\File::rename($media->getPath(), $oldUpload, $media->getUpload());
             $media->save();
             Session::adminSuccess('saved', '/media');
         } else {
             Session::set('adminError', $form->getValidation()->getMessage());
         }
     }
     // view
     $this->setTpl();
     // media
     $tplMain = new Template(Template::MODULE, ['core', 'media']);
     $tplMain->set('item', $form);
     $tplMain->set('url', 'http://' . \Rebond\Config::getPath('siteUrl') . \Rebond\Config::getPath('mediaFolder') . $media->getUpload());
     // layout
     if (Auth::isAdminAuthorized($this->signedUser, 'admin.media.edit', false)) {
         $this->tplLayout->set('column1', $tplMain->render('editor'));
     } else {
         $this->tplLayout->set('column1', $tplMain->render('view'));
     }
     //master
     $this->tplMaster->set('layout', $this->tplLayout->render('layout-1-col'));
     $this->tplMaster->set('jsLauncher', 'mediaEdit');
     return $this->tplMaster->render('tpl-default');
 }