<?php
/**
 *
 * Copyright (C) Die Randgruppe GmbH
 *
 * http://www.randshop.com
 * http://www.dierandgruppe.com
 *
 * Unter der Lizenz von Die Randgruppe GmbH:
 * http://www.randshop.com/Lizenz
 *
 */

include_once(DATEIPFAD . 'includes/functions.shopeinstellung.inc.php');

define('EASYMARKETING_API_URL', 'https://api.easymarketing.de/');

function getCategoryChildIdsArray($parentId) {

    // Alle Kategorien einlesen, die unter der angegebenen sind.
    $SQLString = "SELECT id FROM " . TABLE_KATEGORIE . " WHERE parentid = '" . $parentId . "' AND aktiv = 1 ORDER BY id ASC";
    $MySQLQueryReference = errorlogged_mysql_query($SQLString);

    $KategorieIDArray = array();
    while ($KategorieObject = mysql_fetch_object($MySQLQueryReference)) {
        $KategorieIDArray[] = intval($KategorieObject->id);
    }
    return $KategorieIDArray;
}

function getShopToken() {
    return substr(md5(URLPFAD), 10, 16);
}

function getMostSoldSince($timestamp, $limit) {
    $SQLString = 'SELECT ' . TABLE_WARENKORB . '.artikel_id as id, SUM(' . TABLE_WARENKORB . '.menge) as sales ';
    $SQLString .= 'FROM ' . TABLE_BESTELLEN . ' INNER JOIN ' . TABLE_WARENKORB . ' ON ' . TABLE_BESTELLEN . '.session = ' . TABLE_WARENKORB . '.session ';
    $SQLString .= ' WHERE UNIX_TIMESTAMP(' . TABLE_BESTELLEN . '.auftragsdatum) >= ' . intval($timestamp) . ' AND ' . TABLE_BESTELLEN . '.stornierdatum = 0';
    $SQLString .= ' AND ' . TABLE_WARENKORB . '.menge > 0';
    $SQLString .= ' GROUP BY ' . TABLE_WARENKORB . '.artikel_id';
    $SQLString .= ' ORDER BY sales DESC';
    $SQLString .= ' LIMIT 0, ' . intval($limit);
    $result = errorlogged_mysql_query($SQLString);

    $products = array();
    while($artikel = mysql_fetch_object($result)) {
        $artikel->sales = floatval($artikel->sales);
        $products[] = $artikel;
    }
    return $products;
}

function doEasymarketingAPICallPost($service, $access_token, $paramObj) {
    $ch = curl_init(EASYMARKETING_API_URL . $service);

    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Accept: application/vnd.easymarketing.com; version=1',
        'Authorization: Token token="' . $access_token . '"'));
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($paramObj));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);
    file_put_contents(DATEIPFAD . 'admin/data/logs/easymarketing.log', $result);
    curl_close($ch);
    return json_decode($result);
}

function doEasymarketingAPICallGet($service, $paramArray) {
    $url = EASYMARKETING_API_URL . $service . '?' . http_build_query($paramArray);
    $ch = curl_init(EASYMARKETING_API_URL . $service . '?' . http_build_query($paramArray));
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);
//    file_put_contents(DATEIPFAD . 'admin/data/logs/easymarketing.log', $result);
    curl_close($ch);
    return json_decode($result);
}

function getEasymarketingTestArtikelID() {
    $SQLString = 'SELECT id FROM ' . TABLE_ARTIKEL . ' WHERE aktiv = 1 limit 0, 1';
    $result = mysql_fetch_array(errorlogged_mysql_query($SQLString));
    return $result[0];
}

function getConversionTrackerCode($preis) {
    $einstellungen = GetEinstellungen('', 'easymarketing');
    if($einstellungen->easymarketing->access_token && $einstellungen->easymarketing->conversion_tracker_code) {
        return str_replace('var google_conversion_value = 0;', 'var google_conversion_value = ' . $preis . ';', $einstellungen->easymarketing->conversion_tracker_code);
    } else {
        return false;
    }
}