本文整理汇总了PHP中CBPWorkflowTemplateLoader::FindParentActivityByName方法的典型用法代码示例。如果您正苦于以下问题:PHP CBPWorkflowTemplateLoader::FindParentActivityByName方法的具体用法?PHP CBPWorkflowTemplateLoader::FindParentActivityByName怎么用?PHP CBPWorkflowTemplateLoader::FindParentActivityByName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CBPWorkflowTemplateLoader
的用法示例。
在下文中一共展示了CBPWorkflowTemplateLoader::FindParentActivityByName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: GetPropertiesDialogValues
public static function GetPropertiesDialogValues($documentType, $activityName, &$arWorkflowTemplate, &$arWorkflowParameters, &$arWorkflowVariables, $arCurrentValues, &$arErrors)
{
$arErrors = array();
$runtime = CBPRuntime::GetRuntime();
$arProperties = array();
$arProperties["Permission"] = CBPHelper::UsersStringToArray($arCurrentValues["permission"], $documentType, $arErrors);
if (count($arErrors) > 0) {
return false;
}
$arErrors = self::ValidateProperties($arProperties, new CBPWorkflowTemplateUser(CBPWorkflowTemplateUser::CurrentUser));
if (count($arErrors) > 0) {
return false;
}
$arCurrentActivity =& CBPWorkflowTemplateLoader::FindActivityByName($arWorkflowTemplate, $activityName);
$arCurrentActivity["Properties"] = $arProperties;
$currentParent =& CBPWorkflowTemplateLoader::FindParentActivityByName($arWorkflowTemplate, $activityName);
$c = count($currentParent['Children']);
if ($c == 1) {
if ($arCurrentValues["setstate"] != '') {
$currentParent['Children'][] = array('Type' => 'SetStateActivity', 'Name' => md5(uniqid(mt_rand(), true)), 'Properties' => array('TargetStateName' => $arCurrentValues["setstate"]), 'Children' => array());
}
} elseif ($currentParent['Children'][$c - 1]["Type"] == 'SetStateActivity') {
if ($arCurrentValues["setstate"] != '') {
$currentParent['Children'][$c - 1]["Properties"]['TargetStateName'] = $arCurrentValues["setstate"];
} else {
unset($currentParent['Children'][$c - 1]);
}
}
return true;
}