PluginProbe
ووسلام – همگام سازی ووکامرس و باسلام / trunk
ووسلام – همگام سازی ووکامرس و باسلام vtrunk
1.10.17 1.10.15 1.10.14 1.10.13 1.10.12 1.10.10 1.10.9 1.10.8 1.10.7 1.10.6 1.10.5 1.10.4 1.10.3 1.10.2 1.10.1 1.10.0 1.9.2 1.9.1 1.9.0 1.8.8 1.8.5 1.8.6 1.8.7 1.8.4 1.7.6 All 50 releases
sync-basalam / includes / Admin / Components / CommonComponents.php

CommonComponents.php in ووسلام – همگام سازی ووکامرس و باسلام trunk, at includes/Admin/Components/CommonComponents.php

115 lines 4.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace SyncBasalam\Admin\Components;
4
5 defined('ABSPATH') || exit;
6
7 class CommonComponents
8 {
9 public static function renderIcon($icon)
10 {
11 return sprintf(
12 '<span class="dashicons %s basalom-icon-medium"></span>',
13 esc_attr($icon)
14 );
15 }
16
17 public static function renderInfoPopup($content, $unique_id = '')
18 {
19 $info_icon_url = syncBasalamPlugin()->assetsUrl() . "/icons/info-black.svg";
20 $modal_id = 'basalam-info-modal-' . $unique_id;
21
22 return sprintf(
23 '<div class="basalam-info-trigger" data-modal-id="%s">'
24 . '<img src="%s" alt="اطلاعات" class="basalam-info-icon" title="برای �
25 شاهده توضیحات کلیک کنید">'
26 . '</div>'
27 . '<div id="%s" class="basalam-info-modal basalam-modal-display-none">'
28 . '<div class="basalam-info-modal-overlay"></div>'
29 . '<div class="basalam-info-modal-content">'
30 . '<div class="basalam-info-modal-header">'
31 . '<h3 class="basalam-modal-header-text">راهن�
32 ا</h3>'
33 . '<span class="basalam-info-modal-close">&times;</span>'
34 . '</div>'
35 . '<div class="basalam-info-modal-body">%s</div>'
36 . '</div>'
37 . '</div>',
38 esc_attr($modal_id),
39 esc_url($info_icon_url),
40 esc_attr($modal_id),
41 esc_html($content)
42 );
43 }
44
45 public static function renderLabelWithTooltip($label_text, $tooltip_content, $position = 'top')
46 {
47 $unique_id = sanitize_title($label_text);
48
49 return sprintf(
50 '<div class="basalam-label-container">'
51 . '<label class="basalam-label">'
52 . '<span class="basalam-label-text">%s</span>'
53 . '%s'
54 . '</label>'
55 . '</div>',
56 esc_html($label_text),
57 self::renderInfoPopup($tooltip_content, $unique_id)
58 );
59 }
60
61 public static function renderBtn($text, $name, $product_id, $nonce_name, $ajax = false)
62 {
63 $nonce = wp_create_nonce($nonce_name);
64 $url = $ajax ? admin_url('admin-ajax.php') : admin_url('admin-post.php');
65 echo '<button class="basalam-button basalam-action-button basalam-p basalam-a"
66 data-url="' . esc_url($url) . '"
67 data-action="' . esc_attr($name) . '"
68 data-product-id="' . esc_attr($product_id) . '"
69 data-_wpnonce="' . esc_attr($nonce) . '">' . esc_html($text) . '</button>';
70 }
71
72 public static function renderLink($text, $link)
73 {
74 echo '<a href="' . esc_url($link) . '" target="_blank" class="basalam-button basalam-btn basalam-p basalam-a">' . esc_html($text) . '</a>';
75 }
76
77 public static function renderUnauthorizedError()
78 {
79 echo '<div class="basalam-container">
80 <div class="basalam-error-message">
81 <p class="basalam-p">دسترسی ش�
82 ا صحیح نیست، فرایند دریافت دسترسی را �
83 جددا انجا�
84 دهید و در صورت �
85 شکل با پشتیبانی ارتباط برقرار کنید.</p>
86 </div>
87 </div>';
88 }
89
90 public static function renderFaqByCategory($categories)
91 {
92 foreach ($categories as $category) {
93 $faqs = \SyncBasalam\Admin\Faq::getFaqByCategory($category);
94 if (empty($faqs)) {
95 continue;
96 }
97 echo '<div class="basalam-faq-category" data-category="' . esc_attr($category) . '">';
98 foreach ($faqs as $faq) {
99 echo '
100 <div class="basalam-faq-item">
101 <div class="basalam-faq-question">
102 <h3>' . esc_html($faq['question']) . '</h3>
103 <span class="basalam-faq-toggle">+</span>
104 </div>
105 <div class="basalam-faq-answer">
106 <p>' . esc_html($faq['answer']) . '</p>
107 </div>
108 </div>
109 ';
110 }
111 echo '</div>';
112 }
113 }
114 }
115