Geen probleem :-)
<?php
global $aIdealCheckout;
// Load database settings
require_once(dirname(__FILE__) . '/includes/init.php');
$aQueries = array();
// Add idealcheckout table
$aQueries[] = "CREATE TABLE IF NOT EXISTS `" . $aIdealCheckout['database']['table'] . "` (
`id` int(8) UNSIGNED NOT NULL AUTO_INCREMENT,
`order_id` VARCHAR(64) DEFAULT NULL,
`order_code` VARCHAR(64) DEFAULT NULL,
`order_params` TEXT DEFAULT NULL,
`store_code` VARCHAR(64) DEFAULT NULL,
`gateway_code` VARCHAR(64) DEFAULT NULL,
`language_code` VARCHAR(2) DEFAULT NULL,
`country_code` VARCHAR(2) DEFAULT NULL,
`currency_code` VARCHAR(3) DEFAULT NULL,
`transaction_id` VARCHAR(64) DEFAULT NULL,
`transaction_code` VARCHAR(64) DEFAULT NULL,
`transaction_params` TEXT DEFAULT NULL,
`transaction_date` INT(11) UNSIGNED DEFAULT NULL,
`transaction_amount` DECIMAL(10, 2) UNSIGNED DEFAULT NULL,
`transaction_description` VARCHAR(100) DEFAULT NULL,
`transaction_status` VARCHAR(16) DEFAULT NULL,
`transaction_url` VARCHAR(255) DEFAULT NULL,
`transaction_payment_url` VARCHAR(255) DEFAULT NULL,
`transaction_success_url` VARCHAR(255) DEFAULT NULL,
`transaction_pending_url` VARCHAR(255) DEFAULT NULL,
`transaction_failure_url` VARCHAR(255) DEFAULT NULL,
`transaction_log` TEXT DEFAULT NULL,
PRIMARY KEY (`id`));";
$query_html = '';
for($i = 0; $i < sizeof($aQueries); $i++)
{
if(idealcheckout_database_query($aQueries[$i]))
{
// Query success
}
else
{
$query_html .= '<b>Query:</b> ' . $aQueries[$i] . '<br><b>Error:</b> ' . idealcheckout_database_error() . '<br><br><br>';
}
}
// Insert plugins
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "plugin_products` SET `plugin_id` = NULL, `name` = 'iDEAL Checkout - iDEAL', `version` = '1.0.0', `description` = 'iDEAL Checkout Gateway', `url` = 'https://
www.ideal-checkout.nl';, `plugin_status` = '1', `code` = 'xt_idealcheckoutideal', `type` = 'payment';";
if(idealcheckout_database_query($sql))
{
$iPluginId = idealcheckout_database_insert_id();
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment` SET `payment_id` = NULL, `payment_code` = 'xt_idealcheckoutideal', `payment_dir` = 'xt_idealcheckoutideal', `payment_icon` = NULL, `payment_tax_class` = '1', `payment_tpl` = NULL, `status` = '1', `sort_order` = '1', `plugin_required` = '0', `plugin_installed = '" . $iPluginId . "';";
if(idealcheckout_database_query($sql))
{
$iPaymentId = idealcheckout_database_insert_id();
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_description` SET `payment_id` = '" . $iPaymentId . "', `language_code` = 'nl', `payment_name` = 'iDEAL';";
idealcheckout_database_query($sql);
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_description` SET `payment_id` = '" . $iPaymentId . "', `language_code` = 'en', `payment_name` = 'iDEAL';";
idealcheckout_database_query($sql);
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_cost` SET `payment_cost_id` = NULL, `payment_id` = '" . $iPaymentId . "', `payment_geo_zone` = '0', `payment_country_code` = NULL, `payment_type_value_from` = '0.00', `payment_type_value_to` = '0.00', `payment_price` = '0.0000', `payment_cost_discount` = '0', `payment_cost_percent` = '0', `payment_allowed` = '1';
idealcheckout_database_query($sql);
}
else
{
$query_html .= '<b>Query:</b> ' . $sql . '<br><b>Error:</b> ' . idealcheckout_database_error() . '<br><br><br>';
}
}
else
{
$query_html .= '<b>Query:</b> ' . $sql . '<br><b>Error:</b> ' . idealcheckout_database_error() . '<br><br><br>';
}
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "plugin_products` SET `plugin_id` = NULL, `name` = 'iDEAL Checkout - MisterCash', `version` = '1.0.0', `description` = 'iDEAL Checkout Gateway', `url` = 'https://
www.ideal-checkout.nl';, `plugin_status` = '1', `code` = 'xt_idealcheckoutmistercash', `type` = 'payment';";
if(idealcheckout_database_query($sql))
{
$iPluginId = idealcheckout_database_insert_id();
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment` SET `payment_id` = NULL, `payment_code` = 'xt_idealcheckoutmistercash', `payment_dir` = 'xt_idealcheckoutmistercash', `payment_icon` = NULL, `payment_tax_class` = '1', `payment_tpl` = NULL, `status` = '0', `sort_order` = '2', `plugin_required` = '0', `plugin_installed = '" . $iPluginId . "';";
if(idealcheckout_database_query($sql))
{
$iPaymentId = idealcheckout_database_insert_id();
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_description` SET `payment_id` = '" . $iPaymentId . "', `language_code` = 'nl', `payment_name` = 'MisterCash';";
idealcheckout_database_query($sql);
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_description` SET `payment_id` = '" . $iPaymentId . "', `language_code` = 'en', `payment_name` = 'MisterCash';";
idealcheckout_database_query($sql);
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_cost` SET `payment_cost_id` = NULL, `payment_id` = '" . $iPaymentId . "', `payment_geo_zone` = '0', `payment_country_code` = NULL, `payment_type_value_from` = '0.00', `payment_type_value_to` = '0.00', `payment_price` = '0.0000', `payment_cost_discount` = '0', `payment_cost_percent` = '0', `payment_allowed` = '1';
idealcheckout_database_query($sql);
}
else
{
$query_html .= '<b>Query:</b> ' . $sql . '<br><b>Error:</b> ' . idealcheckout_database_error() . '<br><br><br>';
}
}
else
{
$query_html .= '<b>Query:</b> ' . $sql . '<br><b>Error:</b> ' . idealcheckout_database_error() . '<br><br><br>';
}
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "plugin_products` SET `plugin_id` = NULL, `name` = 'iDEAL Checkout - Direct E-Banking', `version` = '1.0.0', `description` = 'iDEAL Checkout Gateway', `url` = 'https://
www.ideal-checkout.nl';, `plugin_status` = '1', `code` = 'xt_idealcheckoutdirectebanking', `type` = 'payment';";
if(idealcheckout_database_query($sql))
{
$iPluginId = idealcheckout_database_insert_id();
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment` SET `payment_id` = NULL, `payment_code` = 'xt_idealcheckoutdirectebanking', `payment_dir` = 'xt_idealcheckoutdirectebanking', `payment_icon` = NULL, `payment_tax_class` = '1', `payment_tpl` = NULL, `status` = '0', `sort_order` = '3', `plugin_required` = '0', `plugin_installed = '" . $iPluginId . "';";
if(idealcheckout_database_query($sql))
{
$iPaymentId = idealcheckout_database_insert_id();
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_description` SET `payment_id` = '" . $iPaymentId . "', `language_code` = 'nl', `payment_name` = 'Direct E-Banking';";
idealcheckout_database_query($sql);
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_description` SET `payment_id` = '" . $iPaymentId . "', `language_code` = 'en', `payment_name` = 'Direct E-Banking';";
idealcheckout_database_query($sql);
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_cost` SET `payment_cost_id` = NULL, `payment_id` = '" . $iPaymentId . "', `payment_geo_zone` = '0', `payment_country_code` = NULL, `payment_type_value_from` = '0.00', `payment_type_value_to` = '0.00', `payment_price` = '0.0000', `payment_cost_discount` = '0', `payment_cost_percent` = '0', `payment_allowed` = '1';
idealcheckout_database_query($sql);
}
else
{
$query_html .= '<b>Query:</b> ' . $sql . '<br><b>Error:</b> ' . idealcheckout_database_error() . '<br><br><br>';
}
}
else
{
$query_html .= '<b>Query:</b> ' . $sql . '<br><b>Error:</b> ' . idealcheckout_database_error() . '<br><br><br>';
}
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "plugin_products` SET `plugin_id` = NULL, `name` = 'iDEAL Checkout - Credit Card', `version` = '1.0.0', `description` = 'iDEAL Checkout Gateway', `url` = 'https://
www.ideal-checkout.nl';, `plugin_status` = '1', `code` = 'xt_idealcheckoutcreditcard', `type` = 'payment';";
if(idealcheckout_database_query($sql))
{
$iPluginId = idealcheckout_database_insert_id();
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment` SET `payment_id` = NULL, `payment_code` = 'xt_idealcheckoutcreditcard', `payment_dir` = 'xt_idealcheckoutcreditcard', `payment_icon` = NULL, `payment_tax_class` = '1', `payment_tpl` = NULL, `status` = '0', `sort_order` = '4', `plugin_required` = '0', `plugin_installed = '" . $iPluginId . "';";
if(idealcheckout_database_query($sql))
{
$iPaymentId = idealcheckout_database_insert_id();
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_description` SET `payment_id` = '" . $iPaymentId . "', `language_code` = 'nl', `payment_name` = 'Credit Card';";
idealcheckout_database_query($sql);
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_description` SET `payment_id` = '" . $iPaymentId . "', `language_code` = 'en', `payment_name` = 'Credit Card';";
idealcheckout_database_query($sql);
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_cost` SET `payment_cost_id` = NULL, `payment_id` = '" . $iPaymentId . "', `payment_geo_zone` = '0', `payment_country_code` = NULL, `payment_type_value_from` = '0.00', `payment_type_value_to` = '0.00', `payment_price` = '0.0000', `payment_cost_discount` = '0', `payment_cost_percent` = '0', `payment_allowed` = '1';
idealcheckout_database_query($sql);
}
else
{
$query_html .= '<b>Query:</b> ' . $sql . '<br><b>Error:</b> ' . idealcheckout_database_error() . '<br><br><br>';
}
}
else
{
$query_html .= '<b>Query:</b> ' . $sql . '<br><b>Error:</b> ' . idealcheckout_database_error() . '<br><br><br>';
}
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "plugin_products` SET `plugin_id` = NULL, `name` = 'iDEAL Checkout - MiniTix', `version` = '1.0.0', `description` = 'iDEAL Checkout Gateway', `url` = 'https://
www.ideal-checkout.nl';, `plugin_status` = '1', `code` = 'xt_idealcheckoutminitix', `type` = 'payment';";
if(idealcheckout_database_query($sql))
{
$iPluginId = idealcheckout_database_insert_id();
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment` SET `payment_id` = NULL, `payment_code` = 'xt_idealcheckoutminitix', `payment_dir` = 'xt_idealcheckoutminitix', `payment_icon` = NULL, `payment_tax_class` = '1', `payment_tpl` = NULL, `status` = '0', `sort_order` = '5', `plugin_required` = '0', `plugin_installed = '" . $iPluginId . "';";
if(idealcheckout_database_query($sql))
{
$iPaymentId = idealcheckout_database_insert_id();
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_description` SET `payment_id` = '" . $iPaymentId . "', `language_code` = 'nl', `payment_name` = 'MiniTix';";
idealcheckout_database_query($sql);
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_description` SET `payment_id` = '" . $iPaymentId . "', `language_code` = 'en', `payment_name` = 'MiniTix';";
idealcheckout_database_query($sql);
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_cost` SET `payment_cost_id` = NULL, `payment_id` = '" . $iPaymentId . "', `payment_geo_zone` = '0', `payment_country_code` = NULL, `payment_type_value_from` = '0.00', `payment_type_value_to` = '0.00', `payment_price` = '0.0000', `payment_cost_discount` = '0', `payment_cost_percent` = '0', `payment_allowed` = '1';
idealcheckout_database_query($sql);
}
else
{
$query_html .= '<b>Query:</b> ' . $sql . '<br><b>Error:</b> ' . idealcheckout_database_error() . '<br><br><br>';
}
}
else
{
$query_html .= '<b>Query:</b> ' . $sql . '<br><b>Error:</b> ' . idealcheckout_database_error() . '<br><br><br>';
}
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "plugin_products` SET `plugin_id` = NULL, `name` = 'iDEAL Checkout - PayPal', `version` = '1.0.0', `description` = 'iDEAL Checkout Gateway', `url` = 'https://
www.ideal-checkout.nl';, `plugin_status` = '1', `code` = 'xt_idealcheckoutpaypal', `type` = 'payment';";
if(idealcheckout_database_query($sql))
{
$iPluginId = idealcheckout_database_insert_id();
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment` SET `payment_id` = NULL, `payment_code` = 'xt_idealcheckoutpaypal', `payment_dir` = 'xt_idealcheckoutpaypal', `payment_icon` = NULL, `payment_tax_class` = '1', `payment_tpl` = NULL, `status` = '0', `sort_order` = '6', `plugin_required` = '0', `plugin_installed = '" . $iPluginId . "';";
if(idealcheckout_database_query($sql))
{
$iPaymentId = idealcheckout_database_insert_id();
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_description` SET `payment_id` = '" . $iPaymentId . "', `language_code` = 'nl', `payment_name` = 'PayPal';";
idealcheckout_database_query($sql);
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_description` SET `payment_id` = '" . $iPaymentId . "', `language_code` = 'en', `payment_name` = 'PayPal';";
idealcheckout_database_query($sql);
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_cost` SET `payment_cost_id` = NULL, `payment_id` = '" . $iPaymentId . "', `payment_geo_zone` = '0', `payment_country_code` = NULL, `payment_type_value_from` = '0.00', `payment_type_value_to` = '0.00', `payment_price` = '0.0000', `payment_cost_discount` = '0', `payment_cost_percent` = '0', `payment_allowed` = '1';
idealcheckout_database_query($sql);
}
else
{
$query_html .= '<b>Query:</b> ' . $sql . '<br><b>Error:</b> ' . idealcheckout_database_error() . '<br><br><br>';
}
}
else
{
$query_html .= '<b>Query:</b> ' . $sql . '<br><b>Error:</b> ' . idealcheckout_database_error() . '<br><br><br>';
}
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "plugin_products` SET `plugin_id` = NULL, `name` = 'iDEAL Checkout - PaySafeCard', `version` = '1.0.0', `description` = 'iDEAL Checkout Gateway', `url` = 'https://
www.ideal-checkout.nl';, `plugin_status` = '1', `code` = 'xt_idealcheckoutpaysafecard', `type` = 'payment';";
if(idealcheckout_database_query($sql))
{
$iPluginId = idealcheckout_database_insert_id();
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment` SET `payment_id` = NULL, `payment_code` = 'xt_idealcheckoutpaysafecard', `payment_dir` = 'xt_idealcheckoutpaysafecard', `payment_icon` = NULL, `payment_tax_class` = '1', `payment_tpl` = NULL, `status` = '0', `sort_order` = '7', `plugin_required` = '0', `plugin_installed = '" . $iPluginId . "';";
if(idealcheckout_database_query($sql))
{
$iPaymentId = idealcheckout_database_insert_id();
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_description` SET `payment_id` = '" . $iPaymentId . "', `language_code` = 'nl', `payment_name` = 'PaySafeCard';";
idealcheckout_database_query($sql);
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_description` SET `payment_id` = '" . $iPaymentId . "', `language_code` = 'en', `payment_name` = 'PaySafeCard';";
idealcheckout_database_query($sql);
$sql = "INSERT INTO `" . $aIdealCheckout['database']['prefix'] . "payment_cost` SET `payment_cost_id` = NULL, `payment_id` = '" . $iPaymentId . "', `payment_geo_zone` = '0', `payment_country_code` = NULL, `payment_type_value_from` = '0.00', `payment_type_value_to` = '0.00', `payment_price` = '0.0000', `payment_cost_discount` = '0', `payment_cost_percent` = '0', `payment_allowed` = '1';
idealcheckout_database_query($sql);
}
else
{
$query_html .= '<b>Query:</b> ' . $sql . '<br><b>Error:</b> ' . idealcheckout_database_error() . '<br><br><br>';
}
}
else
{
$query_html .= '<b>Query:</b> ' . $sql . '<br><b>Error:</b> ' . idealcheckout_database_error() . '<br><br><br>';
}
// Validate files & directories
$sBasePath = dirname(__FILE__);
$aPaths = array();
// Gateway files
$aPaths[] = array('path' => $sBasePath . '/certificates', 'write' => false);
$aPaths[] = array('path' => $sBasePath . '/configuration', 'write' => false);
$aPaths[] = array('path' => $sBasePath . '/gateways', 'write' => false);
$aPaths[] = array('path' => $sBasePath . '/gateways/gateway.core.cls.4.php', 'write' => false);
$aPaths[] = array('path' => $sBasePath . '/gateways/gateway.core.cls.5.php', 'write' => false);
$aPaths[] = array('path' => $sBasePath . '/images', 'write' => false);
$aPaths[] = array('path' => $sBasePath . '/images/ideal.gif', 'write' => false);
$aPaths[] = array('path' => $sBasePath . '/temp', 'write' => true);
$aPaths[] = array('path' => $sBasePath . '/.htaccess', 'write' => false);
$aPaths[] = array('path' => $sBasePath . '/includes/init.php', 'write' => false);
$aPaths[] = array('path' => $sBasePath . '/index.html', 'write' => false);
$aPaths[] = array('path' => $sBasePath . '/report.php', 'write' => false);
$aPaths[] = array('path' => $sBasePath . '/return.php', 'write' => false);
$aPaths[] = array('path' => $sBasePath . '/setup.php', 'write' => false);
$aPaths[] = array('path' => $sBasePath . '/transaction.php', 'write' => false);
$aPaths[] = array('path' => $sBasePath . '/validate.php', 'write' => false);
$files_html = '';
for($i = 0; $i < sizeof($aPaths); $i++)
{
if(is_file($aPaths[$i]['path']))
{
if($aPaths[$i]['write'] && !is_writable($aPaths[$i]['path']))
{
$files_html .= 'File <b>' . $aPaths[$i]['path'] . '</b> not writable.<br>';
}
}
elseif(is_dir($aPaths[$i]['path']))
{
if($aPaths[$i]['write'] && !is_writable($aPaths[$i]['path']))
{
$files_html .= 'Directory <b>' . $aPaths[$i]['path'] . '</b> not writable.<br>';
}
}
else
{
$files_html .= 'File <b>' . $aPaths[$i]['path'] . '</b> does not exist.<br>';
}
}
echo '
<h1>INSTALL LOG</h1>
<p style="color: red;">Please remove this file (FTP: /idealcheckout/install.php) after installation!</p>
<p> </p>
<h3>Queries:</h3>
<code>' . ($query_html ? $query_html : 'No warnings found') . '</code>
<p> </p>
<h3>Files & Folders:</h3>
<code>' . ($files_html ? $files_html : 'No warnings found') . '</code>
<h3>Server checks:</h3>
<code>PHP Version: ' . PHP_VERSION . '<br>OPENSSL Library: ' . (function_exists('openssl_sign') ? 'Installed' : 'Not installed') . '<br>FSOCK Library: ' . (function_exists('fsockopen') ? 'Installed' : 'Not installed') . '<br>CURL Library: ' . (function_exists('curl_init') ? 'Installed' : 'Not installed') . '</code>';
?>