|
ECB SEO SHOP SOFTWARE - IMEDES SOFTWARE DOWNLOADS
*****************************************
* *
* INSTALLATION-GUIDE *
* *
*****************************************
* @package Zubehörmodul *
* @compatible SP2.1 *
*****************************************
--------------
NEW FILES:
--------------
admin/accessories.php
admin/includes/javascript/DynPrice.js
inc/xtc_get_default_attributes.inc.php
includes/functions/database.php
includes/modules/product_accessories.php
lang/english/admin/accessories.php
lang/german/admin/accessories.php
templates/xtc4/module/accessories.html
templates/xtc4/module/product_info/product_info_zubehoer.html
--------------
NEW DIRS:
--------------
imedes_library
includes/classes/adodb_full
--------------
CHANGED FILES:
--------------
admin/includes/application_top.php
admin/includes/column_left.php
admin/includes/functions/sessions.php
admin/includes/stylesheet.css
includes/application_top.php
includes/cart_actions.php
includes/classes/product.php
includes/database_tables.php
includes/filenames.php
includes/functions/sessions.php
includes/modules/product_info.php
lang/english/admin/english.php
lang/english/lang_english.conf
lang/german/admin/german.php
lang/german/lang_german.conf
-------------
INSTALLATION:
-------------
1. Datenkbankerweiterungen durchführen
ALTER TABLE admin_access ADD(accessories int(1) default '0');
UPDATE admin_access SET accessories = 1 WHERE customers_id = 1;
CREATE TABLE accessories (
id int(11) NOT NULL auto_increment,
head_product_id int(11) NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
CREATE TABLE accessories_products (
id int(11) NOT NULL auto_increment,
accessories_id int(11) NOT NULL,
product_id int(11) NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
2. new_files kopieren.
3. changed_files kopieren, oder bei nicht standard-version folgende änderungen durchführen:
-admin/includes/application_top.php
---------------------------------------------------------------------------------------------------
finde folgendes:
define('FILENAME_XSELL_GROUPS','cross_sell_groups.php');
und füge danach ein:
define('FILENAME_ACCESSORIES', 'accessories.php');
define('TABLE_ACCESSORIES', 'accessories');
define('TABLE_ACCESSORIES_PRODUCTS', 'accessories_products');
---------------------------------------------------------------------------------------------------
Achtung!!!! Diese folgende Änderung ist nur notwendig, wenn Sie bisher noch KEINE Bibliothek von Imedes
erworben haben, welches unter einer Bezahllizenz steht. Falls Sie nicht sicher sind, dann schauen Sie
einfach in den Quellcode der entsprechenden Datei oder sprechen uns einfach an
finde folgendes:
require_once(DIR_FS_INC . 'xtc_db_connect.inc.php');
require_once(DIR_FS_INC . 'xtc_db_close.inc.php');
require_once(DIR_FS_INC . 'xtc_db_error.inc.php');
require_once(DIR_FS_INC . 'xtc_db_query.inc.php');
require_once(DIR_FS_INC . 'xtc_db_queryCached.inc.php');
require_once(DIR_FS_INC . 'xtc_db_perform.inc.php');
require_once(DIR_FS_INC . 'xtc_db_fetch_array.inc.php');
require_once(DIR_FS_INC . 'xtc_db_num_rows.inc.php');
require_once(DIR_FS_INC . 'xtc_db_data_seek.inc.php');
require_once(DIR_FS_INC . 'xtc_db_insert_id.inc.php');
require_once(DIR_FS_INC . 'xtc_db_free_result.inc.php');
require_once(DIR_FS_INC . 'xtc_db_fetch_fields.inc.php');
require_once(DIR_FS_INC . 'xtc_db_output.inc.php');
require_once(DIR_FS_INC . 'xtc_db_input.inc.php');
und ersetze es mit:
require_once('../'.DIR_WS_FUNCTIONS.'database.php');
//require_once(DIR_FS_INC . 'xtc_db_connect.inc.php');
//require_once(DIR_FS_INC . 'xtc_db_close.inc.php');
//require_once(DIR_FS_INC . 'xtc_db_error.inc.php');
//require_once(DIR_FS_INC . 'xtc_db_query.inc.php');
//require_once(DIR_FS_INC . 'xtc_db_queryCached.inc.php');
//require_once(DIR_FS_INC . 'xtc_db_perform.inc.php');
//require_once(DIR_FS_INC . 'xtc_db_fetch_array.inc.php');
//require_once(DIR_FS_INC . 'xtc_db_num_rows.inc.php');
//require_once(DIR_FS_INC . 'xtc_db_data_seek.inc.php');
//require_once(DIR_FS_INC . 'xtc_db_insert_id.inc.php');
//require_once(DIR_FS_INC . 'xtc_db_free_result.inc.php');
//require_once(DIR_FS_INC . 'xtc_db_fetch_fields.inc.php');
//require_once(DIR_FS_INC . 'xtc_db_output.inc.php');
//require_once(DIR_FS_INC . 'xtc_db_input.inc.php');
---------------------------------------------------------------------------------------------------
Achtung!!!! Diese folgende Änderung ist nur notwendig, wenn Sie bisher noch KEINE Bibliothek von Imedes
erworben haben, welches unter einer Bezahllizenz steht. Falls Sie nicht sicher sind, dann schauen Sie
einfach in den Quellcode der entsprechenden Datei oder sprechen uns einfach an
finde folgendes:
xtc_db_connect() or die('Unable to connect to database server!');
und ersetze es mit:
require_once (DIR_FS_CATALOG.'imedes_library/db_connect_alt_admin.php');
db_connect_alt() or die('Unable to connect to database server!');
global $ADODB_FETCH_MODE;
$ADODB_FETCH_MODE=ADODB_FETCH_ASSOC;
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-admin/includes/column_left.php
---------------------------------------------------------------------------------------------------
finde folgendes:
if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['products_expected'] == '1')) echo '<a href="' . xtc_href_link(FILENAME_PRODUCTS_EXPECTED, '', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_PRODUCTS_EXPECTED . '</a><br>';
und füge danach ein:
if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['accessories'] == '1')) echo '<a href="' . xtc_href_link(FILENAME_ACCESSORIES, '', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_ACCESSORIES . '</a><br>';
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-admin/includes/functions/sessions.php
---------------------------------------------------------------------------------------------------
Achtung!!!! Diese folgende Änderung ist nur notwendig, wenn Sie bisher noch KEINE Bibliothek von Imedes
erworben haben, welches unter einer Bezahllizenz steht. Falls Sie nicht sicher sind, dann schauen Sie
einfach in den Quellcode der entsprechenden Datei oder sprechen uns einfach an
finde folgendes:
function _sess_write($key, $val) {
global $SESS_LIFE;
und füge danach ein:
if(!is_object($db)){// Vermutlich wird das $db objekt gelöscht, bevor die Session geschrieben wird
global$db;
require_once (DIR_FS_CATALOG.'imedes_library/db_connect_alt_admin.php');
db_connect_alt() or die('Unable to connect to database server!');
$db->Execute("SET NAMES '".$_SESSION['language_charset']."'");
$db->Execute("SET CHARACTER_SET_CLIENT=".$_SESSION['language_charset']);
$db->Execute("SET CHARACTER_SET_RESULTS=".$_SESSION['language_charset']);
}
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-admin/includes/stylesheet.css
---------------------------------------------------------------------------------------------------
am Ende einfügen:
.access_step_cc {background-color:#dddddd; padding-left:5px; padding-right:10px;}
.access_step_c2 {padding-left:5px; padding-right:10px;}
.dataTableContentRow_acc {
font-family: Verdana, Arial, sans-serif;
font-size: 10px;
color: #000000;
vertical-align: top;
border-bottom: 1px dashed #cccccc;
padding:5px;
}
.mouseOut {
border:1px solid #CCCCCC;
}
.mouseIn {
border:1px solid #999999;
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-includes/application_top.php
---------------------------------------------------------------------------------------------------
Achtung!!!! Diese folgende Änderung ist nur notwendig, wenn Sie bisher noch KEINE Bibliothek von Imedes
erworben haben, welches unter einer Bezahllizenz steht. Falls Sie nicht sicher sind, dann schauen Sie
einfach in den Quellcode der entsprechenden Datei oder sprechen uns einfach an
finde folgendes:
require_once (DIR_FS_INC.'xtc_db_connect.inc.php');
require_once (DIR_FS_INC.'xtc_db_close.inc.php');
require_once (DIR_FS_INC.'xtc_db_error.inc.php');
require_once (DIR_FS_INC.'xtc_db_perform.inc.php');
require_once (DIR_FS_INC.'xtc_db_query.inc.php');
require_once (DIR_FS_INC.'xtc_db_queryCached.inc.php');
require_once (DIR_FS_INC.'xtc_db_fetch_array.inc.php');
require_once (DIR_FS_INC.'xtc_db_num_rows.inc.php');
require_once (DIR_FS_INC.'xtc_db_data_seek.inc.php');
require_once (DIR_FS_INC.'xtc_db_insert_id.inc.php');
require_once (DIR_FS_INC.'xtc_db_free_result.inc.php');
require_once (DIR_FS_INC.'xtc_db_fetch_fields.inc.php');
require_once (DIR_FS_INC.'xtc_db_output.inc.php');
require_once (DIR_FS_INC.'xtc_db_input.inc.php');
und ersetze es mit.
require_once(DIR_WS_FUNCTIONS.'database.php');
// require_once (DIR_FS_INC.'xtc_db_connect.inc.php');
// require_once (DIR_FS_INC.'xtc_db_close.inc.php');
// require_once (DIR_FS_INC.'xtc_db_error.inc.php');
// require_once (DIR_FS_INC.'xtc_db_perform.inc.php');
// require_once (DIR_FS_INC.'xtc_db_query.inc.php');
// require_once (DIR_FS_INC.'xtc_db_queryCached.inc.php');
// require_once (DIR_FS_INC.'xtc_db_fetch_array.inc.php');
// require_once (DIR_FS_INC.'xtc_db_num_rows.inc.php');
// require_once (DIR_FS_INC.'xtc_db_data_seek.inc.php');
// require_once (DIR_FS_INC.'xtc_db_insert_id.inc.php');
// require_once (DIR_FS_INC.'xtc_db_free_result.inc.php');
// require_once (DIR_FS_INC.'xtc_db_fetch_fields.inc.php');
// require_once (DIR_FS_INC.'xtc_db_output.inc.php');
// require_once (DIR_FS_INC.'xtc_db_input.inc.php');
---------------------------------------------------------------------------------------------------
Achtung!!!! Diese folgende Änderung ist nur notwendig, wenn Sie bisher noch KEINE Bibliothek von Imedes
erworben haben, welches unter einer Bezahllizenz steht. Falls Sie nicht sicher sind, dann schauen Sie
einfach in den Quellcode der entsprechenden Datei oder sprechen uns einfach an
finde folgendes:
xtc_db_connect() or die('Unable to connect to database server!');
und ersetze es mit:
require_once (DIR_FS_CATALOG.'imedes_library/db_connect_alt.php');
db_connect_alt() or die('Unable to connect to database server!');
global $ADODB_FETCH_MODE;
$ADODB_FETCH_MODE=ADODB_FETCH_ASSOC;
---------------------------------------------------------------------------------------------------
Achtung!!!! Diese folgende Änderung ist nur notwendig, wenn Sie bisher noch KEINE Bibliothek von Imedes
erworben haben, welches unter einer Bezahllizenz steht. Falls Sie nicht sicher sind, dann schauen Sie
einfach in den Quellcode der entsprechenden Datei oder sprechen uns einfach an
finde folgendes:
// include the language translations
require (DIR_WS_LANGUAGES.$_SESSION['language'].'/'.$_SESSION['language'].'.php');
und füge danach ein:
$db->Execute("SET NAMES '".$_SESSION['language_charset']."'");
$db->Execute("SET CHARACTER_SET_CLIENT=".$_SESSION['language_charset']);
$db->Execute("SET CHARACTER_SET_RESULTS=".$_SESSION['language_charset']);
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-includes/cart_actions.php
---------------------------------------------------------------------------------------------------
finde folgendes:
Released under the GNU General Public License
---------------------------------------------------------------------------------------*/
und füge danach ein:
require_once (DIR_FS_INC.'xtc_get_default_attributes.inc.php');
---------------------------------------------------------------------------------------------------
finde folgendes:
case 'add_product' :
if (isset ($_POST['products_id']) && is_numeric($_POST['products_id'])) {
if ($_POST['products_qty'] > MAX_PRODUCTS_QTY)
$_POST['products_qty'] = MAX_PRODUCTS_QTY;
und ersetze es mit:
case 'add_product' :
if (isset($_POST['products_id'])) {
$pids = count($_POST['products_id']);
for($i=0; $i<$pids; $i++){
if ($_POST['products_qty'][$i] > MAX_PRODUCTS_QTY)
$_POST['products_qty'][$i] = MAX_PRODUCTS_QTY;
}
---------------------------------------------------------------------------------------------------
finde folgendes:
$_SESSION['cart']->add_cart((int) $_POST['products_id'], $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'], $_POST['id'])) + xtc_remove_non_numeric($_POST['products_qty']), $_POST['id']);
und ersetze es mit:
for($i=0; $i<$pids; $i++){
if ($i==0)
$_SESSION['cart']->add_cart((int)$_POST['products_id'][$i], $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'][$i], $_POST['id'])) + xtc_remove_non_numeric($_POST['products_qty']), $_POST['id']);
else {
$attr=xtc_get_default_attributes((int)$_POST['products_id'][$i]);
$_SESSION['cart']->add_cart((int)$_POST['products_id'][$i], $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'][$i], $attr)) + xtc_remove_non_numeric($_POST['products_qty']), $attr);
//$_SESSION['cart']->add_cart((int)$_POST['products_id'][$i], $_SESSION['cart']->get_quantity(xtc_get_uprid($_POST['products_id'][$i], $_POST['id'])) + xtc_remove_non_numeric($_POST['products_qty_'.$_POST['products_id'][$i]]), $_POST['id']);
}
}
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-includes/classes/product.php
---------------------------------------------------------------------------------------------------
finde folgendes:
function buildDataArray(&$array,$image='thumbnail') {
und füge davor ein:
function getAccessoriesCount() {
$products_accessories_query = xtDBquery("SELECT COUNT(ap.id) AS total
FROM ".TABLE_ACCESSORIES_PRODUCTS." ap, ".TABLE_ACCESSORIES." a
WHERE a.head_product_id = '".$this->pID."'
AND a.id = ap.accessories_id");
$products_accessories = xtc_db_fetch_array($products_accessories_query, true);
return $products_accessories['total'];
}
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-includes/database_tables.php
---------------------------------------------------------------------------------------------------
finde folgendes:
define('TABLE_CAMPAIGNS_IP','campaigns_ip');
und füge danach ein:
define('TABLE_ACCESSORIES', 'accessories');
define('TABLE_ACCESSORIES_PRODUCTS', 'accessories_products');
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-includes/filenames.php
---------------------------------------------------------------------------------------------------
finde folgendes:
define('FILENAME_BANNER', 'banners.php');
und füge danach ein:
define('FILENAME_ACCESSORIES', 'accessories.php');
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-includes/functions/sessions.php
---------------------------------------------------------------------------------------------------
Achtung!!!! Diese folgende Änderung ist nur notwendig, wenn Sie bisher noch KEINE Bibliothek von Imedes
erworben haben, welches unter einer Bezahllizenz steht. Falls Sie nicht sicher sind, dann schauen Sie
einfach in den Quellcode der entsprechenden Datei oder sprechen uns einfach an
finde folgendes:
function _sess_write($key, $val) {
global $SESS_LIFE;
und füge danach ein:
if(!is_object($db)){// Vermutlich wird das $db objekt gelöscht, bevor die Session geschrieben wird
global$db;
require_once (DIR_FS_CATALOG.'imedes_library/db_connect_alt.php');
db_connect_alt() or die('Unable to connect to database server!');
$db->Execute("SET NAMES '".$_SESSION['language_charset']."'");
$db->Execute("SET CHARACTER_SET_CLIENT=".$_SESSION['language_charset']);
$db->Execute("SET CHARACTER_SET_RESULTS=".$_SESSION['language_charset']);
}
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-includes/modules/product_info.php
---------------------------------------------------------------------------------------------------
finde folgendes (2 Mal):
$info_smarty->assign('ADD_QTY', xtc_draw_input_field('products_qty', '1', 'size="3"').' '.xtc_draw_hidden_field('products_id', $product->data['products_id']));
und ersetze es mit:
$info_smarty->assign('ADD_QTY', xtc_draw_input_field('products_qty', '1', 'size="3"').' '.xtc_draw_hidden_field('products_id[]', $product->data['products_id']));
---------------------------------------------------------------------------------------------------
finde folgendes:
include (DIR_WS_MODULES.'product_reviews.php');
und füge danach ein:
include (DIR_WS_MODULES.'product_accessories.php');
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-lang/english/admin/english.php
---------------------------------------------------------------------------------------------------
finde folgendes:
?>
und füge davor ein:
define('BOX_ACCESSORIES', 'Accessories');
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-lang/english/lang_english.conf
---------------------------------------------------------------------------------------------------
finde folgendes:
[product_info]
und füge danach ein:
text_accessories = 'To this article we have suitable Accessories'
text_accessories_info = 'Falls Sie einen oder mehr Zubehörartikel mit einkaufen möchten dann brauchen Sie nur die Checkbox des jeweiligen Zubehörartikels auszuwählen.'
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-lang/german/admin/german.php
---------------------------------------------------------------------------------------------------
finde folgendes:
?>
und füge davor ein:
define('BOX_ACCESSORIES', 'Zubehör');
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-lang/german/lang_german.conf
---------------------------------------------------------------------------------------------------
finde folgendes:
[product_info]
und füge danach ein:
text_accessories = 'Zu diesem Artikel haben wir passendes Zubehör'
text_accessories_info = 'Falls Sie einen oder mehr Zubehörartikel mit einkaufen möchten dann brauchen Sie nur die Checkbox des jeweiligen Zubehörartikels auszuwählen.'
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
|