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

    +151

    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
    <?php
    require_once ("../inc/core.php");
    require_once ("../inc/header.php");
    //
    require_once ("../inc/classAudioFile.php");
    require_once ("../inc/func.php");
    
    
    
    
    /// Форма загрузки файла
    if (!isset ($_POST['upload'])){
    echo '<form action="upload.php" method="post" enctype="multipart/form-data">';
    echo '<input type="file" name="fname"><br>';
    echo '<input type="submit" name="upload" value="Загрузить"><br></form>';
    }
    //
    $date = DATE ("Y-m-d");
    $scriptdir = "$siteurl/mp3/";
    $dir = "files/$date/";
    $tmpfilename = $_FILES['fname']['tmp_name'];
    $filename = $_FILES['fname']['name'];
    $nfilename = trans ("MixON.mobi_".$filename);
    $ext = explode (".",$filename);
    $size = $_FILES['fname']['size'];
    $adrfile = $dir.$nfilename;
    $mp3url = $scriptdir.$adrfile;
    //////////////
    
    if (!is_dir ("files/$date")) mkdir ("files/$date", 0770);
    
    
    if (isset($_POST['upload'])){
       if (count($ext) !=2) {
            echo "Файлы с двойным расширением запрещены. <br /> Должно быть так: <br /> filename.ext";
            exit;
        }
        if ($ext[1] != 'mp3' ){
            echo 'Разрешена загрузка только mp3 файлов.';
            exit;
        }
    if (file_exists ($tmpfilename)){
    copy ($tmpfilename, $adrfile);
    //// Получаем теги файла
    echo "Название файла: $filename <br />";
    $AF = new AudioFile;
    $AF->loadFile($adrfile);
    //$AF -> printSampleInfo();
    $channels = $AF -> wave_channels;
    $framerate = $AF -> wave_framerate;
    $byterate = $AF -> wave_byterate;
    $length = $AF -> wave_length;
    $title = $AF -> id3_title;
    $title = trim(iconv('windows-1251','UTF-8',$title));
    $artist = $AF -> id3_artist;
    $artist = trim (iconv('windows-1251','UTF-8',$artist));
    $album = $AF -> id3_album;
    $album = trim (iconv('windows-1251','UTF-8',$album));
    $year = $AF -> id3_year;
    $year = trim (iconv('windows-1251','UTF-8',$year));
    $genre = $AF -> id3_genre;
    $genre = trim (iconv('windows-1251','UTF-8',$genre));
    $comment = $AF -> id3_comment;
    $comment = trim (iconv('windows-1251','UTF-8',$comment));
    ///Выводим мп3 теги
    echo "Каналы: $channels <br /> Частота: $framerate <br /> Битрейт: $byterate <br /> ";
    echo "Продолжительность: ".date('i:s', mktime(0,0,round($length))). "мин. <br /> ";
    echo "Название: $title <br />";
    echo "Исполнитель: $artist <br />";
    echo "Стиль: $genre <br />";
    if ($album != null) echo "Альбом: $album <br />";
    if ($year != null) echo "Год: $year <br />";
    }// Если файл закачалься и удачно скопирован
    
    echo "<a href=\"http://$siteurl/$scriptdir/index.php?do=add\">Все верно</a>";
    $do = isset($_GET['do']) ? $_GET['do'] : '';
    switch ($do)
    {
        case 'admview':
    
    $sql = "INSERT INTO `files` ( `id` , `title` , `artist` , `genre` , `album` , `year` , `mp3url` )
    VALUES (
    '', '$title', '$artist', '$genre', '$album', '$year', '$mp3url'
    );";
    csql ($sql);
    mysql_query($sql);
    
    echo "<a href=\"http://$siteurl/$scriptdir/index.php?do=edit\">Нужно изменить</a>";
    
    }//switch do
    }// Если нажата кнопка
    require_once ("../inc/footer.php");
    ?>

    pivasyk, 25 Сентября 2009

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

    +151.2

    1. 1
    <?=trim(base64decode(trim($_GET['zzz'])))?>

    Ну как-то вот так

    McLeod, 25 Сентября 2009

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

    +173

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if(isset($_GET['catId'])){
    ...
    } else if($_GET['catId']>0){
    ...
    }

    CubeCart v3.0.15

    Ghost, 24 Сентября 2009

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

    +161.3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $proc = new XsltProcessor();
    $proc->importStylesheet($xsl);
    $html = $proc->transformToXML($xmlOut);
    
    // Добро пожаловать в реальный мир!
    // Мы не знаем XSLT, поэтому кое-что поправим прямо тут.
    // Да здравствуют регекспы и грязные хаки!
    
    $html = preg_replace("/(<a href=\"\/futures[^>]+>)(.+?)<\/a>/ims","\$2",$html);
    return $html;

    Кусок класса XSLTTransformer.
    Оригинальные комменты и час потраченого времени на поиски неработающих ссылок в xsl-шаблонах.

    VermiVermi, 24 Сентября 2009

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

    +159.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
    class SomeClass {
    ...
    	public function get_stop_words(){
    	    $stem_stop_words = array();
    		....
    	    return $stem_stop_words;
    	}
    ...
    }
    
    //далее в коде:
    
    $someClass = new SomeClass();
    if($someClass->connect()){
        $someClass->stem_stop_words = $someClass->get_stop_words();
        ....
    }

    ООП не для нас. Причем $this->stem_stop_words не объявлена в классе.

    VermiVermi, 23 Сентября 2009

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

    +155.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function strtolowerex($str)
    {
    	$str = strtr($str, "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ", "абвгдеёжзийклмнопрстуфхцчшщъыьэюя");
    	return strtolower($str);
    }

    я может чего-то не понимаю? 0_о

    gorky, 23 Сентября 2009

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

    +158.8

    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
    $fStr = fgets($fp);
    if ($k==0 && $IsFirst)
    continue;
    $arLine = explode(";", $fStr);
    $type = intval($arLine[0]);
    $articul = trim($arLine[1]);
    $section_id = intval($arLine[2]);
    $model = trim($arLine[3]);
    $name = trim($arLine[4]);
    $brand = trim($arLine[5]);
    $width = trim($arLine[6]);
    $radius = trim($arLine[7]);
    $pcd = trim($arLine[8]);
    $et = trim($arLine[9]);
    $dia = trim($arLine[10]);
    $dop = trim($arLine[11]);
    $color = trim($arLine[12]);
    
    //и чуть позже
    
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 38, 'S', '".$articul."', null, '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 25, 'L', '', ".$type.", '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 17, 'S', '".$width."', null, '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 18, 'S', '".$radius."', null, '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 19, 'S', '".$pcd."', null, '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 20, 'S', '".$et."', null, '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 45, 'S', '".$dia."', null, '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 21, 'S', '".$color."', null, '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 22, 'S', '0', null, '')";
    $res = SQLResult($query);
    $query = "INSERT INTO ".$dbCatalogElProp." VALUES (null, ".$element_id.", 23, 'S', '', null, '')";
    $res = SQLResult($query);

    gorky, 23 Сентября 2009

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

    +158.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
    <?php
    
    function secure2() {
        secure();
    }
    
    function secure() {
        secure3();
    }
    
    function secure3() {
        if (!check_session()) {
            $cookie = try_cookie();
            tiny_login($cookie['login'], $cookie['pass'], 1);
            if (check_session()) {
                $ret = true;
            } else {
                $ret = false;
            }
        } else {
            $ret = true;
        }
    
        if (!$ret) {
            $_SESSION['loginerror'] = 'Ошибка авторизации';
            header('location:(ссылка)');
        }
    }
    
    ?>

    В догонку к http://govnokod.ru/1820 по просьбе в комментах
    Реальный код из реального проекта. Что самое интересное — используется secure2
    Как оно работает для меня — загадка.

    Shock, 19 Сентября 2009

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

    +145.5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if($record->getTitle()) {
      $request->setAttribute('title', $record->getTitle());
    }else{
      $request->setAttribute('title', $record->getName());
    }

    определение существования метода у объекта $record

    seroy, 18 Сентября 2009

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

    +156.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
    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
    function CompletesGetTableOld($clist, $mid =0)
    {
      if(strlen($clist) or $mid > 0)
      {
        $com = CatalogComplsCostsGet(0, 0, $clist, $mid);
        $csz = sizeof($com['id']);
        if($csz > 0)
        {
            $param = CatalogComplParamsGet();
            $psz = sizeof($param);
            $tds = '';
            
            $cVals = CatalogComplParamValsGet(implode(",", $com['cid']));
            
            echo '
    		<table cellpadding="4" cellspacing="0" border="0" width="700" class="table-comp">
    		 <tr><td width="50%" class="first"></td>
           	';
            for($i = 0; $i < $csz; $i++)
     	    {
     	        echo '<td align="center">'.$com['name'][$i].'</td>';
     	        $tds .= '<td> &nbsp; </td>';
     	    }
            echo '</tr>';
            
            $prgrnm = '';
            for($i = 0; $i < $psz; $i++)
     	    {
     	        $data = false;
     	        $html = '';
     	        if($i==0||$param[$i]['gr_name']!=$prgrnm)
     	        {
    				$html='
    				<tr>
    					<td class="first"><br><b>'.$param[$i]['gr_name'].'</b></td>';for($ii = 0; $ii < $csz; $ii++)$html.='<td class="second" > &nbsp; </td>';
    					$html.= $tds.'
    				</tr>';
     	        }
     	        $html.= '
     	        <tr>
     	          <td class="first">'.$param[$i]['name'].'</td>';
     	        
     	        for($ii = 0; $ii < $csz; $ii++)
         	    {
         	        @$val = $cVals[$com['cid'][$ii]][$param[$i]['id']];
         	        if(isset($val) and strlen($val))
         	        {
         	            if($param[$i]['type'] == 'CH') 
         	            {
         	                if($val == 1)
         	                {
         	                    $html.= '<td class="second" align="center"><img src="/images/tochka.gif" ></td>'; 
         	                    $data = true;
         	                }
         	                else $html.= '<td class="second"> &nbsp; </td>';
         	                
         	            }
         	            else 
         	            {
         	                $html.= '<td class="second" align="center">'.$val.'</td>';
         	                $data = true;
         	            }
         	        }
         	        else $html.= '<td class="second"> &nbsp; </td>';
         	    }
         	    $html.= '</tr>';
         	    
         	    if($data) 
         	    {
         	        $prgrnm = $param[$i]['gr_name'];
         	        echo $html;
         	    }
     	    }
     	    
     	    echo '
     	     <tr><td width="50%" class="first"><b>????</b></td>';
     	    for($i = 0; $i < $csz; $i++)
     	    {
     	    	$cost = intval($com['cost'][$i]);
     	        if($cost > 1000000) $cost = '<nobr>'.substr($cost, 0, -6)." ".substr($cost, 1, -3).". ".substr($cost, 4).'</nobr> ???';
     	        elseif($cost > 100) $cost = '<nobr>'.substr($cost, 0, -3)." ".substr($cost, strlen($cost)-3).'</nobr> ???';
     	        else $cost = '';
         	        
     	        echo '<td class="second" align="center" height="30">'.$cost.'</td>';
     	    }
                   
            echo '</tr>
            </table>';
             
            return true;
        }
      }
       
      return false;
    }

    обратите внимание на переменную $data. долго и упорно собираем из кусочков $html, и только если $data истинно тогда выводим $html (примерно 5-10% случаев)

    gorky, 18 Сентября 2009

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