1. Куча / Говнокод #19949

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <ol ng-init="citationsLimit = 3" ng-model="citationsLimit">
    	<li class="citation citationList" ng-repeat="citation in answerFact.citations | limitTo: citationsLimit as citationsResult">
    		<i class="fa ic-marker fa-circle" aria-hidden="true"></i>
    		<div class="citation-text">
    			<span ng-bind-html="citation.highlightedSentenceString"></span>
    			<span ng-if="citation.source">
    				(<a  href="{{citation.source}}" target="_blank">{{citation.source}}</a>)
    			</span>
    		</div>
    	</li>
    </ol>

    ifmy, 06 Мая 2016

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

    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
    <?php
    namespace DoctrineExtensions;
    use \Doctrine\ORM\Event\LoadClassMetadataEventArgs;
    /**
     * Расширение для Doctrine ORM
     * Позволяет отслеживать и работать не со всей базой, а только с таблицами с префиксом
     * Необходимо для уживания с битриксом
     *
     * Class TablePrefix
     * @package DoctrineExtensions
     */
    class TablePrefix
    {
        protected $prefix = '';
        public function __construct($prefix)
        {
            $this->prefix = (string) $prefix;
        }
        public function loadClassMetadata(LoadClassMetadataEventArgs $eventArgs)
        {
            $classMetadata = $eventArgs->getClassMetadata();
            $classMetadata->setTableName($this->prefix . $classMetadata->getTableName());
            foreach ($classMetadata->getAssociationMappings() as $fieldName => $mapping) {
                if ($mapping['type'] == \Doctrine\ORM\Mapping\ClassMetadataInfo::MANY_TO_MANY) {
                    $mappedTableName = $classMetadata->associationMappings[$fieldName]['joinTable']['name'];
                    $classMetadata->associationMappings[$fieldName]['joinTable']['name'] = $this->prefix . $mappedTableName;
                }
            }
        }
    }

    Адепты битрикса добрались до Doctrine ORM. И вот что из этого получилось.
    Заставь дурака ORM подключать, он и events задрочит.

    Keeper, 06 Мая 2016

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

    −2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    this.params.IsCellEditable = function(rowNumber, cellNumber) {
    	cellNumber == 1;
    	this.params.ButtonList = this.params.ButtonList.filter(b=>b[0] === "OnRefresh");
    
    	let textContr = new CTextArea('textContr');
    	textContr.SourceName = "value";
    	textContr.ViewName = "Params";
    	textContr.ComEdit = true;
    	this.params.arrEditObj[1] = textContr;
    
    }

    Найдено в нашем проекте в старом модуле, в авторстве никто не признаётся.
    Во-первых, строка 2 бессмысленна. Во-вторых, всё последующее имело бы хоть какой-то смысл _вне_ этой функции, а внутри уже на строке 3 выкидывает ошибку, потому что контекст там и есть this.param из первой строчки. В-третьих, строка 3 призвана выкидывать из тулбара виджета this.param все кнопки, кроме OnRefresh, но на самом деле она там только одна и есть. В-четвёртых, строчки 7 и 8 просто лишние (ну, это из логики используемого в проекте движка следует). В-пятых, из названия метода можно предположить (и это действительно так), что он должен бы возвращать булевское значение, но он всегда возвращает только undefined и, таким образом, все ячейки виджета оказываются нередактируемыми — что совсем лишает смысла создание контрола для редактирования в строках 5—9.
    Редкостная бредятина. Кто-то в полном затмении писал, и даже десяти секунд не потратил на тестирование.

    torbasow, 06 Мая 2016

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $DB->query("SELECT `id`, `fio`, `pos_id`, `phones` FROM `users` WHERE ...");
    if ($DB->errno()) return false;
    if (!$DB->num_rows()) return false;
    $uList = false;
    while (list($id, $fio, $pos, $tel) = $DB->fetch()) {
        $uList[] = array($id, $fio, $pos, $tel);
    }
    $DB->free();
    return $uList;

    FETCH_ASSOC to FETCH_NUM converting by ©senior shaurma developer

    pahhan, 06 Мая 2016

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

    +6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $startDate = $dayCount != 7 ? ($_REQUEST["wDate"] ? $_REQUEST["wDate"] : date($dateFormat)) : ($_REQUEST["wDate"] ?
                    (date('w', strtotime($_REQUEST["wDate"])) == 1 ? $_REQUEST["wDate"] : (date('w',
                        strtotime($_REQUEST["wDate"])) ? date($dateFormat, strtotime($_REQUEST["wDate"]) -
                        (date('w', strtotime($_REQUEST["wDate"])) - 1) * 24 * 60 * 60) : date($dateFormat,
                        strtotime($_REQUEST["wDate"]) - 6 * 24 * 60 * 60))) : ($cDate == "Sun" ? date($dateFormat,
                        strtotime('Mon last week')) : date($dateFormat, strtotime('Mon this week'))));

    Хз что by ©senior shaurma developer

    pahhan, 06 Мая 2016

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

    +5

    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
    class Program {
        static void Main(string[] args) {
            AppInstance.Get().DoMain(IOMain);
        }
        static IO<None> IOMain() {
            return
                from _ in IO.Do(() => Console.WriteLine("What is your name?"))
                from name in IO.Do(() => Console.ReadLine())
                let message = "Hi, " + name + "!"
                from r in IO.Do(() => Console.WriteLine(message))
                select r;
        }
    }

    https://habrahabr.ru/post/282940

    vleschenko, 05 Мая 2016

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

    −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
    <?php
    global $human; //заселяем
    $inkey = $_GET['inkey'];
    
    //обучаем:
    $array['word']='kill_all_humans';
    $array['line']='drink_all_booze';
    //и далее...
    
    function drink_all_booze()
    {}
    function kill_all_humans()
    {//убить всех человеков
        //unset ($human);
        while($human[0]>0)
        {//пока в списке людей больше 0
            if(!$human[$human[0]]['name'] == 'Fray')
            {//кроме Фрая.
                unset($human[$human[0]]);
            }
        $human[0]--;
        }
    }
    
    //выбираем что делать:
    $${array}[$inkey]();
    ?>

    Говорят, что пишу не понятно. Насколько всё хреново?

    wano987, 05 Мая 2016

    Комментарии (23)
  8. JavaScript / Говнокод #19939

    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
    function floatToStringPrec(f, precisionDigits)
    {
        var PRECISION = Math.pow(10, precisionDigits);
        
        var integerPart = Math.floor(f);
        var fractionalPart = f % 1;
        if (fractionalPart == 0)
        {
            return integerPart.toString();
        }
        
        var zeroesInFracPart = -Math.log10(fractionalPart);
        if (Math.floor(zeroesInFracPart) == zeroesInFracPart)
        {
            zeroesInFracPart--;
        }
        else
        {
            zeroesInFracPart = Math.floor(zeroesInFracPart);
        }
        
        fractionalPart = Math.round(fractionalPart * PRECISION);
    
        while (fractionalPart % 10 == 0)
        {
             fractionalPart /= 10;
        }
        
        var zeroes = '';
        
        if (zeroesInFracPart > 0)
        {
            zeroes = Array(zeroesInFracPart + 1).join('0');
        }
        
        return integerPart.toString() + '.' + zeroes + fractionalPart.toString();
    }

    Преобразовать плавающего питуха в строку; сохранить не более precisionDigits цифр после запятой (остальные - округлить).

    gost, 05 Мая 2016

    Комментарии (31)
  9. C++ / Говнокод #19938

    +6

    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
    #include <iostream>
        using namespace std;
         
        struct One
        {
          bool operator==(const One &) { cout << "hello from One!" << endl; return true; }
          bool operator==(unsigned int) { cout << "hello from One!" << endl;  return true; }
        };
        One operator "" x( unsigned long long int ) { return One{}; }
        One operator "" xMAGICK( unsigned long long int ) { return One{}; }
         
        int main()
        {
          cout << (0xMAGICK == 0x);
         
          return 0;
        }

    http://ideone.com/gGYFce
    Расширяем множество шестнадцатеричных цифр при помощи UDL
    В C++17 осталось разрешить перегрузку операторов встроенных типов - вот тогда можно будет оторваться по-полной!

    gost, 05 Мая 2016

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

    +1

    1. 1
    2. 2
    3. 3
    // $r[2] = 1080;
    $timeStart = (strlen(floor($r[2] / 60)) == 1 ? "0" . floor($r[2] / 60) : floor($r[2] /
                                           60)) . ":" . (strlen($r[2] % 60) == 1 ? "0" . $r[2] % 60 : $r[2] % 60);

    Превращаем минуты во время в формате H:i by ©senior shaurma developer

    pahhan, 05 Мая 2016

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