Ejemplo n.º 1
0
 public function getFolder($createIfNotExist = false)
 {
     if (!isset($this->folder)) {
         $this->folder = \Rebond\Core\Folder\Data::loadById($this->folderId, $createIfNotExist);
     }
     return $this->folder;
 }
Ejemplo n.º 2
0
 public function getParent($createIfNotExist = false)
 {
     if (!isset($this->parent)) {
         $this->parent = \Rebond\Core\Folder\Data::loadById($this->parentId, $createIfNotExist);
     }
     return $this->parent;
 }
Ejemplo n.º 3
0
 public static function renderList()
 {
     $options = [];
     $options['where'][] = 'folder.status IN (0,1)';
     $options['order'][] = 'folder.display_order, folder.modified_date, folder.title';
     $folders = Data::loadAll($options);
     $list = [];
     self::buildList($folders, 0, 0, $list);
     return $list;
 }
Ejemplo n.º 4
0
 public function buildFolder()
 {
     $options = [];
     $options['clearSelect'] = true;
     $options['select'][] = \Rebond\Core\Folder\Data::getList(['id', 'title']);
     $models = \Rebond\Core\Folder\Data::loadAll($options);
     return Util\Form::buildDropdownList('folderId' . $this->unique, $models, 'id', 'title', $this->getModel()->getFolderId(), $this->folderValidator['foreignKey']);
 }
Ejemplo n.º 5
0
 public function editFolder()
 {
     // auth
     Auth::isAdminAuthorized($this->signedUser, 'admin.media', true, '/media');
     // check
     $id = Converter::int('id');
     $pid = Converter::int('pid');
     $save = Converter::int('save', 'post');
     $folder = \Rebond\Core\Folder\Data::loadById($id, true);
     if ($pid != 0) {
         $folder->setParentId($pid);
     }
     $form = new \Rebond\Core\Folder\Form($folder);
     // action
     if (isset($save)) {
         Auth::isAdminAuthorized($this->signedUser, 'admin.media.folder.edit', true, '/media');
         if ($form->setFromPost()->validate()->isValid()) {
             $folder->save();
             Session::adminSuccess('saved', '/media');
         } else {
             Session::set('adminError', $form->getValidation()->getMessage());
         }
     }
     // view
     $this->setTpl();
     // main
     $tplMain = new Template(Template::MODULE, ['core', 'folder']);
     $tplMain->set('item', $form);
     // layout
     if (Auth::isAdminAuthorized($this->signedUser, 'admin.media.folder.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'));
     return $this->tplMaster->render('tpl-default');
 }
Ejemplo n.º 6
0
 protected static function mapper(array $row, $alias = 'folder')
 {
     $model = new \Rebond\Core\Folder\Model(false);
     if (isset($row[$alias . 'Id'])) {
         $model->setId($row[$alias . 'Id']);
     }
     if (isset($row[$alias . 'ParentId'])) {
         $model->setParentId($row[$alias . 'ParentId']);
         $model->setParent(\Rebond\Core\Folder\Data::join($row, $alias . '_parent'));
     }
     if (isset($row[$alias . 'Title'])) {
         $model->setTitle($row[$alias . 'Title']);
     }
     if (isset($row[$alias . 'DisplayOrder'])) {
         $model->setDisplayOrder($row[$alias . 'DisplayOrder']);
     }
     if (isset($row[$alias . 'Status'])) {
         $model->setStatus($row[$alias . 'Status']);
     }
     if (isset($row[$alias . 'CreatedDate'])) {
         $model->setCreatedDate($row[$alias . 'CreatedDate']);
     }
     if (isset($row[$alias . 'ModifiedDate'])) {
         $model->setModifiedDate($row[$alias . 'ModifiedDate']);
     }
     return $model;
 }
Ejemplo n.º 7
0
 protected static function mapper(array $row, $alias = 'media')
 {
     $model = new \Rebond\Core\Media\Model(false);
     if (isset($row[$alias . 'Id'])) {
         $model->setId($row[$alias . 'Id']);
     }
     if (isset($row[$alias . 'FolderId'])) {
         $model->setFolderId($row[$alias . 'FolderId']);
         $model->setFolder(\Rebond\Core\Folder\Data::join($row, $alias . '_folder'));
     }
     if (isset($row[$alias . 'Title'])) {
         $model->setTitle($row[$alias . 'Title']);
     }
     if (isset($row[$alias . 'Tags'])) {
         $model->setTags($row[$alias . 'Tags']);
     }
     if (isset($row[$alias . 'Upload'])) {
         $model->setUpload($row[$alias . 'Upload']);
     }
     if (isset($row[$alias . 'OriginalFilename'])) {
         $model->setOriginalFilename($row[$alias . 'OriginalFilename']);
     }
     if (isset($row[$alias . 'Path'])) {
         $model->setPath($row[$alias . 'Path']);
     }
     if (isset($row[$alias . 'Extension'])) {
         $model->setExtension($row[$alias . 'Extension']);
     }
     if (isset($row[$alias . 'MimeType'])) {
         $model->setMimeType($row[$alias . 'MimeType']);
     }
     if (isset($row[$alias . 'FileSize'])) {
         $model->setFileSize($row[$alias . 'FileSize']);
     }
     if (isset($row[$alias . 'Width'])) {
         $model->setWidth($row[$alias . 'Width']);
     }
     if (isset($row[$alias . 'Height'])) {
         $model->setHeight($row[$alias . 'Height']);
     }
     if (isset($row[$alias . 'Alt'])) {
         $model->setAlt($row[$alias . 'Alt']);
     }
     if (isset($row[$alias . 'IsSelectable'])) {
         $model->setIsSelectable($row[$alias . 'IsSelectable']);
     }
     if (isset($row[$alias . 'Status'])) {
         $model->setStatus($row[$alias . 'Status']);
     }
     if (isset($row[$alias . 'CreatedDate'])) {
         $model->setCreatedDate($row[$alias . 'CreatedDate']);
     }
     if (isset($row[$alias . 'ModifiedDate'])) {
         $model->setModifiedDate($row[$alias . 'ModifiedDate']);
     }
     return $model;
 }
Ejemplo n.º 8
0
 public function deleteFolder()
 {
     if (!$this->hasPrivilege('admin.config.cache')) {
         return $this->noPrivilege('admin.config.cache');
     }
     $json = [];
     $json['result'] = ResultType::ERROR;
     // check
     $id = Converter::int('id', 'post');
     if (!isset($id)) {
         $json['message'] = Lang::lang('errorInvalidParameters');
         return json_encode($json);
     }
     if ($id == 1) {
         $json['message'] = Lang::lang('cannotDeleteRootFolder');
         return json_encode($json);
     }
     // check item
     $folder = \Rebond\Core\Folder\Data::loadById($id);
     if (!isset($folder)) {
         $json['message'] = Lang::lang('itemNotFound', [$id]);
         return json_encode($json);
     }
     // find all children folders
     $folderChildren = \Rebond\Core\Folder\Data::getChildren($id);
     if ($folderChildren) {
         foreach ($folderChildren as $folderChild) {
             \Rebond\Core\Folder\Data::deleteById($folderChild);
             \Rebond\Core\Media\Data::moveToRoot($folderChild);
         }
     }
     // remove folders
     \Rebond\Core\Folder\Data::deleteById($id);
     \Rebond\Core\Media\Data::moveToRoot($id);
     $json['result'] = ResultType::SUCCESS;
     $json['message'] = 'folder (and its children) deleted';
     return json_encode($json);
 }