private function generateImpl() { $images = DirManager::inst('ps-addon/crop')->getDirContent('oboi', DirItemFilter::FILES); for ($i = 0; $i < rand(2000, 3000); $i++) { $img = $images[array_rand($images)]; echo PsHtml::img(array('src' => PsImgEditor::resize($img, '60x60', null))); } }
/** * Получение файла с аватаром пользователя. * @return DirItem */ public function getAvatarDi($dim = '100x100', $avtarId = null) { $avtarId = is_numeric($avtarId) ? $avtarId : $this->getAvatarId(); $srcDi = $avtarId ? AvatarUploader::inst()->getUploadedFileDi($avtarId, $this->userId) : null; if ($srcDi && $srcDi->isImg()) { return PsImgEditor::resize($srcDi, $dim); } if (is_numeric($avtarId) || $this->hasAvatar()) { return PsImgEditor::resizeBase('noimage.png', $dim); } return $this->getDefaultAvatarDi($dim); }
/** * Метод возвращает обложку сущности, приводя её размер к $dim. * * @param type $ident - идентификатор сущности. Если передан null, то будет возвращена дефолтная обложка. * @param type $dim - размер в виде 3x4 * @return DirItem */ public function getCover($ident = null, $dim = null) { $this->assertImagesFactoryEnabled(); //Определим размер $dim = $dim ? $dim : $this->defaultDim(); //Мы ожидаем, что все обложки для фолдингов должны иметь расширение SYSTEM_IMG_TYPE $scrDi = $ident && $this->hasAccess($ident) ? $this->getCoverOriginal($ident) : null; //Передать сущность нужно именно в качестве первого параметра метода getDirItem, //чтобы не проверять доступ, так как дефолтная картинка должна быть доступна всегда $dfltDi = $this->getResourcesDm()->getDirItem(self::PATTERN_NAME, self::PATTERN_NAME, SYSTEM_IMG_TYPE); //Выполняем resize return $scrDi ? PsImgEditor::resize($scrDi, $dim, $dfltDi) : PsImgEditor::resize($dfltDi, $dim); }