Skip to content
Snippets Groups Projects
Commit 1b91a3d5 authored by Erik Hommel's avatar Erik Hommel
Browse files

cleanup conditions

parent ecd6eda2
No related branches found
No related tags found
No related merge requests found
<?php <?php
/**
* Class for CiviRules AgeComparison (extending generic ValueComparison)
*
* @author Jaap Jansma (CiviCooP) <jaap.jansma@civicoop.org>
* @license AGPL-3.0
*/
class CRM_CivirulesConditions_AgeComparison extends CRM_CivirulesConditions_Generic_ValueComparison { class CRM_CivirulesConditions_AgeComparison extends CRM_CivirulesConditions_Generic_ValueComparison {
/** /**
* Returns value of the field * Returns value of the field
* *
* @param CRM_Civirules_EventData_EventData $eventData * @param object CRM_Civirules_EventData_EventData $eventData
* @return mixed * @return mixed
* @access protected
*/ */
protected function getFieldValue(CRM_Civirules_EventData_EventData $eventData) { protected function getFieldValue(CRM_Civirules_EventData_EventData $eventData) {
$birth_date = civicrm_api3('Contact', 'getvalue', array('id' => $eventData->getContactId(), 'return' => 'birth_date')); $sourceBirthDate = civicrm_api3('Contact', 'getvalue', array('id' => $eventData->getContactId(), 'return' => 'birth_date'));
if ($birth_date) { if ($sourceBirthDate) {
$birthDate = new DateTime($birth_date); $birthDate = new DateTime($sourceBirthDate);
return $birthDate->diff(new DateTime('now'))->y; return $birthDate->diff(new DateTime('now'))->y;
} }
return false; //undefined birth date return false; //undefined birth date
} }
/** /**
* Retruns a user friendly text explaining the condition params * Returns a user friendly text explaining the condition params
* e.g. 'Older than 65' * e.g. 'Older than 65'
* *
* @return string * @return string
* @access public
*/ */
public function userFriendlyConditionParams() { public function userFriendlyConditionParams() {
switch ($this->getOperator()) { switch ($this->getOperator()) {
...@@ -54,6 +62,7 @@ class CRM_CivirulesConditions_AgeComparison extends CRM_CivirulesConditions_Gene ...@@ -54,6 +62,7 @@ class CRM_CivirulesConditions_AgeComparison extends CRM_CivirulesConditions_Gene
* Returns an array with required entity names * Returns an array with required entity names
* *
* @return array * @return array
* @access public
*/ */
public function requiredEntities() { public function requiredEntities() {
return array('contact'); return array('contact');
......
<?php <?php
/**
* Class for CiviRules AgeComparison (extending generic ValueComparison)
*
* @author Jaap Jansma (CiviCooP) <jaap.jansma@civicoop.org>
* @license AGPL-3.0
*/
class CRM_CivirulesConditions_BirthdayChanged extends CRM_CivirulesConditions_Generic_FieldChanged { class CRM_CivirulesConditions_BirthdayChanged extends CRM_CivirulesConditions_Generic_FieldChanged {
...@@ -6,6 +12,7 @@ class CRM_CivirulesConditions_BirthdayChanged extends CRM_CivirulesConditions_Ge ...@@ -6,6 +12,7 @@ class CRM_CivirulesConditions_BirthdayChanged extends CRM_CivirulesConditions_Ge
* Returns name of entity * Returns name of entity
* *
* @return string * @return string
* @access protected
*/ */
protected function getEntity() { protected function getEntity() {
return 'contact'; return 'contact';
...@@ -13,14 +20,16 @@ class CRM_CivirulesConditions_BirthdayChanged extends CRM_CivirulesConditions_Ge ...@@ -13,14 +20,16 @@ class CRM_CivirulesConditions_BirthdayChanged extends CRM_CivirulesConditions_Ge
/** /**
* Returns name of the field * Returns name of the field
*
* @return string * @return string
* @access protected
*/ */
protected function getField() { protected function getField() {
return 'birth_date'; return 'birth_date';
} }
/** /**
* This function could be overridden in subclasses to * This method could be overridden in subclasses to
* transform field data to a certain type * transform field data to a certain type
* *
* E.g. a date field could be transformed to a DataTime object so that * E.g. a date field could be transformed to a DataTime object so that
...@@ -28,6 +37,7 @@ class CRM_CivirulesConditions_BirthdayChanged extends CRM_CivirulesConditions_Ge ...@@ -28,6 +37,7 @@ class CRM_CivirulesConditions_BirthdayChanged extends CRM_CivirulesConditions_Ge
* *
* @param $fieldData * @param $fieldData
* @return mixed * @return mixed
* @access protected
*/ */
protected function transformFieldData($fieldData) { protected function transformFieldData($fieldData) {
return new DateTime($fieldData); return new DateTime($fieldData);
......
<?php <?php
/**
* Class for CiviRules Primary Email Changed condition (extending generic FieldChanged)
*
* @author Jaap Jansma (CiviCooP) <jaap.jansma@civicoop.org>
* @license AGPL-3.0
*/
class CRM_CivirulesConditions_PrimaryEmailChanged extends CRM_CivirulesConditions_Generic_FieldChanged { class CRM_CivirulesConditions_PrimaryEmailChanged extends CRM_CivirulesConditions_Generic_FieldChanged {
...@@ -6,6 +12,7 @@ class CRM_CivirulesConditions_PrimaryEmailChanged extends CRM_CivirulesCondition ...@@ -6,6 +12,7 @@ class CRM_CivirulesConditions_PrimaryEmailChanged extends CRM_CivirulesCondition
* Returns name of entity * Returns name of entity
* *
* @return string * @return string
* @access protected
*/ */
protected function getEntity() { protected function getEntity() {
return 'Email'; return 'Email';
...@@ -13,13 +20,21 @@ class CRM_CivirulesConditions_PrimaryEmailChanged extends CRM_CivirulesCondition ...@@ -13,13 +20,21 @@ class CRM_CivirulesConditions_PrimaryEmailChanged extends CRM_CivirulesCondition
/** /**
* Returns name of the field * Returns name of the field
*
* @return string * @return string
* @access protected
*/ */
protected function getField() { protected function getField() {
return 'email'; return 'email';
} }
/**
* Method to check if the condition is valid
*
* @param object CRM_Civirules_EventData_EventData $eventData
* @return bool
* @access public
*/
public function isConditionValid(CRM_Civirules_EventData_EventData $eventData) { public function isConditionValid(CRM_Civirules_EventData_EventData $eventData) {
$isValid = parent::isConditionValid($eventData); $isValid = parent::isConditionValid($eventData);
if ($isValid) { if ($isValid) {
...@@ -32,5 +47,4 @@ class CRM_CivirulesConditions_PrimaryEmailChanged extends CRM_CivirulesCondition ...@@ -32,5 +47,4 @@ class CRM_CivirulesConditions_PrimaryEmailChanged extends CRM_CivirulesCondition
} }
return $isValid; return $isValid;
} }
} }
\ No newline at end of file
<?php <?php
/**
* Class for CiviRules CronEvent Birthday
*
* @author Jaap Jansma (CiviCooP) <jaap.jansma@civicoop.org>
* @license AGPL-3.0
*/
class CRM_CivirulesCronEvent_Birthday extends CRM_Civirules_Event_Cron { class CRM_CivirulesCronEvent_Birthday extends CRM_Civirules_Event_Cron {
private $dao = false; private $dao = false;
/** /**
* This function returns a CRM_Civirules_EventData_EventData this entity is used for triggering the rule * This method returns a CRM_Civirules_EventData_EventData this entity is used for triggering the rule
* *
* Return false when no next entity is available * Return false when no next entity is available
* *
* @return CRM_Civirules_EventData_EventData|false * @return object|bool CRM_Civirules_EventData_EventData|false
* @access protected
*/ */
protected function getNextEntityEventData() { protected function getNextEntityEventData() {
if (!$this->dao) { if (!$this->dao) {
...@@ -24,6 +31,11 @@ class CRM_CivirulesCronEvent_Birthday extends CRM_Civirules_Event_Cron { ...@@ -24,6 +31,11 @@ class CRM_CivirulesCronEvent_Birthday extends CRM_Civirules_Event_Cron {
return false; return false;
} }
/**
* Method to query event entities
*
* @access private
*/
private function queryForEventEntities() { private function queryForEventEntities() {
$sql = "SELECT c.* $sql = "SELECT c.*
FROM `civicrm_contact` `c` FROM `civicrm_contact` `c`
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment