Merge pull request #4696 from colemanw/CRM-15669
[civicrm-core.git] / CRM / Mailing / Form / Browse.php
1 <?php
2
3 /*
4 +--------------------------------------------------------------------+
5 | CiviCRM version 4.6 |
6 +--------------------------------------------------------------------+
7 | Copyright CiviCRM LLC (c) 2004-2014 |
8 +--------------------------------------------------------------------+
9 | This file is a part of CiviCRM. |
10 | |
11 | CiviCRM is free software; you can copy, modify, and distribute it |
12 | under the terms of the GNU Affero General Public License |
13 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
14 | |
15 | CiviCRM is distributed in the hope that it will be useful, but |
16 | WITHOUT ANY WARRANTY; without even the implied warranty of |
17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
18 | See the GNU Affero General Public License for more details. |
19 | |
20 | You should have received a copy of the GNU Affero General Public |
21 | License and the CiviCRM Licensing Exception along |
22 | with this program; if not, contact CiviCRM LLC |
23 | at info[AT]civicrm[DOT]org. If you have questions about the |
24 | GNU Affero General Public License or the licensing of CiviCRM, |
25 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
26 +--------------------------------------------------------------------+
27 */
28
29 /**
30 *
31 * @package CRM
32 * @copyright CiviCRM LLC (c) 2004-2014
33 * $Id$
34 *
35 */
36
37 /**
38 * Build the form object for disable mail feature
39 *
40 * @param
41 *
42 * @return void
43 */
44 class CRM_Mailing_Form_Browse extends CRM_Core_Form {
45
46 /**
47 * Heart of the viewing process. The runner gets all the meta data for
48 * the contact and calls the appropriate type of page to view.
49 *
50 * @return void
51 *
52 */
53 public function preProcess() {
54 $this->_mailingId = CRM_Utils_Request::retrieve('mid', 'Positive', $this);
55 $this->_action = CRM_Utils_Request::retrieve('action', 'String', $this);
56
57 // check for action permissions.
58 if (!CRM_Core_Permission::checkActionPermission('CiviMail', $this->_action)) {
59 CRM_Core_Error::fatal(ts('You do not have permission to access this page.'));
60 }
61
62 $mailing = new CRM_Mailing_BAO_Mailing();
63 $mailing->id = $this->_mailingId;
64 $subject = '';
65 if ($mailing->find(TRUE)) {
66 $subject = $mailing->subject;
67 }
68 $this->assign('subject', $subject);
69 }
70
71 /**
72 * Build the form object
73 *
74 * @return void
75 */
76
77 public function buildQuickForm() {
78 $this->addButtons(array(
79 array(
80 'type' => 'next',
81 'name' => ts('Confirm'),
82 'isDefault' => TRUE,
83 ),
84 array(
85 'type' => 'cancel',
86 'name' => ts('Cancel'),
87 ),
88 )
89 );
90 }
91
92 /**
93 *
94 * @return void
95 */
96 public function postProcess() {
97 if ($this->_action & CRM_Core_Action::DELETE) {
98 CRM_Mailing_BAO_Mailing::del($this->_mailingId);
99 }
100 elseif ($this->_action & CRM_Core_Action::DISABLE) {
101 CRM_Mailing_BAO_MailingJob::cancel($this->_mailingId);
102 }
103 elseif ($this->_action & CRM_Core_Action::RENEW) {
104 //set is_archived to 1
105 CRM_Core_DAO::setFieldValue('CRM_Mailing_DAO_Mailing', $this->_mailingId, 'is_archived', TRUE);
106 }
107 }
108 }