1. PHP / Говнокод #4358

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    // Функция для подключения к БД
    
    // *** параметры коннекта ***
    ErrorsOff();
    $this->DbAccess = @mysql_connect($this->Server, $this->User, $this->Password);
    ErrorsOn();
    if($this->DbAccess){
    	$this->Connected = true;
    	@mysql_query("set character_set_client='cp1251'");
    	@mysql_query("set character_set_results='cp1251'");
    	@mysql_query("set collation_connection='cp1251_general_ci'");
    	$this->Version = mysql_get_server_info();
    	if($dbname != "" && @mysql_select_db($dbname, $this->DbAccess)){
    		// *** отмечаем текущую базу ***
    	}
    }else{
    	$this->Error('Не удалось подключиться к серверу!');
    	$this->MySQLError();
    	return false;
    }
    $this->Good();
    return true;

    Мартин, 12 Октября 2010

    Комментарии (15)
  2. PHP / Говнокод #4356

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    <?
    // регистрационная информация (пароль #1)
    // registration info (password #1)
    $mrh_pass1 = "Morbid11";
    
    // чтение параметров
    // read parameters
    $out_summ = $_REQUEST["OutSum"];
    $inv_id = $_REQUEST["InvId"];
    $shp_item = $_REQUEST["Shp_item"];
    $crc = $_REQUEST["SignatureValue"];
    
    $crc = strtoupper($crc);
    
    $my_crc = strtoupper(md5("$out_summ:$inv_id:$mrh_pass1:Shp_item=$shp_item"));
    
    // проверка корректности подписи
    // check signature
    if ($my_crc != $crc)
    {
      echo "bad sign\n";
      exit();
    }
    
    // проверка наличия номера счета в истории операций
    // check of number of the order info in history of operations
    $f=@fopen("order.txt","r+") or die("error");
    
    while(!feof($f))
    {
      $str=fgets($f);
    
      $str_exp = explode(";", $str);
      if ($str_exp[0]=="order_num :$inv_id")
      { 
    	echo "Операция прошла успешно\n";
    	echo "Operation of payment is successfully completed\n";
      }
    }
    fclose($f);
    ?>

    учитесь, как надо с онлайн-наличкой работать
    http://www.robokassa.ru/Doc/demo_php.zip

    xXx_totalwar, 12 Октября 2010

    Комментарии (12)
  3. PHP / Говнокод #4355

    +175

    1. 1
    2. 2
    3. 3
    4. 4
    function safe($s) // Против SQL-иньекций
    {
    	return $s;
    }

    IlyaBarkov, 12 Октября 2010

    Комментарии (13)
  4. PHP / Говнокод #4353

    +165

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    function FormatCurrency($fSum, $strCurrency)
    {
    	return CurrencyFormat($fSum, $strCurrency);
    	/*
    	if (!isset($fSum) || strlen($fSum)<=0) return "";
    
    	$arCurFormat = CCurrencyLang::GetCurrencyFormat($strCurrency);
    
    	if (!isset($arCurFormat["DECIMALS"])) $arCurFormat["DECIMALS"] = 2;
    	$arCurFormat["DECIMALS"] = IntVal($arCurFormat["DECIMALS"]);
    	if (!isset($arCurFormat["DEC_POINT"])) $arCurFormat["DEC_POINT"] = ".";
    	if (!isset($arCurFormat["THOUSANDS_SEP"])) $arCurFormat["THOUSANDS_SEP"] = "\\"."xA0";
    	$tmpTHOUSANDS_SEP = $arCurFormat["THOUSANDS_SEP"];
    	eval("\$tmpTHOUSANDS_SEP = \"$tmpTHOUSANDS_SEP\";");
    	$arCurFormat["THOUSANDS_SEP"] = $tmpTHOUSANDS_SEP;
    	if (!isset($arCurFormat["FORMAT_STRING"])) $arCurFormat["FORMAT_STRING"] = "#";
    
    	$num = number_format($fSum, $arCurFormat["DECIMALS"], $arCurFormat["DEC_POINT"], $arCurFormat["THOUSANDS_SEP"]);
    
    	return str_replace("#", $num, $arCurFormat["FORMAT_STRING"]);
    	*/
    }

    1C-Bitrix,
    /bitrix/modules/catalog/include.php

    Under, 12 Октября 2010

    Комментарии (5)
  5. PHP / Говнокод #4351

    +149

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    error_reporting(1);
    require("sells_pages.php");   // ЗДЕСЬ включен массив в виде 'бла-бла ссылка' => 'ее урл',
    
    $max_links = count($sells_pages); //Считает все элементы массива со ссылками
    $random_link_number = rand(0,$max_links); //Выбирает номер случайной строки массива
    
    $link = array_chunk($sells_pages, 1); //Разбивает массив по одному урлу
    
    for($i=0;$i<$max_links;$i++) { 
    	//echo $i." - ".$link[$i][0]."<br>"; //Присваивает переменной $i значение каждой ссылки
    	if ($random_link_number == $i) { $t_link = $link[$i][0]; }  //Сопоставляет случайное значение элементу массива  
    }
    
    //echo "<b>".$today_link."</b>";
    
    if (in_array($t_link, $sells_pages)) { //Проверяет наличие урла в исходном массиве и добавляет анкор
    	$title = array_keys($sells_pages, $t_link);
    	$today_link = "<a href='http://stopfire.ru/$t_link'>$title[0]</a>"; //Формирует конечную ссылку 
    }
    
    $current_address = "http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']; //Сопоставляет адреса чтобы не ссылать страницу на саму себя 
    if ($current_address != $today_link) {
    echo $today_link."<br>";
    }

    спрашивается зачем сравнивать со значением rand когда есть функция array_rand ?
    Гораздо проще так:
    $rand_keys = array_rand($sells_pages, 2);
    echo $sells_pages[$rand_keys[0]] . "\n";
    Понял через два часа))

    alex-engine, 12 Октября 2010

    Комментарии (5)
  6. PHP / Говнокод #4349

    +163

    1. 1
    2. 2
    $bgcolor="#FFFFFF";
    $d % 2 ? 0: $bgcolor= "#F6F6F6";

    Уже никто не скажет, то ли это из PhpAds, то ли уже наши умники дописывали.

    AxisPod, 12 Октября 2010

    Комментарии (14)
  7. PHP / Говнокод #4348

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (!mysql_query($query)) {
      echo 'Invalid query: '.mysql_error()."\n";
      die();
    } else {
      mysql_query($query);
    }

    Вот такой вот крутой дебаггер!

    Wivern, 12 Октября 2010

    Комментарии (7)
  8. PHP / Говнокод #4347

    +143

    1. 1
    foreach (array(0, 1, 2, 3) as $i) { ... }

    Чем им for не угодил?

    dj_nudnyj, 12 Октября 2010

    Комментарии (11)
  9. PHP / Говнокод #4342

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    // (c) Template Optimizer
    // (c) Template Compiler
    // skin/news.tpl
    
    /*<?php
    die ('<br /><br />Template Parser: <b>Access locked</b>');
    ?>*/
    
    $value0 = '
    
    ';
    if ( $this->get_tpl_tag ('USER.ACCESS') == '1' )
    {
    	$value0 .= '
    	';
    	$this->set_tpl_tag ('ACTION', 'new_add');
    	$value0 .= '
    	';
    	$this->set_tpl_tag ('SUBMIT', 'Добавить');
    	$value0 .= '
    	';
    	$this->set_tpl_tag ('CAPTION', 'Добавить новость');
    	$value0 .= '
    	' . $this->file_include ('content.tpl') . '
    ';
    }
    $value0 .= '
    
    ';
    $this->open_local (array ('NEW'));
    if ( is_array ($this->get_tpl_tag ('NEWS')) )
    foreach ( $this->get_tpl_tag ('NEWS') as $this->tags['NEW'] )
    {
    	$value0 .= '
    	<table class="news" width="100%">
    		<tr>
    			<th>
    				<h2>' . $this->get_tpl_tag ('NEW.TITLE') . '</h2>
    			</th>
    			<th align="right">
    				<span class="gensmall">' . $this->get_tpl_tag ('NEW.TIME') . ' </span>
    				';
    	if ( $this->get_tpl_tag ('USER.ACCESS') == '1' )
    	{
    		$value0 .= '
    					<a href="admin.php?action=new_edit&new=' . $this->get_tpl_tag ('NEW.ID') . '"><img src="' . $this->root_dir . '/images/rename.gif" alt="Редактировать" title="Редактировать" style="vertical-align: middle; border: none;" /></a>
    					<a href="admin.php?action=new_delete&new=' . $this->get_tpl_tag ('NEW.ID') . '" onclick="return confirm (\'Удалить новость за ' . $this->get_tpl_tag ('NEW.TIME') . '?\');"><img src="' . $this->root_dir . '/images/delete.gif" alt="Удалить" title="Удалить" style="vertical-align: middle; border: none;" />
    				';
    	}
    	$value0 .= '
    			</th>
    		</tr>
    		<tr>
    			<td colspan="2">
    				' . $this->get_tpl_tag ('NEW.BODY') . '
    			</td>
    		</tr>
    	</table>
    ';
    }
    $this->close_local();
    $value0 .= '
    
    ';
    $this->set_tpl_tag ('_ALIGN_', 'LEFT');
    $value0 .= '
    ' . $this->file_include ('pagebar.tpl');

    Вот такой "говнокод" выдает мой шаблонизатор после компилирования шаблона.
    В данном примере это блок новостей.

    Arigato, 11 Октября 2010

    Комментарии (34)
  10. PHP / Говнокод #4341

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    function m($s, $re)
        {
            return preg_match($re, $s);
        }

    Из какого-то движка такая вот функа в файле function.php

    Arigato, 11 Октября 2010

    Комментарии (27)