PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.16.9
GiveWP – Donation Plugin and Fundraising Platform v4.16.9
4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 All 255 releases
give / includes / libraries / give-pdf.php

give-pdf.php in GiveWP – Donation Plugin and Fundraising Platform 4.16.9, at includes/libraries/give-pdf.php

106 lines 1.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * PDF MultiCell Table Class.
4 *
5 * @package Give PDFs
6 * @subpackage TCPDF
7 * @since 1.8.14
8 */
9
10 // Exit if accessed directly.
11 if ( ! defined( 'ABSPATH' ) ) {
12 exit;
13 }
14
15 /**
16 * Composer's autoload.php.
17 */
18 if ( ! class_exists( 'TCPDF' ) && file_exists( GIVE_PLUGIN_DIR . 'vendor/tecnickcom/tcpdf/tcpdf.php' ) ) {
19 require_once GIVE_PLUGIN_DIR . 'vendor/tecnickcom/tcpdf/tcpdf.php';
20 }
21
22 /**
23 * Class Give_PDF
24 */
25 class Give_PDF extends TCPDF {
26
27 /**
28 * Width.
29 *
30 * @var int $widths Width.
31 */
32 var $widths;
33
34 /**
35 * Alignment.
36 *
37 * @var string $aligns Alignment.
38 */
39 var $aligns;
40
41 /**
42 * Set Header.
43 */
44 function Header() {
45 }
46
47 /**
48 * Set Footer.
49 */
50 function Footer() {
51 $this->SetY( - 15 );
52 $this->SetFont( 'Helvetica', 'I', 8 );
53 $this->Cell( 0, 10, 'Page ' . $this->PageNo(), 0, 0, 'C' );
54 }
55
56 /**
57 * Set Width.
58 *
59 * @param array $w Cell Width.
60 */
61 function SetWidths( $w ) {
62 $this->widths = $w;
63 }
64
65 /**
66 * Set Alignment.
67 *
68 * @param string $a Cell Alignment.
69 */
70 function SetAligns( $a ) {
71 $this->aligns = $a;
72 }
73
74 /**
75 * Set Table Row.
76 *
77 * @param array $data Set data in a row.
78 */
79 function Row( $data ) {
80 $nb = 0;
81 $get_height = array();
82 for ( $i = 0; $i < count( $data ); $i ++ ) {
83 $get_height[] = max( $nb, $this->getNumLines( $data[ $i ], $this->widths[ $i ] ) );
84 }
85 // Get max height from the all column.
86 $max_height = max( $get_height );
87
88 for ( $i = 0; $i < count( $data ); $i ++ ) {
89 $h = 7 * $max_height;
90 $this->checkPageBreak( $h, '', true );
91
92 $w = $this->widths[ $i ];
93 $a = isset( $this->aligns[ $i ] ) ? $this->aligns[ $i ] : 'L';
94 $x = $this->GetX();
95 $y = $this->GetY();
96 $this->Rect( $x, $y, $w, $h );
97
98 $this->MultiCell( $w, $h, $data[ $i ], 0, $a, false, 1, '', '', true, 0, false, true, 0, 'M', false );
99 $this->SetXY( $x + $w, $y );
100 }
101
102 $this->Ln( $max_height * 7 );
103 }
104
105 }
106