123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- <?php
- if (!defined('GNUSOCIAL')) { exit(1); }
- class AttachmentList extends Widget
- {
-
- var $notice = null;
-
- function __construct(Notice $notice, $out=null)
- {
- parent::__construct($out);
- $this->notice = $notice;
- }
-
- function show()
- {
- $attachments = $this->notice->attachments();
- foreach ($attachments as $key=>$att) {
-
- if ($att->getTitle() === _('Untitled attachment') && !$att->hasThumbnail()) {
- unset($attachments[$key]);
- }
- }
- if (!count($attachments)) {
- return 0;
- }
- if ($this->notice->getProfile()->isSilenced()) {
-
- $this->element('div', ['class'=>'error'],
- _('Attachments are hidden because this profile has been silenced.'));
- return 0;
- }
- $this->showListStart();
- foreach ($attachments as $att) {
- $item = $this->newListItem($att);
- $item->show();
- }
- $this->showListEnd();
- return count($attachments);
- }
- function showListStart()
- {
- $this->out->elementStart('ol', array('class' => 'attachments'));
- }
- function showListEnd()
- {
- $this->out->elementEnd('ol');
- }
-
- function newListItem(File $attachment)
- {
- return new AttachmentListItem($attachment, $this->out);
- }
- }
|