|
ECB SEO SHOP SOFTWARE - IMEDES SOFTWARE DOWNLOADS
*****************************************
* *
* INSTALLATION-GUIDE *
* *
*****************************************
* @package Spezialfilter *
* @compatible SP2.1 *
*****************************************
--------------
NEW FILES:
--------------
admin/set_filters.php
admin/special_filters.php
lang/german/admin/set_filters.php
lang/german/admin/special_filters.php
templates/xtc4/boxes/box_special_filters.html
templates/xtc4/source/boxes/special_filters.php
--------------
NEW DIRS:
--------------
imedes_library
--------------
CHANGED FILES:
--------------
admin/includes/application_top.php
admin/includes/classes/categories.php
admin/includes/column_left.php
admin/includes/functions/general.php
admin/includes/functions/sessions.php
admin/includes/modules/categories_view.php
admin/includes/modules/new_product.php
admin/modules.php
admin/orders.php
inc/xtc_currency_exists.inc.php
includes/application_top.php
includes/classes/class.inputfilter.php
includes/configure.php
includes/functions/sessions.php
includes/modules/default.php
lang/english/modules/payment/iclear.php
lang/german/admin/german.php
lang/german/lang_german.conf
templates/xtc4/index.html
templates/xtc4/source/boxes.php
-------------
INSTALLATION:
-------------
1. ADOdb installieren
2. Datenkbankerweiterungen durchführen
CREATE TABLE `filters` (
`filters_id` int(11) NOT NULL auto_increment,
`filters_name` char(128) default NULL,
`language_id` int(4) NOT NULL default '0',
`filters_categories_id` int(11) default NULL,
`reihenfolge` int(11) NOT NULL default '0',
PRIMARY KEY (`filters_id`,`language_id`),
KEY `filters_name` (`filters_name`)
) ENGINE=MyISAM ;
CREATE TABLE `filters_categories` (
`filters_categories_id` int(11) NOT NULL auto_increment,
`filters_categories_name` char(128) default NULL,
`language_id` int(4) NOT NULL default '0',
PRIMARY KEY (`filters_categories_id`,`language_id`),
KEY `filters_categories_name` (`filters_categories_name`)
) ENGINE=MyISAM ;
ALTER TABLE `products` ADD `filters` VARCHAR( 25 ) NOT NULL ;
ALTER TABLE `admin_access` ADD `special_filters` TINYINT( 1 ) NOT NULL DEFAULT '1';
ALTER TABLE `admin_access` ADD `set_filters` TINYINT( 1 ) NOT NULL DEFAULT '1';
ALTER TABLE `filters_categories` ADD `status_online` INT( 1 ) DEFAULT '0' NOT NULL ;
3. new_files und new_dirs kopieren.
4. 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_SPECIAL_FILTERS','special_filters.php');
define('FILENAME_SET_SPECIAL_FILTERS', 'set_filters.php');
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-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']), 'filters' => xtc_db_prepare_input($products_data['filters']), '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']));
---------------------------------------------------------------------------------------------------
Finde folgendes:
'product_template'=>$product['product_template'],
und füge danach ein:
'filters'=>$product['filters'],
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-admin/includes/column_left.php
---------------------------------------------------------------------------------------------------
Finde folgendes:
if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['categories'] == '1')) echo '<a href="' . xtc_href_link(FILENAME_CATEGORIES, '', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_CATEGORIES . '</a><br>';
und füge danach ein:
if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['special_filters'] == '1')) echo '<a href="' . xtc_href_link(FILENAME_SPECIAL_FILTERS, '', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_SPECIAL_FILTERS . '</a><br>';
if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['set_filters'] == '1')) echo '<a href="' . xtc_href_link(FILENAME_SET_SPECIAL_FILTERS, '', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_SET_SPECIAL_FILTERS . '</a><br>';
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-admin/includes/functions/general.php
---------------------------------------------------------------------------------------------------
Finde folgendes:
Released under the GNU General Public License
--------------------------------------------------------------*/
defined( '_VALID_XTC' ) or die( 'Direct Access to this location is not allowed.' );
und füge danach ein:
function xtc_get_filters_categories_name($filters_categories_id, $language_id = '') {
if ($filters_categories_id < 1)
return TEXT_DEFAULT;
if (!is_numeric($language_id))
$language_id = $_SESSION['languages_id'];
$status_query = xtc_db_query("select filters_categories_name from filters_categories where filters_categories_id = '".$filters_categories_id."' and language_id = '".$language_id."'");
$status = xtc_db_fetch_array($status_query);
return $status['filters_categories_name'];
}
function xtc_get_filters_name($filters_id, $language_id = '') {
if ($filters_id < 1)
return TEXT_DEFAULT;
if (!is_numeric($language_id))
$language_id = $_SESSION['languages_id'];
$status_query = xtc_db_query("select filters_name from filters where filters_id = '".$filters_id."' and language_id = '".$language_id."'");
$status = xtc_db_fetch_array($status_query);
return $status['filters_name'];
}
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-admin/includes/modules/categories_view.php
---------------------------------------------------------------------------------------------------
Finde folgendes ( 2 Mal):
pd.products_name,
p.products_sort,
p.products_quantity,
und füge danach ein:
p.filters,
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-admin/includes/modules/new_product.php
---------------------------------------------------------------------------------------------------
Finde folgendes:
while ($tax_class = xtc_db_fetch_array($tax_class_query)) {
$tax_class_array[] = array ('id' => $tax_class['tax_class_id'], 'text' => $tax_class['tax_class_title']);
}
und füge danach ein:
// FILTER
$counter_filter = 0;
$filters_query = "select distinct filters_categories_id, filters_categories_name from filters_categories where language_id = '".$_SESSION['languages_id']."' ";
$result_filters_query = xtc_db_query($filters_query);
while($get_it =xtc_db_fetch_array($result_filters_query)) {
//$counter_filter++;
$filters_array[$counter_filter] = array(array('id' => ' ', 'text' => $get_it['filters_categories_name'])); // text filter 1
$filters_array[$counter_filter][] = array('id' => '', 'text' => TEXT_NONE);
$filters_query = xtc_db_query("select filters_id, filters_name from filters where language_id = '".$_SESSION['languages_id']."' and filters_categories_id = '".$get_it['filters_categories_id']."' order by filters_name");
while ($filters = xtc_db_fetch_array($filters_query)) {
$filters_array[$counter_filter][] = array('id' => $filters['filters_id'],
'text' => $filters['filters_name'].' (Nr.: '.$filters['filters_id'].')');
}
$counter_filter++;
}
//FILTER EOF
---------------------------------------------------------------------------------------------------
Finde folgendes:
<script type="text/javascript">
var dateAvailable = new ctlSpiffyCalendarBox("dateAvailable", "new_product", "products_date_available","btnDate1","<?php echo $pInfo->products_date_available; ?>",scBTNMODE_CUSTOMBLUE);
</script>
und füge danach ein:
<?php
for ($pull_down_counting = 0; $pull_down_counting < $counter_filter; $pull_down_counting++){
echo "\n";
echo '<script language="javascript"><!-- ';
echo "\n";
echo 'function updateProductsfilter'.$pull_down_counting.'() { var selected_value = document.forms["new_product"].filters_select'.$pull_down_counting.'.selectedIndex; var masValue = document.forms["new_product"].filters_select'.$pull_down_counting.'[selected_value].value; var theValue = document.forms["new_product"].filters.value; if(theValue != \'0\' && theValue != \'\' && masValue != \'\'){ document.forms["new_product"].filters.value = theValue+\' \'+masValue+\' \'; }else{ document.forms["new_product"].filters.value = \' \'+masValue+\' \'; } } //--></script>';
echo "\n";
}
?>
---------------------------------------------------------------------------------------------------
Finde folgendes:
<td><span class="main"><?php echo TEXT_PRODUCTS_WEIGHT; ?><?php echo xtc_draw_input_field('products_weight', $pInfo->products_weight,'size=4'); ?><?php echo TEXT_PRODUCTS_WEIGHT_INFO; ?></span></td>
</tr>
<tr>
und füge danach ein:
<td colspan="2"><?php echo xtc_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<tr>
<td class="main"><?php echo TEXT_FILTERS; ?></td>
<td class="main">
<?php
for ($pull_down_counting = 0; $pull_down_counting < $counter_filter; $pull_down_counting++){
echo xtc_draw_pull_down_menu('filters_select'.$pull_down_counting , $filters_array[$pull_down_counting], ' ', 'size="5" onchange="updateProductsfilter'.$pull_down_counting.'()"');
echo "<br />";
}
?>
<?php echo xtc_draw_input_field('filters', " ".$pInfo->filters." ", "size=38"); ?>
</td>
</tr>
<tr>
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-includes/modules/default.php
---------------------------------------------------------------------------------------------------
finde folgendes:
include (DIR_WS_MODULES.FILENAME_PRODUCT_LISTING);
und füge danach ein:
} elseif (isset($_GET['count'])) {
if (isset($_POST) && sizeof($_POST) > 0) {
unset($_SESSION['filter']);
}
$sql_get_string = '';
$zaehler = 0;
if (isset($_SESSION['filter'])) {
foreach($_SESSION['filter'] as $key => $filter) {
if ($filter != 0 && $key != 'XTCsid' && $key != 'x' && $key != 'y') {
$_SESSION['filter'][$key] = $filter;
$sql_get_string .= " and (( p.filters LIKE '% ".$filter." %' ) or (p.filters LIKE '".$filter." %' ) or (p.filters LIKE '% ".$filter."' ) or (p.filters = '".$filter."' )) ";
}
}
$_SESSION['filter'] = $_SESSION['filter'];
} else {
foreach($_POST as $key => $filter) {
if ($filter != 0 && $key != 'XTCsid' && $key != 'x' && $key != 'y') {
$_SESSION['filter'][$key] = $filter;
include('imedes_library/spezialfilter_1.php');
}
}
}
// We show them all
if (GROUP_CHECK == 'true') {
$group_check = " and p.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 ";
}
//fsk18 lock
$fsk_lock = '';
if ($_SESSION['customers_status']['customers_fsk18_display'] == '0') {
$fsk_lock = ' and p.products_fsk18!=1';
}
if (isset($_GET['filter_id']) && $_GET['filter_id'] != '')
$filter_manufacturers = "and m.manufacturers_id = '".(int) $_GET['filter_id']."'";
// optional Product List Filter
if (PRODUCT_LIST_FILTER > 0 && !isset ($_GET['manufacturers_id'])) {
include('imedes_library/spezialfilter_2.php');
if (xtc_db_num_rows($filterlist_query, true) > 1) {
$manufacturer_dropdown = xtc_draw_form('filter', FILENAME_DEFAULT, 'get');
if (isset ($_GET['manufacturers_id'])) {
$manufacturer_dropdown .= xtc_draw_hidden_field('manufacturers_id', (int)$_GET['manufacturers_id']);
$options = array (array ('text' => TEXT_ALL_CATEGORIES));
} else
{
$options = array (array ('text' => TEXT_ALL_MANUFACTURERS));
}
$manufacturer_dropdown .= xtc_draw_hidden_field('count', $_GET['count']);
$manufacturer_dropdown .= xtc_draw_hidden_field(xtc_session_name(), xtc_session_id());
while ($filterlist = xtc_db_fetch_array($filterlist_query, true)) {
$options[] = array ('id' => $filterlist['id'], 'text' => $filterlist['name']);
}
$manufacturer_dropdown .= xtc_draw_pull_down_menu('filter_id', $options, $_GET['filter_id'], 'onchange="this.form.submit()"');
$manufacturer_dropdown .= '</form>'."\n";
}
}
$listing_sql = "select distinct p.products_fsk18,
p.products_shippingtime,
p.products_model,
p.filters,
p.products_ean,
pd.products_name,
m.manufacturers_name,
p.products_quantity,
p.products_image,
p.products_weight,
pd.products_short_description,
pd.products_description,
p.products_id,
p.manufacturers_id,
p.products_price,
p.products_vpe,
p.products_vpe_status,
p.products_vpe_value,
p.products_discount_allowed,
p.products_tax_class_id
from ".TABLE_PRODUCTS_DESCRIPTION." pd, ".TABLE_PRODUCTS_TO_CATEGORIES." p2c, ".TABLE_PRODUCTS." p left join ".TABLE_MANUFACTURERS." m on p.manufacturers_id = m.manufacturers_id
left join ".TABLE_SPECIALS." s on p.products_id = s.products_id
where p.products_status = '1'
and p.products_id = p2c.products_id
and pd.products_id = p2c.products_id
".$group_check."
".$fsk_lock."
".$filter_manufacturers ."
and pd.language_id = '".(int) $_SESSION['languages_id']."'".$sql_get_string;
include (DIR_WS_MODULES.FILENAME_PRODUCT_LISTING);
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-lang/german/admin/german.php
---------------------------------------------------------------------------------------------------
finde folgendes:
?>
und füge davor ein:
define('BOX_SPECIAL_FILTERS', 'Spezialfilter');
define('BOX_SET_SPECIAL_FILTERS', 'Spezialfilter zuweisen');
define('TEXT_DISPLAY_NUMBER_SPECIAL_FILTER', 'Angezeigt werden <b>%d</b> bis <b>%d</b> (von insgesamt <b>%d</b> zugewiesenen Filtern)');
define('TEXT_DISPLAY_NUMBER_OF_SPECIAL_FILTERS', 'Angezeigt werden <b>%d</b> bis <b>%d</b> (von insgesamt <b>%d</b> Spezialfiltern)');
define('TEXT_FILTERS', 'Spezialfilter');
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-lang/german/lang_german.conf
---------------------------------------------------------------------------------------------------
finde folgendes:
[boxes]
und füge danach ein:
heading_special_filters ='Spezialfilter'
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-templates/xtc4/index.html
---------------------------------------------------------------------------------------------------
finde folgendes:
<td>{$box_CATEGORIES}{$box_ADD_QUICKIE}{$box_CONTENT}{$box_INFORMATION}{$box_LAST_VIEWED}{$box_REVIEWS}{$box_SEARCH}{$box_SPECIALS}{$box_WHATSNEW}</td>
und ersetze es mit:
<td>{$box_CATEGORIES}{$box_SPECIAL_FILTERS}{$box_ADD_QUICKIE}{$box_CONTENT}{$box_INFORMATION}{$box_LAST_VIEWED}{$box_REVIEWS}{$box_SEARCH}{$box_SPECIALS}{$box_WHATSNEW}</td>
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-templates/xtc4/source/boxes.php
---------------------------------------------------------------------------------------------------
finde folgendes:
if (substr(basename($PHP_SELF), 0,8) != 'advanced') {require(DIR_WS_BOXES . 'whats_new.php'); }
und füge danach ein:
require(DIR_WS_BOXES . 'special_filters.php');
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
|