| Line 410... |
Line 410... |
| 410 |
}
|
410 |
}
|
| 411 |
|
411 |
|
| 412 |
// build HTML table from array
|
412 |
// build HTML table from array
|
| 413 |
function buildTable($arr) {
|
413 |
function buildTable($arr) {
|
| 414 |
global $buyItNowTooltip;
|
414 |
global $buyItNowTooltip;
|
| 415 |
|
415 |
|
| 416 |
$str = "";
|
416 |
$str = "";
|
| 417 |
$cnt = 0;
|
417 |
$cnt = 0;
|
| 418 |
|
418 |
|
| 419 |
if (count($arr) > 0) {
|
419 |
if (count($arr) > 0) {
|
| 420 |
$str .= "<div class=\"table\">"; // bugbug responsive?
|
420 |
$str .= "<div class=\"table\">"; // bugbug responsive?
|
| Line 426... |
Line 426... |
| 426 |
if (!$row["Show"]) {
|
426 |
if (!$row["Show"]) {
|
| 427 |
continue;
|
427 |
continue;
|
| 428 |
}
|
428 |
}
|
| 429 |
|
429 |
|
| 430 |
++$cnt;
|
430 |
++$cnt;
|
| - |
|
431 |
$cntStr = (!empty($_SESSION["prefix"]) ? $_SESSION["prefix"] . '-' : '') . $cnt;
|
| 431 |
$href = "href=\"" . htmlentities($row["URL"]) . "\" target=\"_blank\" rel=\"nofollow noreferrer noopener\"";
|
432 |
$href = "href=\"" . htmlentities($row["URL"]) . "\" target=\"_blank\" rel=\"nofollow noreferrer noopener\"";
|
| 432 |
$title = $row["Title"];
|
433 |
$title = $row["Title"];
|
| 433 |
if (mb_strlen($row["Title"], 'UTF-8') > MAXTITLELENGTH) {
|
434 |
if (mb_strlen($row["Title"], 'UTF-8') > MAXTITLELENGTH) {
|
| 434 |
$title = mb_substr($row["Title"], 0, MAXTITLELENGTH, 'UTF-8') . '...';
|
435 |
$title = mb_substr($row["Title"], 0, MAXTITLELENGTH, 'UTF-8') . '...';
|
| 435 |
}
|
436 |
}
|
| 436 |
|
437 |
|
| 437 |
$str .= "<tr>";
|
438 |
$str .= "<tr>";
|
| 438 |
|
439 |
|
| 439 |
// Image
|
440 |
// Image
|
| 440 |
$str .= "<td><a id=\"image" . $cnt . "Save\" " . $href . " data-toggle=\"tooltip\" title=\"" . $buyItNowTooltip . "\"><img class=\"img-fluid lazyload\" src=\"data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=\" data-src=\"" . htmlentities($row["Image"]) . "\" alt=\"Item Image\" /></a></td>";
|
441 |
$str .= "<td><a id=\"image" . $cntStr . "Save\" " . $href . " data-toggle=\"tooltip\" title=\"" . $buyItNowTooltip . "\"><img class=\"img-fluid lazyload\" src=\"data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=\" data-src=\"" . htmlentities($row["Image"]) . "\" alt=\"Item Image\" /></a></td>";
|
| 441 |
|
442 |
|
| 442 |
// Title / Merchant
|
443 |
// Title / Merchant
|
| 443 |
$str .= "<td class=\"text-left\"><span class=\"font-weight-bold\"><a id=\"title" . $cnt . "Save\" class=\"bg-info\" " . $href . " data-toggle=\"tooltip\" title=\"" . $buyItNowTooltip . "\">" . $title . "</a></span>";
|
444 |
$str .= "<td class=\"text-left\"><span class=\"font-weight-bold\"><a id=\"title" . $cntStr . "Save\" class=\"bg-info\" " . $href . " data-toggle=\"tooltip\" title=\"" . $buyItNowTooltip . "\">" . $title . "</a></span>";
|
| 444 |
$str .= "<br/><br/>";
|
445 |
$str .= "<br/><br/>";
|
| 445 |
$str .= "<span class=\"font-weight-bold\">" . $row["Merchant"] . "</span>";
|
446 |
$str .= "<span class=\"font-weight-bold\">" . $row["Merchant"] . "</span>";
|
| 446 |
if ($row["FeedbackScore"] != - 1) {
|
447 |
if ($row["FeedbackScore"] != - 1) {
|
| 447 |
$str .= "<span class=\"hide-extra-small\"><br/>" . $row["SellerName"] . " (" . number_format($row["FeedbackScore"], 0, "", ",") . " / " . $row["FeedbackPercent"] . "%)</span>";
|
448 |
$str .= "<span class=\"hide-extra-small\"><br/>" . $row["SellerName"] . " (" . number_format($row["FeedbackScore"], 0, "", ",") . " / " . $row["FeedbackPercent"] . "%)</span>";
|
| 448 |
}
|
449 |
}
|
| Line 495... |
Line 496... |
| 495 |
|
496 |
|
| 496 |
// Total Price
|
497 |
// Total Price
|
| 497 |
$str .= "<td class=\"font-weight-bolder\">" . print_monetary($row["ConvertedTotalPrice"], $_SESSION["buyer"]["Currency"]) . "</td>";
|
498 |
$str .= "<td class=\"font-weight-bolder\">" . print_monetary($row["ConvertedTotalPrice"], $_SESSION["buyer"]["Currency"]) . "</td>";
|
| 498 |
|
499 |
|
| 499 |
// Link
|
500 |
// Link
|
| 500 |
$linkId = ' id="link' . $cnt . 'Save"';
|
501 |
$linkId = ' id="link' . $cntStr . 'Save"';
|
| 501 |
if ($row["Merchant"] == "iTunes") {
|
502 |
if ($row["Merchant"] == "iTunes") {
|
| 502 |
if ($row["MediaType"] == "Digital") {
|
503 |
if ($row["MediaType"] == "Digital") {
|
| 503 |
$badge = timeStampUrl("images/US-UK_Apple_Music_Badge_RGB.svg");
|
504 |
$badge = timeStampUrl("images/US-UK_Apple_Music_Badge_RGB.svg");
|
| 504 |
}
|
505 |
}
|
| 505 |
else {
|
506 |
else {
|
| Line 517... |
Line 518... |
| 517 |
|
518 |
|
| 518 |
$str .= "</tr>";
|
519 |
$str .= "</tr>";
|
| 519 |
|
520 |
|
| 520 |
$str .= '<script nonce="' . base64_encode($_SESSION["nonce"]) . '">';
|
521 |
$str .= '<script nonce="' . base64_encode($_SESSION["nonce"]) . '">';
|
| 521 |
$str .= 'document.addEventListener("DOMContentLoaded", function() {';
|
522 |
$str .= 'document.addEventListener("DOMContentLoaded", function() {';
|
| 522 |
$str .= ' document.getElementById("image' . $cnt . 'Save").addEventListener("click", function() {';
|
523 |
$str .= ' document.getElementById("image' . $cntStr . 'Save").addEventListener("click", function() {';
|
| 523 |
$str .= ' saveTransfer("' . $row["URL"] . '");';
|
524 |
$str .= ' saveTransfer("' . $row["URL"] . '");';
|
| 524 |
$str .= ' });';
|
525 |
$str .= ' });';
|
| 525 |
$str .= ' document.getElementById("title' . $cnt . 'Save").addEventListener("click", function() {';
|
526 |
$str .= ' document.getElementById("title' . $cntStr . 'Save").addEventListener("click", function() {';
|
| 526 |
$str .= ' saveTransfer("' . $row["URL"] . '");';
|
527 |
$str .= ' saveTransfer("' . $row["URL"] . '");';
|
| 527 |
$str .= ' });';
|
528 |
$str .= ' });';
|
| 528 |
$str .= ' document.getElementById("link' . $cnt . 'Save").addEventListener("click", function() {';
|
529 |
$str .= ' document.getElementById("link' . $cntStr . 'Save").addEventListener("click", function() {';
|
| 529 |
$str .= ' saveTransfer("' . $row["URL"] . '");';
|
530 |
$str .= ' saveTransfer("' . $row["URL"] . '");';
|
| 530 |
$str .= ' });';
|
531 |
$str .= ' });';
|
| 531 |
$str .= '});';
|
532 |
$str .= '});';
|
| 532 |
$str .= '</script>';
|
533 |
$str .= '</script>';
|
| 533 |
}
|
534 |
}
|
| Line 558... |
Line 559... |
| 558 |
if (!$row["Show"]) {
|
559 |
if (!$row["Show"]) {
|
| 559 |
continue;
|
560 |
continue;
|
| 560 |
}
|
561 |
}
|
| 561 |
|
562 |
|
| 562 |
++$cnt;
|
563 |
++$cnt;
|
| - |
|
564 |
$cntStr = (!empty($_SESSION["prefix"]) ? $_SESSION["prefix"] . '-' : '') . $cnt;
|
| 563 |
$href = "href=\"" . htmlentities($row["URL"]) . "\" target=\"_blank\" rel=\"nofollow noreferrer noopener\"";
|
565 |
$href = "href=\"" . htmlentities($row["URL"]) . "\" target=\"_blank\" rel=\"nofollow noreferrer noopener\"";
|
| 564 |
$title = $row["Title"];
|
566 |
$title = $row["Title"];
|
| 565 |
if (mb_strlen($row["Title"], 'UTF-8') > MAXTITLELENGTH) {
|
567 |
if (mb_strlen($row["Title"], 'UTF-8') > MAXTITLELENGTH) {
|
| 566 |
$title = mb_substr($row["Title"], 0, MAXTITLELENGTH, 'UTF-8') . '...';
|
568 |
$title = mb_substr($row["Title"], 0, MAXTITLELENGTH, 'UTF-8') . '...';
|
| 567 |
}
|
569 |
}
|
| 568 |
|
570 |
|
| 569 |
$str .= "<div class=\"card m-2 shadow mx-auto result-card\">";
|
571 |
$str .= "<div class=\"card m-2 shadow mx-auto result-card\">";
|
| 570 |
|
572 |
|
| 571 |
// Image
|
573 |
// Image
|
| 572 |
$str .= "<a id=\"image" . $cnt . "Save\" class=\"p-0 m-0 bg-light text-center result-image\" " . $href . " data-toggle=\"tooltip\" title=\"" . $buyItNowTooltip . "\"><img class=\"p-0 m-0 responsive-image lazyload\" src=\"data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=\" data-src=\"" . htmlentities($row["Image"]) . "\" alt=\"Item Image\" /></a>";
|
574 |
$str .= "<a id=\"image" . $cntStr . "Save\" class=\"p-0 m-0 bg-light text-center result-image\" " . $href . " data-toggle=\"tooltip\" title=\"" . $buyItNowTooltip . "\"><img class=\"p-0 m-0 responsive-image lazyload\" src=\"data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=\" data-src=\"" . htmlentities($row["Image"]) . "\" alt=\"Item Image\" /></a>";
|
| 573 |
|
575 |
|
| 574 |
$str .= "<div class=\"card-body bg-light d-flex flex-column\">";
|
576 |
$str .= "<div class=\"card-body bg-light d-flex flex-column\">";
|
| 575 |
// Title / Merchant
|
577 |
// Title / Merchant
|
| 576 |
$str .= "<p class=\"card-title font-weight-bold\"><a id=\"title" . $cnt . "Save\"" . $href . " data-toggle=\"tooltip\" title=\"" . $buyItNowTooltip . "\">" . $title . "</a></p>";
|
578 |
$str .= "<p class=\"card-title font-weight-bold\"><a id=\"title" . $cntStr . "Save\" " . $href . " data-toggle=\"tooltip\" title=\"" . $buyItNowTooltip . "\">" . $title . "</a></p>";
|
| 577 |
$str .= "<div class=\"card-text mt-auto\"><span class=\"font-weight-bold\">" . $row["Merchant"] . "</span>";
|
579 |
$str .= "<div class=\"card-text mt-auto\"><span class=\"font-weight-bold\">" . $row["Merchant"] . "</span>";
|
| 578 |
$str .= "<br>";
|
580 |
$str .= "<br>";
|
| 579 |
|
581 |
|
| 580 |
// Condition / MediaType
|
582 |
// Condition / MediaType
|
| 581 |
$str .= $row["DetailCondition"];
|
583 |
$str .= $row["DetailCondition"];
|
| Line 587... |
Line 589... |
| 587 |
$str .= "</div>";
|
589 |
$str .= "</div>";
|
| 588 |
|
590 |
|
| 589 |
$str .= "</div>";
|
591 |
$str .= "</div>";
|
| 590 |
|
592 |
|
| 591 |
// Link / Ships from Flag
|
593 |
// Link / Ships from Flag
|
| 592 |
$linkId = ' id="link' . $cnt . 'Save"';
|
594 |
$linkId = ' id="link' . $cntStr . 'Save"';
|
| 593 |
$str .= "<div class=\"card-footer bg-dark\">";
|
595 |
$str .= "<div class=\"card-footer bg-dark\">";
|
| 594 |
$str .= "<div class=\"row\">";
|
596 |
$str .= "<div class=\"row\">";
|
| 595 |
$str .= "<div class=\"col-9\">";
|
597 |
$str .= "<div class=\"col-9\">";
|
| 596 |
if ($row["Merchant"] == "iTunes") {
|
598 |
if ($row["Merchant"] == "iTunes") {
|
| 597 |
if ($row["MediaType"] == "Digital") {
|
599 |
if ($row["MediaType"] == "Digital") {
|
| Line 619... |
Line 621... |
| 619 |
|
621 |
|
| 620 |
$str .= "</div>";
|
622 |
$str .= "</div>";
|
| 621 |
|
623 |
|
| 622 |
$str .= '<script nonce="' . base64_encode($_SESSION["nonce"]) . '">';
|
624 |
$str .= '<script nonce="' . base64_encode($_SESSION["nonce"]) . '">';
|
| 623 |
$str .= 'document.addEventListener("DOMContentLoaded", function() {';
|
625 |
$str .= 'document.addEventListener("DOMContentLoaded", function() {';
|
| 624 |
$str .= ' document.getElementById("image' . $cnt . 'Save").addEventListener("click", function() {';
|
626 |
$str .= ' document.getElementById("image' . $cntStr . 'Save").addEventListener("click", function() {';
|
| 625 |
$str .= ' saveTransfer("' . $row["URL"] . '");';
|
627 |
$str .= ' saveTransfer("' . $row["URL"] . '");';
|
| 626 |
$str .= ' });';
|
628 |
$str .= ' });';
|
| 627 |
$str .= ' document.getElementById("title' . $cnt . 'Save").addEventListener("click", function() {';
|
629 |
$str .= ' document.getElementById("title' . $cntStr . 'Save").addEventListener("click", function() {';
|
| 628 |
$str .= ' saveTransfer("' . $row["URL"] . '");';
|
630 |
$str .= ' saveTransfer("' . $row["URL"] . '");';
|
| 629 |
$str .= ' });';
|
631 |
$str .= ' });';
|
| 630 |
$str .= ' document.getElementById("link' . $cnt . 'Save").addEventListener("click", function() {';
|
632 |
$str .= ' document.getElementById("link' . $cntStr . 'Save").addEventListener("click", function() {';
|
| 631 |
$str .= ' saveTransfer("' . $row["URL"] . '");';
|
633 |
$str .= ' saveTransfer("' . $row["URL"] . '");';
|
| 632 |
$str .= ' });';
|
634 |
$str .= ' });';
|
| 633 |
$str .= '});';
|
635 |
$str .= '});';
|
| 634 |
$str .= '</script>';
|
636 |
$str .= '</script>';
|
| 635 |
}
|
637 |
}
|
| Line 1529... |
Line 1531... |
| 1529 |
error_log("MySQL Write geoLocation Error: " . mysqli_error($conn) . " (" . mysqli_errno($conn) . ")");
|
1531 |
error_log("MySQL Write geoLocation Error: " . mysqli_error($conn) . " (" . mysqli_errno($conn) . ")");
|
| 1530 |
}
|
1532 |
}
|
| 1531 |
}
|
1533 |
}
|
| 1532 |
|
1534 |
|
| 1533 |
function timeStampUrl($file) {
|
1535 |
function timeStampUrl($file) {
|
| 1534 |
if (file_exists($file)) {
|
1536 |
if (@file_exists($file)) {
|
| 1535 |
return $file . "?" . filemtime($file);
|
1537 |
return $file . "?" . filemtime($file);
|
| 1536 |
}
|
1538 |
}
|
| 1537 |
|
1539 |
|
| 1538 |
return $file;
|
1540 |
return $file;
|
| 1539 |
}
|
1541 |
}
|