PageRenderTime 81ms CodeModel.GetById 15ms RepoModel.GetById 1ms app.codeStats 0ms

/dbeS/syncinclude.php

https://github.com/siekiera-media/jtlwawi_connector
PHP | 413 lines | 319 code | 43 blank | 51 comment | 61 complexity | ef18f3a6358e92cac12b2f9ffb1f7c06 MD5 | raw file
  1. <?php
  2. /**
  3. * jtlwawi_connector/dbeS/syncinclude.php
  4. * Tools für Sync
  5. *
  6. * Es gelten die Nutzungs- und Lizenzhinweise unter http://www.jtl-software.de/jtlwawi.php
  7. *
  8. * @author JTL-Software <thomas@jtl-software.de>
  9. * @copyright 2006, JTL-Software
  10. * @link http://jtl-software.de/jtlwawi.php
  11. * @version v1.05 / 06.06.07
  12. */
  13. #error_reporting(E_ALL & ~(E_STRICT|E_NOTICE));
  14. error_reporting(E_ALL);
  15. define('DOCROOT_PATH', '../../../../../');
  16. date_default_timezone_set('Europe/Berlin');
  17. //get DB Connecion
  18. // include server parameters
  19. require_once(DOCROOT_PATH.'admin/includes/configure.php');
  20. $link = mysql_connect (DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD);
  21. mysql_select_db(DB_DATABASE);
  22. define ('ES_ENABLE_LOGGING', 1);
  23. define ('ES_ATTRIBUTE_AN_BESCHREIBUNG_ANHAENGEN', 0);
  24. function eS_execute_query($query) {
  25. return mysql_query($query);
  26. }
  27. /**
  28. * Authentifiziert die Anfrage
  29. *
  30. * @return Bool true, wenn Auth ok, sonst false
  31. */
  32. function auth() {
  33. $cName = $_POST["userID"];
  34. $cPass = $_POST["userPWD"];
  35. $cur_query = eS_execute_query("select * from ".DB_PREFIX."eazysales_sync");
  36. $loginDaten = mysql_fetch_object($cur_query);
  37. if ($cName == $loginDaten->cName && $cPass == $loginDaten->cPass)
  38. return true;
  39. return false;
  40. }
  41. /**
  42. * Gibt einen vardump eines Objekts aus, der sich besser loggen lässt.
  43. *
  44. * @param Object $vardump Objekt, das gedumpt werden soll
  45. * @param int $key Schlüssel
  46. * @param int $level Aktuellw Tiefe
  47. * @param String $return Rückgabestring
  48. * @return String verbesserten Vardump
  49. */
  50. function Dump($vardump){
  51. $return = '';
  52. if (gettype($vardump)!="object" && gettype($vardump)!="array")
  53. $return.= $vardump;
  54. elseif (gettype($vardump) == "object") {
  55. foreach(get_object_vars($vardump) as $key => $value)
  56. $return.= $key." => ".Dump($value)."\n";
  57. } elseif(gettype($vardump) == "array"){
  58. foreach ($vardump as $key => $value)
  59. $return.= $key." => ".Dump($value)."\n";
  60. }
  61. if (!empty($return) && (strlen($return)-2) == ',')
  62. return substr($return,0,strlen($return)-2)." ";
  63. else
  64. return $return;
  65. }
  66. /**
  67. * Fügt Anführungszeichen vorne und am Ende an, sobald die Variable nicht leer.
  68. *
  69. * @param mixed $value
  70. * @return $value mit Anführungszeichen vorne und hinten. Falls $value leer, werden diese Zeichen nicht hinzugefügt.
  71. */
  72. function CSVkonform($value){
  73. if (strlen($value)>0)
  74. return '"'.str_replace('"','""',$value).'"';
  75. }
  76. function datetime2germanDate($datetime){
  77. list ($datum, $uhrzeit) = split(" ",$datetime);
  78. list ($jahr, $monat, $tag) = split ("-",$datum);
  79. list ($std, $min, $sec) = split (":",$uhrzeit);
  80. return $tag.'.'.$monat.'.'.$jahr.' '.$std.':'.$min.':'.$sec;
  81. }
  82. function unhtmlentities($string){
  83. // replace numeric entities
  84. $string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string);
  85. $string = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $string);
  86. // replace literal entities
  87. $trans_tbl = get_html_translation_table(HTML_ENTITIES);
  88. $trans_tbl = array_flip($trans_tbl);
  89. return strtr($string, $trans_tbl);
  90. }
  91. function setMappingArtikel ($eS_key, $mein_key)
  92. {
  93. $eS_key = intval($eS_key);
  94. $mein_key = intval($mein_key);
  95. if ($mein_key && $eS_key)
  96. {
  97. //ist mein_key schon drin?
  98. $cur_query = eS_execute_query("select products_id from ".DB_PREFIX."eazysales_martikel where products_id=".$mein_key);
  99. $prod = mysql_fetch_object($cur_query);
  100. if ($prod->products_id>0)
  101. return "";
  102. else
  103. {
  104. eS_execute_query("insert into ".DB_PREFIX."eazysales_martikel (products_id, kArtikel) values ($mein_key,$eS_key)");
  105. }
  106. }
  107. }
  108. function setMappingKategorie ($eS_key, $mein_key)
  109. {
  110. $eS_key = intval($eS_key);
  111. $mein_key = intval($mein_key);
  112. if ($mein_key && $eS_key)
  113. {
  114. //ist mein_key schon drin?
  115. $cur_query = eS_execute_query("select categories_id from ".DB_PREFIX."eazysales_mkategorie where categories_id=".$mein_key);
  116. $prod = mysql_fetch_object($cur_query);
  117. if ($prod->categories_id>0)
  118. return "";
  119. else
  120. {
  121. eS_execute_query("insert into ".DB_PREFIX."eazysales_mkategorie (categories_id, kKategorie) values ($mein_key,$eS_key)");
  122. }
  123. }
  124. }
  125. function setMappingEigenschaft ($eS_key, $mein_key, $kArtikel)
  126. {
  127. $eS_key = intval($eS_key);
  128. $mein_key = intval($mein_key);
  129. if ($mein_key && $eS_key && $kArtikel)
  130. {
  131. eS_execute_query("delete from ".DB_PREFIX."eazysales_mvariation where kEigenschaft=".$eS_key);
  132. eS_execute_query("insert into ".DB_PREFIX."eazysales_mvariation (kEigenschaft,products_options_id,kArtikel) values ($eS_key, $mein_key, $kArtikel)");
  133. }
  134. }
  135. function setMappingBestellPos ($mein_key)
  136. {
  137. $mein_key = intval($mein_key);
  138. eS_execute_query("delete from ".DB_PREFIX."eazysales_mbestellpos where orders_products_id=".$mein_key);
  139. eS_execute_query("insert into ".DB_PREFIX."eazysales_mbestellpos (orders_products_id) values ($mein_key)");
  140. $query = eS_execute_query("select LAST_INSERT_ID()");
  141. $id_arr = mysql_fetch_row($query);
  142. return $id_arr[0];
  143. }
  144. function setMappingEigenschaftsWert ($eS_key, $mein_key, $kArtikel){
  145. $eS_key = intval($eS_key);
  146. $mein_key = intval($mein_key);
  147. if ($mein_key && $eS_key){
  148. eS_execute_query("DELETE FROM ".DB_PREFIX."eazysales_mvariationswert WHERE kEigenschaftsWert = '".$eS_key."'");
  149. //ist mein_key schon drin?
  150. $query = eS_execute_query("SELECT
  151. products_attributes_id
  152. FROM
  153. ".DB_PREFIX."eazysales_mvariationswert
  154. WHERE
  155. kArtikel = '".$kArtikel."'
  156. AND
  157. products_attributes_id = '".$mein_key."'");
  158. if (mysql_num_rows($query))
  159. return "";
  160. else {
  161. eS_execute_query("INSERT INTO ".DB_PREFIX."eazysales_mvariationswert
  162. (products_attributes_id,
  163. kEigenschaftsWert,
  164. kArtikel)
  165. VALUES
  166. ('".$mein_key."',
  167. '".$eS_key."',
  168. '".$kArtikel."'
  169. )");
  170. }
  171. }
  172. }
  173. function getFremdArtikel($eS_key){
  174. if($eS_key > 0) {
  175. $query = eS_execute_query("SELECT products_id FROM ".DB_PREFIX."eazysales_martikel WHERE kArtikel = '".$eS_key."'");
  176. if(mysql_num_rows($query)) {
  177. $query = mysql_fetch_array($query);
  178. return $query['products_id'];
  179. }
  180. return 0;
  181. }
  182. return 0;
  183. }
  184. function getEsArtikel($mein_key){
  185. if ($mein_key>0){
  186. $cur_query = eS_execute_query("select kArtikel from ".DB_PREFIX."eazysales_martikel where products_id=".$mein_key);
  187. $prod = mysql_fetch_object($cur_query);
  188. return $prod->kArtikel;
  189. }
  190. return 0;
  191. }
  192. function getFremdKategorie($eS_key)
  193. {
  194. if ($eS_key>0)
  195. {
  196. $cur_query = eS_execute_query("select categories_id from ".DB_PREFIX."eazysales_mkategorie where kKategorie=".$eS_key);
  197. $prod = mysql_fetch_object($cur_query);
  198. return $prod->categories_id;
  199. }
  200. return 0;
  201. }
  202. function getEsKategorie($mein_key)
  203. {
  204. if ($mein_key>0)
  205. {
  206. $cur_query = eS_execute_query("select kKategorie from ".DB_PREFIX."eazysales_mkategorie where categories_id=".$mein_key);
  207. $prod = mysql_fetch_object($cur_query);
  208. return $prod->kKategorie;
  209. }
  210. return 0;
  211. }
  212. function getFremdBestellPos($eS_key)
  213. {
  214. $cur_query = eS_execute_query("select orders_products_id from ".DB_PREFIX."eazysales_mbestellpos where kBestellPos=".$eS_key);
  215. $prod = mysql_fetch_object($cur_query);
  216. return $prod->orders_products_id;
  217. }
  218. function getEsEigenschaft($mein_key, $kArtikel)
  219. {
  220. if ($mein_key>0 && $kArtikel>0)
  221. {
  222. $cur_query = eS_execute_query("select kEigenschaft from ".DB_PREFIX."eazysales_mvariation where kArtikel=".$kArtikel." and products_options_id=".$eS_key);
  223. $prod = mysql_fetch_object($cur_query);
  224. return $prod->kEigenschaft;
  225. }
  226. }
  227. function getFremdEigenschaft($eS_key)
  228. {
  229. if ($eS_key>0)
  230. {
  231. $cur_query = eS_execute_query("select products_options_id from ".DB_PREFIX."eazysales_mvariation where kEigenschaft=".$eS_key);
  232. $prod = mysql_fetch_object($cur_query);
  233. return $prod->products_options_id;
  234. }
  235. return 0;
  236. }
  237. function getEigenschaftsArtikel($eS_key)
  238. {
  239. if ($eS_key>0)
  240. {
  241. $cur_query = eS_execute_query("select kArtikel from ".DB_PREFIX."eazysales_mvariation where kEigenschaft=".$eS_key);
  242. $prod = mysql_fetch_object($cur_query);
  243. return $prod->kArtikel;
  244. }
  245. return 0;
  246. }
  247. function getFremdEigenschaftsWert($eS_key)
  248. {
  249. if ($eS_key>0)
  250. {
  251. $cur_query = eS_execute_query("select products_attributes_id from ".DB_PREFIX."eazysales_mvariationswert where kEigenschaftsWert=".$eS_key);
  252. $prod = mysql_fetch_object($cur_query);
  253. return $prod->products_attributes_id;
  254. }
  255. return 0;
  256. }
  257. function getEsEigenschaftsWert($mein_key, $kArtikel)
  258. {
  259. if ($mein_key>0 && $kArtikel>0)
  260. {
  261. $cur_query = eS_execute_query("select kEigenschaftsWert from ".DB_PREFIX."eazysales_mvariationswert where kArtikel=$kArtikel and products_attributes_id=".$mein_key);
  262. $prod = mysql_fetch_object($cur_query);
  263. return $prod->kEigenschaftsWert;
  264. }
  265. return 0;
  266. }
  267. /**
  268. * real mysql escape mysql escape
  269. * @access public
  270. * @param string $ausdruck Ausdruck, der escaped für mysql werden soll
  271. * @return escaped expression
  272. */
  273. function realEscape ($ausdruck)
  274. {
  275. if (get_magic_quotes_gpc())
  276. return mysql_real_escape_string(stripslashes($ausdruck));
  277. else
  278. return mysql_real_escape_string($ausdruck);
  279. }
  280. function logExtra($entry)
  281. {
  282. if (ES_ENABLE_LOGGING!=1)
  283. return "";
  284. $logfilename = "logs/".basename($_SERVER['REQUEST_URI'],".php").".log";
  285. $logfile = fopen($logfilename, 'a');
  286. fwrite($logfile,"\n[#######Extra Log##########] [".date('m.d.y H:i:s')."]\n".$entry);
  287. fclose($logfile);
  288. }
  289. function logge($return)
  290. {
  291. if (ES_ENABLE_LOGGING!=1)
  292. return "";
  293. $logfilename = "logs/".basename($_SERVER['REQUEST_URI'],".php").".log";
  294. $c = "\n\n".'['.date('m.d.y H:i:s').'] - Ret: '.$return."\n".Dump($_POST);
  295. file_put_contents($logfilename, $c, FILE_APPEND);
  296. }
  297. //get tax 4 product
  298. function get_tax($products_tax_class_id, $tax_zone_id=0)
  299. {
  300. if (!$tax_zone_id)
  301. $tax_zone_id= $GLOBALS['einstellungen']->tax_zone_id;
  302. if (!$products_tax_class_id || !$tax_zone_id)
  303. return 0;
  304. $taxclass_query = eS_execute_query("select * from ".DB_PREFIX."tax_rates where tax_class_id=".$products_tax_class_id." and tax_zone_id=".$tax_zone_id);
  305. $tax = mysql_fetch_object($taxclass_query);
  306. return ($tax->tax_rate);
  307. }
  308. function getSonstigeSprachen($auszuschliessendeLangId)
  309. {
  310. $langIds = array();
  311. //hol alle Sprachen
  312. $cur_query = eS_execute_query("select languages_id from ".DB_PREFIX."languages");
  313. while ($res = mysql_fetch_object($cur_query))
  314. {
  315. if ($auszuschliessendeLangId!=$res->languages_id)
  316. array_push($langIds,$res->languages_id);
  317. }
  318. return $langIds;
  319. }
  320. function setzeKundengruppenerlaubnis($customer_status_id_csv, $products_id)
  321. {
  322. if (!$products_id)
  323. return "";
  324. $cur_query = eS_execute_query("select configuration_value from ".DB_PREFIX."configuration where configuration_key=\"GROUP_CHECK\"");
  325. $GROUP_CHECK = mysql_fetch_object($cur_query);
  326. if ($GROUP_CHECK->configuration_value=="false")
  327. return "";
  328. $customer_status_id_all_arr = array();
  329. $customer_status_id_arr;
  330. //nicht gesetzt -> setze für alle Kundengruppen als erlaubt
  331. $query = eS_execute_query("select distinct(customers_status_id) from ".DB_PREFIX."customers_status");
  332. while ($cust_id_row = mysql_fetch_row($query))
  333. {
  334. if ($cust_id_row[0]>=0)
  335. array_push($customer_status_id_all_arr,$cust_id_row[0]);
  336. }
  337. if (!$customer_status_id_csv)
  338. {
  339. //für alle setzen
  340. $customer_status_id_arr = $customer_status_id_all_arr;
  341. }
  342. else
  343. {
  344. $customer_status_id_arr = explode(",",$customer_status_id_csv);
  345. if (is_array($customer_status_id_arr) && count($customer_status_id_arr)>0)
  346. {
  347. for ($i=0;$i<count($customer_status_id_arr);$i++)
  348. {
  349. $customer_status_id_arr[$i]=intval($customer_status_id_arr[$i]);
  350. }
  351. }
  352. }
  353. if (is_array($customer_status_id_arr) && count($customer_status_id_arr)>0)
  354. {
  355. foreach ($customer_status_id_all_arr as $i => $customer_status_id)
  356. {
  357. if (in_array($customer_status_id,$customer_status_id_arr))
  358. {
  359. //setze status auf 1
  360. eS_execute_query("update ".DB_PREFIX."products set group_permission_".$customer_status_id."=1 where products_id=".$products_id);
  361. }
  362. else
  363. {
  364. //setze status auf 0
  365. eS_execute_query("update ".DB_PREFIX."products set group_permission_".$customer_status_id."=0 where products_id=".$products_id);
  366. }
  367. }
  368. }
  369. }
  370. ?>