diff --git a/app/Console/Commands/OnlineTestCommand.php b/app/Console/Commands/OnlineTestCommand.php
deleted file mode 100644
index 8801802..0000000
--- a/app/Console/Commands/OnlineTestCommand.php
+++ /dev/null
@@ -1,36 +0,0 @@
-argument('article');
- $prices = $onlineCompareController->compare();
- dd($prices);
- return 0;
- }
-}
diff --git a/app/Console/Commands/TestOnline.php b/app/Console/Commands/TestOnline.php
deleted file mode 100644
index 20ebd87..0000000
--- a/app/Console/Commands/TestOnline.php
+++ /dev/null
@@ -1,37 +0,0 @@
-argument('article');
- $prices = $onlineCompareController->compare();
- dd($prices);
- return 0;
- }
-}
-
diff --git a/app/Http/Controllers/OnlineCompareController.php b/app/Http/Controllers/OnlineCompareController.php
deleted file mode 100644
index 62e3553..0000000
--- a/app/Http/Controllers/OnlineCompareController.php
+++ /dev/null
@@ -1,326 +0,0 @@
- $product['pipUrl'],
- 'tag' => $product['tag'],
- 'price' => $numeral,
- 'price_eur' => 0
- );
-
- break;
- }
-
- return $json_values;
-}
-
-function parseJson_TR($body)
-{
- //echo "country: " . $country . ", code: " . $code . "
";
-
- $dochtml = new \DOMDocument();
- $dochtml->loadHTML($body);
-
- $xpath = new \DOMXpath($dochtml);
- $price = null;
- //$c = ltrim($code, "0");
- $json_values = array();
-
- $url_product = $xpath->query('/html/head/meta[(@property="og:url")]/@content')[0]->nodeValue;
- $price = $xpath->query('/html/head/meta[(@property="og:price:amount")]/@content')[0]->nodeValue;
-
- $price = floatval(trim(str_replace('.', '', $price)));
-
- $json_values = array(
- 'url_product' => $url_product,
- 'tag' => null,
- 'price' => floatval($price),
- 'price_eur' => 0
- );
-
- return $json_values;
-}
-
-function parseJson_CY_GR_BG($code, $body)
-{
- //echo "country: " . $country . ", code: " . $code . "
";
-
- $dochtml = new \DOMDocument();
- $dochtml->loadHTML($body);
-
- $xpath = new \DOMXpath($dochtml);
- $price = null;
- $c = ltrim($code, "0");
- $json_values = array();
-
- $price = $xpath->query('//*/div[(@class="yotpo yotpo-main-widget" and @data-product-id="' . $code . '")]/@data-price')[0]->nodeValue;
- $url_product = $xpath->query('//*/div[(@class="yotpo yotpo-main-widget" and @data-product-id="' . $code . '")]/@data-url')[0]->nodeValue;
-
- $price = floatval($price);
-
-
- $json_values = array(
- 'url_product' => $url_product,
- 'tag' => null,
- 'price' => floatval($price),
- 'price_eur' => 0
- );
-
- return $json_values;
-}
-
-function parseJson_EE_LT_LV($country, $code, $body)
-{
- //echo "country: " . $country . ", code: " . $code . "
";
-
- $dochtml = new \DOMDocument();
- $dochtml->loadHTML($body);
-
- $xpath = new \DOMXpath($dochtml);
- $price = null;
- $c = ltrim($code, "0");
- $json_values = array();
-
- $price = $xpath->query('//*/div[(@class="itemPriceBox" and @data-item="' . $c . '")]//p[@class="itemNormalPrice display-6"]/span')[0]->nodeValue;
-
- if (is_null($price) || empty($price)) {
- $price = $xpath->query('//*/div[(@class="itemPriceBox" and @data-item="' . $c . '")]//div[@class="itemBTI display-6"]/span')[0]->nodeValue;
- }
-
- switch ($country) {
- case "Estonia":
- $url_product = "https://www.ikea.ee" . $xpath->query('//*/div[(@class="card-header")]/a/@href')[0]->nodeValue;
- break;
- case "Lithuania":
- $url_product = "https://www.ikea.lt" . $xpath->query('//*/div[(@class="card-header")]/a/@href')[0]->nodeValue;
- break;
- case "Latvia":
- $url_product = "https://www.ikea.lv" . $xpath->query('//*/div[(@class="card-header")]/a/@href')[0]->nodeValue;
- break;
- default:
- $url_product = null;
- }
-
- if (is_null($price) || empty($price)) {
- $url_product = null;
- }
-
- $price = floatval(trim(str_replace(' ', '', str_replace(',', '.', str_replace(array('€'), '', $price)))));
-
- $json_values = array(
- 'url_product' => $url_product,
- //$url_product,
- 'tag' => null,
- 'price' => $price,
- 'price_eur' => 0
- );
-
- return $json_values;
-}
-
-function parseJson_IS($country, $code, $body)
-{
- //echo "country: " . $country . ", code: " . $code . "
";
-
- $dochtml = new \DOMDocument();
- $dochtml->loadHTML($body);
-
- $xpath = new \DOMXpath($dochtml);
- $price = null;
- $c = ltrim($code, "0");
- $json_values = array();
-
- $price = $xpath->query('//*/div[(@class="itemPriceBox")]//p[@class="itemNormalPrice revamp_price price"]/span/span')[0]->nodeValue;
-
- if (is_null($price) || empty($price)) {
- $price = $xpath->query('//*/div[(@class="itemPriceBox")]//p[@class="itemBTI display-6 revamp_price price"]/span/span')[0]->nodeValue;
- }
-
- $url_product = "https://www.ikea.is" . $xpath->query('/html/head/meta[(@property="og:url")]/@content')[0]->nodeValue;
-
- //echo "url_product: " . $url_product . "
";
-
- if (is_null($price) || empty($price)) {
- $url_product = null;
- }
-
- $price = floatval(trim(str_replace(' ', '', str_replace(',', '.', str_replace('.', '', str_replace(array('€'), '', $price))))));
-
- $json_values = array(
- 'url_product' => $url_product,
- //$url_product,
- 'tag' => null,
- 'price' => $price,
- 'price_eur' => 0
- );
-
- return $json_values;
-}
-
-class OnlineCompareController extends Controller
-{
- private $countries = [];
- public function __construct()
- {
- $countries = [];
- CountryCode::all()->each(function ($country) use (&$countries) {
- $countries[] = $country->country_name;
- });
-
- $this->countries = collect($countries);
- }
- public function compare()
- {
- // $codes = $request->input("codes");
- // $countries = $request->input("countries");
- // $currency = $request->input("currency");
- $codes = ['00102452',];
- $countries = ['Austria', 'Belgium'];
- $ta_codes = $codes;
- $exch_rates = "EUR";
-
- $item = array();
- $codes = array();
-
- // krajiny ktore som pridal do zoznamu z DB
- $added_countries[] = null;
-
- // loop cez jednotlive code z textarea a pridanie url
- /* ******************************************************************** */
- foreach ($ta_codes as $code) {
- unset($item);
-
- if (!is_numeric($code) || strlen($code) < 6) {
- continue;
- }
-
- foreach ($countries as $country) {
-
- if (!in_array($country['country_name'], $added_countries)) {
-
- $item[] = array(
- 'country_name' => $country['country_name'],
- 'url_call' => $country['search_url'] . $code,
- 'price' => 0,
- 'url_product' => null,
- 'tag' => null
- );
- }
- }
-
- $codes[] = array(
- 'code' => $code,
- 'item' => $item
- );
- }
- //echo var_dump($codes);
-
- /* ******************************************************************** */
-
-
-
- // paralelene prevolanie URL
- /* ******************************************************************** */
- $client = new GuzzleClient(['timeout' => 12.0]);
-
- $promises[] = null;
- $prices[] = null;
-
- foreach ($codes as $x => $code) {
- //echo "CODE: " . $code_value['code'] . "
";
-
- unset($promises);
- unset($responses);
- unset($prices);
-
- // naplnenie pola promises URL
- foreach ($code['item'] as $i => $i_value) {
- if (!is_null($i_value['url_call'])) {
- $promises[$i_value['country_name']] = $client->getAsync($i_value['url_call']);
- }
- }
-
- $responses = GuzzlePromise\settle($promises)->wait();
-
- foreach ($responses as $country => $response) {
-
- if ($response['state'] === 'fulfilled') {
- $response_value = $response['value'];
-
- if ($response_value->getStatusCode() == 200) {
-
- switch ($country) {
- case "Bulgaria":
- case "Cyprus":
- case "Greece":
- $prices[$country] = parseJson_CY_GR_BG($code['code'], (string) $response_value->body());
- break;
- case "Iceland":
- $prices[$country] = parseJson_IS($country, $code['code'], (string) $response_value->body());
- break;
- case "Turkey":
- $prices[$country] = parseJson_TR((string) $response_value->body());
- break;
- case "Lithuania":
- case "Estonia":
- case "Latvia":
- $prices[$country] = parseJson_EE_LT_LV($country, $code['code'], (string) $response_value->body());
- break;
- default:
- $prices[$country] = parseJson((string) $response_value->body());
- }
- }
- }
- }
- /* {"products":{"Illuminate\\Database\\Eloquent\\Collection":[{"country":"AT","code":"00222671","url":"https://www.ikea.com/at
-/de/p/vardoe-bettkasten-weiss-00222671/","name":"VARDÖ","typeName":"Bettkasten","mainImageUrl":"https://www.ikea.com/at/de/images/products/vardoe-bettkasten-weiss__0636
-223_pe697736_s5.jpg","itemNoGlobal":"00222671","salesPrice":"34.99","tag":"NONE","last_mod":"2024-01-04 15:41:48","mainImageAlt":"VARDÖ Bettkasten, weiß, 65x70 cm","pri
-ceUnit":null,"countryName":"Austria"} */
-
- // zistenu cenu doplnim do kolekcie
- foreach ($code['item'] as $i => $i_value) {
- asort($codes[$x]['item']); // zotriedenie
- $codes[$x]['item'][$i]['salesPrice'] = $prices[$i_value['country_name']]['price'] ?? 0;
-
-
- if ($prices[$i_value['country_name']]['tag'] == 'NONE') {
- $codes[$x]['item'][$i]['tag'] = "";
- } else {
- $codes[$x]['item'][$i]['tag'] = $prices[$i_value['country_name']]['tag'];
- }
-
- $codes[$x]['item'][$i]['url'] = $prices[$i_value['country_name']]['url_product'];
- }
- }
- /* ******************************************************************** */
-
-
- // vypis do tabulky
- /* ******************************************************************** */
- return $codes;
- }
-}