Skip to content

Commit cb7d8bf

Browse files
committed
#634 : Added ODFValidator
1 parent 743d0cf commit cb7d8bf

21 files changed

+283
-109
lines changed

.github/workflows/odfvalidator.yml

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: ODFValidator
2+
on: [push, pull_request]
3+
jobs:
4+
php-cs-fixer:
5+
name: ODFValidator
6+
runs-on: ubuntu-latest
7+
steps:
8+
- name: Setup PHP
9+
uses: shivammathur/setup-php@v2
10+
with:
11+
php-version: '7.4'
12+
extensions: mbstring, intl, gd, xml, dom, json, fileinfo, curl, zip, iconv
13+
- uses: actions/checkout@v2
14+
15+
- name: Composer Install
16+
run: composer install --ansi --prefer-dist --no-interaction --no-progress
17+
18+
- name: Generate samples files
19+
run: composer run samples
20+
21+
- name: Download ODFValidator
22+
run: wget https://repo1.maven.org/maven2/org/odftoolkit/odfvalidator/1.0.0-BETA1/odfvalidator-1.0.0-BETA1-jar-with-dependencies.jar
23+
24+
# https://odftoolkit.org/conformance/ODFValidator.html#what-is-checked
25+
- name: Validate documents (ODF 1.2)
26+
run: java -jar odfvalidator-1.0.0-BETA1-jar-with-dependencies.jar -1.2 -r samples/results/

composer.json

+26
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,31 @@
3737
"psr-4": {
3838
"PhpOffice\\PhpPresentation\\": "src/PhpPresentation/"
3939
}
40+
},
41+
"scripts": {
42+
"samples": [
43+
"php samples/Sample_01_Complex.php",
44+
"php samples/Sample_01_Simple.php",
45+
"php samples/Sample_03_Image.php",
46+
"php samples/Sample_03_Video.php",
47+
"php samples/Sample_04_Table.php",
48+
"php samples/Sample_05_Chart_Line.php",
49+
"php samples/Sample_05_Chart.php",
50+
"php samples/Sample_05_Chart_with_PhpSpreadsheet.php",
51+
"php samples/Sample_06_Fill.php",
52+
"php samples/Sample_07_Border.php",
53+
"php samples/Sample_08_Group.php",
54+
"php samples/Sample_09_SlideNote.php",
55+
"php samples/Sample_10_Transition.php",
56+
"php samples/Sample_11_Shape.php",
57+
"php samples/Sample_13_MarkAsFinal.php",
58+
"php samples/Sample_14_Zoom.php",
59+
"php samples/Sample_15_Background.php",
60+
"php samples/Sample_16_Thumbnail.php",
61+
"php samples/Sample_17_Comment.php",
62+
"php samples/Sample_18_Animation.php",
63+
"php samples/Sample_19_SlideMaster.php",
64+
"php samples/Sample_20_ExternalSlide.php"
65+
]
4066
}
4167
}

samples/Sample_01_Simple.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
$shape = $currentSlide->createDrawingShape();
3030
$shape->setName('PHPPresentation logo')
3131
->setDescription('PHPPresentation logo')
32-
->setPath('./resources/phppowerpoint_logo.gif')
32+
->setPath(__DIR__ . '/resources/phppowerpoint_logo.gif')
3333
->setHeight(36)
3434
->setOffsetX(10)
3535
->setOffsetY(10);

samples/Sample_02_Serialized.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
$shape = $currentSlide->createDrawingShape();
3131
$shape->setName('PHPPresentation logo')
3232
->setDescription('PHPPresentation logo')
33-
->setPath('./resources/phppowerpoint_logo.gif')
33+
->setPath(__DIR__ . '/resources/phppowerpoint_logo.gif')
3434
->setHeight(36)
3535
->setOffsetX(10)
3636
->setOffsetY(10);

samples/Sample_03_Image.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
$shape = new Drawing\File();
3838
$shape->setName('PHPPresentation logo')
3939
->setDescription('PHPPresentation logo')
40-
->setPath('./resources/phppowerpoint_logo.gif')
40+
->setPath(__DIR__ . '/resources/phppowerpoint_logo.gif')
4141
->setHeight(36)
4242
->setOffsetX(10)
4343
->setOffsetY(100);
@@ -47,7 +47,7 @@
4747
$shape = new Drawing\ZipFile();
4848
$shape->setName('PHPPresentation logo')
4949
->setDescription('PHPPresentation logo')
50-
->setPath('zip://./resources/Sample_12.pptx#ppt/media/phppowerpoint_logo1.gif')
50+
->setPath('zip://' . __DIR__ . '/resources/Sample_12.pptx#ppt/media/phppowerpoint_logo1.gif')
5151
->setResizeProportional(false)
5252
->setHeight(36)
5353
->setWidth(36)
@@ -74,7 +74,7 @@
7474
$shape = new Drawing\File();
7575
$shape->setName('PHPPresentation logo')
7676
->setDescription('PHPPresentation logo')
77-
->setPath('./resources/logo_ubuntu_transparent.png')
77+
->setPath(__DIR__ . '/resources/logo_ubuntu_transparent.png')
7878
->setHeight(100)
7979
->setOffsetX(10)
8080
->setOffsetY(250)

samples/Sample_03_Video.php

+4-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@
1717
$shape = new Media();
1818
$shape->setName('Video')
1919
->setDescription('Video')
20-
->setPath('WIN' === strtoupper(substr(PHP_OS, 0, 3)) ? './resources/sintel_trailer-480p.wmv' : './resources/sintel_trailer-480p.ogv')
20+
->setPath(
21+
__DIR__ . '/resources/sintel_trailer-480p' .
22+
('WIN' === strtoupper(substr(PHP_OS, 0, 3)) ? '.wmv' : '.ogv')
23+
)
2124
->setResizeProportional(false)
2225
->setHeight(90)
2326
->setWidth(90)

samples/Sample_08_Group.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
$shape = $currentGroup->createDrawingShape();
3030
$shape->setName('PHPPresentation logo')
3131
->setDescription('PHPPresentation logo')
32-
->setPath('./resources/phppowerpoint_logo.gif')
32+
->setPath(__DIR__ . '/resources/phppowerpoint_logo.gif')
3333
->setHeight(36)
3434
->setOffsetX(10)
3535
->setOffsetY(10);

samples/Sample_09_SlideNote.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
$shape = $currentSlide->createDrawingShape();
2525
$shape->setName('PHPPresentation logo')
2626
->setDescription('PHPPresentation logo')
27-
->setPath('./resources/phppowerpoint_logo.gif')
27+
->setPath(__DIR__ . '/resources/phppowerpoint_logo.gif')
2828
->setHeight(36)
2929
->setOffsetX(10)
3030
->setOffsetY(10);

samples/Sample_10_Transition.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
$shapeDrawing = $slide0->createDrawingShape();
3131
$shapeDrawing->setName('PHPPresentation logo')
3232
->setDescription('PHPPresentation logo')
33-
->setPath('./resources/phppowerpoint_logo.gif')
33+
->setPath(__DIR__ . '/resources/phppowerpoint_logo.gif')
3434
->setHeight(36)
3535
->setOffsetX(10)
3636
->setOffsetY(10);

samples/Sample_13_MarkAsFinal.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
$objPHPPresentation = new PhpPresentation();
1010

1111
// Mark the document as final
12-
$objPHPPresentation->markAsFinal(true);
12+
$objPHPPresentation->getPresentationProperties()->markAsFinal(true);
1313

1414
// Create slide
1515
echo date('H:i:s') . ' Create slide' . EOL;

samples/Sample_15_Background.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
* @link : http://publicdomainarchive.com/public-domain-images-cave-red-rocks-light-beam-cavern/
3434
*/
3535
$oBkgImage = new Image();
36-
$oBkgImage->setPath('./resources/background.jpg');
36+
$oBkgImage->setPath(__DIR__ . '/resources/background.jpg');
3737
$oSlide2->setBackground($oBkgImage);
3838

3939
// Save file

samples/Sample_19_SlideMaster.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@
8080
$shape = $currentSlide->createDrawingShape();
8181
$shape->setName('PHPPresentation logo')
8282
->setDescription('PHPPresentation logo')
83-
->setPath('./resources/phppowerpoint_logo.gif')
83+
->setPath(__DIR__ . '/resources/phppowerpoint_logo.gif')
8484
->setHeight(36)
8585
->setOffsetX(10)
8686
->setOffsetY(10);

samples/Sample_Header.php

+7-7
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,6 @@
4545
// Set writers
4646
$writers = ['PowerPoint2007' => 'pptx', 'ODPresentation' => 'odp'];
4747

48-
// Return to the caller script when runs by CLI
49-
if (CLI) {
50-
return;
51-
}
52-
5348
// Set titles and names
5449
$pageHeading = str_replace('_', ' ', SCRIPT_FILENAME);
5550
$pageTitle = IS_INDEX ? 'Welcome to ' : "{$pageHeading} - ";
@@ -59,7 +54,7 @@
5954
$oShapeDrawing = new Drawing\File();
6055
$oShapeDrawing->setName('PHPPresentation logo')
6156
->setDescription('PHPPresentation logo')
62-
->setPath('./resources/phppowerpoint_logo.gif')
57+
->setPath(__DIR__ . '/resources/phppowerpoint_logo.gif')
6358
->setHeight(36)
6459
->setOffsetX(10)
6560
->setOffsetY(10);
@@ -80,6 +75,11 @@
8075
->setSize(60)
8176
->setColor(new Color('FFE06B20'));
8277

78+
// Return to the caller script when runs by CLI
79+
if (CLI) {
80+
return;
81+
}
82+
8383
// Populate samples
8484
$files = [];
8585
if ($handle = opendir('.')) {
@@ -183,7 +183,7 @@ function createTemplatedSlide(PhpOffice\PhpPresentation\PhpPresentation $objPHPP
183183
$shape = $slide->createDrawingShape();
184184
$shape->setName('PHPPresentation logo')
185185
->setDescription('PHPPresentation logo')
186-
->setPath('./resources/phppowerpoint_logo.gif')
186+
->setPath(__DIR__ . '/resources/phppowerpoint_logo.gif')
187187
->setHeight(36)
188188
->setOffsetX(10)
189189
->setOffsetY(10);

samples/results/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)