Tässä työssä tarvitaan
<div id="csx4_tradetracker_oma"></div> <script> if (document.getElementById('csx4_connections_order_id') && document.getElementById('csx4_connections_order_id').value) { $csx4_tradetracker_order_id = document.getElementById('csx4_connections_order_id').value; if ($csx4_tradetracker_order_id.match(/^[0-9]+$/)) { var $xhr1 = "$xhr1_trdtrc"; var $xhr1 = new XMLHttpRequest(); var $nocache = Math.random(); $xhr1.open("POST", "tradetracker_oma.php", true); $xhr1.onreadystatechange = function () { if ($xhr1.readyState == 4 && $xhr1.status == 200) { if (document.getElementById('csx4_tradetracker_oma')) document.getElementById('csx4_tradetracker_oma').innerHTML=$xhr1.responseText; } } $xhr1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); var $query = "nocache=" + $nocache + ""; $query += "&csx4_tradetracker_order_id=" + $csx4_tradetracker_order_id + ""; $xhr1.send($query); } } </script>
Luo omalle tietokoneellesi tradetracker_oma.php -niminen tekstitiedosto ja siirrä se FTP-ohjelmalla kotisivutilan kansioon, jossa thank_you.php -tiedosto sijaitsee. Tiedoston sisällön on oltava seuraavanlainen lukuun ottamatta Tradetracker-kohtaa, jossa olevat tunnukset pitää vaihtaa oikeiksi.
<?php /* -----------------------------------------------------UTF-8---❤----- sec/tradetracker_oma.php (model example) Clover Shop(r) X4 Copyright (c) 2013- Clover Shop Oy. All rights reserved. This is commercial software. Unauthorized use, reproduction, reverse engineering and/or distribution is strictly prohibited. For more information, please visit http://www.clovershop.com -------------------------------------------------------------------- */ // Estetään väärät pyynnöt karkeasti if (!$_POST && preg_match ("/\/tradetracker_oma\.php/", $_SERVER['PHP_SELF'])) { error_reporting (0); exit; } // Säädetään virheilmoitusherkkyyttä error_reporting (0); // Luetaan asetukset include "config/config_inc.php"; // Tradetracker $csx4_tradetracker_cid = "12345"; $csx4_tradetracker_pid = "12345"; // Avataan MySQL-yhteys $mysql_link = @mysqli_connect ($config['mysql5_server'], $config['mysql5_readwrite_username'], $config['mysql5_readwrite_password'], $config['mysql5_database']); if (!$mysql_link) { echo "Tietokantayhteys ei toimi, MySQL-virhe: ". mysqli_connect_error(); exit; } if (version_compare (PHP_VERSION, "5.2.3", ">=")) { mysqli_set_charset ($mysql_link, "utf8"); } else { mysqli_query ($mysql_link, "SET NAMES 'utf8'"); } // Näytetään tilaustiedot ja merkitään ne luetuksi // Turvallisuusratkaisuna on // - tilauksen id-numeron tarkistaminen // - IP-osoitteen tarkistaminen // - lukumerkintä ja toiston esto // - kolmen sekunnin aikaikkuna // Turvallisuustaso ei vastaa Clover Shopin tasoa, mutta on käytännössä riittävä if ($_POST['csx4_tradetracker_order_id'] && preg_match ("/^[0-9]+$/", $_POST['csx4_tradetracker_order_id'])) { $result = mysqli_query ($mysql_link, "SELECT cs_order_number, cs_order_xml, cs_order_log, cs_order_datetime FROM csx4_orders WHERE cs_order_id='". mysqli_real_escape_string ($mysql_link, $_POST['csx4_tradetracker_order_id']) ."' LIMIT 1"); if (is_object ($result) && mysqli_num_rows ($result)) { $s = mysqli_fetch_array ($result); // Tarkistetaan aikaikkunaan osuminen, IP-osoite ja lukumerkintä (toiston esto) if ( strtotime (date ("d.m.Y \k\l\o H:i:s")) > strtotime ("+3 seconds", strtotime ($s['cs_order_datetime'])) || !preg_match ("/". str_replace (".", "\.", $_SERVER['REMOTE_ADDR']) ."/", $s['cs_order_log']) || preg_match ("/TT luettu/", $s['cs_order_log']) ) { mysqli_close ($mysql_link); exit; } // Lasketaan tilattujen tuotteiden verottomat hinnat yhteen libxml_use_internal_errors (true); $xml_validity = simplexml_load_string ("". $s['cs_order_xml'] .""); if ($xml_validity !== false) $order = new SimpleXMLElement($s['cs_order_xml']); foreach ($order->cart->product as $line) { if ($line->id) { // Jos kyseessä on tuote if ((float) $line->vat_percent && (float) $line->vat_percent > 0) { // Jos hinta on verollinen $tam = $tam + ((float) $line->total) * 100 / (100 + ((float) $line->vat_percent)); } else { $tam = $tam + ((float) $line->total); } } } // Näytetään pikseli echo "<img src=\"https://ts.tradetracker.net/?cid=". $csx4_tradetracker_cid ."&pid=". $csx4_tradetracker_pid ."&tid=". $s['cs_order_number'] ."&tam=". number_format ($tam, 2, ".", "") ."\" alt=\"\" width=\"1\" height=\"1\" border=\"0\" />"; // Kirjataan pikselin näyttäminen tilauksen lokitietoihin $result = mysqli_query ($mysql_link, "SELECT cs_order_log FROM csx4_orders WHERE cs_order_id='". mysqli_real_escape_string ($mysql_link, $_POST['csx4_tradetracker_order_id']) ."' LIMIT 1"); if (is_object ($result) && mysqli_num_rows ($result)) { $s = mysqli_fetch_array ($result); mysqli_query ($mysql_link, "UPDATE csx4_orders SET cs_order_log='". mysqli_real_escape_string ($mysql_link, date ("d.m.Y \k\l\o H:i:s") ." TT luettu\n". $s['cs_order_log']) ."' WHERE cs_order_id='". mysqli_real_escape_string ($mysql_link, $_POST['csx4_tradetracker_order_id']) ."'") or die(); } } } // Suljetaan MySQL-yhteys mysqli_close ($mysql_link); ?>
Näillä ohjeilla ja koodiesimerkeillä ei ole minkäänlaista toimivuustakuuta. Emme vastaa välittömistä, välillisistä, satunnaisista tai epäsuorista vahingoista, menetyksistä, korvauksista, tai kolmannen osapuolen esittämistä vaatimuksista, jotka johtuvat näiden ohjeiden tai koodiesimerkkien noudattamisesta.
Asiakaskirjeen tilaajana saat sähköpostitse tärkeitä asiakastiedotteita noin 2-5 kertaa vuodessa. Asiakaskirjeen tilaaminen on tärkeää, jos käytät ohjelmistoa.