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 Search Suggest               *

 * @compatible SP2.1                     *

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

 

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

NEW FILES:

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

images/product_images/thumbnail_images/noimage.jpg

includes/classes/thumbnail.inc.php

templates/xtc4/img/heading_suggest_bg.jpg

templates/xtc4/img/suggest_over_bg.jpg

templates/xtc4/javascript/ajaxsuggest.js

 

 

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

NEW DIRS:

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

imedes_library

 

 

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

CHANGED FILES:

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

includes/classes/class.inputfilter.php

includes/header.php

lang/english/admin/configuration.php

lang/english/english.php

lang/german/admin/configuration.php

lang/german/german.php

templates/xtc4/boxes/box_search.html

templates/xtc4/index.html

templates/xtc4/source/boxes/search.php

templates/xtc4/stylesheet.css

xajax.functions.php

 

 

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

FEATURE-LIST:

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

Nach erfolgreicher Installation kann die Formatierung der Suggest Ausgabe über die Styleheest Datei den persönlichen Bedürfnissen angepasst werden.

Beim erstmaligen Aufruf der Suggest Funktion kann es zu kurzen Verzögerungen kommen, da die Vorschaubilder erst beim Aufruf im Hintergrund generiert werden, dann

aber gespeichert werden, so dass bei einem erneuten Aufruf die Vorschlagsliste deutlich schneller angezeigt wird. Generell hängt die

Geschwindigkeit der Anzeige von der Performance des Servers, bzw. in Kombination von der Menge der Artikel ab.

 

Im Auslieferungszustand wird nach Eingabe von mind. 2 Buchstaben eine Vorschlagsliste generiert. Diese Wert kann erhöht und auch verringert werden, jedoch erhöht eine

weitere Reduzierung der Mindesteingabe die Serverlast, so dass sich die Anzeige bei jeder Änderung der Eingabe ändert, was subjektiv

als unangenehm empfunden werden kann.

 

Die Änderung des Wertes erfolt über die search.php im Ordner templates/dein_template/source/boxes/. Suchen Sie dort nach der Zeile 109

und ändern den entsprechenden Wert unter

 

if (strlen($suchtext)>2) {

 

Im Administrationsbereich findet sich außerdem unter dem Menüpunkt >>Such Optionen<< eine neue Einstellungsmöglichkeit, womit die Anzahl

der Vorschläge eingestellt werden kann.

 

Anzumerken ist, dass die eigentliche suchfunktion der Box_Search mit dem Einbau der AJAX Suggest Funktion nicht mehr vorhanden ist. Der sonst beistehende Such Button, sollte deshalb wie

beschrieben im Template entfernt werden.

 

 

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

INSTALLATION:

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

 

1. Xajax Framework installieren

 

2. ADOdb installieren

 

3. Datenkbankerweiterungen durchführen

INSERT INTO `configuration` VALUES ('', 'count_result_suggest', '20', 22, 3, NULL, '0000-00-00 00:00:00', NULL, NULL)

 

 

4. new_files kopieren.

 

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

 

 

-includes/classes/class.inputfilter.php

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

finde folgendes:

            foreach ($source as $key => $value)

                // filter element for XSS and other 'bad' code etc.

                $tmp_key = $key;

 

und füge danach ein:

            if ($key != 'xajaxargs')                

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

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

 

 

-includes/header.php

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

finde folgendes:

 <link rel="stylesheet" type="text/css" href="<?php echo 'templates/'.CURRENT_TEMPLATE.'/stylesheet.css'; ?>" />

 

und füge danach ein:

<script src="<?php echo 'templates/'.CURRENT_TEMPLATE.'/javascript/ajaxsuggest.js'; ?>" type="text/javascript"></script>

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

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

 

 

-lang/english/admin/configuration.php

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

finde folgendes:

?>

 

und füge davor ein:

define('COUNT_RESULT_SUGGEST_TITLE','Number of results for the suggestsearch');

define('COUNT_RESULT_SUGGEST_DESC','Please fill in the number of results for the suggestsearch.');

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

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

 

 

-lang/english/english.php

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

finde folgendes:

?>

 

und füge davor ein:

define('AUTOSUGGEST_CLOSE', 'Close window');

define('MORE_RESULTS', '...more results');

define('AUTOSUGGEST_NO_PRODUCTS', 'No products found');

define('AUTOSUGGEST_INTRO', 'We suggest this products for your keyword:');

define('AUTOSUGGEST_BOX_TEXT', 'Keyword or article nr');

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

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

 

 

-lang/german/admin/configuration.php

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

finde folgendes:

?>

 

und füge davor ein:

define('COUNT_RESULT_SUGGEST_TITLE','Anzahl der Ergebnisse bei der Suggest Suche');

define('COUNT_RESULT_SUGGEST_DESC','Geben SIe hier an, wieviele Ergebnisse bei der Suggest-Suche zu sehen sein sollen.');

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

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

 

 

-lang/german/german.php

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

finde folgendes:

?>

 

und füge davor ein:

define('AUTOSUGGEST_CLOSE', 'Fenster schliessen');

define('MORE_RESULTS', '...mehr Resultate');

define('AUTOSUGGEST_NO_PRODUCTS', 'Keine Produkte gefunden');

define('AUTOSUGGEST_INTRO', 'Zu diesem Suchbegriff empfehlen wir:');

define('AUTOSUGGEST_BOX_TEXT', 'Begriff oder Artikelnr.');

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

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

 

 

-templates/xtc4/boxes/box_search.html

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

finde folgendes:

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

  <tr>

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

        <tr>

          <td class="infoBoxHeading">{#heading_search#} </td>

          <td></td>

        </tr>

    </table></td>

  </tr>

  <tr>

    <td class="infoBox" align="left"><table width="95%"  border="0" cellpadding="2" cellspacing="0">

        <tr>

          <td class="boxText">

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

               <tr>

                 <td valign="middle">{$INPUT_SEARCH}</td>

                <td valign="middle">{$BUTTON_SUBMIT}</td>

              </tr>

            </table>

            <br />

            <a href="{$LINK_ADVANCED}">{#text_advanced_search#}</a> </td>

        </tr>

    </table></td>

 

und ersetze es mit:

<table border="0" cellpadding="0" cellspacing="0" align="center">

               <tr>

                 <td valign="middle">{$INPUT_SEARCH}</td>

                <!--<td valign="middle">{$ENTRY_CATEGORIES}</td>-->

     <td valign="middle">&nbsp;{$BUTTON_SUBMIT}</td>

     <td valign="middle">&nbsp;<a href="{$LINK_ADVANCED}">{#text_advanced_search#}</a></td>

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

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

 

 

-templates/xtc4/index.html

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

finde folgendes:

             <td class="main">{$navtrail}</td>

             <td align="right" class="main">{if $account}{php} if (isset($_SESSION['customer_id'])) { {/php}<a href="{$logoff}">{#link_logoff#}</a> | {php} } {/php}{/if}{if $account}<a href="{$account}">{#link_account#}</a> | {/if}<a href="{$cart}">{#link_cart#}</a> | <a href="{$checkout}">{#link_checkout#}</a></td>

           </tr>

 

und füge danach ein:

          <tr>

            <td colspan="2" bgcolor="#EDD4A8" class="main">{$box_SEARCH}</td>

          </tr>

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

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_ADD_QUICKIE}{$box_CONTENT}{$box_INFORMATION}{$box_LAST_VIEWED}{$box_REVIEWS}{$box_SPECIALS}{$box_WHATSNEW}</td>

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

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

 

 

-templates/xtc4/source/boxes/search.php

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

finde folgendes:

$box_smarty->assign('INPUT_SEARCH', xtc_draw_input_field('keywords', '', 'size="20" maxlength="30"'));

 

und ersetze es mit:

$box_smarty->assign('INPUT_SEARCH', '<div>'.xtc_draw_input_field('txtSearch', '', 'id="txtSearch"  value="'.AUTOSUGGEST_BOX_TEXT.'" onclick="if(this.value==this.defaultValue) this.value=\'\';return false" onblur="if( this.value.replace(/\s/g, \'\') == \'\' ) this.value=this.defaultValue; return false" onkeyup="auto_suggest();" autocomplete="off" style="width: ' . (BOX_WIDTH-30) . 'px"').'</div><div id="search_suggest" name="search_suggest"></div>');

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

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

 

 

-templates/xtc4/stylesheet.css

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

Am Ende einfügen:

.suggest_link {

        display:block;

        background-color: #ffffff;

        padding: 2px 6px 2px 6px;

        height:36px;

        min-height:36px;

        border-bottom:1px solid #CCCCCC;

        color:#000000;

    }

.suggest_link_over {

    color: black;

    background-image:url("img/suggest_over_bg.jpg");

    background-repeat:repeat-x;

    padding: 2px 6px 2px 6px;

    cursor:pointer;

    border-bottom:1px solid #CCCCCC;

    height:36px;

    min-height:36px;

}

#search_suggest {

    position:absolute;

 

 

    margin-left: -90px;

    text-align: left;

    border: 1px solid #000000;  

    background-color:#ffffff;  

    display: none;

    z-index: 1000;

    height:450px;

    width:350px;

    overflow:auto;

}

.autosuggest_intro {

    height:22px;

    padding-top:3px;

    padding-left:5px;

    background-image:url("img/heading_suggest_bg.jpg");

    background-repeat:repeat-x;

    padding-right:5px;

    border-bottom:1px solid #CCCCCC;

    }

.suggestclose_link {

    font-weight:bold;

    color:#000000;

    display:block;

    background-image:url("img/heading_suggest_bg.jpg");

    background-repeat:repeat-x;

    height:21px;

    padding-top:4px;

    padding-right:5px;

    border-bottom:1px solid #CCCCCC;

    }

.suggestclose_link:hover {

    text-decoration:none;

    cursor:pointer;

    color:#000000

}

 

#suggestmore_link {

    font-weight:bold;

    color:#000000;

    display:block;

    background-image:url("img/heading_suggest_bg.jpg");

    background-repeat:repeat-x;

    height:21px;

    padding-top:4px;

    padding-right:5px;

    border-bottom:1px solid #CCCCCC;

    }

#suggestmore_link:hover {

    text-decoration:none;

    cursor:pointer;

    color:#000000;

}

#suggest_image {

    width:44px;

    max-width:44px;

 

    background-color:#ffffff;

    text-align:center;

    border:1px solid #CCCCCC;

    }

.suggest_image {

    width:44px;

    float:left  ;

    }

.suggestwidth {

    width:320px;

    height:35px;

 

    }

.suggest_productsname {

    width:200px;

    float:left;

    padding-left:5px;

    font-weight:bold;

    }

.suggest_products_price {

    white-space:nowrap;

    float:right;

    text-align:left;

 

    }

.autosuggest_no_products {

    height:22px;

    padding-top:3px;

    padding-left:5px;

    background-image:url("img/heading_suggest_bg.jpg");

    background-repeat:repeat-x;

    padding-right:5px;

    border-bottom:1px solid #CCCCCC;

    color:#000000;

    }

 

 

-xajax.functions.php

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

finde folgendes:

$xajax = new xajax();

 

und füge davor ein:

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

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

finde folgendes:

########################################################

##Ab hier können Funkrionen für Xajax definiert werden##

########################################################

 

und füge danach ein:

$xajax->registerFunction("search");

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

finde folgendes:

########################################################

##Ab hier können Funkrionen für Xajax eingefügt werden##

########################################################

 

und füge danach ein:

function search($suchtext) {

    $suchtext = urldecode(zeichen_ersetzen($suchtext));

    if (strlen($suchtext) > 0) {

        if (!xtc_parse_search_string(stripslashes($suchtext), $search_keywords)) {

            $errorno += 10000000;

            $error = 1;

            $keyerror = 1;

        }

    }

    // define additional filters //

    //fsk18 lock

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

        $fsk_lock = " AND p.products_fsk18 != '1' ";

    } else {

        unset ($fsk_lock);

    }

    //group check

    if (GROUP_CHECK == 'true') {

        $group_check = " AND p.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 ";

    } else {

        unset ($group_check);

    }

    include('imedes_library/search_1.php');

 

    //go for keywords... this is the main search process

    if (isset ($suchtext) && xtc_not_null($suchtext)) {

        if (xtc_parse_search_string(stripslashes($suchtext), $search_keywords)) {

            $where_str .= " AND ( ";

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

                switch ($search_keywords[$i]) {

                    case '(' :

                    case ')' :

                    case 'and' :

                    case 'or' :

                        $where_str .= " ".$search_keywords[$i]." ";

                        break;

                    default :

                        $where_str .= " ( ";

                        $where_str .= "pd.products_keywords LIKE ('%".html_entity_decode(addslashes($search_keywords[$i]))."%') ";

                        if (SEARCH_IN_DESC == 'true') {

                           $where_str .= "OR pd.products_description LIKE ('%".html_entity_decode(addslashes($search_keywords[$i]))."%') ";

                           $where_str .= "OR pd.products_short_description LIKE ('%".html_entity_decode(addslashes($search_keywords[$i]))."%') ";

                        }                       

                        $where_str .= "OR pd.products_name LIKE ('%".html_entity_decode(addslashes($search_keywords[$i]))."%') ";

                        $where_str .= "OR p.products_model LIKE ('%".html_entity_decode(addslashes($search_keywords[$i]))."%') ";

                        if (SEARCH_IN_ATTR == 'true') {

                           $where_str .= "OR (pov.products_options_values_name LIKE ('%".html_entity_decode(addslashes($search_keywords[$i]))."%') ";

                           $where_str .= "AND pov.language_id = '".(int) $_SESSION['languages_id']."')";

                        }

                        $where_str .= " ) ";

                        break;

                }

            }

            $where_str .= " ) GROUP BY p.products_id ORDER BY p.products_id";

        }

    }

    //glue together

    $sql = $select_str.$from_str.$where_str;

    

    $xtPrice = new xtcPrice($_SESSION['currency'], $_SESSION['customers_status']['customers_status_id']);

    $result = "";

    $objResponse = new xajaxResponse();

    if (strlen($suchtext)>1) {

        include_once(DIR_WS_CLASSES.'thumbnail.inc.php');

        $result .= "<div class='autosuggest_intro' style='color:#000000'><div><strong>" . AUTOSUGGEST_INTRO . "</strong></div></div>";

        $product_query = xtc_db_query($sql);

        $counter = 0;

        $more_result = 'false';

        while($product_array = xtc_db_fetch_array($product_query)) {

            $counter++;

            if ($counter <= count_result_suggest-1)

            {

                $image = '';

                if ($product_array['products_image'] == '')

                $product_array['products_image'] = 'noimage.jpg';

                if ($product_array['products_image'] != '' && file_exists(DIR_WS_THUMBNAIL_IMAGES.$product_array['products_image'])) {

                    if (!file_exists(DIR_WS_THUMBNAIL_IMAGES.'search_'.$product_array['products_image'])) {

                        $thumb = new Thumbnail(DIR_WS_THUMBNAIL_IMAGES.$product_array['products_image']);

                        $thumb->resize('',30);

                        $thumb->save(DIR_WS_THUMBNAIL_IMAGES.'search_'.$product_array['products_image']);

                    }

                    $image = DIR_WS_THUMBNAIL_IMAGES.'search_'.$product_array['products_image'];

                    $image = '<div id="suggest_image"><img style="max-width:30px;" src="'.$image.'" /></div>';

                }

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

                $result .= "<div title='". htmlentities($product_array['products_name']) . "' onmouseover='javascript:suggest_over(this);'";

                $result .= " onmouseout='javascript:suggest_out(this);'";

                $result .= " onclick='javascript:set_search(\"".$product_array['products_id']."\");' class='suggest_link'>";

                $result .= "<div class='suggestwidth'><div class='suggest_image' align=\"left\">" . $image . "</div><div class='suggest_productsname'>" . htmlentities($product_array['products_name']) . "</div><div class='suggest_products_price' align=\"right\">" . $products_price['formated'] . "</div></div>";

                $result .= "</div>";

            } else {

                $more_result = 'true';

            }

        }

        if ($counter == 0) {

            $result = "<div style='color:#000000' class='autosuggest_no_products'>" . AUTOSUGGEST_NO_PRODUCTS . "</div>";

            $objResponse->addAssign("search_suggest", "style.height", '65px');

        } else {            

            if ($counter < 12) {

                $objResponse->addAssign("search_suggest", "style.height", (($counter*36)+95).'px');

            } else {

                $objResponse->addAssign("search_suggest", "style.height", '450px');

            }

        }

        $result .= '<div align="right"><a onFocus="if(this.blur)this.blur()" onclick="suggestClose(this);return false" style="color:#000000;cursor:pointer" class="suggestclose_link">'.AUTOSUGGEST_CLOSE.'</a></div>';

        if($more_result == 'true') {

            $result .= '<div align="right"><a  onFocus="if(this.blur)this.blur()"';

            $result .= " onclick='javascript:more_result(\"".$suchtext."\");'  style='color:#000000;cursor:pointer' id='suggestmore_link'>";

            $result .= ''.MORE_RESULTS.'</a></div>';

        }

        $objResponse->addAssign("search_suggest", "style.display", 'block');

        $objResponse->addAssign("search_suggest", "innerHTML", $result);

    }

    else

    {

        $objResponse->addAssign("search_suggest", "style.display", 'none');

    }

    return $objResponse;

}

 

function zeichen_ersetzen($string) {

    $string = str_replace('%E4', "&auml;", $string);

    $string = str_replace('%FC', "&uuml;", $string);

    $string = str_replace('%F6', "&ouml;", $string);

    $string = str_replace('%DF', "&szlig;", $string);

    return $string;

}

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

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

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

 

 

 

 

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