PluginProbe
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler / 1.7.0
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler v1.7.0
1.7.0 1.6.6 1.6.5 1.6.4 1.6.3 1.6.2 1.6.1 1.6.0 1.5.4 1.5.5 1.5.3 1.5.2 1.5.1 1.5.0 1.4.2 1.4.1 1.4.0 1.3.28 1.3.27 1.3.26 1.3.25 1.3.23 1.3.22 1.3.21 1.3.20 All 50 releases
← All changes | app/Services/ShortCodeParser/ShortcodeParser.php +16 -0 1.3.23 → 1.7.0 View file →
@@ -3,8 +3,10 @@
3 3 namespace FluentCart\App\Services\ShortCodeParser;
4 4
5 5 use FluentCart\Api\StoreSettings;
6 6 use FluentCart\App\Helpers\Helper;
7 +use FluentCart\App\Models\Order;
8 +use FluentCart\App\Services\Payments\PaymentHelper;
7 9 use FluentCart\App\Services\Payments\PaymentReceipt;
8 10 use FluentCart\App\Services\WpMetaHelper;
9 11 use FluentCart\Framework\Support\Arr;
10 12
@@ -293,8 +295,22 @@
293 295 if (!empty($profilePage)) {
294 296 $parsedData[$placeholder] = "<a style='color: #017EF3; text-decoration: none;' href='" . "$profilePage#/order/" . Arr::get($order, 'uuid') . "'>" . Arr::get($order, 'id') . "</a>";
295 297 } else {
296 298 $parsedData[$placeholder] = Arr::get($order, 'id');
299 + }
300 + } elseif ($targetItem === 'payment_link') {
301 + $parsedData[$placeholder] = PaymentHelper::getCustomPaymentLink(Arr::get($order, 'uuid'));
302 + } elseif ($targetItem === 'review_url') {
303 + // Resolved here rather than through OrderParser: this
304 + // parser handles every order.* code itself and never
305 + // consults that class, so a methodMap entry alone would
306 + // render an empty string in a real email.
307 + $reviewHash = (string) Arr::get($order, 'uuid', '');
308 + if ($reviewHash !== '') {
309 + $parsedData[$placeholder] = Order::reviewUrlForHash($reviewHash);
310 + } else {
311 + $reviewOrder = Order::query()->find(Arr::get($order, 'id'));
312 + $parsedData[$placeholder] = $reviewOrder instanceof Order ? $reviewOrder->getOrderReviewUrl() : '';
297 313 }
298 314 } else if ($targetItem === 'total_amount') {
299 315 $parsedData[$placeholder] = Helper::toDecimal(Arr::get($order, 'total_amount'), false);
300 316 } elseif ($targetItem === 'total_paid') {