Skip to content

Commit eb58e99

Browse files
committed
Merge branch 'v4.0.1'
# Conflicts: # app/Classes/Stores/BestBuy.php
2 parents cf309d6 + 9ae27e2 commit eb58e99

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+754
-291
lines changed

app/Classes/CustomStoreTemplate.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use App\Classes\Crawler\ChromiumCrawler;
66
use App\Classes\Crawler\SimpleCrawler;
77
use App\Helpers\GeneralHelper;
8+
use App\Helpers\LinkHelper;
89
use App\Models\Link;
910
use App\Models\LinkHistory;
1011
use App\Models\Product;
@@ -58,7 +59,7 @@ public function __construct(
5859
try {
5960
$this->link->loadMissing(['store', 'products' => fn ($query) => $query->withoutGlobalScopes()]);
6061

61-
$this->current_product_url = "https://{$this->link->store->domain}/{$this->link->key}";
62+
$this->current_product_url = self::prepare_url($this->link);
6263

6364
$this->crawl_product();
6465

@@ -87,6 +88,15 @@ public function __construct(
8788
}
8889
}
8990

91+
public static function prepare_url(Link $link): string
92+
{
93+
$base_url = "https://{$link->store->domain}/";
94+
95+
[$link_base, $link_params] = LinkHelper::prepare_base_key_and_params($link);
96+
97+
return $base_url."{$link_base}?{$link_params}";
98+
}
99+
90100
public function crawl_product(): void
91101
{
92102
if ($this->link->store->custom_settings['crawling_method'] == "chromium") {

app/Classes/StoreTemplate.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public function get_product_pricing(): void
131131
public function update_product_details(): void
132132
{
133133

134-
// update products details that are missing.
134+
// update product details that are missing.
135135
DB::statement("
136136
UPDATE products
137137
SET

app/Classes/Stores/Ajio.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace App\Classes\Stores;
44

55
use App\Classes\StoreTemplate;
6+
use App\Helpers\LinkHelper;
67
use App\Models\Link;
78
use Illuminate\Support\Arr;
89
use Illuminate\Support\Str;
@@ -33,10 +34,12 @@ public function __construct(Link $link, array $extra_headers = [], ?string $user
3334

3435
public static function prepare_url(Link $link, array $extra = []): string
3536
{
37+
[$link_base, $link_params] = LinkHelper::prepare_base_key_and_params($link);
38+
3639
return Str::replace(
3740
["[domain]", "[product_key]"],
38-
[$link->store->domain, $link->key],
39-
self::MAIN_URL);
41+
[$link->store->domain, $link_base],
42+
self::MAIN_URL).'?'. $link_params;
4043
}
4144

4245
public function get_name(): void

app/Classes/Stores/Aliexpress.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use App\Classes\StoreTemplate;
66
use App\Helpers\GeneralHelper;
7+
use App\Helpers\LinkHelper;
78
use App\Models\Currency;
89
use App\Models\Link;
910
use Illuminate\Support\Facades\Log;
@@ -21,11 +22,13 @@ public function __construct(Link $link, array $extra_headers = [], ?string $user
2122

2223
public static function prepare_url(Link $link, $extra = []): string
2324
{
25+
[$link_base, $link_params] = LinkHelper::prepare_base_key_and_params($link);
26+
2427
return Str::replace(
2528
["[domain]", "[product_key]", "[ref]"],
26-
[$link->store->domain, $link->key, $link->store->referral],
29+
[$link->store->domain, $link_base, $link->store->referral],
2730

28-
self::MAIN_URL);
31+
self::MAIN_URL)."&{$link_params}";
2932
}
3033

3134
public function get_name(): void

app/Classes/Stores/Amazon.php

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use App\Classes\Crawler\SimpleCrawler;
66
use App\Classes\StoreTemplate;
77
use App\Helpers\GeneralHelper;
8+
use App\Helpers\LinkHelper;
89
use App\Helpers\UserAgentHelper;
910
use App\Models\Link;
1011
use Illuminate\Support\Str;
@@ -29,11 +30,10 @@ public function __construct(Link $link, array $extra_headers = [], ?string $user
2930

3031
if (in_array($link->store->domain, [
3132
'amazon.de',
32-
'amazon.ca'
33-
])){
33+
'amazon.ca',
34+
])) {
3435
$this->chromium_crawler = true;
35-
}
36-
else{
36+
} else {
3737
$this->extra_headers = $extra_headers + $this->extra_headers;
3838
$this->user_agent = ($user_agent) ?: UserAgentHelper::get_random_user_agent();
3939

@@ -44,6 +44,8 @@ public function __construct(Link $link, array $extra_headers = [], ?string $user
4444

4545
public static function prepare_url(Link $link, $extra = []): string
4646
{
47+
[$link_base, $link_params] = LinkHelper::prepare_base_key_and_params($link);
48+
4749
$template_url = self::MAIN_URL;
4850

4951
if (array_key_exists('alternative', $extra)) {
@@ -52,9 +54,9 @@ public static function prepare_url(Link $link, $extra = []): string
5254

5355
return Str::replace(
5456
["[domain]", "[product_key]", "[ref]"],
55-
[$link->store->domain, $link->key, $link->store->referral],
57+
[$link->store->domain, $link_base, $link->store->referral],
5658

57-
$template_url);
59+
$template_url)."&{$link_params}";
5860
}
5961

6062
public function get_name(): void
@@ -91,7 +93,6 @@ public function get_image(): void
9193
}
9294
}
9395

94-
9596
}
9697

9798
public function get_total_reviews(): void

app/Classes/Stores/Argos.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use App\Classes\Crawler\SimpleCrawler;
66
use App\Classes\StoreTemplate;
77
use App\Helpers\GeneralHelper;
8+
use App\Helpers\LinkHelper;
89
use App\Models\Link;
910
use Illuminate\Support\Str;
1011

@@ -32,10 +33,12 @@ public function __construct(Link $link, array $extra_headers = [], ?string $user
3233

3334
public static function prepare_url(Link $link, array $extra = []): string
3435
{
36+
[$link_base, $link_params] = LinkHelper::prepare_base_key_and_params($link);
37+
3538
return Str::replace(
3639
["[domain]", "[product_key]"],
3740
[$link->store->domain, $link->key],
38-
self::MAIN_URL);
41+
self::MAIN_URL)."?{$link_params}";
3942

4043
}
4144

0 commit comments

Comments
 (0)