IncludeModuleLangFile(__FILE__);
function _ShowUserPropertyField($name, $property_fields, $values, $bInitDef = false, $bVarsFromForm = false, $max_file_size_show=50000, $form_name = "form_element", $bCopy = false)
{
global $bCopy;
$start = 0;
if(!is_array($property_fields["~VALUE"]))
$values = array();
else
$values = $property_fields["~VALUE"];
unset($property_fields["VALUE"]);
unset($property_fields["~VALUE"]);
$html = '
';
$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();
?>