Esempio n. 1
0
 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)));
     }
 }
Esempio n. 2
0
 /**
  * Получение файла с аватаром пользователя.
  * @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);
 }
Esempio n. 3
0
 /**
  * Метод возвращает обложку сущности, приводя её размер к $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);
 }