forked from mreg-archive/fpdi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathupdate_package.sh
executable file
·63 lines (53 loc) · 1.86 KB
/
update_package.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/bin/bash
# Download fpdi
wget http://www.setasign.com/supra/kon2_dl/60111/FPDI-1.4.4.zip#p-525
wget http://www.setasign.com/supra/kon2_dl/63411/FPDF_TPL-1.2.3.zip#p-525
# Untar
mkdir fpdi
unzip FPDI-1.4.4.zip -d fpdi
unzip FPDF_TPL-1.2.3.zip -d fpdi
rm *.zip
# Move filters to base dir (to make fnMoveAndProcess simpler to write)
mv fpdi/filters/* fpdi
rm -r fpdi/filters
# Perform sed manipulations of source files
function fnMoveAndProcess {
cat fpdi/$1.php | sed \
-e 's/^<?php/<?php namespace fpdi;/' \
-e 's/^[[:space:]]*require/#require/I' \
-e 's/^[[:space:]]*include/#include/I' \
-e 's/[[:space:]]extends[[:space:]]FPDF[[:space:]]/ extends \\fpdf\\FPDF /' \
-e 's/[[:space:]]function[[:space:]]'$1'/ function __construct/' \
-e 's/parent::pdf_parser/parent::__construct/' > src/fpdi/$2.php
rm fpdi/$1.php
}
# Arguments are base and target file names, without file extension
fnMoveAndProcess fpdf_tpl FPDF/TPL
fnMoveAndProcess fpdi FPDI
fnMoveAndProcess fpdi_pdf_parser fpdi/pdf/parser
fnMoveAndProcess pdf_context pdf/context
fnMoveAndProcess pdf_parser pdf/parser
fnMoveAndProcess FilterASCII85 FilterASCII85
fnMoveAndProcess FilterASCII85_FPDI FilterASCII85/FPDI
fnMoveAndProcess FilterLZW FilterLZW
fnMoveAndProcess FilterLZW_FPDI FilterLZW/FPDI
# Fpdi2tcpdf is not supported
rm fpdi/fpdi2tcpdf_bridge.php
# Assert that fpdi is empty
if [ "$(ls -A fpdi)" ]; then
echo "fpdi/ not empty. Update unsuccessful."
exit
else
rm -rf fpdi
fi
# Install dependencies
curl -sS https://getcomposer.org/installer | php
php composer.phar install --dev
# Run tests
phpunit --bootstrap vendor/autoload.php tests
# Assert that tests/AA.pdf exists
if [ -f tests/AA.pdf ]; then
echo "Update successful."
else
echo "tests/AA.pdf not created. Update unsuccessful."
fi