static function postProcess(&$form)
 {
     $values = $form->exportValues();
     $teamId = $values['pcp_team_contact'];
     $teampcpId = CRM_Pcpteams_Utils::getPcpIdByContactAndEvent($form->get('component_page_id'), $teamId);
     $userId = CRM_Pcpteams_Utils::getloggedInUserId();
     // Create Team Member of relation to this Team
     $cfpcpab = CRM_Pcpteams_Utils::getPcpABCustomFieldId();
     $cfpcpba = CRM_Pcpteams_Utils::getPcpBACustomFieldId();
     $customParams = array("custom_{$cfpcpab}" => $form->get('page_id'), "custom_{$cfpcpba}" => $teampcpId);
     CRM_Pcpteams_Utils::createTeamRelationship($userId, $teamId, $customParams);
     $form->_teamName = CRM_Contact_BAO_Contact::displayName($teamId);
     $form->set('teamName', $form->_teamName);
     $form->set('teamContactID', $teamId);
     $form->set('teamPcpId', $teampcpId);
     $teamAdminId = CRM_Pcpteams_Utils::getTeamAdmin($teampcpId);
     // Team Join: create activity
     $actParams = array('target_contact_id' => $teamId, 'assignee_contact_id' => $teamAdminId);
     CRM_Pcpteams_Utils::createPcpActivity($actParams, CRM_Pcpteams_Constant::C_AT_REQ_MADE);
     CRM_Core_Session::setStatus(ts('A notification has been sent to the team. Once approved, team should be visible on your page.'), ts('Team Request Sent'));
     //send email once the team request has done.
     list($teamAdminName, $teamAdminEmail) = CRM_Contact_BAO_Contact::getContactDetails($teamAdminId);
     $contactDetails = civicrm_api('Contact', 'get', array('version' => 3, 'sequential' => 1, 'id' => $userId));
     $emailParams = array('tplParams' => array('teamAdminName' => $teamAdminName, 'userFirstName' => $contactDetails['values'][0]['first_name'], 'userlastName' => $contactDetails['values'][0]['last_name'], 'teamName' => $form->_teamName, 'pageURL' => CRM_Utils_System::url('civicrm/pcp/manage', "reset=1&id={$teampcpId}", TRUE, NULL, FALSE, TRUE)), 'email' => array($teamAdminName => array('first_name' => $teamAdminName, 'last_name' => $teamAdminName, 'email-Primary' => $teamAdminEmail, 'display_name' => $teamAdminName)), 'valueName' => CRM_Pcpteams_Constant::C_MSG_TPL_JOIN_REQUEST);
     $sendEmail = CRM_Pcpteams_Utils::sendMail($userId, $emailParams);
 }
function survey_get_example()
{
    $params = array('version' => 3, 'title' => 'survey title', 'activity_type_id' => '30', 'max_number_of_contacts' => 12, 'instructions' => 'Call people, ask for money');
    require_once 'api/api.php';
    $result = civicrm_api('survey', 'get', $params);
    return $result;
}
function survey_get_example()
{
    $params = array('version' => 3, 'title' => 'survey title', 'api.survey.delete' => 1);
    require_once 'api/api.php';
    $result = civicrm_api('survey', 'get', $params);
    return $result;
}
function uf_group_get_example()
{
    $params = array('add_captcha' => 1, 'add_contact_to_group' => 2, 'cancel_URL' => 'http://example.org/cancel', 'created_date' => '2009-06-27 00:00:00', 'created_id' => 69, 'group' => 2, 'group_type' => 'Individual,Contact', 'help_post' => 'help post', 'help_pre' => 'help pre', 'is_active' => 0, 'is_cms_user' => 1, 'is_edit_link' => 1, 'is_map' => 1, 'is_reserved' => 1, 'is_uf_link' => 1, 'is_update_dupe' => 1, 'name' => 'Test_Group', 'notify' => '*****@*****.**', 'post_URL' => 'http://example.org/post', 'title' => 'Test Group', 'version' => 3);
    require_once 'api/api.php';
    $result = civicrm_api('uf_group', 'get', $params);
    return $result;
}
function participant_get_example()
{
    $params = array('id' => 14, 'version' => 3);
    require_once 'api/api.php';
    $result = civicrm_api('participant', 'get', $params);
    return $result;
}
Beispiel #6
0
 /**
  * @param array $cxn
  * @param string $entity
  * @param string $action
  * @param array $params
  * @return mixed
  */
 public static function route($cxn, $entity, $action, $params)
 {
     $SUPER_PERM = array('administer CiviCRM');
     require_once 'api/v3/utils.php';
     // FIXME: Shouldn't the X-Forwarded-Proto check be part of CRM_Utils_System::isSSL()?
     if (CRM_Core_BAO_Setting::getItem(CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME, 'enableSSL') && !CRM_Utils_System::isSSL() && strtolower(CRM_Utils_Array::value('X_FORWARDED_PROTO', CRM_Utils_System::getRequestHeaders())) != 'https') {
         return civicrm_api3_create_error('System policy requires HTTPS.');
     }
     // Note: $cxn and cxnId are authenticated before router is called.
     $dao = new CRM_Cxn_DAO_Cxn();
     $dao->cxn_id = $cxn['cxnId'];
     if (empty($cxn['cxnId']) || !$dao->find(TRUE) || !$dao->cxn_id) {
         return civicrm_api3_create_error('Failed to lookup connection authorizations.');
     }
     if (!$dao->is_active) {
         return civicrm_api3_create_error('Connection is inactive.');
     }
     if (!is_string($entity) || !is_string($action) || !is_array($params)) {
         return civicrm_api3_create_error('API parameters are malformed.');
     }
     if (empty($cxn['perm']['api']) || !is_array($cxn['perm']['api']) || empty($cxn['perm']['grant']) || !(is_array($cxn['perm']['grant']) || is_string($cxn['perm']['grant']))) {
         return civicrm_api3_create_error('Connection has no permissions.');
     }
     $whitelist = \Civi\API\WhitelistRule::createAll($cxn['perm']['api']);
     \Civi::service('dispatcher')->addSubscriber(new \Civi\API\Subscriber\WhitelistSubscriber($whitelist));
     CRM_Core_Config::singleton()->userPermissionTemp = new CRM_Core_Permission_Temp();
     if ($cxn['perm']['grant'] === '*') {
         CRM_Core_Config::singleton()->userPermissionTemp->grant($SUPER_PERM);
     } else {
         CRM_Core_Config::singleton()->userPermissionTemp->grant($cxn['perm']['grant']);
     }
     $params['check_permissions'] = 'whitelist';
     return civicrm_api($entity, $action, $params);
 }
function group_contact_get_example()
{
    $params = array('group_id' => 1, 'version' => 3, 'api.contact.get' => 1);
    require_once 'api/api.php';
    $result = civicrm_api('group_contact', 'get', $params);
    return $result;
}
function line_item_get_example()
{
    $params = array('version' => 3, 'entity_table' => 'civicrm_contribution');
    require_once 'api/api.php';
    $result = civicrm_api('line_item', 'get', $params);
    return $result;
}
function activity_type_delete_example()
{
    $params = array('activity_type_id' => 682, 'version' => 3);
    require_once 'api/api.php';
    $result = civicrm_api('activity_type', 'delete', $params);
    return $result;
}
Beispiel #10
0
 /**
  * Custom getContactList AJAX  from CRM_Contact_Page_AJAX
  *
  */
 static function getContactList()
 {
     $params = array('version' => 3, 'check_permissions' => TRUE);
     // String params
     // FIXME: param keys don't match input keys, using this array to translate
     $whitelist = array('s' => 'name', 'fieldName' => 'field_name', 'tableName' => 'table_name', 'context' => 'context', 'rel' => 'rel');
     foreach ($whitelist as $key => $param) {
         if (!empty($_GET[$key])) {
             $params[$param] = $_GET[$key];
         }
     }
     //CRM-10687: Allow quicksearch by multiple fields
     if (!empty($params['field_name'])) {
         if ($params['field_name'] == 'phone_numeric') {
             $params['name'] = preg_replace('/[^\\d]/', '', $params['name']);
         }
         if (!$params['name']) {
             CRM_Utils_System::civiExit();
         }
     }
     // Numeric params
     $whitelist = array('limit', 'org', 'employee_id', 'cid', 'id', 'cmsuser');
     foreach ($whitelist as $key) {
         if (!empty($_GET[$key]) && is_numeric($_GET[$key])) {
             $params[$key] = $_GET[$key];
         }
     }
     $result = civicrm_api('Contact', 'getquick', $params);
     if (empty($result['is_error']) && !empty($result['values'])) {
         foreach ($result['values'] as $key => $val) {
             echo "{$val['id']}::{$val['data']}|{$val['id']}\n";
         }
     }
     CRM_Utils_System::civiExit();
 }
function entity_tag_create_example()
{
    $params = array('contact_id' => 1, 'tag_id' => 1, 'version' => 3);
    require_once 'api/api.php';
    $result = civicrm_api('entity_tag', 'create', $params);
    return $result;
}
Beispiel #12
0
function banking_civicrm_install_options($data)
{
    foreach ($data as $groupName => $group) {
        // check group existence
        $result = civicrm_api('option_group', 'getsingle', array('version' => 3, 'name' => $groupName));
        if (isset($result['is_error']) && $result['is_error']) {
            $params = array('version' => 3, 'sequential' => 1, 'name' => $groupName, 'is_reserved' => 1, 'is_active' => 1, 'title' => $group['title'], 'description' => $group['description']);
            $result = civicrm_api('option_group', 'create', $params);
            $group_id = $result['values'][0]['id'];
        } else {
            $group_id = $result['id'];
        }
        if (is_array($group['values'])) {
            $groupValues = $group['values'];
            $weight = 1;
            //print_r(array_keys($groupValues));
            foreach ($groupValues as $valueName => $value) {
                $result = civicrm_api('option_value', 'getsingle', array('version' => 3, 'name' => $valueName));
                if (isset($result['is_error']) && $result['is_error']) {
                    $params = array('version' => 3, 'sequential' => 1, 'option_group_id' => $group_id, 'name' => $valueName, 'label' => $value['label'], 'value' => $value['value'], 'weight' => $weight, 'is_default' => $value['is_default'], 'is_active' => 1);
                    $result = civicrm_api('option_value', 'create', $params);
                } else {
                    $weight = $result['weight'] + 1;
                }
            }
        }
    }
}
function uf_match_get_example()
{
    $params = array('contact_id' => 69, 'version' => 3);
    require_once 'api/api.php';
    $result = civicrm_api('uf_match', 'get', $params);
    return $result;
}
function activity_create_example()
{
    $params = array('source_contact_id' => 17, 'activity_type_id' => 40, 'subject' => 'test activity type id', 'activity_date_time' => '2011-06-02 14:36:13', 'status_id' => 2, 'priority_id' => 1, 'duration' => 120, 'location' => 'Pensulvania', 'details' => 'a test activity', 'version' => 3, 'custom_2' => '17');
    require_once 'api/api.php';
    $result = civicrm_api('activity', 'create', $params);
    return $result;
}
function contribution_get_example()
{
    $params = array('contribution_id' => 1, 'version' => 3);
    require_once 'api/api.php';
    $result = civicrm_api('contribution', 'get', $params);
    return $result;
}
function membership_get_example()
{
    $params = array('version' => 3, 'membership_type_id' => 9);
    require_once 'api/api.php';
    $result = civicrm_api('membership', 'get', $params);
    return $result;
}
function activity__example()
{
    $params = array('source_contact_id' => 17, 'subject' => 'Make-it-Happen Meeting', 'activity_date_time' => '20110316', 'duration' => 120, 'location' => 'Pensulvania', 'details' => 'a test activity', 'status_id' => 1, 'activity_type_id' => 1, 'version' => 3, 'priority_id' => 1, 'target_contact_id' => 17, 'assignee_contact_id' => 17);
    require_once 'api/api.php';
    $result = civicrm_api('activity', '', $params);
    return $result;
}
/**
 * Get details for the target and assignee contact of an activity.
 *
 * This is "simple" in that it is only appropriate for activities in which the business-process
 * guarantees that there is only one target and one assignee. If the business-process permits
 * multiple targets or multiple assignees, then consider the more versatile (but less sugary)
 * function "crmAPI".
 *
 * Note: This will perform like a dog, but who cares -- at most, we deal with O(100) iterations
 * as part of a background task.
 *
 * @param $params , array with keys:
 *  - activity_id: int, required
 *  - target_var: string, optional; name of a variable which will store the first/only target contact; default "target"
 *  - assignee_var: string, optional; name of a variable which will store the first/only assignee contact; default "assignee"
 *  - return: string, optional; comma-separated list of fields to return for each contact
 *
 * @param $smarty
 *
 * @return empty
 */
function smarty_function_simpleActivityContacts($params, &$smarty)
{
    if (empty($params['activity_id'])) {
        $smarty->trigger_error('assign: missing \'activity_id\' parameter');
    }
    if (!isset($params['target_var'])) {
        $params['target_var'] = 'target';
    }
    if (!isset($params['assignee_var'])) {
        $params['assignee_var'] = 'assignee';
    }
    if (!isset($params['return'])) {
        $params['return'] = 'contact_id,contact_type,display_name,sort_name,first_name,last_name';
    }
    require_once 'api/api.php';
    require_once 'api/v3/utils.php';
    $activity = civicrm_api('activity', 'getsingle', array('version' => 3, 'id' => $params['activity_id'], 'return.target_contact_id' => 1, 'return.assignee_contact_id' => 1));
    $baseContactParams = array('version' => 3);
    foreach (explode(',', $params['return']) as $field) {
        $baseContactParams['return.' . $field] = 1;
    }
    foreach (array('target', 'assignee') as $role) {
        $contact = array();
        if (!empty($activity[$role . '_contact_id'])) {
            $contact_id = array_shift($activity[$role . '_contact_id']);
            $contact = civicrm_api('contact', 'getsingle', $baseContactParams + array('contact_id' => $contact_id));
        }
        $smarty->assign($params[$role . '_var'], $contact);
    }
    return '';
}
function group_contact__example()
{
    $params = array('contact_id' => '1', 'group_id' => '1', 'version' => '3');
    require_once 'api/api.php';
    $result = civicrm_api('group_contact', '', $params);
    return $result;
}
function mailing_group_subscribe_example()
{
    $params = array('email' => '*****@*****.**', 'group_id' => 2, 'contact_id' => 1, 'version' => 3, 'hash' => 'b15de8b64e2cec34', 'time_stamp' => '20101212121212');
    require_once 'api/api.php';
    $result = civicrm_api('mailing_group', 'subscribe', $params);
    return $result;
}
function domain_create_example()
{
    $params = array('name' => 'A-team domain', 'description' => 'domain of chaos', 'version' => 3, 'domain_version' => '4.2', 'loc_block_id' => '2');
    require_once 'api/api.php';
    $result = civicrm_api('domain', 'create', $params);
    return $result;
}
function custom_group_get_example()
{
    $params = array('version' => 3);
    require_once 'api/api.php';
    $result = civicrm_api('custom_group', 'get', $params);
    return $result;
}
function relationship_type_delete_example()
{
    $params = array('id' => 1, 'version' => 3);
    require_once 'api/api.php';
    $result = civicrm_api('relationship_type', 'delete', $params);
    return $result;
}
function phone_create_example()
{
    $params = array('contact_id' => 1, 'location_type_id' => 6, 'phone' => '021 512 755', 'is_primary' => 1, 'version' => 3);
    require_once 'api/api.php';
    $result = civicrm_api('phone', 'create', $params);
    return $result;
}
function option_value_get_example()
{
    $params = array('option_group_id' => 1, 'version' => 3);
    require_once 'api/api.php';
    $result = civicrm_api('option_value', 'get', $params);
    return $result;
}
function group_organization_create_example()
{
    $params = array('organization_id' => 1, 'group_id' => 1, 'version' => 3);
    require_once 'api/api.php';
    $result = civicrm_api('group_organization', 'create', $params);
    return $result;
}
function price_set_get_example()
{
    $params = array('version' => 3, 'name' => 'default_contribution_amount');
    require_once 'api/api.php';
    $result = civicrm_api('price_set', 'get', $params);
    return $result;
}
function relationship_get_example()
{
    $params = array('version' => 3, 'id' => 1);
    require_once 'api/api.php';
    $result = civicrm_api('relationship', 'get', $params);
    return $result;
}
Beispiel #29
0
/**
 */
function smarty_function_crmAPI($params, &$smarty)
{
    if (!array_key_exists('action', $params)) {
        $params['action'] = "get";
    }
    if (!array_key_exists('sequential', $params)) {
        $params['sequential'] = 1;
    }
    if (!array_key_exists('entity', $params)) {
        $smarty->trigger_error("assign: missing 'entity' parameter");
        return "crmAPI: missing 'entity' parameter";
    }
    CRM_Core_Error::setCallback(array('CRM_Utils_REST', 'fatal'));
    $action = $params['action'];
    $entity = $params['entity'];
    unset($params['entity']);
    unset($params['method']);
    unset($params['assign']);
    $params['version'] = 3;
    require_once 'api/api.php';
    $result = civicrm_api($entity, $action, $params);
    CRM_Core_Error::setCallback();
    if ($result === FALSE) {
        $smarty->trigger_error("Unkown error");
        return;
    }
    if (!array_key_exists('var', $params)) {
        return json_encode($result);
    }
    if (!empty($params['json'])) {
        $smarty->assign($params["var"], json_encode($result));
    } else {
        $smarty->assign($params["var"], $result);
    }
}
function membership_type_create_example()
{
    $params = array('name' => '40+ Membership', 'description' => 'people above 40 are given health instructions', 'member_of_contact_id' => 1, 'contribution_type_id' => 1, 'domain_id' => '1', 'minimum_fee' => '200', 'duration_unit' => 'month', 'duration_interval' => '10', 'period_type' => 'rolling', 'visibility' => 'public', 'version' => 3);
    require_once 'api/api.php';
    $result = civicrm_api('membership_type', 'create', $params);
    return $result;
}