本文整理汇总了PHP中CRM_Case_XMLProcessor::mungeCaseType方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Case_XMLProcessor::mungeCaseType方法的具体用法?PHP CRM_Case_XMLProcessor::mungeCaseType怎么用?PHP CRM_Case_XMLProcessor::mungeCaseType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Case_XMLProcessor
的用法示例。
在下文中一共展示了CRM_Case_XMLProcessor::mungeCaseType方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: checkCaseTypeNameConsistency
/**
* Check that the case-type names don't rely on double-munging.
*
* @return array<CRM_Utils_Check_Message>
* An empty array, or a list of warnings
*/
public function checkCaseTypeNameConsistency()
{
$messages = array();
foreach ($this->caseTypeNames as $caseTypeName) {
$normalFile = $this->xmlRepo->findXmlFile($caseTypeName);
$mungedFile = $this->xmlRepo->findXmlFile(CRM_Case_XMLProcessor::mungeCaseType($caseTypeName));
if ($normalFile && $mungedFile && $normalFile == $mungedFile) {
// ok
} elseif ($normalFile && $mungedFile) {
$messages[] = new CRM_Utils_Check_Message(__FUNCTION__ . $caseTypeName, ts('Case type "%1" has duplicate XML files ("%2" and "%3")', array(1 => $caseTypeName, 2 => $normalFile, 3 => $mungedFile)) . '<br /><a href="' . CRM_Utils_System::getWikiBaseURL() . __FUNCTION__ . '">' . ts('Read more about this warning') . '</a>', ts('CiviCase'), \Psr\Log\LogLevel::WARNING, 'fa-puzzle-piece');
} elseif ($normalFile && !$mungedFile) {
// ok
} elseif (!$normalFile && $mungedFile) {
$messages[] = new CRM_Utils_Check_Message(__FUNCTION__ . $caseTypeName, ts('Case type "%1" corresponds to XML file ("%2") The XML file should be named "%3".', array(1 => $caseTypeName, 2 => $mungedFile, 3 => "{$caseTypeName}.xml")) . '<br /><a href="' . CRM_Utils_System::getWikiBaseURL() . __FUNCTION__ . '">' . ts('Read more about this warning') . '</a>', ts('CiviCase'), \Psr\Log\LogLevel::WARNING, 'fa-puzzle-piece');
} elseif (!$normalFile && !$mungedFile) {
// ok -- probably a new or DB-based CaseType
}
}
return $messages;
}
示例2: checkCaseTypeNameConsistency
/**
* Check that the case-type names don't rely on double-munging.
*
* @return array<CRM_Utils_Check_Message> an empty array, or a list of warnings
*/
public function checkCaseTypeNameConsistency()
{
$messages = array();
foreach ($this->caseTypeNames as $caseTypeName) {
$normalFile = $this->xmlRepo->findXmlFile($caseTypeName);
$mungedFile = $this->xmlRepo->findXmlFile(CRM_Case_XMLProcessor::mungeCaseType($caseTypeName));
if ($normalFile && $mungedFile && $normalFile == $mungedFile) {
// ok
} elseif ($normalFile && $mungedFile) {
$messages[] = new CRM_Utils_Check_Message(__FUNCTION__, ts('Case type "%2" has duplicate XML files ("%3" and "%4").<br /><a href="%1">Read more about this warning</a>', array(1 => CRM_Utils_System::getWikiBaseURL() . __FUNCTION__, 2 => $caseTypeName, 3 => $normalFile, 4 => $mungedFile)), ts('CiviCase'));
} elseif ($normalFile && !$mungedFile) {
// ok
} elseif (!$normalFile && $mungedFile) {
$messages[] = new CRM_Utils_Check_Message(__FUNCTION__, ts('Case type "%2" corresponds to XML file ("%3") The XML file should be named "%4".<br /><a href="%1">Read more about this warning</a>', array(1 => CRM_Utils_System::getWikiBaseURL() . __FUNCTION__, 2 => $caseTypeName, 3 => $mungedFile, 4 => "{$caseTypeName}.xml")), ts('CiviCase'));
} elseif (!$normalFile && !$mungedFile) {
// ok -- probably a new or DB-based CaseType
}
}
return $messages;
}
示例3: _api4_civix_civicrm_caseTypes
/**
* (Delegated) Implements hook_civicrm_caseTypes().
*
* Find any and return any files matching "xml/case/*.xml"
*
* Note: This hook only runs in CiviCRM 4.4+.
*
* @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_caseTypes
*/
function _api4_civix_civicrm_caseTypes(&$caseTypes)
{
if (!is_dir(__DIR__ . '/xml/case')) {
return;
}
foreach (_api4_civix_glob(__DIR__ . '/xml/case/*.xml') as $file) {
$name = preg_replace('/\\.xml$/', '', basename($file));
if ($name != CRM_Case_XMLProcessor::mungeCaseType($name)) {
$errorMessage = sprintf("Case-type file name is malformed (%s vs %s)", $name, CRM_Case_XMLProcessor::mungeCaseType($name));
CRM_Core_Error::fatal($errorMessage);
// throw new CRM_Core_Exception($errorMessage);
}
$caseTypes[$name] = array('module' => 'org.civicrm.api4', 'name' => $name, 'file' => $file);
}
}
示例4: retrieveFile
/**
* @param string $caseType
* @return SimpleXMLElement|FALSE
*/
public function retrieveFile($caseType)
{
$fileName = NULL;
$fileXml = NULL;
if (CRM_Case_BAO_CaseType::isValidName($caseType)) {
// Search for a file based directly on the $caseType name
$fileName = $this->findXmlFile($caseType);
}
// For backward compatibility, also search for double-munged file names
// TODO In 4.6 or 5.0, remove support for loading double-munged file names
if (!$fileName || !file_exists($fileName)) {
$fileName = $this->findXmlFile(CRM_Case_XMLProcessor::mungeCaseType($caseType));
}
if ($fileName && file_exists($fileName)) {
// read xml file
$dom = new DomDocument();
$dom->load($fileName);
$dom->xinclude();
$fileXml = simplexml_import_dom($dom);
}
return $fileXml;
}
示例5: _recurringcontributioncustomsearches_civix_civicrm_caseTypes
/**
* (Delegated) Implementation of hook_civicrm_caseTypes
*
* Find any and return any files matching "xml/case/*.xml"
*
* Note: This hook only runs in CiviCRM 4.4+.
*
* @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_caseTypes
*/
function _recurringcontributioncustomsearches_civix_civicrm_caseTypes(&$caseTypes)
{
if (!is_dir(__DIR__ . '/xml/case')) {
return;
}
foreach (_recurringcontributioncustomsearches_civix_glob(__DIR__ . '/xml/case/*.xml') as $file) {
$name = preg_replace('/\\.xml$/', '', basename($file));
if ($name != CRM_Case_XMLProcessor::mungeCaseType($name)) {
$errorMessage = sprintf("Case-type file name is malformed (%s vs %s)", $name, CRM_Case_XMLProcessor::mungeCaseType($name));
CRM_Core_Error::fatal($errorMessage);
// throw new CRM_Core_Exception($errorMessage);
}
$caseTypes[$name] = array('module' => 'uk.co.vedaconsulting.module.recurringcontributioncustomsearches', 'name' => $name, 'file' => $file);
}
}
开发者ID:veda-consulting,项目名称:caat-4.7-recurring,代码行数:24,代码来源:recurringcontributioncustomsearches.civix.php