/** * Load the datagrids */ private function loadDataGrid() { // create datagrid $this->dataGrid = new BackendDataGridDB(BackendExtensionsModel::QRY_BROWSE_TEMPLATES, array($this->selectedTheme)); // check if this action is allowed if (BackendAuthentication::isAllowedAction('EditThemeTemplate')) { // set colum URLs $this->dataGrid->setColumnURL('title', BackendModel::createURLForAction('EditThemeTemplate') . '&id=[id]'); // add edit column $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('EditThemeTemplate') . '&id=[id]', BL::lbl('Edit')); } }
/** * Load the dataGrid */ private function loadDataGrid() { $this->dataGrid = new BackendDataGridDB(BackendCatalogModel::QRY_DATAGRID_BROWSE_SPECIFICATIONS, BL::getWorkingLanguage()); // check if this action is allowed if (BackendAuthentication::isAllowedAction('EditSpecification')) { $this->dataGrid->setColumnURL('specification', BackendModel::createURLForAction('edit_specification') . '&id=[id]'); $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('edit_specification') . '&id=[id]', BL::lbl('Edit')); } // sequence $this->dataGrid->enableSequenceByDragAndDrop(); $this->dataGrid->setAttributes(array('data-action' => 'SequenceSpecifications')); }
/** * Get the data * If a revision-id was specified in the URL we load the revision and not the actual data. */ private function getData() { // get the record $this->record = (array) BackendCatalogModel::getOrder($this->id); // dataGrid for the products within an order $this->dgProducts = new BackendDataGridDB(BackendCatalogModel::QRY_DATAGRID_BROWSE_PRODUCTS_ORDER, array($this->id)); // hide columns $this->dgProducts->setColumnsHidden('order_id', 'product_id', 'url', 'date'); // set column URLs $this->dgProducts->setColumnURL('title', BackendModel::createURLForAction('edit') . '&id=[product_id]'); // no item found, throw an exceptions, because somebody is f*****g with our URL if (empty($this->record)) { $this->redirect(BackendModel::createURLForAction('index') . '&error=non-existing'); } }
/** * 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()); } }
/** * Loads the datagrid with all the drafts */ private function loadDataGridDrafts() { // filter on category? if ($this->categoryId != null) { // create datagrid $this->dgDrafts = new BackendDataGridDB(BackendBlogModel::QRY_DATAGRID_BROWSE_DRAFTS_FOR_CATEGORY, array($this->categoryId, 'draft', BackendAuthentication::getUser()->getUserId(), BL::getWorkingLanguage())); // set the URL $this->dgDrafts->setURL('&category=' . $this->categoryId, true); } else { // create datagrid $this->dgDrafts = new BackendDataGridDB(BackendBlogModel::QRY_DATAGRID_BROWSE_DRAFTS, array('draft', BackendAuthentication::getUser()->getUserId(), BL::getWorkingLanguage())); } // set headers $this->dgDrafts->setHeaderLabels(array('user_id' => \SpoonFilter::ucfirst(BL::lbl('Author')))); // hide columns $this->dgDrafts->setColumnsHidden(array('revision_id')); // sorting columns $this->dgDrafts->setSortingColumns(array('edited_on', 'title', 'user_id', 'comments'), 'edited_on'); $this->dgDrafts->setSortParameter('desc'); // set column functions $this->dgDrafts->setColumnFunction(array(new BackendDataGridFunctions(), 'getLongDate'), array('[edited_on]'), 'edited_on', true); $this->dgDrafts->setColumnFunction(array(new BackendDataGridFunctions(), 'getUser'), array('[user_id]'), 'user_id', true); // 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]&category=' . $this->categoryId); // add edit column $this->dgDrafts->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('Edit') . '&id=[id]&draft=[revision_id]&category=' . $this->categoryId, BL::lbl('Edit')); } }
/** * Load the datagrid */ private function loadDataGrid() { // fetch query and parameters list($query, $parameters) = $this->buildQuery(); // create datagrid $this->dgProfiles = new BackendDataGridDB($query, $parameters); // overrule default URL $this->dgProfiles->setURL(BackendModel::createURLForAction(null, null, null, array('offset' => '[offset]', 'order' => '[order]', 'sort' => '[sort]', 'email' => $this->filter['email'], 'status' => $this->filter['status'], 'group' => $this->filter['group']), false)); // sorting columns $this->dgProfiles->setSortingColumns(array('email', 'display_name', 'status', 'registered_on'), 'email'); // set column function $this->dgProfiles->setColumnFunction(array(new BackendDataGridFunctions(), 'getLongDate'), array('[registered_on]'), 'registered_on', true); // add the mass action controls $this->dgProfiles->setMassActionCheckboxes('check', '[id]'); $ddmMassAction = new \SpoonFormDropdown('action', array('addToGroup' => BL::getLabel('AddToGroup'), 'delete' => BL::getLabel('Delete')), 'addToGroup', false, 'form-control', 'form-control danger'); $ddmMassAction->setAttribute('id', 'massAction'); $ddmMassAction->setOptionAttributes('addToGroup', array('data-target' => '#confirmAddToGroup')); $ddmMassAction->setOptionAttributes('delete', array('data-target' => '#confirmDelete')); $this->dgProfiles->setMassAction($ddmMassAction); // check if this action is allowed if (BackendAuthentication::isAllowedAction('Edit')) { // set column URLs $this->dgProfiles->setColumnURL('email', BackendModel::createURLForAction('Edit') . '&id=[id]'); // add columns $this->dgProfiles->addColumn('edit', null, BL::getLabel('Edit'), BackendModel::createURLForAction('Edit', null, null, null) . '&id=[id]', BL::getLabel('Edit')); } }
/** * Loads the dataGrids */ private function loadDatagrids() { // load all categories $categories = BackendFaqModel::getCategories(true); // loop categories and create a dataGrid for each one foreach ($categories as $categoryId => $categoryTitle) { $dataGrid = new BackendDataGridDB(BackendFaqModel::QRY_DATAGRID_BROWSE, array(BL::getWorkingLanguage(), $categoryId)); $dataGrid->setAttributes(array('class' => 'dataGrid sequenceByDragAndDrop')); $dataGrid->setColumnsHidden(array('category_id', 'sequence')); $dataGrid->addColumn('dragAndDropHandle', null, '<span>' . BL::lbl('Move') . '</span>'); $dataGrid->setColumnsSequence('dragAndDropHandle'); $dataGrid->setColumnAttributes('question', array('class' => 'title')); $dataGrid->setColumnAttributes('dragAndDropHandle', array('class' => 'dragAndDropHandle')); $dataGrid->setRowAttributes(array('id' => '[id]')); // check if this action is allowed if (BackendAuthentication::isAllowedAction('Edit')) { $dataGrid->setColumnURL('question', BackendModel::createURLForAction('Edit') . '&id=[id]'); $dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('Edit') . '&id=[id]', BL::lbl('Edit')); } // add dataGrid to list $this->dataGrids[] = array('id' => $categoryId, 'title' => $categoryTitle, 'content' => $dataGrid->getContent()); } // set empty datagrid $this->emptyDatagrid = new BackendDataGridArray(array(array('dragAndDropHandle' => '', 'question' => BL::msg('NoQuestionInCategory'), 'edit' => ''))); $this->emptyDatagrid->setAttributes(array('class' => 'dataGrid sequenceByDragAndDrop emptyGrid')); $this->emptyDatagrid->setHeaderLabels(array('edit' => null, 'dragAndDropHandle' => null)); }
/** * 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 */ private function loadDataGrids() { $this->dataGridUsers = new BackendDataGridDB(BackendGroupsModel::QRY_ACTIVE_USERS, array($this->id, 'N')); // check if this action is allowed if (BackendAuthentication::isAllowedAction('Edit', 'Users')) { // add columns $this->dataGridUsers->addColumn('nickname', \SpoonFilter::ucfirst(BL::lbl('Nickname')), null, BackendModel::createURLForAction('Edit', 'Users') . '&id=[id]'); $this->dataGridUsers->addColumn('surname', \SpoonFilter::ucfirst(BL::lbl('Surname')), null, BackendModel::createURLForAction('Edit', 'Users') . '&id=[id]'); $this->dataGridUsers->addColumn('name', \SpoonFilter::ucfirst(BL::lbl('Name')), null, BackendModel::createURLForAction('Edit', 'Users') . '&id=[id]'); // add column URL $this->dataGridUsers->setColumnURL('email', BackendModel::createURLForAction('Edit', 'Users') . '&id=[id]'); // set columns sequence $this->dataGridUsers->setColumnsSequence('nickname', 'surname', 'name', 'email'); // show users's name, surname and nickname $this->dataGridUsers->setColumnFunction(array(new BackendUsersModel(), 'getSetting'), array('[id]', 'surname'), 'surname', false); $this->dataGridUsers->setColumnFunction(array(new BackendUsersModel(), 'getSetting'), array('[id]', 'name'), 'name', false); $this->dataGridUsers->setColumnFunction(array(new BackendUsersModel(), 'getSetting'), array('[id]', 'nickname'), 'nickname', false); } }
/** * Loads the datagrid with the unsent mailings */ private function loadDataGridUnsentMailings() { // set query & parameters $query = BackendMailmotorModel::QRY_DATAGRID_BROWSE_UNSENT; $parameters = array('concept'); // campaign is set if (!empty($this->campaign)) { // reset query, add to parameters $query = BackendMailmotorModel::QRY_DATAGRID_BROWSE_UNSENT_FOR_CAMPAIGN; $parameters[] = $this->campaign['id']; } // create datagrid $this->dgUnsentMailings = new BackendDataGridDB($query, $parameters); $this->dgUnsentMailings->setColumnsHidden(array('campaign_id', 'status')); // if a campaign is set, hide the campaign name in the datagrid if (!empty($this->campaign)) { $this->dgUnsentMailings->setColumnHidden('campaign_name'); } // sorting columns $this->dgUnsentMailings->setSortingColumns(array('name', 'campaign_name', 'created_on', 'language'), 'created_on'); $this->dgUnsentMailings->setSortParameter('desc'); // check if this action is allowed if (BackendAuthentication::isAllowedAction('Edit')) { // set colum URLs $this->dgUnsentMailings->setColumnURL('name', BackendModel::createURLForAction('Edit') . '&id=[id]'); // add edit column $this->dgUnsentMailings->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('Edit') . '&id=[id]', BL::lbl('Edit')); } // add the multicheckbox column $this->dgUnsentMailings->addColumn('checkbox', '<span class="checkboxHolder"><input type="checkbox" name="toggleChecks" value="toggleChecks" /></span>', '<span><input type="checkbox" name="id[]" value="[id]" class="inputCheckbox" /></span>'); $this->dgUnsentMailings->setColumnsSequence('checkbox'); // add mass action dropdown $ddmMassAction = new \SpoonFormDropdown('action', array('delete' => BL::lbl('Delete')), 'delete'); $this->dgUnsentMailings->setMassAction($ddmMassAction); // set column functions $this->dgUnsentMailings->setColumnFunction(array(__CLASS__, 'setCampaignLink'), array('[campaign_id]', '[campaign_name]'), 'campaign_name', true); $this->dgUnsentMailings->setColumnFunction(array(new BackendDataGridFunctions(), 'getTimeAgo'), array('[created_on]'), 'created_on', true); // add styles $this->dgUnsentMailings->setColumnAttributes('name', array('class' => 'title')); // set paging limit $this->dgUnsentMailings->setPagingLimit(self::UNSENT_MAILINGS_PAGING_LIMIT); }
/** * Load the datagrid. */ private function loadDataGrid() { // fetch query and parameters list($query, $parameters) = $this->buildQuery(); // create datagrid $this->dgGroups = new BackendDataGridDB($query, $parameters); // overrule default URL $this->dgGroups->setURL(BackendModel::createURLForAction(null, null, null, array('offset' => '[offset]', 'order' => '[order]', 'sort' => '[sort]', 'name' => $this->filter['name']), false)); // sorting columns $this->dgGroups->setSortingColumns(array('name', 'members_count'), 'name'); // set the amount of profiles $this->dgGroups->setColumnFunction(array(__CLASS__, 'parseNumProfiles'), array('[id]', '[members_count]'), 'members_count'); // check if this action is allowed if (BackendAuthentication::isAllowedAction('Index')) { $this->dgGroups->setColumnURL('members_count', BackendModel::createURLForAction('Index') . '&group=[id]'); } // check if this action is allowed if (BackendAuthentication::isAllowedAction('EditGroup')) { $this->dgGroups->setColumnURL('name', BackendModel::createURLForAction('EditGroup') . '&id=[id]'); $this->dgGroups->addColumn('edit', null, BL::getLabel('Edit'), BackendModel::createURLForAction('EditGroup') . '&id=[id]'); } }
/** * 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')); } }