<?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>Изменение аватара / Блог им. sersar / Alto CMS</title>
			<link>http://altocms.ru/comments/1009/</link>
			<description><![CDATA[Надо сделать, чтоб пользователям которые не установили аватар присвоился аватар. Код:... $sFile = $this-&amp;#62;UploadAvatar($sFileTmp, $oUser); $oUser-&amp;#62;setProfileAvatar($sFile); $this-&amp;#62;Update($oUser); ...В ответ получаю]]></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 #18603)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment18603</guid>
					<link>http://altocms.ru/1009.html#comment18603</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[Если не устраивают дефолтные аватары, то гораздо проще заменить сами картинки дефолтных аватар в шаблоне. Или я не понял замысла?]]></description>
					<pubDate>Tue, 03 Mar 2015 21:40:03 +0300</pubDate>
									</item>
							<item>
					<title>Изменение аватара (comment #18607)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment18607</guid>
					<link>http://altocms.ru/1009.html#comment18607</link>
					<author>sersar@ukr.net</author>
					<description><![CDATA[Мне не нужна дефолтная. Мне надо любому пользователю без аватара присвоить любой аватар из набора.]]></description>
					<pubDate>Tue, 03 Mar 2015 22:25:02 +0300</pubDate>
									</item>
							<item>
					<title>Изменение аватара (comment #18608)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment18608</guid>
					<link>http://altocms.ru/1009.html#comment18608</link>
					<author>sersar@ukr.net</author>
					<description><![CDATA[Уже писал раз десять. Исправьте, чтоб не отсылало уведомление на почту о том, что я ответил на комментарий!]]></description>
					<pubDate>Tue, 03 Mar 2015 22:26:58 +0300</pubDate>
									</item>
							<item>
					<title>Изменение аватара (comment #18624)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment18624</guid>
					<link>http://altocms.ru/1009.html#comment18624</link>
					<author>acstrelcova@gmail.com</author>
					<description><![CDATA[<img src="http://altocms.ru/uploads/images/00/01/17/2015/03/04/0ub4d30330-5e0d9c3c-638010be.jpg" />]]></description>
					<pubDate>Wed, 04 Mar 2015 22:50:05 +0300</pubDate>
									</item>
							<item>
					<title>Изменение аватара (comment #18625)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment18625</guid>
					<link>http://altocms.ru/1009.html#comment18625</link>
					<author>reverty@gmail.com</author>
					<description><![CDATA[Немного не о том речь, тут на сайте приходит уведомление тебе о твоем же комментарии, что конечно забавно =)]]></description>
					<pubDate>Wed, 04 Mar 2015 23:25:17 +0300</pubDate>
									</item>
							<item>
					<title>Изменение аватара (comment #18629)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment18629</guid>
					<link>http://altocms.ru/1009.html#comment18629</link>
					<author>sersar@ukr.net</author>
					<description><![CDATA[Не надо умничать.]]></description>
					<pubDate>Thu, 05 Mar 2015 11:08:03 +0300</pubDate>
									</item>
							<item>
					<title>Изменение аватара (comment #18647)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment18647</guid>
					<link>http://altocms.ru/1009.html#comment18647</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[Грубить тоже не стоит]]></description>
					<pubDate>Sat, 07 Mar 2015 00:31:13 +0300</pubDate>
									</item>
							<item>
					<title>Изменение аватара (comment #18623)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment18623</guid>
					<link>http://altocms.ru/1009.html#comment18623</link>
					<author>sersar@ukr.net</author>
					<description><![CDATA[Вижу метод UploadAvatar уже не используется. Он не добавляет картинку в ресурс.<br/>
Как по другому загрузить аватар?]]></description>
					<pubDate>Wed, 04 Mar 2015 22:17:06 +0300</pubDate>
									</item>
							<item>
					<title>Изменение аватара (comment #18645)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment18645</guid>
					<link>http://altocms.ru/1009.html#comment18645</link>
					<author>sersar@ukr.net</author>
					<description><![CDATA[Как обычно разобрался сам.<br/>
Зачем пишется движок если никому не нужен…]]></description>
					<pubDate>Fri, 06 Mar 2015 21:52:10 +0300</pubDate>
									</item>
							<item>
					<title>Изменение аватара (comment #18649)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment18649</guid>
					<link>http://altocms.ru/1009.html#comment18649</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[Вообще-то, можно было и поделиться решением, а то ведь от других ответов ждем, а сами…<br/>
<br/>
Но да ладно. Хоть версия движка и не называлась, с которой проблема возникла, но экстрасенсов вызывать не пришлось, я догадался. И поправил код, дабы решить проблему. Механизм работы с изображениями в 1.1 только-только доведен более-менее до нужного состояния. И да, для загрузки изображений (в т.ч. и аватар) используются иные (универсальные) методы. Но для обеспечения совместимости метод UploadAvatar() я поправил. Теперь это работает вообще одной строкой:<br/>
<pre class="prettyprint"><code>$this-&gt;UploadAvatar($sFileTmp, $oUser);</code></pre>Т.е. профиль можно не обновлять. Это если вызывается из наследника модуля User. Либо универсальный вызов (откуда угодно):<br/>
<pre class="prettyprint"><code>E::ModuleUser()-&gt;UploadAvatar($sFileTmp, $oUser);</code></pre>]]></description>
					<pubDate>Sat, 07 Mar 2015 01:31:31 +0300</pubDate>
									</item>
							<item>
					<title>Изменение аватара (comment #18720)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment18720</guid>
					<link>http://altocms.ru/1009.html#comment18720</link>
					<author>sersar@ukr.net</author>
					<description><![CDATA[Можно было спросить о какой версии идёт речь.<br/>
Можно было сказать, что ты посмотришь код.<br/>
И т.д.<br/>
В итоге мне пришлось писать такие костыли:<pre class="prettyprint"><code>public function UploadRandomImageResource($xStoredFile, $sTargetId, $sTargetType, $bMulti = FALSE) {

        // Если одиночная загрузка, то предыдущий файл затрем
        // Иначе просто добавляем еще один.
        if (!$bMulti) {
            E::ModuleMresource()-&gt;UnlinkFile($sTargetType, $sTargetId, E::UserId());
        }

        /** @var ModuleMresource_EntityMresource $oResource */
        $oResource = E::ModuleMresource()-&gt;GetMresourcesByUuid($xStoredFile-&gt;getUuid());
        if ($oResource) {
//            $oRel = Engine::GetEntity('Mresource_MresourceRel');
            $oResource-&gt;setUrl(E::ModuleMresource()-&gt;NormalizeUrl(E::ModuleUploader()-&gt;GetTargetUrl($sTargetType, $sTargetId)));
            $oResource-&gt;setType($sTargetType);
            $oResource-&gt;setUserId(E::UserId());
            $oResource = array($oResource);

            E::ModuleMresource()-&gt;AddTargetRel($oResource, $sTargetType, $sTargetId);

            return $oResource;
        }

        return FALSE;
    }

    public function UploadRandomImage($sTmpFile, $sTargetId, $sTarget)
    {
        if (!$this-&gt;oUserCurrent or $this-&gt;oUserCurrent-&gt;getId() != $sTargetId) {
            return false;
        }
        E::ModuleMresource()-&gt;UnlinkFile($sTarget, $sTargetId, E::UserId());
        $oImg = E::ModuleImg()-&gt;Read($sTmpFile);
        $sExtension = strtolower(pathinfo($sTmpFile, PATHINFO_EXTENSION));
        // Сохраняем фото во временный файл
        if ($sTmpFile = $oImg-&gt;Save(F::File_UploadUniqname($sExtension))) {
            // Файл, куда будет записано фото
            $sPhoto = E::ModuleUploader()-&gt;Uniqname(E::ModuleUploader()-&gt;GetUploadDir($sTarget, $sTargetId), $sExtension);
            // Окончательная запись файла только через модуль Uploader
            if ($xStoredFile = E::ModuleUploader()-&gt;Store($sTmpFile, $sPhoto)) {
                if (is_object($xStoredFile)) {
                    $this-&gt;UploadRandomImageResource($xStoredFile, $sTargetId, $sTarget);
                    $sFile = $xStoredFile-&gt;GetUrl();
                } else {
                    $sFile = $xStoredFile-&gt;GetUrl();
                }
                return $sFile;
            }
        }
        return false;
    }</code></pre><br/>
Теперь UploadAvatar работает корректно?<br/>
Что насчёт UploadPhoto?]]></description>
					<pubDate>Sat, 07 Mar 2015 22:44:33 +0300</pubDate>
									</item>
							<item>
					<title>Изменение аватара (comment #18794)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment18794</guid>
					<link>http://altocms.ru/1009.html#comment18794</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[Сейчас должны работать и UploadAvatar(), и UploadPhoto()]]></description>
					<pubDate>Tue, 10 Mar 2015 11:36:27 +0300</pubDate>
									</item>
							<item>
					<title>Изменение аватара (comment #18883)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment18883</guid>
					<link>http://altocms.ru/1009.html#comment18883</link>
					<author>sersar@ukr.net</author>
					<description><![CDATA[Проверка методом:<br/>
$this-&gt;hasAvatar();<br/>
$this-&gt;hasPhoto();<br/>
?]]></description>
					<pubDate>Thu, 12 Mar 2015 13:27:05 +0300</pubDate>
									</item>
							<item>
					<title>Изменение аватара (comment #19029)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment19029</guid>
					<link>http://altocms.ru/1009.html#comment19029</link>
					<author>sersar@ukr.net</author>
					<description><![CDATA[Сколько должно пройти времени или сколько раз надо написать, чтоб получить ответ на вопрос?!]]></description>
					<pubDate>Sun, 15 Mar 2015 13:28:25 +0300</pubDate>
									</item>
							<item>
					<title>Изменение аватара (comment #19031)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment19031</guid>
					<link>http://altocms.ru/1009.html#comment19031</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[Да, халявная служба поддержки совсем от рук отбилась… Накажем, разберемся, поувольняем всех нафиг.<br/>
<br/>
А какие проблемы? Что-то не работает? Что именно?]]></description>
					<pubDate>Sun, 15 Mar 2015 14:11:27 +0300</pubDate>
									</item>
							<item>
					<title>Изменение аватара (comment #19032)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment19032</guid>
					<link>http://altocms.ru/1009.html#comment19032</link>
					<author>sersar@ukr.net</author>
					<description><![CDATA[Наличие аватара и фото проверять методом:<br/>
$this-&gt;hasAvatar();<br/>
$this-&gt;hasPhoto();<br/>
?]]></description>
					<pubDate>Sun, 15 Mar 2015 14:15:28 +0300</pubDate>
									</item>
							<item>
					<title>Изменение аватара (comment #19034)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment19034</guid>
					<link>http://altocms.ru/1009.html#comment19034</link>
					<author>reverty@gmail.com</author>
					<description><![CDATA[Посмотрел на тестовом сайте. Да, данные методы отрабатывают корректно. А проблема то в чем?]]></description>
					<pubDate>Sun, 15 Mar 2015 14:52:41 +0300</pubDate>
									</item>
							<item>
					<title>Изменение аватара (comment #19050)</title>
					<guid isPermaLink="true">http://altocms.ru/t/1009/#comment19050</guid>
					<link>http://altocms.ru/1009.html#comment19050</link>
					<author>sersar@ukr.net</author>
					<description><![CDATA[Проблемы нет. Просто убедиться, что эти методы актуальны и меняться (пока) не будут.]]></description>
					<pubDate>Sun, 15 Mar 2015 17:11:56 +0300</pubDate>
									</item>
					</channel>
	</rss>
