Я тут добавляю нам возможность заливать не просто одну картинку к посту, как было все эти годы, а сразу несколько или даже много.
В связи с чем переписываю прежний рабочий код и он может странным образом частично отвалиться.
Долго думал, хотел избежать такого вовсе — лучше уж, предполагал, сделаю совсем новый, отдельный интерфейс. Но после некоторых размышлений, взвесив все за и против (а их много, особенно когда вы знаете архитектуру движка и базы: всплывают вполне весомые соображения в пользу того или иного решения, вообще не заметные снаружи) — решил всё же интегрировать в уже существующий интерфейс, не делать для галерей отдельную форму.
По двум причинам:
1. Здорово будет, если галереи можно будет размещать не только в отдельном их разделе галерей. А где угодно: в Открытом, Скрытом, Зоопарках — особенно для зоопарков это будет удачно.
1.1. Но и отдельно тоже будет прельстиво (как говорим мы, вьетнамцы) весьма их смотреть. Есть решение: потом напишу инструмент показа только их отдельно, в общем для них месте.
2. Об этом дольше всего думал, чуть не вынес на ваше голосование в отчаянии: делать ли картинки в галерее в том виде, как мы их прежде всегда публиковали вручную — каждая отдельным комментарием; или писать их механизм заново, пусть будут в горизонтальной прокрутке, как на Фейсбуке (на Реддит даже не смотрю — по-моему они там просто наркоманы какие-то, нет, правда, вы видели этот их Реддит?) Победило понимание того, что:
2.1. нефига писать примерно тот же код в ещё одном месте — код должен быть минимально самоповторяющ
2.2. главное: это же всем на радость будет, если (а ведь когда-нибудь особенно понадобится) за каждую картинку в галерее можно будет отдельно проголосовать, и к каждой отдельно написать комментарий, или несколько. А это уже реализовано деревом комментариев — и категорически нельзя писать всё заново для другого представления, горизонтального. Разумней будет просто для галерей тогда уж видоизменить формат вывода
ключевых объектов — их фото. В смысле: в галерее если уж понадобится убрать картинки из
вертикального потока по методу зюзьги — ну, сделаем, не проблема. Но идеальную структуру, абстрактную-то модель тут зачем менять? В ней же нет право и лево, верха и низа — стало быть она безупречно подойдёт и сюда: а привычный верх-низ на новое молодёжное право-лево мы ей если надо поменяем, прикрутим уже на этапе вывода. Думаю, примерно об этом некогда и Кант размышлял — о том месте, где не только всего прочего, но даже элементарного право и лево нет, а оно, если серьёзно напрячь извилину, оказывается единственно важным, решающим для всего прочего; определяющим всё подчинённое, неважное, дальнейшее.
2.3. Ну ладно, делаем всё просто и заново: никаких комментариев, только общие, привязкой галереи к отдельному посту, как изначально планировал тогда; быстро заменяем аплод одной картинки на серию — а как тогда удалять случайные повторы? как тогда привязывать задуманную тогда ещё, тоже изначально, возможность дополнять галерею одного автора картинками других — но так, чтоб у каждой картинки было отмечено её авторство и дата? То есть всё же значит заново писать дублирующий для всего код?
2.4. В общем, полез специально в базу, глянуть архитектуру комментариев, давно забытую. В надежде сразу ужаснуться её неприменимости в нашем случае галерей и с чистой совестью приняться писать новый функционал с чистого листа, заново... А она идеально подходит — там ничего лишнего для нашего нового случая. Только всё необходимое: автор, дата, картинка (что в новой модели — основное поле записи) и комментарий (что в новой модели — весьма нелишнее вспомогательное поле записи; у некоторых картинок в галереях могут и должны быть описания, названия).
Это я к чему: ну, всё равно можете начать голосовать. За тот или иной метод. А главное: если сегодня или дальше что будет отваливаться при создании сообщений — это просто я там наконец начал ковыряться.
И да, всё это пишу, чтоб как раз проверить: совсем ли отвалился пока прежний аплод единственной картинки? А то у вас тут в ваших видеопостах какие-то обрывки стали попадаться, я волнуюсь. Хотя зачем в видео картинки?