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

    +149

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $day = "Tuesday";
                        print $day." = $ day <br>";  // Tuesday
    		$var = "day";                             // используются двойные кавычки
                        print $var." = $ var <br>";  // day 
    		$$var = "Friday";
                        print $var." = $ var <br>";  // day
    		print $day." = $ day <br>";    // Friday

    Почему $day принимает значение Friday к нему ведь никто не обращался ???
    Записки идиота.

    lan-dao, 10 Мая 2011

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $value = "";
    $content = $content;
    $val = "\$content->" . $field->name;
    $fieldname = $field->name;
    
    eval("if (isset($val)) \$value = \"$val\";");
    $value = JText::_($value);
    $value = stripslashes($value);

    Joomla. Adsmanager

    Jetti, 10 Мая 2011

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

    +147

    1. 1
    http://pastebin.com/HmLsBTsp

    manyrus, 09 Мая 2011

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

    +156

    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
    class CLoader
    {
    	protected static $_importPaths = array(APPLICATION_PATH);
    	
    	public static function import($path)
    	{
    		self::$_importPaths[] = APPLICATION_PATH . '/' . $path;
    	}
    	
    	public function classExist($className)
    	{
    		return class_exists($className) || interface_exists($className);
    	}
    	
    	public static function autoload($className)
    	{
    		foreach(self::$_importPaths as $path)
    		{
    			if(is_file($fileName = $path . '/' . $className . '.php'))
    			{
    				include $fileName;
    				break;
    			}
    		}
    	}
    }
    
    spl_autoload_register(array('CLoader', 'autoload'));

    Гавнокод или нет? Идея в том, чтобы нормально можно было написать if(CLoader::classExist('Router'))...

    Может я чего не дочитал, но если добавлять пути с либами в include_path, а в функции autoload просто писать include $className . '.php', то class_exists('Router') выкинет ошибку, если файл Router.php не найден.

    Jetti, 09 Мая 2011

    Комментарии (11)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. PHP / Говнокод #6595

    +163

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

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

    stasyan, 08 Мая 2011

    Комментарии (17)
  10. 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)