本文整理汇总了PHP中CRM_Core_Form::setDefaults方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Core_Form::setDefaults方法的具体用法?PHP CRM_Core_Form::setDefaults怎么用?PHP CRM_Core_Form::setDefaults使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Core_Form
的用法示例。
在下文中一共展示了CRM_Core_Form::setDefaults方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: buildForm
/**
* Prepare a set of search fields
*
* @param CRM_Core_Form $form modifiable
* @return void
*/
function buildForm(&$form)
{
CRM_Utils_System::setTitle(ts('Find Post Code'));
$form->add('text', 'post_code', 'Post Code');
$form->add('select', 'post_city', 'Post City', $this->citiesList);
$defaults = $this->retrieveDefaultValues();
if (!empty($defaults)) {
$form->setDefaults($defaults);
}
$form->assign('elements', array('post_code', 'post_city'));
}
示例2: buildForm
/**
* Prepare a set of search fields
*
* @param CRM_Core_Form $form modifiable
* @return void
*/
function buildForm(&$form)
{
CRM_Utils_System::setTitle(ts('My Search Title'));
$form->add('text', 'household_name', ts('Household Name'), TRUE);
$stateProvince = array('' => ts('- any state/province -')) + CRM_Core_PseudoConstant::stateProvince();
$form->addElement('select', 'state_province_id', ts('State/Province'), $stateProvince);
// Optionally define default search values
$form->setDefaults(array('household_name' => '', 'state_province_id' => NULL));
/**
* if you are using the standard template, this array tells the template what elements
* are part of the search criteria
*/
$form->assign('elements', array('household_name', 'state_province_id'));
}
示例3: basic
/**
* @param CRM_Core_Form $form
*/
public static function basic(&$form)
{
$form->addElement('hidden', 'hidden_basic', 1);
// text for sort_name
$form->addElement('text', 'target_name', ts('Target Contact'), CRM_Core_DAO::getAttribute('CRM_Contact_DAO_Contact', 'sort_name'));
$allRelationshipType = array();
$allRelationshipType = CRM_Contact_BAO_Relationship::getContactRelationshipType(NULL, NULL, NULL, NULL, TRUE);
$form->add('select', 'relationship_type_id', ts('Relationship Type'), array('' => ts('- select -')) + $allRelationshipType, FALSE, array('class' => 'crm-select2', 'multiple' => 'multiple'));
// relation status
$relStatusOption = array(ts('Active'), ts('Inactive'), ts('All'));
$form->addRadio('is_active', ts('Relationship Status'), $relStatusOption);
$form->setDefaults(array('is_active' => 0));
CRM_Core_Form_Date::buildDateRange($form, 'start_date', 1, '_low', '_high', ts('From:'), FALSE, FALSE);
CRM_Core_Form_Date::buildDateRange($form, 'end_date', 1, '_low', '_high', ts('From:'), FALSE, FALSE);
}
示例4: buildForm
/**
* Prepare a set of search fields
*
* @param CRM_Core_Form $form modifiable
* @return void
*/
function buildForm(&$form)
{
CRM_Utils_System::setTitle(ts('Search for Players on Teams'));
$form->add('text', 'contact_id', ts('Player ID'), TRUE);
$form->add('text', 'group_id', ts('Team ID'), TRUE);
//$team = array('' => ts('- any team -')) + CRM_Core_PseudoConstant::stateProvince();
//$form->addElement('select', 'group_id', ts('Team'), $team);
// Optionally define default search values
$form->setDefaults(array('contact_id' => '', 'group_id' => NULL));
/**
* if you are using the standard template, this array tells the template what elements
* are part of the search criteria
*/
$form->assign('elements', array('contact_id', 'group_id'));
}
示例5: buildQuickForm
/**
* Build tag widget if correct parent is passed
*
* @param CRM_Core_Form $form
* Form object.
* @param string $parentNames
* Parent name ( tag name).
* @param string $entityTable
* Entitytable 'eg: civicrm_contact'.
* @param int $entityId
* Entityid 'eg: contact id'.
* @param bool $skipTagCreate
* True if tag need be created using ajax.
* @param bool $skipEntityAction
* True if need to add entry in entry table via ajax.
* @param string $tagsetElementName
* If you need to create tagsetlist with specific name.
*/
public static function buildQuickForm(&$form, $parentNames, $entityTable, $entityId = NULL, $skipTagCreate = FALSE, $skipEntityAction = FALSE, $tagsetElementName = NULL)
{
$tagset = $form->_entityTagValues = array();
$form->assign("isTagset", FALSE);
$mode = NULL;
foreach ($parentNames as &$parentNameItem) {
// get the parent id for tag list input for keyword
$parentId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Tag', $parentNameItem, 'id', 'name');
// check if parent exists
if ($parentId) {
$tagsetItem = $tagsetElementName . 'parentId_' . $parentId;
$tagset[$tagsetItem]['parentID'] = $parentId;
list(, $mode) = explode('_', $entityTable);
if (!$tagsetElementName) {
$tagsetElementName = $mode . "_taglist";
}
$tagset[$tagsetItem]['tagsetElementName'] = $tagsetElementName;
$form->addEntityRef("{$tagsetElementName}[{$parentId}]", $parentNameItem, array('entity' => 'tag', 'multiple' => TRUE, 'create' => !$skipTagCreate, 'api' => array('params' => array('parent_id' => $parentId)), 'data-entity_table' => $entityTable, 'data-entity_id' => $entityId, 'class' => "crm-{$mode}-tagset"));
if ($entityId) {
$tagset[$tagsetItem]['entityId'] = $entityId;
$entityTags = CRM_Core_BAO_EntityTag::getChildEntityTags($parentId, $entityId, $entityTable);
if ($entityTags) {
$form->setDefaults(array("{$tagsetElementName}[{$parentId}]" => implode(',', array_keys($entityTags))));
}
} else {
$skipEntityAction = TRUE;
}
$tagset[$tagsetItem]['skipEntityAction'] = $skipEntityAction;
}
}
if (!empty($tagset)) {
// assign current tagsets which is used in postProcess
$form->_tagsetInfo = $tagset;
$form->assign("tagsetType", $mode);
// Merge this tagset info with possibly existing info in the template
$tagsetInfo = (array) $form->get_template_vars("tagsetInfo");
if (empty($tagsetInfo[$mode])) {
$tagsetInfo[$mode] = array();
}
$tagsetInfo[$mode] = array_merge($tagsetInfo[$mode], $tagset);
$form->assign("tagsetInfo", $tagsetInfo);
$form->assign("isTagset", TRUE);
}
}
示例6: buildProfile
/**
* Add profile field to a form.
*
* @param CRM_Core_Form $form
* @param array $field
* Properties.
* @param int $mode
* Profile mode.
* @param int $contactId
* @param bool $online
* @param string $usedFor
* For building up prefixed fieldname for special cases (e.g. onBehalf, Honor).
* @param int $rowNumber
* @param string $prefix
*
* @return null
*/
public static function buildProfile(&$form, &$field, $mode, $contactId = NULL, $online = FALSE, $usedFor = NULL, $rowNumber = NULL, $prefix = '')
{
$defaultValues = array();
$fieldName = $field['name'];
$title = $field['title'];
$attributes = $field['attributes'];
$rule = $field['rule'];
$view = $field['is_view'];
$required = $mode == CRM_Profile_Form::MODE_SEARCH ? FALSE : $field['is_required'];
$search = $mode == CRM_Profile_Form::MODE_SEARCH ? TRUE : FALSE;
$isShared = CRM_Utils_Array::value('is_shared', $field, 0);
// do not display view fields in drupal registration form
// CRM-4632
if ($view && $mode == CRM_Profile_Form::MODE_REGISTER) {
return NULL;
}
if ($usedFor == 'onbehalf') {
$name = "onbehalf[{$fieldName}]";
} elseif ($usedFor == 'honor') {
$name = "honor[{$fieldName}]";
} elseif ($contactId && !$online) {
$name = "field[{$contactId}][{$fieldName}]";
} elseif ($rowNumber) {
$name = "field[{$rowNumber}][{$fieldName}]";
} elseif (!empty($prefix)) {
$name = $prefix . "[{$fieldName}]";
} else {
$name = $fieldName;
}
$selectAttributes = array('class' => 'crm-select2', 'placeholder' => TRUE);
if ($fieldName == 'image_URL' && $mode == CRM_Profile_Form::MODE_EDIT) {
$deleteExtra = json_encode(ts('Are you sure you want to delete contact image.'));
$deleteURL = array(CRM_Core_Action::DELETE => array('name' => ts('Delete Contact Image'), 'url' => 'civicrm/contact/image', 'qs' => 'reset=1&id=%%id%%&gid=%%gid%%&action=delete', 'extra' => 'onclick = "' . htmlspecialchars("if (confirm({$deleteExtra})) this.href+='&confirmed=1'; else return false;") . '"'));
$deleteURL = CRM_Core_Action::formLink($deleteURL, CRM_Core_Action::DELETE, array('id' => $form->get('id'), 'gid' => $form->get('gid')), ts('more'), FALSE, 'contact.profileimage.delete', 'Contact', $form->get('id'));
$form->assign('deleteURL', $deleteURL);
}
$addressOptions = CRM_Core_BAO_Setting::valueOptions(CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME, 'address_options', TRUE, NULL, TRUE);
if (substr($fieldName, 0, 14) === 'state_province') {
$form->addChainSelect($name, array('label' => $title, 'required' => $required));
$config = CRM_Core_Config::singleton();
if (!in_array($mode, array(CRM_Profile_Form::MODE_EDIT, CRM_Profile_Form::MODE_SEARCH)) && $config->defaultContactStateProvince) {
$defaultValues[$name] = $config->defaultContactStateProvince;
$form->setDefaults($defaultValues);
}
} elseif (substr($fieldName, 0, 7) === 'country') {
$form->add('select', $name, $title, array('' => ts('- select -')) + CRM_Core_PseudoConstant::country(), $required, $selectAttributes);
$config = CRM_Core_Config::singleton();
if (!in_array($mode, array(CRM_Profile_Form::MODE_EDIT, CRM_Profile_Form::MODE_SEARCH)) && $config->defaultContactCountry) {
$defaultValues[$name] = $config->defaultContactCountry;
$form->setDefaults($defaultValues);
}
} elseif (substr($fieldName, 0, 6) === 'county') {
if ($addressOptions['county']) {
$form->addChainSelect($name, array('label' => $title, 'required' => $required));
}
} elseif (substr($fieldName, 0, 9) === 'image_URL') {
$form->add('file', $name, $title, $attributes, $required);
$form->addUploadElement($name);
} elseif (substr($fieldName, 0, 2) === 'im') {
$form->add('text', $name, $title, $attributes, $required);
if (!$contactId) {
if ($usedFor) {
if (substr($name, -1) == ']') {
$providerName = substr($name, 0, -1) . '-provider_id]';
}
$form->add('select', $providerName, NULL, array('' => ts('- select -')) + CRM_Core_PseudoConstant::get('CRM_Core_DAO_IM', 'provider_id'), $required);
} else {
$form->add('select', $name . '-provider_id', $title, array('' => ts('- select -')) + CRM_Core_PseudoConstant::get('CRM_Core_DAO_IM', 'provider_id'), $required);
}
if ($view && $mode != CRM_Profile_Form::MODE_SEARCH) {
$form->freeze($name . '-provider_id');
}
}
} elseif ($fieldName === 'birth_date' || $fieldName === 'deceased_date') {
$form->addDate($name, $title, $required, array('formatType' => 'birth'));
} elseif (in_array($fieldName, array('membership_start_date', 'membership_end_date', 'join_date'))) {
$form->addDate($name, $title, $required, array('formatType' => 'activityDate'));
} elseif (CRM_Utils_Array::value('name', $field) == 'membership_type') {
list($orgInfo, $types) = CRM_Member_BAO_MembershipType::getMembershipTypeInfo();
$sel =& $form->addElement('hierselect', $name, $title);
$select = array('' => ts('- select -'));
if (count($orgInfo) == 1 && $field['is_required']) {
// we only have one org - so we should default to it. Not sure about defaulting to first type
//.........这里部分代码省略.........
示例7: addQuickFormElement
//.........这里部分代码省略.........
break;
case 'Select Date':
if ($field->is_search_range && $search) {
$qf->addDate($elementName . '_from', $label . ' - ' . ts('From'), FALSE, array('format' => $field->date_format, 'timeFormat' => $field->time_format, 'startOffset' => $field->start_date_years, 'endOffset' => $field->end_date_years, 'data-crm-custom' => $dataCrmCustomVal));
$qf->addDate($elementName . '_to', ts('To'), FALSE, array('format' => $field->date_format, 'timeFormat' => $field->time_format, 'startOffset' => $field->start_date_years, 'endOffset' => $field->end_date_years, 'data-crm-custom' => $dataCrmCustomVal));
} else {
$required = $useRequired && !$search;
$qf->addDate($elementName, $label, $required, array('format' => $field->date_format, 'timeFormat' => $field->time_format, 'startOffset' => $field->start_date_years, 'endOffset' => $field->end_date_years, 'data-crm-custom' => $dataCrmCustomVal));
}
break;
case 'Radio':
$choice = array();
foreach ($options as $v => $l) {
$choice[] = $qf->createElement('radio', NULL, '', $l, (string) $v, $field->attributes);
}
$group = $qf->addGroup($choice, $elementName, $label);
if ($useRequired && !$search) {
$qf->addRule($elementName, ts('%1 is a required field.', array(1 => $label)), 'required');
} else {
$group->setAttribute('allowClear', TRUE);
}
break;
// For all select elements
// For all select elements
case 'Select':
if (empty($selectAttributes['multiple'])) {
$options = array('' => $placeholder) + $options;
}
$qf->add('select', $elementName, $label, $options, $useRequired && !$search, $selectAttributes);
// Add and/or option for fields that store multiple values
if ($search && self::isSerialized($field)) {
$operators = array($qf->createElement('radio', NULL, '', ts('Any'), 'or', array('title' => ts('Results may contain any of the selected options'))), $qf->createElement('radio', NULL, '', ts('All'), 'and', array('title' => ts('Results must have all of the selected options'))));
$qf->addGroup($operators, $elementName . '_operator');
$qf->setDefaults(array($elementName . '_operator' => 'or'));
}
break;
case 'AdvMulti-Select':
$include =& $qf->addElement('advmultiselect', $elementName, $label, $options, array('size' => 5, 'style' => '', 'class' => 'advmultiselect', 'data-crm-custom' => $dataCrmCustomVal));
$include->setButtonAttributes('add', array('value' => ts('Add >>')));
$include->setButtonAttributes('remove', array('value' => ts('<< Remove')));
if ($useRequired && !$search) {
$qf->addRule($elementName, ts('%1 is a required field.', array(1 => $label)), 'required');
}
break;
case 'CheckBox':
$check = array();
foreach ($options as $v => $l) {
$check[] =& $qf->addElement('advcheckbox', $v, NULL, $l, array('data-crm-custom' => $dataCrmCustomVal));
}
$qf->addGroup($check, $elementName, $label);
if ($useRequired && !$search) {
$qf->addRule($elementName, ts('%1 is a required field.', array(1 => $label)), 'required');
}
break;
case 'File':
// we should not build upload file in search mode
if ($search) {
return;
}
$qf->add(strtolower($field->html_type), $elementName, $label, $field->attributes, $useRequired && !$search);
$qf->addUploadElement($elementName);
break;
case 'RichTextEditor':
$attributes = array('rows' => $field->note_rows, 'cols' => $field->note_columns, 'data-crm-custom' => $dataCrmCustomVal);
if ($field->text_length) {
$attributes['maxlength'] = $field->text_length;
示例8: buildMappingForm
//.........这里部分代码省略.........
//Fix for Search Builder
if ($mappingType == 'Export') {
$j = 7;
} else {
$j = 4;
}
$formValues = $form->exportValues();
if (!$jsSet) {
if (empty($formValues)) {
// Incremented length for third select box(relationship type)
for ($k = 1; $k < $j; $k++) {
$noneArray[] = array($x, $i, $k);
}
} else {
if (!empty($formValues['mapper'][$x])) {
foreach ($formValues['mapper'][$x] as $value) {
for ($k = 1; $k < $j; $k++) {
if (!isset($formValues['mapper'][$x][$i][$k]) || !$formValues['mapper'][$x][$i][$k]) {
$noneArray[] = array($x, $i, $k);
} else {
$nullArray[] = array($x, $i, $k);
}
}
}
} else {
for ($k = 1; $k < $j; $k++) {
$noneArray[] = array($x, $i, $k);
}
}
}
}
//Fix for Search Builder
if ($mappingType == 'Export') {
if (!isset($mappingId) || $i >= count(reset($mappingName))) {
if (isset($formValues['mapper']) && isset($formValues['mapper'][$x][$i][1]) && array_key_exists($formValues['mapper'][$x][$i][1], $relationshipTypes)) {
$sel->setOptions(array($sel1, $sel2, $sel5, $sel6, $sel7, $sel3, $sel4));
} else {
$sel->setOptions(array($sel1, $sel2, $sel3, $sel4, $sel5, $sel6, $sel7));
}
} else {
$sel->setOptions(array($sel1, $sel2, $sel3, $sel4, $sel5, $sel6, $sel7));
}
} else {
$sel->setOptions(array($sel1, $sel2, $sel3, $sel4));
}
if ($mappingType == 'Search Builder') {
//CRM -2292, restricted array set
$operatorArray = array('' => ts('-operator-')) + CRM_Core_SelectValues::getSearchBuilderOperators();
$form->add('select', "operator[{$x}][{$i}]", '', $operatorArray);
$form->add('text', "value[{$x}][{$i}]", '');
}
}
//end of columnCnt for
if ($mappingType == 'Search Builder') {
$title = ts('Another search field');
} else {
$title = ts('Select more fields');
}
$form->addElement('submit', "addMore[{$x}]", $title, array('class' => 'submit-link'));
}
//end of block for
$js = "<script type='text/javascript'>\n";
$formName = "document.{$name}";
if (!empty($nullArray)) {
$js .= "var nullArray = [";
$elements = array();
$seen = array();
foreach ($nullArray as $element) {
$key = "{$element[0]}, {$element[1]}, {$element[2]}";
if (!isset($seen[$key])) {
$elements[] = "[{$key}]";
$seen[$key] = 1;
}
}
$js .= implode(', ', $elements);
$js .= "]";
$js .= "\n for (var i=0;i<nullArray.length;i++) {\n if ( {$formName}['mapper['+nullArray[i][0]+']['+nullArray[i][1]+']['+nullArray[i][2]+']'] ) {\n {$formName}['mapper['+nullArray[i][0]+']['+nullArray[i][1]+']['+nullArray[i][2]+']'].style.display = '';\n }\n }\n";
}
if (!empty($noneArray)) {
$js .= "var noneArray = [";
$elements = array();
$seen = array();
foreach ($noneArray as $element) {
$key = "{$element[0]}, {$element[1]}, {$element[2]}";
if (!isset($seen[$key])) {
$elements[] = "[{$key}]";
$seen[$key] = 1;
}
}
$js .= implode(', ', $elements);
$js .= "]";
$js .= "\n for (var i=0;i<noneArray.length;i++) {\n if ( {$formName}['mapper['+noneArray[i][0]+']['+noneArray[i][1]+']['+noneArray[i][2]+']'] ) {\n {$formName}['mapper['+noneArray[i][0]+']['+noneArray[i][1]+']['+noneArray[i][2]+']'].style.display = 'none';\n }\n }\n";
}
$js .= "</script>\n";
$form->assign('initHideBoxes', $js);
$form->assign('columnCount', $columnCount);
$form->assign('blockCount', $blockCount);
$form->setDefaults($defaults);
$form->setDefaultAction('refresh');
}
示例9: buildPledgeBlock
/**
* Build Pledge Block in Contribution Pages.
*
* @param CRM_Core_Form $form
*/
public static function buildPledgeBlock($form)
{
//build pledge payment fields.
if (!empty($form->_values['pledge_id'])) {
//get all payments required details.
$allPayments = array();
$returnProperties = array('status_id', 'scheduled_date', 'scheduled_amount', 'currency', 'pledge_start_date');
CRM_Core_DAO::commonRetrieveAll('CRM_Pledge_DAO_PledgePayment', 'pledge_id', $form->_values['pledge_id'], $allPayments, $returnProperties);
// get all status
$allStatus = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'name');
$nextPayment = array();
$isNextPayment = FALSE;
$overduePayments = array();
foreach ($allPayments as $payID => $value) {
if ($allStatus[$value['status_id']] == 'Overdue') {
$overduePayments[$payID] = array('id' => $payID, 'scheduled_amount' => CRM_Utils_Rule::cleanMoney($value['scheduled_amount']), 'scheduled_amount_currency' => $value['currency'], 'scheduled_date' => CRM_Utils_Date::customFormat($value['scheduled_date'], '%B %d'));
} elseif (!$isNextPayment && $allStatus[$value['status_id']] == 'Pending') {
// get the next payment.
$nextPayment = array('id' => $payID, 'scheduled_amount' => CRM_Utils_Rule::cleanMoney($value['scheduled_amount']), 'scheduled_amount_currency' => $value['currency'], 'scheduled_date' => CRM_Utils_Date::customFormat($value['scheduled_date'], '%B %d'));
$isNextPayment = TRUE;
}
}
// build check box array for payments.
$payments = array();
if (!empty($overduePayments)) {
foreach ($overduePayments as $id => $payment) {
$label = ts("%1 - due on %2 (overdue)", array(1 => CRM_Utils_Money::format(CRM_Utils_Array::value('scheduled_amount', $payment), CRM_Utils_Array::value('scheduled_amount_currency', $payment)), 2 => CRM_Utils_Array::value('scheduled_date', $payment)));
$paymentID = CRM_Utils_Array::value('id', $payment);
$payments[] = $form->createElement('checkbox', $paymentID, NULL, $label, array('amount' => CRM_Utils_Array::value('scheduled_amount', $payment)));
}
}
if (!empty($nextPayment)) {
$label = ts("%1 - due on %2", array(1 => CRM_Utils_Money::format(CRM_Utils_Array::value('scheduled_amount', $nextPayment), CRM_Utils_Array::value('scheduled_amount_currency', $nextPayment)), 2 => CRM_Utils_Array::value('scheduled_date', $nextPayment)));
$paymentID = CRM_Utils_Array::value('id', $nextPayment);
$payments[] = $form->createElement('checkbox', $paymentID, NULL, $label, array('amount' => CRM_Utils_Array::value('scheduled_amount', $nextPayment)));
}
// give error if empty or build form for payment.
if (empty($payments)) {
CRM_Core_Error::fatal(ts("Oops. It looks like there is no valid payment status for online payment."));
} else {
$form->assign('is_pledge_payment', TRUE);
$form->addGroup($payments, 'pledge_amount', ts('Make Pledge Payment(s):'), '<br />');
}
} else {
$pledgeBlock = self::getPledgeBlock($form->_id);
// build form for pledge creation.
$pledgeOptions = array('0' => ts('I want to make a one-time contribution'), '1' => ts('I pledge to contribute this amount every'));
$form->addRadio('is_pledge', ts('Pledge Frequency Interval'), $pledgeOptions, NULL, array('<br/>'));
$form->addElement('text', 'pledge_installments', ts('Installments'), array('size' => 3));
if (!empty($pledgeBlock['is_pledge_interval'])) {
$form->assign('is_pledge_interval', CRM_Utils_Array::value('is_pledge_interval', $pledgeBlock));
$form->addElement('text', 'pledge_frequency_interval', NULL, array('size' => 3));
} else {
$form->add('hidden', 'pledge_frequency_interval', 1);
}
// Frequency unit drop-down label suffixes switch from *ly to *(s)
$freqUnitVals = explode(CRM_Core_DAO::VALUE_SEPARATOR, $pledgeBlock['pledge_frequency_unit']);
$freqUnits = array();
$frequencyUnits = CRM_Core_OptionGroup::values('recur_frequency_units');
foreach ($freqUnitVals as $key => $val) {
if (array_key_exists($val, $frequencyUnits)) {
$freqUnits[$val] = !empty($pledgeBlock['is_pledge_interval']) ? "{$frequencyUnits[$val]}(s)" : $frequencyUnits[$val];
}
}
$form->addElement('select', 'pledge_frequency_unit', NULL, $freqUnits);
// CRM-18854
if (CRM_Utils_Array::value('is_pledge_start_date_visible', $pledgeBlock)) {
if (CRM_Utils_Array::value('pledge_start_date', $pledgeBlock)) {
$defaults = array();
$date = (array) json_decode($pledgeBlock['pledge_start_date']);
list($field, $value) = each($date);
switch ($field) {
case 'contribution_date':
$form->addDate('start_date', ts('First installment payment'));
$paymentDate = $value = date('d/m/Y');
list($defaults['start_date'], $defaults['start_date_time']) = CRM_Utils_Date::setDateDefaults($value);
$form->assign('is_date', TRUE);
break;
case 'calendar_date':
$form->addDate('start_date', ts('First installment payment'));
list($defaults['start_date'], $defaults['start_date_time']) = CRM_Utils_Date::setDateDefaults($value);
$form->assign('is_date', TRUE);
$paymentDate = $value;
break;
case 'calendar_month':
$month = CRM_Utils_Date::getCalendarDayOfMonth();
$form->add('select', 'start_date', ts('Day of month installments paid'), $month);
$paymentDate = CRM_Pledge_BAO_Pledge::getPaymentDate($value);
list($defaults['start_date'], $defaults['start_date_time']) = CRM_Utils_Date::setDateDefaults($paymentDate);
break;
default:
break;
}
$form->setDefaults($defaults);
$form->assign('start_date_display', $paymentDate);
//.........这里部分代码省略.........
示例10: buildForm
/**
* @param CRM_Core_Form $form
*/
public function buildForm(&$form)
{
$config = CRM_Core_Config::singleton();
$form->applyFilter('__ALL__', 'trim');
$form->add('text', 'text', ts('Find'), TRUE);
// also add a select box to allow the search to be constrained
$tables = array('' => ts('All tables'));
foreach ($this->_partialQueries as $partialQuery) {
/** @var $partialQuery CRM_Contact_Form_Search_Custom_FullText_AbstractPartialQuery */
if ($partialQuery->isActive()) {
$tables[$partialQuery->getName()] = $partialQuery->getLabel();
}
}
$form->add('select', 'table', ts('Tables'), $tables);
$form->assign('csID', $form->get('csid'));
// also add the limit constant
$form->assign('limit', self::LIMIT);
// set form defaults
if (!empty($form->_formValues)) {
$defaults = array();
if (isset($form->_formValues['text'])) {
$defaults['text'] = $form->_formValues['text'];
}
if (isset($form->_formValues['table'])) {
$defaults['table'] = $form->_formValues['table'];
$form->assign('table', $form->_formValues['table']);
}
$form->setDefaults($defaults);
}
/**
* You can define a custom title for the search form
*/
$this->setTitle(ts('Full-text Search'));
$searchService = CRM_Core_BAO_File::getSearchService();
$form->assign('allowFileSearch', !empty($searchService) && CRM_Core_Permission::check('access uploaded files'));
}
示例11: hremerg_civicrm_buildForm
/**
* @param string $formName
* @param CRM_Core_Form $form
*/
function hremerg_civicrm_buildForm($formName, &$form)
{
if ($formName == 'CRM_Contact_Form_Relationship' && empty($form->_caseId)) {
if ($form->elementExists('relationship_type_id') && $form->_contactType == 'Individual') {
$relationshipType = civicrm_api3('relationship_type', 'get', array('name_a_b' => 'Emergency Contact'));
$select = $form->getElement('relationship_type_id');
$select->freeze();
$select->setLabel('');
$form->getElement('related_contact_id')->setLabel('');
if ($form->getAction() & CRM_Core_Action::ADD && !empty($relationshipType['id'])) {
$form->setDefaults(array('relationship_type_id' => $relationshipType['id'] . '_a_b'));
}
}
}
}
示例12: pledgeonlypage_civicrm_buildForm
/**
* Implements hook_civicrm_buildForm().
*
* @param string $formName
* @param CRM_Core_Form $form
*/
function pledgeonlypage_civicrm_buildForm($formName, &$form)
{
if ($formName == 'CRM_Contribute_Form_Contribution_Main') {
if ($form->get('id') == 2) {
$defaults['is_pledge'] = 1;
$defaults['pledge_installments'] = 1;
$defaults['pledge_frequency_interval'] = 1;
$form->setDefaults($defaults);
$form->addDate('pledge_start_date', ts('First payment date'), FALSE, array('formatType' => 'activityDate'));
CRM_Core_Region::instance('contribution-main-pledge-block')->update('default', array('disabled' => TRUE));
CRM_Core_Region::instance('contribution-main-pledge-block')->add(array('template' => 'pledgeOnlyBlock.tpl'));
}
}
}
示例13: buildQuickForm
/**
* Build form for related contacts / on behalf of organization.
*
* @param CRM_Core_Form $form
*
*/
public static function buildQuickForm(&$form)
{
$form->assign('fieldSetTitle', ts('Organization Details'));
$form->assign('buildOnBehalfForm', TRUE);
$contactID = $form->_contactID;
if ($contactID && count($form->_employers) >= 1) {
$form->add('text', 'organization_id', ts('Select an existing related Organization OR enter a new one'));
$form->add('select', 'onbehalfof_id', '', CRM_Utils_Array::collect('name', $form->_employers));
$orgOptions = array(0 => ts('Select an existing organization'), 1 => ts('Enter a new organization'));
$form->addRadio('org_option', ts('options'), $orgOptions);
$form->setDefaults(array('org_option' => 0));
$form->add('checkbox', 'mode', '');
}
$profileFields = CRM_Core_BAO_UFGroup::getFields($form->_profileId, FALSE, CRM_Core_Action::VIEW, NULL, NULL, FALSE, NULL, FALSE, NULL, CRM_Core_Permission::CREATE, NULL);
$fieldTypes = array('Contact', 'Organization');
$contactSubType = CRM_Contact_BAO_ContactType::subTypes('Organization');
$fieldTypes = array_merge($fieldTypes, $contactSubType);
if (is_array($form->_membershipBlock) && !empty($form->_membershipBlock)) {
$fieldTypes = array_merge($fieldTypes, array('Membership'));
} else {
$fieldTypes = array_merge($fieldTypes, array('Contribution'));
}
foreach ($profileFields as $name => $field) {
if (in_array($field['field_type'], $fieldTypes)) {
list($prefixName, $index) = CRM_Utils_System::explode('-', $name, 2);
if (in_array($prefixName, array('organization_name', 'email')) && empty($field['is_required'])) {
$field['is_required'] = 1;
}
CRM_Core_BAO_UFGroup::buildProfile($form, $field, NULL, NULL, FALSE, 'onbehalf');
}
}
$form->assign('onBehalfOfFields', $profileFields);
$form->addElement('hidden', 'hidden_onbehalf_profile', 1);
}
示例14: buildMappingForm
//.........这里部分代码省略.........
$blkCnt = count($mappingName);
if ($blkCnt >= $blockCount) {
$blockCount = $blkCnt + 1;
}
for ($x = 1; $x < $blockCount; $x++) {
if (isset($mappingName[$x])) {
$colCnt = count($mappingName[$x]);
if ($colCnt >= $columnCount[$x]) {
$columnCount[$x] = $colCnt;
}
}
}
}
$form->_blockCount = $blockCount;
$form->_columnCount = $columnCount;
$form->set('blockCount', $form->_blockCount);
$form->set('columnCount', $form->_columnCount);
$defaults = $noneArray = $nullArray = array();
//used to warn for mismatch column count or mismatch mapping
$warning = 0;
for ($x = 1; $x < $blockCount; $x++) {
for ($i = 0; $i < $columnCount[$x]; $i++) {
$sel =& $form->addElement('hierselect', "mapper[{$x}][{$i}]", ts('Mapper for Field %1', array(1 => $i)), NULL);
$jsSet = FALSE;
if (isset($mappingId)) {
//TODO opgeslagen mappings
}
//Fix for Export
$j = 7;
$formValues = $form->exportValues();
if (!$jsSet) {
if (empty($formValues)) {
// Incremented length for third select box(relationship type)
for ($k = 1; $k < $j; $k++) {
$noneArray[] = array($x, $i, $k);
}
} else {
if (!empty($formValues['mapper'][$x])) {
foreach ($formValues['mapper'][$x] as $value) {
for ($k = 1; $k < $j; $k++) {
if (!isset($formValues['mapper'][$x][$i][$k]) || !$formValues['mapper'][$x][$i][$k]) {
$noneArray[] = array($x, $i, $k);
} else {
$nullArray[] = array($x, $i, $k);
}
}
}
} else {
for ($k = 1; $k < $j; $k++) {
$noneArray[] = array($x, $i, $k);
}
}
}
}
//Fix for Export
$sel->setOptions(array($sel1));
}
$title = ts('Select more fields');
$form->addElement('submit', "addMore[{$x}]", $title, array('class' => 'submit-link'));
}
//end of block for
$js = "<script type='text/javascript'>\n";
$formName = "document.{$name}";
if (!empty($nullArray)) {
$js .= "var nullArray = [";
$elements = array();
$seen = array();
foreach ($nullArray as $element) {
$key = "{$element[0]}, {$element[1]}, {$element[2]}";
if (!isset($seen[$key])) {
$elements[] = "[{$key}]";
$seen[$key] = 1;
}
}
$js .= implode(', ', $elements);
$js .= "]";
$js .= "\n for (var i=0;i<nullArray.length;i++) {\n if ( {$formName}['mapper['+nullArray[i][0]+']['+nullArray[i][1]+']['+nullArray[i][2]+']'] ) {\n {$formName}['mapper['+nullArray[i][0]+']['+nullArray[i][1]+']['+nullArray[i][2]+']'].style.display = '';\n }\n }\n";
}
if (!empty($noneArray)) {
$js .= "var noneArray = [";
$elements = array();
$seen = array();
foreach ($noneArray as $element) {
$key = "{$element[0]}, {$element[1]}, {$element[2]}";
if (!isset($seen[$key])) {
$elements[] = "[{$key}]";
$seen[$key] = 1;
}
}
$js .= implode(', ', $elements);
$js .= "]";
$js .= "\n for (var i=0;i<noneArray.length;i++) {\n if ( {$formName}['mapper['+noneArray[i][0]+']['+noneArray[i][1]+']['+noneArray[i][2]+']'] ) {\n {$formName}['mapper['+noneArray[i][0]+']['+noneArray[i][1]+']['+noneArray[i][2]+']'].style.display = 'none';\n }\n }\n";
}
$js .= "</script>\n";
$form->assign('initHideBoxes', $js);
$form->assign('columnCount', $columnCount);
$form->assign('blockCount', $blockCount);
$form->setDefaults($defaults);
$form->setDefaultAction('refresh');
}
示例15: setDefaultValues
/**
* Set the default form values.
*
*
* @param CRM_Core_Form $form
*
* @return array
* the default array reference
*/
public function setDefaultValues($form)
{
$defaults = array();
$config = CRM_Core_Config::singleton();
$countryDefault = $config->defaultContactCountry;
if ($countryDefault) {
$defaults['prox_country_id'] = $countryDefault;
if ($countryDefault == '1228') {
$defaults['prox_distance_unit'] = 'miles';
} else {
$defaults['prox_distance_unit'] = 'km';
}
}
$form->setDefaults($defaults);
return $defaults;
}