add new NumberFormat values and refactor other uses
This commit is contained in:
parent
ef95611203
commit
8a5433e5df
|
|
@ -1,5 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
use PhpOffice\PhpWord\SimpleType\FootnoteProperties;
|
use PhpOffice\PhpWord\ComplexType\FootnoteProperties;
|
||||||
|
use PhpOffice\PhpWord\SimpleType\NumberFormat;
|
||||||
|
|
||||||
include_once 'Sample_Header.php';
|
include_once 'Sample_Header.php';
|
||||||
|
|
||||||
|
|
@ -50,7 +51,7 @@ $footnote = $section->addFootnote();
|
||||||
$footnote->addText('The reference for this is wrapped in its own line');
|
$footnote->addText('The reference for this is wrapped in its own line');
|
||||||
|
|
||||||
$footnoteProperties = new FootnoteProperties();
|
$footnoteProperties = new FootnoteProperties();
|
||||||
$footnoteProperties->setNumFmt(FootnoteProperties::NUMBER_FORMAT_UPPER_ROMAN);
|
$footnoteProperties->setNumFmt(NumberFormat::DECIMAL_ENCLOSED_CIRCLE);
|
||||||
$section->setFootnoteProperties($footnoteProperties);
|
$section->setFootnoteProperties($footnoteProperties);
|
||||||
|
|
||||||
// Save file
|
// Save file
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,9 @@
|
||||||
* @copyright 2010-2016 PHPWord contributors
|
* @copyright 2010-2016 PHPWord contributors
|
||||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||||
*/
|
*/
|
||||||
namespace PhpOffice\PhpWord\SimpleType;
|
namespace PhpOffice\PhpWord\ComplexType;
|
||||||
|
|
||||||
|
use PhpOffice\PhpWord\SimpleType\NumberFormat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Footnote properties
|
* Footnote properties
|
||||||
|
|
@ -28,17 +30,6 @@ final class FootnoteProperties
|
||||||
const RESTART_NUMBER_EACH_SECTION = 'eachSect';
|
const RESTART_NUMBER_EACH_SECTION = 'eachSect';
|
||||||
const RESTART_NUMBER_EACH_PAGE = 'eachPage';
|
const RESTART_NUMBER_EACH_PAGE = 'eachPage';
|
||||||
|
|
||||||
const NUMBER_FORMAT_DECIMAL = 'decimal';
|
|
||||||
const NUMBER_FORMAT_UPPER_ROMAN = 'upperRoman';
|
|
||||||
const NUMBER_FORMAT_LOWER_ROMAN = 'lowerRoman';
|
|
||||||
const NUMBER_FORMAT_UPPER_LETTER = 'upperLetter';
|
|
||||||
const NUMBER_FORMAT_LOWER_LETTER = 'lowerLetter';
|
|
||||||
const NUMBER_FORMAT_ORDINAL = 'ordinal';
|
|
||||||
const NUMBER_FORMAT_CARDINAL_TEXT = 'cardinalText';
|
|
||||||
const NUMBER_FORMAT_ORDINAL_TEXT = 'ordinalText';
|
|
||||||
const NUMBER_FORMAT_NONE = 'none';
|
|
||||||
const NUMBER_FORMAT_BULLET = 'bullet';
|
|
||||||
|
|
||||||
const POSITION_PAGE_BOTTOM = 'pageBottom';
|
const POSITION_PAGE_BOTTOM = 'pageBottom';
|
||||||
const POSITION_BENEATH_TEXT = 'beneathText';
|
const POSITION_BENEATH_TEXT = 'beneathText';
|
||||||
const POSITION_SECTION_END = 'sectEnd';
|
const POSITION_SECTION_END = 'sectEnd';
|
||||||
|
|
@ -52,7 +43,7 @@ final class FootnoteProperties
|
||||||
private $pos;
|
private $pos;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Footnote Numbering Format
|
* Footnote Numbering Format w:numFmt, one of PhpOffice\PhpWord\SimpleType\NumberFormat
|
||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
|
|
@ -61,7 +52,7 @@ final class FootnoteProperties
|
||||||
/**
|
/**
|
||||||
* Footnote and Endnote Numbering Starting Value
|
* Footnote and Endnote Numbering Starting Value
|
||||||
*
|
*
|
||||||
* @var decimal
|
* @var double
|
||||||
*/
|
*/
|
||||||
private $numStart;
|
private $numStart;
|
||||||
|
|
||||||
|
|
@ -72,11 +63,23 @@ final class FootnoteProperties
|
||||||
*/
|
*/
|
||||||
private $numRestart;
|
private $numRestart;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Footnote Positioning Location
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
public function getPos()
|
public function getPos()
|
||||||
{
|
{
|
||||||
return $this->pos;
|
return $this->pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the Footnote Positioning Location (pageBottom, beneathText, sectEnd, docEnd)
|
||||||
|
*
|
||||||
|
* @param string $pos
|
||||||
|
* @throws \InvalidArgumentException
|
||||||
|
* @return self
|
||||||
|
*/
|
||||||
public function setPos($pos)
|
public function setPos($pos)
|
||||||
{
|
{
|
||||||
$position = array(
|
$position = array(
|
||||||
|
|
@ -91,50 +94,71 @@ final class FootnoteProperties
|
||||||
} else {
|
} else {
|
||||||
throw new \InvalidArgumentException("Invalid value, on of " . implode(', ', $position) . " possible");
|
throw new \InvalidArgumentException("Invalid value, on of " . implode(', ', $position) . " possible");
|
||||||
}
|
}
|
||||||
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Footnote Numbering Format
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
public function getNumFmt()
|
public function getNumFmt()
|
||||||
{
|
{
|
||||||
return $this->numFmt;
|
return $this->numFmt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the Footnote Numbering Format
|
||||||
|
*
|
||||||
|
* @param string $numFmt One of NumberFormat
|
||||||
|
* @return self
|
||||||
|
*/
|
||||||
public function setNumFmt($numFmt)
|
public function setNumFmt($numFmt)
|
||||||
{
|
{
|
||||||
$numberFormat = array(
|
NumberFormat::validate($numFmt);
|
||||||
self::NUMBER_FORMAT_DECIMAL,
|
$this->numFmt = $numFmt;
|
||||||
self::NUMBER_FORMAT_UPPER_ROMAN,
|
return $this;
|
||||||
self::NUMBER_FORMAT_LOWER_ROMAN,
|
|
||||||
self::NUMBER_FORMAT_UPPER_LETTER,
|
|
||||||
self::NUMBER_FORMAT_LOWER_LETTER,
|
|
||||||
self::NUMBER_FORMAT_ORDINAL,
|
|
||||||
self::NUMBER_FORMAT_CARDINAL_TEXT,
|
|
||||||
self::NUMBER_FORMAT_ORDINAL_TEXT,
|
|
||||||
self::NUMBER_FORMAT_NONE,
|
|
||||||
self::NUMBER_FORMAT_BULLET
|
|
||||||
);
|
|
||||||
|
|
||||||
if (in_array($numFmt, $numberFormat)) {
|
|
||||||
$this->numFmt = $numFmt;
|
|
||||||
} else {
|
|
||||||
throw new \InvalidArgumentException("Invalid value, on of " . implode(', ', $numberFormat) . " possible");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Footnote Numbering Format
|
||||||
|
*
|
||||||
|
* @return double
|
||||||
|
*/
|
||||||
public function getNumStart()
|
public function getNumStart()
|
||||||
{
|
{
|
||||||
return $this->numStart;
|
return $this->numStart;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the Footnote Numbering Format
|
||||||
|
*
|
||||||
|
* @param double $numStart
|
||||||
|
* @return self
|
||||||
|
*/
|
||||||
public function setNumStart($numStart)
|
public function setNumStart($numStart)
|
||||||
{
|
{
|
||||||
$this->numStart = $numStart;
|
$this->numStart = $numStart;
|
||||||
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Footnote and Endnote Numbering Starting Value
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
public function getNumRestart()
|
public function getNumRestart()
|
||||||
{
|
{
|
||||||
return $this->numRestart;
|
return $this->numRestart;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the Footnote and Endnote Numbering Starting Value (continuous, eachSect, eachPage)
|
||||||
|
*
|
||||||
|
* @param string $numRestart
|
||||||
|
* @throws \InvalidArgumentException
|
||||||
|
* @return self
|
||||||
|
*/
|
||||||
public function setNumRestart($numRestart)
|
public function setNumRestart($numRestart)
|
||||||
{
|
{
|
||||||
$restartNumbers = array(
|
$restartNumbers = array(
|
||||||
|
|
@ -148,5 +172,6 @@ final class FootnoteProperties
|
||||||
} else {
|
} else {
|
||||||
throw new \InvalidArgumentException("Invalid value, on of " . implode(', ', $restartNumbers) . " possible");
|
throw new \InvalidArgumentException("Invalid value, on of " . implode(', ', $restartNumbers) . " possible");
|
||||||
}
|
}
|
||||||
|
return $this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -17,8 +17,8 @@
|
||||||
|
|
||||||
namespace PhpOffice\PhpWord\Element;
|
namespace PhpOffice\PhpWord\Element;
|
||||||
|
|
||||||
|
use PhpOffice\PhpWord\ComplexType\FootnoteProperties;
|
||||||
use PhpOffice\PhpWord\Style\Section as SectionStyle;
|
use PhpOffice\PhpWord\Style\Section as SectionStyle;
|
||||||
use PhpOffice\PhpWord\SimpleType\FootnoteProperties;
|
|
||||||
|
|
||||||
class Section extends AbstractContainer
|
class Section extends AbstractContainer
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?php
|
||||||
|
namespace PhpOffice\PhpWord\Shared;
|
||||||
|
|
||||||
|
abstract class AbstractEnum
|
||||||
|
{
|
||||||
|
|
||||||
|
private static $constCacheArray = null;
|
||||||
|
|
||||||
|
private static function getConstants()
|
||||||
|
{
|
||||||
|
if (self::$constCacheArray == null) {
|
||||||
|
self::$constCacheArray = array();
|
||||||
|
}
|
||||||
|
$calledClass = get_called_class();
|
||||||
|
if (! array_key_exists($calledClass, self::$constCacheArray)) {
|
||||||
|
$reflect = new \ReflectionClass($calledClass);
|
||||||
|
self::$constCacheArray[$calledClass] = $reflect->getConstants();
|
||||||
|
}
|
||||||
|
return self::$constCacheArray[$calledClass];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function values()
|
||||||
|
{
|
||||||
|
return array_values(self::getConstants());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function validate($value)
|
||||||
|
{
|
||||||
|
$values = array_values(self::getConstants());
|
||||||
|
if (!in_array($value, $values, true)) {
|
||||||
|
$calledClass = get_called_class();
|
||||||
|
throw new \InvalidArgumentException("$value is not a valid value for $calledClass, possible values are " . implode(', ', $values));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,153 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* This file is part of PHPWord - A pure PHP library for reading and writing
|
||||||
|
* word processing documents.
|
||||||
|
*
|
||||||
|
* PHPWord is free software distributed under the terms of the GNU Lesser
|
||||||
|
* General Public License version 3 as published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please read the LICENSE
|
||||||
|
* file that was distributed with this source code. For the full list of
|
||||||
|
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||||
|
*
|
||||||
|
* @link https://github.com/PHPOffice/PHPWord
|
||||||
|
* @copyright 2010-2016 PHPWord contributors
|
||||||
|
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpWord\SimpleType;
|
||||||
|
|
||||||
|
use PhpOffice\PhpWord\Shared\AbstractEnum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Numbering Format.
|
||||||
|
*
|
||||||
|
* @since 0.14.0
|
||||||
|
*
|
||||||
|
* @see http://www.datypic.com/sc/ooxml/t-w_ST_NumberFormat.html.
|
||||||
|
*
|
||||||
|
* @codeCoverageIgnore
|
||||||
|
*/
|
||||||
|
final class NumberFormat extends AbstractEnum
|
||||||
|
{
|
||||||
|
//Decimal Numbers
|
||||||
|
const DECIMAL = 'decimal';
|
||||||
|
//Uppercase Roman Numerals
|
||||||
|
const UPPER_ROMAN = 'upperRoman';
|
||||||
|
//Lowercase Roman Numerals
|
||||||
|
const LOWER_ROMAN = 'lowerRoman';
|
||||||
|
//Uppercase Latin Alphabet
|
||||||
|
const UPPER_LETTER = 'upperLetter';
|
||||||
|
//Lowercase Latin Alphabet
|
||||||
|
const LOWER_LETTER = 'lowerLetter';
|
||||||
|
//Ordinal
|
||||||
|
const ORDINAL = 'ordinal';
|
||||||
|
//Cardinal Text
|
||||||
|
const CARDINAL_TEXT = 'cardinalText';
|
||||||
|
//Ordinal Text
|
||||||
|
const ORDINAL_TEXT = 'ordinalText';
|
||||||
|
//Hexadecimal Numbering
|
||||||
|
const HEX = 'hex';
|
||||||
|
//Chicago Manual of Style
|
||||||
|
const CHICAGO = 'chicago';
|
||||||
|
//Ideographs
|
||||||
|
const IDEOGRAPH_DIGITAL = 'ideographDigital';
|
||||||
|
//Japanese Counting System
|
||||||
|
const JAPANESE_COUNTING = 'japaneseCounting';
|
||||||
|
//AIUEO Order Hiragana
|
||||||
|
const AIUEO = 'aiueo';
|
||||||
|
//Iroha Ordered Katakana
|
||||||
|
const IROHA = 'iroha';
|
||||||
|
//Double Byte Arabic Numerals
|
||||||
|
const DECIMAL_FULL_WIDTH = 'decimalFullWidth';
|
||||||
|
//Single Byte Arabic Numerals
|
||||||
|
const DECIMAL_HALF_WIDTH = 'decimalHalfWidth';
|
||||||
|
//Japanese Legal Numbering
|
||||||
|
const JAPANESE_LEGAL = 'japaneseLegal';
|
||||||
|
//Japanese Digital Ten Thousand Counting System
|
||||||
|
const JAPANESE_DIGITAL_TEN_THOUSAND = 'japaneseDigitalTenThousand';
|
||||||
|
//Decimal Numbers Enclosed in a Circle
|
||||||
|
const DECIMAL_ENCLOSED_CIRCLE = 'decimalEnclosedCircle';
|
||||||
|
//Double Byte Arabic Numerals Alternate
|
||||||
|
const DECIMAL_FULL_WIDTH2 = 'decimalFullWidth2';
|
||||||
|
//Full-Width AIUEO Order Hiragana
|
||||||
|
const AIUEO_FULL_WIDTH = 'aiueoFullWidth';
|
||||||
|
//Full-Width Iroha Ordered Katakana
|
||||||
|
const IROHA_FULL_WIDTH = 'irohaFullWidth';
|
||||||
|
//Initial Zero Arabic Numerals
|
||||||
|
const DECIMAL_ZERO = 'decimalZero';
|
||||||
|
//Bullet
|
||||||
|
const BULLET = 'bullet';
|
||||||
|
//Korean Ganada Numbering
|
||||||
|
const GANADA = 'ganada';
|
||||||
|
//Korean Chosung Numbering
|
||||||
|
const CHOSUNG = 'chosung';
|
||||||
|
//Decimal Numbers Followed by a Period
|
||||||
|
const DECIMAL_ENCLOSED_FULL_STOP = 'decimalEnclosedFullstop';
|
||||||
|
//Decimal Numbers Enclosed in Parenthesis
|
||||||
|
const DECIMAL_ENCLOSED_PAREN = 'decimalEnclosedParen';
|
||||||
|
//Decimal Numbers Enclosed in a Circle
|
||||||
|
const DECIMAL_ENCLOSED_CIRCLE_CHINESE = 'decimalEnclosedCircleChinese';
|
||||||
|
//Ideographs Enclosed in a Circle
|
||||||
|
const IDEOGRAPHENCLOSEDCIRCLE = 'ideographEnclosedCircle';
|
||||||
|
//Traditional Ideograph Format
|
||||||
|
const IDEOGRAPH_TRADITIONAL = 'ideographTraditional';
|
||||||
|
//Zodiac Ideograph Format
|
||||||
|
const IDEOGRAPH_ZODIAC = 'ideographZodiac';
|
||||||
|
//Traditional Zodiac Ideograph Format
|
||||||
|
const IDEOGRAPH_ZODIAC_TRADITIONAL = 'ideographZodiacTraditional';
|
||||||
|
//Taiwanese Counting System
|
||||||
|
const TAIWANESE_COUNTING = 'taiwaneseCounting';
|
||||||
|
//Traditional Legal Ideograph Format
|
||||||
|
const IDEOGRAPH_LEGAL_TRADITIONAL = 'ideographLegalTraditional';
|
||||||
|
//Taiwanese Counting Thousand System
|
||||||
|
const TAIWANESE_COUNTING_THOUSAND = 'taiwaneseCountingThousand';
|
||||||
|
//Taiwanese Digital Counting System
|
||||||
|
const TAIWANESE_DIGITAL = 'taiwaneseDigital';
|
||||||
|
//Chinese Counting System
|
||||||
|
const CHINESE_COUNTING = 'chineseCounting';
|
||||||
|
//Chinese Legal Simplified Format
|
||||||
|
const CHINESE_LEGAL_SIMPLIFIED = 'chineseLegalSimplified';
|
||||||
|
//Chinese Counting Thousand System
|
||||||
|
const CHINESE_COUNTING_THOUSAND = 'chineseCountingThousand';
|
||||||
|
//Korean Digital Counting System
|
||||||
|
const KOREAN_DIGITAL = 'koreanDigital';
|
||||||
|
//Korean Counting System
|
||||||
|
const KOREAN_COUNTING = 'koreanCounting';
|
||||||
|
//Korean Legal Numbering
|
||||||
|
const KOREAN_LEGAL = 'koreanLegal';
|
||||||
|
//Korean Digital Counting System Alternate
|
||||||
|
const KOREAN_DIGITAL2 = 'koreanDigital2';
|
||||||
|
//Vietnamese Numerals
|
||||||
|
const VIETNAMESE_COUNTING = 'vietnameseCounting';
|
||||||
|
//Lowercase Russian Alphabet
|
||||||
|
const RUSSIAN_LOWER = 'russianLower';
|
||||||
|
//Uppercase Russian Alphabet
|
||||||
|
const RUSSIAN_UPPER = 'russianUpper';
|
||||||
|
//No Numbering
|
||||||
|
const NONE = 'none';
|
||||||
|
//Number With Dashes
|
||||||
|
const NUMBER_IN_DASH = 'numberInDash';
|
||||||
|
//Hebrew Numerals
|
||||||
|
const HEBREW1 = 'hebrew1';
|
||||||
|
//Hebrew Alphabet
|
||||||
|
const HEBREW2 = 'hebrew2';
|
||||||
|
//Arabic Alphabet
|
||||||
|
const ARABIC_ALPHA = 'arabicAlpha';
|
||||||
|
//Arabic Abjad Numerals
|
||||||
|
const ARABIC_ABJAD = 'arabicAbjad';
|
||||||
|
//Hindi Vowels
|
||||||
|
const HINDI_VOWELS = 'hindiVowels';
|
||||||
|
//Hindi Consonants
|
||||||
|
const HINDI_CONSONANTS = 'hindiConsonants';
|
||||||
|
//Hindi Numbers
|
||||||
|
const HINDI_NUMBERS = 'hindiNumbers';
|
||||||
|
//Hindi Counting System
|
||||||
|
const HINDI_COUNTING = 'hindiCounting';
|
||||||
|
//Thai Letters
|
||||||
|
const THAI_LETTERS = 'thaiLetters';
|
||||||
|
//Thai Numerals
|
||||||
|
const THAI_NUMBERS = 'thaiNumbers';
|
||||||
|
//Thai Counting System
|
||||||
|
const THAI_COUNTING = 'thaiCounting';
|
||||||
|
}
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
namespace PhpOffice\PhpWord\Style;
|
namespace PhpOffice\PhpWord\Style;
|
||||||
|
|
||||||
use PhpOffice\PhpWord\SimpleType\Jc;
|
use PhpOffice\PhpWord\SimpleType\Jc;
|
||||||
|
use PhpOffice\PhpWord\SimpleType\NumberFormat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Numbering level definition
|
* Numbering level definition
|
||||||
|
|
@ -43,7 +44,7 @@ class NumberingLevel extends AbstractStyle
|
||||||
private $start = 1;
|
private $start = 1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Numbering format bullet|decimal|upperRoman|lowerRoman|upperLetter|lowerLetter
|
* Numbering format w:numFmt, one of PhpOffice\PhpWord\SimpleType\NumberFormat
|
||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
* @link http://www.schemacentral.com/sc/ooxml/t-w_ST_NumberFormat.html
|
* @link http://www.schemacentral.com/sc/ooxml/t-w_ST_NumberFormat.html
|
||||||
|
|
@ -67,7 +68,7 @@ class NumberingLevel extends AbstractStyle
|
||||||
private $pStyle;
|
private $pStyle;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Content between numbering symbol and paragraph text
|
* Content between numbering symbol and paragraph text w:suff
|
||||||
*
|
*
|
||||||
* @var string tab|space|nothing
|
* @var string tab|space|nothing
|
||||||
* @link http://www.schemacentral.com/sc/ooxml/e-w_suff-1.html
|
* @link http://www.schemacentral.com/sc/ooxml/e-w_suff-1.html
|
||||||
|
|
@ -83,7 +84,9 @@ class NumberingLevel extends AbstractStyle
|
||||||
private $text;
|
private $text;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* Justification, w:lvlJc
|
||||||
|
*
|
||||||
|
* @var string, one of PhpOffice\PhpWord\SimpleType\Jc
|
||||||
*/
|
*/
|
||||||
private $alignment = '';
|
private $alignment = '';
|
||||||
|
|
||||||
|
|
@ -185,13 +188,12 @@ class NumberingLevel extends AbstractStyle
|
||||||
*/
|
*/
|
||||||
public function setFormat($value)
|
public function setFormat($value)
|
||||||
{
|
{
|
||||||
$enum = array('bullet', 'decimal', 'upperRoman', 'lowerRoman', 'upperLetter', 'lowerLetter');
|
$this->format = $this->setEnumVal($value, NumberFormat::values(), $this->format);
|
||||||
$this->format = $this->setEnumVal($value, $enum, $this->format);
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get start
|
* Get restart
|
||||||
*
|
*
|
||||||
* @return integer
|
* @return integer
|
||||||
*/
|
*/
|
||||||
|
|
@ -201,7 +203,7 @@ class NumberingLevel extends AbstractStyle
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set start
|
* Set restart
|
||||||
*
|
*
|
||||||
* @param integer $value
|
* @param integer $value
|
||||||
* @return self
|
* @return self
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@ use PhpOffice\Common\XMLWriter;
|
||||||
use PhpOffice\PhpWord\Element\Section;
|
use PhpOffice\PhpWord\Element\Section;
|
||||||
use PhpOffice\PhpWord\Writer\Word2007\Element\Container;
|
use PhpOffice\PhpWord\Writer\Word2007\Element\Container;
|
||||||
use PhpOffice\PhpWord\Writer\Word2007\Style\Section as SectionStyleWriter;
|
use PhpOffice\PhpWord\Writer\Word2007\Style\Section as SectionStyleWriter;
|
||||||
use PhpOffice\PhpWord\SimpleType\FootnoteProperties;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Word2007 document part writer: word/document.xml
|
* Word2007 document part writer: word/document.xml
|
||||||
|
|
|
||||||
|
|
@ -15,9 +15,10 @@
|
||||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace PhpOffice\PhpWord\SimpleType;
|
namespace PhpOffice\PhpWord\ComplexType;
|
||||||
|
|
||||||
use PhpOffice\PhpWord\SimpleType\FootnoteProperties;
|
use PhpOffice\PhpWord\ComplexType\FootnoteProperties;
|
||||||
|
use PhpOffice\PhpWord\SimpleType\NumberFormat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test class for PhpOffice\PhpWord\SimpleType\FootnoteProperties
|
* Test class for PhpOffice\PhpWord\SimpleType\FootnoteProperties
|
||||||
|
|
@ -34,12 +35,12 @@ class FootnotePropertiesTest extends \PHPUnit_Framework_TestCase
|
||||||
{
|
{
|
||||||
$footnoteProp = new FootnoteProperties();
|
$footnoteProp = new FootnoteProperties();
|
||||||
$footnoteProp->setPos(FootnoteProperties::POSITION_DOC_END);
|
$footnoteProp->setPos(FootnoteProperties::POSITION_DOC_END);
|
||||||
$footnoteProp->setNumFmt(FootnoteProperties::NUMBER_FORMAT_LOWER_ROMAN);
|
$footnoteProp->setNumFmt(NumberFormat::LOWER_ROMAN);
|
||||||
$footnoteProp->setNumStart(2);
|
$footnoteProp->setNumStart(2);
|
||||||
$footnoteProp->setNumRestart(FootnoteProperties::RESTART_NUMBER_EACH_PAGE);
|
$footnoteProp->setNumRestart(FootnoteProperties::RESTART_NUMBER_EACH_PAGE);
|
||||||
|
|
||||||
$this->assertEquals(FootnoteProperties::POSITION_DOC_END, $footnoteProp->getPos());
|
$this->assertEquals(FootnoteProperties::POSITION_DOC_END, $footnoteProp->getPos());
|
||||||
$this->assertEquals(FootnoteProperties::NUMBER_FORMAT_LOWER_ROMAN, $footnoteProp->getNumFmt());
|
$this->assertEquals(NumberFormat::LOWER_ROMAN, $footnoteProp->getNumFmt());
|
||||||
$this->assertEquals(2, $footnoteProp->getNumStart());
|
$this->assertEquals(2, $footnoteProp->getNumStart());
|
||||||
$this->assertEquals(FootnoteProperties::RESTART_NUMBER_EACH_PAGE, $footnoteProp->getNumRestart());
|
$this->assertEquals(FootnoteProperties::RESTART_NUMBER_EACH_PAGE, $footnoteProp->getNumRestart());
|
||||||
}
|
}
|
||||||
|
|
@ -52,7 +53,7 @@ class FootnotePropertiesTest extends \PHPUnit_Framework_TestCase
|
||||||
public function testWrongPos()
|
public function testWrongPos()
|
||||||
{
|
{
|
||||||
$footnoteProp= new FootnoteProperties();
|
$footnoteProp= new FootnoteProperties();
|
||||||
$footnoteProp->setPos(FootnoteProperties::NUMBER_FORMAT_LOWER_ROMAN);
|
$footnoteProp->setPos(NumberFormat::LOWER_ROMAN);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -74,6 +75,6 @@ class FootnotePropertiesTest extends \PHPUnit_Framework_TestCase
|
||||||
public function testWrongNumRestart()
|
public function testWrongNumRestart()
|
||||||
{
|
{
|
||||||
$footnoteProp= new FootnoteProperties();
|
$footnoteProp= new FootnoteProperties();
|
||||||
$footnoteProp->setNumRestart(FootnoteProperties::NUMBER_FORMAT_LOWER_ROMAN);
|
$footnoteProp->setNumRestart(NumberFormat::LOWER_ROMAN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -16,11 +16,12 @@
|
||||||
*/
|
*/
|
||||||
namespace PhpOffice\PhpWord\Writer\Word2007\Part;
|
namespace PhpOffice\PhpWord\Writer\Word2007\Part;
|
||||||
|
|
||||||
|
use PhpOffice\PhpWord\ComplexType\FootnoteProperties;
|
||||||
use PhpOffice\PhpWord\PhpWord;
|
use PhpOffice\PhpWord\PhpWord;
|
||||||
use PhpOffice\PhpWord\SimpleType\Jc;
|
use PhpOffice\PhpWord\SimpleType\Jc;
|
||||||
use PhpOffice\PhpWord\Style\Font;
|
use PhpOffice\PhpWord\Style\Font;
|
||||||
use PhpOffice\PhpWord\TestHelperDOCX;
|
use PhpOffice\PhpWord\TestHelperDOCX;
|
||||||
use PhpOffice\PhpWord\SimpleType\FootnoteProperties;
|
use PhpOffice\PhpWord\SimpleType\NumberFormat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test class for PhpOffice\PhpWord\Writer\Word2007\Part\Document
|
* Test class for PhpOffice\PhpWord\Writer\Word2007\Part\Document
|
||||||
|
|
@ -65,7 +66,7 @@ class DocumentTest extends \PHPUnit_Framework_TestCase
|
||||||
{
|
{
|
||||||
$properties = new FootnoteProperties();
|
$properties = new FootnoteProperties();
|
||||||
$properties->setPos(FootnoteProperties::POSITION_DOC_END);
|
$properties->setPos(FootnoteProperties::POSITION_DOC_END);
|
||||||
$properties->setNumFmt(FootnoteProperties::NUMBER_FORMAT_LOWER_ROMAN);
|
$properties->setNumFmt(NumberFormat::LOWER_ROMAN);
|
||||||
$properties->setNumStart(1);
|
$properties->setNumStart(1);
|
||||||
$properties->setNumRestart(FootnoteProperties::RESTART_NUMBER_EACH_PAGE);
|
$properties->setNumRestart(FootnoteProperties::RESTART_NUMBER_EACH_PAGE);
|
||||||
|
|
||||||
|
|
@ -79,7 +80,7 @@ class DocumentTest extends \PHPUnit_Framework_TestCase
|
||||||
$this->assertEquals(FootnoteProperties::POSITION_DOC_END, $element->getAttribute('w:val'));
|
$this->assertEquals(FootnoteProperties::POSITION_DOC_END, $element->getAttribute('w:val'));
|
||||||
|
|
||||||
$element = $doc->getElement('/w:document/w:body/w:sectPr/w:footnotePr/w:numFmt');
|
$element = $doc->getElement('/w:document/w:body/w:sectPr/w:footnotePr/w:numFmt');
|
||||||
$this->assertEquals(FootnoteProperties::NUMBER_FORMAT_LOWER_ROMAN, $element->getAttribute('w:val'));
|
$this->assertEquals(NumberFormat::LOWER_ROMAN, $element->getAttribute('w:val'));
|
||||||
|
|
||||||
$element = $doc->getElement('/w:document/w:body/w:sectPr/w:footnotePr/w:numStart');
|
$element = $doc->getElement('/w:document/w:body/w:sectPr/w:footnotePr/w:numStart');
|
||||||
$this->assertEquals(1, $element->getAttribute('w:val'));
|
$this->assertEquals(1, $element->getAttribute('w:val'));
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ namespace PhpOffice\PhpWord\Writer\Word2007\Part;
|
||||||
use PhpOffice\PhpWord\PhpWord;
|
use PhpOffice\PhpWord\PhpWord;
|
||||||
use PhpOffice\PhpWord\SimpleType\Jc;
|
use PhpOffice\PhpWord\SimpleType\Jc;
|
||||||
use PhpOffice\PhpWord\TestHelperDOCX;
|
use PhpOffice\PhpWord\TestHelperDOCX;
|
||||||
|
use PhpOffice\PhpWord\SimpleType\NumberFormat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test class for PhpOffice\PhpWord\Writer\Word2007\Part\Numbering
|
* Test class for PhpOffice\PhpWord\Writer\Word2007\Part\Numbering
|
||||||
|
|
@ -52,7 +53,7 @@ class NumberingTest extends \PHPUnit_Framework_TestCase
|
||||||
'levels' => array(
|
'levels' => array(
|
||||||
array(
|
array(
|
||||||
'start' => 1,
|
'start' => 1,
|
||||||
'format' => 'decimal',
|
'format' => NumberFormat::DECIMAL,
|
||||||
'restart' => 1,
|
'restart' => 1,
|
||||||
'suffix' => 'space',
|
'suffix' => 'space',
|
||||||
'text' => '%1.',
|
'text' => '%1.',
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue