Files
progcode/web/public/assets/editorial/2018/bitrix-file-state-ownership-2018.svg
T
huncode c72a72b8f3
Build and deploy / deploy (push) Successful in 14s
revise late 2018 editorial articles
2026-07-31 10:09:53 +03:00

65 lines
4.7 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 1120" role="img" aria-labelledby="title desc">
<title id="title">Состояния изображения в форме Bitrix</title>
<desc id="desc">Вертикальная схема пути файла: выбор в браузере, multipart POST, запись CFile и обновление PREVIEW_PICTURE элемента инфоблока.</desc>
<defs>
<linearGradient id="bg" x1="0" x2="1" y1="0" y2="1">
<stop offset="0" stop-color="#111827"/>
<stop offset="1" stop-color="#172554"/>
</linearGradient>
<filter id="shadow" x="-15%" y="-10%" width="130%" height="130%">
<feDropShadow dx="0" dy="10" stdDeviation="10" flood-color="#020617" flood-opacity=".28"/>
</filter>
<marker id="arrow" markerWidth="12" markerHeight="12" refX="6" refY="10" orient="auto">
<path d="M0,0 L12,0 L6,12 Z" fill="#7dd3fc"/>
</marker>
</defs>
<rect width="640" height="1120" rx="28" fill="url(#bg)"/>
<g font-family="Inter,Arial,sans-serif">
<text x="48" y="58" fill="#f8fafc" font-size="27" font-weight="700">Форма с изображением:</text>
<text x="48" y="91" fill="#f8fafc" font-size="27" font-weight="700">четыре состояния файла</text>
<text x="48" y="122" fill="#94a3b8" font-size="16">Preview не доказывает, что карточка уже обновлена.</text>
<g filter="url(#shadow)">
<rect x="48" y="160" width="544" height="142" rx="20" fill="#1e293b" stroke="#475569"/>
<rect x="48" y="378" width="544" height="142" rx="20" fill="#1e293b" stroke="#475569"/>
<rect x="48" y="596" width="544" height="142" rx="20" fill="#0f3a53" stroke="#38bdf8"/>
<rect x="48" y="814" width="544" height="142" rx="20" fill="#172554" stroke="#818cf8"/>
</g>
<circle cx="86" cy="202" r="20" fill="#334155"/>
<text x="86" y="209" text-anchor="middle" fill="#e2e8f0" font-size="16" font-weight="700">1</text>
<text x="120" y="207" fill="#f8fafc" font-size="22" font-weight="700">Браузер: File и preview</text>
<text x="80" y="248" fill="#cbd5e1" font-size="17">Пользователь видит выбранный файл.</text>
<text x="80" y="274" fill="#cbd5e1" font-size="17">Постоянного ID Bitrix ещё нет.</text>
<circle cx="86" cy="420" r="20" fill="#334155"/>
<text x="86" y="427" text-anchor="middle" fill="#e2e8f0" font-size="16" font-weight="700">2</text>
<text x="120" y="425" fill="#f8fafc" font-size="22" font-weight="700">Форма: multipart POST</text>
<text x="80" y="466" fill="#cbd5e1" font-size="17">Проверяем имя поля и UPLOAD_ERR.</text>
<text x="80" y="492" fill="#cbd5e1" font-size="17">Доказательство: ожидаемый $_FILES.</text>
<circle cx="86" cy="638" r="20" fill="#0c4a6e"/>
<text x="86" y="645" text-anchor="middle" fill="#e0f2fe" font-size="16" font-weight="700">3</text>
<text x="120" y="643" fill="#f8fafc" font-size="22" font-weight="700">CFile: запись в b_file</text>
<text x="80" y="684" fill="#dbeafe" font-size="17">CFile::SaveFile вернул положительный ID.</text>
<text x="80" y="710" fill="#dbeafe" font-size="17">Файл можно прочитать по этому ID.</text>
<circle cx="86" cy="856" r="20" fill="#3730a3"/>
<text x="86" y="863" text-anchor="middle" fill="#e0e7ff" font-size="16" font-weight="700">4</text>
<text x="120" y="861" fill="#f8fafc" font-size="22" font-weight="700">Элемент: PREVIEW_PICTURE</text>
<text x="80" y="902" fill="#dbeafe" font-size="17">CIBlockElement::Update вернул true.</text>
<text x="80" y="928" fill="#dbeafe" font-size="17">Свежая карточка читает новый ID.</text>
<path d="M320 302 V378" fill="none" stroke="#7dd3fc" stroke-width="4" marker-end="url(#arrow)"/>
<path d="M320 520 V596" fill="none" stroke="#7dd3fc" stroke-width="4" marker-end="url(#arrow)"/>
<path d="M320 738 V814" fill="none" stroke="#7dd3fc" stroke-width="4" marker-end="url(#arrow)"/>
<text x="344" y="348" fill="#bae6fd" font-size="15" font-weight="700">отправить</text>
<text x="344" y="566" fill="#bae6fd" font-size="15" font-weight="700">SaveFile</text>
<text x="344" y="784" fill="#bae6fd" font-size="15" font-weight="700">Update</text>
<rect x="48" y="1000" width="544" height="76" rx="16" fill="#0b1220" stroke="#334155"/>
<text x="76" y="1034" fill="#f8fafc" font-size="18" font-weight="700">Проверка после каждого перехода</text>
<text x="76" y="1060" fill="#cbd5e1" font-size="15">Искать расхождение на стрелке, а не рисовать новый preview.</text>
</g>
</svg>