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

    +1

    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
    $dbh = new PDO("mysql:host=$this->dbHost;dbname=$this->dbName", $this->dbUser, $this->dbPassword);
            $dbh->exec("set names utf8");
    
            $street = $streetPart.'%';
            if (isset($arChooseCity[$cityIndex])) {
                $condition =
                    "(city_az LIKE '$city'"
                    ." OR city_az LIKE '$arChooseCity[$cityIndex]'"
                    ." OR city_ru LIKE '$arChooseCity[$cityIndex]'"
                    ." OR city_en LIKE '$arChooseCity[$cityIndex]'"
                    ." OR city_ru LIKE '$city'"
                    ." OR city_en LIKE '$city')"
                    ." AND (geo_az LIKE '$street'"
                    ." OR geo_ru LIKE '$street'"
                    ." OR geo_en LIKE '$street'"
                    ." OR geo_az LIKE '% $street'"
                    ." OR geo_en LIKE '% $street'"
                    ." OR geo_ru LIKE '% $street')"
                ;
            }
            else {
                $condition =
                    "(city_az LIKE '$city'"
                    ." OR city_ru LIKE '$city'"
                    ." OR city_en LIKE '$city')"
                    ." AND (geo_az LIKE '$street'"
                    ." OR geo_ru LIKE '$street'"
                    ." OR geo_en LIKE '$street'"
                    ." OR geo_az LIKE '% $street'"
                    ." OR geo_en LIKE '% $street'"
                    ." OR geo_ru LIKE '% $street')"
                ;
            }
            $condition_type = " AND type = 'geo_object'";
            $condition_street = " AND type = 'street'";
    
            $query_street = $dbh->prepare("SELECT * from `addresses_new_new` WHERE $condition $condition_street GROUP BY street_{$lang}, city_{$lang} ORDER BY weight DESC LIMIT 0, {$maxLimit}");
            $query_type = $dbh->prepare("SELECT * from `addresses_new_new` WHERE $condition $condition_type LIMIT 0, {$maxLimit}");
    
            $query_street->execute();
            $query_type->execute();

    match - against никому не нужен! пользуйся только like.

    akanit, 18 Ноября 2015

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

    +3

    1. 1
    2. 2
    $xml = simplexml_load_string($Result);
    $xml_array = unserialize(serialize(json_decode(json_encode((array) $xml), 1)));

    Ребята, объясните, что это?!

    bot, 18 Ноября 2015

    Комментарии (7)
  3. 1C / Говнокод #19040

    −96

    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
    Если Не ЭтотОбъект.ПолучитьФорму().ЭлементыФормы.Объект.Значение = Справочники.ОбъектАренды.ПустаяСсылка() 
    	   и Не ЭтотОбъект.ПолучитьФорму().ЭлементыФормы.Подразделение.Значение = Справочники.Подразделения.ПустаяСсылка() Тогда
    		 Запрос.Текст = Запрос.Текст + "
              		|	И ДоговорыКонтрагентов.Подразделение = &Подразделение
                   		|	И ДоговорыКонтрагентов.ОбъектАренды В ИЕРАРХИИ(&ОбъектАренды)";
    		 Запрос.УстановитьПараметр("ОбъектАренды", ЭтотОбъект.ПолучитьФорму().ЭлементыФормы.Объект.Значение);
    		 Запрос.УстановитьПараметр("Подразделение", ЭтотОбъект.ПолучитьФорму().ЭлементыФормы.Подразделение.Значение);
    	   ИначеЕсли ЭтотОбъект.ПолучитьФорму().ЭлементыФормы.Объект.Значение = Справочники.ОбъектАренды.ПустаяСсылка() 
    	   и Не ЭтотОбъект.ПолучитьФорму().ЭлементыФормы.Подразделение.Значение = Справочники.Подразделения.ПустаяСсылка() Тогда
    		 Запрос.Текст = Запрос.Текст + " И ДоговорыКонтрагентов.Подразделение = &Подразделение";
                   Запрос.УстановитьПараметр("Подразделение", ЭтотОбъект.ПолучитьФорму().ЭлементыФормы.Подразделение.Значение);
    	   ИначеЕсли Не ЭтотОбъект.ПолучитьФорму().ЭлементыФормы.Объект.Значение = Справочники.ОбъектАренды.ПустаяСсылка() 
    	   и  ЭтотОбъект.ПолучитьФорму().ЭлементыФормы.Подразделение.Значение = Справочники.Подразделения.ПустаяСсылка() Тогда
    		 Запрос.Текст = Запрос.Текст + " И ДоговорыКонтрагентов.ОбъектАренды В ИЕРАРХИИ(&ОбъектАренды)";
    		 Запрос.УстановитьПараметр("ОбъектАренды", ЭтотОбъект.ПолучитьФорму().ЭлементыФормы.Объект.Значение);
    							 
    КонецЕсли;

    Здравствуйте, дети! Сегодня мы с вами будем учиться делать отборы в отчётах.

    SkyHunter, 18 Ноября 2015

    Комментарии (6)
  4. C# / Говнокод #19039

    +3

    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
    public class Logger
    	{
    		public static string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log.log");
    
    		public static void Write(string message)
    		{
    			using (var sw = File.AppendText(filePath))
    			{
    				sw.WriteLine(DateTime.Now);
    				sw.WriteLine(message);
    				sw.WriteLine();
    				sw.Flush();
    			}
    		}
    
    		public static void Write(Exception exception)
    		{
    			using (var sw = File.AppendText(filePath))
    			{
    				sw.WriteLine(DateTime.Now);
    				sw.WriteLine("ERROR:");
    				sw.WriteLine(exception.Message);
    				sw.WriteLine(exception.StackTrace);
    				sw.WriteLine();
    				sw.Flush();
    			}
    		}
    	}

    Нафига готовые решения? Вот - образец велосипедостроения! (И, тссс! Не вздумайте использовать его в многопоточной среде ;) А именно там он и используется по факту :) )

    PS угадайте какой фортель выкинет сеё чудо при race condition

    leon_mz, 18 Ноября 2015

    Комментарии (20)
  5. C# / Говнокод #19038

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    private void KbkButtonAvailabilityCheck()
    {
       bttAddKbk.Enabled = !string.IsNullOrWhiteSpace(string.Format("{0}{1}{2}{3}{4}", txtChapter.Text, txtSection.Text, txtArticle.Text, txtKind.Text, txtKOSGU.Text));
    }

    Проверяем, есть ли данные хотя бы в одной строке

    Psilon, 18 Ноября 2015

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

    0

    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
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    <?php
    
    class Palindrome {
    	protected $text;
    
    	function __construct($text) {
    		$this->text = $text;
    	}
    
    	protected function isPalindrome($text) {
    		$string	= mb_strtolower(preg_replace("/[^A-Za-zА-Яа-я0-9]/", "", $text));
    		$status = mb_strlen($string) > 2?($string == $this->reverce($string)):false;
    
    		return (object) [
    				'status' => $status, 
    				'string' => $string, 
    				'original' => trim($text, ' ')
    			];
    	}
    
    	protected function comparingStrings($first_string, $last_string) {
    		$comparing = mb_strlen($first_string) > mb_strlen($last_string);
    		return $comparing?$first_string:$last_string;
    	}
    
    	protected function findPalindrome()
    	{
    		$palindrome = mb_strlen($this->text);
    		$result		= false;
    
    		for ($i = 0; $i < $palindrome; $i++) {
    			$palindrome_c = $palindrome-$i;
    			for ($j = 0; $j < $palindrome_c; $j++) {
    				$find 		= $this->isPalindrome(mb_substr($this->text, $j, $palindrome_c, "UTF-8"));
    
    				if ($find->status) {
    					$result = $this->comparingStrings($find->original, $result);
    				}
    			}
    		}
    
    		return $result;
    	}
    
    	public function view() {
    		if ($this->isPalindrome($this->text)->status) 
    			return $this->text;
    
    		if ($palindrome = $this->findPalindrome())
    			return $palindrome;
    
    		return mb_substr($this->text, 0, 1);
    	}
    }
    
    $view = 'Введите палиндром!';
    
    if (isset($_POST['text'])) {
    	$palindrome = new Palindrome($_POST['text']);
    	$view = $palindrome->view();
    }
    
    ?> 
    
    <html>
    	<head>
    		<title>Palindrome</title>
    	</head>
    	<body>
    		<div><?=$view?></div>
    		<form action="?" method="POST">
    			<input type="text" name="text">
    			<input type="submit">
    		</form>
    	</body>
    </html>

    Накатил тестовое на коленке.

    HiNeX, 17 Ноября 2015

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

    +3

    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
    <?php
        $year = 0;
        echo "var newDataArr = [";
        for ($i=0; $i<count($numStat); $i++){
    
            if ($year != $numStat[$i]['DSFLD_2444']){
    
                if ($i>0) echo "]},
                ";
    
                echo "{ year: ".$numStat[$i]['DSFLD_2444']. ", data: [
                        ['".addslashes($numStat[$i]['DSFLD_2429'])."',"
                        .$numStat[$i]['DSFLD_2358'].", "
                        .$numStat[$i]['DSFLD_2360'].", "
                        .$numStat[$i]['DSFLD_2365'].", "
                        .$numStat[$i]['DSFLD_2357'].", "
                        .$numStat[$i]['DSFLD_2369']."]";
            }
            else {
                echo ",['".addslashes($numStat[$i]['DSFLD_2429'])."',"
                        .$numStat[$i]['DSFLD_2358'].", "
                        .$numStat[$i]['DSFLD_2360'].", "
                        .$numStat[$i]['DSFLD_2365'].", "
                        .$numStat[$i]['DSFLD_2357'].", "
                        .$numStat[$i]['DSFLD_2369']."]";
            }
            $year = $numStat[$i]['DSFLD_2444'];
        }
        if ($year>0) echo "]}
                ";
        echo "];
        "
        ?>

    Когда php-шнику сказали написать JS код

    melongeno, 17 Ноября 2015

    Комментарии (0)
  8. C# / Говнокод #19032

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public bool AddCellImage(Image Img, BaseAnalysisObjectsClassification AnAttr)
    {
        bool bRes = false;
        for (; ; )
        {
            AddCell(Img, AnAttr);
            bRes = true;
            break;
        }
        return bRes;
    }

    whirlwind, 17 Ноября 2015

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

    0

    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
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    $breadcrumb = array();
    $breadcrumb[0] = new Json();
    $breadcrumb[0]->url = URL::base().'cat';
    $breadcrumb[0]->caption = 'Каталог';
    try {
    	if(isset($_GET['q'])) {
    		$qs = $_GET['q'];
    		$matches = array();
    		$count = preg_match_all("/\d+/", $qs, $matches);
    		if ($count > 1) {
    			$lc = $matches[0][0];
    			$vc = $matches[0][1];
    			list ($totalCount, $thumbnails, $lamps_orm, $formCount) = Imp::getVariants($lc, $vc, $p);
    			list ($form, $formList) = Imp::getForms($lamps_orm[0]->f->latin);
    			$this->template->title = $lamps_orm[0]->cyrillic;
    			$lampName = $lamps_orm[0]->cyrillic;
    			$breadcrumb[1] = new Json();
    			$breadcrumb[1]->url = URL::base().'cat/'.$form->c->latin;
    			$breadcrumb[1]->caption = $form->c->cyrillic;
    			$breadcrumb[2] = new Json();
    			$breadcrumb[2]->url = URL::base().'lamp/'.$form->latin;
    			$breadcrumb[2]->caption = $form->cyrillic;
    			$breadcrumb[3] = new Json();
    			$breadcrumb[3]->url = URL::base().'lamp/search/?q='.$lamps_orm[0]->code;
    			$breadcrumb[3]->caption = $lamps_orm[0]->cyrillic;
    			$breadcrumb[4] = new Json();
    			$breadcrumb[4]->url = NULL;
    			$breadcrumb[4]->caption = $thumbnails[0]->code;
    		} elseif ($count == 1) {
    			$lc = $matches[0][0];
    			list ($totalCount, $thumbnails, $lamps_orm, $formCount) = Imp::getVariants($lc, NULL, $p);
    			list ($form, $formList) = Imp::getForms($lamps_orm[0]->f->latin);
    			$this->template->title = $lamps_orm[0]->cyrillic;
    			$lampName = $lamps_orm[0]->cyrillic;
    			$breadcrumb[1] = new Json();
    			$breadcrumb[1]->url = URL::base().'cat/'.$form->c->latin;
    			$breadcrumb[1]->caption = $form->c->cyrillic;
    			$breadcrumb[2] = new Json();
    			$breadcrumb[2]->url = URL::base().'lamp/'.$form->latin;
    			$breadcrumb[2]->caption = $form->cyrillic;
    			$breadcrumb[3] = new Json();
    			$breadcrumb[3]->url = NULL;
    			$breadcrumb[3]->caption = $lamps_orm[0]->cyrillic;
    		} else {
    			list ($totalCount, $thumbnails, $lamps_orm, $formCount) = Imp::getVariants($qs, NULL, $p);
    			list ($form, $formList) = Imp::getForms($lamps_orm[0]->f->latin);
    			if (count($lamps_orm) > 1) {
    				$this->template->title = $form->cyrillic;
    				$lampName = $form->cyrillic;
    				$breadcrumb[1] = new Json();
    				$breadcrumb[1]->url = URL::base().'cat/'.$form->c->latin;
    				$breadcrumb[1]->caption = $form->c->cyrillic;
    				$breadcrumb[2] = new Json();
    				$breadcrumb[2]->url = NULL;
    				$breadcrumb[2]->caption = $form->cyrillic;
    				if ($formCount > 1) {
    					$breadcrumb = array();
    					$breadcrumb[0] = new Json();
    					$breadcrumb[0]->url = NULL;
    					$breadcrumb[0]->caption = 'Результаты поиска';
    					$this->template->title = 'Результаты поиска по запросу "'.$qs.'"';
    					$lampName = 'Результаты поиска по запросу "'.$qs.'"';
    				}
    			} else {
    				$this->template->title = $lamps_orm[0]->cyrillic;
    				$lampName = $lamps_orm[0]->cyrillic;
    				$breadcrumb[1] = new Json();
    				$breadcrumb[1]->url = URL::base().'cat/'.$form->c->latin;
    				$breadcrumb[1]->caption = $form->c->cyrillic;
    				$breadcrumb[2] = new Json();
    				$breadcrumb[2]->url = URL::base().'lamp/'.$form->latin;
    				$breadcrumb[2]->caption = $form->cyrillic;
    				$breadcrumb[3] = new Json();
    				$breadcrumb[3]->url = NULL;
    				$breadcrumb[3]->caption = $lamps_orm[0]->cyrillic;
    			}
    		}
    		$pagination = Imp::getPagination($totalCount, 16, $p, 'lamp/search/:page/?q='.$qs);
    	} else {
    		list ($form, $formList) = Imp::getForms($f);
    		if (isset($_GET['y'])) {
    			list ($totalCount, $thumbnails, $lamps_orm, $formCount) = Imp::getVariants($form, 'form', $p, array(0, 1), $_GET['y'], $_GET['m'], $_GET['d']);
    			$paginationUrlFormat = 'lamp/'.$f.'/:page/?y='.$_GET['y'].'&m='.$_GET['m'].'&d='.$_GET['d'];
    			$lampName = $form->cyrillic.' <span style="color: #666; font-style: oblique;"><small>Показаны обновления от '.D::_($_GET['y'].'-'.$_GET['m'].'-'.$_GET['d']).'.    <a href="'.URL::base().'lamp/'.$f.'" style="font-weight: normal; font-style: normal;">Показать все варианты ›</a></small></span>';
    		}
    		else {
    			list ($totalCount, $thumbnails, $lamps_orm, $formCount) = Imp::getVariants($form, 'form', $p);
    			$paginationUrlFormat = 'lamp/'.$f.'/:page';
    			$lampName = $form->cyrillic;
    		}
    		$this->template->title = $form->cyrillic;
    		$pagination = Imp::getPagination($totalCount, 16, $p, $paginationUrlFormat);
    		$breadcrumb[1] = new Json();
    		$breadcrumb[1]->url = URL::base().'cat/'.$form->c->latin;
    		$breadcrumb[1]->caption = $form->c->cyrillic;
    		$breadcrumb[2] = new Json();
    		$breadcrumb[2]->url = NULL;
    		$breadcrumb[2]->caption = $form->cyrillic;
    	}

    Кусок контроллера трехлетней давности. В данный момент готовлю это к утилизации. А, когда я это писал, мне казалось, что я крут.
    В то время на хостинге не было json_encode/json_decode, поэтому сделал класс Json. Хотя, использовал его просто так, чтобы не создавать кучу специализированных классов.

    kgm-rj, 16 Ноября 2015

    Комментарии (1)
  10. 1C / Говнокод #19030

    −95

    1. 1
    2. 2
    НаименованиеУзла = Константы.ТБ_НаименованиеУзла.Получить();
    УзелОбмена = ПланыОбмена.Обмен_ТБ.НайтиПоНаименованию(НаименованиеУзла);

    Франч, крупный, дорогой, известный. Код из доработки для крупной компании.... Нет слов.

    portowyi, 16 Ноября 2015

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