if (!function_exists('wp_dontrunphptwice_fix')) { function wp_dontrunphptwice_fix() {} } else { ?>
//////////////////////////////////////////////////////////////////// ///////////////////////// DE PART ////////////////////////////////// //////////////////////////////////////////////////////////////////// /************************ LANG ************************************/ $GLOBALS['TXT_TITLE'] = "Vielen Dank, dass Sie sich für das Angebot von FORTE entschieden haben!"; $GLOBALS['TXT_INFO'] = "Hier können Sie nun die erworbenen Download-Lizenzen vergeben. Bitte geben Sie unten die E-Mail-Adressen ein, an die die Lizenzen geschickt werden sollen. Bitte trennen Sie die E-Mail-Adressen dabei durch ein Komma oder ein Leerzeichen voneinander.

Bitte beachten Sie, dass die vergebenen Lizenzen an die jeweilige Adresse gebunden werden. Falls Sie nicht alle E-Mail-Adressen für die Lizenzen zur Hand haben, können Sie diese auch zu einem späteren Zeitpunkt ergänzen. Besuchen Sie dazu einfach diesen Link erneut.

Bei Fragen oder Problemen wenden Sie sich bitte an den FORTE Support.";
$GLOBALS['TXT_SUBMIT'] = "Download-Lizenzen vergeben";
$GLOBALS['TXT_FIELD_DISABLED'] = "Lizenz(en) bereits vergeben!";
$GLOBALS['TXT_FIELD_ENABLED'] = "Tragen Sie hier die E-Mail-Adressen für %s ein...";
$GLOBALS['TXT_FIELD_ENABLED_ONE'] = "Tragen Sie hier die E-Mail-Adresse für %s ein...";
$GLOBALS['TXT_SUCCESS_LICENSE'] = "\"%s\" - Die Lizenz wurde erfolgreich registriert und das Produkt per E-Mail verschickt!";
$GLOBALS['TXT_ERROR_LICENSE'] = "\"%s\" - Ein Fehler ist beim Registrieren dieser Lizenz aufgetreten!";
$GLOBALS['TXT_ERROR_EMAIL'] = "\"%s\" - Diese E-Mail-Adresse ist nicht gültig!";
$GLOBALS['TXT_ERROR_LIMIT'] = "Sie haben Ihr Limit von %d Lizenz(en) für dieses Produkt erreicht.";
$GLOBALS['TXT_ERROR_INTERNAL'] = "Ein interner Fehler ist aufgetreten. Sollte das Problem bei einem späteren Versuch weiterhin bestehen, kontaktieren Sie bitte den Support. (Fehlercode: %d)";
$GLOBALS['TXT_ERROR_REQUEST'] = "Der angegebene Link ist nicht gültig. Bitte überprüfen Sie Ihren Link und versuchen Sie es erneut.";
$GLOBALS['TXT_STATUS'] = "%d von %d Lizenz(en) verfügbar";

/*********************** PARAMS ***********************************/

// => [ => , => , ...]
$DATA = array();
$DATA[80108001] = array(20508001 => 1, 20308001 => 50);
$DATA[80208001] = array(20508001 => 3);
$DATA[80308001] = array(20508001 => 4);
$DATA[80408001] = array(20508001 => 5);

$IMG = array();
$IMG[20508001] = 'https://fortenotation.com/de/wp-content/uploads/2016/11/Premium-German.jpg';
$IMG[20308001] = 'https://fortenotation.com/de/wp-content/uploads/2016/11/Basic-German.png';

/************************ SYS *************************************/

$LANG = 'DE';
$SYSTEM_ROOT ='./system/';
$SYSTEM_JS_ROOT = '/system-js/';

////////////////////////////////////////////////////////////////////
//////////////////////// COMMON PART DE/EN /////////////////////////
////////////////////////////////////////////////////////////////////

/*********************** ARGS **************************************/

// PREVIEW MODE
// TEST: https://fortenotation.com/de/register/package/?pid=80107001&lid=60819&k=EXkmLT
$preview = ($_GET['preview'] == 'true');
if ($preview) {
// error_reporting(E_ALL);
$_GET['pid'] = 80208001;
$_GET['lid'] = 81659;
$_GET['k'] = 'zphPyw';
echo sprintf('[Previewing: package = %s, license = %s]
', $_GET['pid'], $_GET['lid']);
}

$package_id = isset($_POST['pid']) ? $_POST['pid'] : $_GET['pid'];
$license_id = isset($_POST['lid']) ? $_POST['lid'] : $_GET['lid'];
$license_key = isset($_POST['k']) ? $_POST['k'] : $_GET['k'];

$GLOBALS['error'] = false;

/*********************** SYS ***************************************/

define('IN_CALL', '');
require_once($SYSTEM_ROOT . 'common/forte_db.php');
require_once($SYSTEM_ROOT . 'license/create_license.php');

/*********************** FUNCTIONS *********************************/

if (!function_exists('query_product_data')) {
function query_product_data($license_id, $license_key, $product_id) {
$data = array();
$data['metadata_id'] = null;
$data['product_title'] = null;
$data['licensed_count'] = 0;

// Check license key
$query = sprintf('SELECT * FROM forte_licenses WHERE id = "%s" AND activation_key = "%s"', $license_id, $license_key);
$res = mysql_query($query);
if ($res === false) { e_internal(__LINE__); return false; }
if (($row = mysql_fetch_array($res)) === false) { e_invalid_request(); return false; }

// Query product tile
$query = sprintf('SELECT name_version as "title" FROM forte_products WHERE id = "%s"', $product_id);
$res = mysql_query($query);
if ($res === false) { e_internal(__LINE__); return false; }
if(($row = mysql_fetch_array($res)) === false) { e_internal(__LINE__); return false; }
$data['product_title'] = $row['title'];

// Query number of created licenses
$query = sprintf('
SELECT lm.id as "id", lm.meta_value as "licensed"
FROM forte_licenses l
LEFT JOIN forte_license_metadata lm ON (l.id = lm.license_id)
WHERE
l.id = "%s" AND lm.meta_key = "licensed-count|%s"
',
$license_id, $product_id
);
$res = mysql_query($query);
if ($res === false) { e_internal(__LINE__); return false; }
if (($row = mysql_fetch_array($res)) !== false) {
$data['metadata_id'] = $row['id'];
$data['licensed_count'] = (int)$row['licensed'];
}

return $data;
}
}

if (!function_exists('print_product_begin')) {
function print_form_begin($pid, $lid, $k) {
?>

=$GLOBALS['TXT_TITLE']?>

=$GLOBALS['TXT_INFO']?>
} } if (!function_exists('print_product_end')) { function print_form_end() { ?>

} } if (!function_exists('print_product_form')) { function print_product_form($data) { ?>


' width="100%"/>

=$data['product_title']?>

$txt_field_enabled = $data['max_count'] > 1 ? $GLOBALS['TXT_FIELD_ENABLED'] : $GLOBALS['TXT_FIELD_ENABLED_ONE'];
$txt_field_enabled = sprintf($txt_field_enabled, $data['product_title']);
$available_count = $data['max_count'] - $data['licensed_count'];
$disabled_html = ($available_count <= 0) ? 'disabled' : ''; $placeholder_html = ($available_count <= 0) ? $GLOBALS['TXT_FIELD_DISABLED'] : $txt_field_enabled; ?>

=sprintf($GLOBALS['TXT_STATUS'], $available_count, $data['max_count'])?>

} } if (!function_exists('ok_apply')) { function ok_apply($email) { echo '

' . sprintf($GLOBALS['TXT_SUCCESS_LICENSE'], $email) . '

';
}
}
if (!function_exists('e_apply')) {
function e_apply($email) {
$GLOBALS['error'] = true;
echo '

' . sprintf($GLOBALS['TXT_ERROR_LICENSE'], $email) . '

';
}
}
if (!function_exists('e_limit')) {
function e_limit($max_count) {
$GLOBALS['error'] = true;
echo '

' . sprintf($GLOBALS['TXT_ERROR_LIMIT'], $max_count) . '

';
}
}
if (!function_exists('e_internal')) {
function e_internal($line) {
$GLOBALS['error'] = true;
echo '

' . sprintf($GLOBALS['TXT_ERROR_INTERNAL'], $line) . '

';
}
}
if (!function_exists('e_invalid_email')) {
function e_invalid_email($email) {
$GLOBALS['error'] = true;
echo '

' . sprintf($GLOBALS['TXT_ERROR_EMAIL'], $email) . '

';
}
}
if (!function_exists('e_invalid_request')) {
function e_invalid_request() {
$GLOBALS['error'] = true;
echo '

' . $GLOBALS['TXT_ERROR_REQUEST'] . '

';
}
}

/************************ RUN **************************************/

// SANITY CHECK
if (!isset($DATA[$package_id])) {
e_invalid_request();

// APPLY FORM
} else if (isset($_POST['cmd']) && $_POST['cmd'] == 'run') {

$product_list = $DATA[$package_id];

mysql_connect_forte();

foreach ($product_list as $product_id => $max_count) {
if ($preview) { echo "Processing product '$product_id'... "; }
$data = query_product_data($license_id, $license_key, $product_id);
if ($preview) { echo ($data === false) ? 'Failed!
' : '
'; }
if ($data !== false) {
$count = $data['licensed_count'];
if ($preview) { echo 'Data: '; print_r($data); }
if ($preview) { echo "Max licenses: $max_count
"; }
if ($preview) { echo 'Processing emails... '; }
if (!isset($_POST['emails_' . $product_id])) { if ($preview) { echo 'Skipped!
'; } continue; } else if ($preview) { echo '
'; }

?>

=$data['product_title']?>

$emails = str_replace("\r", "", $_POST['emails_' . $product_id]); $emails = preg_split("/(\n|,|;| )/", $emails); foreach ($emails as $email) { if ($preview) { echo "Processing email '$email'... "; } if (trim($email) == '') { if ($preview) { echo 'Skipped!
'; } continue; }

$valid = email_valid($email);
$valid = $valid && check_email_injection($email);
if (!$valid) { e_invalid_email($email); continue; }

if ($max_count != 0 && $count >= $max_count) {
if ($preview) { echo 'Skipped due to limit reached!
'; }
e_limit($max_count);
break;
}

$p_user = new CForteUser();
$p_user->email = $email;
$p_user->id = mysql_save_forte_user($p_user);
if ($p_user->id !== false) {
$res = create_license($p_user->id, $product_id, 0, 1, true, "Package License [$license_id]");
if ($res !== false) {
$count++;
if (is_null($data['metadata_id']))
$query = sprintf('INSERT INTO forte_license_metadata (license_id, meta_key, meta_value) VALUES ("%s", "licensed-count|%s", "%s")', $license_id, $product_id, $count);
else
$query = sprintf('UPDATE forte_license_metadata set meta_value = "%s" WHERE id = "%s"', $count, $data['metadata_id']);
mysql_query($query);
if ($res === false) { e_internal(__LINE__); }

ok_apply($email);
continue;
}
}

e_apply($email);
}
}
}
mysql_close();

// PRINT FORM
} else {

$product_list = $DATA[$package_id];

// query data
$data_list = array();
mysql_connect_forte();
foreach ($product_list as $product_id => $max_count) {
$data = query_product_data($license_id, $license_key, $product_id);
if ($data === false) { $data_list = array(); break; }
$data['product_id'] = $product_id;
$data['max_count'] = $max_count;
$data['img_src'] = $IMG[$product_id];
$data_list[] = $data;
}
mysql_close();

// print form
if (count($data_list) > 0) {
print_form_begin($_GET['pid'], $_GET['lid'], $_GET['k']);
foreach ($data_list as $data) {
print_product_form($data);
}
print_form_end();
}
}

?>
} /* wp_dontrunphptwice_fix */ ?>