public function getFolder($createIfNotExist = false) { if (!isset($this->folder)) { $this->folder = \Rebond\Core\Folder\Data::loadById($this->folderId, $createIfNotExist); } return $this->folder; }
public function getParent($createIfNotExist = false) { if (!isset($this->parent)) { $this->parent = \Rebond\Core\Folder\Data::loadById($this->parentId, $createIfNotExist); } return $this->parent; }
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; }
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']); }
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'); }
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; }
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; }
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); }