'; $arUserType = array( 'PROPERTY_TYPE' => 'S', 'USER_TYPE' => 'UserID', 'DESCRIPTION' => '', 'GetPropertyFieldHtml' => array( 'Learning_CIBlockPropertyUserID', 'GetPropertyFieldHtml' ) ); if(($arUserType["PROPERTY_TYPE"] !== "F") || (!$bCopy)) { foreach($values as $key=>$val) { if($bCopy) { $key = "n".$start; $start++; } if(!is_array($val) || !array_key_exists("VALUE",$val)) $val = array("VALUE"=>$val, "DESCRIPTION"=>""); $html .= ''; if(array_key_exists("GetPropertyFieldHtml", $arUserType)) $html .= call_user_func_array($arUserType["GetPropertyFieldHtml"], array( $property_fields, $val, array( "VALUE"=>'PROP['.$property_fields["ID"].']['.$key.'][VALUE]', "DESCRIPTION"=>'PROP['.$property_fields["ID"].']['.$key.'][DESCRIPTION]', "FORM_NAME"=>$form_name, "MODE"=>"FORM_FILL", "COPY"=>$bCopy, ), )); else $html .= ' '; $html .= ''; if(mb_substr($key, -1, 1) == 'n' && $max_val < intval(mb_substr($key, 1))) $max_val = intval(mb_substr($key, 1)); if($property_fields["MULTIPLE"] != "Y") { $bVarsFromForm = true; break; } } } if(!$bVarsFromForm && !$bMultiple) { $bDefaultValue = is_array($property_fields["DEFAULT_VALUE"]) || mb_strlen($property_fields["DEFAULT_VALUE"]); if($property_fields["MULTIPLE"]=="Y") { $cnt = intval($property_fields["MULTIPLE_CNT"]); if($cnt <= 0 || $cnt > 30) $cnt = 5; if($bInitDef && $bDefaultValue) $cnt++; } else { $cnt = 1; } for($i=$max_val+1; $i<$max_val+1+$cnt; $i++) { if($i==0 && $bInitDef && $bDefaultValue) $val = array( "VALUE"=>$property_fields["DEFAULT_VALUE"], "DESCRIPTION"=>"", ); else $val = array( "VALUE"=>"", "DESCRIPTION"=>"", ); $key = "n".($start + $i); $html .= ''; if(array_key_exists("GetPropertyFieldHtml", $arUserType)) $html .= call_user_func_array($arUserType["GetPropertyFieldHtml"], array( $property_fields, $val, array( "VALUE"=>'PROP['.$property_fields["ID"].']['.$key.'][VALUE]', "DESCRIPTION"=>'PROP['.$property_fields["ID"].']['.$key.'][DESCRIPTION]', "FORM_NAME"=>$form_name, "MODE"=>"FORM_FILL", "COPY"=>$bCopy, ), )); else $html .= ' '; $html .= ''; } $max_val += $cnt; } if($property_fields["MULTIPLE"]=="Y" && $arUserType["USER_TYPE"] !== "HTML" && !$bMultiple) { $html .= ''; } $html .= ''; echo $html; } function _ShowHiddenValue($name, $value) { $res = ""; if(is_array($value)) { foreach($value as $k => $v) $res .= _ShowHiddenValue($name.'['.htmlspecialcharsbx($k).']', $v); } else { $res .= ''."\n"; } return $res; } class Learning_CIBlockPropertyUserID { public static function GetPropertyFieldHtml($arProperty, $value, $strHTMLControlName) { global $USER; $default_value = intval($value["VALUE"]); $res = ""; if ($default_value == $USER->GetID()) { $select = "CU"; $res = "[".$USER->GetID()."] (".htmlspecialcharsbx($USER->GetLogin()).") ".htmlspecialcharsbx($USER->GetFirstName())." ".htmlspecialcharsbx($USER->GetLastName()); } elseif ($default_value > 0) { $select = "SU"; $rsUsers = CUser::GetList('', '', array("ID" => $default_value)); if ($arUser = $rsUsers->Fetch()) $res = "[".$arUser["ID"]."] (".htmlspecialcharsbx($arUser["LOGIN"]).") ".htmlspecialcharsbx($arUser["NAME"])." ".htmlspecialcharsbx($arUser["LAST_NAME"]); else $res = " ".GetMessage("LEARNING_USER_SELECTOR_NOT_FOUND"); } else { $select = "none"; $default_value = ""; } $name_x = preg_replace("/([^a-z0-9])/is", "x", $strHTMLControlName["VALUE"]); if (trim($strHTMLControlName["FORM_NAME"]) == '') $strHTMLControlName["FORM_NAME"] = "form_element"; ob_start(); ?>