Jump to content
xt:Commerce Community Forum

Multishopportal Export Modul


bitsecure

Recommended Posts

Hallo zusammen,

ich erstelle gerade aus der 3.0.3 Version ein Multishopportal. Hierf?r brauche ich ein Exportmodul welches Ihr alle nutzen k?nnt um Eure Artikel auf meinem Portal anzubieten.

Da es der Allgemeinheit dient w?re es toll wenn Ihr Helfen k?nntet dieses zu schreiben.

Jeder der Hilft wird nat?rlich kostenlos auf dem Portal aufgenommen.

mfg

bitsecure

Link to comment
Share on other sites

Huch ! Ich hab von einem Multishopportal geschrieben und nicht von einem Multishop.

Mann k?nnte das ganze auch mit einer Produktsuchmaschine vergleichen in Verbindung mit Onlineauktionen und Sofortkauffunktion f?r Privatpersonen. Hilfe suche ich nicht. Zur Not erstelle ich es auch allein. Wer seine Produkte nicht weiteren eventuellen Kunden zur Verf?gung stellen muss oder will weil er schon genug Besucher auf der Seite hat dem kann ich nur Gratulieren.

:?: Ich beantworte diese gerne !

Gru?

Michael

Link to comment
Share on other sites

Modul ist fertig ! Offizieller Start des Portals 01 M?rz 2005 !

Wer das Modul eingebunden hat darf mir gerne eine Mail mit dem Link zur anundverkauf.txt senden. [email protected] Dann kann ich die Daten einbinden.

<?php

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

  Exportmodul AnundVerkauf.de Version 1.0 vom 18.02.2005 [url]www.bitsecure.info[/url]


  XT-Commerce - community made shopping

  http://www.xt-commerce.com


  Copyright (c) 2003 XT-Commerce

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

  based on:

  (c) 2000-2001 The Exchange Project (earlier name of osCommerce)

  (c) 2002-2003 osCommerce(cod.php,v 1.28 2003/02/14); [url]www.oscommerce.com[/url]

  (c) 2003 nextcommerce (invoice.php,v 1.6 2003/08/24); [url]www.nextcommerce.org[/url]


  Released under the GNU General Public License

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



define('MODULE_ANUNDVERKAUF_TEXT_DESCRIPTION', 'Export - AnundVerkauf.de (Tab getrennt)');

define('MODULE_ANUNDVERKAUF_TEXT_TITLE', 'AnundVerkauf.de - TXT');

define('MODULE_ANUNDVERKAUF_FILE_TITLE' , '<hr noshade>Dateiname');

define('MODULE_ANUNDVERKAUF_FILE_DESC' , 'Geben Sie einen Dateinamen ein, falls die Exportadatei am Server gespeichert werden soll.<br>(Verzeichnis export/)');

define('MODULE_ANUNDVERKAUF_STATUS_DESC','Modulstatus');

define('MODULE_ANUNDVERKAUF_STATUS_TITLE','Status');

define('MODULE_ANUNDVERKAUF_CURRENCY_TITLE','Währung');

define('MODULE_ANUNDVERKAUF_CURRENCY_DESC','Welche Währung soll exportiert werden?');

define('EXPORT_YES','Nur Herunterladen');

define('EXPORT_NO','Am Server Speichern');

define('CURRENCY','<hr noshade><b>Währung:</b>');

define('CURRENCY_DESC','Währung in der Exportdatei');

define('EXPORT','Bitte den Sicherungsprozess AUF KEINEN FALL unterbrechen. Dieser kann einige Minuten in Anspruch nehmen.');

define('EXPORT_TYPE','<hr noshade><b>Speicherart:</b>');

define('EXPORT_STATUS_TYPE','<hr noshade><b>Kundengruppe:</b>');

define('EXPORT_STATUS','Bitte wählen Sie die Kundengruppe, die Basis für den Exportierten Preis bildet. (Falls Sie keine Kundengruppenpreise haben, wählen Sie <i>Gast</i>):</b>');

define('DATE_FORMAT_EXPORT', '%d.%m.%Y'); // this is used for strftime()

// include needed functions



 class anundverkauf {

  var $code, $title, $description, $enabled;



  function anundverkauf() {

   global $order;


   $this->code = 'anundverkauf';

   $this->title = MODULE_ANUNDVERKAUF_TEXT_TITLE;

   $this->description = MODULE_ANUNDVERKAUF_TEXT_DESCRIPTION;

   $this->sort_order = MODULE_ANUNDVERKAUF_SORT_ORDER;

   $this->enabled = ((MODULE_ANUNDVERKAUF_STATUS == 'True') ? true : false);

   $this->CAT=array();

   $this->PARENT=array();


  }



  function process($file) {


    @xtc_set_time_limit(0);

    require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'xtcPrice.php');

    $xtPrice = new xtcPrice($_POST['currencies'],$_POST['status']);


    $schema = 'product_url'."\t" .'name'."\t".'description'."\t".'image_url'."\t".'category'."\t".'price'."\t".'hersteller'. "\n";

    $export_query =xtc_db_query("SELECT

               p.products_id,

               pd.products_name,

               pd.products_description,

               p.products_model,

               p.products_image,

               p.products_price,

               p.products_status,

               p.products_date_available,

               p.products_shippingtime,

               p.products_discount_allowed,

               pd.products_meta_keywords,

               p.products_tax_class_id,

               p.products_date_added,

               m.manufacturers_name

             FROM

               " . TABLE_PRODUCTS . " p LEFT JOIN

               " . TABLE_MANUFACTURERS . " m

              ON p.manufacturers_id = m.manufacturers_id LEFT JOIN

               " . TABLE_PRODUCTS_DESCRIPTION . " pd

              ON p.products_id = pd.products_id AND

              pd.language_id = '".$_SESSION['languages_id']."' LEFT JOIN

               " . TABLE_SPECIALS . " s

              ON p.products_id = s.products_id

             WHERE

              p.products_status = 1

             ORDER BY

              p.products_date_added DESC,

              pd.products_name");



    while ($products = xtc_db_fetch_array($export_query)) {


      $products_price = $xtPrice->xtcGetPrice($products['products_id'],

                    $format=false,

                    1,

                    $products['products_tax_class_id'],

                    '');


  // get product categorie

      $categorie_query=xtc_db_query("SELECT

                      categories_id

                      FROM ".TABLE_PRODUCTS_TO_CATEGORIES."

                      WHERE products_id='".$products['products_id']."'");

       while ($categorie_data=xtc_db_fetch_array($categorie_query)) {

          $categories=$categorie_data['categories_id'];

       }



      // remove trash

      $products_description = str_replace("<br>"," ",$products_description);

      $products_description = str_replace("<br />"," ",$products_description);

      $products_description = strip_tags($products['products_description']);

      $products_description = str_replace(";",", ",$products_description);

      $products_description = str_replace("'",", ",$products_description);

      $products_description = str_replace("\n"," ",$products_description);

      $products_description = str_replace("\r"," ",$products_description);

      $products_description = str_replace("\t"," ",$products_description);

      $products_description = str_replace("\v"," ",$products_description);

      $products_description = str_replace("&quot,"," \"",$products_description);

      $products_description = str_replace("&qout,"," \"",$products_description);

      $products_description = str_replace(chr(13)," ",$products_description);

 	$products_description = substr($products_description, 0, 65536);

 	$cat = $this->buildCAT($categories);



	if ($products['products_image'] != ''){

   $image = HTTP_CATALOG_SERVER . DIR_WS_CATALOG_THUMBNAIL_IMAGES .$products['products_image'];

	}else{

   $image = '';

	}


      //create content

      $schema .=

            HTTP_CATALOG_SERVER . DIR_WS_CATALOG . 'product_info.php?products_id=' . $products['products_id'] . "\t" .

            $products['products_name'] ."\t".

            $products_description ."\t".

            $image ."\t" .

            substr($cat,0,strlen($cat)-2). "\t" .

            number_format($products_price,2,'.',''). "\t" .

            $products['manufacturers_name'] ."\n";



    }

    // create File

     $fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/' . $file, "w+");

     fputs($fp, $schema);

     fclose($fp);



   switch ($_POST['export']) {

    case 'yes':

      // send File to Browser

      $extension = substr($file, -3);

      $fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/' . $file,"rb");

      $buffer = fread($fp, filesize(DIR_FS_DOCUMENT_ROOT.'export/' . $file));

      fclose($fp);

      header('Content-type: application/x-octet-stream');

      header('Content-disposition: attachment; filename=' . $file);

      echo $buffer;

      exit;


    break;

    }


  }


  function buildCAT($catID)

  {


    if (isset($this->CAT[$catID]))

    {

     return $this->CAT[$catID];

    } else {

      $cat=array();

      $tmpID=$catID;


        while ($this->getParent($catID)!=0 || $catID!=0)

        {

          $cat_select=xtc_db_query("SELECT categories_name FROM ".TABLE_CATEGORIES_DESCRIPTION." WHERE categories_id='".$catID."' and language_id='".$_SESSION['languages_id']."'");

          $cat_data=xtc_db_fetch_array($cat_select);

          $catID=$this->getParent($catID);

          $cat[]=$cat_data['categories_name'];


        }

        $catStr='';

        for ($i=count($cat);$i>0;$i--)

        {

         $catStr.=$cat[$i-1].' > ';

        }

        $this->CAT[$tmpID]=$catStr;

    return $this->CAT[$tmpID];

    }

  }


  function getParent($catID)

  {

   if (isset($this->PARENT[$catID]))

   {

    return $this->PARENT[$catID];

   } else {

    $parent_query=xtc_db_query("SELECT parent_id FROM ".TABLE_CATEGORIES." WHERE categories_id='".$catID."'");

    $parent_data=xtc_db_fetch_array($parent_query);

    $this->PARENT[$catID]=$parent_data['parent_id'];

    return $parent_data['parent_id'];

   }

  }


  function display() {


  $customers_statuses_array = xtc_get_customers_statuses();


  // build Currency Select

  $curr='';

  $currencies=xtc_db_query("SELECT code FROM ".TABLE_CURRENCIES);

  while ($currencies_data=xtc_db_fetch_array($currencies)) {

   $curr.=xtc_draw_radio_field('currencies', $currencies_data['code'],true).$currencies_data['code'].'<br>';

  }


  return array('text' => EXPORT_STATUS_TYPE.'<br>'.

             	EXPORT_STATUS.'<br>'.

             	xtc_draw_pull_down_menu('status',$customers_statuses_array, '1').'<br>'.

              CURRENCY.'<br>'.

              CURRENCY_DESC.'<br>'.

              $curr.

              EXPORT_TYPE.'<br>'.

              EXPORT.'<br>'.

             	xtc_draw_radio_field('export', 'no',false).EXPORT_NO.'<br>'.

              xtc_draw_radio_field('export', 'yes',true).EXPORT_YES.'<br>'.

              '<br>' . xtc_image_submit('button_export.gif', IMAGE_UPDATE) .


              '<a href="' . xtc_href_link(FILENAME_MODULE_EXPORT, 'set=' . $_GET['set'] . '&module=anundverkauf') . '">' .

              xtc_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');



  }


  function check() {

   if (!isset($this->_check)) {

    $check_query = xtc_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_ANUNDVERKAUF_STATUS'");

    $this->_check = xtc_db_num_rows($check_query);

   }

   return $this->_check;

  }


  function install() {

   xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_ANUNDVERKAUF_FILE', 'anundverkauf.txt', '6', '1', '', now())");

   xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_ANUNDVERKAUF_STATUS', 'True', '6', '1', 'xtc_cfg_select_option(array(\'True\', \'False\'), ', now())");

}


  function remove() {

   xtc_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");

  }


  function keys() {

   return array('MODULE_ANUNDVERKAUF_STATUS','MODULE_ANUNDVERKAUF_FILE');

  }


 }

?>

Gru?

bitsecure

Link to comment
Share on other sites

  • 8 months later...

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...