/** * Load the datagrids * * @return void */ private function loadDataGrids() { // load all categories that are in use $categories = BackendSlideshowModel::getActiveCategories(true); // run over categories and create datagrid for each one foreach ($categories as $categoryId => $categoryTitle) { // create datagrid $dataGrid = new BackendDataGridDB(BackendSlideshowModel::QRY_DATAGRID_BROWSE, array(BL::getWorkingLanguage(), $categoryId)); // disable paging $dataGrid->setPaging(false); // set colum URLs $dataGrid->setColumnURL('title', BackendModel::createURLForAction('Edit') . '&id=[id]'); // set column functions $dataGrid->setColumnFunction(array(new BackendDataGridFunctions(), 'getLongDate'), array('[publish_on]'), 'publish_on', true); $dataGrid->setColumnFunction(array(new BackendDataGridFunctions(), 'getUser'), array('[user_id]'), 'user_id', true); // set headers $dataGrid->setHeaderLabels(array('user_id' => \SpoonFilter::ucfirst(BL::lbl('Author')), 'publish_on' => \SpoonFilter::ucfirst(BL::lbl('PublishedOn')))); // enable drag and drop $dataGrid->enableSequenceByDragAndDrop(); // our JS needs to know an id, so we can send the new order $dataGrid->setRowAttributes(array('id' => '[id]')); $dataGrid->setAttributes(array('data-action' => "GallerySequence")); // create a column #images $dataGrid->addColumn('images', ucfirst(BL::lbl('Images'))); $dataGrid->setColumnFunction(array('Backend\\Modules\\Slideshow\\Engine\\Model', 'getImagesByGallery'), array('[id]', true), 'images', true); // hide columns $dataGrid->setColumnsHidden(array('category_id', 'sequence', 'filename')); // add edit column $dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('Edit') . '&id=[id]', BL::lbl('Edit')); // set column order $dataGrid->setColumnsSequence('dragAndDropHandle', 'title', 'images', 'user_id', 'publish_on', 'edit'); // add dataGrid to list $this->dataGrids[] = array('id' => $categoryId, 'title' => $categoryTitle, 'content' => $dataGrid->getContent()); } }
/** * Load the datagrid with the drafts */ private function loadDataGridDrafts() { // create datagrid $this->dgDrafts = new BackendDataGridDB(BackendPagesModel::QRY_DATAGRID_BROWSE_DRAFTS, array('draft', BackendAuthentication::getUser()->getUserId(), BL::getWorkingLanguage())); // hide columns $this->dgDrafts->setColumnsHidden(array('revision_id')); // disable paging $this->dgDrafts->setPaging(false); // set column functions $this->dgDrafts->setColumnFunction(array(new BackendDataGridFunctions(), 'getUser'), array('[user_id]'), 'user_id', true); $this->dgDrafts->setColumnFunction(array(new BackendDataGridFunctions(), 'getLongDate'), array('[edited_on]'), 'edited_on'); // set headers $this->dgDrafts->setHeaderLabels(array('user_id' => \SpoonFilter::ucfirst(BL::lbl('By')), 'edited_on' => \SpoonFilter::ucfirst(BL::lbl('LastEdited')))); // check if allowed to edit if (BackendAuthentication::isAllowedAction('Edit', $this->getModule())) { // set column URLs $this->dgDrafts->setColumnURL('title', BackendModel::createURLForAction('Edit') . '&id=[id]&draft=[revision_id]'); // add edit column $this->dgDrafts->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('Edit') . '&id=[id]&draft=[revision_id]', BL::lbl('Edit')); } }
/** * Load the data grid with groups. */ private function loadGroups() { // create the data grid $this->dgGroups = new BackendDataGridDB(BackendProfilesModel::QRY_DATAGRID_BROWSE_PROFILE_GROUPS, array($this->profile['id'])); // sorting columns $this->dgGroups->setSortingColumns(array('group_name'), 'group_name'); // disable paging $this->dgGroups->setPaging(false); // set column function $this->dgGroups->setColumnFunction(array(new BackendDataGridFunctions(), 'getLongDate'), array('[expires_on]'), 'expires_on', true); // check if this action is allowed if (BackendAuthentication::isAllowedAction('EditProfileGroup')) { // set column URLs $this->dgGroups->setColumnURL('group_name', BackendModel::createURLForAction('EditProfileGroup') . '&id=[id]&profile_id=' . $this->id); // edit column $this->dgGroups->addColumn('edit', null, BL::getLabel('Edit'), BackendModel::createURLForAction('EditProfileGroup') . '&id=[id]&profile_id=' . $this->id, BL::getLabel('Edit')); } }
/** * Load the datagrid with drafts */ private function loadDrafts() { // create datagrid $this->dgDrafts = new BackendDataGridDB(BackendPagesModel::QRY_DATAGRID_BROWSE_SPECIFIC_DRAFTS, array($this->record['id'], 'draft', BL::getWorkingLanguage())); // hide columns $this->dgDrafts->setColumnsHidden(array('id', 'revision_id')); // disable paging $this->dgDrafts->setPaging(false); // set headers $this->dgDrafts->setHeaderLabels(array('user_id' => \SpoonFilter::ucfirst(BL::lbl('By')), 'edited_on' => \SpoonFilter::ucfirst(BL::lbl('LastEditedOn')))); // set column-functions $this->dgDrafts->setColumnFunction(array(new BackendDataGridFunctions(), 'getUser'), array('[user_id]'), 'user_id'); $this->dgDrafts->setColumnFunction(array(new BackendDataGridFunctions(), 'getTimeAgo'), array('[edited_on]'), 'edited_on'); // our JS needs to know an id, so we can highlight it $this->dgDrafts->setRowAttributes(array('id' => 'row-[revision_id]')); // check if this action is allowed if (BackendAuthentication::isAllowedAction('Edit')) { // set column URLs $this->dgDrafts->setColumnURL('title', BackendModel::createURLForAction('Edit') . '&id=[id]&draft=[revision_id]'); // add use column $this->dgDrafts->addColumn('use_draft', null, BL::lbl('UseThisDraft'), BackendModel::createURLForAction('Edit') . '&id=[id]&draft=[revision_id]', BL::lbl('UseThisDraft')); } }