<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<channel>
			<title>Можно ли в момент приема файла, выполнить дополнительно какие-то действия над ним? / Вопросы, проблемы и их решения / Alto CMS</title>
			<link>http://79.174.14.219/comments/1396/</link>
			<description><![CDATA[Допустим у нас есть в топике поле типа файл, мы выбираем файл, и жмем кнопку опубликовать топик, и мы хотим]]></description>
			<language>ru</language>
			<managingEditor>noreply@altocms.ru</managingEditor>
			<webMaster>noreply@altocms.ru</webMaster>
			<generator>Alto CMS v.1.5.0b1</generator>
							<item>
					<title>Можно ли в момент приема файла, выполнить дополнительно какие-то действия над ним? (comment #24137)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/1396/#comment24137</guid>
					<link>http://79.174.14.219/1396.html#comment24137</link>
					<author>j.j.lefebvre@yandex.ru</author>
					<description><![CDATA[Правильно ли будет дописать необходимый код в функцию AddTopicValue в файле common/classes/modules/topic/mapper/Topic.mapper.class.php?]]></description>
					<pubDate>Thu, 15 Oct 2015 15:02:20 +0300</pubDate>
									</item>
							<item>
					<title>Можно ли в момент приема файла, выполнить дополнительно какие-то действия над ним? (comment #24174)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/1396/#comment24174</guid>
					<link>http://79.174.14.219/1396.html#comment24174</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[Дописывать что-либо в существующий код движка — это однозначно неправильно. Плагины — наше все. Для расширения функциональности нужно писать свой плагин, который будет либо наследовать и расширять существующие классы и методы (чистый ООП), либо перехватывать хуки.<br/>
<br/>
Я обычно делаю так: если расширения/дополнения для конкретного сайта делаются, то я создаю плагин для этого сайта и все, что нужно для данного сайта, пишу в этот плагин.]]></description>
					<pubDate>Fri, 16 Oct 2015 11:21:59 +0300</pubDate>
									</item>
							<item>
					<title>Можно ли в момент приема файла, выполнить дополнительно какие-то действия над ним? (comment #24209)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/1396/#comment24209</guid>
					<link>http://79.174.14.219/1396.html#comment24209</link>
					<author>j.j.lefebvre@yandex.ru</author>
					<description><![CDATA[Да, это понятно.<br/>
Возник несколько другой вопрос:<br/>
когда создается топик с дополнительным полем типа файл, в базу делается insert, содержащий target_id этого поля(?) и сразу после него — update этой строки.<br/>
Если мы удаляем файл — то в базу делается delete для строки содержащей этот target_id.<br/>
<br/>
Но вот если мы после создания топика хотим отредактировать топик, то происходит нечто странное:<br/>
строка содержащая этот target_id сперва удаляется, а потом создается с новым id…<br/>
То есть есть некоторый момент времени (а при нагруженной базе этот момент может стать заметным) когда файл есть, топик есть, а вот ссылка на этот файл в базе отсутствует.<br/>
Мне не удалось установить (я не нашел этого в коде) делается ли это удаление и последующая вставка в виде транзакции.<br/>
<br/>
Что произойдет если база в этот момент упадет?<br/>
Что произойдет если к файлу в этот момент придет запрос?<br/>
Почему делается удаление и вставка вместо update?]]></description>
					<pubDate>Sat, 17 Oct 2015 23:29:23 +0300</pubDate>
									</item>
							<item>
					<title>Можно ли в момент приема файла, выполнить дополнительно какие-то действия над ним? (comment #24214)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/1396/#comment24214</guid>
					<link>http://79.174.14.219/1396.html#comment24214</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[Транзакции в движке, к сожалению, не используются. Печально, но факт. Со всеми вытекающими. Да и вообще работа с доп.полями спроектирована неудачно и совершенно однозначно требует переделки.]]></description>
					<pubDate>Sun, 18 Oct 2015 01:28:06 +0300</pubDate>
									</item>
					</channel>
	</rss>
