]>
git.immae.eu Git - github/wallabag/wallabag.git/blob - inc/3rdparty/libraries/mpdf/classes/tocontents.php
b1b614465451c90707fa80d52dd5e9ba4802e322
8 var $TOCoutdent; // mPDF 5.6.31
16 var $TOC_margin_right;
18 var $TOC_margin_bottom;
19 var $TOC_margin_header;
20 var $TOC_margin_footer;
21 var $TOC_odd_header_name;
22 var $TOC_even_header_name;
23 var $TOC_odd_footer_name;
24 var $TOC_even_footer_name;
25 var $TOC_odd_header_value;
26 var $TOC_even_header_value;
27 var $TOC_odd_footer_value;
28 var $TOC_even_footer_value;
29 var $TOC_page_selector;
32 function tocontents(&$mpdf) {
39 function TOCpagebreak($tocfont='', $tocfontsize='', $tocindent='', $TOCusePaging=true, $TOCuseLinking='', $toc_orientation='', $toc_mgl='',$toc_mgr='',$toc_mgt='',$toc_mgb='',$toc_mgh='',$toc_mgf='',$toc_ohname='',$toc_ehname='',$toc_ofname='',$toc_efname='',$toc_ohvalue=0,$toc_ehvalue=0,$toc_ofvalue=0, $toc_efvalue=0, $toc_preHTML='', $toc_postHTML='', $toc_bookmarkText='', $resetpagenum='', $pagenumstyle='', $suppress='', $orientation='', $mgl='',$mgr='',$mgt='',$mgb='',$mgh='',$mgf='',$ohname='',$ehname='',$ofname='',$efname='',$ohvalue=0,$ehvalue=0,$ofvalue=0,$efvalue=0, $toc_id=0, $pagesel='', $toc_pagesel='', $sheetsize='', $toc_sheetsize='', $tocoutdent='') { // mPDF 5.6.19
40 if (strtoupper($toc_id)=='ALL') { $toc_id
= '_mpdf_all'; }
41 else if (!$toc_id) { $toc_id
= 0; }
42 else { $toc_id
= strtolower($toc_id
); }
44 if ($TOCusePaging === false || strtolower($TOCusePaging) == "off" || $TOCusePaging === 0 || $TOCusePaging === "0" || $TOCusePaging === "") { $TOCusePaging
= false; }
45 else { $TOCusePaging
= true; }
46 if (!$TOCuseLinking) { $TOCuseLinking
= false; }
48 $this->m_TOC
[$toc_id]['TOCmark'] = $this->mpdf
->page
;
49 $this->m_TOC
[$toc_id]['TOCoutdent'] = $tocoutdent;
50 $this->m_TOC
[$toc_id]['TOCorientation'] = $toc_orientation;
51 $this->m_TOC
[$toc_id]['TOCuseLinking'] = $TOCuseLinking;
52 $this->m_TOC
[$toc_id]['TOCusePaging'] = $TOCusePaging;
54 if ($toc_preHTML) { $this
->m_TOC
[$toc_id
]['TOCpreHTML'] = $toc_preHTML
; }
55 if ($toc_postHTML) { $this
->m_TOC
[$toc_id
]['TOCpostHTML'] = $toc_postHTML
; }
56 if ($toc_bookmarkText) { $this
->m_TOC
[$toc_id
]['TOCbookmarkText'] = $toc_bookmarkText
; }
58 $this->m_TOC
[$toc_id]['TOC_margin_left'] = $toc_mgl;
59 $this->m_TOC
[$toc_id]['TOC_margin_right'] = $toc_mgr;
60 $this->m_TOC
[$toc_id]['TOC_margin_top'] = $toc_mgt;
61 $this->m_TOC
[$toc_id]['TOC_margin_bottom'] = $toc_mgb;
62 $this->m_TOC
[$toc_id]['TOC_margin_header'] = $toc_mgh;
63 $this->m_TOC
[$toc_id]['TOC_margin_footer'] = $toc_mgf;
64 $this->m_TOC
[$toc_id]['TOC_odd_header_name'] = $toc_ohname;
65 $this->m_TOC
[$toc_id]['TOC_even_header_name'] = $toc_ehname;
66 $this->m_TOC
[$toc_id]['TOC_odd_footer_name'] = $toc_ofname;
67 $this->m_TOC
[$toc_id]['TOC_even_footer_name'] = $toc_efname;
68 $this->m_TOC
[$toc_id]['TOC_odd_header_value'] = $toc_ohvalue;
69 $this->m_TOC
[$toc_id]['TOC_even_header_value'] = $toc_ehvalue;
70 $this->m_TOC
[$toc_id]['TOC_odd_footer_value'] = $toc_ofvalue;
71 $this->m_TOC
[$toc_id]['TOC_even_footer_value'] = $toc_efvalue;
72 $this->m_TOC
[$toc_id]['TOC_page_selector'] = $toc_pagesel;
73 $this->m_TOC
[$toc_id]['TOCsheetsize'] = $toc_sheetsize;
76 $this->TOCmark
= $this->mpdf
->page
;
77 $this->TOCoutdent
= $tocoutdent;
78 $this->TOCorientation
= $toc_orientation;
79 $this->TOCuseLinking
= $TOCuseLinking;
80 $this->TOCusePaging
= $TOCusePaging;
82 if ($toc_preHTML) { $this
->TOCpreHTML
= $toc_preHTML
; }
83 if ($toc_postHTML) { $this
->TOCpostHTML
= $toc_postHTML
; }
84 if ($toc_bookmarkText) { $this
->TOCbookmarkText
= $toc_bookmarkText
; }
86 $this->TOC_margin_left
= $toc_mgl;
87 $this->TOC_margin_right
= $toc_mgr;
88 $this->TOC_margin_top
= $toc_mgt;
89 $this->TOC_margin_bottom
= $toc_mgb;
90 $this->TOC_margin_header
= $toc_mgh;
91 $this->TOC_margin_footer
= $toc_mgf;
92 $this->TOC_odd_header_name
= $toc_ohname;
93 $this->TOC_even_header_name
= $toc_ehname;
94 $this->TOC_odd_footer_name
= $toc_ofname;
95 $this->TOC_even_footer_name
= $toc_efname;
96 $this->TOC_odd_header_value
= $toc_ohvalue;
97 $this->TOC_even_header_value
= $toc_ehvalue;
98 $this->TOC_odd_footer_value
= $toc_ofvalue;
99 $this->TOC_even_footer_value
= $toc_efvalue;
100 $this->TOC_page_selector
= $toc_pagesel;
101 $this->TOCsheetsize
= $toc_sheetsize;
105 // Initiate, and Mark a place for the Table of Contents to be inserted
106 function TOC($tocfont='', $tocfontsize=0, $tocindent=0, $resetpagenum='', $pagenumstyle='', $suppress='', $toc_orientation='', $TOCusePaging=true, $TOCuseLinking=false, $toc_id=0, $tocoutdent='') { // mPDF 5.6.19) {
107 if (strtoupper($toc_id)=='ALL') { $toc_id
= '_mpdf_all'; }
108 else if (!$toc_id) { $toc_id
= 0; }
109 else { $toc_id
= strtolower($toc_id
); }
110 // To use odd and even pages
111 // Cannot start table of contents on an even page
112 if (($this->mpdf
->mirrorMargins
) && (($this->mpdf
->page
)%
2==0)) { // EVEN
113 if ($this->mpdf
->ColActive
) {
114 if (count($this->mpdf
->columnbuffer
)) { $this
->mpdf
->printcolumnbuffer(); }
116 $this->mpdf
->AddPage($this->mpdf
->CurOrientation
,'',$resetpagenum, $pagenumstyle, $suppress);
119 $this->mpdf
->PageNumSubstitutions
[] = array('from'=>$this->mpdf
->page
, 'reset'=> $resetpagenum, 'type'=>$pagenumstyle, 'suppress'=>$suppress);
122 $this->m_TOC
[$toc_id]['TOCmark'] = $this->mpdf
->page
;
123 $this->m_TOC
[$toc_id]['TOCoutdent'] = $tocoutdent;
124 $this->m_TOC
[$toc_id]['TOCorientation'] = $toc_orientation;
125 $this->m_TOC
[$toc_id]['TOCuseLinking'] = $TOCuseLinking;
126 $this->m_TOC
[$toc_id]['TOCusePaging'] = $TOCusePaging;
129 $this->TOCmark
= $this->mpdf
->page
;
130 $this->TOCoutdent
= $tocoutdent;
131 $this->TOCorientation
= $toc_orientation;
132 $this->TOCuseLinking
= $TOCuseLinking;
133 $this->TOCusePaging
= $TOCusePaging;
138 function insertTOC() {
140 if ($this->TOCmark
) { $notocs
= 1; }
141 $notocs +
= count($this->m_TOC
);
143 if ($notocs==0) { return; }
145 if (count($this->m_TOC
)) { reset($this
->m_TOC
); }
146 $added_toc_pages = 0;
148 if ($this->mpdf
->ColActive
) { $this
->mpdf
->SetColumns(0); }
149 if (($this->mpdf
->mirrorMargins
) && (($this->mpdf
->page
)%
2==1)) { // ODD
150 $this->mpdf
->AddPage($this->mpdf
->CurOrientation
);
153 else { $extrapage
= false; }
155 for ($toci = 0; $toci<$notocs; $toci++
) {
156 if ($toci==0 && $this->TOCmark
) {
158 $toc_page = $this->TOCmark
;
159 $tocoutdent = $this->TOCoutdent
;
160 $toc_orientation = $this->TOCorientation
;
161 $TOCuseLinking = $this->TOCuseLinking
;
162 $TOCusePaging = $this->TOCusePaging
;
163 $toc_preHTML = $this->TOCpreHTML
;
164 $toc_postHTML = $this->TOCpostHTML
;
165 $toc_bookmarkText = $this->TOCbookmarkText
;
166 $toc_mgl = $this->TOC_margin_left
;
167 $toc_mgr = $this->TOC_margin_right
;
168 $toc_mgt = $this->TOC_margin_top
;
169 $toc_mgb = $this->TOC_margin_bottom
;
170 $toc_mgh = $this->TOC_margin_header
;
171 $toc_mgf = $this->TOC_margin_footer
;
172 $toc_ohname = $this->TOC_odd_header_name
;
173 $toc_ehname = $this->TOC_even_header_name
;
174 $toc_ofname = $this->TOC_odd_footer_name
;
175 $toc_efname = $this->TOC_even_footer_name
;
176 $toc_ohvalue = $this->TOC_odd_header_value
;
177 $toc_ehvalue = $this->TOC_even_header_value
;
178 $toc_ofvalue = $this->TOC_odd_footer_value
;
179 $toc_efvalue = $this->TOC_even_footer_value
;
180 $toc_page_selector = $this->TOC_page_selector
;
181 $toc_sheet_size = $this->TOCsheetsize
;
184 $arr = current($this->m_TOC
);
186 $toc_id = key($this->m_TOC
);
187 $toc_page = $this->m_TOC
[$toc_id]['TOCmark'];
188 $tocoutdent = $this->m_TOC
[$toc_id]['TOCoutdent'];
189 $toc_orientation = $this->m_TOC
[$toc_id]['TOCorientation'];
190 $TOCuseLinking = $this->m_TOC
[$toc_id]['TOCuseLinking'];
191 $TOCusePaging = $this->m_TOC
[$toc_id]['TOCusePaging'];
192 if (isset($this->m_TOC
[$toc_id]['TOCpreHTML'])) { $toc_preHTML
= $this
->m_TOC
[$toc_id
]['TOCpreHTML']; }
193 else { $toc_preHTML
= ''; }
194 if (isset($this->m_TOC
[$toc_id]['TOCpostHTML'])) { $toc_postHTML
= $this
->m_TOC
[$toc_id
]['TOCpostHTML']; }
195 else { $toc_postHTML
= ''; }
196 if (isset($this->m_TOC
[$toc_id]['TOCbookmarkText'])) { $toc_bookmarkText
= $this
->m_TOC
[$toc_id
]['TOCbookmarkText']; }
197 else { $toc_bookmarkText
= ''; } // *BOOKMARKS*
198 $toc_mgl = $this->m_TOC
[$toc_id]['TOC_margin_left'];
199 $toc_mgr = $this->m_TOC
[$toc_id]['TOC_margin_right'];
200 $toc_mgt = $this->m_TOC
[$toc_id]['TOC_margin_top'];
201 $toc_mgb = $this->m_TOC
[$toc_id]['TOC_margin_bottom'];
202 $toc_mgh = $this->m_TOC
[$toc_id]['TOC_margin_header'];
203 $toc_mgf = $this->m_TOC
[$toc_id]['TOC_margin_footer'];
204 $toc_ohname = $this->m_TOC
[$toc_id]['TOC_odd_header_name'];
205 $toc_ehname = $this->m_TOC
[$toc_id]['TOC_even_header_name'];
206 $toc_ofname = $this->m_TOC
[$toc_id]['TOC_odd_footer_name'];
207 $toc_efname = $this->m_TOC
[$toc_id]['TOC_even_footer_name'];
208 $toc_ohvalue = $this->m_TOC
[$toc_id]['TOC_odd_header_value'];
209 $toc_ehvalue = $this->m_TOC
[$toc_id]['TOC_even_header_value'];
210 $toc_ofvalue = $this->m_TOC
[$toc_id]['TOC_odd_footer_value'];
211 $toc_efvalue = $this->m_TOC
[$toc_id]['TOC_even_footer_value'];
212 $toc_page_selector = $this->m_TOC
[$toc_id]['TOC_page_selector'];
213 $toc_sheet_size = $this->m_TOC
[$toc_id]['TOCsheetsize'];
219 if (!$toc_orientation) { $toc_orientation
= $this
->mpdf
->DefOrientation
; }
220 $this->mpdf
->AddPage($toc_orientation, '', '', '', "on", $toc_mgl, $toc_mgr, $toc_mgt, $toc_mgb, $toc_mgh, $toc_mgf, $toc_ohname, $toc_ehname, $toc_ofname, $toc_efname, $toc_ohvalue, $toc_ehvalue, $toc_ofvalue, $toc_efvalue, $toc_page_selector, $toc_sheet_size );
222 $this->mpdf
->writingToC
= true; // mPDF 5.6.38
224 $tocstart=count($this->mpdf
->pages
);
225 if ($toc_preHTML) { $this
->mpdf
->WriteHTML($toc_preHTML
); }
228 $html ='<div class="mpdf_toc" id="mpdf_toc_'.$toc_id.'">';
229 foreach($this->_toc
as $t) {
230 if ($t['toc_id']==='_mpdf_all' || $t['toc_id']===$toc_id ) {
231 $html .= '<div class="mpdf_toc_level_'.$t['l'].'">';
232 if ($TOCuseLinking) { $html
.= '<a class="mpdf_toc_a" href="#__mpdfinternallink_'.$t
['link'].'">'; }
233 $html .= '<span class="mpdf_toc_t_level_'.$t['l'].'">'.$t['t'].'</span>';
234 if ($TOCuseLinking) { $html
.= '</a>'; }
235 if (!$tocoutdent) { $tocoutdent
= '0'; }
236 if ($TOCusePaging) { $html .= ' <dottab outdent="'.$tocoutdent.'" /> ';
237 if ($TOCuseLinking) { $html
.= '<a class="mpdf_toc_a" href="#__mpdfinternallink_'.$t
['link'].'">'; }
238 $html .= '<span class="mpdf_toc_p_level_'.$t['l'].'">'.$this->mpdf
->docPageNum($t['p']).'</span>';
239 if ($TOCuseLinking) { $html
.= '</a>'; }
245 $this->mpdf
->WriteHTML($html);
247 if ($toc_postHTML) { $this
->mpdf
->WriteHTML($toc_postHTML
); }
248 $this->mpdf
->writingToC
= false; // mPDF 5.6.38
249 $this->mpdf
->AddPage($toc_orientation,'E');
251 $n_toc = $this->mpdf
->page
- $tocstart +
1;
253 if ($toci==0 && $this->TOCmark
) {
254 $TOC_start = $tocstart ;
255 $TOC_end = $this->mpdf
->page
;
256 $TOC_npages = $n_toc;
259 $this->m_TOC
[$toc_id]['start'] = $tocstart ;
260 $this->m_TOC
[$toc_id]['end'] = $this->mpdf
->page
;
261 $this->m_TOC
[$toc_id]['npages'] = $n_toc;
267 $s .= $this->mpdf
->PrintBodyBackgrounds();
269 $s .= $this->mpdf
->PrintPageBackgrounds();
270 $this->mpdf
->pages
[$this->mpdf
->page
] = preg_replace('/(___BACKGROUND___PATTERNS'.$this->mpdf
->uniqstr
.')/', "\n".$s."\n".'\\1', $this->mpdf
->pages
[$this->mpdf
->page
]);
271 $this->mpdf
->pageBackgrounds
= array();
274 $this->mpdf
->InFooter
=true;
275 $this->mpdf
->Footer();
276 $this->mpdf
->InFooter
=false;
278 // 2nd time through to move pages etc.
279 $added_toc_pages = 0;
280 if (count($this->m_TOC
)) { reset($this
->m_TOC
); }
282 for ($toci = 0; $toci<$notocs; $toci++
) {
283 if ($toci==0 && $this->TOCmark
) {
285 $toc_page = $this->TOCmark +
$added_toc_pages;
286 $toc_orientation = $this->TOCorientation
;
287 $TOCuseLinking = $this->TOCuseLinking
;
288 $TOCusePaging = $this->TOCusePaging
;
289 $toc_bookmarkText = $this->TOCbookmarkText
; // *BOOKMARKS*
291 $tocstart = $TOC_start ;
292 $tocend = $n = $TOC_end;
293 $n_toc = $TOC_npages;
296 $arr = current($this->m_TOC
);
298 $toc_id = key($this->m_TOC
);
299 $toc_page = $this->m_TOC
[$toc_id]['TOCmark'] +
$added_toc_pages;
300 $toc_orientation = $this->m_TOC
[$toc_id]['TOCorientation'];
301 $TOCuseLinking = $this->m_TOC
[$toc_id]['TOCuseLinking'];
302 $TOCusePaging = $this->m_TOC
[$toc_id]['TOCusePaging'];
303 $toc_bookmarkText = $this->m_TOC
[$toc_id]['TOCbookmarkText']; // *BOOKMARKS*
305 $tocstart = $this->m_TOC
[$toc_id]['start'] ;
306 $tocend = $n = $this->m_TOC
[$toc_id]['end'] ;
307 $n_toc = $this->m_TOC
[$toc_id]['npages'] ;
313 $added_toc_pages +
= $n_toc;
315 $this->mpdf
->MovePages($toc_page, $tocstart, $tocend) ;
316 $this->mpdf
->pgsIns
[$toc_page] = $tocend - $tocstart +
1;
319 // Insert new Bookmark for Bookmark
320 if ($toc_bookmarkText) {
322 foreach($this->mpdf
->BMoutlines
as $i=>$o) {
323 if($o['p']<$toc_page) { // i.e. before point of insertion
327 $txt = $this->mpdf
->purify_utf8_text($toc_bookmarkText);
328 if ($this->mpdf
->text_input_as_HTML
) {
329 $txt = $this->mpdf
->all_entities_to_utf8($txt);
331 $newBookmark[0] = array('t'=>$txt,'l'=>0,'y'=>0,'p'=>$toc_page );
332 array_splice($this->mpdf
->BMoutlines
,($insert+
1),0,$newBookmark);
334 /*-- END BOOKMARKS --*/
338 // Delete empty page that was inserted earlier
340 unset($this->mpdf
->pages
[count($this->mpdf
->pages
)]);
341 $this->mpdf
->page
--; // Reset page pointer
348 function openTagTOC($attr) {
349 if (isset($attr['OUTDENT']) && $attr['OUTDENT']) { $tocoutdent
= $attr
['OUTDENT']; } else { $tocoutdent
= ''; } // mPDF 5.6.19
350 if (isset($attr['RESETPAGENUM']) && $attr['RESETPAGENUM']) { $resetpagenum
= $attr
['RESETPAGENUM']; } else { $resetpagenum
= ''; }
351 if (isset($attr['PAGENUMSTYLE']) && $attr['PAGENUMSTYLE']) { $pagenumstyle
= $attr
['PAGENUMSTYLE']; } else { $pagenumstyle
= ''; }
352 if (isset($attr['SUPPRESS']) && $attr['SUPPRESS']) { $suppress
= $attr
['SUPPRESS']; } else { $suppress
= ''; }
353 if (isset($attr['TOC-ORIENTATION']) && $attr['TOC-ORIENTATION']) { $toc_orientation
= $attr
['TOC-ORIENTATION']; } else { $toc_orientation
= ''; }
354 if (isset($attr['PAGING']) && (strtoupper($attr['PAGING'])=='OFF' || $attr['PAGING']==='0')) { $paging
= false; }
355 else { $paging
= true; }
356 if (isset($attr['LINKS']) && (strtoupper($attr['LINKS'])=='ON' || $attr['LINKS']==1)) { $links
= true; }
357 else { $links
= false; }
358 if (isset($attr['NAME']) && $attr['NAME']) { $toc_id
= strtolower($attr
['NAME']); } else { $toc_id
= 0; }
359 $this->TOC('',0,0,$resetpagenum, $pagenumstyle, $suppress, $toc_orientation, $paging, $links, $toc_id, $tocoutdent); // mPDF 5.6.19 5.6.31
363 function openTagTOCPAGEBREAK($attr) {
364 if (isset($attr['NAME']) && $attr['NAME']) { $toc_id
= strtolower($attr
['NAME']); } else { $toc_id
= 0; }
366 if (isset($attr['OUTDENT']) && $attr['OUTDENT']) { $this
->m_TOC
[$toc_id
]['TOCoutdent'] = $attr
['OUTDENT']; } else { $this
->m_TOC
[$toc_id
]['TOCoutdent'] = ''; } // mPDF 5.6.19
367 if (isset($attr['TOC-ORIENTATION']) && $attr['TOC-ORIENTATION']) { $this
->m_TOC
[$toc_id
]['TOCorientation'] = $attr
['TOC-ORIENTATION']; } else { $this
->m_TOC
[$toc_id
]['TOCorientation'] = ''; }
368 if (isset($attr['PAGING']) && (strtoupper($attr['PAGING'])=='OFF' || $attr['PAGING']==='0')) { $this
->m_TOC
[$toc_id
]['TOCusePaging'] = false; }
369 else { $this
->m_TOC
[$toc_id
]['TOCusePaging'] = true; }
370 if (isset($attr['LINKS']) && (strtoupper($attr['LINKS'])=='ON' || $attr['LINKS']==1)) { $this
->m_TOC
[$toc_id
]['TOCuseLinking'] = true; }
371 else { $this
->m_TOC
[$toc_id
]['TOCuseLinking'] = false; }
373 $this->m_TOC
[$toc_id]['TOC_margin_left'] = $this->m_TOC
[$toc_id]['TOC_margin_right'] = $this->m_TOC
[$toc_id]['TOC_margin_top'] = $this->m_TOC
[$toc_id]['TOC_margin_bottom'] = $this->m_TOC
[$toc_id]['TOC_margin_header'] = $this->m_TOC
[$toc_id]['TOC_margin_footer'] = '';
374 if (isset($attr['TOC-MARGIN-RIGHT'])) { $this
->m_TOC
[$toc_id
]['TOC_margin_right'] = $this
->mpdf
->ConvertSize($attr
['TOC-MARGIN-RIGHT'],$this
->mpdf
->w
,$this
->mpdf
->FontSize
,false); }
375 if (isset($attr['TOC-MARGIN-LEFT'])) { $this
->m_TOC
[$toc_id
]['TOC_margin_left'] = $this
->mpdf
->ConvertSize($attr
['TOC-MARGIN-LEFT'],$this
->mpdf
->w
,$this
->mpdf
->FontSize
,false); }
376 if (isset($attr['TOC-MARGIN-TOP'])) { $this
->m_TOC
[$toc_id
]['TOC_margin_top'] = $this
->mpdf
->ConvertSize($attr
['TOC-MARGIN-TOP'],$this
->mpdf
->w
,$this
->mpdf
->FontSize
,false); }
377 if (isset($attr['TOC-MARGIN-BOTTOM'])) { $this
->m_TOC
[$toc_id
]['TOC_margin_bottom'] = $this
->mpdf
->ConvertSize($attr
['TOC-MARGIN-BOTTOM'],$this
->mpdf
->w
,$this
->mpdf
->FontSize
,false); }
378 if (isset($attr['TOC-MARGIN-HEADER'])) { $this
->m_TOC
[$toc_id
]['TOC_margin_header'] = $this
->mpdf
->ConvertSize($attr
['TOC-MARGIN-HEADER'],$this
->mpdf
->w
,$this
->mpdf
->FontSize
,false); }
379 if (isset($attr['TOC-MARGIN-FOOTER'])) { $this
->m_TOC
[$toc_id
]['TOC_margin_footer'] = $this
->mpdf
->ConvertSize($attr
['TOC-MARGIN-FOOTER'],$this
->mpdf
->w
,$this
->mpdf
->FontSize
,false); }
380 $this->m_TOC
[$toc_id]['TOC_odd_header_name'] = $this->m_TOC
[$toc_id]['TOC_even_header_name'] = $this->m_TOC
[$toc_id]['TOC_odd_footer_name'] = $this->m_TOC
[$toc_id]['TOC_even_footer_name'] = '';
381 if (isset($attr['TOC-ODD-HEADER-NAME']) && $attr['TOC-ODD-HEADER-NAME']) { $this
->m_TOC
[$toc_id
]['TOC_odd_header_name'] = $attr
['TOC-ODD-HEADER-NAME']; }
382 if (isset($attr['TOC-EVEN-HEADER-NAME']) && $attr['TOC-EVEN-HEADER-NAME']) { $this
->m_TOC
[$toc_id
]['TOC_even_header_name'] = $attr
['TOC-EVEN-HEADER-NAME']; }
383 if (isset($attr['TOC-ODD-FOOTER-NAME']) && $attr['TOC-ODD-FOOTER-NAME']) { $this
->m_TOC
[$toc_id
]['TOC_odd_footer_name'] = $attr
['TOC-ODD-FOOTER-NAME']; }
384 if (isset($attr['TOC-EVEN-FOOTER-NAME']) && $attr['TOC-EVEN-FOOTER-NAME']) { $this
->m_TOC
[$toc_id
]['TOC_even_footer_name'] = $attr
['TOC-EVEN-FOOTER-NAME']; }
385 $this->m_TOC
[$toc_id]['TOC_odd_header_value'] = $this->m_TOC
[$toc_id]['TOC_even_header_value'] = $this->m_TOC
[$toc_id]['TOC_odd_footer_value'] = $this->m_TOC
[$toc_id]['TOC_even_footer_value'] = 0;
386 if (isset($attr['TOC-ODD-HEADER-VALUE']) && ($attr['TOC-ODD-HEADER-VALUE']=='1' || strtoupper($attr['TOC-ODD-HEADER-VALUE'])=='ON')) { $this
->m_TOC
[$toc_id
]['TOC_odd_header_value'] = 1; }
387 else if (isset($attr['TOC-ODD-HEADER-VALUE']) && ($attr['TOC-ODD-HEADER-VALUE']=='-1' || strtoupper($attr['TOC-ODD-HEADER-VALUE'])=='OFF')) { $this
->m_TOC
[$toc_id
]['TOC_odd_header_value'] = -1; }
388 if (isset($attr['TOC-EVEN-HEADER-VALUE']) && ($attr['TOC-EVEN-HEADER-VALUE']=='1' || strtoupper($attr['TOC-EVEN-HEADER-VALUE'])=='ON')) { $this
->m_TOC
[$toc_id
]['TOC_even_header_value'] = 1; }
389 else if (isset($attr['TOC-EVEN-HEADER-VALUE']) && ($attr['TOC-EVEN-HEADER-VALUE']=='-1' || strtoupper($attr['TOC-EVEN-HEADER-VALUE'])=='OFF')) { $this
->m_TOC
[$toc_id
]['TOC_even_header_value'] = -1; }
390 if (isset($attr['TOC-ODD-FOOTER-VALUE']) && ($attr['TOC-ODD-FOOTER-VALUE']=='1' || strtoupper($attr['TOC-ODD-FOOTER-VALUE'])=='ON')) { $this
->m_TOC
[$toc_id
]['TOC_odd_footer_value'] = 1; }
391 else if (isset($attr['TOC-ODD-FOOTER-VALUE']) && ($attr['TOC-ODD-FOOTER-VALUE']=='-1' || strtoupper($attr['TOC-ODD-FOOTER-VALUE'])=='OFF')) { $this
->m_TOC
[$toc_id
]['TOC_odd_footer_value'] = -1; }
392 if (isset($attr['TOC-EVEN-FOOTER-VALUE']) && ($attr['TOC-EVEN-FOOTER-VALUE']=='1' || strtoupper($attr['TOC-EVEN-FOOTER-VALUE'])=='ON')) { $this
->m_TOC
[$toc_id
]['TOC_even_footer_value'] = 1; }
393 else if (isset($attr['TOC-EVEN-FOOTER-VALUE']) && ($attr['TOC-EVEN-FOOTER-VALUE']=='-1' || strtoupper($attr['TOC-EVEN-FOOTER-VALUE'])=='OFF')) { $this
->m_TOC
[$toc_id
]['TOC_even_footer_value'] = -1; }
394 if (isset($attr['TOC-PAGE-SELECTOR']) && $attr['TOC-PAGE-SELECTOR']) { $this
->m_TOC
[$toc_id
]['TOC_page_selector'] = $attr
['TOC-PAGE-SELECTOR']; }
395 else { $this
->m_TOC
[$toc_id
]['TOC_page_selector'] = ''; }
396 if (isset($attr['TOC-SHEET-SIZE']) && $attr['TOC-SHEET-SIZE']) { $this
->m_TOC
[$toc_id
]['TOCsheetsize'] = $attr
['TOC-SHEET-SIZE']; } else { $this
->m_TOC
[$toc_id
]['TOCsheetsize'] = ''; }
399 if (isset($attr['TOC-PREHTML']) && $attr['TOC-PREHTML']) { $this
->m_TOC
[$toc_id
]['TOCpreHTML'] = htmlspecialchars_decode($attr
['TOC-PREHTML'],ENT_QUOTES
); }
400 if (isset($attr['TOC-POSTHTML']) && $attr['TOC-POSTHTML']) { $this
->m_TOC
[$toc_id
]['TOCpostHTML'] = htmlspecialchars_decode($attr
['TOC-POSTHTML'],ENT_QUOTES
); }
402 if (isset($attr['TOC-BOOKMARKTEXT']) && $attr['TOC-BOOKMARKTEXT']) { $this
->m_TOC
[$toc_id
]['TOCbookmarkText'] = htmlspecialchars_decode($attr
['TOC-BOOKMARKTEXT'],ENT_QUOTES
); } // *BOOKMARKS*
405 if (isset($attr['OUTDENT']) && $attr['OUTDENT']) { $this
->TOCoutdent
= $attr
['OUTDENT']; } else { $this
->TOCoutdent
= ''; } // mPDF 5.6.19
406 if (isset($attr['TOC-ORIENTATION']) && $attr['TOC-ORIENTATION']) { $this
->TOCorientation
= $attr
['TOC-ORIENTATION']; } else { $this
->TOCorientation
= ''; }
407 if (isset($attr['PAGING']) && (strtoupper($attr['PAGING'])=='OFF' || $attr['PAGING']==='0')) { $this
->TOCusePaging
= false; }
408 else { $this
->TOCusePaging
= true; }
409 if (isset($attr['LINKS']) && (strtoupper($attr['LINKS'])=='ON' || $attr['LINKS']==1)) { $this
->TOCuseLinking
= true; }
410 else { $this
->TOCuseLinking
= false; }
412 $this->TOC_margin_left
= $this->TOC_margin_right
= $this->TOC_margin_top
= $this->TOC_margin_bottom
= $this->TOC_margin_header
= $this->TOC_margin_footer
= '';
413 if (isset($attr['TOC-MARGIN-RIGHT'])) { $this
->TOC_margin_right
= $this
->mpdf
->ConvertSize($attr
['TOC-MARGIN-RIGHT'],$this
->mpdf
->w
,$this
->mpdf
->FontSize
,false); }
414 if (isset($attr['TOC-MARGIN-LEFT'])) { $this
->TOC_margin_left
= $this
->mpdf
->ConvertSize($attr
['TOC-MARGIN-LEFT'],$this
->mpdf
->w
,$this
->mpdf
->FontSize
,false); }
415 if (isset($attr['TOC-MARGIN-TOP'])) { $this
->TOC_margin_top
= $this
->mpdf
->ConvertSize($attr
['TOC-MARGIN-TOP'],$this
->mpdf
->w
,$this
->mpdf
->FontSize
,false); }
416 if (isset($attr['TOC-MARGIN-BOTTOM'])) { $this
->TOC_margin_bottom
= $this
->mpdf
->ConvertSize($attr
['TOC-MARGIN-BOTTOM'],$this
->mpdf
->w
,$this
->mpdf
->FontSize
,false); }
417 if (isset($attr['TOC-MARGIN-HEADER'])) { $this
->TOC_margin_header
= $this
->mpdf
->ConvertSize($attr
['TOC-MARGIN-HEADER'],$this
->mpdf
->w
,$this
->mpdf
->FontSize
,false); }
418 if (isset($attr['TOC-MARGIN-FOOTER'])) { $this
->TOC_margin_footer
= $this
->mpdf
->ConvertSize($attr
['TOC-MARGIN-FOOTER'],$this
->mpdf
->w
,$this
->mpdf
->FontSize
,false); }
419 $this->TOC_odd_header_name
= $this->TOC_even_header_name
= $this->TOC_odd_footer_name
= $this->TOC_even_footer_name
= '';
420 if (isset($attr['TOC-ODD-HEADER-NAME']) && $attr['TOC-ODD-HEADER-NAME']) { $this
->TOC_odd_header_name
= $attr
['TOC-ODD-HEADER-NAME']; }
421 if (isset($attr['TOC-EVEN-HEADER-NAME']) && $attr['TOC-EVEN-HEADER-NAME']) { $this
->TOC_even_header_name
= $attr
['TOC-EVEN-HEADER-NAME']; }
422 if (isset($attr['TOC-ODD-FOOTER-NAME']) && $attr['TOC-ODD-FOOTER-NAME']) { $this
->TOC_odd_footer_name
= $attr
['TOC-ODD-FOOTER-NAME']; }
423 if (isset($attr['TOC-EVEN-FOOTER-NAME']) && $attr['TOC-EVEN-FOOTER-NAME']) { $this
->TOC_even_footer_name
= $attr
['TOC-EVEN-FOOTER-NAME']; }
424 $this->TOC_odd_header_value
= $this->TOC_even_header_value
= $this->TOC_odd_footer_value
= $this->TOC_even_footer_value
= 0;
425 if (isset($attr['TOC-ODD-HEADER-VALUE']) && ($attr['TOC-ODD-HEADER-VALUE']=='1' || strtoupper($attr['TOC-ODD-HEADER-VALUE'])=='ON')) { $this
->TOC_odd_header_value
= 1; }
426 else if (isset($attr['TOC-ODD-HEADER-VALUE']) && ($attr['TOC-ODD-HEADER-VALUE']=='-1' || strtoupper($attr['TOC-ODD-HEADER-VALUE'])=='OFF')) { $this
->TOC_odd_header_value
= -1; }
427 if (isset($attr['TOC-EVEN-HEADER-VALUE']) && ($attr['TOC-EVEN-HEADER-VALUE']=='1' || strtoupper($attr['TOC-EVEN-HEADER-VALUE'])=='ON')) { $this
->TOC_even_header_value
= 1; }
428 else if (isset($attr['TOC-EVEN-HEADER-VALUE']) && ($attr['TOC-EVEN-HEADER-VALUE']=='-1' || strtoupper($attr['TOC-EVEN-HEADER-VALUE'])=='OFF')) { $this
->TOC_even_header_value
= -1; }
430 if (isset($attr['TOC-ODD-FOOTER-VALUE']) && ($attr['TOC-ODD-FOOTER-VALUE']=='1' || strtoupper($attr['TOC-ODD-FOOTER-VALUE'])=='ON')) { $this
->TOC_odd_footer_value
= 1; }
431 else if (isset($attr['TOC-ODD-FOOTER-VALUE']) && ($attr['TOC-ODD-FOOTER-VALUE']=='-1' || strtoupper($attr['TOC-ODD-FOOTER-VALUE'])=='OFF')) { $this
->TOC_odd_footer_value
= -1; }
432 if (isset($attr['TOC-EVEN-FOOTER-VALUE']) && ($attr['TOC-EVEN-FOOTER-VALUE']=='1' || strtoupper($attr['TOC-EVEN-FOOTER-VALUE'])=='ON')) { $this
->TOC_even_footer_value
= 1; }
433 else if (isset($attr['TOC-EVEN-FOOTER-VALUE']) && ($attr['TOC-EVEN-FOOTER-VALUE']=='-1' || strtoupper($attr['TOC-EVEN-FOOTER-VALUE'])=='OFF')) { $this
->TOC_even_footer_value
= -1; }
434 if (isset($attr['TOC-PAGE-SELECTOR']) && $attr['TOC-PAGE-SELECTOR']) { $this
->TOC_page_selector
= $attr
['TOC-PAGE-SELECTOR']; }
435 else { $this
->TOC_page_selector
= ''; }
436 if (isset($attr['TOC-SHEET-SIZE']) && $attr['TOC-SHEET-SIZE']) { $this
->TOCsheetsize
= $attr
['TOC-SHEET-SIZE']; } else { $this
->TOCsheetsize
= ''; }
438 if (isset($attr['TOC-PREHTML']) && $attr['TOC-PREHTML']) { $this
->TOCpreHTML
= htmlspecialchars_decode($attr
['TOC-PREHTML'],ENT_QUOTES
); }
439 if (isset($attr['TOC-POSTHTML']) && $attr['TOC-POSTHTML']) { $this
->TOCpostHTML
= htmlspecialchars_decode($attr
['TOC-POSTHTML'],ENT_QUOTES
); }
440 if (isset($attr['TOC-BOOKMARKTEXT']) && $attr['TOC-BOOKMARKTEXT']) { $this
->TOCbookmarkText
= htmlspecialchars_decode($attr
['TOC-BOOKMARKTEXT'],ENT_QUOTES
); }
443 if ($this->mpdf
->y
== $this->mpdf
->tMargin
&& (!$this->mpdf
->mirrorMargins
||($this->mpdf
->mirrorMargins
&& $this->mpdf
->page %
2==1))) {
444 if ($toc_id) { $this
->m_TOC
[$toc_id
]['TOCmark'] = $this
->mpdf
->page
; }
445 else { $this
->TOCmark
= $this
->mpdf
->page
; }
447 if ($this->mpdf
->page
==1 && count($this->mpdf
->PageNumSubstitutions
)==0) {
451 if (isset($attr['RESETPAGENUM'])) { $resetpagenum
= $attr
['RESETPAGENUM']; }
452 if (isset($attr['PAGENUMSTYLE'])) { $pagenumstyle
= $attr
['PAGENUMSTYLE']; }
453 if (isset($attr['SUPPRESS'])) { $suppress
= $attr
['SUPPRESS']; }
454 if (!$suppress) { $suppress
= 'off'; }
455 if (!$resetpagenum) { $resetpagenum
= 1; }
456 $this->mpdf
->PageNumSubstitutions
[] = array('from'=>1, 'reset'=> $resetpagenum, 'type'=>$pagenumstyle, 'suppress'=> $suppress);
458 return array(true, $toc_id);
460 // No break - continues as PAGEBREAK...
461 return array(false, $toc_id);