2012-05-06 18:25:40 +02:00
|
|
|
<?php
|
|
|
|
|
/**
|
2014-03-26 16:33:20 +07:00
|
|
|
* PHPWord
|
2012-05-06 18:25:40 +02:00
|
|
|
*
|
2014-03-27 23:55:06 +07:00
|
|
|
* @link https://github.com/PHPOffice/PHPWord
|
2014-05-05 12:38:31 +04:00
|
|
|
* @copyright 2010-2014 PHPWord contributors
|
2014-05-04 21:03:28 +04:00
|
|
|
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
2012-05-06 18:25:40 +02:00
|
|
|
*/
|
|
|
|
|
|
2014-03-31 01:13:02 +07:00
|
|
|
namespace PhpOffice\PhpWord\Element;
|
2013-12-11 14:45:44 -05:00
|
|
|
|
2014-05-04 00:57:44 +07:00
|
|
|
use PhpOffice\PhpWord\Shared\String;
|
2014-03-22 10:06:08 +04:00
|
|
|
use PhpOffice\PhpWord\Style\Font;
|
|
|
|
|
use PhpOffice\PhpWord\Style\Paragraph;
|
|
|
|
|
|
2014-03-24 00:26:10 +07:00
|
|
|
/**
|
|
|
|
|
* Link element
|
|
|
|
|
*/
|
2014-04-08 00:23:49 +07:00
|
|
|
class Link extends AbstractElement
|
2014-03-22 10:06:08 +04:00
|
|
|
{
|
2013-12-11 14:45:44 -05:00
|
|
|
/**
|
2014-04-26 16:05:29 +07:00
|
|
|
* Link target
|
2013-12-11 14:45:44 -05:00
|
|
|
*
|
|
|
|
|
* @var string
|
|
|
|
|
*/
|
2014-04-26 16:05:29 +07:00
|
|
|
private $target;
|
2013-12-11 14:45:44 -05:00
|
|
|
|
|
|
|
|
/**
|
2014-04-26 16:05:29 +07:00
|
|
|
* Link text
|
2013-12-11 14:45:44 -05:00
|
|
|
*
|
|
|
|
|
* @var string
|
|
|
|
|
*/
|
2014-04-26 16:05:29 +07:00
|
|
|
private $text;
|
2013-12-11 14:45:44 -05:00
|
|
|
|
|
|
|
|
/**
|
2014-04-03 08:44:41 +07:00
|
|
|
* Font style
|
2013-12-11 14:45:44 -05:00
|
|
|
*
|
2014-04-16 17:22:30 +04:00
|
|
|
* @var string|\PhpOffice\PhpWord\Style\Font
|
2013-12-11 14:45:44 -05:00
|
|
|
*/
|
2014-04-03 08:44:41 +07:00
|
|
|
private $fontStyle;
|
2013-12-11 14:45:44 -05:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Paragraph style
|
|
|
|
|
*
|
2014-04-16 17:22:30 +04:00
|
|
|
* @var string|\PhpOffice\PhpWord\Style\Paragraph
|
2013-12-11 14:45:44 -05:00
|
|
|
*/
|
2014-04-03 08:44:41 +07:00
|
|
|
private $paragraphStyle;
|
2013-12-11 14:45:44 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Create a new Link Element
|
|
|
|
|
*
|
2014-04-27 10:44:26 +07:00
|
|
|
* @param string $target
|
|
|
|
|
* @param string $text
|
2014-04-03 08:44:41 +07:00
|
|
|
* @param mixed $fontStyle
|
|
|
|
|
* @param mixed $paragraphStyle
|
2013-12-11 14:45:44 -05:00
|
|
|
*/
|
2014-04-26 16:05:29 +07:00
|
|
|
public function __construct($target, $text = null, $fontStyle = null, $paragraphStyle = null)
|
2013-12-11 14:45:44 -05:00
|
|
|
{
|
2014-05-04 00:57:44 +07:00
|
|
|
$this->target = String::toUTF8($target);
|
|
|
|
|
$this->text = is_null($text) ? $this->target : String::toUTF8($text);
|
2014-04-03 08:44:41 +07:00
|
|
|
$this->fontStyle = $this->setStyle(new Font('text'), $fontStyle);
|
|
|
|
|
$this->paragraphStyle = $this->setStyle(new Paragraph(), $paragraphStyle);
|
2013-12-11 14:45:44 -05:00
|
|
|
|
|
|
|
|
return $this;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2014-04-26 16:05:29 +07:00
|
|
|
* Get link target
|
2013-12-11 14:45:44 -05:00
|
|
|
*
|
|
|
|
|
* @return string
|
|
|
|
|
*/
|
2014-04-26 16:05:29 +07:00
|
|
|
public function getTarget()
|
2013-12-11 14:45:44 -05:00
|
|
|
{
|
2014-04-26 16:05:29 +07:00
|
|
|
return $this->target;
|
2013-12-11 14:45:44 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2014-04-26 16:05:29 +07:00
|
|
|
* Get link text
|
2013-12-11 14:45:44 -05:00
|
|
|
*
|
|
|
|
|
* @return string
|
|
|
|
|
*/
|
2014-04-26 16:05:29 +07:00
|
|
|
public function getText()
|
2013-12-11 14:45:44 -05:00
|
|
|
{
|
2014-04-26 16:05:29 +07:00
|
|
|
return $this->text;
|
2013-12-11 14:45:44 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get Text style
|
|
|
|
|
*
|
2014-04-16 17:22:30 +04:00
|
|
|
* @return string|\PhpOffice\PhpWord\Style\Font
|
2013-12-11 14:45:44 -05:00
|
|
|
*/
|
|
|
|
|
public function getFontStyle()
|
|
|
|
|
{
|
2014-04-03 08:44:41 +07:00
|
|
|
return $this->fontStyle;
|
2013-12-11 14:45:44 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get Paragraph style
|
|
|
|
|
*
|
2014-04-16 17:22:30 +04:00
|
|
|
* @return string|\PhpOffice\PhpWord\Style\Paragraph
|
2013-12-11 14:45:44 -05:00
|
|
|
*/
|
|
|
|
|
public function getParagraphStyle()
|
|
|
|
|
{
|
2014-04-03 08:44:41 +07:00
|
|
|
return $this->paragraphStyle;
|
2013-12-11 14:45:44 -05:00
|
|
|
}
|
2014-04-26 16:05:29 +07:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get Link source
|
|
|
|
|
*
|
|
|
|
|
* @return string
|
|
|
|
|
* @deprecated 0.10.0
|
2014-04-28 23:33:26 +07:00
|
|
|
* @codeCoverageIgnore
|
2014-04-26 16:05:29 +07:00
|
|
|
*/
|
|
|
|
|
public function getLinkSrc()
|
|
|
|
|
{
|
|
|
|
|
return $this->getTarget();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get Link name
|
|
|
|
|
*
|
|
|
|
|
* @return string
|
|
|
|
|
* @deprecated 0.10.0
|
2014-04-28 23:33:26 +07:00
|
|
|
* @codeCoverageIgnore
|
2014-04-26 16:05:29 +07:00
|
|
|
*/
|
|
|
|
|
public function getLinkName()
|
|
|
|
|
{
|
|
|
|
|
return $this->getText();
|
|
|
|
|
}
|
2012-05-06 18:25:40 +02:00
|
|
|
}
|