%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/components/bitrix/main.post.form/templates/.default/ |
Current File : /home/bitrix/www/bitrix/components/bitrix/main.post.form/templates/.default/file.php |
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); /** * @var array $arParams * @var array $arResult */ $handlers = array(); $arParams["UPLOADS"] = array(); if (is_array($arParams["UPLOAD_FILE"]) && !empty($arParams["UPLOAD_FILE"])) { if (array_key_exists("USER_TYPE_ID", $arParams["UPLOAD_FILE"])) { $arParams["UPLOAD_FILE"]["VALUE"] = array_merge( (is_array($arParams["UPLOAD_FILE"]["INPUT_VALUE"]) ? $arParams["UPLOAD_FILE"]["INPUT_VALUE"] : array()), (is_array($arParams["UPLOAD_FILE"]["VALUE"]) ? $arParams["UPLOAD_FILE"]["VALUE"] : array()) ); if (array_key_exists("FILES", $arParams) && is_array($arParams["FILES"]) && array_key_exists("POSTFIX", $arParams["FILES"])) $arParams["UPLOAD_FILE"]["POSTFIX"] = $arParams["FILES"]["POSTFIX"]; $arParams["PROPERTIES"][] = $arParams["UPLOAD_FILE"]; } else if (array_key_exists("INPUT_NAME", $arParams["UPLOAD_FILE"])) { if (isset($arParams["UPLOAD_FILE"]["TAG"])) $arParams["PARSER"]["file"] = $arParams["UPLOAD_FILE"]["TAG"]; $arParams["UPLOADS"][] = $arParams["UPLOAD_FILE"]; } unset($arParams["UPLOAD_FILE"]); } if (is_array($arParams["UPLOAD_WEBDAV_ELEMENT"]) && !empty($arParams["UPLOAD_WEBDAV_ELEMENT"])) { $arParams["PROPERTIES"][] = $arParams["UPLOAD_WEBDAV_ELEMENT"]; unset($arParams["UPLOAD_WEBDAV_ELEMENT"]); } if (is_array($arParams["PROPERTIES"])) { foreach ($arParams["PROPERTIES"] as $val) { if (isset($val["USER_TYPE_ID"]) && in_array($val["USER_TYPE_ID"], array("disk_file", "webdav_element", "file"))) { if (!array_key_exists($val["USER_TYPE_ID"], $handlers)) { if (array_key_exists("TAG", $val["USER_TYPE"]) ) { $arParams["PARSER"][$val["USER_TYPE_ID"]] = $val["USER_TYPE"]["TAG"]; } if ($val["USER_TYPE_ID"] == "file") $handlers["file"] = $handlers["system.field.edit.file"] = AddEventHandler('main', 'system.field.edit.file', "__main_post_form_replace_template"); else $handlers[$val["USER_TYPE_ID"]] = AddEventHandler("main", $val["USER_TYPE_ID"], "__main_post_form_replace_template"); } $arParams["UPLOADS"][] = $val; } } } if (empty($arParams["UPLOADS"])) return; __main_post_form_image_resize(($bNull = null), $arParams["UPLOAD_FILE_PARAMS"]); if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_REQUEST['mfi_mode']) && ($_REQUEST['mfi_mode'] == "upload")) { $handlers["main.file.input.upload"] = AddEventHandler('main', "main.file.input.upload", '__main_post_form_image_resize'); } ob_start(); foreach ($arParams["UPLOADS"] as $v) { if (in_array($v["USER_TYPE_ID"], array("file", "webdav_element", "disk_file"))) { $APPLICATION->IncludeComponent("bitrix:system.field.edit", $v["USER_TYPE_ID"], array( "arUserField" => $v, "DISABLE_CREATING_FILE_BY_CLOUD" => (isset($arParams["DISABLE_CREATING_FILE_BY_CLOUD"]) ? $arParams["DISABLE_CREATING_FILE_BY_CLOUD"] : $v["DISABLE_CREATING_FILE_BY_CLOUD"]), "DISABLE_LOCAL_EDIT" => (isset($arParams["DISABLE_LOCAL_EDIT"]) ? $arParams["DISABLE_LOCAL_EDIT"] : $v["DISABLE_LOCAL_EDIT"]), "HIDE_CHECKBOX_ALLOW_EDIT" => (isset($arParams["HIDE_CHECKBOX_ALLOW_EDIT"]) ? $arParams["HIDE_CHECKBOX_ALLOW_EDIT"] : $v["HIDE_CHECKBOX_ALLOW_EDIT"]), ), null, array("HIDE_ICONS" => "Y") ); $arParams["UPLOADS_CID"][__main_post_form_replace_template()] = array( "parser" => $v["USER_TYPE_ID"], "value" => ($v["USER_TYPE_ID"] == "file" ? $v["VALUE"] : array()), "postfix" => $v["POSTFIX"] ); } else if (!empty($v["INPUT_NAME"])) { $cid = $GLOBALS["APPLICATION"]->IncludeComponent( 'bitrix:main.file.input', 'drag_n_drop', array( 'CONTROL_ID' => $v["CONTROL_ID"], 'INPUT_NAME' => $v["INPUT_NAME"], 'INPUT_NAME_UNSAVED' => 'FILE_NEW_TMP', 'INPUT_VALUE' => $v["INPUT_VALUE"], 'MAX_FILE_SIZE' => $v["MAX_FILE_SIZE"], 'MULTIPLE' => $v["MULTIPLE"], 'MODULE_ID' => $v["MODULE_ID"], 'ALLOW_UPLOAD' => $v["ALLOW_UPLOAD"], 'ALLOW_UPLOAD_EXT' => $v["ALLOW_UPLOAD_EXT"], 'INPUT_CAPTION' => $v["INPUT_CAPTION"] ), null, array("HIDE_ICONS" => true) ); $parser = "file"; $arParams["UPLOADS_CID"][$cid] = array( "storage" => "bfile", "parser" => $parser, "postfix" => $v["POSTFIX"] ); } } $arParams["UPLOADS_HTML"] = ob_get_clean(); foreach($handlers as $eventName => $handlerID) if ($handlerID) RemoveEventHandler("main", $eventName, $handlerID); ?>