Skip to content
Snippets Groups Projects
Select Git revision
  • 4136554f563b8ca892cdf811d3eb6db468203b94
  • main default protected
  • studip-rector
  • ci-opt
  • course-members-export-as-word
  • data-vue-app
  • pipeline-improvements
  • webpack-optimizations
  • rector
  • icon-renewal
  • http-client-and-factories
  • jsonapi-atomic-operations
  • vueify-messages
  • tic-2341
  • 135-translatable-study-areas
  • extensible-sorm-action-parameters
  • sorm-configuration-trait
  • jsonapi-mvv-routes
  • docblocks-for-magic-methods
19 results

StudipAssetImg.vue

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.
    LinkButton.class.php 1.48 KiB
    <?php
    /*
     * Copyright (c) 2011 mlunzena@uos.de, aklassen@uos.de
     *
     * 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.
     */
    
    
    namespace Studip;
    
    /**
     * Represents an HTML link element.
     */
    class LinkButton extends Interactable
    {
        /**
         * Initialize a Hyperlink used as button.
         * The second parameter is used as @href attribute of the
         * resulting <a> HTML element.
         *
         * @param string $label       the label of the <a> element
         * @param string $url         the @href element of the <a> element
         * @param array  $attributes  the attributes of the <a> element
         */
        protected function initialize($label, $url, $attributes)
        {
            $this->attributes['href'] = $url ?: \URLHelper::getURL();
        }
    
        /**
         * @return string returns a HTML representation of this hyperlink.
         */
        public function __toString()
        {
            // add "button" to attribute @class
            $this->attributes['class'] .= ' button';
    
            $attributes = [];
            ksort($this->attributes);
            foreach ($this->attributes as $k => $v) {
                $attributes[] = sprintf(' %s="%s"', $k, htmlReady($v));
            }
    
            // TODO: URLHelper...?!
            return sprintf('<a%s>%s</a>',
                           join('', $attributes),
                           htmlReady($this->label));
        }
    }