当前位置: 首页>>代码示例>>PHP>>正文


PHP CBPWorkflowTemplateLoader::CheckWorkflowParameters方法代码示例

本文整理汇总了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;
	}
开发者ID:ASDAFF,项目名称:bitrix-5,代码行数:69,代码来源:document.php

示例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) {
开发者ID:mrdeadmouse,项目名称:u136006,代码行数:31,代码来源:component.php

示例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) {
开发者ID:DarneoStudio,项目名称:bitrix,代码行数:31,代码来源:bizproc_start.php


注:本文中的CBPWorkflowTemplateLoader::CheckWorkflowParameters方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。