本文整理汇总了PHP中CRM_Core_SelectValues::phoneType方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Core_SelectValues::phoneType方法的具体用法?PHP CRM_Core_SelectValues::phoneType怎么用?PHP CRM_Core_SelectValues::phoneType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Core_SelectValues
的用法示例。
在下文中一共展示了CRM_Core_SelectValues::phoneType方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: buildPhoneBlock
/**
* build the form elements for a phone object
*
* @param CRM_Core_Form $form reference to the form object
* @param array $location the location object to store all the form elements in
* @param int $locationId the locationId we are dealing with
* @param int $count the number of blocks to create
*
* @return void
* @access public
* @static
*/
function buildPhoneBlock(&$form, &$location, $locationId, $count)
{
for ($i = 1; $i <= $count; $i++) {
$label = $i == 1 ? ts('Phone (preferred)') : ts('Phone');
CRM_Core_ShowHideBlocks::linksForArray($form, $i, $count, "location[{$locationId}][phone]", ts('another phone'), ts('hide this phone'));
$location[$locationId]['phone'][$i]['phone_type'] = $form->addElement('select', "location[{$locationId}][phone][{$i}][phone_type]", null, CRM_Core_SelectValues::phoneType());
$location[$locationId]['phone'][$i]['phone'] = $form->addElement('text', "location[{$locationId}][phone][{$i}][phone]", $label, CRM_Core_DAO::getAttribute('CRM_Core_DAO_Phone', 'phone'));
// TODO: set this up as a group, we need a valid phone_type_id if we have a phone number
// $form->addRule( "location[$locationId][phone][$i][phone]", ts('Phone number is not valid.'), 'phone' );
}
}
示例2: postProcess
/**
* Process the mapped fields and map it into the uploaded file
* preview the file and extract some summary statistics
*
* @return void
* @access public
*/
function postProcess()
{
$fileName = $this->controller->exportValue('UploadFile', 'uploadFile');
$skipColumnHeader = $this->controller->exportValue('UploadFile', 'skipColumnHeader');
$invalidRowCount = $this->get('invalidRowCount');
$conflictRowCount = $this->get('conflictRowCount');
$onDuplicate = $this->get('onDuplicate');
$newGroup = $this->controller->exportValue($this->_name, 'newGroup');
$newGroupName = $this->controller->exportValue($this->_name, 'newGroupName');
$newGroupDesc = $this->controller->exportValue($this->_name, 'newGroupDesc');
$groups = $this->controller->exportValue($this->_name, 'groups');
$allGroups = $this->get('groups');
$tagForContact = $this->controller->exportValue($this->_name, 'tag');
$allTags = $this->get('tag');
$seperator = ',';
$mapper = $this->controller->exportValue('MapField', 'mapper');
$mapperKeys = array();
$mapperLocTypes = array();
$mapperPhoneTypes = array();
$mapperRelated = array();
$mapperRelatedContactType = array();
$mapperRelatedContactDetails = array();
$mapperRelatedContactLocType = array();
$mapperRelatedContactPhoneType = array();
foreach ($mapper as $key => $value) {
$mapperKeys[$key] = $mapper[$key][0];
if (is_numeric($mapper[$key][1])) {
$mapperLocTypes[$key] = $mapper[$key][1];
} else {
$mapperLocTypes[$key] = null;
}
if (!is_numeric($mapper[$key][2])) {
$mapperPhoneTypes[$key] = $mapper[$key][2];
} else {
$mapperPhoneTypes[$key] = null;
}
list($id, $first, $second) = explode('_', $mapper[$key][0]);
if ($first == 'a' && $second == 'b' || $first == 'b' && $second == 'a') {
$relationType =& new CRM_Contact_DAO_RelationshipType();
$relationType->id = $id;
$relationType->find(true);
eval('$mapperRelatedContactType[$key] = $relationType->contact_type_' . $second . ';');
$mapperRelated[$key] = $mapper[$key][0];
$mapperRelatedContactDetails[$key] = $mapper[$key][1];
$mapperRelatedContactLocType[$key] = $mapper[$key][2];
$mapperRelatedContactPhoneType[$key] = $mapper[$key][3];
} else {
$mapperRelated[$key] = null;
$mapperRelatedContactType[$key] = null;
$mapperRelatedContactDetails[$key] = null;
$mapperRelatedContactLocType[$key] = null;
$mapperRelatedContactPhoneType[$key] = null;
}
}
$parser =& new CRM_Import_Parser_Contact($mapperKeys, $mapperLocTypes, $mapperPhoneTypes, $mapperRelated, $mapperRelatedContactType, $mapperRelatedContactDetails, $mapperRelatedContactLocType, $mapperRelatedContactPhoneType);
$mapFields = $this->get('fields');
$locationTypes = CRM_Core_PseudoConstant::locationType();
$phoneTypes = CRM_Core_SelectValues::phoneType();
foreach ($mapper as $key => $value) {
$header = array();
list($id, $first, $second) = explode('_', $mapper[$key][0]);
if ($first == 'a' && $second == 'b' || $first == 'b' && $second == 'a') {
$relationType =& new CRM_Contact_DAO_RelationshipType();
$relationType->id = $id;
$relationType->find(true);
$header[] = $relationType->name_a_b;
$header[] = ucwords(str_replace("_", " ", $mapper[$key][1]));
if (isset($mapper[$key][2])) {
$header[] = $locationTypes[$mapper[$key][2]];
}
if (isset($mapper[$key][3])) {
$header[] = $phoneTypes[$mapper[$key][3]];
}
} else {
if (isset($mapFields[$mapper[$key][0]])) {
$header[] = $mapFields[$mapper[$key][0]];
if (isset($mapper[$key][1])) {
$header[] = $locationTypes[$mapper[$key][1]];
}
if (isset($mapper[$key][2])) {
$header[] = $phoneTypes[$mapper[$key][2]];
}
}
}
$mapperFields[] = implode(' - ', $header);
}
$parser->run($fileName, $seperator, $mapperFields, $skipColumnHeader, CRM_IMPORT_PARSER_MODE_IMPORT, $this->get('contactType'), $onDuplicate);
// add the new contacts to selected groups
$contactIds =& $parser->getImportedContacts();
// add the new related contacts to selected groups
$relatedContactIds =& $parser->getRelatedImportedContacts();
$this->set('relatedCount', count($relatedContactIds));
$newGroupId = null;
//.........这里部分代码省略.........
示例3: buildQuickForm
/**
* Function to actually build the form
*
* @return void
* @access public
*/
function buildQuickForm()
{
if ($this->_action & CRM_CORE_ACTION_DELETE) {
$this->addButtons(array(array('type' => 'next', 'name' => ts('Delete Profile Field'), 'spacing' => ' ', 'isDefault' => true), array('type' => 'cancel', 'name' => ts('Cancel'))));
return;
}
if (isset($this->_id)) {
$params = array('id' => $this->_id);
CRM_Core_BAO_UFField::retrieve($params, $defaults);
$defaults['field_name'] = array($defaults['field_type'], $defaults['field_name'], $defaults['location_type_id'], $defaults['phone_type']);
$this->_gid = $defaults['uf_group_id'];
} else {
$defaults['is_active'] = 1;
}
if ($this->_action & CRM_CORE_ACTION_ADD) {
$uf =& new CRM_Core_DAO();
$sql = "SELECT weight FROM civicrm_uf_field WHERE uf_group_id = " . $this->_gid . " ORDER BY weight DESC LIMIT 0, 1";
$uf->query($sql);
while ($uf->fetch()) {
$defaults['weight'] = $uf->weight + 1;
}
if (empty($defaults['weight'])) {
$defaults['weight'] = 1;
}
}
// lets trim all the whitespace
$this->applyFilter('__ALL__', 'trim');
//hidden field to catch the group id in profile
$this->add('hidden', 'group_id', $this->_gid);
//hidden field to catch the field id in profile
$this->add('hidden', 'field_id', $this->_id);
$fields = array();
$fields['Individual'] =& CRM_Contact_BAO_Contact::exportableFields('Individual');
$fields['Household'] =& CRM_Contact_BAO_Contact::exportableFields('Household');
$fields['Organization'] =& CRM_Contact_BAO_Contact::exportableFields('Organization');
$contribFields =& CRM_Contribute_BAO_Contribution::getContributionFields();
if (!empty($contribFields)) {
$fields['Contribution'] =& $contribFields;
}
foreach ($fields as $key => $value) {
foreach ($value as $key1 => $value1) {
$this->_mapperFields[$key][$key1] = $value1['title'];
$hasLocationTypes[$key][$key1] = $value1['hasLocationType'];
}
}
require_once 'CRM/Core/BAO/LocationType.php';
$this->_location_types =& CRM_Core_PseudoConstant::locationType();
$defaultLocationType =& CRM_Core_BAO_LocationType::getDefault();
/* FIXME: dirty hack to make the default option show up first. This
* avoids a mozilla browser bug with defaults on dynamically constructed
* selector widgets. */
if ($defaultLocationType) {
$defaultLocation = $this->_location_types[$defaultLocationType->id];
unset($this->_location_types[$defaultLocationType->id]);
$this->_location_types = array($defaultLocationType->id => $defaultLocation) + $this->_location_types;
}
$sel1 = array('' => '-select-') + CRM_Core_SelectValues::contactType();
if (!empty($contribFields)) {
$sel1['Contribution'] = 'Contributions';
}
foreach ($sel1 as $key => $sel) {
if ($key) {
$sel2[$key] = $this->_mapperFields[$key];
}
}
$sel3[''] = null;
$phoneTypes = CRM_Core_SelectValues::phoneType();
foreach ($sel1 as $k => $sel) {
if ($k) {
foreach ($this->_location_types as $key => $value) {
$sel4[$k]['phone'][$key] =& $phoneTypes;
}
}
}
foreach ($sel1 as $k => $sel) {
if ($k) {
foreach ($this->_mapperFields[$k] as $key => $value) {
if ($hasLocationTypes[$k][$key]) {
$sel3[$k][$key] = $this->_location_types;
} else {
$sel3[$key] = null;
}
}
}
}
$this->_defaults = array();
$js = "<script type='text/javascript'>\n";
$formName = "document.{$this->_name}";
$sel =& $this->addElement('hierselect', "field_name", ts('Field Name'), 'onclick="showLabel();"');
$formValues = array();
//$formValues = $this->controller->exportValues( $this->_name );
$formValues = $_POST;
// using $_POST since export values don't give values on first submit
if (empty($formValues)) {
//.........这里部分代码省略.........
示例4: buildQuickForm
/**
* Function to actually build the form
*
* @return void
* @access public
*/
function buildQuickForm()
{
//get the saved mapping details
$mappingDAO =& new CRM_Core_DAO_Mapping();
$mappingDAO->domain_id = CRM_Core_Config::domainID();
$mappingDAO->mapping_type = 'Import';
$mappingDAO->find();
$mappingArray = array();
while ($mappingDAO->fetch()) {
$mappingArray[$mappingDAO->id] = $mappingDAO->name;
}
$this->assign('savedMapping', $mappingArray);
$this->add('select', 'savedMapping', ts('Mapping Option'), array('' => ts('- select -')) + $mappingArray);
$this->addElement('submit', 'loadMapping', ts('Load Mapping'), null, array('onclick' => 'checkSelect()'));
//to save the current mappings
if (!$this->get('savedMapping')) {
$saveDetailsName = ts('Save this field mapping');
$this->add('text', 'saveMappingName', ts('Name'));
$this->add('text', 'saveMappingDesc', ts('Description'));
} else {
$savedMapping = $this->get('savedMapping');
//mapping is to be loaded from database
$mapping =& new CRM_Core_DAO_MappingField();
$mapping->mapping_id = $savedMapping;
$mapping->orderBy('column_number');
$mapping->find();
$mappingName = array();
$mappingLocation = array();
$mappingContactType = array();
$mappingPhoneType = array();
$mappingRelation = array();
while ($mapping->fetch()) {
$mappingName[$mapping->column_number] = $mapping->name;
$mappingContactType[] = $mapping->contact_type;
if (!empty($mapping->location_type_id)) {
$mappingLocation[$mapping->column_number] = $mapping->location_type_id;
}
if (!empty($mapping->phone_type)) {
$mappingPhoneType[$mapping->column_number] = $mapping->phone_type;
}
if (!empty($mapping->relationship_type_id)) {
$mappingRelation[$mapping->column_number] = $mapping->relationship_type_id;
}
}
$this->assign('loadedMapping', $savedMapping);
$getMappingName =& new CRM_Core_DAO_Mapping();
$getMappingName->id = $savedMapping;
$getMappingName->mapping_type = 'Import';
$getMappingName->find();
while ($getMappingName->fetch()) {
$mapperName = $getMappingName->name;
}
$this->assign('savedName', $mapperName);
$this->add('hidden', 'mappingId', $savedMapping);
$this->addElement('checkbox', 'updateMapping', ts('Update this field mapping'), null);
$saveDetailsName = ts('Save as a new field mapping');
$this->add('text', 'saveMappingName', ts('Name'));
$this->add('text', 'saveMappingDesc', ts('Description'));
}
$this->addElement('checkbox', 'saveMapping', $saveDetailsName, null, array('onclick' => "showSaveDetails(this)"));
$this->addFormRule(array('CRM_Import_Form_MapField', 'formRule'));
//-------- end of saved mapping stuff ---------
$defaults = array();
$mapperKeys = array_keys($this->_mapperFields);
$hasHeaders = !empty($this->_columnHeaders);
$headerPatterns = $this->get('headerPatterns');
$dataPatterns = $this->get('dataPatterns');
$hasLocationTypes = $this->get('fieldTypes');
$this->_location_types =& CRM_Core_PseudoConstant::locationType();
$defaultLocationType =& CRM_Core_BAO_LocationType::getDefault();
/* FIXME: dirty hack to make the default option show up first. This
* avoids a mozilla browser bug with defaults on dynamically constructed
* selector widgets. */
if ($defaultLocationType) {
$defaultLocation = $this->_location_types[$defaultLocationType->id];
unset($this->_location_types[$defaultLocationType->id]);
$this->_location_types = array($defaultLocationType->id => $defaultLocation) + $this->_location_types;
}
/* Initialize all field usages to false */
foreach ($mapperKeys as $key) {
$this->_fieldUsed[$key] = false;
}
$sel1 = $this->_mapperFields;
$sel2[''] = null;
$phoneTypes = CRM_Core_SelectValues::phoneType();
foreach ($this->_location_types as $key => $value) {
$sel3['phone'][$key] =& $phoneTypes;
}
foreach ($mapperKeys as $key) {
list($id, $first, $second) = explode('_', $key);
if ($first == 'a' && $second == 'b' || $first == 'b' && $second == 'a') {
$contactRelation =& new CRM_Contact_DAO_RelationshipType();
$contactRelation->id = $id;
$contactRelation->find(true);
//.........这里部分代码省略.........
示例5: buildQuickForm
//.........这里部分代码省略.........
$this->addFormRule(array('CRM_Contact_Form_Task_Export_Map', 'formRule'));
//-------- end of saved mapping stuff ---------
$this->_defaults = array();
$hasLocationTypes = array();
$contactId = array();
$fields = array();
$fields['Individual'] =& CRM_Contact_BAO_Contact::exportableFields('Individual', false, true);
$fields['Household'] =& CRM_Contact_BAO_Contact::exportableFields('Household', false, true);
$fields['Organization'] =& CRM_Contact_BAO_Contact::exportableFields('Organization', false, true);
foreach ($fields as $key => $value) {
foreach ($value as $key1 => $value1) {
$this->_mapperFields[$key][$key1] = $value1['title'];
$hasLocationTypes[$key][$key1] = $value1['hasLocationType'];
}
}
$mapperKeys = array_keys($this->_mapperFields);
$this->_location_types =& CRM_Core_PseudoConstant::locationType();
$defaultLocationType =& CRM_Core_BAO_LocationType::getDefault();
/* FIXME: dirty hack to make the default option show up first. This
* avoids a mozilla browser bug with defaults on dynamically constructed
* selector widgets. */
if ($defaultLocationType) {
$defaultLocation = $this->_location_types[$defaultLocationType->id];
unset($this->_location_types[$defaultLocationType->id]);
$this->_location_types = array($defaultLocationType->id => $defaultLocation) + $this->_location_types;
}
$sel1 = array('' => '-select-') + CRM_Core_SelectValues::contactType();
foreach ($sel1 as $key => $sel) {
if ($key) {
$sel2[$key] = $this->_mapperFields[$key];
}
}
$sel3[''] = null;
$phoneTypes = CRM_Core_SelectValues::phoneType();
foreach ($sel1 as $k => $sel) {
if ($k) {
foreach ($this->_location_types as $key => $value) {
$sel4[$k]['phone'][$key] =& $phoneTypes;
}
}
}
foreach ($sel1 as $k => $sel) {
if ($k) {
foreach ($this->_mapperFields[$k] as $key => $value) {
if ($hasLocationTypes[$k][$key]) {
$sel3[$k][$key] = $this->_location_types;
} else {
$sel3[$key] = null;
}
}
}
}
// print_r($sel3);
$this->_defaults = array();
$js = "<script type='text/javascript'>\n";
$formName = "document.{$this->_name}";
//used to warn for mismatch column count or mismatch mapping
$warning = 0;
for ($i = 0; $i < $this->_columnCount; $i++) {
$sel =& $this->addElement('hierselect', "mapper[{$i}]", ts('Mapper for Field %1', array(1 => $i)), null);
$jsSet = false;
if (isset($this->_loadedMappingId)) {
$locationId = isset($mappingLocation[$i]) ? $mappingLocation[$i] : 0;
if (isset($mappingName[$i])) {
if (is_array($this->_mapperFields[$mappingContactType[$i]])) {
$phoneType = isset($mappingPhoneType[$i]) ? $mappingPhoneType[$i] : null;