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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    public function defaultAction() {
    
            set_time_limit(1200);
            ini_set('memory_limit','4096M');	// 5 Gb

    Сунь-цзы -- искусство военного обмана

    cephuo, 11 Сентября 2015

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

    +7

    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
    $cachefile = __DIR__. "/cache/".hash("md5", json_encode($_GET));
    
    if (file_exists($cachefile))
    {
      include($cachefile);
    }
    else
    {
    ob_start();
    
    do_something();
    
    $fp = fopen($cachefile,"w");
    fwrite($fp, ob_get_contents());
    fclose($fp);
    ob_end_flush();
    }

    Кэширование для инвалидов, применяется во внешнем API.

    nihirash, 10 Сентября 2015

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

    +3

    1. 1
    2. 2
    3. 3
    public function findByEventId($eventId) {
    	return $this->findByEventId($eventId);
    }

    Я просто оставлю это здесь...

    bit0rez, 10 Сентября 2015

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

    +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
    $tel = Number::clearPhone(trim($info['telephone']));
                $allowed_chars = '1234567890';
                if (!Number::clearPhone($tel)) {
                    $errors['error'] = "Введите телефонный номер";
                    $errors[] = 'telephone';
                }
                for ($i = 0; $i < mb_strlen($tel); $i++) {
                    if (mb_strpos($allowed_chars, mb_strtolower($tel[$i])) === false) {
                        $errors['error'] = "В номере должны быть только числа";
                        $errors[] = 'telephone';
                    }
                }

    ну вот можно же было просто как-то так написать:

    preg_match('^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$', $tel)

    NotFake, 09 Сентября 2015

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

    +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
    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
    <?
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
    $APPLICATION->SetTitle("Новости");
    ob_start();
    
    $APPLICATION->IncludeComponent("bitrix:news", "news-lenta", array(
    	"IBLOCK_TYPE" => "press",
    	"IBLOCK_ID" => "12",
    # вырезано: просто вызывается компонент Битрикс "список новостей"
    );
    
    # веселье тут. Шах и мат, Битрикс!
    $html_code = ob_get_contents();
    ob_end_clean();
    $doc = new DOMDocument();
    
    $html_code = mb_convert_encoding('<meta charset="utf-8">'.$html_code, 'HTML-ENTITIES', "UTF-8");
    if($doc->loadHTML($html_code))
    {
    	$xpath = new DOMXpath($doc);
    }
    // Элемент
    $element_list = $xpath->query(".//descendant::div[@id='element']");
    if($element_list->length > 0)
    {?>
        <div class="container"><?
    	for($i=0;$i<$element_list->length;$i++)
    	{
    		echo $doc->saveHTML($element_list->item($i));
    	}
    	?></div><?}
    
    // Новости
    $blog_post_list = $xpath->query(".//descendant::div[@id='res']/div[@class='blog margin-bottom-40']");
    if($blog_post_list->length > 0)
    {
    	?><div class="container blog-full-width"><?
    	for($i=0;$i<$blog_post_list->length;$i++)
    	{
    		
    		echo $doc->saveHTML($blog_post_list->item($i));
    		
    	}
    	?></div><?
    }
    // Пагинатор
    $pagination_list = $xpath->query(".//descendant::ul[@class='pagination']");
    if($pagination_list->length > 0)
    {
    	?><div class="text-center"><?
    	for($i=0;$i<$pagination_list->length;$i++)
    	{
    		
    		echo $doc->saveHTML($pagination_list->item($i));
    		
    	}
    	?></div><?
    }
    ?>
    
     <? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>

    Шах и мат, Битрикс!

    nik757, 07 Сентября 2015

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

    +3

    1. 1
    protected  $MIN_PHOTO_COUNT = 10; #Используется для того, чтобы определить что это фотоотчёт а не детский утренник, хотя если честно сомнительно

    Рабочий сервис с фотоотчётами городских мероприятий...

    bit0rez, 07 Сентября 2015

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

    +6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public function actionFast()
        {
            for ($index = 0; $index < 1000000; $index++) {
                // $mem = memory_get_usage()/1024/1024;
                //var_dump($mem);
                // var_dump(memory_get_peak_usage());
                md5(md5(md5(md5(md5(md5(1000000000))))));
            }
        }

    no comments.

    Elenberg, 07 Сентября 2015

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

    +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
    <?php
    if(!isset($_GET['conn'])) { $conn = "yes";}
       else {$conn = $_GET['conn'];}
       if(!isset($_GET['kat'])) { $kat = $kateg[0];}
       else {$kat = $_GET['kat'];}
        if(!isset($_GET['start'])) $start = 0;
      else $start = $_GET['start'];
      if(isset($_GET['torgi_id'])) $torgi_id = $_GET['torgi_id']; 
     
      // Устанавливаем соединение с базой данныъ
      require_once("../config.php");
      // Формируем и выполянем SQL-запрос на удаление записи в таблице users 
      $query = "DELETE FROM torgi 
                WHERE torgi_id=".$_GET['torgi_id'];
      mysql_query($query);	
      $query = "DELETE FROM news 
                WHERE torgi_id=".$_GET['torgi_id'];
    			
      if(mysql_query($query))
      {
        // Осуществляем автоматический переход на страницу администрирования
        echo "<HTML><HEAD>
               <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php?conn=$conn&kat=$kat&start=$start'>
              </HEAD>";
      }
      else puterror("Ошибка при обращении к таблице документов");
    ?>

    в целом весь проект состоит из одних Injection. На последок автор демонстриует оригинальный редирект.
    Проект очень известный и этот код до сих пор крутится в бою)

    nik757, 06 Сентября 2015

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

    +2

    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
    foreach ($relations as $relation) {
                $structured_relations[$relation['status_name']][] = [
                    'id' => $relation['sl_id'],
                    'status' => $relation['status'],
                    'status_name' => $relation['status_name'],
                    'parent' => $relation['parent'],
                    'parent_name' => $relation['parent_name'],
                    'customer' => $relation['customer'],
                    'provider' => $relation['provider'],
                    'admin' => $relation['admin'],
                ];
            }
            return $structured_relations;

    Просто пускай полежит здесь ;)

    kors, 04 Сентября 2015

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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <?php
    $i = 0;
    foreach($Person as $val){
        $i++;
    }
    return $i;//ВЫВОД <D>

    m0003r, 04 Сентября 2015

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