| GNU Affero General Public License or the licensing of CiviCRM, |
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
-*/
+ */
/**
*
$defaults['is_active'] = 1;
$defaults['is_honor_roll'] = 1;
$defaults['is_thermometer'] = 1;
+ $defaults['is_notify'] = 1;
}
$this->_contactID = CRM_Utils_Array::value('contact_id', $defaults);
}
/**
- * Build the form object
+ * Build the form object.
*
* @return void
*/
$this->addElement('checkbox', 'is_thermometer', ts('Progress Bar'));
$this->addElement('checkbox', 'is_honor_roll', ts('Honor Roll'), NULL);
+ if ($this->_pageId) {
+ $params = array('id' => $this->_pageId);
+ CRM_Core_DAO::commonRetrieve('CRM_PCP_DAO_PCP', $params, $pcpInfo);
+ $owner_notification_option = CRM_Core_DAO::getFieldValue('CRM_PCP_DAO_PCPBlock', $pcpInfo['pcp_block_id'], 'owner_notify_id');
+ }
+ else {
+ $owner_notification_option = CRM_PCP_BAO_PCP::getOwnerNotificationId($this->controller->get('component_page_id'), $this->_component ? $this->_component : 'contribute');
+ }
+ if ($owner_notification_option == CRM_Core_OptionGroup::getValue('pcp_owner_notify', 'owner_chooses', 'name')) {
+ $this->assign('owner_notification_option', TRUE);
+ $this->addElement('checkbox', 'is_notify', ts('Notify me via email when someone donates to my page'), NULL);
+ }
+
$this->addElement('checkbox', 'is_active', ts('Active'));
+ if ($this->_context == 'dashboard') {
+ CRM_Core_Session::singleton()->pushUserContext(CRM_Utils_System::url('civicrm/admin/pcp', 'reset=1'));
+ }
$this->addButtons(
array(
}
/**
- * Global form rule
+ * Global form rule.
*
* @param array $fields
* The input form values.
* @param $self
*
*
- * @return true if no errors, else array of errors
- * @static
+ * @return bool|array
+ * true if no errors, else array of errors
*/
public static function formRule($fields, $files, $self) {
$errors = array();
}
/**
- * Process the form submission
+ * Process the form submission.
*
*
* @return void
*/
public function postProcess() {
- $params = $this->controller->exportValues($this->_name);
- $checkBoxes = array('is_thermometer', 'is_honor_roll', 'is_active');
+ $params = $this->controller->exportValues($this->_name);
+ $checkBoxes = array('is_thermometer', 'is_honor_roll', 'is_active', 'is_notify');
foreach ($checkBoxes as $key) {
if (!isset($params[$key])) {
// we also need to purify it, so lets clean it up
$htmlFields = array('intro_text', 'page_text', 'title');
foreach ($htmlFields as $field) {
- if (! empty($params[$field])) {
+ if (!empty($params[$field])) {
$params[$field] = CRM_Utils_String::purifyHTML($params[$field]);
}
}
$statusId = CRM_Core_DAO::getFieldValue('CRM_PCP_DAO_PCP', $pcp->id, 'status_id');
//send notification of PCP create/update.
- $pcpParams = array('entity_table' => $entity_table, 'entity_id' => $pcp->page_id);
+ $pcpParams = array('entity_table' => $entity_table, 'entity_id' => $pcp->page_id);
$notifyParams = array();
$notifyStatus = "";
CRM_Core_DAO::commonRetrieve('CRM_PCP_DAO_PCPBlock', $pcpParams, $notifyParams, array('notify_email'));
}
CRM_Core_Session::setStatus(ts("Your Personal Campaign Page has been %1 %2 %3",
- array(1 => $pageStatus, 2 => $approvalMessage, 3 => $notifyStatus)
- ), '', 'info');
+ array(1 => $pageStatus, 2 => $approvalMessage, 3 => $notifyStatus)
+ ), '', 'info');
if (!$this->_pageId) {
$session->pushUserContext(CRM_Utils_System::url('civicrm/pcp/info', "reset=1&id={$pcp->id}&ap={$anonymousPCP}"));
}
$session->pushUserContext(CRM_Utils_System::url('civicrm/admin/pcp', 'reset=1'));
}
}
+
}