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

    +168

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if (!is_array($arFilter)) 
    			$filter_keys = Array();
    		else
    			$filter_keys = array_keys($arFilter);
    
    		for ($i=0; $i<count($filter_keys); $i++)
    		{
    			$key = strtoupper($filter_keys[$i]);
    			$val = $arFilter[$filter_keys[$i]];
    // ....
    }

    по всей видимости, в битриксе программистам выдают тяжелые наркотики при входе.. до такой реализации foreach я бы никогда не додумался!

    belukov, 12 Октября 2011

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

    +160

    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
    <?php
    class Html {
    	static private $ShowSiblings; // Управляет отображением похожих категорий
    	static function Initialize($showSiblings) {
    		self::$ShowSiblings = $showSiblings;
    	}
    	static function SimpleLink($target, $text) { // Простая ссылка
    		return '<a href="'.$target.'">'.$text.'</a>';
    	}
    	static function CategorySiblingLink($targetCategory, $text) { // Формирует ссылку на похожую категорию
    		return '<a href="products.php?cat='.$targetCategory.'&page=1">'.$text.'</a>';
    	}
    	static function CategoryLink($targetCategory, $text) { // Формирует ссылку на указанную категорию
    		return '<a href="products.php?cat='.$targetCategory.'&page=1">'.$text.'</a>';
    	}
    }
    ?>

    Один из классов каталога продукции.

    rasufa, 12 Октября 2011

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

    +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
    function unzip($location,$newLocation){ 
        if(exec("unzip $location",$arr)) { 
            mkdir($newLocation); 
            for($i = 1;$i< count($arr);$i++) { 
                $file = trim(preg_replace("~inflating: ~","",$arr[$i])); 
                copy($location.'/'.$file,$newLocation.'/'.$file); 
                unlink($location.'/'.$file); 
            } 
            return TRUE; 
        } else { 
            return FALSE; 
        } 
    }

    оттуда же, http://habrahabr.ru/blogs/php/130196/

    тоже непонятно, нафига такие сложности потеха, когда есть стандартное расширение

    http://www.php.net/manual/en/function.ziparchive-extractto.php

    Lure Of Chaos, 11 Октября 2011

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $image = 'image.jpg';  
    $ext = getext($image);   
    if($ext == ".jpg") {   
        $img = ImageCreateFromJpeg($image);   
    } else {   
        echo 'Необходимо использовать JPG';   
    }

    http://habrahabr.ru/blogs/php/130196/

    +12 theaqua11 октября 2011, 22:23#
    Без обид, но такое ощущение, что некоторые листинги ошибочно появились тут, хотя им место на govnokod.ru.

    окей, берем самые веселые кусочки. но честно, в сабже все функции -- потеха девятиклассника.

    в данном случае, непонятно, почему только жпег и зачем столько телодвижений для файла, имя которого известно.

    Lure Of Chaos, 11 Октября 2011

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function ru_date($date) {
        $ru_m = array("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря");
        $el = explode(".",$date);
        for($i=0;$i<12;$i++) if($i+1==str_replace("0","", $el[1])) $el[1] = $ru_m[$i];
        $date = implode(" ", $el);
        return $date;
    }

    функция превращения даты вида 'd.m.Y' в 'd месяц Y'

    pahhan, 11 Октября 2011

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

    +163

    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
    switch(true) {
                case ((0x7F & $bytes) == $bytes):
                    // this case should never be reached, because we are in ASCII range
                    // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
                    return chr(0x7F & $bytes);
    
                case (0x07FF & $bytes) == $bytes:
                    // return a 2-byte UTF-8 character
                    // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
                    return chr(0xC0 | (($bytes >> 6) & 0x1F))
                         . chr(0x80 | ($bytes & 0x3F));
    
                case (0xFFFF & $bytes) == $bytes:
                    // return a 3-byte UTF-8 character
                    // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
                    return chr(0xE0 | (($bytes >> 12) & 0x0F))
                         . chr(0x80 | (($bytes >> 6) & 0x3F))
                         . chr(0x80 | ($bytes & 0x3F));
            }

    В одной из реализаций JSON.php

    * @package Services_JSON
    * @author Michal Migurski <[email protected]>
    * @author Matt Knapp <mdknapp[at]gmail[dot]com>
    * @author Brett Stimmerman <brettstimmerman[at]gmail[dot]com>
    * @copyright 2005 Michal Migurski
    * @version CVS: $Id: JSON.php,v 1.31 2006/06/28 05:54:17 migurski Exp $
    * @license http://www.opensource.org/licenses/bsd-license.php
    * @link http://pear.php.net/pepr/pepr-proposal-show.php?id=198

    lobovkin, 10 Октября 2011

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

    +160

    1. 1
    2. 2
    http://habrahabr.ru/blogs/about_cms/130082/
    facepalm.png

    dlemaser (aka WebKill), хабр ниторт^Wговно

    DrFreez, 10 Октября 2011

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

    +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
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    $sql = "SELECT aps.* FROM apps_applicationinterfaceincoming aps
    WHERE aps.applicationid = '$id' ORDER BY aps.name ASC";
                           $Result = $Database->query( $sql );
                           foreach( $Result as $aResult )
                           {
                                   $editIcon = Common_Image_Icon_Overlay::fetchIcon(
    Common_Image_Icon_Overlay::EDIT, _('Edit interface' ),
    '/apps/serveroverlay.php?table=apps_applicationinterfaceincoming&edit=1&mode='.AppsEnvironment::iVIEWMODE_EDIT.'&id='.$aResult['id']
    );
                                   $deleteIcon = Common_Image_Icon_Ajax::fetch(
    Common_Image_Icon_Ajax::DELETE, array( 'aLinkAttributes' => array(
    'onclick' => "new Browser.Http.Ajax.Updater( '#interfacein',
    '/apps/interfacein_ajax.php?action=remove&id={$aResult['id']}' );" ) )
    );
                                   $html .= <<<EOF
                                                   <tr>
                                                           <td>{$aResult['name']}</td>
                                                           <td>{$aResult['frequency_data_transfers']}</td>
                                                           <td>{$aResult['type_of_interface']}</td>
                                                           <td>{$aResult['internal_external']}</td>
                                                           <td>{$aResult['description']}</td>
                                                           <td class="actions">{$editIcon} {$deleteIcon}</td>
                                                   </tr>
    EOF;
                           }
                           $html .= <<<EOF
                                           </tbody>
                                   </table>
                           </fieldset>
    EOF;

    PHP Bestpractice php + sql + html + js in one file
    или даэже in one String.

    ... 800 строк в том же духе. (толко в етом файле)

    andrejlr, 10 Октября 2011

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

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    //...
    include_once("includes/global.php");
    //check_license("license/license.zl");
    db_connection();
    //...

    jokz, 10 Октября 2011

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

    +150

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $login='55526723433';
    for($n=0; $n!=strlen($login)-2; $n++)
    {
    	if( $login[$n] == $login[$n+1] && $login[$n] == $login[$n+2] )
    	{
    		echo 'есть повторение';
    		exit;
    	}
    }

    снова на ваш суд))

    суть проблемы: проверка содержания строки, есть ли более двух одинаковых символов.

    beetle, 09 Октября 2011

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