SocialEngine PHP Social Network Script

   

 

http://www.ecombase.de/Bilder/pfeil-category.gif ECB SEO SHOP SOFTWARE - IMEDES SOFTWARE DOWNLOADS

Alle Imedes Software GPL Programme und Module gibt es für jeden auf Ecomase kostenlos zum Download. Der Einsatz und die kostenlose Benutzung der IMEDES Software steht jedem Anwender der Shop Software ECB SEO SHOP SOFTWARE, XT-COMMERCE, GAMBIO 2006/2007, SELF-COMMERCE, COMMERCE:SEO frei. Die Imedes Software ist Gratis !

Weitere Imedes Programme und Shop Module die man kostenlos Downloaden und Nutzen kann.:

kostenlos-imedes-software_zubehoer-modul
kostenlos-imedes-software_aadmin-quickedit

kostenlos-imedes-software_adodb-installieren
kostenlos-imedes-software_advanced-news_nachricht-wenn-artikel-im-shop-verfuegbar kostenlos-imedes-software_ajax-add-to-card
kostenlos-imedes-software_ajax-attribut-manager

kostenlos-imedes-software_ajax-filter

kostenlos-imedes-software_ajax-framework_xajax

kostenlos-imedes-software_ajax-matrix-zubehoer

kostenlos-imedes-software_ajax-produktmatrix

kostenlos-imedes-software_ajax-quick-buy-quickbuy
kostenlos-imedes-software_ajax-staffel-preis-manager-plus kostenlos-imedes-software_artikelabhaengige-versandart kostenlos-imedes-software_artikelabhaengige-zahlart
kostenlos-imedes-software_attribut-check

kostenlos-imedes-software_attribute-image_attribut-bilder
kostenlos-imedes-software_attribut-manager
kostenlos-imedes-software_double-opt-in-pruefung

kostenlos-imedes-software_extra-objekte

kostenlos-imedes-software_faq-support-system

kostenlos-imedes-software_freundschafts-werbung

kostenlos-imedes-software_google-gadget

kostenlos-imedes-software_gutschein-generator

kostenlos-imedes-software_ibillnr

kostenlos-imedes-software_icontentvar

kostenlos-imedes-software_imedes-bundle-software
kostenlos-imedes-software_imedes-cart_komfortabler-warenkorb kostenlos-imedes-software_imedes-kundenbonus kostenlos-imedes-software_imedes-optcalc-optionen-kalkulation kostenlos-imedes-software_imedes-plus-minus-zurueck-von-kaufen-seite kostenlos-imedes-software_irandomindex_imedes-random-index kostenlos-imedes-software_izones_imedes-Zonen kostenlos-imedes-software_kat-dropdown_kategorie-dropdown-frontpage kostenlos-imedes-software_kat-dropdown_kategorie-dropdown-standard kostenlos-imedes-software_kat-dropdown_kategorie-dropdown-template kostenlos-imedes-software_kat-dropdown_kategorie-dropdown-template_frontpage kostenlos-imedes-software_katstaffel_kategorie-staffelpreise
kostenlos-imedes-software_lagerampel

kostenlos-imedes-software_merkzettel
kostenlos-imedes-software_news_newsmanager kostenlos-imedes-software_one-page-checkout
kostenlos-imedes-software_open-search

kostenlos-imedes-software_pdf-katalog

kostenlos-imedes-software_pdf-rechnung

kostenlos-imedes-software_picture-navi_bildnavigation
kostenlos-imedes-software_proaktiver-verkaufsmanager
kostenlos-imedes-software_search

kostenlos-imedes-software_special-filter_spezialfilter
kostenlos-imedes-software_staffel-preis-manager-normal kostenlos-imedes-software_stock-alert.warenbestand-warnung-advanced kostenlos-imedes-software_stock-alert.warenbestand-warnung-basic kostenlos-imedes-software_suspend-user_sperre-kunden kostenlos-imedes-software_thesaurus_shop-Lexikon

 

 *****************************************

 *                                       *

 *         INSTALLATION-GUIDE            *

 *                                       *

 *****************************************

 * @package ibundle                      *

 * @compatible SP2.1                     *

 *****************************************

 

--------------

NEW FILES:

--------------

admin/accessories.php

admin/includes/classes/ibundle.php

inc/xtc_get_default_attributes.inc.php

includes/functions/database.php

lang/english/admin/accessories.php

lang/german/admin/accessories.php

templates/xtc4/module/product_info/product_info_v1_bundle.html

templates/xtc4/module/product_info/product_info_v1_offerbundle.html

 

 

--------------

NEW DIRS:

--------------

admin/functions

imedes_library

includes/classes/adodb_full

 

 

--------------

CHANGED FILES:

--------------

admin/categories.php

admin/includes/application_top.php

admin/includes/classes/categories.php

admin/includes/column_left.php

admin/includes/functions/sessions.php

admin/includes/modules/categories_view.php

admin/includes/modules/new_product.php

checkout_process.php

includes/application_top.php

includes/cart_actions.php

includes/classes/order.php

includes/classes/product.php

includes/classes/shopping_cart.php

includes/database_tables.php

includes/functions/sessions.php

includes/modules/order_details_cart.php

includes/modules/product_info.php

lang/english/admin/categories.php

lang/english/admin/configuration.php

lang/english/admin/english.php

lang/english/english.php

lang/english/lang_english.conf

lang/german/admin/categories.php

lang/german/admin/configuration.php

lang/german/admin/german.php

lang/german/german.php

lang/german/lang_german.conf

templates/xtc4/module/order_details.html

templates/xtc4/stylesheet.css

 

 

-------------

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 ;

 

 

ALTER TABLE `products` ADD `products_bundle` INT( 1 ) NOT NULL ;

ALTER TABLE `products`

ADD `products_bundle_link_0` INT NOT NULL DEFAULT '0',

ADD `products_bundle_link_1` INT NOT NULL DEFAULT '0',

ADD `products_bundle_link_2` INT NOT NULL DEFAULT '0',

ADD `products_bundle_link_3` INT NOT NULL DEFAULT '0',

ADD `products_bundle_link_4` INT NOT NULL DEFAULT '0';

 

 

INSERT INTO `configuration` (

`configuration_id` ,

`configuration_key` ,

`configuration_value` ,

`configuration_group_id` ,

`sort_order` ,

`last_modified` ,

`date_added` ,

`use_function` ,

`set_function`

)

VALUES (

NULL , 'IBUNDLE_ZEROPRODUCTS', 'true', '17', '99', NULL , '0000-00-00 00:00:00', NULL , 'xtc_cfg_select_option(array(''true'', ''false''),'

);

 

 

2. new_files kopieren.

 

3. changed_files kopieren, oder bei nicht standard-version folgende änderungen durchführen:

 

 

-admin/categories.php

---------------------------------------------------------------------------------------------------

finde folgendes:

 require_once (DIR_WS_CLASSES.'currencies.php');

 

und füge danach ein:

require_once (DIR_WS_CLASSES.'ibundle.php');    // ibundle

$bundle = new bundle(0);                // ibundle

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-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');                // ibundle

    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/classes/categories.php

---------------------------------------------------------------------------------------------------

finde folgendes:

        $sql_data_array = array ('products_quantity' => xtc_db_prepare_input($products_data['products_quantity']), 'products_model' => xtc_db_prepare_input($products_data['products_model']), 'products_ean' => xtc_db_prepare_input($products_data['products_ean']), 'products_price' => xtc_db_prepare_input($products_data['products_price']), 'products_sort' => xtc_db_prepare_input($products_data['products_sort']), 'products_shippingtime' => xtc_db_prepare_input($products_data['shipping_status']), 'products_discount_allowed' => xtc_db_prepare_input($products_data['products_discount_allowed']), 'products_date_available' => $products_date_available, 'products_weight' => xtc_db_prepare_input($products_data['products_weight']), 'products_status' => $products_status, 'products_startpage' => xtc_db_prepare_input($products_data['products_startpage']), 'products_startpage_sort' => xtc_db_prepare_input($products_data['products_startpage_sort']), 'products_tax_class_id' => xtc_db_prepare_input($products_data['products_tax_class_id']), 'product_template' => xtc_db_prepare_input($products_data['info_template']), 'options_template' => xtc_db_prepare_input($products_data['options_template']), 'manufacturers_id' => xtc_db_prepare_input($products_data['manufacturers_id']), 'products_fsk18' => xtc_db_prepare_input($products_data['fsk18']), 'products_vpe_value' => xtc_db_prepare_input($products_data['products_vpe_value']), 'products_vpe_status' => xtc_db_prepare_input($products_data['products_vpe_status']), 'products_vpe' => xtc_db_prepare_input($products_data['products_vpe']));

 

und ersetze es mit:

        $sql_data_array = array ( 'products_quantity' => xtc_db_prepare_input($products_data['products_quantity']),

                              'products_model' => xtc_db_prepare_input($products_data['products_model']),

                              'products_ean' => xtc_db_prepare_input($products_data['products_ean']),

                              'products_price' => xtc_db_prepare_input($products_data['products_price']),

                              'products_sort' => xtc_db_prepare_input($products_data['products_sort']),

                              'products_shippingtime' => xtc_db_prepare_input($products_data['shipping_status']),

                              'products_discount_allowed' => xtc_db_prepare_input($products_data['products_discount_allowed']),

                              'products_date_available' => $products_date_available,

                              'products_weight' => xtc_db_prepare_input($products_data['products_weight']),

                              'products_status' => $products_status,

                              'products_startpage' => xtc_db_prepare_input($products_data['products_startpage']),

                              'products_startpage_sort' => xtc_db_prepare_input($products_data['products_startpage_sort']),

                              'products_tax_class_id' => xtc_db_prepare_input($products_data['products_tax_class_id']),

                              'product_template' => xtc_db_prepare_input($products_data['info_template']),

                              'options_template' => xtc_db_prepare_input($products_data['options_template']),

                              'manufacturers_id' => xtc_db_prepare_input($products_data['manufacturers_id']),

                              'products_fsk18' => xtc_db_prepare_input($products_data['fsk18']),

                              'products_vpe_value' => xtc_db_prepare_input($products_data['products_vpe_value']),

                              'products_vpe_status' => xtc_db_prepare_input($products_data['products_vpe_status']),

 

                              'products_bundle' => xtc_db_prepare_input($products_data['products_bundle']),           // ibundle

                              'products_bundle_link_0' => xtc_db_prepare_input($products_data['products_bundle_link_0']),

                              'products_bundle_link_1' => xtc_db_prepare_input($products_data['products_bundle_link_1']),

                              'products_bundle_link_2' => xtc_db_prepare_input($products_data['products_bundle_link_2']),

                              'products_bundle_link_3' => xtc_db_prepare_input($products_data['products_bundle_link_3']),

                              'products_bundle_link_4' => xtc_db_prepare_input($products_data['products_bundle_link_4']),

                              

                              'products_vpe' => xtc_db_prepare_input($products_data['products_vpe'])

                              );

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-admin/includes/column_left.php

---------------------------------------------------------------------------------------------------

finde folgendes:

   if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['module_export'] == '1')) echo '<a href="' . xtc_href_link(FILENAME_MODULE_EXPORT) . '" class="menuBoxContentLink"> -' . BOX_MODULE_EXPORT . '</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_BUNDLES . '</a><br>';  // ibundle

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-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 ersetze es mit:

    function _sess_write($key, $val) {

        global $SESS_LIFE;

        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/modules/categories_view.php

---------------------------------------------------------------------------------------------------

finde folgendes (2 Mal):

         p.products_date_available,

         p.products_status,

         p.products_startpage,

 

und füge danach ein:

        p.products_bundle,

---------------------------------------------------------------------------------------------------

finde folgendes:

        <?php echo check_stock($products['products_id']); ?>

 

und ersetze es mit:

        <?php

        if( $products['products_bundle']=='1' ) {       // ibundle

          $link = $bundle->bundle_link($products['products_id']);

          $bundle_marker= ' <strong>B</strong>';

          $bundle_marker = '<a href="'.$link.'">'.$bundle_marker.'</a>';

          echo $bundle_marker;

        } else {

          echo check_stock($products['products_id']);

        }

        ?>

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-admin/includes/modules/new_product.php

---------------------------------------------------------------------------------------------------

finde folgendes:

       <span class="main"><br /></span>

     </td><td>

     <table bgcolor="f3f3f3" style="border: 1px solid; border-color: #cccccc;" "width="100%"  border="0">

 

und füge danach ein:

    <!------ ibundle beginn ------------------------ -->

    <tr>

        <td><span class="main"><?php echo TEXT_PRODUCTS_BUNDLE; ?>&nbsp;<?php echo xtc_draw_selection_field('products_bundle', 'checkbox', '1',$pInfo->products_bundle==1 ? true : false); ?></td>

        <td><span class="main">&nbsp;</td>

    </tr>        

    <!------ ibundle end ------------------------ -->

---------------------------------------------------------------------------------------------------

finde folgendes:

     </table></td>

   </tr>

 </table>

 

und füge davor ein:

    <!------ ibundle beginn ------------------------ -->

      

      <tr>

          <?php

          

$bundle_products_ids = array ();

$bundle_products_ids[] = array ( 'id' =>   0,

                                 'text' => '---' );

$query = xtc_db_query("SELECT

                                   p.products_id,

                                   p.products_model,

                                   pd.products_name

                                   FROM ".

                         TABLE_PRODUCTS." p, ".

                         TABLE_PRODUCTS_DESCRIPTION." pd

                                     where

                         p.products_status = 1

                                       AND p.products_id = pd.products_id

                         AND p.products_bundle='1'

                                       AND pd.language_id = '".$_SESSION['languages_id']."'

                                     ORDER BY

                         p.products_id ASC");

while($data = xtc_db_fetch_array($query)) {

  $bundle_products_ids[] = array( 'id' =>   $data['products_id'],

                                              'text' => $data['products_name'] );

}

$default = $bundle_products_ids[0]['id'];

 

$files = array ();

            $files[] = array ('id' => 1, 'text' => 'bla1');

            $files[] = array ('id' => 2, 'text' => 'bla2');

 

 

echo '<tr>';

echo '  <td class="main">'.TEXT_PRODUCTS_BUNDLE_LINKS.'</td>';

echo '  <td><span class="main">'.xtc_draw_pull_down_menu('products_bundle_link_0', $bundle_products_ids, $pInfo->products_bundle_link_0).'</span></td>';

echo '</tr>';

 

echo '<tr>';

echo '  <td class="main">&nbsp;</td>';

echo '  <td><span class="main">'.xtc_draw_pull_down_menu('products_bundle_link_1', $bundle_products_ids, $pInfo->products_bundle_link_1).'</span></td>';

echo '</tr>';

 

echo '<tr>';

echo '  <td class="main">&nbsp;</td>';

echo '  <td><span class="main">'.xtc_draw_pull_down_menu('products_bundle_link_2', $bundle_products_ids, $pInfo->products_bundle_link_2).'</span></td>';

echo '</tr>';

 

echo '<tr>';

echo '  <td class="main">&nbsp;</td>';

echo '  <td><span class="main">'.xtc_draw_pull_down_menu('products_bundle_link_3', $bundle_products_ids, $pInfo->products_bundle_link_3).'</span></td>';

echo '</tr>';

 

echo '<tr>';

echo '  <td class="main">&nbsp;</td>';

echo '  <td><span class="main">'.xtc_draw_pull_down_menu('products_bundle_link_4', $bundle_products_ids, $pInfo->products_bundle_link_4).'</span></td>';

echo '</tr>';

 

?>

      

    <!------ ibundle end ------------------------ -->

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-checkout_process.php

---------------------------------------------------------------------------------------------------

finde folgendes:

            if (($stock_left < 1) && (STOCK_ALLOW_CHECKOUT == 'false')) {

                xtc_db_query("update ".TABLE_PRODUCTS." set products_status = '0' where products_id = '".xtc_get_prid($order->products[$i]['id'])."'");

            }

 

und füge danach ein:

      // --- ibundle beginn --------------------

      $bundle = new bundle(xtc_get_prid($order->products[$i]['id']));

      if( $bundle->valid ) {

        $bundle->update_stock_items( $order->products[$i]['qty'] );

      }

      // --- ibundle end --------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-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:

    // Database

    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');

    require_once (DIR_FS_INC.'xtc_db_prepare_input.inc.php');

    require_once (DIR_FS_INC.'xtc_get_top_level_domain.inc.php');

 

und ersetze es mit:

    // Database

    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');

    require_once (DIR_FS_INC.'xtc_db_prepare_input.inc.php');

    require_once (DIR_FS_INC.'xtc_get_top_level_domain.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:

    // make a connection to the database... now

    xtc_db_connect() or die('Unable to connect to database server!');

 

und ersetze es mit:

    // make a connection to the database... now

    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 ersetze es mit:

    // include the language translations

    require (DIR_WS_LANGUAGES.$_SESSION['language'].'/'.$_SESSION['language'].'.php');

    $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']);

---------------------------------

finde folgendes:

    $_SESSION['cart'] = new shoppingCart();

 

und ersetze es mit:

//  $_SESSION['cart'] = new shoppingCart();

    $_SESSION['cart'] = new shoppingCart_bundle();          // ibundle

---------------------------------

finde folgendes:

    $product = new product($actual_products_id);

 

und ersetze es mit:

//  $product = new product($actual_products_id);

    $product = new product_bundle($actual_products_id);              // ibundle

---------------------------------

finde folgendes:

    $product = new product($actual_products_id);

 

und ersetze es mit:

//  $product = new product($actual_products_id);

    $product = new product_bundle($actual_products_id);              // ibundle

---------------------------------

finde folgendes:

    $product = new product();   

 

und ersetze es mit:

//  $product = new product();   

    $product = new product_bundle();              // ibundle

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-includes/cart_actions.php

---------------------------------------------------------------------------------------------------

finde folgendes:

        case 'add_product' :

 

und füge danach ein:

      if( isset($_POST['products_bundle'] ) ) {

        foreach( $_POST['products_bundle'] as $bid ) {

          $attr = xtc_get_default_attributes( $bid );

                  $_SESSION['cart']->add_cart($bid, $_SESSION['cart']->get_quantity(xtc_get_uprid($bid, $attr)) + xtc_remove_non_numeric($_POST['products_qty']), $attr);

        }

            xtc_redirect(xtc_href_link($goto, 'products_id=' . (int) $_POST['products_id'] . '&' . xtc_get_all_get_params($parameters)));

        break;

      }

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-includes/classes/order.php

---------------------------------------------------------------------------------------------------

finde folgendes:

       $products = $_SESSION['cart']->get_products();

       for ($i=0, $n=sizeof($products); $i<$n; $i++) {

 

und füge danach ein:

        if( $products[$i]['bundle_item'] && (IBUNDLE_ZEROPRODUCTS != 'true') ) {           // ibundle

          continue;                              

        }

---------------------------------------------------------------------------------------------------

finde folgendes:

                                        'shipping_time'=>$products[$i]['shipping_time'],

                                        'weight' => $products[$i]['weight'],

                                         'id' => $products[$i]['id']);

 

und füge danach ein:

        if( $products[$i]['bundle_item'] ) {                            // ibundle

          $products_price=0.0;

          $this->products[$index]['name'] .= IBUNDLE_ORDER_MARKER;

          $this->products[$index]['price'] = 0.0;

          $this->products[$index]['final_price'] = 0.0;

        }

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-includes/classes/product.php

---------------------------------------------------------------------------------------------------

finde folgendes:

 class product {

 

und füge davor ein:

class product_bundle extends product {

  var $bundle_id=0,

      $bundle_products_id_arr = array(),

      $data_bundle = array();

  

  function product_bundle($pID = 0) {

    $this->product($pID);

    if( $pID==0 ) {

      return;

    }

    

    if( $this->data['products_bundle']=='1' ) {                            // wenn bundle produkt

      $this->read_products_data_bundle($pID);

    }

    

    

  }

  

  

  function buildDataArray(&$array,$image='thumbnail') {

    $ret = parent::buildDataArray($array,$image);

    $ret['PRODUCTS_MODEL'] = $array['products_model'];

    return $ret;

  }

  

    function buildDataArray_bundle() {

    $ret = array();

    

    reset($this->data_bundle);

    foreach( $this->data_bundle as $data_bundle ) {

      $ret[]=$this->buildDataArray($data_bundle);

    }

    

    return $ret;

  }

  

  function read_products_data_bundle($pID) {

    $query = "select id from ".TABLE_ACCESSORIES." where head_product_id='".$pID."'";

    $query = xtDBquery($query);

    $data = xtc_db_fetch_array($query, true);

    $this->bundle_id = $data['id'];

    if( $this->bundle_id>0 ) {                                         // wenn liste gefunden

      

      $query = "select product_id from ".TABLE_ACCESSORIES_PRODUCTS." where accessories_id='".$this->bundle_id."'";

      $query = xtDBquery($query);

      while( $data = xtc_db_fetch_array($query, true) ) {

        $this->bundle_products_id_arr[] = $data['product_id'];

      }

      if( sizeof($this->bundle_products_id_arr)>0 ) {                 // wenn ids gefunden

        $this->data_bundle=array();

          foreach( $this->bundle_products_id_arr as $bid ) {

              $product_query = "select *

                            FROM ".

                              TABLE_PRODUCTS." p,".

                              TABLE_PRODUCTS_DESCRIPTION." pd

                                                where

                              p.products_status = '1'

                                                  and p.products_id = '".$bid."'

                                                  and pd.products_id = p.products_id

                                                  ".$group_check.$fsk_lock."

                                                  and pd.language_id = '".(int) $_SESSION['languages_id']."'";

              $product_query = xtDBquery($product_query);

          if( $data = xtc_db_fetch_array($product_query, true) ) {

            $this->data_bundle[]=$data;

          }

          

        }

      

      

      }

    }

  }

}

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-includes/classes/shopping_cart.php

---------------------------------------------------------------------------------------------------

finde folgnedes:

    Released under the GNU General Public License

    ---------------------------------------------------------------------------------------*/

 

und füge danach ein:

define( MAGIC_BUNDLE_ATTRIBUT, -1 );

define( BUNDLE_LINKS_COUNT, 5 );  // anzahl Bundlelinks max

---------------------------------------------------------------------------------------------------

finde folgnedes:

 require_once (DIR_FS_INC.'xtc_get_tax_description.inc.php');

 

und füge danach ein:

/* -----------------------------------------------------------------------------------------

 class shoppingCart_bundle

 12.2007 h.koch (hendrik.koch@gmx.de) for imedes.de

   ---------------------------------------------------------------------------------------*/

 

require_once (DIR_FS_INC.'xtc_get_default_attributes.inc.php');

require_once ('imedes_library/ibundle.php');

 

class shoppingCart_bundle extends shoppingCart {

  

  function get_products_price( $products_id ) {

    global $xtPrice;

    

      $products_query = xtc_db_query("select

                                      products_id, products_price

                                    from ".TABLE_PRODUCTS."

                                    where products_id='".xtc_get_prid($products_id)."'");

        if ($products = xtc_db_fetch_array($products_query)) {

            $products_price = $xtPrice->xtcGetPrice($products['products_id'], $format = false, $this->contents[$products_id]['qty'], 0, $products['products_price']);

    }

    return $products_price;

  }

 

    function add_cart($products_id, $qty = '1', $attributes = '', $notify = true) {

    parent::add_cart($products_id, $qty, $attributes, $notify);

    $bundle = new bundle( $products_id );

    if( $bundle->valid ) {

      $uprid=xtc_get_uprid($products_id, $attributes);

      $this->contents[$uprid]['bundle'] = $bundle;

      $this->contents[$uprid]['bundle_head'] = true;

 

      $count=$bundle->count_items();

      foreach( $count as $bpid => $qty2 ) {

        $attr = xtc_get_default_attributes($bpid);

        $attr[MAGIC_BUNDLE_ATTRIBUT] = $uprid;

        parent::add_cart($bpid, $qty*$qty2, $attr, false);

 

        $uprid2=xtc_get_uprid($bpid, $attr);

        $this->contents[$uprid2]['bundle_item'] = true;

      }

      

    }

    

  }

  

  

  function reorder_products() {

    $cont_norm = array();

    $cont_bundle = array();

    reset($this->contents);  

      while (list ($products_id,$content) = each($this->contents)) {

      if( $content['bundle_item'] == true ) {

        continue;

      } else if( $content['bundle_head'] == true ) {

        $cont_bundle[$products_id]=$content;

      } else {

        $cont_norm[$products_id]=$content;

      }

    }

    

    $this->remove_all();

    

    foreach( $cont_norm as $products_id => $cont ) {

      $this->add_cart($products_id, $cont['qty'], $cont['attributes'], false );

    }

    foreach( $cont_bundle as $products_id => $cont ) {

      $this->add_cart($products_id, $cont['qty'], $cont['attributes'], false );

    }

    

    

  }

  

  

  

    function get_products() {

    $this->reorder_products();

    $products = parent::get_products();

 

      for ($i = 0, $n = sizeof($products); $i < $n; $i ++) {

      $products[$i]['bundle_head'] = $this->contents[$products[$i]['id']]['bundle_head'];

      $products[$i]['bundle_item'] = $this->contents[$products[$i]['id']]['bundle_item'];

    

          if (isset ($products[$i]['attributes'][MAGIC_BUNDLE_ATTRIBUT])) {

              unset($products[$i]['attributes'][MAGIC_BUNDLE_ATTRIBUT]);

      }

    }

    

    $total_bundle_val = 0.0;

      $i = sizeof($products)-1;

    while( $i>= 0 ) {

      if( $products[$i]['bundle_item'] ) {

        $total_bundle_val += ($products[$i]['price']*$products[$i]['quantity']);

      }

      if( $products[$i]['bundle_head'] ) {

        $products[$i]['sub_sum'] = $total_bundle_val;

        $total_bundle_val = 0.0;

      }

      

      $i--;

    }

 

    $factor = 1;

      for ($i = 0, $n = sizeof($products); $i < $n; $i ++) {

      if( ($products[$i]['bundle_head']) && $products[$i]['sub_sum']>0 ) {

        $factor = $products[$i]['price']/$products[$i]['sub_sum'];

        $factor *= $products[$i]['quantity'];

      }

      if( $products[$i]['bundle_item'] ) {

        $products[$i]['bundle_price']        = $products[$i]['price']*$factor;

        $products[$i]['bundle_final_price']  = $products[$i]['final_price']*$factor;

 

        $products[$i]['price']       = 0.0;

        $products[$i]['final_price'] = 0.0;

      }

    }

    

    return $products;

    

  }

  

  

    function calculate() {

        global $xtPrice;

        $this->total = 0;

        $this->weight = 0;

        $this->tax = array ();

        if (!is_array($this->contents))

            return 0;

 

        reset($this->contents);

        while (list ($products_id,) = each($this->contents)) {

      

      // -- ibundle beginn ----------------

      // this 3 lines are the only difference between this and the parent.calculate();

      if( $this->contents[$products_id]['bundle_item'] ) {

        continue;

      }

      // -- ibundle end ----------------

      

            $qty = $this->contents[$products_id]['qty'];

 

            // products price

            $product_query = xtc_db_query("select products_id, products_price, products_discount_allowed, products_tax_class_id, products_weight from ".TABLE_PRODUCTS." where products_id='".xtc_get_prid($products_id)."'");

            if ($product = xtc_db_fetch_array($product_query)) {

 

                $products_price = $xtPrice->xtcGetPrice($product['products_id'], $format = false, $qty, $product['products_tax_class_id'], $product['products_price']);

                $this->total += $products_price * $qty;

                $this->weight += ($qty * $product['products_weight']);

                

                

                            // attributes price

                $attribute_price = 0;

            if (isset ($this->contents[$products_id]['attributes'])) {

                reset($this->contents[$products_id]['attributes']);

                while (list ($option, $value) = each($this->contents[$products_id]['attributes'])) {

 

                    $values = $xtPrice->xtcGetOptionPrice($product['products_id'], $option, $value);

                    $this->weight += $values['weight'] * $qty;

                    $this->total += $values['price'] * $qty;

                    $attribute_price+=$values['price'];

                }

            }

                

                

                

                if ($product['products_tax_class_id'] != 0) {

                    

                    if ($_SESSION['customers_status']['customers_status_ot_discount_flag'] == 1) {

                        $products_price_tax = $products_price - ($products_price / 100 * $_SESSION['customers_status']['customers_status_ot_discount']);

                        $attribute_price_tax = $attribute_price - ($attribute_price / 100 * $_SESSION['customers_status']['customers_status_ot_discount']);

                    }

                        

                        

                    $products_tax = $xtPrice->TAX[$product['products_tax_class_id']];

                    $products_tax_description = xtc_get_tax_description($product['products_tax_class_id']);

 

                    

                    // price incl tax

                    if ($_SESSION['customers_status']['customers_status_show_price_tax'] == '1') {

                        if ($_SESSION['customers_status']['customers_status_ot_discount_flag'] == 1) {

                            $this->tax[$product['products_tax_class_id']]['value'] += ((($products_price_tax+$attribute_price_tax) / (100 + $products_tax)) * $products_tax)*$qty;

                            $this->tax[$product['products_tax_class_id']]['desc'] = TAX_ADD_TAX."$products_tax_description";

                        } else {

                            $this->tax[$product['products_tax_class_id']]['value'] += ((($products_price+$attribute_price) / (100 + $products_tax)) * $products_tax)*$qty;

                            $this->tax[$product['products_tax_class_id']]['desc'] = TAX_ADD_TAX."$products_tax_description";

                        }

                        

                    }

                    // excl tax + tax at checkout

                    if ($_SESSION['customers_status']['customers_status_show_price_tax'] == 0 && $_SESSION['customers_status']['customers_status_add_tax_ot'] == 1) {

                        if ($_SESSION['customers_status']['customers_status_ot_discount_flag'] == 1) {

                            $this->tax[$product['products_tax_class_id']]['value'] += (($products_price_tax+$attribute_price_tax) / 100) * ($products_tax)*$qty;

                            $this->total+=(($products_price_tax+$attribute_price_tax) / 100) * ($products_tax)*$qty;

                            $this->tax[$product['products_tax_class_id']]['desc'] = TAX_NO_TAX."$products_tax_description";

                        } else {

                            $this->tax[$product['products_tax_class_id']]['value'] += (($products_price+$attribute_price) / 100) * ($products_tax)*$qty;

                            $this->total+= (($products_price+$attribute_price) / 100) * ($products_tax)*$qty;

                            $this->tax[$product['products_tax_class_id']]['desc'] = TAX_NO_TAX."$products_tax_description";

                        }

                    }               

                }

            }

 

        }

        if ($_SESSION['customers_status']['customers_status_ot_discount_flag'] != 0) {

//          $this->total -= $this->total / 100 * $_SESSION['customers_status']['customers_status_ot_discount'];

        }

//      echo 'total_NACH'.$this->total;

 

    }

  

  

}

---------------------------------------------------------------------------------------------------

finde folgendes:

                $products_array[] = array ('id' => $products_id, 'name' => $products['products_name'], 'model' => $products['products_model'], 'image' => $products['products_image'], 'price' => $products_price + $this->attributes_price($products_id), 'quantity' => $this->contents[$products_id]['qty'], 'weight' => $products['products_weight'],'shipping_time' => $main->getShippingStatusName($products['products_shippingtime']), 'final_price' => ($products_price + $this->attributes_price($products_id)), 'tax_class_id' => $products['products_tax_class_id'], 'attributes' => $this->contents[$products_id]['attributes']);

 

und ersetze es mit:

                $products_array[] = array ( 'id' => $products_id,

                                    'name' => $products['products_name'],

                                    'model' => $products['products_model'],

                                    'image' => $products['products_image'],

                                    'price' => $products_price + $this->attributes_price($products_id),

                                    'quantity' => $this->contents[$products_id]['qty'],

                                    'weight' => $products['products_weight'],

                                    'shipping_time' => $main->getShippingStatusName($products['products_shippingtime']),

                                    'final_price' => ($products_price + $this->attributes_price($products_id)),

                                    'tax_class_id' => $products['products_tax_class_id'],

                                    'attributes' => $this->contents[$products_id]['attributes']);

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-includes/database_tables.php

---------------------------------------------------------------------------------------------------

finde folgendes:

    Released under the GNU General Public License

    ---------------------------------------------------------------------------------------*/

 

und füge danach ein:

    define('TABLE_ACCESSORIES', 'accessories');                              // ibundle

    define('TABLE_ACCESSORIES_PRODUCTS', 'accessories_products');            // ibundle

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-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 ersetze es mit:

    function _sess_write($key, $val) {

        global $SESS_LIFE;

        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/order_details_cart.php

---------------------------------------------------------------------------------------------------

finde folgendes:

    $module_content[$i] = array ('PRODUCTS_NAME' => $products[$i]['name'].$mark_stock, 'PRODUCTS_QTY' => xtc_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="2"').xtc_draw_hidden_field('products_id[]', $products[$i]['id']).xtc_draw_hidden_field('old_qty[]', $products[$i]['quantity']), 'PRODUCTS_MODEL' => $products[$i]['model'],'PRODUCTS_SHIPPING_TIME'=>$products[$i]['shipping_time'], 'PRODUCTS_TAX' => number_format($products[$i]['tax'], TAX_DECIMAL_PLACES), 'PRODUCTS_IMAGE' => $image, 'IMAGE_ALT' => $products[$i]['name'], 'BOX_DELETE' => xtc_draw_checkbox_field('cart_delete[]', $products[$i]['id']), 'PRODUCTS_LINK' => xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($products[$i]['id'], $products[$i]['name'])), 'PRODUCTS_PRICE' => $xtPrice->xtcFormat($products[$i]['price'] * $products[$i]['quantity'], true), 'PRODUCTS_SINGLE_PRICE' =>$xtPrice->xtcFormat($products[$i]['price'], true), 'PRODUCTS_SHORT_DESCRIPTION' => xtc_get_short_description($products[$i]['id']), 'ATTRIBUTES' => '');

 

und ersetze es mit::

    $module_content[$i] = array ( 'PRODUCTS_NAME' => $products[$i]['name'].$mark_stock,

                                'PRODUCTS_QTY' => xtc_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="2"').xtc_draw_hidden_field('products_id[]', $products[$i]['id']).xtc_draw_hidden_field('old_qty[]', $products[$i]['quantity']),

                                'PRODUCTS_MODEL' => $products[$i]['model'],

                                'PRODUCTS_SHIPPING_TIME'=>$products[$i]['shipping_time'],

                                'PRODUCTS_TAX' => number_format($products[$i]['tax'], TAX_DECIMAL_PLACES),

                                'PRODUCTS_IMAGE' => $image, 'IMAGE_ALT' => $products[$i]['name'],

                                'BOX_DELETE' => xtc_draw_checkbox_field('cart_delete[]', $products[$i]['id']),

                                'PRODUCTS_LINK' => xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($products[$i]['id'], $products[$i]['name'])),

                                'PRODUCTS_PRICE' => $xtPrice->xtcFormat($products[$i]['price'] * $products[$i]['quantity'], true),

                                'PRODUCTS_SINGLE_PRICE' =>$xtPrice->xtcFormat($products[$i]['price'], true),

                                'PRODUCTS_SHORT_DESCRIPTION' => xtc_get_short_description($products[$i]['id']),

 

                                'PRODUCTS_BUNDLE_PRICE' => $xtPrice->xtcFormat($products[$i]['bundle_price'] * $products[$i]['quantity'], true),

                                'PRODUCTS_BUNDLE_SINGLE_PRICE' =>$xtPrice->xtcFormat($products[$i]['bundle_price'], true),

                                'PRODUCTS_BUNDLE' =>  ($products[$i]['bundle_head']==true)||($products[$i]['bundle_item']==true)?true:false, // ibundle

                                'PRODUCTS_BUNDLE_HEAD' => $products[$i]['bundle_head'], // ibundle

                                'PRODUCTS_BUNDLE_ITEM' => $products[$i]['bundle_item'], // ibundle

                                'ATTRIBUTES' => '');

                                

  if( $products[$i]['bundle_item']==true ) {

    $module_content[$i]['PRODUCTS_QTY'] = $products[$i]['quantity'];

  }

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-includes/modules/product_info.php

---------------------------------------------------------------------------------------------------

finde folgendes:

        $info_smarty->assign('PRODUCTS_ORDERED', $product->data['products_ordered']);

        $info_smarty->assign('PRODUCTS_PRINT', '<img src="templates/'.CURRENT_TEMPLATE.'/buttons/'.$_SESSION['language'].'/print.gif"  style="cursor:hand" onclick="javascript:window.open(\''.xtc_href_link(FILENAME_PRINT_PRODUCT_INFO, 'products_id='.$product->data['products_id']).'\', \'popup\', \'toolbar=0, width=640, height=600\')" alt="" />');

        $info_smarty->assign('PRODUCTS_DESCRIPTION', stripslashes($product->data['products_description']));

 

und füge danach ein:

    // --- ibundle beginn ------------------------------------------------

    $bundle_ids = array();

    

    if( $product->data['products_bundle_link_0']>0 ) { $bundle_ids[] = $product->data['products_bundle_link_0']; }

    if( $product->data['products_bundle_link_1']>0 ) { $bundle_ids[] = $product->data['products_bundle_link_1']; }

    if( $product->data['products_bundle_link_2']>0 ) { $bundle_ids[] = $product->data['products_bundle_link_2']; }

    if( $product->data['products_bundle_link_3']>0 ) { $bundle_ids[] = $product->data['products_bundle_link_3']; }

    if( $product->data['products_bundle_link_4']>0 ) { $bundle_ids[] = $product->data['products_bundle_link_4']; }

    

    $bundle_products_data = array();

    if( sizeof($bundle_ids)>0 ) {

      $info_smarty->assign('PRODUCTS_BUNDLE_LINK_ANZ', sizeof($bundle_ids) );

      $in = "'".implode("','", $bundle_ids)."'";

      $query = xtc_db_query("SELECT

                                         p.products_id,

                                         p.products_model,

                               p.products_image,

                               p.products_price,

                               p.products_tax_class_id,

                                         pd.products_name,

                               pd.products_description,

                               pd.products_short_description

                                         FROM ".

                               TABLE_PRODUCTS." p, ".

                               TABLE_PRODUCTS_DESCRIPTION." pd

                                           where

                               p.products_status = 1

                                             AND p.products_id = pd.products_id

                               AND p.products_id in (".$in.")

                                             AND pd.language_id = '".$_SESSION['languages_id']."'

                                           ORDER BY

                               p.products_sort ASC");

      $i=0;

      while($data = xtc_db_fetch_array($query)) {

        $data['selection_field'] = xtc_draw_selection_field('products_bundle['.$i.']', 'checkbox', $data['products_id'],'','' );

        $data['products_image'] = $data['products_image']==''?'':DIR_WS_THUMBNAIL_IMAGES.$data['products_image'];

                $data['products_link'] = xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($data['products_id'], $data['products_name']));

        $data['products_price'] = $xtPrice->xtcGetPrice($data['products_id'], $format = true, 1, $data['products_tax_class_id'], $data['products_price'], 1);        

 

              $tax_rate = $xtPrice->TAX[$data['products_tax_class_id']];                

              $tax_info = $main->getTaxInfo($tax_rate);

              $data['PRODUCTS_TAX_INFO'] = $tax_info;

              $data['PRODUCTS_SHIPPING_LINK'] = $main->getShippingLink();

 

        

        $data['bundle'] = new bundle( $data['products_id'] );

        $bundle_products_data[] = $data;

        $i++;

      }

    }

        $info_smarty->assign('bundle_products_data', $bundle_products_data );

    // --- ibundle end ------------------------------------------------

---------------------------------------------------------------------------------------------------

finde folgendes:

        if ($product->data['products_image'] != '')

            $image = DIR_WS_INFO_IMAGES.$product->data['products_image'];

 

und füge danach ein:

    $info_smarty->assign('bundle_content', $product->buildDataArray_bundle() );      // ibundle    

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-lang/english/admin/categories.php

---------------------------------------------------------------------------------------------------

Finde folgendes:

?>

 

und füge davor ein:

    define('TEXT_PRODUCTS_BUNDLE','Artikelset:');        // ibundle

    define('TEXT_PRODUCTS_BUNDLE_LINKS','Artikelsets Offer:');        // ibundle---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-lang/english/admin/configuration.php

---------------------------------------------------------------------------------------------------

Finde folgendes:

?>

 

und füge davor ein:

// ibundle

define('IBUNDLE_ZEROPRODUCTS_TITLE' , 'Bundles 0-EUR Products');

define('IBUNDLE_ZEROPRODUCTS_DESC' , 'Bundles 0-EUR Products in order?');

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-lang/english/admin/english.php

---------------------------------------------------------------------------------------------------

Finde folgendes:

?>

 

und füge davor ein:

define('BOX_BUNDLES', 'Product Bundles');     // ibundle

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-lang/english/english.php

---------------------------------------------------------------------------------------------------

Finde folgendes:

?>

 

und füge davor ein:

define(IBUNDLE_ORDER_MARKER, ' (#Part of Bundle#)');       // ibundle, marker in orders

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-lang/english/lang_english.conf

---------------------------------------------------------------------------------------------------

finde folgendes:

 text_article = 'Item'

 text_total = 'Total'

 text_single = 'Singleprice'

 

und füge danach ein:

text_bundle_part = 'anteiliger Preis'

---------------------------------------------------------------------------------------------------

finde folgendes:

 model = 'Product No.:'

 print = 'Print product data sheet'

 text_shippingtime = 'Shipping time:'

 

und füge danach ein:

bundle_info = 'Buy this product as any bundle'

bundle_single_buy = 'If you are buying these products single:'

bundle_you_save = 'You save:'

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-lang/german/admin/categories.php

---------------------------------------------------------------------------------------------------

Finde folgendes:

?>

 

und füge davor ein:

define('TEXT_PRODUCTS_BUNDLE','Artikelset:');        // ibundle

define('TEXT_PRODUCTS_BUNDLE_LINKS','Artikelsets Angebot:');        // ibundle

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-lang/german/admin/configuration.php

---------------------------------------------------------------------------------------------------

Finde folgendes:

?>

 

und füge davor ein:

define('IBUNDLE_ZEROPRODUCTS_TITLE' , 'Artikelsets Null-EUR-Artikel');

define('IBUNDLE_ZEROPRODUCTS_DESC' , 'Sollen Teile eines bestellten Artikelsets als 0-EUR Artikel in der Bestellung erscheinen?');

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-lang/german/admin/german.php

---------------------------------------------------------------------------------------------------

Finde folgendes:

?>

 

und füge davor ein:

define('BOX_BUNDLES', 'Artikelsets');     // ibundle

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-lang/german/german.php

---------------------------------------------------------------------------------------------------

Finde folgendes:

?>

 

und füge davor ein:

define(IBUNDLE_ORDER_MARKER, ' (#Teil Art.Set#)');         // ibundle, marker in orders

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-lang/german/lang_german.conf

---------------------------------------------------------------------------------------------------

Finde folgendes:

 text_article = 'Artikel'

 text_total = 'Summe'

 text_single = 'Einzelpreis'

 

und füge danach ein:

text_bundle_part = 'anteil. Preis'

---------------------------------------------------------------------------------------------------

Finde folgendes:

 model = 'Art.Nr.:'

 print = 'Artikeldatenblatt drucken'

 text_shippingtime = 'Lieferzeit:'

 

und füge danach ein:

bundle_info = 'Erwerben Sie dieses Produkt in einem Artikelset'

bundle_single_buy = 'Würden Sie diese Teile einzeln kaufen:'

bundle_you_save = 'Sie sparen beim Kauf:'

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-templates/xtc4/module/order_details.html

---------------------------------------------------------------------------------------------------

Finde folgendes:

   <tr>

     <td class="main">{if $module_data.PRODUCTS_IMAGE!=''}<img src="{$module_data.PRODUCTS_IMAGE}" alt="{$module_data.IMAGE_ALT}" />{/if}</td>

     <td valign="top" class="main" align="center">{$module_data.PRODUCTS_QTY}</td>

 

und füge davor ein:

  {if $module_data.PRODUCTS_BUNDLE }

    {if $module_data.PRODUCTS_BUNDLE_HEAD }

      <!-- ---------- Zeile Bundle Hauptartikel --------------------------- -->

      <tr>

        <td class="main_bundle">{if $module_data.PRODUCTS_IMAGE!=''}<img src="{$module_data.PRODUCTS_IMAGE}" alt="{$module_data.IMAGE_ALT}" />{/if}</td>

        <td valign="top" class="main_bundle" align="center">{$module_data.PRODUCTS_QTY}</td>

        <td valign="top" class="main_bundle"><strong><a href="{$module_data.PRODUCTS_LINK}">{$module_data.PRODUCTS_NAME}</a></strong><br />

          {if $module_data.PRODUCTS_SHIPPING_TIME neq ""}{#text_shippingtime#}&nbsp;{$module_data.PRODUCTS_SHIPPING_TIME}{/if}

          {if $module_data.ATTRIBUTES!=''}

          <table width="100%" border="0" cellspacing="0" cellpadding="0">

            {foreach key=key_data item=item_data from=$module_data.ATTRIBUTES}

            <tr>

              <td class="main_bundle">{$item_data.NAME}:</td>

              <td class="main_bundle" align="left">{$item_data.VALUE_NAME}</td>

            </tr>

            {/foreach}

          </table>

          {else}

          {/if} </td>

        <td valign="top" nowrap class="boxTextBG" style="border-right: 1px solid; border-color: #cccccc;" align="right">{$module_data.PRODUCTS_SINGLE_PRICE}</td>

        <td valign="top" nowrap class="boxTextBG" style="border-right: 1px solid; border-color: #cccccc;" align="right">{$module_data.PRODUCTS_PRICE}&nbsp;

        </td>

        <td width="10" align="center" valign="middle" class="boxTextBGII">{$module_data.BOX_DELETE}</td>

      </tr>

    {else}

      <!-- ---------- Zeile Bundle Teilartikel --------------------------- -->

      <tr>

        <td class="main">{if $module_data.PRODUCTS_IMAGE!=''}<img src="{$module_data.PRODUCTS_IMAGE}" alt="{$module_data.IMAGE_ALT}" />{/if}</td>

        <td valign="top" class="main" align="center">{$module_data.PRODUCTS_QTY}</td>

        <td valign="top" class="main"><strong><a href="{$module_data.PRODUCTS_LINK}">{$module_data.PRODUCTS_NAME}</a></strong><br />

          {if $module_data.PRODUCTS_SHIPPING_TIME neq ""}{#text_shippingtime#}&nbsp;{$module_data.PRODUCTS_SHIPPING_TIME}{/if}

          {if $module_data.ATTRIBUTES!=''}

          <table width="100%" border="0" cellspacing="0" cellpadding="0">

            {foreach key=key_data item=item_data from=$module_data.ATTRIBUTES}

            <tr>

              <td class="main">{$item_data.NAME}:</td>

              <td class="main" align="left">{$item_data.VALUE_NAME}</td>

            </tr>

            {/foreach}

          </table>

          {else}

          {/if} </td>

        <td valign="top" nowrap class="boxTextBG" style="border-right: 1px solid; border-color: #cccccc;" align="right">{#text_bundle_part#}<br />{$module_data.PRODUCTS_BUNDLE_SINGLE_PRICE}</td>

        <td valign="top" nowrap class="boxTextBG" style="border-right: 1px solid; border-color: #cccccc;" align="right">{#text_bundle_part#}<br />{$module_data.PRODUCTS_BUNDLE_PRICE}&nbsp;

        </td>

        <td width="10" align="center" valign="middle" class="boxTextBGII">&nbsp;</td>

      </tr>

    {/if}

  {else}

  

      <!-- ---------- Zeile norm. Artikel --------------------------- -->

---------------------------------------------------------------------------------------------------

Finde folgendes:

     </td>

     <td width="10" align="center" valign="middle" class="boxTextBGII">{$module_data.BOX_DELETE}</td>

   </tr>

 

und füge danach ein:

  {/if}

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

-templates/xtc4/stylesheet.css

---------------------------------------------------------------------------------------------------

füge am Ende ein:

/* ibundle */

TD.main_bundle {

  background: #f4f7fd;

  font-family: Verdana, Arial, sans-serif;

  font-size: 11px;

  line-height: 1.5;

}

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

 

 

 

 

Deine Werbung auf Ecombase ? 50.000 Einblendungen täglich.
Kleiner Preis - große Wirkung - Anfragen - eMail im Impressum !

Quick Links

Andere Empfehlungen

http://www.ecombase.de/Bilder/Designnerd-3D-RSS-preview.jpg
   Gully RSS News : Ecomdev News

   Mein Name gehört mir ! 
   Marketing Zielgruppe 50+
   Gast durch Gottes Hand ?

Copyright (C) 2008 eComBASE Shop Software - Community  - bei Volker Bellendorf - 59077 Hamm - +49-2381-402621
SHOPcommuniy (R) ist eingetragene Wort + Bildmarke
Alle Texte & Bilder sind Eigentum der Betreiber der Webseite eCombase.de
Vervielfältigung - Verwendung auf eigenen Webseiten nicht ohne schriftliche Genehmigung