Merge pull request #8250 from eileenmcnaughton/tests
[civicrm-core.git] / CRM / Contact / Form / Task / Unhold.php
1 <?php
2
3 /**
4 * Class CRM_Contact_Form_Task_Unhold
5 */
6 class CRM_Contact_Form_Task_Unhold extends CRM_Contact_Form_Task {
7
8 /**
9 * Set variables up before form is built.
10 */
11 public function preProcess() {
12 parent::preProcess();
13 }
14
15 public function buildQuickForm() {
16 $this->addDefaultButtons(ts('Unhold Email'), 'done');
17 }
18
19 public function postProcess() {
20 // Query to unhold emails of selected contacts
21 $num = count($this->_contactIds);
22 if ($num >= 1) {
23 $queryString = "
24 UPDATE civicrm_email SET on_hold = 0, hold_date = null
25 WHERE on_hold = 1 AND hold_date is not null AND contact_id in (" . implode(",", $this->_contactIds) . ")";
26 $result = CRM_Core_DAO::executeQuery($queryString);
27 $rowCount = $result->affectedRows();
28
29 if ($rowCount) {
30 CRM_Core_Session::setStatus(ts('%count email was found on hold and updated.', array(
31 'count' => $rowCount,
32 'plural' => '%count emails were found on hold and updated.',
33 )), ts('Emails Restored'), 'success');
34 }
35 else {
36 CRM_Core_Session::setStatus(ts('The selected contact does not have an email on hold.', array(
37 'plural' => 'None of the selected contacts have an email on hold.',
38 )), ts('No Emails to Restore'), 'info');
39 }
40 }
41 else {
42 CRM_Core_Session::setStatus(ts('Please select one or more contact for this action'), ts('No Contacts Selected'), 'error');
43 }
44 }
45
46 }