/var/www/vhosts/ihelp.ro/ajutam.ro/wp-content/plugins/give/src/Receipt
NameSizeModeActions
DonationReceipt.php57100644editdlrm
LineItem.php9420644editdlrm
Receipt.php48600644editdlrm
Section.php58480644editdlrm
UpdateReceipt.php4450644editdlrm
Edit: /var/www/vhosts/ihelp.ro/ajutam.ro/wp-content/plugins/give/src/Receipt/Section.php (5848B)
id = $id; $this->label = $label; } /** * Get line items. * * @since 2.7.0 * @return LineItem[] */ public function getLineItems() { return $this->lineItems; } /** * Add detail group. * * @since 2.7.0 * * @param string $position Position can be set either "before" or "after" to insert line item at specific position. * @param string $lineItemId * * @param array $lineItem * * @return LineItem */ public function addLineItem($lineItem, $position = '', $lineItemId = '') { $this->validateLineItem($lineItem); $icon = isset($lineItem['icon']) ? $lineItem['icon'] : ''; $lineItemObj = new LineItem($lineItem['id'], $lineItem['label'], $lineItem['value'], $icon); if (isset($this->lineItems[$lineItemId]) && in_array($position, ['before', 'after'])) { // Insert line item at specific position. $tmp = []; $tmpIds = []; foreach ($this->lineItems as $id => $data) { if ('after' === $position) { $tmp[$id] = $data; $tmpIds[] = $id; } if ($id === $lineItemId) { $tmp[$lineItemObj->id] = $lineItemObj; $tmpIds[] = $lineItemObj->id; } if ('before' === $position) { $tmp[$id] = $data; $tmpIds[] = $id; } } $this->lineItems = $tmp; $this->lineItemIds = $tmpIds; } else { $this->lineItems[$lineItemObj->id] = $lineItemObj; $this->lineItemIds[] = $lineItemObj->id; } return $lineItemObj; } /** * Remove line item. * * @since 2.7.0 * * @param string $lineItemId * */ public function removeLineItem($lineItemId) { $this->offsetUnset($lineItemId); } /** * Validate line item. * * @since 2.7.0 * * @param array $array * */ protected function validateLineItem($array) { $required = ['id', 'label', 'value']; $array = array_filter($array); // Remove empty values. if (array_diff($required, array_keys($array))) { throw new InvalidArgumentException( esc_html__( 'Invalid receipt section line item. Please provide valid line item id, label, and value.', 'give' ) ); } } /** * Return current data. * * @since 2.7.0 * @return mixed */ public function current() { return $this->lineItems[$this->lineItemIds[$this->position]]; } /** * Update iterator position. * * @since 2.7.0 */ public function next() { ++$this->position; } /** * Return iterator position. * * @since 2.7.0 * @return int */ public function key() { return $this->position; } /** * Return whether or not valid array position. * * @since 2.7.0 * @return bool|void */ public function valid() { return isset($this->lineItemIds[$this->position]); } /** * Set iterator position to zero when rewind. * * @since 2.7.0 */ public function rewind() { $this->position = 0; } /** * Set line item. * * @since 2.7.0 * * @param array $value LineItem Data. * * @param string $offset LineItem ID. */ public function offsetSet($offset, $value) { $this->addLineItem($value); } /** * Return whether or not line item id exist in line. * * @since 2.7.0 * * @param string $offset LineItem ID. * * @return bool */ public function offsetExists($offset) { return isset($this->lineItems[$offset]); } /** * Remove line item from line. * * @since 2.7.0 * * @param string $offset LineItem ID. * */ public function offsetUnset($offset) { if ($this->offsetExists($offset)) { unset($this->lineItems[$offset]); $this->lineItemIds = array_keys($this->lineItems); } } /** * Get line item. * * @since 2.7.0 * * @param string $offset LineItem ID. * * @return LineItem|null */ public function offsetGet($offset) { return isset($this->lineItems[$offset]) ? $this->lineItems[$offset] : null; } }