Esempio n. 1
0
 /**
  * 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'));
     }
 }
Esempio n. 2
0
 /**
  * Loads the datagrids
  */
 private function loadDataGrids()
 {
     /*
      * DataGrid for the published comments.
      */
     $this->dgPublished = new BackendDataGridDB(BackendBlogModel::QRY_DATAGRID_BROWSE_COMMENTS, array('published', BL::getWorkingLanguage(), 'active'));
     // active tab
     $this->dgPublished->setActiveTab('tabPublished');
     // num items per page
     $this->dgPublished->setPagingLimit(30);
     // header labels
     $this->dgPublished->setHeaderLabels(array('created_on' => \SpoonFilter::ucfirst(BL::lbl('Date')), 'text' => \SpoonFilter::ucfirst(BL::lbl('Comment'))));
     // add the multicheckbox column
     $this->dgPublished->setMassActionCheckboxes('check', '[id]');
     // assign column functions
     $this->dgPublished->setColumnFunction(array(new BackendDataGridFunctions(), 'getTimeAgo'), '[created_on]', 'created_on', true);
     $this->dgPublished->setColumnFunction(array(new BackendDataGridFunctions(), 'cleanupPlaintext'), '[text]', 'text', true);
     $this->dgPublished->setColumnFunction(array(__CLASS__, 'addPostData'), array('[text]', '[post_title]', '[post_url]', '[id]'), 'text', true);
     // sorting
     $this->dgPublished->setSortingColumns(array('created_on', 'text', 'author'), 'created_on');
     $this->dgPublished->setSortParameter('desc');
     // hide columns
     $this->dgPublished->setColumnsHidden('post_id', 'post_title', 'post_url');
     // add mass action dropdown
     $ddmMassAction = new \SpoonFormDropdown('action', array('moderation' => BL::lbl('MoveToModeration'), 'spam' => BL::lbl('MoveToSpam'), 'delete' => BL::lbl('Delete')), 'spam', false, 'form-control', 'form-control danger');
     $ddmMassAction->setAttribute('id', 'actionPublished');
     $ddmMassAction->setOptionAttributes('delete', array('data-target' => '#confirmDeletePublished'));
     $ddmMassAction->setOptionAttributes('spam', array('data-target' => '#confirmPublishedToSpam'));
     $this->dgPublished->setMassAction($ddmMassAction);
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('EditComment')) {
         $this->dgPublished->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('EditComment') . '&id=[id]', BL::lbl('Edit'));
     }
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('MassCommentAction')) {
         $this->dgPublished->addColumn('mark_as_spam', null, BL::lbl('MarkAsSpam'), BackendModel::createURLForAction('MassCommentAction') . '&id=[id]&from=published&action=spam', BL::lbl('MarkAsSpam'));
     }
     /*
      * DataGrid for the comments that are awaiting moderation.
      */
     // datagrid for the comments that are awaiting moderation
     $this->dgModeration = new BackendDataGridDB(BackendBlogModel::QRY_DATAGRID_BROWSE_COMMENTS, array('moderation', BL::getWorkingLanguage(), 'active'));
     // active tab
     $this->dgModeration->setActiveTab('tabModeration');
     // num items per page
     $this->dgModeration->setPagingLimit(30);
     // header labels
     $this->dgModeration->setHeaderLabels(array('created_on' => \SpoonFilter::ucfirst(BL::lbl('Date')), 'text' => \SpoonFilter::ucfirst(BL::lbl('Comment'))));
     // add the multicheckbox column
     $this->dgModeration->setMassActionCheckboxes('check', '[id]');
     // assign column functions
     $this->dgModeration->setColumnFunction(array(new BackendDataGridFunctions(), 'getTimeAgo'), '[created_on]', 'created_on', true);
     $this->dgModeration->setColumnFunction(array(new BackendDataGridFunctions(), 'cleanupPlaintext'), '[text]', 'text', true);
     $this->dgModeration->setColumnFunction(array(__CLASS__, 'addPostData'), array('[text]', '[post_title]', '[post_url]', '[id]'), 'text', true);
     // sorting
     $this->dgModeration->setSortingColumns(array('created_on', 'text', 'author'), 'created_on');
     $this->dgModeration->setSortParameter('desc');
     // hide columns
     $this->dgModeration->setColumnsHidden('post_id', 'post_title', 'post_url');
     // add mass action dropdown
     $ddmMassAction = new \SpoonFormDropdown('action', array('published' => BL::lbl('MoveToPublished'), 'spam' => BL::lbl('MoveToSpam'), 'delete' => BL::lbl('Delete')), 'published', false, 'form-control', 'form-control danger');
     $ddmMassAction->setAttribute('id', 'actionModeration');
     $ddmMassAction->setOptionAttributes('delete', array('data-target' => '#confirmDeleteModeration'));
     $ddmMassAction->setOptionAttributes('spam', array('data-target' => '#confirmModerationToSpam'));
     $this->dgModeration->setMassAction($ddmMassAction);
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('EditComment')) {
         $this->dgModeration->addColumn('edit', null, BL::lbl('Edit'), BackendModel::createURLForAction('EditComment') . '&id=[id]', BL::lbl('Edit'));
     }
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('MassCommentAction')) {
         $this->dgModeration->addColumn('approve', null, BL::lbl('Approve'), BackendModel::createURLForAction('MassCommentAction') . '&id=[id]&from=published&action=published', BL::lbl('Approve'));
     }
     /*
      * DataGrid for the comments that are marked as spam
      */
     $this->dgSpam = new BackendDataGridDB(BackendBlogModel::QRY_DATAGRID_BROWSE_COMMENTS, array('spam', BL::getWorkingLanguage(), 'active'));
     // active tab
     $this->dgSpam->setActiveTab('tabSpam');
     // num items per page
     $this->dgSpam->setPagingLimit(30);
     // header labels
     $this->dgSpam->setHeaderLabels(array('created_on' => \SpoonFilter::ucfirst(BL::lbl('Date')), 'text' => \SpoonFilter::ucfirst(BL::lbl('Comment'))));
     // add the multicheckbox column
     $this->dgSpam->setMassActionCheckboxes('check', '[id]');
     // assign column functions
     $this->dgSpam->setColumnFunction(array(new BackendDataGridFunctions(), 'getTimeAgo'), '[created_on]', 'created_on', true);
     $this->dgSpam->setColumnFunction(array(new BackendDataGridFunctions(), 'cleanupPlaintext'), '[text]', 'text', true);
     $this->dgSpam->setColumnFunction(array(__CLASS__, 'addPostData'), array('[text]', '[post_title]', '[post_url]', '[id]'), 'text', true);
     // sorting
     $this->dgSpam->setSortingColumns(array('created_on', 'text', 'author'), 'created_on');
     $this->dgSpam->setSortParameter('desc');
     // hide columns
     $this->dgSpam->setColumnsHidden('post_id', 'post_title', 'post_url');
     // add mass action dropdown
     $ddmMassAction = new \SpoonFormDropdown('action', array('published' => BL::lbl('MoveToPublished'), 'moderation' => BL::lbl('MoveToModeration'), 'delete' => BL::lbl('Delete')), 'published', false, 'form-control', 'form-control danger');
     $ddmMassAction->setAttribute('id', 'actionSpam');
     $ddmMassAction->setOptionAttributes('delete', array('data-target' => '#confirmDeleteSpam'));
     $this->dgSpam->setMassAction($ddmMassAction);
     // check if this action is allowed
     if (BackendAuthentication::isAllowedAction('MassCommentAction')) {
         $this->dgSpam->addColumn('approve', null, BL::lbl('Approve'), BackendModel::createURLForAction('MassCommentAction') . '&id=[id]&from=spam&action=published', BL::lbl('Approve'));
     }
 }