本文整理汇总了PHP中CBPWorkflowTemplateLoader::CheckWorkflowParameters方法的典型用法代码示例。如果您正苦于以下问题:PHP CBPWorkflowTemplateLoader::CheckWorkflowParameters方法的具体用法?PHP CBPWorkflowTemplateLoader::CheckWorkflowParameters怎么用?PHP CBPWorkflowTemplateLoader::CheckWorkflowParameters使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CBPWorkflowTemplateLoader
的用法示例。
在下文中一共展示了CBPWorkflowTemplateLoader::CheckWorkflowParameters方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: StartWorkflowParametersValidate
/**
* Метод собирает и проверяет значения параметров запуска рабочего потока, заданных в форме метода StartWorkflowParametersShow.
*
* @param int $templateId - код шаблона кабочего потока.
* @param array $arWorkflowParameters - массив параметров запуска рабочего потока.
* @param array $arErrors - массив ошибок, которые произошли при выполнении в виде array(array("code" => код_ошибки, "message" => сообщение, "parameter" => название_параметра, "file" => путь_к_файлу), ...).
* @return array - массив корректных значений параметров запуска рабочего потока в виде array(код_параметра => значение, ...)
*/
public static function StartWorkflowParametersValidate($templateId, $arWorkflowParameters, $documentType, &$arErrors)
{
$arErrors = array();
$templateId = intval($templateId);
if ($templateId <= 0)
{
$arErrors[] = array(
"code" => "",
"message" => GetMessage("BPCGDOC_EMPTY_WD_ID"),
);
return array();
}
if (!isset($arWorkflowParameters) || !is_array($arWorkflowParameters))
$arWorkflowParameters = array();
$arWorkflowParametersValues = array();
$arRequest = $_REQUEST;
foreach ($_FILES as $k => $v)
{
if (array_key_exists("name", $v))
{
if (is_array($v["name"]))
{
$ks = array_keys($v["name"]);
for ($i = 0, $cnt = count($ks); $i < $cnt; $i++)
{
$ar = array();
foreach ($v as $k1 => $v1)
$ar[$k1] = $v1[$ks[$i]];
$arRequest[$k][] = $ar;
}
}
else
{
$arRequest[$k] = $v;
}
}
}
if (count($arWorkflowParameters) > 0)
{
$arErrorsTmp = array();
$ar = array();
foreach ($arWorkflowParameters as $parameterKey => $arParameter)
$ar[$parameterKey] = $arRequest["bizproc".$templateId."_".$parameterKey];
$arWorkflowParametersValues = CBPWorkflowTemplateLoader::CheckWorkflowParameters(
$arWorkflowParameters,
$ar,
$documentType,
$arErrors
);
}
return $arWorkflowParametersValues;
}
示例2: array_keys
if (array_key_exists("name", $v)) {
if (is_array($v["name"])) {
$ks = array_keys($v["name"]);
for ($i = 0, $cnt = count($ks); $i < $cnt; $i++) {
$ar = array();
foreach ($v as $k1 => $v1) {
$ar[$k1] = $v1[$ks[$i]];
}
$arRequest[$k][] = $ar;
}
} else {
$arRequest[$k] = $v;
}
}
}
$arWorkflowParameters = CBPWorkflowTemplateLoader::CheckWorkflowParameters($workflowTemplate["PARAMETERS"], $arRequest, $documentParameters["DOCUMENT_TYPE"], $arErrorsTmp);
if (count($arErrorsTmp) > 0) {
$bCanStartWorkflow = false;
foreach ($arErrorsTmp as $e) {
$arError[] = array("id" => "CheckWorkflowParameters", "text" => $e["message"]);
}
} else {
$bCanStartWorkflow = true;
}
}
if ($bCanStartWorkflow) {
$arErrorsTmp = array();
$wfId = CBPDocument::StartWorkflow($arParams["TEMPLATE_ID"], $documentParameters["DOCUMENT_ID"], array_merge($arWorkflowParameters, array("TargetUser" => "user_" . intval($GLOBALS["USER"]->GetID()))), $arErrorsTmp);
if (count($arErrorsTmp) > 0) {
$arResult["SHOW_MODE"] = "StartWorkflowError";
foreach ($arErrorsTmp as $e) {
示例3: array_keys
if (array_key_exists("name", $v)) {
if (is_array($v["name"])) {
$ks = array_keys($v["name"]);
for ($i = 0, $cnt = count($ks); $i < $cnt; $i++) {
$ar = array();
foreach ($v as $k1 => $v1) {
$ar[$k1] = $v1[$ks[$i]];
}
$arRequest[$k][] = $ar;
}
} else {
$arRequest[$k] = $v;
}
}
}
$arWorkflowParameters = CBPWorkflowTemplateLoader::CheckWorkflowParameters($arWorkflowTemplate["PARAMETERS"], $arRequest, $documentType, $arErrorsTmp);
if (count($arErrorsTmp) > 0) {
$bCanStartWorkflow = false;
foreach ($arErrorsTmp as $e) {
$errorMessage .= $e["message"] . "<br />";
}
} else {
$bCanStartWorkflow = true;
}
}
if ($bCanStartWorkflow) {
$arErrorsTmp = array();
$wfId = CBPDocument::StartWorkflow($workflowTemplateId, $documentId, $arWorkflowParameters, $arErrorsTmp);
if (count($arErrorsTmp) > 0) {
$showMode = "StartWorkflowError";
foreach ($arErrorsTmp as $e) {