SPPC Contrib und Connector

shetani

Aktives Mitglied
28. Februar 2007
226
0
Essen
Wenn jemand Interesse an einer Modifikation des Connectors für die Contrib Special Prices per Customers hat bitte melden.

Die Änderungen sehen wie folgt aus.

Da Staffelpreise von OScommerce standardmässig nicht unterstützt werden, wir aber für bestimmte Kundengruppen Sonderangebote definieren möchten und gleichzeitig auch Sonderpreise bei bestimmmten Artikeln, haben wir die Felder der Staffelpreise "VK Privat Staffelpreise" und "VK Händler Staffelpreise" sowie "VK Händler Brutto" genutzt. Die Modifikation ist begrenzt auf derzeit 6 Kundengruppen.

Wie funktioniert es ?!

In VK Händler Brutto kann für den Artikel ein Sonderangebotspreis hinterlegt werden. Dieser gilt für alle Kundengruppen. Möchte man darüberhinaus für bestimmte Kundengruppen einen abweichenden
Sonderangebotspreis hinterlegen - oder eben nur für eine bestimmte
Kundengruppe ein Sonderangebot definieren, so öffnet man die Tabelle
für VK Händler Staffelpreise und gibt statt Menge die Nummer der Kundengruppe ein und dahinter den zugehörigen Preis.

Wenn für bestimmte Artikel Nettopreise für Kundengruppen hinterlegt sein sollen, dann kann man dies in der VK Privat Staffelpreise nach dem gleichen Muster machen. Statt Menge die Nummer der Kundengruppe rein und ab dafür. (Die Kundengruppe 0 - Besucher oder neu registrierte Kunden wird hierbei nicht unterstützt da dies eigentlich ein Sonderangebot wäre und kein Sonderpreis)

Wie gesagt, bei Interesse bitte melden.
 

shetani

Aktives Mitglied
28. Februar 2007
226
0
Essen
Ich packe hier mal den Quellcode der modifizierten Artikel.php rein (er lässt sich sicherlich durch Nutzung von Funktionen optimieren, aber dafür hatte ich noch keine Zeit.

Die wesentlichen Änderungen für die SPPC Contrib befinden sich in der Sektion insert Preise

Wer mehr als 5 zusätzliche Kundengruppen hat muss diese zusätzlich nach dem gleichen Schema ergänzen

Code:
<?php
/**
 * jtlwawi_Connector/dbeS/Artikel.php
 * Synchronisationsscript
 *
 * Es gelten die Nutzungs- und Lizenzhinweise unter [url]http://www.jtl-software.de/jtlwawi.php[/url]
 *
 * @author JTL-Software <thomas@jtl-software.de>
 * @copyright 2006, JTL-Software
 * @link [url]http://jtl-software.de/jtlwawi.php[/url]
 * @version v1.03 / 16.09.06
*/

require_once("syncinclude.php");

$return=3;
if (auth())
{
	if (intval($_POST["action"]) == 1 && intval($_POST['KeyArtikel']))
	{
		$return = 0;
		//hole einstellungen
		$cur_query = eS_execute_query("select * from eazysales_einstellungen");
		$einstellungen = mysql_fetch_object($cur_query);

		$artikel->kArtikel = realEscape($_POST["KeyArtikel"]);
		$artikel->cArtNr = realEscape($_POST["ArtikelNo"]);
		$artikel->cName = realEscape($_POST["ArtikelName"]);
		$artikel->cBeschreibung = realEscape($_POST["ArtikelBeschreibung"]);
		$artikel->fVKBrutto = realEscape($_POST["ArtikelVKBrutto"]);
		$artikel->fVKNetto = realEscape($_POST["ArtikelVKNetto"]);
		$artikel->fMwSt = realEscape($_POST["ArtikelMwSt"]);
		$artikel->cAnmerkung = realEscape($_POST["ArtikelAnmerkung"]);
		$artikel->nLagerbestand = max(realEscape($_POST["ArtikelLagerbestand"]),0);
		$artikel->cEinheit = realEscape($_POST["ArtikelEinheit"]);
		$artikel->nMindestbestellmaenge = realEscape($_POST["ArtikelMindBestell"]);
		$artikel->cBarcode = realEscape($_POST["ArtikelBarcode"]);
		$artikel->fVKHaendlerBrutto = realEscape($_POST["ArtikelVKHaendlerBrutto"]);
		$artikel->fVKHaendlerNetto = realEscape($_POST["ArtikelVKHaendlerNetto"]);
		$artikel->cTopArtikel = realEscape($_POST["TopAngebot"]);
		$artikel->fGewicht = realEscape($_POST["Gewicht"]);
		$artikel->cNeu = realEscape($_POST["Neu"]);
		$artikel->cKurzBeschreibung = realEscape($_POST["ArtikelKurzBeschreibung"]);
		$artikel->fUVP = realEscape($_POST["ArtikelUVP"]);
		$artikel->cHersteller = realEscape(htmlentities($_POST["Hersteller"]));
		$startseite=0;
		switch (strtoupper($_POST["ArtikelEinheit"])){
 			case 'ST':
 				$artikel->cEinheit = 'St';
 				$grundwert = '1';
 				break;
 			case 'KG':
 				$artikel->cEinheit = 'kg';
 				$grundwert = '1';
 				break; 			
  			case 'L':
 				$artikel->cEinheit = 'l';
 				$grundwert = '1';
 				break;
 			case 'G':
 				$artikel->cEinheit = 'g';
 				$grundwert = '100';
 				break; 	
  			case 'ML':
 				$artikel->cEinheit = 'ml';
 				$grundwert = '100';
 				break; 	
 			};		
		if ((floatval($artikel->fUVP) == '0') && ($artikel->cEinheit == ''))
			$artikel->fUVP = '1';

		if ($artikel->cTopArtikel=="Y")
			$startseite=1;

		//update oder insert?
		$products_id = getFremdArtikel($artikel->kArtikel);
		if ($products_id>0)
		{
			//update

			//attribute löschen
			eS_execute_query("delete from products_attributes where products_id=".$products_id);
			//KategorieArtikel löschen
			eS_execute_query("delete from products_to_categories where products_id=".$products_id);

			//evtl. andere MwSt?
			$products_tax_class_id = holeSteuerId($artikel->fMwSt);
			//evtl. neuer Hersteller?
			$manufacturers_id = holeHerstellerId($artikel->cHersteller);
			//update products						
			
			eS_execute_query("update products set products_model=\"$artikel->cArtNr\", products_price=\"$artikel->fVKNetto\",products_base_price=\"$artikel->fUVP\",products_base_value=\"$grundwert\",products_base_unit=\"".$artikel->cEinheit."\", products_tax_class_id=\"$products_tax_class_id\", products_quantity=\"$artikel->nLagerbestand\", products_weight=\"$artikel->fGewicht\", manufacturers_id=\"$manufacturers_id\", products_status=1, products_last_modified=now() where products_id=".$products_id);
			//update products_description
			eS_execute_query("update products_description set products_name=\"$artikel->cName\", products_description=\"$artikel->cBeschreibung\" where products_id=".$products_id." and language_id=".$einstellungen->languages_id);
			//kundengrp preise
			$updater='true';
			insertPreise($products_id,$updater);
		}
		else
		{
			//insert
			//hole Mwst classId
			$products_tax_class_id = holeSteuerId($artikel->fMwSt);
			//setze Hersteller, falls es ihn noch nicht gibt
			$manufacturers_id = holeHerstellerId($artikel->cHersteller);
			eS_execute_query("insert into products (products_model, products_price, products_base_price, products_base_value, products_base_unit, products_tax_class_id, products_quantity, products_weight, manufacturers_id, products_status, products_date_added) values (\"".$artikel->cArtNr."\",$artikel->fVKNetto,$artikel->fUVP,$grundwert,\"".$artikel->cEinheit."\",$products_tax_class_id,$artikel->nLagerbestand,$artikel->fGewicht,$manufacturers_id,1,now())");
			//hole id
			$query = eS_execute_query("select LAST_INSERT_ID()");
			$products_id_arr = mysql_fetch_row($query);
			if ($products_id_arr[0]>0)
			{
				//müssen Preise in spezielle tabellen?
				$updater='false';
				insertPreise($products_id_arr[0],$updater);
				eS_execute_query("insert into products_description (products_id, products_name, products_description, language_id) values (".$products_id_arr[0].",\"".$artikel->cName."\", \"".$artikel->cBeschreibung."\", $einstellungen->languages_id)");
				setMappingArtikel($artikel->kArtikel,$products_id_arr[0]);

				//erstelle leere description für alle anderen Sprachen
				$sonstigeSprachen = getSonstigeSprachen($einstellungen->languages_id);
				if (is_array($sonstigeSprachen))
				{
					foreach ($sonstigeSprachen as $sonstigeSprache)
					{
						//eS_execute_query("insert into products_description (products_id, products_name, language_id) values (".$products_id_arr[0].",\"".$artikel->cName."\", $sonstigeSprache)");
						eS_execute_query("insert into products_description (products_id, products_name, products_description, language_id) values (".$products_id_arr[0].",\"".$artikel->cName."\", \"".$artikel->cBeschreibung."\", $sonstigeSprache)");
					}
				}
			}
			else
			{
				//Fehler aufgetreten
				$return=1;
			}
		}
 	}
	else
		$return=5;

	if (intval($_POST["action"]) == 3 && intval($_POST['KeyArtikel']))
	{
		$products_id = getFremdArtikel(intval($_POST['KeyArtikel']));
		if ($products_id>0)
			eS_execute_query("update products set products_status=0 where products_id=".$products_id);
		$return = 0;
	}
}

mysql_close();
echo($return);
logge($return);

function insertPreise($products_id,$updater)
{
	if (!$updater){
//Neuer Artikel Nettopreise Kundengruppen einspielen
	$specialOfferTable = "products_groups";
	$table = $specialOfferTable;
	$endKunden_arr = array(intval($_POST["PAnz1"]),intval($_POST["PAnz2"]),intval($_POST["PAnz3"]),intval($_POST["PAnz4"]),intval($_POST["PAnz5"]));
	$SSPinArr = count ($endKunden_arr);
	for ($num = 1; $num < $SSPinArr; $num++){
		$num2 = $num-1;
		$SPPCGruppe = $endKunden_arr[$num2];
		if (($endKunden_arr[$num-1] < '6') && (floatval($_POST["PPreis".$num.""]) > '0')){
		eS_execute_query("insert into $table (customers_group_id, customers_group_price , products_id) values ($SPPCGruppe,".floatval($_POST["PPreis".$num.""]).",$products_id)")
		;} // end if
	} // end for
//Neuer Artikel Sonderangebote Kundengruppen einspielen
	$specialOfferTable = "specials";
	$table = $specialOfferTable;
	eS_execute_query("delete from $table where products_id=".$products_id);
	$haendlerKunden_arr = array(intval($_POST["HAnz1"]),intval($_POST["HAnz2"]),intval($_POST["HAnz3"]),intval($_POST["HAnz4"]),intval($_POST["HAnz5"]));
	if (floatval($_POST["ArtikelVKHaendlerNetto"]) == '0'){
		$num = 1;
		foreach ($haendlerKunden_arr as $hkgruppe) {
 			switch ($hkgruppe){
 			case 1:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'1',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 2:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'2',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 3:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'3',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 4:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'4',".floatval($_POST["HPreis".$num.""]).",now())");
 			break; 	
 			case 5:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'5',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;	
		}; //end switch
		$num++;	
		}; // end foreach
	  }else{
	  $num1 = 0;
	  for ($num1 = 0; $num1 < 6; $num1++){
	  eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,$num1,".floatval($_POST["ArtikelVKHaendlerNetto"]).",now())");
	  }; //end for
	  $num = 1;
		foreach ($haendlerKunden_arr as $hkgruppe) {		
 			switch ($hkgruppe){
 			case 1:
 			eS_execute_query("update $table set specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='1'");
 			break;
 			case 2:
 			eS_execute_query("update $table set customers_group_id='2', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='2'");
 			break;
 			case 3:
 			eS_execute_query("update $table set customers_group_id='3', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='3'");
 			break;
 			case 4:
 			eS_execute_query("update $table set customers_group_id='4', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='4'");
 			break;
 			case 5:
 			eS_execute_query("update $table set customers_group_id='5', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='5'");
 			break;
		}; //end switch
		$num++;	
		}; // end foreach
	  }; //endifelse
	}else{
//Update Artikel Nettopreise Kundengruppen einspielen
	$specialOfferTable = "products_groups";
	$table = $specialOfferTable;
	$endKunden_arr = array(intval($_POST["PAnz1"]),intval($_POST["PAnz2"]),intval($_POST["PAnz3"]),intval($_POST["PAnz4"]),intval($_POST["PAnz5"]));
	$SSPinArr = count ($endKunden_arr);
	eS_execute_query("delete from $table where products_id=".$products_id);
	for ($num = 1; $num < $SSPinArr; $num++){
		$num2 = $num -1;
		$SPPCGruppe = $endKunden_arr[$num2];
		if (($endKunden_arr[$num-1] < '6') && (floatval($_POST["PPreis".$num.""]) > '0')){
		eS_execute_query("insert into $table (customers_group_id, customers_group_price , products_id) values ($SPPCGruppe,".floatval($_POST["PPreis".$num.""]).",$products_id)");
		}; //end if
	}; //end for
//Update  Artikel Sonderangebote Kundengruppen einspielen
	$specialOfferTable = "specials";
	$table = $specialOfferTable;
	eS_execute_query("delete from $table where products_id=".$products_id);
	$haendlerKunden_arr = array(intval($_POST["HAnz1"]),intval($_POST["HAnz2"]),intval($_POST["HAnz3"]),intval($_POST["HAnz4"]),intval($_POST["HAnz5"]));
	if (floatval($_POST["ArtikelVKHaendlerNetto"]) == '0'){
		$num = 1;
		foreach ($haendlerKunden_arr as $hkgruppe) {
 			switch ($hkgruppe){
 			case 1:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'1',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 2:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'2',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 3:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'3',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 4:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'4',".floatval($_POST["HPreis".$num.""]).",now())");
 			break; 	
 			case 5:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'5',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;	
		}; //end switch
		$num++;	
		}; // end foreach
	  }else{
	  $num1 = 0;
	  for ($num1 = 0; $num1 < 6; $num1++){
	  eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,$num1,".floatval($_POST["ArtikelVKHaendlerNetto"]).",now())");
	  }; //end for
	  $num = 1;
		foreach ($haendlerKunden_arr as $hkgruppe) {		
 			switch ($hkgruppe){
 			case 1:
 			eS_execute_query("update $table set specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='1'");
 			break;
 			case 2:
 			eS_execute_query("update $table set customers_group_id='2', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='2'");
 			break;
 			case 3:
 			eS_execute_query("update $table set customers_group_id='3', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='3'");
 			break;
 			case 4:
 			eS_execute_query("update $table set customers_group_id='4', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='4'");
 			break;
 			case 5:
 			eS_execute_query("update $table set customers_group_id='5', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='5'");
 			break;
		}; //end switch
		$num++;	
		}; // end foreach
	}; //end ifelse
	
  }; //end if
}

function holeHerstellerId($cHersteller)
{
	if (strlen($cHersteller)>0)
	{
		//ex. dieser Hersteller?
		$cur_query = eS_execute_query("select manufacturers_id from manufacturers where manufacturers_name=\"".$cHersteller."\"");
		$manu = mysql_fetch_object($cur_query);
		if ($manu->manufacturers_id>0)
			return $manu->manufacturers_id;
		else
		{
			//erstelle diesen Hersteller
			eS_execute_query("insert into manufacturers (manufacturers_name, date_added) values (\"".$cHersteller."\", now())");
			$query = eS_execute_query("select LAST_INSERT_ID()");
			$manu_id_arr = mysql_fetch_row($query);
			eS_execute_query("insert into manufacturers_info (manufacturers_id, languages_id) values (".$manu_id_arr[0].", ".$GLOBALS['einstellungen']->languages_id.")");
			return $manu_id_arr[0];
		}
	}
	return 0;
}


function holeSteuerId($MwSt)
{
	//existiert so ein Steuersatz ?
	$cur_query = eS_execute_query("select tax_class_id from tax_rates where tax_zone_id=".$GLOBALS['einstellungen']->tax_zone_id." and tax_rate=".$MwSt);
	$tax = mysql_fetch_object($cur_query);
	if ($tax->tax_class_id>0)
		return $tax->tax_class_id;
	else
	{
		//erstelle klasse
		eS_execute_query("insert into tax_class (tax_class_title, date_added) values (\"JTL-Wawi Steuerklasse ".$MwSt."%\", now())");
		$query = eS_execute_query("select LAST_INSERT_ID()");
		$tax_class_id_arr = mysql_fetch_row($query);
		//füge diesen Steuersatz ein
		eS_execute_query("insert into tax_rates (tax_zone_id, tax_class_id, tax_priority, tax_rate, date_added) values (".$GLOBALS['einstellungen']->tax_zone_id.",".$tax_class_id_arr[0].", ".$GLOBALS['einstellungen']->tax_priority.", ".$MwSt.", now())");
		return $tax_class_id_arr[0];
	}
}
?>
 

shetani

Aktives Mitglied
28. Februar 2007
226
0
Essen
Kann ich Dir nicht sagen da ich die aktuelle Version noch nicht installiert habe. In der Regel warte ich erst ein paar Wochen ab bevor ich ein Update aufspiele ;)

Werde es Ende nächste Woche wohl aufspielen und dann kann ich es Dir sagen.

Greets Frank

Update 16.02.

Habs immer noch nicht aufgespielt - bitte warte noch ein paar Tage
 

shetani

Aktives Mitglied
28. Februar 2007
226
0
Essen
AW: SPPC Contrib und Connector

Für die Artikel.php des Connectors nochmal eine kleine Anpassung, speziell für die Contrib SPPC -> hier nur der Bereich aus der Artikel.php mit den Änderungen (funktion insertPreise)

Da oscommerce keine Staffelpreise unterstützt nutze ich die Funktion des Staffelpreise alternativ für Kundengruppen Endkunde und Händlerkunde (die benfalls Standardmässig nicht unterstützt werden)

Wird die Kundengruppe Endkunde im Bereich "Kundengruppen Sichtbarkeit und Preise" markiert und dann Staffelpreise gewählt, kann man seinen Kundengruppen, für die andere Preise gelten sollen, diese dort hinterlegen.
Beispiel Staffelpreise
ab 9991 VK netto x Euro
ab 9993 VK netto x Euro

Die Funktion zieht sich nachher die letzte Ziffer aus der Mengenangabe heraus - in den Besipielen wird aus
ab 9991 -> Kundengruppe 1
ab 9993 -> Kundengruppe 3

und die Preise werden in die products_groups eingetragen. Die Werte sind bewusst so hoch angesetzt um evtl. Konflikten mit Bestellmengen und Wawi vorzubeugen.

Für die Sonderpreise ist es ähnlich.
Wird die Kundengruppe Händlerkunde im Bereich "Kundengruppen Sichtbarkeit und Preise" markiert und dann Staffelpreise gewählt, kann man seinen Kundengruppen, für die unterschiedliche Sonderpreise gelten sollen, diese dort hinterlegen. Schema wie oben.
Zusätzlich kann man einen generellen Sonderpreis hinterlegen indem man in der gleichen Spalte den VK Netto auf den Sonderpreisbetrag setzt. Der gilt dann für alle Kundengruppen.

Mit einer kleinen zusätzlichen Änderung der Attribute.php lassen sich dann auch die Funktionsattribute nutzen

Ergänzungen im Switch Bereich der Attribute.php
Code:
			case 'sonder_enddatum':
				if ($Attribut->content)
				{
					list ($tag,$monat,$jahr)= split('\.',$Attribut->content);
					$date = $jahr."-".$monat."-".$tag." 00:00:00";
					eS_execute_query("update specials set expires_date=\"".realEscape($date)."\" where products_id=".$Attribut->products_id);
				}
				break;
			case 'sonder_aktiv':
				if ($Attribut->content==0 || $Attribut->content==1)
				{
					eS_execute_query("update specials set status=".$Attribut->content.", date_status_change=now(), specials_last_modified=now()  where products_id=".$Attribut->products_id);
				}
				break;



Änderungen der Artikel.php Funktion insertPreise

Code:
function insertPreise($products_id,$updater)
{
	if (!$updater){
//Neuer Artikel Nettopreise Kundengruppen einspielen
	$specialOfferTable = "products_groups";
	$table = $specialOfferTable;
	$endKunden_arr = array(intval(substr ( $_POST["PAnz1"], -1)), intval(substr ( $_POST["PAnz2"], -1)), intval(substr ( $_POST["PAnz3"], -1)), intval(substr ( $_POST["PAnz4"], -1)), intval(substr ( $_POST["PAnz5"], -1)));
	$SSPinArr = count ($endKunden_arr);
	for ($num = 1; $num < $SSPinArr; $num++){
		$num2 = $num-1;
		$SPPCGruppe = $endKunden_arr[$num2];
		if (($endKunden_arr[$num-1] < '6') && (floatval($_POST["PPreis".$num.""]) > '0')){
		eS_execute_query("insert into $table (customers_group_id, customers_group_price , products_id) values ($SPPCGruppe,".floatval($_POST["PPreis".$num.""]).",$products_id)")
		;} // end if
	} // end for
//Neuer Artikel Sonderangebote Kundengruppen einspielen
	$specialOfferTable = "specials";
	$table = $specialOfferTable;
	eS_execute_query("delete from $table where products_id=".$products_id);
	$haendlerKunden_arr = array(intval(substr ( $_POST["HAnz1"], -1)), intval(substr ( $_POST["HAnz2"], -1)), intval(substr ( $_POST["HAnz3"], -1)), intval(substr ( $_POST["HAnz4"], -1)), intval(substr ( $_POST["HAnz5"], -1)));
	if (floatval($_POST["ArtikelVKHaendlerNetto"]) == '0'){
		$num = 1;
		foreach ($haendlerKunden_arr as $hkgruppe) {
 			switch ($hkgruppe){
 			case 1:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'1',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 2:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'2',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 3:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'3',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 4:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'4',".floatval($_POST["HPreis".$num.""]).",now())");
 			break; 	
 			case 5:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,'5',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;	
		}; //end switch
		$num++;	
		}; // end foreach
	  }elseif ($_POST["ArtikelVKHaendlerNetto"] < $_POST["ArtikelVKNetto"]){
	  $num1 = 0;
	  for ($num1 = 0; $num1 < 6; $num1++){
	  eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_date_added) values ($products_id,$num1,".floatval($_POST["ArtikelVKHaendlerNetto"]).",now())");
	  }; //end for
	  $num = 1;
		foreach ($haendlerKunden_arr as $hkgruppe) {		
 			switch ($hkgruppe){
 			case 1:
 			eS_execute_query("update $table set specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='1'");
 			break;
 			case 2:
 			eS_execute_query("update $table set customers_group_id='2', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='2'");
 			break;
 			case 3:
 			eS_execute_query("update $table set customers_group_id='3', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='3'");
 			break;
 			case 4:
 			eS_execute_query("update $table set customers_group_id='4', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='4'");
 			break;
 			case 5:
 			eS_execute_query("update $table set customers_group_id='5', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='5'");
 			break;
		}; //end switch
		$num++;	
		}; // end foreach
	  }; //endifelse
	}else{
//Update Artikel Nettopreise Kundengruppen einspielen
	$specialOfferTable = "products_groups";
	$table = $specialOfferTable;
	$endKunden_arr = array(intval(substr ( $_POST["PAnz1"], -1)), intval(substr ( $_POST["PAnz2"], -1)), intval(substr ( $_POST["PAnz3"], -1)), intval(substr ( $_POST["PAnz4"], -1)), intval(substr ( $_POST["PAnz5"], -1)));
	$SSPinArr = count ($endKunden_arr);
	eS_execute_query("delete from $table where products_id=".$products_id);
	for ($num = 1; $num < $SSPinArr; $num++){
		$num2 = $num -1;
		$SPPCGruppe = $endKunden_arr[$num2];
		if (($endKunden_arr[$num-1] < '6') && (floatval($_POST["PPreis".$num.""]) > '0')){
		eS_execute_query("insert into $table (customers_group_id, customers_group_price , products_id) values ($SPPCGruppe,".floatval($_POST["PPreis".$num.""]).",$products_id)");
		}; //end if
	}; //end for
//Update  Artikel Sonderangebote Kundengruppen einspielen
	$specialOfferTable = "specials";
	$table = $specialOfferTable;
	eS_execute_query("delete from $table where products_id=".$products_id);
	$haendlerKunden_arr = array(intval(substr ( $_POST["HAnz1"], -1)), intval(substr ( $_POST["HAnz2"], -1)), intval(substr ( $_POST["HAnz3"], -1)), intval(substr ( $_POST["HAnz4"], -1)), intval(substr ( $_POST["HAnz5"], -1)));
	if (floatval($_POST["ArtikelVKHaendlerNetto"]) == '0'){
		$num = 1;
		foreach ($haendlerKunden_arr as $hkgruppe) {
 			switch ($hkgruppe){
 			case 1:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'1',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 2:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'2',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 3:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'3',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;
 			case 4:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'4',".floatval($_POST["HPreis".$num.""]).",now())");
 			break; 	
 			case 5:
 			eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,'5',".floatval($_POST["HPreis".$num.""]).",now())");
 			break;	
		}; //end switch
		$num++;	
		}; // end foreach
	  }elseif ($_POST["ArtikelVKHaendlerNetto"] < $_POST["ArtikelVKNetto"]){
	  $num1 = 0;
	  for ($num1 = 0; $num1 < 6; $num1++){
	  eS_execute_query("insert into $table (products_id, customers_group_id, specials_new_products_price, specials_last_modified) values ($products_id,$num1,".floatval($_POST["ArtikelVKHaendlerNetto"]).",now())");
	  }; //end for
	  $num = 1;
		foreach ($haendlerKunden_arr as $hkgruppe) {		
 			switch ($hkgruppe){
 			case 1:
 			eS_execute_query("update $table set specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='1'");
 			break;
 			case 2:
 			eS_execute_query("update $table set customers_group_id='2', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='2'");
 			break;
 			case 3:
 			eS_execute_query("update $table set customers_group_id='3', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='3'");
 			break;
 			case 4:
 			eS_execute_query("update $table set customers_group_id='4', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='4'");
 			break;
 			case 5:
 			eS_execute_query("update $table set customers_group_id='5', specials_new_products_price=".floatval($_POST["HPreis".$num.""])." where products_id=\"".$products_id."\" AND  customers_group_id='5'");
 			break;
		}; //end switch
		$num++;	
		}; // end foreach
	}; //end ifelse
	
  }; //end if
}
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Kundendaten extern verschlüsseln (Für den eigenen Shop) und per Import importieren Technische Fragen zu Plugins und Templates 0
Neu Wo und wie finde ich meine Kunden mit einer Marketing-Permission? JTL-Shop - Ideen, Lob und Kritik 0
Neu JTL Shipping - Amazon Prime und nicht-Prime JTL-ShippingLabels - Ideen, Lob und Kritik 0
Neu Amazon - Angebotszuordnung löschen und wieder herstellen Onlineshop-Anbindung 1
Neu Attribute wie Farbe und Größe lassen sich nicht filtern WooCommerce-Connector 0
Farbe zwischen Header und Footer ändern Einrichtung JTL-Shop5 0
Neu WMS Vorteile und Nachteile JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 5
Neu Mehrsprachiger Shop-Aufbau: .de und .nl Domain - worauf muss man achten? Allgemeine Fragen zu JTL-Shop 5
Neu Wie kann ich mit der Wawi Ebay Rechnungen erstellen und nach ebay hochladen? eBay-Anbindung - Fehler und Bugs 3
Ameisen-Export Buchungsdaten (Rechnungen) - Mahndatum und Mahnstufe fehlen JTL-Ameise - Fehler und Bugs 0
Neu Workflow - Stücklisten im Auftrag abfragen und korrekt in einer Mail auflisten User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL 5, Footerdesign, Boxabstände und Ausrichtung korrigieren Gelöste Themen in diesem Bereich 5
Neu Firmen- und E-Mail Einstellungen - Text hevorheben (fett) und Anordnung in Vorlage anpassen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 21
4K Monitor und Skalierung JTL-Wawi 1.8 2
Neu Updatepolitik und Testen von Software - aktuell 5.2.4 Installation / Updates von JTL-Shop 8
Kunden und Artiekl ausblenden JTL-Wawi App 1
Neu Es werden nur jpg Bilder angezeigt und keine webP Gelöste Themen in diesem Bereich 3
Neu Auftragszahlung über Kasse, Auftrag wird nicht als "Verpackt und Versendet" markiert JTL-POS - Fehler und Bugs 1
Gelöst Kassenschublade und Drucker bei iMin D4 Pro JTL-POS - Fragen zu Hardware 4
Neu eBay zusammenfassen von Aufträgen und Buchhaltung User helfen Usern - Fragen zu JTL-Wawi 0
Neu Selbstabholer und eBay User helfen Usern - Fragen zu JTL-Wawi 6
Workflows: Versandgruppen finden und ansprechen JTL-Wawi 1.8 0
Auswertung POS-Umsätze nach Wochentag und Tageszeit JTL-Wawi 1.7 0
Neu Fehler bei Sprach- und Währungsumstellung Allgemeine Fragen zu JTL-Shop 0
Neu Verkaufspreis Differenz Shop und Wawi JTL-Shop - Fehler und Bugs 4
Neu Mehrere Sprachen aktivieren und verschiede Preise pro Land erstellen Betrieb / Pflege von JTL-Shop 1
Neu Paypal Plugin Version 1.2.0 läuft und 1.4.0. läuft nicht auf derselben Umgebung Plugins für JTL-Shop 0
Neu Was steckt hinter der Zahl von 53 Bildern auf Ebay bei Variationsartikeln (und einer unsinnigen Fehlermeldung der Wawi)? JTL-Wawi - Fehler und Bugs 2
Neu Filtereinstellungen: wenn Sonderpreis bei Vater- oder Kindartikeln, Anzeige von Vater- UND Kindartikeln User helfen Usern - Fragen zu JTL-Wawi 5
Neu Sprachvariablen nicht in korrekter Groß- und Kleinschreibung JTL-Shop - Fehler und Bugs 4
Neu Gewicht auf Rechnung (Artikelgewicht und Zusatzgewicht) Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu Neues Plugin: Google Translate / Übersetzer (DSGVO-konform und weitere Features) Plugins für JTL-Shop 2
Neu Workflow Aktion E-Mail senden kann nicht Plain und HTML Email zusammen versenden Arbeitsabläufe in JTL-Wawi 6
Neu JTL Shopify Connector und Billbee frage Shopify-Connector 0
Neu Neues Plugin: Instagram-Feed Portlet (Als Galerie- oder Slideransicht und weitere Features) + 3x kostenlose Lizenzen Plugins für JTL-Shop 4
In Bearbeitung Startschwierigkeiten Scanner und Bon Drucker Allgemeine Fragen zu JTL-POS 3
Neu JTL Worker 2.0 und tinetbestellung Technische Fragen zu den JTL-Connectoren 0
Neu Position Versandkosten und Versandkostenname in PositionTable ausblenden - neuen Vorlagen. Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Neu Liste aller Namespaces und dessen Aufgabe Allgemeine Fragen zu JTL-Shop 0
Kundenattribute aus Shop übernehmen und aus Wawi zurück an Shop übermitteln Einrichtung JTL-Shop5 1
Neu Warenkorb Hinweise bei Bestandsänderung und Preisänderung Allgemeine Fragen zu JTL-Shop 2
In Bearbeitung Artikel über csv-Datei bearbeiten und importieren Allgemeine Fragen zu JTL-POS 3
Verbindung zu Kundencenter geht verloren und Lizenz muss erneut abgteglichen werden JTL-Wawi 1.8 16
Landingpage Header und Footer erstellen zwecks Vorbestellung Einrichtung JTL-Shop5 0
Neu klare Warnung vor den Bausteinen und der PDF in Vorlagen User helfen Usern - Fragen zu JTL-Wawi 4
Neu JTL erstellt falsche Rechnungskorrekturen für Amazon.co.uk Aufträge und verweigert den Support Amazon-Anbindung - Fehler und Bugs 5
Neu Und ewig grüsst das Murmeltier. "The EntityManager is closed" Shopware-Connector 0
Alternativpositionen und gültig von bis JTL-Wawi 1.8 0
Debitorennummern für bestehende und neue Kunden anlegen JTL-Wawi 1.8 2
In Diskussion Bondrucker - im Allgemeinen und Speziellen (Metapace T 25) JTL-POS - Fragen zu Hardware 4

Ähnliche Themen