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

    +166

    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
    function lowcase($string)
    
               {
    
               $string = ereg_replace('A',"a",$string);
    
               $string = ereg_replace('B',"b",$string);
    
               $string = ereg_replace('C',"c",$string);
    
               $string = ereg_replace('D',"d",$string);
    
               $string = ereg_replace('E',"e",$string);
    
               $string = ereg_replace('F',"f",$string);
    
               $string = ereg_replace('G',"g",$string);
    
               $string = ereg_replace('H',"h",$string);
    
               $string = ereg_replace('I',"i",$string);
    
               $string = ereg_replace('J',"j",$string);
    
               $string = ereg_replace('K',"k",$string);
    
               $string = ereg_replace('L',"l",$string);
    
               $string = ereg_replace('M',"m",$string);
    
               $string = ereg_replace('N',"n",$string);
    
               $string = ereg_replace('O',"o",$string);
    
               $string = ereg_replace('P',"p",$string);
    
               $string = ereg_replace('Q',"q",$string);
    
               $string = ereg_replace('R',"r",$string);
    
               $string = ereg_replace('S',"s",$string);
    
               $string = ereg_replace('T',"t",$string);
    
               $string = ereg_replace('U',"u",$string);
    
               $string = ereg_replace('V',"v",$string);
    
               $string = ereg_replace('W',"w",$string);
    
               $string = ereg_replace('X',"x",$string);
    
               $string = ereg_replace('Y',"y",$string);
    
               $string = ereg_replace('Z',"z",$string);
    
               return ($string);
    
               }

    перевод в нижний регистр:) все в том же движке. Конечно автор не догадывался что в пхп есть функция strtolower(). Ну и работает конечно раз в 1000 быстрее его функции...

    moonie, 21 Августа 2010

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function redirect($location,$time)
    
    {
    
    	$time=$time*1000;
    
    	echo "<script>setTimeout(\"top.location.href='".$location."'\",".$time.");</script>";
    
    }

    Самописный движок этой фирмы http://www.newartline.ru. Это редирект там полно такого пока читал думал легкие выплюну:)

    moonie, 21 Августа 2010

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

    +162

    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
    function SentMessage($Text,$Title) {
    
    	$r=mysql_query("SELECT `id`,`login`,`email` FROM `".$this->TableUsers."` WHERE `access` = 1 and `check_email`=1");
    
    	while( $res = mysql_fetch_array($r) ){               
    		mysql_query("
    			INSERT INTO `".$this->MessTable."` ( 
    				`From` , `To` , `Date` , `Title` , `Text` 
    			) VALUES (
    				'".$this->MainUser['id']."', '".$res[id]."', NOW(), '".$Title."', '".$Text."'
    			)
    		");
    
    		$body=BuildBody("mail.message", $res);
    
    		$headers=' /*... заголовок  ...*/ ';
    		mail ( $res[email], " /*... отправитель ..*/ ", $body, $headers);
    	}
    }

    вот такое чудо враждебной техники откопалось при колупании одной cms'ки...
    (при том что выборка из $this->TableUsers с такими условиями получалась порядка ~500 т. строк )

    istem, 20 Августа 2010

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

    +155

    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
    <?php
    
    include "conf_db.php";
    if(!empty($_REQUEST['doreg'])){
    $error=array();
    if(!$_REQUEST['name']) $error['name']="Имя";
    if(!$_REQUEST['pass']) $error['pass']="Пароль";
    if(!$_REQUEST['pass_to']) $error['pass_to']="Снова пароль";
    if(!$_REQUEST['e_mail']) $error['e_mail']="E-mail";
    
    if(!empty($error))
     {
     foreach ($error as $value)
      {
      echo "Не заполнено поле $value<br>";
      }
     include "form.php";
     }
     
     if(empty($error))
    {
     $error_to=array();
    if(trim($_REQUEST['pass']) !== trim($_REQUEST['pass_to'])) $error_to['pass']="Пароли не совпадают!";
    
    if(empty($error_to)) 
    {
    $query="select * from users where name='".$_REQUEST['name']."'";
    $id=mysql_query($query)or die(mysql_error());
    $arr=mysql_fetch_array($id);
    if(!empty($arr)) $error_to['db']="пользователь с таким именем уже зарегистрирован!"; 
    }
    if(!empty($error_to))
     {
      foreach($error_to as $value)
      {
      echo $value;
      }
     include "form.php";
     }
    }
    if(empty ($error_to)  && empty($error))
    {
    
    //Здесь проверка прошла.
    
    }
    ?>

    Скрипт регистрации

    desty, 20 Августа 2010

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

    +158

    1. 1
    2. 2
    <?php 
    $delete_status = substr ($this->getAdapter()->quote( $delete_status), 1, -1);

    $delete_status - это строка... причем константа.
    в итоге, по ходу задачи это строка ничего не делает...

    nicolay-punin, 20 Августа 2010

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

    +174

    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
    // get extension and name
            $ar = explode('.', $result['name']);
            if (count($ar) == 2)
            {
                $fName = $ar[0];
                $fExt  = $ar[1];
            }
            elseif (count($ar) < 2)
            {
                    $fName = $result['name'];
                    $fExt  = '';
            }
            else 
            {
                        $fName = $ar[0];
                        for ($i = 1; $i < count($ar); $i++)
                        {
                            $fName .= '.' . $ar[$i];
                        }
                        $fExt = $ar[count($ar) - 1];
            }

    Вот таким вот образом в проекте вычисляется расширение файла

    PS. Для тех кто в танке:
    method1(using internal function):
    $extension = pathinfo($filename, PATHINFO_EXTENSION);
    method2(coder know about 'explode' function)
    $ar = explode(".", $filename); $extension = count($ar)>1 ? end($ar) : "";
    method3(coder know about 'strchr', 'strrchr' and 'substr' functions)
    $extension = strrchr(".", $filename ) == FALSE ? "" : substr(strrchr(".", $filename));

    mykola, 19 Августа 2010

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

    +144

    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
    <?php
    date_default_timezone_set('Europe/Kiev');
    header('Content-Type: text/html; charset=utf-8');
    /*Создаем класс объектной модели документа, что-то типа как в JS. */
    $dom = new domDocument;
    
    /*Загружаем наш ХТМЛ файл*/
    $dom->loadHTMLfile('page.html');
    
    /*Ищем всем елементы с тегом таблицы, в даном случае, он у нас один*/
    $table =  $dom->getElementsByTagName('table');
    
    /*Ищем все теги рядов внутри найденной таблицы, item(0) указывает на то, что нужнр брать только первую найденную таблицу. Ещё раз, таблица у нас одна!!!!!!!*/
    $rows = $table->item(0)->getElementsByTagName('tr');
    
    for($i=1;$i<=115;$i++){
        /*Циклом заносим в переменную $cols все данные колонок td для каждого ряда tr внутри таблицы */
        $cols = $rows->item($i)->getElementsByTagName('td');
        /*Выводим в браузер только первую колонку ряда TR, и это у нас имя, если поставить вместо ноля единицу, то выведет Фамилию, если 2-ку поставить, выведет возраст, тут думаю все понятно.*/
        echo $cols->item(3)->nodeValue." ";
    }
    
    
    /*ДОМАШНЕЕ ЗАДАНИЕ: поэксперементируйте!!! помогоает в обучении!!!*/
    
    /*УДАЧИ!!!!!!!*//*УДАЧИ!!!!!!!*//*УДАЧИ!!!!!!!*//*УДАЧИ!!!!!!!*/
    
    ?>

    dimiork, 19 Августа 2010

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    foreach($db_top_list as $key=>$info) {
        // много кода...
        $top_list[$key] = $info;
    }

    Зачем плодить переменные?

    scorpil, 18 Августа 2010

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

    +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
    <?php
            switch (1)
            {
                case isset($args[2]) && isset($args[3]):
                    if ( !$this->xml_client->query('service.get_stat',$args[0],$args[1],$args[2],$args[3]) )
                    {
                        $this->log(ERR_QUERY);
                        return false;
                    }
                    break;
    
    
                case isset($args[2]) && !isset($args[3]):
                    if ( !$this->xml_client->query('service.get_stat',$args[0],$args[1],$args[2]) )
                    {
                        $this->log(ERR_QUERY);
                        return false;
                    }
                    break;
    
                default:
                    if ( !$this->xml_client->query('service.get_stat',$args[0],$args[1]) )
                    {
                        $this->log(ERR_QUERY);
                        return false;
                    }
                    break;
    
            }
            return $this->xml_client->getResponse();
    
    ?>

    кусок вызова функции с переменным числом параметров...
    и самое главное это штука уже давно-давно работает!....

    nicolay-punin, 17 Августа 2010

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

    +146

    1. 1
    <? if (1==0) { ?>

    сложно было комментарий написать(/**/)

    ferry-very-good, 17 Августа 2010

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