Ejemplo n.º 1
0
 /**
  * Function to set variables up before form is built
  *
  * @param null
  *
  * @return void
  * @access public
  */
 public function preProcess()
 {
     if ($this->_action & CRM_Core_Action::DELETE) {
         //check permission for action.
         if (!CRM_Core_Permission::checkActionPermission('CiviEvent', $this->_action)) {
             CRM_Core_Error::fatal(ts('You do not have permission to access this page'));
         }
         $this->_id = CRM_Utils_Request::retrieve('id', 'Positive', $this);
         $this->_title = CRM_Core_DAO::getFieldValue('CRM_PCP_DAO_PCP', $this->_id, 'title');
         $this->assign('title', $this->_title);
         parent::preProcess();
     }
     if (!$this->_action) {
         $this->_action = CRM_Utils_Array::value('action', $_GET);
         $this->_id = CRM_Utils_Array::value('id', $_GET);
     } else {
         $this->_id = CRM_Utils_Request::retrieve('id', 'Positive', $this);
     }
     //give the context.
     if (!isset($this->_context)) {
         $this->_context = CRM_Utils_Request::retrieve('context', 'String', $this);
     }
     $this->assign('context', $this->_context);
     $session = CRM_Core_Session::singleton();
     $context = $session->popUserContext();
     $userID = $session->get('userID');
     //do not allow destructive actions without permissions
     $permission = FALSE;
     if (CRM_Core_Permission::check('administer CiviCRM') || $userID && CRM_Core_DAO::getFieldValue('CRM_PCP_DAO_PCP', $this->_id, 'contact_id') == $userID) {
         $permission = TRUE;
     }
     if ($permission && $this->_id) {
         $this->_title = CRM_Core_DAO::getFieldValue('CRM_PCP_DAO_PCP', $this->_id, 'title');
         switch ($this->_action) {
             case CRM_Core_Action::DELETE:
             case 'delete':
                 CRM_PCP_BAO_PCP::deleteById($this->_id);
                 CRM_Core_Session::setStatus(ts("The Campaign Page '%1' has been deleted.", array(1 => $this->_title)), ts('Page Deleted'), 'success');
                 break;
             case CRM_Core_Action::DISABLE:
             case 'disable':
                 CRM_PCP_BAO_PCP::setDisable($this->_id, '0');
                 CRM_Core_Session::setStatus(ts("The Campaign Page '%1' has been disabled.", array(1 => $this->_title)), ts('Page Disabled'), 'success');
                 break;
             case CRM_Core_Action::ENABLE:
             case 'enable':
                 CRM_PCP_BAO_PCP::setDisable($this->_id, '1');
                 CRM_Core_Session::setStatus(ts("The Campaign Page '%1' has been enabled.", array(1 => $this->_title)), ts('Page Enabled'), 'success');
                 break;
         }
         if ($context) {
             CRM_Utils_System::redirect($context);
         }
     }
 }