Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.
<?php

namespace PhpOffice\PhpSpreadsheet;

use PhpOffice\PhpSpreadsheet\RichText\RichText;

class Comment implements IComparable
{
    /**
     * Author.
     *
     * @var string
     */
    private $author;

    /**
     * Rich text comment.
     *
     * @var RichText
     */
    private $text;

    /**
     * Comment width (CSS style, i.e. XXpx or YYpt).
     *
     * @var string
     */
    private $width = '96pt';

    /**
     * Left margin (CSS style, i.e. XXpx or YYpt).
     *
     * @var string
     */
    private $marginLeft = '59.25pt';

    /**
     * Top margin (CSS style, i.e. XXpx or YYpt).
     *
     * @var string
     */
    private $marginTop = '1.5pt';

    /**
     * Visible.
     *
     * @var bool
     */
    private $visible = false;

    /**
     * Comment height (CSS style, i.e. XXpx or YYpt).
     *
     * @var string
     */
    private $height = '55.5pt';

    /**
     * Comment fill color.
     *
     * @var Style\Color
     */
    private $fillColor;

    /**
     * Alignment.
     *
     * @var string
     */
    private $alignment;

    /**
     * Create a new Comment.
     */
    public function __construct()
    {
        // Initialise variables
        $this->author = 'Author';
        $this->text = new RichText();
        $this->fillColor = new Style\Color('FFFFFFE1');
        $this->alignment = Style\Alignment::HORIZONTAL_GENERAL;
    }

    /**
     * Get Author.
     *
     * @return string
     */
    public function getAuthor()
    {
        return $this->author;
    }

    /**
     * Set Author.
     *
     * @param string $author
     *
< * @return Comment
> * @return $this
*/ public function setAuthor($author) { $this->author = $author; return $this; } /** * Get Rich text comment. * * @return RichText */ public function getText() { return $this->text; } /** * Set Rich text comment. *
< * @param RichText $pValue < * < * @return Comment
> * @return $this
*/ public function setText(RichText $pValue) { $this->text = $pValue; return $this; } /** * Get comment width (CSS style, i.e. XXpx or YYpt). * * @return string */ public function getWidth() { return $this->width; } /** * Set comment width (CSS style, i.e. XXpx or YYpt). * * @param string $width *
< * @return Comment
> * @return $this
*/ public function setWidth($width) { $this->width = $width; return $this; } /** * Get comment height (CSS style, i.e. XXpx or YYpt). * * @return string */ public function getHeight() { return $this->height; } /** * Set comment height (CSS style, i.e. XXpx or YYpt). * * @param string $value *
< * @return Comment
> * @return $this
*/ public function setHeight($value) { $this->height = $value; return $this; } /** * Get left margin (CSS style, i.e. XXpx or YYpt). * * @return string */ public function getMarginLeft() { return $this->marginLeft; } /** * Set left margin (CSS style, i.e. XXpx or YYpt). * * @param string $value *
< * @return Comment
> * @return $this
*/ public function setMarginLeft($value) { $this->marginLeft = $value; return $this; } /** * Get top margin (CSS style, i.e. XXpx or YYpt). * * @return string */ public function getMarginTop() { return $this->marginTop; } /** * Set top margin (CSS style, i.e. XXpx or YYpt). * * @param string $value *
< * @return Comment
> * @return $this
*/ public function setMarginTop($value) { $this->marginTop = $value; return $this; } /** * Is the comment visible by default? * * @return bool */ public function getVisible() { return $this->visible; } /** * Set comment default visibility. * * @param bool $value *
< * @return Comment
> * @return $this
*/ public function setVisible($value) { $this->visible = $value; return $this; } /** * Get fill color. * * @return Style\Color */ public function getFillColor() { return $this->fillColor; } /** * Set Alignment. * * @param string $alignment see Style\Alignment::HORIZONTAL_* *
< * @return Comment
> * @return $this
*/ public function setAlignment($alignment) { $this->alignment = $alignment; return $this; } /** * Get Alignment. * * @return string */ public function getAlignment() { return $this->alignment; } /** * Get hash code. * * @return string Hash code */ public function getHashCode() { return md5( $this->author . $this->text->getHashCode() . $this->width . $this->height . $this->marginLeft . $this->marginTop . ($this->visible ? 1 : 0) . $this->fillColor->getHashCode() . $this->alignment . __CLASS__ ); } /** * Implement PHP __clone to create a deep clone, not just a shallow copy. */ public function __clone() { $vars = get_object_vars($this); foreach ($vars as $key => $value) { if (is_object($value)) { $this->$key = clone $value; } else { $this->$key = $value; } } } /** * Convert to string. * * @return string */ public function __toString() { return $this->text->getPlainText(); } }