Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.10.x will end 8 November 2021 (12 months).
  • Bug fixes for security issues in 3.10.x will end 9 May 2022 (18 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.

Differences Between: [Versions 310 and 311] [Versions 310 and 400] [Versions 310 and 401] [Versions 310 and 402] [Versions 310 and 403]

   1  <?php
   2  
   3  namespace PhpOffice\PhpSpreadsheet\Cell;
   4  
   5  class Hyperlink
   6  {
   7      /**
   8       * URL to link the cell to.
   9       *
  10       * @var string
  11       */
  12      private $url;
  13  
  14      /**
  15       * Tooltip to display on the hyperlink.
  16       *
  17       * @var string
  18       */
  19      private $tooltip;
  20  
  21      /**
  22       * Create a new Hyperlink.
  23       *
  24       * @param string $pUrl Url to link the cell to
  25       * @param string $pTooltip Tooltip to display on the hyperlink
  26       */
  27      public function __construct($pUrl = '', $pTooltip = '')
  28      {
  29          // Initialise member variables
  30          $this->url = $pUrl;
  31          $this->tooltip = $pTooltip;
  32      }
  33  
  34      /**
  35       * Get URL.
  36       *
  37       * @return string
  38       */
  39      public function getUrl()
  40      {
  41          return $this->url;
  42      }
  43  
  44      /**
  45       * Set URL.
  46       *
  47       * @param string $value
  48       *
  49       * @return Hyperlink
  50       */
  51      public function setUrl($value)
  52      {
  53          $this->url = $value;
  54  
  55          return $this;
  56      }
  57  
  58      /**
  59       * Get tooltip.
  60       *
  61       * @return string
  62       */
  63      public function getTooltip()
  64      {
  65          return $this->tooltip;
  66      }
  67  
  68      /**
  69       * Set tooltip.
  70       *
  71       * @param string $value
  72       *
  73       * @return Hyperlink
  74       */
  75      public function setTooltip($value)
  76      {
  77          $this->tooltip = $value;
  78  
  79          return $this;
  80      }
  81  
  82      /**
  83       * Is this hyperlink internal? (to another worksheet).
  84       *
  85       * @return bool
  86       */
  87      public function isInternal()
  88      {
  89          return strpos($this->url, 'sheet://') !== false;
  90      }
  91  
  92      /**
  93       * @return string
  94       */
  95      public function getTypeHyperlink()
  96      {
  97          return $this->isInternal() ? '' : 'External';
  98      }
  99  
 100      /**
 101       * Get hash code.
 102       *
 103       * @return string Hash code
 104       */
 105      public function getHashCode()
 106      {
 107          return md5(
 108              $this->url .
 109              $this->tooltip .
 110              __CLASS__
 111          );
 112      }
 113  }