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

    +161

    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
    <!-------------------- Left menu -------------------------->
      <tr> 
        <td valign="top" width="188" class="text"> 
          <table width="188" border="0" cellspacing="0" cellpadding="10">
            <tr>
              <td class="tl">Content</td>
            </tr>
          </table>
          <? 
    
    global $SS_SECTION_NAME, $months2, $level, $SS_SECTION, $info, $arrInterest, $db, $is_photo, $ar_title, $is_contain, $id, $shablon;
    
    if ($prev == 'yes') $add = " AND t.is_confirm!=2 AND t.ref_id=0 ";
    else $add = " AND t.is_confirm!=0 AND t.is_visible=1 "; 
    $sql =  "SELECT t.tree_id, t.name, s.name as section, t.is_contain FROM trees t, sections s WHERE t.root_id=3 AND t.section_id = s.section_id ".$add." ORDER BY t.order_by";
    $db->query($sql);
    $Rec = array();	
    $i = 0;
    while($db->next_record()) {
        $Rec[$i++] = $db->Record;
    }
    reset($Rec);
    
    ?>

    Проект который нужно переписать на Yii framework. Писал человек с большим сроком работы программиста чем я. Видать про фреймворки не знал. Код не весь, так как он огромен.

    P.S. В проекте более 2000 файлов с таким содержанием.

    akazakov, 08 Мая 2011

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $content=file_get_contents("http://7ion.ru");//берем страницу
    
    $LinksArray=NULL;//тут будут ссылки
    
    preg_match_all("/<a[[:print:]]href=["|'](.*?)["|'].*?>(.*?)<.{0,1}a.{0,1}>/i",$content,$LinksArray,PREG_PATTERN_ORDER);//применяем регулярку
    
    var_dump($LinksArray);//выводим ссылки

    Один товарищ с таким же ником, как у меня долго и упорно пытался доказать, что кодит лучше меня.
    Когда я взломал его мегосекурную кмс (надо было пароль на мыле сменить все же, эх, добрая я душа), он меня материл и говорил, что написал код в 12 лет а щас он ниибаца мастер в свои 18.
    Не став возражать, что в 12 лет в похапе еще половины функциона им используемого не было, просто посмотрили кто первым напишет кмс.
    Я вообще ничего не стал писать, лол, а он что-то накалял и стал вести блог. Вот вся предыстория.
    Решил я его вдруг почитать.

    http://7ion.ru/index.php?q=news&a=17 - Парсинг страницы на PHP
    Выдача - четвертая ссылка в первой десятке гугла.
    Потом, спрашивается, откуда говнокодеры берутся.

    7ion, 08 Мая 2011

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

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    function utf8_substr($str,$start,$end){
       preg_match_all("/./u", $str, $ar);
    
       if(func_num_args() >= 3) {
           $end = func_get_arg(2);
           return join("",array_slice($ar[0],$start,$end));
       } else {
           return join("",array_slice($ar[0],$start));
       }
    }

    Вылысыпыдысты

    telnet, 08 Мая 2011

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

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $letters = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z");
        foreach($letters as $x){
              if(strpos($_POST['integers'], $x)){
                   die("No letters Please!");
        }
    }

    Проверка переменной, нет ли в ней чего-нибудь кроме цифр.
    Комментарий автора улыбнул ещё больше: "There might be a few bugs"
    Источник: http://forums.tizag.com/showthread.php?t=2939

    Axell, 08 Мая 2011

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

    +163

    1. 1
    str_replace('-','/',date("Y-m-d",($from+(60*60*24*$i))))

    Как-то очень спешил и сам себе наговнокодил, ну куда деваться, со всеми бывает )

    stasyan, 08 Мая 2011

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

    +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
    $uploadedFileNameParts = explode('.',$fileName);
    $uploadedFileExtension = array_pop($uploadedFileNameParts); //pathinfo($fileName, PATHINFO_EXTENSION);
    
    //Это наверно круче и быстрей, чем array('jpeg', 'jpg', 'gif', 'png')
    $validFileExts = explode(',', 'jpeg,jpg,png,gif');
    $extOk = false;
    
    foreach($validFileExts as $key => $value)
    {
    	if( preg_match("/$value/i", $uploadedFileExtension ) )
    	{
    		$extOk = true;
    	}
    }
     
    // if(!in_array($fileExtension, array('png', 'jpg', 'gif', 'jpeg'), false)) не катит...
    if ($extOk == false)
    {
    	echo JText::_( 'INVALID EXTENSION' );
            return;
    }
    
    //...
    
    if( !is_int($imageinfo[0]) || !is_int($imageinfo[1]) ||  !in_array($imageinfo['mime'], $validFileTypes) )
    {
            //Кто нибудь встречал картинки с размером 0 на x(где x > 0)..?
    	//....
    }

    Из туториала http://docs.joomla.org/Creating_a_file_uploader_in_your_compone nt ...

    Jetti, 07 Мая 2011

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

    +159

    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
    if (!$vid['video_code']) {
            $vars['player'] = 'Онлайн промотр недоступен (не указан плеер)';
            if ($vid['image'] != '') {
                $vars['image'] = RealPath2($config['video']['images_dir'] . SafeDB($vid['image'], 255, str));
                $vars['thumb_image'] = RealPath2($config['video']['images_dir'] . 'thumbs/' . SafeDB($vid['image'], 255, str));
            } else {
                $vars['image'] = false;
            }
        } else {
            if (!$user->Auth and $config['video']['hide_video_guest']) {
                $vars['player'] = '<a href="index.php?name=user&op=registration">Зарегистрируйтесь для просмотра видео онлайн.</a>';
                if ($vid['image'] != '') {
                    $vars['image'] = RealPath2($config['video']['images_dir'] . SafeDB($vid['image'], 255, str));
                    $vars['thumb_image'] = RealPath2($config['video']['images_dir'] . 'thumbs/' . SafeDB($vid['image'], 255, str));
                } else {
                    $vars['image'] = false;
                }
            } else {
                $vars['player'] = $vid['video_code'];
                $vars['image'] = false;
            }
        }

    Мартин, 07 Мая 2011

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

    +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
    class mysql_act extends main { 
        function mysql_count($zap, $m) { 
            $q = mysql_query($zap); 
            if ($m == 'count') { 
                $qc = mysql_num_rows($zap); 
            } else  
            $qc = mysql_fetch_array($q); 
            return $qc; 
        } 
        function mysql_method($method ,$arr, $db, $wh) { 
            $i = 0; 
            foreach ($arr as $k => $v) { 
                $i++; 
                if (count($arr)==$i) 
                $par .= '`'. $k .'`=\''.$v.'\''; 
                else 
                $par .= '`'. $k .'`=\''.$v.'\' &&'; 
            } 
            $n=0; 
            foreach ($wh as $k => $v) { 
                $n++; 
                if (count($arr)==$n) 
                $parw .= '`'. $k .'`=\''.$v.'\''; 
                else 
                $parw .= '`'. $k .'`=\''.$v.'\' &&'; 
            } 
            switch ($method) { 
            case 'SELECT':  
                $req = 'SELECT * FROM '. $db .' WHERE '. $par;  
                break; 
            case 'UPDATE': 
                $req = 'UPDATE '.$db.' SET '.$parw.' WHERE '. $par; 
            } 
            $q['req'] = mysql_query($req); 
            $q['arr'] = mysql_fetch_array($q['req']); 
            return $q; 
        }

    skad0, 07 Мая 2011

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

    +172

    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
    function load_that_shop_page( $modulename, $pagename) {
                global $my, $db, $perm, $ps_function, $ps_module, $ps_html, $ps_vendor_id, $page, $database,$mosConfig_absolute_path, $cart, $start, $option, $vmLogger, $vmDoCaching,
                $product_id,$VM_LANG, $PHPSHOP_LANG, $sess,$vendor_image,$vendor_country_2_code, $vendor_country_3_code , $vendor_image_url, $PSHOP_SHIPPING_MODULES,
                $_VERSION, $vendor_name, $vendor_address, $vendor_city,$vendor_country,$vendor_mail, $category_id, $mainframe, $mosConfig_list_limit, $limitstart, $limit,
                $vendor_store_name, $vendor_state, $vendor_zip, $vendor_phone, $vendor_currency, $vendor_store_desc, $vendor_freeshipping, $ps_shipping, $ps_order_status,
                $module_description, $vendor_currency_display_style, $vendor_full_image, $mosConfig_live_site, $vendor_id, $CURRENCY_DISPLAY, $keyword, $mm_action_url,
                $ps_payment_method,$ps_zone,$ps_product, $ps_product_category, $ps_order, $sess, $page, $func, $pagename, $modulename, $vars, $cmd, $ok, $mosConfig_lang, $mosConfig_useractivation,
                $auth, $ps_checkout,$error, $error_type, $func_perms, $func_list, $func_class, $func_method, $func_list, $dir_list, $mosConfig_allowUserRegistration, $mosConfig_caching;
    
                if( !stristr( $_SERVER['PHP_SELF'], "index2.php") ) {
                       $mainframe->addCustomHeadTag( "<script type=\"text/javascript\" src=\"$mosConfig_live_site/components/$option/js/sleight.js\"></script>
    <link type=\"text/css\" rel=\"stylesheet\" media=\"screen, projection\" href=\"$mosConfig_live_site/components/$option/css/shop.css\" />" );
                } else {
    				?>
    <script type="text/javascript" src="<?php echo "$mosConfig_live_site/components/$option" ?>/js/sleight.js"></script>
    <link type="text/css" rel="stylesheet" media="screen, projection" href="components/<?php echo $option ?>/css/shop.css" />
    				<?php
    			}

    небольшой отрывок из компоненты com_virtuemart движка joomla.
    ППЦ!!! и они ЭТО называют ООП? там все в перемешку, вполне в норме кучи echo в перемешку с sql запросами, про шаблонизацию и отделения логики от данных и данных от представления они видимо вообще не в курсе...

    nikll, 07 Мая 2011

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

    +163

    1. 1
    2. 2
    3. 3
    function paging($pageNum,$rowsPerPage)
    {
    	GLOBAL $_GET, $_POST, $_SESSION;

    На всякий случай. Чтоб точно глобальные были. А то всякое бывает ...

    _tL, 06 Мая 2011

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