Skip to content
Snippets Groups Projects
Select Git revision
  • 57d455a77c054be53b463a842d66fa8508d40c53
  • main default protected
  • 5.5 protected
  • atlantis
  • 5.3 protected
  • 5.0 protected
  • issue-23
  • issue8-seat-logging-and-export
  • ticket-216
  • tickets-215-216-241-242
10 results

ActionMenu.php

Blame
  • Forked from Stud.IP / Stud.IP
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    UnknownFileType.php 4.79 KiB
    <?php
    /**
     * UnknownFileType.php
     *
     * This program is free software; you can redistribute it and/or
     * modify it under the terms of the GNU General Public License as
     * published by the Free Software Foundation; either version 2 of
     * the License, or (at your option) any later version.
     *
     * @author    André Noack <noack@data-quest.de>
     * @copyright 2020 Stud.IP Core-Group
     * @license   http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
     * @category  Stud.IP
     */
    
    class UnknownFileType implements FileType, ArrayAccess
    {
        /**
         * @var FileRef
         */
        protected $fileref = null;
    
        public function __construct($fileref = null)
        {
            $this->fileref = $fileref;
        }
    
        /**
         * magic method for dynamic properties
         */
        public function __get($name)
        {
            return isset($this->fileref->$name) ? $this->fileref->$name : null;
        }
    
        /**
         * magic method for dynamic properties
         */
        public function __set($name, $value)
        {
            return isset($this->fileref->$name) ? $this->fileref->$name = $value : null;
        }
    
        /**
         * magic method for dynamic properties
         */
        public function __isset($name)
        {
            return isset($this->fileref->$name);
        }
    
        /**
         * ArrayAccess: Check whether the given offset exists.
         */
        public function offsetExists($offset)
        {
            return $this->__isset($offset);
        }
    
        /**
         * ArrayAccess: Get the value at the given offset.
         */
        public function offsetGet($offset)
        {
            return $this->__get($offset);
        }
    
        /**
         * ArrayAccess: Set the value at the given offset.
         */
        public function offsetSet($offset, $value)
        {
            $this->__set($offset, $value);
        }
    
        /**
         * ArrayAccess: unset the value at the given offset (not applicable)
         */
        public function offsetUnset($offset)
        {
    
        }
        /**
         * @inheritDoc
         */
        public function getIcon($role)
        {
            return Icon::create('file', $role);
        }
    
        /**
         * @inheritDoc
         */
        public function getId()
        {
            return $this->id;
        }
    
        /**
         * @inheritDoc
         */
        public function getFilename()
        {
            return trim($this->name . ' (' . _('Unbekannter Dateityp') .  ')');
        }
    
        /**
         * @inheritDoc
         */
        public function getUserId()
        {
        }
    
        /**
         * @inheritDoc
         */
        public function getUserName()
        {
        }
    
        /**
         * @inheritDoc
         */
        public function getUser()
        {
        }
    
        /**
         * @inheritDoc
         */
        public function getSize()
        {
        }
    
        /**
         * @inheritDoc
         */
        public function getDownloadURL()
        {
        }
    
        /**
         * @inheritDoc
         */
        public function getDownloads()
        {
        }
    
        /**
         * @inheritDoc
         */
        public function getPath(): string
        {
            return '';
        }
    
        /**
         * @inheritDoc
         */
        public function getLastChangeDate()
        {
        }
    
        /**
         * @inheritDoc
         */
        public function getMakeDate()
        {
        }
    
        /**
         * @inheritDoc
         */
        public function getDescription()
        {
        }
    
        /**
         * @inheritDoc
         */
        public function getMimeType()
        {
            return 'application/octet-stream';
        }
    
        /**
         * @inheritDoc
         */
        public function getTermsOfUse()
        {
            return new ContentTermsOfUse();
        }
    
        /**
         * @inheritDoc
         */
        public function getActionmenu()
        {
        }
    
        /**
         * @inheritDoc
         */
        public function getInfoDialogButtons(array $extra_link_params = []): array
        {
            return [];
        }
    
        /**
         * @inheritDoc
         */
        public function delete()
        {
            return 0;
        }
    
        /**
         * @inheritDoc
         */
        public function getFolderType()
        {
            return $this->folder ? $this->folder->getTypedFolder() : null;
        }
    
        /**
         * @inheritDoc
         */
        public function isVisible($user_id = null)
        {
            return true;
        }
    
        /**
         * @inheritDoc
         */
        public function isDownloadable($user_id = null)
        {
            return false;
        }
    
        /**
         * @inheritDoc
         */
        public function isEditable($user_id = null)
        {
            return false;
        }
    
        /**
         * @inheritDoc
         */
        public function isWritable($user_id = null)
        {
            return false;
        }
    
        /**
         * @inheritDoc
         */
        public function convertToStandardFile()
        {
            throw new RuntimeException('object of type ' . __CLASS__ . ' could not be converted to StandardFile');
        }
    
        /**
         * @inheritDoc
         */
        public function getContentForAdditionalColumn($column_index)
        {
        }
    
        /**
         * @inheritDoc
         */
        public function getAdditionalColumnOrderWeigh($column_index)
        {
            return 0;
        }
    
        /**
         * @inheritDoc
         */
        public function getInfoTemplate(bool $include_downloadable_infos = false)
        {
            return '';
        }
    }