Subversion Repositories cheapmusic

Rev

Rev 120 | Rev 122 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 120 Rev 121
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
}