"PHP" / Говнокод #21922 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
<?php
if ($value == '' || $value == 0) {	return '';}
$value = str_replace(array(' ', '.', ','), "", $value);
$eur = $modx->runSnippet("GetTv", array(	"docid" => 1,	"field" => "rate-eur"));
$usd = $modx->runSnippet("GetTv", array(	"docid" => 1,	"field" => "rate-usd"));
$rus = $modx->runSnippet("GetTv", array(	"docid" => 1,	"field" => "rate-rus"));
if ($to == 'eur') {
	if ($from == 'eur') {	
		$result = $value;	
	} else if ($from == 'usd') {
			$result = str_replace(',', '.', round(($value * $usd / $eur), 0));
			} else if ($from == 'rus') {
					$result = str_replace(',', '.', round(($value * $rus / $eur), 0));	
				} else {
						$result = str_replace(',', '.', round(($value / $eur), 0));
							}
						} else if ($to == 'rus') {
							if ($from == 'eur') {	
								$result = str_replace(',', '.', round(($value * $eur / $rus), 0));	
							} else if ($from == 'usd') {	
								$result = str_replace(',', '.', round(($value * $usd / $rus), 0));	
							} else if ($from == 'rus') {	
								$result = $value;	
							} else {
									$result = str_replace(',', '.', round(($value / $rus), 0));
										}
									} else if ($to == 'rub') {
										if ($from == 'eur') {	
											$result = str_replace(',', '.', round(($value * $eur), 0));	
										} else if ($from == 'usd') {	
											$result = str_replace(',', '.', round(($value * $usd), 0));	} else if ($from == 'rus') {		
												$result = str_replace(',', '.', round(($value * $rus), 0));
													} else {	
														$result = $value;	
													}
												} else {
													if ($from == 'eur') {	
														$result = str_replace(',', '.', round(($value * $eur / $usd), 0));	
													} else if ($from == 'usd') {	
														$result = $value;	
													} else if ($from == 'rus') {
															$result = str_replace(',', '.', round(($value * $rus / $usd), 0));	
														} else {	
															$result = str_replace(',', '.', round(($value / $usd), 0));
																}
															}
															echo $result;

это пересчет валют (магазин на modx evo) причем это для каждого товара по 6 раз срабатывает

Запостил: als_1984 als_1984, (Updated )

Комментарии (3) RSS

  • Достаточно интересное решение, но я бы пожалуй всё-таки въебал регулярку.
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8