PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.17.1
GiveWP – Donation Plugin and Fundraising Platform v3.17.1
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 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / MultiFormGoals / MultiFormGoal / Model.php
give / src / MultiFormGoals / MultiFormGoal Last commit date
Block.php 4 years ago Model.php 3 years ago Shortcode.php 2 years ago
Model.php
135 lines
1 <?php
2
3 namespace Give\MultiFormGoals\MultiFormGoal;
4
5 use Give\MultiFormGoals\ProgressBar\Model as ProgressBar;
6
7 class Model
8 {
9
10 // Settings for shortcode context
11 protected $ids;
12 protected $tags;
13 protected $categories;
14 protected $goal;
15 protected $enddate;
16 protected $color;
17 protected $heading;
18 protected $summary;
19 protected $imageSrc;
20
21 // Settings for block context
22 protected $innerBlocks;
23
24 /**
25 * Constructs and sets up setting variables for a new Multi Form Goal model
26 *
27 * @since 2.9.0
28 **@param array $args Arguments for new Multi Form Goal, including 'ids'
29 */
30 public function __construct(array $args)
31 {
32 isset($args['ids']) ? $this->ids = $args['ids'] : $this->ids = [];
33 isset($args['tags']) ? $this->tags = $args['tags'] : $this->tags = [];
34 isset($args['categories']) ? $this->categories = $args['categories'] : $this->categories = [];
35 isset($args['goal']) ? $this->goal = $args['goal'] : $this->goal = '1000';
36 isset($args['enddate']) ? $this->enddate = $args['enddate'] : $this->enddate = '';
37 isset($args['color']) ? $this->color = $args['color'] : $this->color = '#28c77b';
38 isset($args['heading']) ? $this->heading = $args['heading'] : $this->heading = 'Example Heading';
39 isset($args['summary']) ? $this->summary = $args['summary'] : $this->summary = 'This is a summary.';
40 isset($args['imageSrc']) ? $this->imageSrc = $args['imageSrc'] : $this->imageSrc = GIVE_PLUGIN_URL . 'assets/dist/images/onboarding-preview-form-image.min.jpg';
41 isset($args['innerBlocks']) ? $this->innerBlocks = $args['innerBlocks'] : $this->innerBlocks = false;
42 }
43
44 /**
45 * Get output markup for Multi-Form Goal
46 *
47 * @since 2.9.0
48 **@return string
49 */
50 public function getOutput()
51 {
52 ob_start();
53 $output = '';
54 require $this->getTemplatePath();
55 $output = ob_get_contents();
56 ob_end_clean();
57
58 return $output;
59 }
60
61 /**
62 * Get image source for MultiFormGoal
63 *
64 * @since 2.9.0
65 **@return string
66 */
67 public function getImageSrc()
68 {
69 return $this->imageSrc;
70 }
71
72 /**
73 * Get heading for MultiFormGoal
74 *
75 * @since 2.9.0
76 **@return string
77 */
78 public function getHeading()
79 {
80 return $this->heading;
81 }
82
83 /**
84 * Get summary for MultiFormGoal
85 *
86 * @since 2.9.0
87 **@return string
88 */
89 public function getSummary()
90 {
91 return $this->summary;
92 }
93
94 /**
95 * Get Progress Bar output
96 *
97 * @since 2.9.0
98 */
99 public function getProgressBarOutput(): string
100 {
101 $progressBar = new ProgressBar(
102 [
103 'ids' => $this->ids,
104 'tags' => $this->tags,
105 'categories' => $this->categories,
106 'goal' => $this->goal,
107 'enddate' => $this->enddate,
108 'color' => $this->color,
109 ]
110 );
111
112 return $progressBar->getOutput();
113 }
114
115 /**
116 * Get template path for Multi-Form Goal component template
117 * @since 2.9.0
118 **/
119 public function getTemplatePath()
120 {
121 return GIVE_PLUGIN_DIR . '/src/MultiFormGoals/resources/views/multiformgoal.php';
122 }
123
124 /**
125 * @since 2.24.0
126 *
127 * @return false|mixed
128 */
129 public function getInnerBlocks()
130 {
131 return $this->innerBlocks;
132 }
133
134 }
135