Changeset 3313192
- Timestamp:
- 06/17/2025 11:09:03 AM (8 months ago)
- Location:
- arukereso-for-woocommerce/trunk
- Files:
-
- 8 edited
-
includes/class-waruk_XMLGenerator.php (modified) (1 diff)
-
includes/class-waruk_adminDashboard.php (modified) (1 diff)
-
includes/class-waruk_feedGenerator.php (modified) (1 diff)
-
includes/class-waruk_trustedShop.php (modified) (1 diff)
-
includes/class-waruk_wcFields.php (modified) (1 diff)
-
includes/class-wc_productList.php (modified) (1 diff)
-
readme.txt (modified) (1 diff)
-
woo-arukereso.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
arukereso-for-woocommerce/trunk/includes/class-waruk_XMLGenerator.php
r2940021 r3313192 1 1 <?php 2 // Exit if accessed directly 3 if ( ! defined( 'ABSPATH' ) ) exit; 4 2 5 class waruk_xmlGenerator { 3 /* 4 * Legenerálja az Árukereső/Árgép/Olcsobbat xml kimenetet 5 */ 6 public function generateXmlHeaderForArukereso() { 6 /* 7 * Legenerálja az Árukereső/Árgép/Olcsobbat xml kimenetet 8 */ 9 public function generateXmlHeaderForArukereso() { 10 $xml = "<?xml version='1.0' encoding='UTF-8'?>"; 11 $xml .= "<products>\r\n"; 12 return $xml; 13 } 7 14 8 $xml ="<?xml version='1.0' encoding='UTF-8'?>"; 9 $xml .="<products>\r\n"; 10 return $xml; 15 public function generateProductXmlForArukereso ($product) { 16 $prod = ""; 17 $prod = "<product>\r\n"; 18 $prod .= "<identifier>" . esc_xml($product['id']) . "</identifier>\r\n"; 19 $prod .= "<name><![CDATA[" . strip_tags($product['title']) . "]]></name>\r\n"; 20 if (!empty($product['manufacturer'])) { 21 $prod .= "<manufacturer>" . esc_xml($product['manufacturer']) . "</manufacturer>\r\n"; 22 } 23 if (!empty($product['ean_code'])) { 24 $prod .= "<ean_code>" . esc_xml($product['ean_code']) . "</ean_code>\r\n"; 25 } 26 if (!empty($product['warranty'])) { 27 $prod .= "<warranty>" . esc_xml($product['warranty']) . "</warranty>\r\n"; 28 } 29 if (!empty($product['sku'])) { 30 $prod .= "<ProductNumber>" . esc_xml($product['sku']) . "</ProductNumber>\r\n"; 31 } 32 if (empty($product['sku']) && !empty($product['productnumber'])) { 33 $prod .= "<ProductNumber>" . esc_xml($product['productnumber']) . "</ProductNumber>\r\n"; 34 } 35 36 $prod .= "<category>" . esc_xml($product['category']) . "</category>\r\n"; 37 $prod .= "<price>" . esc_xml($product['price']) . "</price>\r\n"; 38 $prod .= "<net_price>" . esc_xml($product['net_price']) . "</net_price>\r\n"; 39 $prod .= "<product_url><![CDATA[" . esc_url($product['url']) . "]]></product_url>\r\n"; 40 if (!empty($product['kep'])) { 41 $prod .= "<image_url>" . esc_url($product['kep']) . "</image_url>\r\n"; 42 } 43 $prod .= "<description><![CDATA[" . strip_tags($product['excerpt']) . "]]></description>\r\n"; 44 $shipping_max_free = get_option('waruk_shipping_max_free'); 45 if ($shipping_max_free != "" && $shipping_max_free < $product['price'] ) { 46 $shipping_cost = "ingyenes"; 47 } else { 48 $shipping_cost = (get_option('waruk_shipping_cost') == 0 ? 'Ingyenes' : get_option('waruk_shipping_cost')); 49 } 50 $shipping_time = get_option('waruk_shipping_time'); 51 52 if (!empty($product['shipping_cost'])) { 53 $prod .= "<delivery_cost>" . esc_xml($product['shipping_cost']) . "</delivery_cost>\r\n"; 54 } 55 elseif (!empty($shipping_cost)){ 56 $prod .= "<delivery_cost>" . esc_xml($shipping_cost) . "</delivery_cost>\r\n"; 57 } 58 if (!empty($product['shipping_time'])) { 59 $prod .= "<delivery_time>" . esc_xml($product['shipping_time']) . "</delivery_time>\r\n"; 60 } 61 elseif (!empty($shipping_time)){ 62 $prod .= "<delivery_time>" . esc_xml(get_option('waruk_shipping_time')) . "</delivery_time>\r\n"; 63 } 64 if (count($product["attributes"]) > 0) { 65 foreach ($product["attributes"] as $attribute) { 66 $prod .= "<Attribute><Attribute_Name>" . esc_xml($attribute['name']) . "</Attribute_Name><Attribute_Value>" . esc_xml($attribute['value']) . "</Attribute_Value></Attribute>\r\n"; 67 } 68 } 69 $prod .= "</product>\r\n"; 70 return $prod; 11 71 } 12 public function generateProductXmlForArukereso ($product) { 13 $prod =""; 14 $prod ="<product>\r\n"; 15 $prod .="<identifier>".$product['id']."</identifier>\r\n"; 16 $prod .="<name><![CDATA[".strip_tags($product['title'])."]]></name>\r\n"; 17 if (!empty($product['manufacturer'])) { 18 $prod .="<manufacturer>".$product['manufacturer']."</manufacturer>\r\n"; 19 } 20 if (!empty($product['ean_code'])) { 21 $prod .="<ean_code>".$product['ean_code']."</ean_code>\r\n"; 22 } 23 if (!empty($product['warranty'])) { 24 $prod .="<warranty>".$product['warranty']."</warranty>\r\n"; 25 } 26 if (!empty($product['sku'])) { 27 $prod .="<ProductNumber>".$product['sku']."</ProductNumber>\r\n"; 72 73 public function generateXmlFooterForArukereso() { 74 $xml = "</products>"; 75 return $xml; 28 76 } 29 if (empty($product['sku']) &&!empty($product['productnumber'])) { 30 $prod .="<ProductNumber>".$product['productnumber']."</ProductNumber>\r\n"; 31 } 77 78 public function generateXmlHeaderForArgep() { 79 $xml = "<?xml version='1.0' encoding='UTF-8'?>"; 80 $xml .= "<termeklista>\r\n"; 81 return $xml; 82 } 83 84 public function generateProductXmlForArgep ($product) { 85 $prod = ""; 86 $prod = "<termek>\r\n"; 87 $prod .= "<cikkszam>" . esc_xml($product['id']) . "</cikkszam>\r\n"; 88 $prod .= "<nev><![CDATA[" . strip_tags($product['title']) . "]]></nev>\r\n"; 89 $prod .= "<ar>" . esc_xml($product['price']) . "</ar>\r\n"; 90 $prod .= "<termeklink><![CDATA[" . esc_url($product['url']) . "]]></termeklink>\r\n"; 91 if (!empty($product['kep'])) { 92 $prod .= "<fotolink><![CDATA[" . esc_url($product['kep']) . "]]></fotolink>\r\n"; 93 } 94 $prod .= "<leiras><![CDATA[" . strip_tags($product['excerpt']) . "]]></leiras>\r\n"; 95 $shipping_max_free = get_option('waruk_shipping_max_free'); 96 if ($shipping_max_free != "" && $shipping_max_free < $product['price'] ) { 97 $shipping_cost = "ingyenes"; 98 } else { 99 $shipping_cost = (get_option('waruk_shipping_cost') == 0 ? 'Ingyenes' : get_option('waruk_shipping_cost')); 100 } 101 $shipping_time = get_option('waruk_shipping_time'); 32 102 33 $prod .="<category>".$product['category']."</category>\r\n"; 34 $prod .="<price>".$product['price']."</price>\r\n"; 35 $prod .="<net_price>".$product['net_price']."</net_price>\r\n"; 36 $prod .="<product_url><![CDATA[".$product['url']."]]></product_url>\r\n"; 37 if (!empty($product['kep'])) { 38 $prod .="<image_url>".$product['kep']."</image_url>\r\n"; 39 } 40 $prod .="<description><![CDATA[".strip_tags($product['excerpt'])."]]></description>\r\n"; 41 $shipping_max_free =get_option('waruk_shipping_max_free'); 42 if ($shipping_max_free !="" &&$shipping_max_free <$product['price'] ) { 43 $shipping_cost ="ingyenes"; 44 } else { 45 $shipping_cost =(get_option('waruk_shipping_cost') ==0 ? 'Ingyenes' : get_option('waruk_shipping_cost'));; 46 } 47 $shipping_time =get_option('waruk_shipping_time'); 103 if (!empty($product['shipping_cost'])) { 104 $prod .= "<szallitas>" . esc_xml($product['shipping_cost']) . "</szallitas>\r\n"; 105 } 106 elseif (!empty($shipping_cost)){ 107 $prod .= "<szallitas>" . esc_xml($shipping_cost) . "</szallitas>\r\n"; 108 } 109 if (!empty($product['shipping_time'])) { 110 $prod .= "<ido>" . esc_xml($product['shipping_time']) . "</ido>\r\n"; 111 } 112 elseif (!empty($shipping_time)){ 113 $prod .= "<ido>" . esc_xml(get_option('waruk_shipping_time')) . "</ido>\r\n"; 114 } 48 115 49 if (!empty($product['shipping_cost'])) { 50 $prod .="<delivery_cost>".$product['shipping_cost']."</delivery_cost>\r\n"; 51 } 52 elseif (!empty($shipping_cost)){ 53 $prod .="<delivery_cost>".$shipping_cost."</delivery_cost>\r\n"; 54 } 55 if (!empty($product['shipping_time'])) { 56 $prod .="<delivery_time>".$product['shipping_time']."</delivery_time>\r\n"; 57 } 58 elseif (!empty($shipping_time)){ 59 $prod .="<delivery_time>".get_option('waruk_shipping_time')."</delivery_time>\r\n"; 60 } 61 if (count($product["attributes"]) >0) { 62 foreach ($product["attributes"] as $attribute) { 63 $prod .="<Attribute><Attribute_Name>".$attribute['name']."</Attribute_Name><Attribute_Value>".$attribute['value']."</Attribute_Value></Attribute>\r\n"; 116 $prod .= "</termek>\r\n"; 117 return $prod; 118 } 119 120 public function generateXmlFooterForArgep() { 121 $xml = "</termeklista>"; 122 return $xml; 123 } 124 125 public function generateXmlHeaderForOlcsobbat () { 126 $xml = "<?xml version='1.0' encoding='UTF-8'?>"; 127 $xml .= "<catalog>\r\n"; 128 return $xml; 129 } 130 131 public function generateProductXmlForOlcsobbat ($product) { 132 $prod = ""; 133 $prod = "<product>\r\n"; 134 $prod .= "<id>" . esc_xml($product['id']) . "</id>\r\n"; 135 $prod .= "<name><![CDATA[" . strip_tags($product['title']) . "]]></name>\r\n"; 136 if (!empty($product['manufacturer'])) { 137 $prod .= "<manufacturer>" . esc_xml($product['manufacturer']) . "</manufacturer>\r\n"; 64 138 } 139 if (!empty($product['ean_code'])) { 140 $prod .= '<barcodes><barcode type="ean-13"><![CDATA[' . esc_xml($product['ean_code']) . ']]></barcode></barcodes>'; 141 $prod.= "\r\n"; 142 } 143 if (!empty($product['warranty'])) { 144 $prod .= "<warranty>" . esc_xml($product['warranty']) . "</warranty>\r\n"; 145 } 146 if (!empty($product['productnumber'])) { 147 $prod .= "<itemid>" . esc_xml($product['productnumber']) . "</itemid>\r\n"; 148 } else { 149 if (!empty($product['sku'])) { 150 $prod .= "<itemid>" . esc_xml($product['sku']) . "</itemid>\r\n"; 151 } 152 } 153 if (!empty($product["stock"])) { 154 $prod .= "<stock>" . esc_xml($product['stock']) . "</stock>\r\n"; 155 } 156 $prod .= "<category>" . esc_xml(str_replace("->", "/", $product['category'])) . "</category>\r\n"; 157 $prod .= "<grossprice>" . esc_xml($product['price']) . "</grossprice>\r\n"; 158 $prod .= "<netprice>" . esc_xml($product['net_price']) . "</netprice>\r\n"; 159 $prod .= "<urlsite><![CDATA[" . esc_url($product['url']) . "]]></urlsite>\r\n"; 160 if (!empty($product['kep'])) { 161 $prod .= "<urlpicture>" . esc_url($product['kep']) . "</urlpicture>\r\n"; 162 } 163 $prod .= "<describe><![CDATA[" . strip_tags($product['excerpt']) . "]]></describe>\r\n"; 164 $shipping_max_free = get_option('waruk_shipping_max_free'); 165 if ($shipping_max_free != "" && $shipping_max_free < $product['price'] ) { 166 $shipping_cost = "ingyenes"; 167 } else { 168 $shipping_cost = (get_option('waruk_shipping_cost') == 0 ? 'Ingyenes' : get_option('waruk_shipping_cost')); 169 } 170 $shipping_time = get_option('waruk_shipping_time'); 171 172 if (!empty($product['shipping_cost'])) { 173 $prod .= "<deliveryprice>" . esc_xml($product['shipping_cost']) . "</deliveryprice>\r\n"; 174 } 175 elseif (!empty($shipping_cost)){ 176 $prod .= "<deliveryprice>" . esc_xml($shipping_cost) . "</deliveryprice>\r\n"; 177 } 178 if (!empty($product['shipping_time'])) { 179 $prod .= "<deliverytime>" . esc_xml($product['shipping_time']) . "</deliverytime>\r\n"; 180 } 181 elseif (!empty($shipping_time)){ 182 $prod .= "<deliverytime>" . esc_xml(get_option('waruk_shipping_time')) . "</deliverytime>\r\n"; 183 } 184 $prod .= "</product>\r\n"; 185 return $prod; 65 186 } 66 $prod .="</product>\r\n";67 return $prod;68 }69 public function generateXmlFooterForArukereso() {70 $xml ="</products>";71 return $xml;72 }73 public function generateXmlHeaderForArgep() {74 187 75 $xml ="<?xml version='1.0' encoding='UTF-8'?>"; 76 $xml .="<termeklista>\r\n"; 77 return $xml; 78 } 79 public function generateProductXmlForArgep ($product) { 80 $prod =""; 81 $prod ="<termek>\r\n"; 82 $prod .="<cikkszam>".$product['id']."</cikkszam>\r\n"; 83 $prod .="<nev><![CDATA[".$product['title']."]]></nev>\r\n"; 84 $prod .="<ar>".$product['price']."</ar>\r\n"; 85 $prod .="<termeklink><![CDATA[".$product['url']."]]></termeklink>\r\n"; 86 if (!empty($product['kep'])) { 87 $prod .="<fotolink><![CDATA[".$product['kep']."]]></fotolink>\r\n"; 88 } 89 $prod .="<leiras><![CDATA[".strip_tags($product['excerpt'])."]]></leiras>\r\n"; 90 if ($shipping_max_free !="" &&$shipping_max_free <$product['price'] ) { 91 $shipping_cost ="ingyenes"; 92 } else { 93 $shipping_cost =(get_option('waruk_shipping_cost') ==0 ? 'Ingyenes' : get_option('waruk_shipping_cost'));; 94 } 95 $shipping_time =get_option('waruk_shipping_time'); 96 97 if (!empty($product['shipping_cost'])) { 98 $prod .="<szallitas>".$product['shipping_cost']."</szallitas>\r\n"; 99 } 100 elseif (!empty($shipping_cost)){ 101 $prod .="<szallitas>".$shipping_cost."</szallitas>\r\n"; 102 } 103 if (!empty($product['shipping_time'])) { 104 $prod .="<ido>".$product['shipping_time']."</ido>\r\n"; 105 } 106 elseif (!empty($shipping_time)){ 107 $prod .="<ido>".get_option('waruk_shipping_time')."</ido>\r\n"; 108 } 109 110 $prod .="</termek>\r\n"; 111 return $prod; 112 } 113 public function generateXmlFooterForArgep() { 114 $xml ="</termeklista>"; 115 return $xml; 116 } 117 public function generateXmlHeaderForOlcsobbat () { 118 119 $xml ="<?xml version='1.0' encoding='UTF-8'?>"; 120 $xml .="<catalog>\r\n"; 121 return $xml; 122 } 123 public function generateProductXmlForOlcsobbat ($product) { 124 $prod =""; 125 $prod ="<product>\r\n"; 126 $prod .="<id>".$product['id']."</id>\r\n"; 127 $prod .="<name><![CDATA[".strip_tags($product['title'])."]]></name>\r\n"; 128 if (!empty($product['manufacturer'])) { 129 $prod .="<manufacturer>".$product['manufacturer']."</manufacturer>\r\n"; 130 } 131 if (!empty($product['ean_code'])) { 132 $prod .='<barcodes><barcode type="ean-13"><![CDATA['.$product['ean_code'].']]></barcode></barcodes>'; 133 $prod.="\r\n"; 134 } 135 if (!empty($product['warranty'])) { 136 $prod .="<warranty>".$product['warranty']."</warranty>\r\n"; 137 } 138 if (!empty($product['productnumber'])) { 139 $prod .="<itemid>".$product['productnumber']."</itemid>\r\n"; 140 } else { 141 if (!empty($product['sku'])) { 142 $prod .="<itemid>".$product['sku']."</itemid>\r\n"; 188 public function generateXmlFooterForOlcsobbat() { 189 $xml = "</catalog>"; 190 return $xml; 143 191 } 144 192 } 145 if (!empty($product["stock"])) {146 $prod .="<stock>".$product['stock']."</stock>\r\n";147 }148 $prod .="<category>".str_replace("->", "/", $product['category'])."</category>\r\n";149 $prod .="<grossprice>".$product['price']."</grossprice>\r\n";150 $prod .="<netprice>".$product['net_price']."</netprice>\r\n";151 $prod .="<urlsite><![CDATA[".$product['url']."]]></urlsite>\r\n";152 if (!empty($product['kep'])) {153 $prod .="<urlpicture>".$product['kep']."</urlpicture>\r\n";154 }155 $prod .="<describe><![CDATA[".strip_tags($product['excerpt'])."]]></describe>\r\n";156 $shipping_max_free =get_option('waruk_shipping_max_free');157 if ($shipping_max_free !="" &&$shipping_max_free <$product['price'] ) {158 $shipping_cost ="ingyenes";159 } else {160 $shipping_cost =(get_option('waruk_shipping_cost') ==0 ? 'Ingyenes' : get_option('waruk_shipping_cost'));;161 }162 $shipping_time =get_option('waruk_shipping_time');163 164 if (!empty($product['shipping_cost'])) {165 $prod .="<deliveryprice>".$product['shipping_cost']."</deliveryprice>\r\n";166 }167 elseif (!empty($shipping_cost)){168 $prod .="<deliveryprice>".$shipping_cost."</deliveryprice>\r\n";169 }170 if (!empty($product['shipping_time'])) {171 $prod .="<deliverytime>".$product['shipping_time']."</deliverytime>\r\n";172 }173 elseif (!empty($shipping_time)){174 $prod .="<deliverytime>".get_option('waruk_shipping_time')."</deliverytime>\r\n";175 }176 $prod .="</product>\r\n";177 return $prod;178 }179 public function generateXmlFooterForOlcsobbat() {180 $xml ="</catalog>";181 return $xml;182 }183 } -
arukereso-for-woocommerce/trunk/includes/class-waruk_adminDashboard.php
r2737049 r3313192 1 1 <?php 2 // Exit if accessed directly 3 if ( ! defined( 'ABSPATH' ) ) exit; 4 2 5 class waruk_adminDashboard { 3 function __construct() { 4 add_action( 'admin_menu', array($this, 'add_menu_page')); 5 add_action( 'admin_init', array($this, 'admin_init')); 6 add_action( 'admin_notices', array($this, 'waruk_demo_notice') ); 7 } 8 public function add_menu_page () { 9 add_options_page("Árukereső beállításai", "Árukereső", "manage_options", "arukereso", array($this, "settings_frontend")); 10 } 11 public function settings_frontend () { 6 function __construct() { 7 add_action( 'admin_menu', array($this, 'add_menu_page')); 8 add_action( 'admin_init', array($this, 'admin_init')); 9 add_action( 'admin_notices', array($this, 'waruk_demo_notice') ); 10 } 11 12 public function add_menu_page () { 13 add_options_page("Árukereső beállításai", "Árukereső", "manage_options", "arukereso", array($this, "settings_frontend")); 14 } 15 16 public function settings_frontend () { 12 17 ?> 13 <div class ="wrap"> 14 <h2>Árukereső és Árgép beállításai</h2> 15 <p>ahhoz, hogy megjelenjünk az Árukereső listájában, regisztrálni kell cégünket oldalukon. <a target ="_blank" href ="http://www.arukereso.hu/admin/">Bővebb információk a regisztráció menetéről</a> 16 <p>Árgéphez történő regisztrációhoz bővebb információk itt olvashatóak: <a target ="_blank" href ="http://www.argep.hu/content_reszvetel.html">Árgép vásárlói tájékoztató</a> 17 <p>Olcsobbathoz történő regisztrációhoz bővebb információk itt olvashatóak: <a target ="_blank" href ="https://partnerportal.olcsobbat.hu/static/erdeklodoknek">Olcsobbat vásárlói tájékoztató</a> 18 <p>Sikeres regisztráció után meg kell adnunk azt az url-t, ahol a termékeink elérhetőek. Ez az alábbi cím: 19 <p>Árukereső: 20 <?php 21 echo get_feed_link("arukereso"); 22 ?> 23 <p>Árgép: 24 <?php 25 echo get_feed_link("argep"); 26 ?> 27 <p>Olcsobbat: 28 <?php 29 echo get_feed_link("olcsobbat"); 30 ?> 31 <form method="post" action="admin-post.php"> 18 <div class="wrap"> 19 <h2><?php esc_html_e('Árukereső és Árgép beállításai', 'woo-arukereso'); ?></h2> 20 <p><?php esc_html_e('Ahhoz, hogy megjelenjünk az Árukereső listájában, regisztrálni kell cégünket oldalukon.', 'woo-arukereso'); ?> 21 <a target="_blank" href="http://www.arukereso.hu/admin/"><?php esc_html_e('Bővebb információk a regisztráció menetéről', 'woo-arukereso'); ?></a></p> 22 23 <p><?php esc_html_e('Árgéphez történő regisztrációhoz bővebb információk itt olvashatóak:', 'woo-arukereso'); ?> 24 <a target="_blank" href="http://www.argep.hu/content_reszvetel.html"><?php esc_html_e('Árgép vásárlói tájékoztató', 'woo-arukereso'); ?></a></p> 25 26 <p><?php esc_html_e('Olcsobbathoz történő regisztrációhoz bővebb információk itt olvashatóak:', 'woo-arukereso'); ?> 27 <a target="_blank" href="https://partnerportal.olcsobbat.hu/static/erdeklodoknek"><?php esc_html_e('Olcsobbat vásárlói tájékoztató', 'woo-arukereso'); ?></a></p> 28 29 <p><?php esc_html_e('Sikeres regisztráció után meg kell adnunk azt az url-t, ahol a termékeink elérhetőek. Ez az alábbi cím:', 'woo-arukereso'); ?></p> 30 31 <p><?php esc_html_e('Árukereső:', 'woo-arukereso'); ?> 32 <?php echo esc_url( get_feed_link("arukereso") ); ?></p> 33 34 <p><?php esc_html_e('Árgép:', 'woo-arukereso'); ?> 35 <?php echo esc_url( get_feed_link("argep") ); ?></p> 36 37 <p><?php esc_html_e('Olcsobbat:', 'woo-arukereso'); ?> 38 <?php echo esc_url( get_feed_link("olcsobbat") ); ?></p> 39 40 <form method="post" action="admin-post.php"> 32 41 <input type="hidden" name="action" value="save_waruk_options" /> 33 <?php wp_nonce_field( 'Waruk' ); ?>42 <?php wp_nonce_field( 'Waruk' ); ?> 34 43 35 44 <table class="form-table"> 36 45 <tr valign="top"> 37 <th scope="row"><label for ="waruk_hide_default">Összes termék alapértelmezett kizárása az Árukereső xml feed-ből</label></th> 38 <td><input type="checkbox" name="waruk_hide_default" id ="waruk_hide_default" value="1" <?php print ( get_option('waruk_hide_default') ==1 ? "checked" : "");?> /></td> 39 </tr> 40 <tr valign="top"> 41 <th scope="row"><label for ="waruk_shipping_cost">Alapértelmezett szállítási költség</label></th> 42 <td><input type="text" name="waruk_shipping_cost" id ="waruk_shipping_cost" value="<?php echo esc_attr( get_option('waruk_shipping_cost') );?>" /></td> 43 </tr> 44 <tr valign="top"> 45 <th scope="row"><label for ="waruk_shipping_time">Alapértelmezett szállítási idő (napokban megadva)</label></th> 46 <td><input type="text" name="waruk_shipping_time" id ="waruk_shipping_time" value="<?php echo esc_attr( get_option('waruk_shipping_time') );?>" /></td> 47 </tr> 48 <tr valign="top"> 49 <th scope="row"><label for ="waruk_shipping_max_free">Összeghatár fölötti kiszállítás ingyenes</label></th> 50 <td><input type="text" name="waruk_shipping_max_free" id ="waruk_shipping_max_free" value="<?php echo esc_attr( get_option('waruk_shipping_max_free') );?>" /></td> 51 </tr> 52 <tr valign="top"> 53 <th scope="row"><label for ="waruk_webapikey"><?php _e("Árukereső Web API kulcs (megbízható bolt program használata esetén)", "woo-arukereso");?></label></th> 54 <td><input type="text" name="waruk_webapikey" id ="waruk_webapikey" value="<?php echo esc_attr( get_option('waruk_webapikey') );?>" /></td> 55 </tr> 56 </table> 57 <?php submit_button();?> 58 </form> 46 <th scope="row"><label for="waruk_hide_default"><?php esc_html_e('Összes termék alapértelmezett kizárása az Árukereső xml feed-ből', 'woo-arukereso'); ?></label></th> 47 <td><input type="checkbox" name="waruk_hide_default" id="waruk_hide_default" value="1" <?php checked( get_option('waruk_hide_default'), 1 ); ?> /></td> 48 </tr> 49 <tr valign="top"> 50 <th scope="row"><label for="waruk_shipping_cost"><?php esc_html_e('Alapértelmezett szállítási költség', 'woo-arukereso'); ?></label></th> 51 <td><input type="text" name="waruk_shipping_cost" id="waruk_shipping_cost" value="<?php echo esc_attr( get_option('waruk_shipping_cost') ); ?>" /></td> 52 </tr> 53 <tr valign="top"> 54 <th scope="row"><label for="waruk_shipping_time"><?php esc_html_e('Alapértelmezett szállítási idő (napokban megadva)', 'woo-arukereso'); ?></label></th> 55 <td><input type="text" name="waruk_shipping_time" id="waruk_shipping_time" value="<?php echo esc_attr( get_option('waruk_shipping_time') ); ?>" /></td> 56 </tr> 57 <tr valign="top"> 58 <th scope="row"><label for="waruk_shipping_max_free"><?php esc_html_e('Összeghatár fölötti kiszállítás ingyenes', 'woo-arukereso'); ?></label></th> 59 <td><input type="text" name="waruk_shipping_max_free" id="waruk_shipping_max_free" value="<?php echo esc_attr( get_option('waruk_shipping_max_free') ); ?>" /></td> 60 </tr> 61 <tr valign="top"> 62 <th scope="row"><label for="waruk_webapikey"><?php esc_html_e("Árukereső Web API kulcs (megbízható bolt program használata esetén)", "woo-arukereso"); ?></label></th> 63 <td><input type="text" name="waruk_webapikey" id="waruk_webapikey" value="<?php echo esc_attr( get_option('waruk_webapikey') ); ?>" /></td> 64 </tr> 65 </table> 66 <?php submit_button(); ?> 67 </form> 68 </div> 59 69 <?php 60 print "</div>"; 61 } 62 public function admin_init() { 63 add_action( 'admin_post_save_waruk_options', array($this, 'process_waruk_options')); 70 } 71 72 public function admin_init() { 73 add_action( 'admin_post_save_waruk_options', array($this, 'process_waruk_options')); 74 } 75 76 public function process_waruk_options() { 77 if ( !current_user_can( 'manage_options' ) ) { 78 wp_die( 'Not allowed' ); 79 } 80 81 check_admin_referer( 'Waruk' ); 82 83 // Sanitize and validate all POST data 84 $waruk_hide_default = isset($_POST["waruk_hide_default"]) ? sanitize_text_field($_POST["waruk_hide_default"]) : ""; 85 $waruk_shipping_cost = isset($_POST["waruk_shipping_cost"]) ? sanitize_text_field($_POST["waruk_shipping_cost"]) : ""; 86 $waruk_shipping_time = isset($_POST["waruk_shipping_time"]) ? sanitize_text_field($_POST["waruk_shipping_time"]) : ""; 87 $waruk_shipping_max_free = isset($_POST["waruk_shipping_max_free"]) ? sanitize_text_field($_POST["waruk_shipping_max_free"]) : ""; 88 $waruk_webapikey = isset($_POST["waruk_webapikey"]) ? sanitize_text_field($_POST["waruk_webapikey"]) : ""; 89 90 // Additional validation 91 if (!empty($waruk_shipping_cost) && !is_numeric($waruk_shipping_cost)) { 92 wp_die( 'Invalid shipping cost value' ); 93 } 94 95 if (!empty($waruk_shipping_time) && !is_numeric($waruk_shipping_time)) { 96 wp_die( 'Invalid shipping time value' ); 97 } 98 99 if (!empty($waruk_shipping_max_free) && !is_numeric($waruk_shipping_max_free)) { 100 wp_die( 'Invalid free shipping threshold value' ); 101 } 102 103 // Update options with sanitized data 104 update_option("waruk_hide_default", $waruk_hide_default); 105 update_option("waruk_shipping_cost", $waruk_shipping_cost); 106 update_option("waruk_shipping_time", $waruk_shipping_time); 107 update_option("waruk_shipping_max_free", $waruk_shipping_max_free); 108 update_option('waruk_webapikey', $waruk_webapikey); 109 110 wp_redirect( add_query_arg( 'page', 'arukereso', admin_url( 'options-general.php' ) ) ); 111 exit; 112 } 113 114 public function waruk_demo_notice() { 115 echo '<div class="error notice"><p>' . 116 esc_html__('Jelenleg az Árukereső for WooCommerce ingyenes verzióját használjuk, ami csak az első 50 egyszerű típusú terméket adja át az Árukeresőnek. Amennyiben többet szeretnénk, nézzük meg a ', 'woo-arukereso') . 117 '<a target="_blank" href="https://bitron.hu/arukereso-for-woocommerce/">' . 118 esc_html__('Prémium verzió lehetőségeit!', 'woo-arukereso') . 119 '</a></p></div>'; 120 } 64 121 } 65 public function process_waruk_options (){ 66 if ( !current_user_can( 'manage_options' ) ) { 67 wp_die( 'Not allowed' ); 68 } 69 check_admin_referer( 'Waruk' ); 70 update_option("waruk_hide_default", (isset($_POST["waruk_hide_default"]) ? sanitize_text_field($_POST["waruk_hide_default"]) :"")); 71 update_option("waruk_shipping_cost", sanitize_text_field($_POST["waruk_shipping_cost"])); 72 update_option("waruk_shipping_time", sanitize_text_field($_POST["waruk_shipping_time"])); 73 update_option("waruk_shipping_max_free", sanitize_text_field($_POST["waruk_shipping_max_free"])); 74 update_option('waruk_webapikey', $_POST["waruk_webapikey"]); 75 wp_redirect( add_query_arg( 'page', 'arukereso', admin_url( 'options-general.php' ) ) ); 76 } 77 public function waruk_demo_notice() { 78 print ' <div class="error notice">Jelenleg az Árukereső for WooCommerce ingyenes verzióját használjuk, ami csak az első 50 egyszerű típusú terméket adja át az Árukeresőnek. Amennyiben többet szeretnénk, nézzük meg a <a target ="_blank" href ="https://bitron.hu/arukereso-for-woocommerce/">Prémium verzió lehetőségeit!</a></div>'; 79 } 80 } 122 81 123 new waruk_adminDashboard(); -
arukereso-for-woocommerce/trunk/includes/class-waruk_feedGenerator.php
r2925236 r3313192 1 1 <?php 2 // Exit if accessed directly 3 if ( ! defined( 'ABSPATH' ) ) exit; 4 2 5 class waruk_feedGenerator { 3 public function __construct() { 4 add_filter('init', array($this, 'customRSS')); 5 } 6 public function __construct() { 7 add_filter('init', array($this, 'customRSS')); 8 } 9 6 10 public function customRSS() { 7 if (!is_feed("arukereso")){8 add_feed('arukereso', array($this, 'generateArukeresoXml'));11 if (!is_feed("arukereso")) { 12 add_feed('arukereso', array($this, 'generateArukeresoXml')); 9 13 } 10 if (!is_feed("argep")) {11 add_feed('argep', array($this, 'generateArgepXml'));12 }13 if (!is_feed("olcsobbat")){14 add_feed('olcsobbat', array($this, 'generateOlcsobbatXml'));15 }14 if (!is_feed("argep")) { 15 add_feed('argep', array($this, 'generateArgepXml')); 16 } 17 if (!is_feed("olcsobbat")) { 18 add_feed('olcsobbat', array($this, 'generateOlcsobbatXml')); 19 } 16 20 global $wp_rewrite; 17 21 $wp_rewrite->flush_rules(); 18 22 } 23 19 24 public function generateArukeresoXml() { 20 header("Content-type: text/xml ");21 $xmlGenerator =new waruk_xmlGenerator();25 header("Content-type: text/xml; charset=UTF-8"); 26 $xmlGenerator = new waruk_xmlGenerator(); 22 27 echo $xmlGenerator->generateXmlHeaderForArukereso(); 23 $productList =new waruk_wc_productList();24 $products = $productList->getProductList();25 $free = 0;26 foreach ($products as $product) {27 $product_data =$productList->getProductData($product);28 if ($free <50 &&count($product_data) >0) {29 foreach ($product_data as $prod) {28 $productList = new waruk_wc_productList(); 29 $products = $productList->getProductList(); 30 $free = 0; 31 foreach ($products as $product) { 32 $product_data = $productList->getProductData($product); 33 if ($free < 50 && count($product_data) > 0) { 34 foreach ($product_data as $prod) { 30 35 echo $xmlGenerator->generateProductXmlForArukereso($prod); 31 } 32 $free++; 33 } 34 } 35 echo $xmlGenerator->generateXmlFooterForArukereso(); 36 } 37 $free++; 38 } 36 39 } 37 // 38 public function generateArgepXml() { 39 header("Content-type: text/xml"); 40 $xmlGenerator =new waruk_xmlGenerator(); 40 echo $xmlGenerator->generateXmlFooterForArukereso(); 41 exit; 42 } 43 44 public function generateArgepXml() { 45 header("Content-type: text/xml; charset=UTF-8"); 46 $xmlGenerator = new waruk_xmlGenerator(); 41 47 echo $xmlGenerator->generateXmlHeaderForArgep(); 42 $productList =new waruk_wc_productList();43 $products = $productList->getProductList();44 $free = 0;45 foreach ($products as $product) {46 $product_data =$productList->getProductData($product);47 if ($free <50 &&count($product_data) >0) {48 foreach ($product_data as $prod) {48 $productList = new waruk_wc_productList(); 49 $products = $productList->getProductList(); 50 $free = 0; 51 foreach ($products as $product) { 52 $product_data = $productList->getProductData($product); 53 if ($free < 50 && count($product_data) > 0) { 54 foreach ($product_data as $prod) { 49 55 echo $xmlGenerator->generateProductXmlForArgep($prod); 50 } 51 $free++; 52 } 53 } 54 echo $xmlGenerator->generateXmlFooterForArgep(); 55 } 56 public function generateOlcsobbatXml() { 57 header("Content-type: text/xml"); 58 $xmlGenerator =new waruk_xmlGenerator(); 56 } 57 $free++; 58 } 59 } 60 echo $xmlGenerator->generateXmlFooterForArgep(); 61 exit; 62 } 63 64 public function generateOlcsobbatXml() { 65 header("Content-type: text/xml; charset=UTF-8"); 66 $xmlGenerator = new waruk_xmlGenerator(); 59 67 echo $xmlGenerator->generateXmlHeaderForOlcsobbat(); 60 $productList =new waruk_wc_productList();61 $products = $productList->getProductList();62 $free = 0;63 foreach ($products as $product) {64 $product_data =$productList->getProductData($product);65 if ($free <50 &&count($product_data) >0) {66 foreach ($product_data as $prod) {68 $productList = new waruk_wc_productList(); 69 $products = $productList->getProductList(); 70 $free = 0; 71 foreach ($products as $product) { 72 $product_data = $productList->getProductData($product); 73 if ($free < 50 && count($product_data) > 0) { 74 foreach ($product_data as $prod) { 67 75 echo $xmlGenerator->generateProductXmlForOlcsobbat($prod); 68 }69 $free++;70 }71 }72 echo $xmlGenerator->generateXmlFooterForOlcsobbat();73 }74 76 } 77 $free++; 78 } 79 } 80 echo $xmlGenerator->generateXmlFooterForOlcsobbat(); 81 exit; 82 } 75 83 } 84 76 85 new waruk_feedGenerator(); -
arukereso-for-woocommerce/trunk/includes/class-waruk_trustedShop.php
r2737049 r3313192 1 1 <?php 2 // Exit if accessed directly 3 if ( ! defined( 'ABSPATH' ) ) exit; 4 2 5 class waruk_trustedShop { 3 private $trusted; 4 private $comments; 5 function __construct() { 6 $key =get_option('waruk_webapikey'); 7 $this->comments =str_replace("\\", "", get_option("waruk_comments")); 8 if (!empty($key) &&!class_exists("Wc_Arukereso_Megbizthato_Bolt")) { 9 require __DIR__.'/../lib/TrustedShop.php'; 10 $this->trusted =new TrustedShop($key); 11 add_action( 'woocommerce_thankyou', array($this, 'waruk_generate_trusted_code')); 12 } 13 if (!empty($this->comments)) { 14 add_action('wp_footer', array($this, 'insert_comment')); 6 private $trusted; 7 private $comments; 8 9 function __construct() { 10 $key = get_option('waruk_webapikey'); 11 $this->comments = str_replace("\\", "", get_option("waruk_comments")); 12 if (!empty($key) && !class_exists("Wc_Arukereso_Megbizthato_Bolt")) { 13 require __DIR__.'/../lib/TrustedShop.php'; 14 $this->trusted = new TrustedShop($key); 15 add_action( 'woocommerce_thankyou', array($this, 'waruk_generate_trusted_code')); 16 } 17 } 18 19 public function waruk_generate_trusted_code($order_id) { 20 $order = new WC_Order($order_id); 21 try { 22 $this->trusted->SetEmail($order->get_billing_email()); 23 foreach( $order->get_items() as $item ) { 24 $this->trusted->AddProduct(htmlspecialchars($item->get_name())); 25 } 26 $js_code = $this->trusted->Prepare(); 27 echo $js_code; 28 } catch (Exception $Ex) { 29 $ErrorMessage = $Ex->getMessage(); 30 echo esc_html("Hiba: " . $ErrorMessage); 31 } 15 32 } 16 } 17 private function getComments() { 18 return $this->comments; 33 19 34 } 20 public function waruk_generate_trusted_code($order_id) { 21 $order = new WC_Order($order_id); 22 try { 23 $this->trusted->SetEmail($order->get_billing_email()); 24 foreach( $order->get_items() as $item ) { 25 $this->trusted->AddProduct(htmlspecialchars($item->get_name())); 26 } 27 echo $this->trusted->Prepare(); 28 } catch (Exception $Ex) { 29 $ErrorMessage = $Ex->getMessage(); 30 echo "hiba: ".$ErrorMessage; 31 } 32 } 33 public function insert_comment() { 34 echo $this->getComments(); 35 } 36 } 35 37 36 new waruk_trustedShop(); -
arukereso-for-woocommerce/trunk/includes/class-waruk_wcFields.php
r3025831 r3313192 1 1 <?php 2 // Exit if accessed directly 3 if ( ! defined( 'ABSPATH' ) ) exit; 4 2 5 class waruk_wcFields { 3 function __construct() { 4 //mezők hozzáadása a termék adatlaphoz 5 add_action( 'woocommerce_product_options_general_product_data', array($this, 'add_extra_fields')); 6 add_action( 'woocommerce_process_product_meta', array($this, 'save_fields')); 7 //Kategória átnevezése 8 add_action('product_cat_add_form_fields', array($this, 'add_category_field'), 10, 2); 9 add_action('product_cat_edit_form_fields', array($this, 'edit_category'), 10, 2); 10 11 add_action('edited_product_cat', array($this, 'save_category'), 10, 2); 12 add_action('create_product_cat', array($this, 'save_category'), 10, 2); 13 } 14 public function add_extra_fields() { 15 if (get_option('waruk_hide_default') !=1) { 16 woocommerce_wp_checkbox( array( 'id' => 'arukereso_hide', 'label' => 'A termék elrejtése az Árukereső xml-ből', 'description' => 'Ha be van pipálva, ez a termék nem lesz bent az árukereső xml-ben.' ) ); 17 } else { 18 woocommerce_wp_checkbox( array( 'id' => 'arukereso_show', 'label' => 'A termék megjelenítése az Árukereső számára', 'description' => 'Ha be van pipálva, a termék elérhető lesz az Árukereső számára.' ) ); 6 function __construct() { 7 //mezők hozzáadása a termék adatlaphoz 8 add_action( 'woocommerce_product_options_general_product_data', array($this, 'add_extra_fields')); 9 add_action( 'woocommerce_process_product_meta', array($this, 'save_fields')); 10 //Kategória átnevezése 11 add_action('product_cat_add_form_fields', array($this, 'add_category_field'), 10, 2); 12 add_action('product_cat_edit_form_fields', array($this, 'edit_category'), 10, 2); 13 add_action('edited_product_cat', array($this, 'save_category'), 10, 2); 14 add_action('create_product_cat', array($this, 'save_category'), 10, 2); 15 } 16 17 public function add_extra_fields() { 18 if (get_option('waruk_hide_default') != 1) { 19 woocommerce_wp_checkbox( array( 'id' => 'arukereso_hide', 'label' => 'A termék elrejtése az Árukereső xml-ből', 'description' => 'Ha be van pipálva, ez a termék nem lesz bent az árukereső xml-ben.' ) ); 20 } else { 21 woocommerce_wp_checkbox( array( 'id' => 'arukereso_show', 'label' => 'A termék megjelenítése az Árukereső számára', 'description' => 'Ha be van pipálva, a termék elérhető lesz az Árukereső számára.' ) ); 22 } 23 woocommerce_wp_text_input( 24 array( 25 'id' => 'waruk_prod_name', 26 'label' =>'Megjelenő terméknév az Árukeresőben', 27 'placeholder' => 'Akkor töltsük ki, ha termékünk neve eltér az Árukeresőben megjelenő névtől.', 28 'desc_tip' => 'true', 29 'description' => 'Akkor használjuk, ha egyedi terméknevet szeretnénk megadni az Árukereső számára' 30 ) 31 ); 32 woocommerce_wp_text_input( 33 array( 34 'id' => 'product_number', 35 'label' =>'A gyártó által megadott termékkód', 36 'desc_tip' => 'true', 37 'description' => 'A ProductNumber feltüntetése kötelező a terméklistában elektronikai, informatikai, háztartási cikkek esetében illetve azokban a kategóriákban, amelyekben termékkód alapján történik a feldolgozás.' 38 ) 39 ); 40 woocommerce_wp_text_input( 41 array( 42 'id' => 'manufacturer', 43 'label' =>'Termék gyártójának megnevezése', 44 'placeholder' => 'Termék gyártójának megnevezése', 45 'desc_tip' => 'true', 46 'description' => 'A termék gyártójának megnevezése (ha nem szerepel a termék névben)' 47 ) 48 ); 49 woocommerce_wp_text_input( 50 array( 51 'id' => 'ean_code', 52 'label' =>'Ean kód', 53 'placeholder' => 'gyártó által adott EAn kód', 54 'desc_tip' => 'true', 55 'description' => 'Min. 8 - max. 13 számjegyű gyártó által adott termékazonosító; egyedinek kell lennie. (European Article Number)' 56 ) 57 ); 58 woocommerce_wp_text_input( 59 array( 60 'id' => 'warranty', 61 'label' =>'Termék garancia', 62 'placeholder' => 'Termékhez járó garancia', 63 'desc_tip' => 'true', 64 'description' => 'GaranciaHossza = hónapok száma. Pl.: 12 (1 éves garancia esetében), 24 (2 éves garancia esetében)' 65 ) 66 ); 67 woocommerce_wp_text_input( 68 array( 69 'id' => 'shipping_time', 70 'label' =>'Termék kiszállítási ideje', 71 'placeholder' => 'Termék kiszállításának ideje', 72 'desc_tip' => 'true', 73 'description' => 'A termékhez tartozókiszállítási idő napban' 74 ) 75 ); 76 woocommerce_wp_text_input( 77 array( 78 'id' => 'shipping_cost', 79 'label' =>'Termék szállítási költsége', 80 'placeholder' => 'Termék szállítási költsége', 81 'desc_tip' => 'true', 82 'description' => 'A termékhez tartozó szálítási költség' 83 ) 84 ); 85 woocommerce_wp_text_input( 86 array( 87 'id' => 'woo_prod_category', 88 'label' =>'Terméknek megfelelő Árukereső kategória', 89 'placeholder' => 'Terméknek megfelelő Árukereső kategória', 90 'desc_tip' => 'true', 91 'description' => 'Amennyiben eltér weboldalunk kategória megnevezése az Árukeresőjétől, itt írhatjuk felül' 92 ) 93 ); 94 } 95 96 public function save_fields($post_id) { 97 $aruk_hide = isset($_POST["arukereso_hide"]) ? sanitize_text_field($_POST["arukereso_hide"]) : ''; 98 update_post_meta( $post_id, 'arukereso_hide', $aruk_hide ); 99 100 $aruk_show = isset($_POST["arukereso_show"]) ? sanitize_text_field($_POST["arukereso_show"]) : ''; 101 update_post_meta( $post_id, 'arukereso_show', $aruk_show ); 102 103 $waruk_prod_name = isset($_POST["waruk_prod_name"]) ? sanitize_text_field($_POST["waruk_prod_name"]) : ''; 104 update_post_meta( $post_id, 'waruk_prod_name', $waruk_prod_name ); 105 106 $manufacturer = isset($_POST["manufacturer"]) ? sanitize_text_field($_POST["manufacturer"]) : ''; 107 update_post_meta( $post_id, 'manufacturer', $manufacturer ); 108 109 $product_number = isset($_POST["product_number"]) ? sanitize_text_field($_POST["product_number"]) : ''; 110 update_post_meta( $post_id, 'product_number', $product_number ); 111 112 $ean_code = isset($_POST["ean_code"]) ? sanitize_text_field($_POST["ean_code"]) : ''; 113 update_post_meta( $post_id, 'ean_code', $ean_code ); 114 115 $warranty = isset($_POST["warranty"]) ? sanitize_text_field($_POST["warranty"]) : ''; 116 update_post_meta( $post_id, 'warranty', $warranty ); 117 118 $shipping_cost = isset($_POST["shipping_cost"]) ? sanitize_text_field($_POST["shipping_cost"]) : ''; 119 update_post_meta( $post_id, 'shipping_cost', $shipping_cost ); 120 121 $shipping_time = isset($_POST["shipping_time"]) ? sanitize_text_field($_POST["shipping_time"]) : ''; 122 update_post_meta( $post_id, 'shipping_time', $shipping_time ); 123 124 $woo_prod_category = isset($_POST["woo_prod_category"]) ? sanitize_text_field($_POST["woo_prod_category"]) : ''; 125 update_post_meta( $post_id, 'woo_prod_category', $woo_prod_category ); 126 } 127 128 public function add_category_field() { 129 ?> 130 <div class="form-field"> 131 <label for="term_meta[waruk_category]"><?php esc_html_e('Kategória neve az Árukeresőben', 'waruk'); ?></label> 132 <input type="text" name="term_meta[waruk_category]" id="term_meta[waruk_category]"> 133 <p class="description"><?php esc_html_e('Amenyiben kategóriánk neve eltér az Árukeresőben elvárttól, itt adhatunk neki eltérő nevet. Ez csak az Árukereső számára fog megjelenni.', 'waruk'); ?></p> 134 </div> 135 <?php 136 } 137 138 public function edit_category ($term) { 139 $term_id = $term->term_id; 140 // retrieve the existing value(s) for this meta field. This returns an array 141 $term_meta = get_option("taxonomy_" . $term_id); 142 ?> 143 <tr class="form-field"> 144 <th scope="row" valign="top"><label for="term_meta[waruk_category]"><?php esc_html_e('Kategória neve az Árukeresőben', 'waruk'); ?></label></th> 145 <td> 146 <input type="text" name="term_meta[waruk_category]" id="term_meta[waruk_category]" value="<?php echo (isset($term_meta['waruk_category']) ? esc_attr($term_meta['waruk_category']) : ''); ?>"> 147 <p class="description"><?php esc_html_e('Amenyiben kategóriánk neve eltér az Árukeresőben elvárttól, itt adhatunk neki eltérő nevet. Ez csak az Árukereső számára fog megjelenni.', 'waruk'); ?></p> 148 </td> 149 </tr> 150 <?php 151 } 152 153 function save_category ($term_id) { 154 if (isset($_POST['term_meta'])) { 155 $term_meta = get_option("taxonomy_" . $term_id); 156 $cat_keys = array_keys($_POST['term_meta']); 157 foreach ($cat_keys as $key) { 158 if (isset($_POST['term_meta'][$key])) { 159 $term_meta[$key] = sanitize_text_field($_POST['term_meta'][$key]); 19 160 } 20 woocommerce_wp_text_input( 21 array( 22 'id' => 'waruk_prod_name', 23 'label' =>'Megjelenő terméknév az Árukeresőben', 24 'placeholder' => 'Akkor töltsük ki, ha termékünk neve eltér az Árukeresőben megjelenő névtől.', 25 'desc_tip' => 'true', 26 'description' => 'Akkor használjuk, ha egyedi terméknevet szeretnénk megadni az Árukereső számára' 27 ) 28 ); 29 woocommerce_wp_text_input( 30 array( 31 'id' => 'product_number', 32 'label' =>'A gyártó által megadott termékkód', 33 'desc_tip' => 'true', 34 'description' => 'A ProductNumber feltüntetése kötelező a terméklistában elektronikai, informatikai, háztartási cikkek esetében illetve azokban a kategóriákban, amelyekben termékkód alapján történik a feldolgozás.' 35 ) 36 ); 37 woocommerce_wp_text_input( 38 array( 39 'id' => 'manufacturer', 40 'label' =>'Termék gyártójának megnevezése', 41 'placeholder' => 'Termék gyártójának megnevezése', 42 'desc_tip' => 'true', 43 'description' => 'A termék gyártójának megnevezése (ha nem szerepel a termék névben)' 44 ) 45 ); 46 woocommerce_wp_text_input( 47 array( 48 'id' => 'ean_code', 49 'label' =>'Ean kód', 50 'placeholder' => 'gyártó által adott EAn kód', 51 'desc_tip' => 'true', 52 'description' => 'Min. 8 - max. 13 számjegyű gyártó által adott termékazonosító; egyedinek kell lennie. (European Article Number)' 53 ) 54 ); 55 woocommerce_wp_text_input( 56 array( 57 'id' => 'warranty', 58 'label' =>'Termék garancia', 59 'placeholder' => 'Termékhez járó garancia', 60 'desc_tip' => 'true', 61 'description' => 'GaranciaHossza = hónapok száma. Pl.: 12 (1 éves garancia esetében), 24 (2 éves garancia esetében)' 62 ) 63 ); 64 woocommerce_wp_text_input( 65 array( 66 'id' => 'shipping_time', 67 'label' =>'Termék kiszállítási ideje', 68 'placeholder' => 'Termék kiszállításának ideje', 69 'desc_tip' => 'true', 70 'description' => 'A termékhez tartozókiszállítási idő napban' 71 ) 72 ); 73 woocommerce_wp_text_input( 74 array( 75 'id' => 'shipping_cost', 76 'label' =>'Termék szállítási költsége', 77 'placeholder' => 'Termék szállítási költsége', 78 'desc_tip' => 'true', 79 'description' => 'A termékhez tartozó szálítási költség' 80 ) 81 ); 82 woocommerce_wp_text_input( 83 array( 84 'id' => 'woo_prod_category', 85 'label' =>'Terméknek megfelelő Árukereső kategória', 86 'placeholder' => 'Terméknek megfelelő Árukereső kategória', 87 'desc_tip' => 'true', 88 'description' => 'Amennyiben eltér weboldalunk kategória megnevezése az Árukeresőjétől, itt írhatjuk felül' 89 ) 90 ); 91 } 92 public function save_fields($post_id) { 93 $aruk_hide =$_POST["arukereso_hide"]; 94 update_post_meta( $post_id, 'arukereso_hide', esc_attr( $aruk_hide ) ); 95 $aruk_show =$_POST["arukereso_show"]; 96 update_post_meta( $post_id, 'arukereso_show', esc_attr( $aruk_show ) ); 97 update_post_meta( $post_id, 'waruk_prod_name', esc_attr( $_POST["waruk_prod_name"] ) ); 98 update_post_meta( $post_id, 'manufacturer', esc_attr( $_POST["manufacturer"] ) ); 99 update_post_meta( $post_id, 'product_number', esc_attr( $_POST["product_number"] ) ); 100 update_post_meta( $post_id, 'ean_code', esc_attr( $_POST["ean_code"] ) ); 101 update_post_meta( $post_id, 'warranty', esc_attr( $_POST["warranty"] ) ); 102 update_post_meta( $post_id, 'shipping_cost', esc_attr( $_POST["shipping_cost"] ) ); 103 update_post_meta( $post_id, 'shipping_time', esc_attr( $_POST["shipping_time"] ) ); 104 update_post_meta( $post_id, 'woo_prod_category', esc_attr( $_POST["woo_prod_category"] ) ); 105 } 106 107 public function add_category_field() { 108 ?> 109 <div class="form-field"> 110 <label for="term_meta[waruk_category]"><?php _e('Kategória neve az Árukeresőben', 'waruk'); ?></label> 111 <input type="text" name="term_meta[waruk_category]" id="term_meta[waruk_category]"> 112 <p class="description"><?php _e('Amenyiben kategóriánk neve eltér az Árukeresőben elvárttól, itt adhatunk neki eltérő nevet. Ez csak az Árukereső számára fog megjelenni.', 'waruk'); ?></p> 113 </div> 114 <?php 161 } 162 // Save the option array. 163 update_option("taxonomy_" . $term_id, $term_meta); 164 } 165 } 166 } 115 167 116 }117 public function edit_category ($term) {118 $term_id = $term->term_id;119 120 // retrieve the existing value(s) for this meta field. This returns an array121 $term_meta = get_option("taxonomy_" . $term_id);122 ?>123 <tr class="form-field">124 <th scope="row" valign="top"><label for="term_meta[waruk_category]"><?php _e('Kategória neve az Árukeresőben', 'waruk'); ?></label></th>125 <td>126 <input type="text" name="term_meta[waruk_category]" id="term_meta[waruk_category]" value="<?php echo (isset($term_meta['waruk_category']) ? esc_attr($term_meta['waruk_category']) : ''); ?>">127 <p class="description"><?php _e('Amenyiben kategóriánk neve eltér az Árukeresőben elvárttól, itt adhatunk neki eltérő nevet. Ez csak az Árukereső számára fog megjelenni.', 'waruk'); ?></p>128 </td>129 </tr>130 <?php131 }132 function save_category ($term_id) {133 if (isset($_POST['term_meta'])) {134 $term_meta = get_option("taxonomy_" . $term_id);135 $cat_keys = array_keys($_POST['term_meta']);136 foreach ($cat_keys as $key) {137 if (isset($_POST['term_meta'][$key])) {138 $term_meta[$key] = $_POST['term_meta'][$key];139 }140 }141 // Save the option array.142 update_option("taxonomy_" . $term_id, $term_meta);143 }144 }145 }146 168 new waruk_wcFields(); -
arukereso-for-woocommerce/trunk/includes/class-wc_productList.php
r3025831 r3313192 1 1 <?php 2 // Exit if accessed directly 3 if ( ! defined( 'ABSPATH' ) ) exit; 4 2 5 class waruk_wc_productList { 3 /*4 * Terméklistát kezelő osztály5 */6 /*7 * Összes termék id lekérdezése8 * return: array9 */10 public function getProductList() {11 $prodlist = array();12 $paged = 1;13 $posts_per_page = 10; // Kisebb oldalméret az erőforrások kezelése érdekében6 /* 7 * Terméklistát kezelő osztály 8 */ 9 /* 10 * Összes termék id lekérdezése 11 * return: array 12 */ 13 public function getProductList() { 14 $prodlist = array(); 15 $paged = 1; 16 $posts_per_page = 10; // Kisebb oldalméret az erőforrások kezelése érdekében 14 17 15 while (count($prodlist) < 50) {16 $args = array(17 'post_type' => 'product',18 'posts_per_page' => $posts_per_page,19 'paged' => $paged,20 'post_status' => 'publish'21 );18 while (count($prodlist) < 50) { 19 $args = array( 20 'post_type' => 'product', 21 'posts_per_page' => $posts_per_page, 22 'paged' => $paged, 23 'post_status' => 'publish' 24 ); 22 25 23 $products = new WP_Query($args);26 $products = new WP_Query($args); 24 27 25 if (!$products->have_posts()) {26 break; // Ha nincs több termék, kilépünk a ciklusból27 }28 if (!$products->have_posts()) { 29 break; // Ha nincs több termék, kilépünk a ciklusból 30 } 28 31 29 while ($products->have_posts()) {30 $products->the_post();31 $product = wc_get_product(get_the_ID());32 if ($product && $product->is_type('simple') && count($prodlist) < 50 &&$this->isProductAllowed(get_the_ID())) {33 $prodlist[] = $product->get_id();34 }35 }32 while ($products->have_posts()) { 33 $products->the_post(); 34 $product = wc_get_product(get_the_ID()); 35 if ($product && $product->is_type('simple') && count($prodlist) < 50 && $this->isProductAllowed(get_the_ID())) { 36 $prodlist[] = $product->get_id(); 37 } 38 } 36 39 37 wp_reset_postdata();38 $paged++; // Növeljük az oldalszámot a következő lekérdezéshez39 }40 wp_reset_postdata(); 41 $paged++; // Növeljük az oldalszámot a következő lekérdezéshez 42 } 40 43 41 return $prodlist;42 }44 return $prodlist; 45 } 43 46 44 public function isProductAllowed($id) {45 // Először ellenőrizze a termék beállításait46 if (get_option('waruk_hide_default') != 1) {47 if (get_post_meta($id, 'arukereso_hide', true) != 'yes') {48 // Itt ellenőrizzük a készletet49 return $this->checkProductStock($id);50 } else {51 return false;52 }53 } else {54 if (get_post_meta($id, 'arukereso_show', true) != 'yes') {55 return false;56 } else {57 // Itt is ellenőrizzük a készletet58 return $this->checkProductStock($id);59 }60 }61 }47 public function isProductAllowed($id) { 48 // Először ellenőrizze a termék beállításait 49 if (get_option('waruk_hide_default') != 1) { 50 if (get_post_meta($id, 'arukereso_hide', true) != 'yes') { 51 // Itt ellenőrizzük a készletet 52 return $this->checkProductStock($id); 53 } else { 54 return false; 55 } 56 } else { 57 if (get_post_meta($id, 'arukereso_show', true) != 'yes') { 58 return false; 59 } else { 60 // Itt is ellenőrizzük a készletet 61 return $this->checkProductStock($id); 62 } 63 } 64 } 62 65 63 private function checkProductStock($id) {64 $product = wc_get_product($id);65 if (!$product || !$product->managing_stock()) {66 // Ha nincs készletkezelés, vagy a termék nem létezik67 return true;68 }69 return $product->is_in_stock();70 }66 private function checkProductStock($id) { 67 $product = wc_get_product($id); 68 if (!$product || !$product->managing_stock()) { 69 // Ha nincs készletkezelés, vagy a termék nem létezik 70 return true; 71 } 72 return $product->is_in_stock(); 73 } 71 74 72 75 public function getCategoryList($id) { 73 $terms =get_the_terms($id, 'product_cat'); 74 $catlist =array(); 75 if (!is_array($terms)) { 76 return $catlist; // Üres tömböt ad vissza, ha nincsenek kategóriák 77 } 78 foreach ($terms as $term) { 79 if ($term->parent ==0) { 80 $catlist[$term->term_id][] =$term; 76 $terms = get_the_terms($id, 'product_cat'); 77 $catlist = array(); 78 if (!is_array($terms)) { 79 return $catlist; // Üres tömböt ad vissza, ha nincsenek kategóriák 80 } 81 foreach ($terms as $term) { 82 if ($term->parent == 0) { 83 $catlist[$term->term_id][] = $term; 84 } 85 } 86 foreach ($terms as $term) { 87 if ($term->parent != 0) { 88 $catlist[$term->parent][] = $term; 89 } 90 } 91 return $catlist; 81 92 } 93 94 public function getProductData ($id) { 95 $full_product_list = array(); 96 $product = wc_get_product($id); 97 if( $product->is_type( 'simple' ) && $product->is_in_stock()) { 98 if($product->is_type( 'simple' ) && $this->isProductAllowed($id)) { 99 $thetitle = get_post_meta($id, 'waruk_prod_name', true ); 100 if (empty($thetitle)) { 101 $thetitle = get_the_title($id); 102 } 103 $excerpt = ""; 104 if (has_excerpt($id)) { 105 $excerpt = strip_tags(str_replace( '"', '""', get_the_excerpt($id) )); 106 } else { 107 $excerpt = strip_tags(str_replace( '"', '""', $product->get_description() )); 108 } 109 $attributes = array(); 110 $manufacturer = (get_post_meta( $id, 'manufacturer', true ) == 'Array' ? '' : get_post_meta( $id, 'manufacturer', true )); 111 $ean_code = (get_post_meta( $id, 'ean_code', true ) == 'Array' ? '' : get_post_meta( $id, 'ean_code', true )); 112 $warranty = (get_post_meta( $id, 'warranty', true ) == 'Array' ? '' : get_post_meta( $id, 'warranty', true )); 113 $productnumber = (get_post_meta( $id, 'product_number', true ) == 'Array' ? '' : get_post_meta( $id, 'product_number', true )); 114 115 $shipping_cost = (get_post_meta( $id, 'shipping_cost', true ) == 'Array' ? '' : get_post_meta( $id, 'shipping_cost', true )); 116 $shipping_time = (get_post_meta( $id, 'shipping_time', true ) == 'Array' ? '' : get_post_meta( $id, 'shipping_time', true )); 117 $sku = $product->get_sku(); //Cikkszám 118 $price = wc_get_price_including_tax($product);//Ha van áfa, az is kell 119 $net_price = round(wc_get_price_excluding_tax($product)); 120 $url = get_permalink( $id); 121 $category = (get_post_meta( $id, 'woo_prod_category', true ) == 'Array' ? '' : get_post_meta( $id, 'woo_prod_category', true )); 122 if (empty($category)) { 123 $category = ""; 124 $terms = $this->getCategoryList($id); 125 if (!empty($terms) && is_array($terms) && count($terms) > 0) { 126 foreach ($terms as $termlist) { 127 foreach ($termlist as $term) { 128 $waruk_category = get_term_meta($term->term_id, "waruk_category", true); 129 $waruk_category_hide = get_term_meta($term->term_id, "waruk_category_hide", true); 130 if (!empty($waruk_category_hide) && $waruk_category_hide == 1) { 131 return array(); 132 } 133 if (!empty($waruk_category)) { 134 $category .= ", " . $waruk_category; 135 } else { 136 $term_meta = get_option("taxonomy_" . $term->term_id); 137 if (empty($term_meta['waruk_category_hide']) || $term_meta['waruk_category_hide'] != '1') { 138 if (!empty($term_meta['waruk_category'])) { 139 $category .= ", " . $term_meta['waruk_category']; 140 } else { 141 $category.= ", " . $term->name; 142 } 143 } elseif (isset($term_meta['waruk_category_hide']) && $term_meta['waruk_category_hide'] == 1) { 144 return array(); 145 } 146 } 147 } 148 } 149 } 150 $category = trim($category, ", "); 151 } 152 $_temp = wp_get_attachment_image_src( get_post_thumbnail_id( $id), 'full' ); //Fotólink 153 if ( $_temp ) { 154 $picture_link = wp_get_attachment_url( get_post_thumbnail_id($id) ); 155 } else { 156 $picture_link = ""; 157 } 158 if ($id > 0) { 159 return array(apply_filters("waruk_product", array("title"=>$thetitle, "sku"=>$sku, "id"=>$id, "category" =>$category, "manufacturer" =>$manufacturer, "ean_code" =>$ean_code, "productnumber" =>$productnumber, "net_price" =>$net_price, "price"=>$price, "url" =>$url, "kep" =>$picture_link, "excerpt" =>$excerpt, "warranty" =>$warranty, "shipping_cost" =>$shipping_cost, "shipping_time" =>$shipping_time, "stock" =>$product->get_stock_quantity(), "attributes" =>$attributes))); 160 } 161 } 162 } 163 return $full_product_list; 82 164 } 83 foreach ($terms as $term) {84 85 if ($term->parent !=0) {86 $catlist[$term->parent][] =$term;87 }88 }89 return $catlist;90 }91 public function getProductData ($id) {92 $full_product_list =array();93 $product = wc_get_product($id);94 if( $product->is_type( 'simple' ) &&$product->is_in_stock()) {95 if($product->is_type( 'simple' ) && $this->isProductAllowed($id)) {96 $thetitle = get_post_meta($id, 'waruk_prod_name', true );97 if (empty($thetitle)) {98 $thetitle =get_the_title($id);99 165 } 100 $excerpt ="";101 if (has_excerpt($id)) {102 $excerpt =strip_tags(str_replace( '"', '""', get_the_excerpt($id) ));103 } else {104 $excerpt =strip_tags(str_replace( '"', '""', $product->get_description() ));105 }106 $attributes =array();107 $manufacturer =(get_post_meta( $id, 'manufacturer', true ) =='Array' ? '' : get_post_meta( $id, 'manufacturer', true ));108 $ean_code =(get_post_meta( $id, 'ean_code', true ) =='Array' ? '' : get_post_meta( $id, 'ean_code', true ));109 $warranty =(get_post_meta( $id, 'warranty', true ) =='Array' ? '' : get_post_meta( $id, 'warranty', true ));110 $productnumber =(get_post_meta( $id, 'product_number', true ) =='Array' ? '' : get_post_meta( $id, 'product_number', true ));111 112 $shipping_cost =(get_post_meta( $id, 'shipping_cost', true ) =='Array' ? '' : get_post_meta( $id, 'shipping_cost', true ));113 $shipping_time =(get_post_meta( $id, 'shipping_time', true ) =='Array' ? '' : get_post_meta( $id, 'shipping_time', true ));114 $sku =$product->get_sku(); //Cikkszám115 $price =wc_get_price_including_tax($product);//Ha van áfa, az is kell116 $net_price =round(wc_get_price_excluding_tax($product));117 $url =get_permalink( $id);118 $category =(get_post_meta( $id, 'woo_prod_category', true ) =='Array' ? '' : get_post_meta( $id, 'woo_prod_category', true ));119 if (empty($category)) {120 $category ="";121 $terms =$this->getCategoryList($id);122 if (!empty($terms) &&is_array($terms) &&count($terms) >0) {123 foreach ($terms as $termlist) {124 foreach ($termlist as $term) {125 $waruk_category =get_term_meta($term->term_id, "waruk_category", true);126 $waruk_category_hide =get_term_meta($term->term_id, "waruk_category_hide", true);127 if (!empty($waruk_category_hide) &&$waruk_category_hide ==1) {128 return array();129 }130 if (!empty($waruk_category)) {131 $category .=", ".$waruk_category;132 } else {133 $term_meta = get_option("taxonomy_" . $term->term_id);134 if (empty($term_meta['waruk_category_hide']) ||$term_meta['waruk_category_hide'] !='1') {135 136 if (!empty($term_meta['waruk_category'])) {137 $category .=", ".$term_meta['waruk_category'];138 } else {139 $category.=", ".$term->name;140 }141 } elseif (isset($term_meta['waruk_category_hide']) &&$term_meta['waruk_category_hide'] ==1) {142 return array();143 }144 }145 }146 }147 }148 $category =trim($category, ", ");149 }150 $_temp = wp_get_attachment_image_src( get_post_thumbnail_id( $id), 'full' ); //Fotólink151 if ( $_temp ) {152 $picture_link =wp_get_attachment_url( get_post_thumbnail_id($id) );153 } else {154 $picture_link ="";155 }156 if ($id>0) {157 return array(apply_filters("waruk_product", array("title"=>$thetitle, "sku"=>$sku, "id"=>$id, "category" =>$category, "manufacturer" =>$manufacturer, "ean_code" =>$ean_code, "productnumber" =>$productnumber, "net_price" =>$net_price, "price"=>$price, "url" =>$url, "kep" =>$picture_link, "excerpt" =>$excerpt, "warranty" =>$warranty, "shipping_cost" =>$shipping_cost, "shipping_time" =>$shipping_time, "stock" =>$product->get_stock_quantity(), "attributes" =>$attributes)));158 }159 }160 161 }162 return $full_product_list;163 }164 } -
arukereso-for-woocommerce/trunk/readme.txt
r3025831 r3313192 59 59 60 60 == Changelog == 61 62 = 2.9.1 = 63 * Megbízható bolt hiba javítás 61 64 62 65 = 2.9 = -
arukereso-for-woocommerce/trunk/woo-arukereso.php
r3025831 r3313192 1 1 <?php 2 /* 3 Plugin Name: Árukereső for Woocommerce 4 Plugin URI: https://bitron.hu/arukereso-for-woocommerce/ 5 Description: Egyedi feed segítségével megjeleníti a Woocommerce-ben felvitt termékeket az Árukereső számára. 6 Version: 2.9 7 Author: Oaron 8 Author URI: https://bitron.hu 9 License: GPL2 10 License URI: https://www.gnu.org/licenses/gpl-2.0.html 11 Text Domain: woo-arukereso 12 Domain Path: /lang 13 WC requires at least: 3.0 14 WC tested up to: 8.5.1 15 */ 16 define("WARUK_FREE", 1); 17 //HPOS kompatibilitás 2 /* 3 Plugin Name: Árukereső for Woocommerce 4 Plugin URI: https://bitron.hu/arukereso-for-woocommerce/ 5 Description: Egyedi feed segítségével megjeleníti a Woocommerce-ben felvitt termékeket az Árukereső számára. 6 Version: 2.9.1 7 Author: Oaron 8 Author URI: https://bitron.hu 9 License: GPL2 10 License URI: https://www.gnu.org/licenses/gpl-2.0.html 11 Text Domain: woo-arukereso 12 Domain Path: /lang 13 WC requires at least: 3.0 14 WC tested up to: 9.9.4 15 */ 16 17 // Exit if accessed directly 18 if ( ! defined( 'ABSPATH' ) ) exit; 19 20 define("WARUK_FREE", 1); 21 22 //HPOS kompatibilitás 18 23 add_action( 'before_woocommerce_init', function() { 19 24 if ( class_exists( \Automattic\WooCommerce\Utilities\FeaturesUtil::class ) ) { 20 25 \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'custom_order_tables', __FILE__, true ); 21 }26 } 22 27 } ); 23 28 24 class waruk_main { 25 public function __construct() { 26 //loader 27 foreach (glob(__DIR__."/includes/class-*.php") as $filename) { 28 include $filename; 29 } 30 add_action('init', array($this, 'waruk_translation_load')); 31 } 32 /* 33 * load translations 34 */ 35 public function waruk_translation_load() { 29 class waruk_main { 30 public function __construct() { 31 //loader 32 foreach (glob(__DIR__."/includes/class-*.php") as $filename) { 33 include $filename; 34 } 35 add_action('init', array($this, 'waruk_translation_load')); 36 } 37 38 /* 39 * load translations 40 */ 41 public function waruk_translation_load() { 36 42 load_plugin_textdomain( 'woo-arukereso', false, plugin_basename( dirname( __FILE__ ) ) . '/lang/' ); 37 } 38 39 } 40 new waruk_main(); 41 ?> 43 } 44 } 45 46 new waruk_main();
Note: See TracChangeset
for help on using the changeset viewer.