isAllowedAction() public static method

Is the given action allowed for the current user
public static isAllowedAction ( string $action = null, string $module = null ) : boolean
$action string The action to check for.
$module string The module wherein the action is located.
return boolean
Example #1
0
 /**
  * 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') . '&amp;id=[id]');
             $dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('Edit') . '&amp;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));
 }
Example #2
0
 /**
  * Parse the form
  */
 protected function parse()
 {
     parent::parse();
     // assign the data
     $this->tpl->assign('item', $this->record);
     $this->tpl->assign('showFaqDeleteCategory', BackendFaqModel::deleteCategoryAllowed($this->id) && BackendAuthentication::isAllowedAction('DeleteCategory'));
 }
Example #3
0
 /**
  * Load the datagrid
  */
 public function loadDataGrid()
 {
     $this->dataGrid = new BackendDataGridDB(BackendGroupsModel::QRY_BROWSE);
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('Edit')) {
         $this->dataGrid->setColumnURL('name', BackendModel::createURLForAction('Edit') . '&amp;id=[id]');
         $this->dataGrid->setColumnURL('num_users', BackendModel::createURLForAction('Edit') . '&amp;id=[id]#tabUsers');
         $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('Edit') . '&amp;id=[id]');
     }
 }
Example #4
0
 /**
  * Load the datagrids
  */
 private function loadDataGrid()
 {
     $this->dataGrid = new BackendDataGridDB(BackendContentBlocksModel::QRY_BROWSE, array('active', BL::getWorkingLanguage()));
     $this->dataGrid->setSortingColumns(array('title'));
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('Edit')) {
         $this->dataGrid->setColumnURL('title', BackendModel::createURLForAction('Edit') . '&amp;id=[id]');
         $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('Edit') . '&amp;id=[id]', BL::lbl('Edit'));
     }
 }
Example #5
0
 /**
  * Parse & display the page
  */
 protected function parse()
 {
     parent::parse();
     $this->tpl->assign('dataGrid', $this->dataGrid->getNumResults() != 0 ? $this->dataGrid->getContent() : false);
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('AddCategory') && $this->multipleCategoriesAllowed) {
         $this->tpl->assign('showAgendaAddCategory', true);
     } else {
         $this->tpl->assign('showAgendaAddCategory', false);
     }
 }
 /**
  * Load the dataGrid
  */
 protected function loadDataGrid()
 {
     $this->dataGrid = new DataGridDB(BackendInstagramModel::QRY_DATAGRID_BROWSE, Language::getWorkingLanguage());
     // Reform date
     $this->dataGrid->setColumnFunction(array('Backend\\Core\\Engine\\DataGridFunctions', 'getLongDate'), array('[created_on]'), 'created_on', true);
     // Check if this action is allowed
     if (Authentication::isAllowedAction('Edit')) {
         $this->dataGrid->addColumn('edit', null, Language::lbl('Edit'), Model::createURLForAction('Edit') . '&amp;id=[id]', Language::lbl('Edit'));
         $this->dataGrid->setColumnURL('username', Model::createURLForAction('Edit') . '&amp;id=[id]');
     }
 }
Example #7
0
 /**
  * Load the dataGrid
  */
 private function loadDataGrid()
 {
     $this->dataGrid = new DataGridDB(BackendBlocksModel::QRY_DATAGRID_BROWSE_CATEGORIES, Language::getWorkingLanguage());
     // check if this action is allowed
     if (Authentication::isAllowedAction('EditCategory')) {
         $this->dataGrid->addColumn('edit', null, Language::lbl('Edit'), Model::createURLForAction('EditCategory') . '&amp;id=[id]', Language::lbl('Edit'));
         $this->dataGrid->setColumnURL('title', Model::createURLForAction('EditCategory') . '&amp;id=[id]');
     }
     // sequence
     $this->dataGrid->enableSequenceByDragAndDrop();
     $this->dataGrid->setAttributes(array('data-action' => 'sequence_categories'));
 }
Example #8
0
 /**
  * Load the dataGrid
  */
 private function loadDataGrid()
 {
     $this->dataGrid = new BackendDataGridDB(BackendCatalogModel::QRY_DATAGRID_BROWSE_BRANDS, array(BL::getWorkingLanguage()));
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('EditBrand')) {
         $this->dataGrid->setColumnURL('title', BackendModel::createURLForAction('edit_brand') . '&amp;id=[id]');
         $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('edit_brand') . '&amp;id=[id]', BL::lbl('Edit'));
     }
     // sequence
     $this->dataGrid->enableSequenceByDragAndDrop();
     $this->dataGrid->setAttributes(array('data-action' => 'SequenceBrands'));
 }
Example #9
0
 /**
  * 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') . '&amp;id=[id]');
         // add edit column
         $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('EditThemeTemplate') . '&amp;id=[id]', BL::lbl('Edit'));
     }
 }
Example #10
0
 /**
  * Parse the form
  */
 protected function parse()
 {
     parent::parse();
     // assign the data
     $this->tpl->assign('item', $this->record);
     $this->tpl->assign('showFaqDeleteCategory', BackendFaqModel::deleteCategoryAllowed($this->id) && BackendAuthentication::isAllowedAction('DeleteCategory'));
     $url = BackendModel::getURLForBlock($this->URL->getModule(), 'Category');
     $url404 = BackendModel::getURL(404);
     if ($url404 != $url) {
         $this->tpl->assign('detailURL', SITE_URL . $url);
     }
 }
Example #11
0
 /**
  * Load the datagrid
  */
 protected function loadDataGrid()
 {
     $this->dataGrid = new BackendDataGridDB(BackendMailengineModel::QRY_DATAGRID_BROWSE_TEMPLATES);
     // sorting columns
     $this->dataGrid->setSortingColumns(array('title'));
     $this->dataGrid->setSortParameter('asc');
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('EditTemplate')) {
         $this->dataGrid->setColumnURL('title', BackendModel::createURLForAction('edit_template') . '&amp;id=[id]');
         $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('edit_template') . '&amp;id=[id]', BL::lbl('Edit'));
     }
 }
Example #12
0
 /**
  * Load the dataGrid
  */
 protected function loadDataGrid()
 {
     $this->dataGrid = new DataGridDB(BackendBlocksModel::QRY_DATAGRID_BROWSE, Language::getWorkingLanguage());
     // reform date
     $this->dataGrid->setColumnFunction(array('Backend\\Core\\Engine\\DataGridFunctions', 'getLongDate'), array('[created_on]'), 'created_on', true);
     // drag and drop sequencing
     $this->dataGrid->enableSequenceByDragAndDrop();
     // check if this action is allowed
     if (Authentication::isAllowedAction('Edit')) {
         $this->dataGrid->addColumn('edit', null, Language::lbl('Edit'), Model::createURLForAction('Edit') . '&amp;id=[id]', Language::lbl('Edit'));
         $this->dataGrid->setColumnURL('title', Model::createURLForAction('Edit') . '&amp;id=[id]');
     }
 }
 /**
  * Loads the datagrids
  */
 private function loadDataGrid()
 {
     // create datagrid
     $this->dataGrid = new DataGridDB($this->get('team_repository')->getDataGridQuery(), ['language' => Language::getWorkingLanguage()]);
     $this->dataGrid->setColumnFunction(['Rhumsaa\\Uuid\\Uuid', 'fromBytes'], ['[id]'], 'id', true);
     $this->dataGrid->setColumnFunction([new DataGridFunctions(), 'getLongDate'], ['[created_on]'], 'created_on', true);
     // check if this action is allowed
     if (Authentication::isAllowedAction('Edit')) {
         // add column
         $this->dataGrid->addColumn('edit', null, Language::lbl('Edit'), Model::createURLForAction('Edit'), Language::lbl('Edit'));
         $this->dataGrid->setColumnFunction([__CLASS__, 'addIdToEditUrl'], ['[edit]', '[id]'], 'edit', true);
     }
     $this->tpl->assign('dataGrid', (string) $this->dataGrid->getContent());
 }
Example #14
0
 /**
  * Load the datagrid
  */
 private function loadDataGrid()
 {
     $this->dataGrid = new ContentBlockDataGrid(Locale::workingLocale());
     $this->dataGrid->setSortingColumns(['title']);
     // show the hidden status
     $this->dataGrid->addColumn('isHidden', ucfirst(BL::lbl('VisibleOnSite')), '[hidden]');
     $this->dataGrid->setColumnFunction([TemplateModifiers::class, 'showBool'], ['[hidden]', true], 'isHidden');
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('Edit')) {
         $editUrl = BackendModel::createURLForAction('Edit', null, null, ['id' => '[id]'], false);
         $this->dataGrid->setColumnURL('title', $editUrl);
         $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), $editUrl, BL::lbl('Edit'));
     }
 }
Example #15
0
 /**
  * Checks the settings and optionally returns an array with warnings
  *
  * @return array
  */
 public static function checkSettings()
 {
     $warnings = array();
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('Settings', 'Mailmotor')) {
         // analytics session token
         if (BackendModel::get('fork.settings')->get('Mailmotor', 'cm_account') == false) {
             $warnings[] = array('message' => sprintf(BL::err('AnalysisNoCMAccount', 'Mailmotor'), BackendModel::createURLForAction('Settings', 'Mailmotor')));
         } elseif (BackendModel::get('fork.settings')->get('Mailmotor', 'cm_client_id') == '') {
             // add warning
             $warnings[] = array('message' => sprintf(BL::err('AnalysisNoCMClientID', 'Mailmotor'), BackendModel::createURLForAction('Settings', 'Mailmtor')));
         }
     }
     return $warnings;
 }
Example #16
0
 /**
  * Loads the datagrids
  */
 private function loadDataGrid()
 {
     // create datagrid
     $this->dataGrid = new BackendDataGridDB(BackendSearchModel::QRY_DATAGRID_BROWSE_SYNONYMS, BL::getWorkingLanguage());
     // sorting columns
     $this->dataGrid->setSortingColumns(array('term'), 'term');
     // column function
     $this->dataGrid->setColumnFunction('str_replace', array(',', ', ', '[synonym]'), 'synonym', true);
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('EditSynonym')) {
         // set column URLs
         $this->dataGrid->setColumnURL('term', BackendModel::createURLForAction('EditSynonym') . '&amp;id=[id]');
         // add column
         $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('EditSynonym') . '&amp;id=[id]', BL::lbl('Edit'));
     }
 }
Example #17
0
 /**
  * Load the dataGrid
  */
 protected function loadDataGrid()
 {
     $this->dataGrid = new BackendDataGridDB(BackendMailengineModel::QRY_DATAGRID_BROWSE_MAILS);
     // sorting columns
     $this->dataGrid->setSortingColumns(array('subject'));
     $this->dataGrid->setSortParameter('asc');
     $this->dataGrid->setColumnFunction(array(new BackendDataGridFunctions(), 'getLongDate'), array('[date]'), 'date', true);
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('Edit')) {
         $this->dataGrid->setColumnURL('subject', BackendModel::createURLForAction('edit') . '&amp;id=[id]');
         $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('edit') . '&amp;id=[id]', BL::lbl('Edit'));
         $this->dataGrid->addColumn('detail', null, BL::lbl('Preview'), BackendModel::createURLForAction('edit') . '&amp;id=[id]#tabPreview', BL::lbl('Preview'));
         $this->dataGrid->addColumn('test', null, BL::lbl('SendTest'), BackendModel::createURLForAction('test') . '&amp;id=[id]', BL::lbl('SendTest'));
         $this->dataGrid->addColumn('approve', null, BL::lbl('Send'), BackendModel::createURLForAction('send') . '&amp;id=[id]', BL::lbl('Send'));
     }
 }
Example #18
0
 /**
  * Load the datagrid.
  */
 private function loadDataGrid()
 {
     // create datagrid with an overview of all active and undeleted users
     $this->dataGrid = new BackendDataGridDB(BackendUsersModel::QRY_BROWSE, array('N'));
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('Edit')) {
         // add column
         $this->dataGrid->addColumn('nickname', \SpoonFilter::ucfirst(BL::lbl('Nickname')), null, BackendModel::createURLForAction('Edit') . '&amp;id=[id]', BL::lbl('Edit'));
         // add edit column
         if (BackendAuthentication::isAllowedAction('Add') || BackendAuthentication::getUser()->isGod()) {
             $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('Edit') . '&amp;id=[id]');
         }
     }
     // show the user's nickname
     $this->dataGrid->setColumnFunction(array('Backend\\Modules\\Users\\Engine\\Model', 'getSetting'), array('[id]', 'nickname'), 'nickname', false);
 }
Example #19
0
 /**
  * Load the dataGrid
  */
 protected function loadDataGrid()
 {
     $this->dataGrid = new BackendDataGridDB(BackendAgendaModel::QRY_DATAGRID_BROWSE, BL::getWorkingLanguage());
     // reform date
     $this->dataGrid->setColumnFunction(array(new BackendDataGridFunctions(), 'getLongDate'), array('[begin_date]'), 'begin_date', true);
     // reform date
     $this->dataGrid->setColumnFunction(array(new BackendDataGridFunctions(), 'getLongDate'), array('[end_date]'), 'end_date', true);
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('Edit')) {
         //            $this->dataGrid->addColumn('media', null, BL::lbl('Media'),
         //                BackendModel::createURLForAction('media') . '&amp;id=[id]', BL::lbl('Media'));
         //            $this->dataGrid->setColumnFunction(array(__CLASS__, 'setMediaLink'), array('[id]'), 'media');
         //            $this->dataGrid->setColumnAttributes('media', array('style' => 'width: 1%;'));
         $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('Edit') . '&amp;id=[id]', BL::lbl('Edit'));
         $this->dataGrid->setColumnURL('title', BackendModel::createURLForAction('Edit') . '&amp;id=[id]');
     }
 }
Example #20
0
 /**
  * Load the dataGrid
  */
 protected function loadDataGrid()
 {
     list($query, $parameters) = $this->buildQuery();
     // create datagrid
     $this->dataGrid = new BackendDataGridDB($query, $parameters);
     // overrule default URL
     $this->dataGrid->setURL(BackendModel::createURLForAction(null, null, null, array('offset' => '[offset]', 'order' => '[order]', 'sort' => '[sort]', 'email' => $this->filter['email'], 'name' => $this->filter['name'], 'group' => $this->filter['group']), false));
     // sorting columns
     $this->dataGrid->setSortingColumns(array('created_on', 'email', 'name', 'active'));
     $this->dataGrid->setSortParameter('desc');
     $this->dataGrid->setColumnFunction(array(new BackendDataGridFunctions(), 'getLongDate'), array('[created_on]'), 'created_on', true);
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('EditUser')) {
         $this->dataGrid->setColumnURL('email', BackendModel::createURLForAction('edit_user') . '&amp;id=[id]');
         $this->dataGrid->setColumnURL('name', BackendModel::createURLForAction('edit_user') . '&amp;id=[id]');
         $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('edit_user') . '&amp;id=[id]', BL::lbl('Edit'));
     }
 }
Example #21
0
 /**
  * Checks the settings and optionally returns an array with warnings
  *
  * @return array
  */
 public static function checkSettings()
 {
     $warnings = array();
     // check if debug-mode is active
     if (BackendModel::getContainer()->getParameter('kernel.debug')) {
         $warnings[] = array('message' => Language::err('DebugModeIsActive'));
     }
     // check if this action is allowed
     if (Authentication::isAllowedAction('Index', 'Settings')) {
         // check if the fork API keys are available
         if (self::get('fork.settings')->get('Core', 'fork_api_private_key') == '' || self::get('fork.settings')->get('Core', 'fork_api_public_key') == '') {
             $warnings[] = array('message' => sprintf(Language::err('ForkAPIKeys'), self::createURLForAction('Index', 'Settings')));
         }
     }
     // check for extensions warnings
     $warnings = array_merge($warnings, BackendExtensionsModel::checkSettings());
     return $warnings;
 }
Example #22
0
 /**
  * Set the action
  *
  * @param string $action The action to load.
  * @param string $module The module to load.
  * @throws Exception If module is not set or action is not allowed
  */
 public function setAction($action, $module = null)
 {
     // set module
     if ($module !== null) {
         $this->setModule($module);
     }
     // check if module is set
     if ($this->getModule() === null) {
         throw new Exception('Module has not yet been set.');
     }
     // is this action allowed?
     if (!Authentication::isAllowedAction($action, $this->getModule())) {
         // set correct headers
         header('HTTP/1.1 403 Forbidden');
         // throw exception
         throw new Exception('Action not allowed.');
     }
     // set property
     $this->action = (string) \SpoonFilter::toCamelCase($action);
 }
Example #23
0
 /**
  * Load the dataGrid
  */
 private function loadDataGrid()
 {
     // filter on category?
     if ($this->categoryId != null) {
         // create datagrid
         $this->dataGrid = new BackendDataGridDB(BackendCatalogModel::QRY_DATAGRID_BROWSE_CATEGORIES_WITH_CATEGORYID, array($this->categoryId, BL::getWorkingLanguage()));
         // set the URL
         $this->dataGrid->setURL('&amp;category=' . $this->categoryId, true);
     } else {
         $this->dataGrid = new BackendDataGridDB(BackendCatalogModel::QRY_DATAGRID_BROWSE_CATEGORIES, BL::getWorkingLanguage());
     }
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('EditCategory')) {
         $this->dataGrid->setColumnURL('title', BackendModel::createURLForAction('edit_category') . '&amp;id=[id]');
         $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('edit_category') . '&amp;id=[id]', BL::lbl('Edit'));
     }
     // sequence
     $this->dataGrid->enableSequenceByDragAndDrop();
     $this->dataGrid->setAttributes(array('data-action' => 'SequenceCategories'));
 }
Example #24
0
 /**
  * Loads the datagrid with the groups
  */
 private function loadDataGrid()
 {
     // create datagrid
     $this->dataGrid = new BackendDataGridDB(BackendMailmotorModel::QRY_DATAGRID_BROWSE_GROUPS);
     $this->dataGrid->setColumnsHidden(array('language', 'is_default'));
     // sorting columns
     $this->dataGrid->setSortingColumns(array('name', 'created_on'), 'created_on');
     $this->dataGrid->setSortParameter('desc');
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('Addresses')) {
         // set column URLs
         $this->dataGrid->setColumnURL('name', BackendModel::createURLForAction('Addresses') . '&amp;group_id=[id]');
     }
     // set the datagrid ID so we don't run into trouble with multiple datagrids that use mass actions
     $this->dataGrid->setAttributes(array('id' => 'dgGroups'));
     // add the multicheckbox column
     $this->dataGrid->setMassActionCheckboxes('checkbox', '[id]', BackendMailmotorModel::getDefaultGroupIds());
     $this->dataGrid->setColumnsSequence('checkbox', 'name', 'created_on', 'language');
     // add mass action dropdown
     $ddmMassAction = new \SpoonFormDropdown('action', array('delete' => BL::lbl('Delete')), 'delete');
     $this->dataGrid->setMassAction($ddmMassAction);
     // set column functions
     $this->dataGrid->setColumnFunction(array(new BackendDataGridFunctions(), 'getTimeAgo'), array('[created_on]'), 'created_on', true);
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('CustomFields')) {
         $this->dataGrid->addColumnAction('custom_fields', null, BL::lbl('CustomFields'), BackendModel::createURLForAction('CustomFields') . '&amp;group_id=[id]', BL::lbl('CustomFields'), array('class' => 'button icon iconEdit linkButton'));
     }
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('ExportAddresses')) {
         $this->dataGrid->addColumnAction('export', null, BL::lbl('Export'), BackendModel::createURLForAction('ExportAddresses') . '&amp;id=[id]', BL::lbl('Export'), array('class' => 'button icon iconExport linkButton'));
     }
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('EditGroup')) {
         $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('EditGroup') . '&amp;id=[id]', BL::lbl('Edit'));
     }
     // add styles
     $this->dataGrid->setColumnAttributes('name', array('class' => 'title'));
     // set paging limit
     $this->dataGrid->setPagingLimit(self::PAGING_LIMIT);
 }
Example #25
0
 /**
  * Loads the datagrids
  */
 private function loadDataGrid()
 {
     // create datagrid
     $this->dataGrid = new BackendDataGridDB(BackendBlogModel::QRY_DATAGRID_BROWSE_CATEGORIES, array('active', BL::getWorkingLanguage()));
     // set headers
     $this->dataGrid->setHeaderLabels(array('num_items' => \SpoonFilter::ucfirst(BL::lbl('Amount'))));
     // sorting columns
     $this->dataGrid->setSortingColumns(array('title', 'num_items'), 'title');
     // convert the count into a readable and clickable one
     $this->dataGrid->setColumnFunction(array(__CLASS__, 'setClickableCount'), array('[num_items]', BackendModel::createURLForAction('Index') . '&amp;category=[id]'), 'num_items', true);
     // disable paging
     $this->dataGrid->setPaging(false);
     // add attributes, so the inline editing has all the needed data
     $this->dataGrid->setColumnAttributes('title', array('data-id' => '{id:[id]}'));
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('EditCategory')) {
         // set column URLs
         $this->dataGrid->setColumnURL('title', BackendModel::createURLForAction('EditCategory') . '&amp;id=[id]');
         // add column
         $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('EditCategory') . '&amp;id=[id]', BL::lbl('Edit'));
     }
 }
Example #26
0
 /**
  * Load the dataGrid
  */
 protected function loadDataGrid()
 {
     if ($this->groupId != null) {
         // create datagrid
         $this->dataGrid = new BackendDataGridDB(BackendAddressesModel::QRY_DATAGRID_BROWSE_GROUPS_WITH_GROUPID, array($this->groupId));
         // set the URL
         $this->dataGrid->setSortingColumns(array('title'));
         $this->dataGrid->setURL('&amp;category=' . $this->groupId, true);
     } else {
         $this->dataGrid = new BackendDataGridDB(BackendAddressesModel::QRY_DATAGRID_BROWSE_GROUPS);
         $this->dataGrid->setSortingColumns(array('title', 'parent_title'));
     }
     // sorting columns
     $this->dataGrid->setSortParameter('asc');
     $this->dataGrid->enableSequenceByDragAndDrop();
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('EditGroup')) {
         $this->dataGrid->setColumnURL('title', BackendModel::createURLForAction('edit_group') . '&amp;id=[id]');
         //$this->dataGrid->setColumnURL('addresses', BackendModel::createURLForAction('edit_group') . '&amp;id=[id]#tabAddresses');
         $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('edit_group') . '&amp;id=[id]', BL::lbl('Edit'));
     }
 }
Example #27
0
 /**
  * Parse amount of forms sent for the datagrid
  *
  * @param int $formId Id of the form.
  * @param int $sentForms Amount of sent forms.
  * @return string
  */
 public static function parseNumForms($formId, $sentForms)
 {
     // redefine
     $formId = (int) $formId;
     $sentForms = (int) $sentForms;
     // one form sent
     if ($sentForms == 1) {
         $output = BL::getMessage('OneSentForm');
     } elseif ($sentForms > 1) {
         // multiple forms sent
         $output = sprintf(BL::getMessage('SentForms'), $sentForms);
     } else {
         // no forms sent
         $output = sprintf(BL::getMessage('SentForms'), $sentForms);
     }
     // check if data action is allowed
     if (BackendAuthentication::isAllowedAction('Data', 'FormBuilder')) {
         // output
         $output = '<a href="' . BackendModel::createURLForAction('Data') . '&amp;id=' . $formId . '" title="' . $output . '">' . $output . '</a>';
     }
     return $output;
 }
Example #28
0
 /**
  * Loads the datagrids
  */
 private function loadDataGrid()
 {
     // create datagrid
     $this->dataGrid = new BackendDataGridDB(BackendTagsModel::QRY_DATAGRID_BROWSE, BL::getWorkingLanguage());
     // header labels
     $this->dataGrid->setHeaderLabels(array('tag' => \SpoonFilter::ucfirst(BL::lbl('Name')), 'num_tags' => \SpoonFilter::ucfirst(BL::lbl('Amount'))));
     // sorting columns
     $this->dataGrid->setSortingColumns(array('tag', 'num_tags'), 'num_tags');
     $this->dataGrid->setSortParameter('desc');
     // add the multicheckbox column
     $this->dataGrid->setMassActionCheckboxes('checkbox', '[id]');
     // add mass action dropdown
     $ddmMassAction = new \SpoonFormDropdown('action', array('delete' => BL::lbl('Delete')), 'delete');
     $ddmMassAction->setOptionAttributes('delete', array('message-id' => 'confirmDelete'));
     $this->dataGrid->setMassAction($ddmMassAction);
     // add attributes, so the inline editing has all the needed data
     $this->dataGrid->setColumnAttributes('tag', array('data-id' => '{id:[id]}'));
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('Edit')) {
         // add column
         $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('Edit') . '&amp;id=[id]', BL::lbl('Edit'));
     }
 }
Example #29
0
 /**
  * Load the record
  */
 private function loadData()
 {
     // get record
     $this->id = $this->getParameter('id', 'int');
     // validate id
     if ($this->id === null || !BackendExtensionsModel::existsTemplate($this->id)) {
         $this->redirect(BackendModel::createURLForAction('ThemeTemplates') . '&error=non-existing');
     }
     // get the record
     $this->record = BackendExtensionsModel::getTemplate($this->id);
     // unserialize
     $this->record['data'] = unserialize($this->record['data']);
     $this->names = $this->record['data']['names'];
     if (isset($this->record['data']['default_extras_' . BL::getWorkingLanguage()])) {
         $this->extras = $this->record['data']['default_extras_' . BL::getWorkingLanguage()];
     } elseif (isset($this->record['data']['default_extras'])) {
         $this->extras = $this->record['data']['default_extras'];
     }
     // assign
     $this->tpl->assign('template', $this->record);
     // is the template being used
     $inUse = BackendExtensionsModel::isTemplateInUse($this->id);
     // determine if deleting is allowed
     $deleteAllowed = true;
     if ($this->record['id'] == $this->get('fork.settings')->get('Pages', 'default_template')) {
         $deleteAllowed = false;
     } elseif (count(BackendExtensionsModel::getTemplates()) == 1) {
         $deleteAllowed = false;
     } elseif ($inUse) {
         $deleteAllowed = false;
     } elseif (!BackendAuthentication::isAllowedAction('DeleteThemeTemplate')) {
         $deleteAllowed = false;
     }
     // assign
     $this->tpl->assign('inUse', $inUse);
     $this->tpl->assign('showExtensionsDeleteThemeTemplate', $deleteAllowed);
 }
Example #30
0
 /**
  * Loads the datagrid with the campaigns
  */
 private function loadDataGrid()
 {
     // create datagrid
     $this->dataGrid = new BackendDataGridDB(BackendMailmotorModel::QRY_DATAGRID_BROWSE_CAMPAIGNS);
     // set headers values
     $headers['name'] = \SpoonFilter::ucfirst(BL::lbl('Title'));
     $headers['created_on'] = \SpoonFilter::ucfirst(BL::lbl('Created'));
     // set headers
     $this->dataGrid->setHeaderLabels($headers);
     // sorting columns
     $this->dataGrid->setSortingColumns(array('name', 'created_on'), 'name');
     $this->dataGrid->setSortParameter('desc');
     // add the multicheckbox column
     $this->dataGrid->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->dataGrid->setColumnsSequence('checkbox');
     // add mass action dropdown
     $ddmMassAction = new \SpoonFormDropdown('action', array('delete' => BL::lbl('Delete')), 'delete');
     $this->dataGrid->setMassAction($ddmMassAction);
     // set column functions
     $this->dataGrid->setColumnFunction(array(new BackendDataGridFunctions(), 'getTimeAgo'), array('[created_on]'), 'created_on', true);
     // add statistics column
     $this->dataGrid->addColumn('statistics');
     $this->dataGrid->setColumnAttributes('statistics', array('class' => 'action actionStatistics', 'width' => '10%'));
     $this->dataGrid->setColumnFunction(array(__CLASS__, 'setStatisticsLink'), array('[id]'), 'statistics', true);
     // add edit column
     $this->dataGrid->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('EditCampaign') . '&amp;id=[id]', BL::lbl('Edit'));
     // add styles
     $this->dataGrid->setColumnAttributes('name', array('class' => 'title'));
     // set paging limit
     $this->dataGrid->setPagingLimit(self::PAGING_LIMIT);
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('Index')) {
         // set column URLs
         $this->dataGrid->setColumnURL('name', BackendModel::createURLForAction('Index') . '&amp;campaign=[id]');
     }
 }