avatar
+6.36
13.562
Для того, чтоб получить и переназначить фильтр надо использовать такую конструкцию:
class PluginTest_ModuleTopic_MapperTopic extends PluginTest_Inherit_ModuleTopic_MapperTopic {
    protected function buildFilter($aFilter) {
        $sWhere = parent::buildFilter($aFilter);
        //здесь переназначаешь то, что надо
        return $sWhere;
    }
}
Когда включаешь плагин он работает для всех пользователей?
Когда просят что либо починить приходится приписывать функцию для того чтоб отладка срабатывала только для меня.
Очень полезный плагин. Спасибо!
sersar
sersar
А кто может видеть содержимое? На какие условия проверять?
Дружное сообщество снова молчит? Меня тоже интересует данный нюанс.
А смысл? В новой версии Альто будет новая система хранения фото. Поэтому лучше скинуться и написать свой плагин. Конечно могу посмотреть, но адаптация будет стоить.
Не страшно :-) Может человек сначала у Вас спросит совета, а если не выйдет то уже ко мне.
Присоседился. Шустрый какой :-)
Если есть денежка на шоколадку — пиши в личку :-)
Да. И аватары и фото. Конечно с тех соцсетей которые их отдают.
Если нужен адаптированный плагин — обращайся.
Ещё враждебное отношение добавлю в список минусов.
Стараешся. Адаптируеш. Агитируешь. А тебя игнорят и минусуют.
Вот и ответили тебе все (кроме авторов) поклонники движка Альто. Грустно…
Проблемы нет. Просто убедиться, что эти методы актуальны и меняться (пока) не будут.
Наличие аватара и фото проверять методом:
$this->hasAvatar();
$this->hasPhoto();
?
Сколько должно пройти времени или сколько раз надо написать, чтоб получить ответ на вопрос?!
Какой плагин?
Проверка методом:
$this->hasAvatar();
$this->hasPhoto();
?
Можно было спросить о какой версии идёт речь.
Можно было сказать, что ты посмотришь код.
И т.д.
В итоге мне пришлось писать такие костыли:
public function UploadRandomImageResource($xStoredFile, $sTargetId, $sTargetType, $bMulti = FALSE) {

        // Если одиночная загрузка, то предыдущий файл затрем
        // Иначе просто добавляем еще один.
        if (!$bMulti) {
            E::ModuleMresource()->UnlinkFile($sTargetType, $sTargetId, E::UserId());
        }

        /** @var ModuleMresource_EntityMresource $oResource */
        $oResource = E::ModuleMresource()->GetMresourcesByUuid($xStoredFile->getUuid());
        if ($oResource) {
//            $oRel = Engine::GetEntity('Mresource_MresourceRel');
            $oResource->setUrl(E::ModuleMresource()->NormalizeUrl(E::ModuleUploader()->GetTargetUrl($sTargetType, $sTargetId)));
            $oResource->setType($sTargetType);
            $oResource->setUserId(E::UserId());
            $oResource = array($oResource);

            E::ModuleMresource()->AddTargetRel($oResource, $sTargetType, $sTargetId);

            return $oResource;
        }

        return FALSE;
    }

    public function UploadRandomImage($sTmpFile, $sTargetId, $sTarget)
    {
        if (!$this->oUserCurrent or $this->oUserCurrent->getId() != $sTargetId) {
            return false;
        }
        E::ModuleMresource()->UnlinkFile($sTarget, $sTargetId, E::UserId());
        $oImg = E::ModuleImg()->Read($sTmpFile);
        $sExtension = strtolower(pathinfo($sTmpFile, PATHINFO_EXTENSION));
        // Сохраняем фото во временный файл
        if ($sTmpFile = $oImg->Save(F::File_UploadUniqname($sExtension))) {
            // Файл, куда будет записано фото
            $sPhoto = E::ModuleUploader()->Uniqname(E::ModuleUploader()->GetUploadDir($sTarget, $sTargetId), $sExtension);
            // Окончательная запись файла только через модуль Uploader
            if ($xStoredFile = E::ModuleUploader()->Store($sTmpFile, $sPhoto)) {
                if (is_object($xStoredFile)) {
                    $this->UploadRandomImageResource($xStoredFile, $sTargetId, $sTarget);
                    $sFile = $xStoredFile->GetUrl();
                } else {
                    $sFile = $xStoredFile->GetUrl();
                }
                return $sFile;
            }
        }
        return false;
    }

Теперь UploadAvatar работает корректно?
Что насчёт UploadPhoto?
Как обычно разобрался сам.
Зачем пишется движок если никому не нужен…