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

    +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
    
    <?xml version='1.0' encoding='utf-8'?>
    <rss version="2.0">
       <channel>
          <title>behistory - живая история</title>
           <link>http://behistory.ru/</link>
           <lastBuildDate>Sun, 12 Sep 2010 13:17:59 +0300</lastBuildDate>
           <language>ru</language>
    
                  <item>
                    <title>О роли балтского субстрата в истории славянских племен верхнего Поднепровья</title>
                     <link>ololo</link>
                     <description>&lt;html&gt;
    &lt;p style=&quot;text-align: justify;&quot;&gt;В статье большое внимание уделяется роли балтов в истории славянских племен верхнего Днепра. Автор проводит тщательный анализ основных тезисов В.В. Седова, которые сводятся в своей основе к следующему - балтский субстрат был основным при образовании белорусской народности, т. е. при образовании трех летописных племен: кривичей, дреговичей и радимичей. В подтверждение этого он приводит целый ряд лингвистических, этнографических и археологических данных. Автор не согласна с данной позицией и оспаривает выводы В.В. Седова.&lt;/p&gt;
    &lt;/html&gt;</description>
    
                     <pubDate>2009-07-27 03:44:11</pubDate>
                  </item>
                  <item>

    aslikeyou, 12 Сентября 2010

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

    +165

    1. 1
    2. 2
    $res = explode(" ", $price);		
    $price = trim(str_replace(".", "", str_replace(",", "", substr(trim($res[0]), 0, strlen(trim($res[0])) - 2))));

    Изначально в переменной $price строка такого вида: 144.07 РУБ.
    Судя по всему автор хотел таким образом получить из нее целое значение

    partizan22, 12 Сентября 2010

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

    +148

    1. 1
    2. 2
    3. 3
    4. 4
    if( !$this->dirsmodel->isExist(array('alias' => $_POST['alias']))) {
        $this->messages[] = 'Такой алиас уже существует';
        return $this->redirect("admin/dirs/#" . $cat_id);
    }

    Говнокод тонкий особый. Кто найдёт получит пиченьку

    DrFreez, 11 Сентября 2010

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

    +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
    while ($CORE_PATH[strlen($CORE_PATH)-1]=='\\' || $CORE_PATH[strlen($CORE_PATH)-1]=='/')
    
    {
    
    	if (($CORE_PATH[strlen($CORE_PATH)-1]=='\\' || $CORE_PATH[strlen($CORE_PATH)-1]=='/') && strlen($CORE_PATH)>1)
    
    	{
    
    		$CORE_PATH = substr($CORE_PATH, 0, strlen($CORE_PATH)-1);
    
    	}
    
    	elseif (($CORE_PATH[strlen($CORE_PATH)-1]=='\\' || $CORE_PATH[strlen($CORE_PATH)-1]=='/') && strlen($CORE_PATH)==1)
    
    	{
    
    		$CORE_PATH = "";
    
    	}
    
    }

    netrain, 10 Сентября 2010

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

    +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
    18. 18
    19. 19
    20. 20
    21. 21
    <?php
    
    define ('SENGINES',serialize(
    		array(
    				'yandex',
    				'google',
    				// ... тут их еще несколько
    				)));
    
    class <засекречено> {
    
     	/**
    	 * engines
    	 *
    	 * @var array
    	 */
    	private $_engines = unserialize(SENGINES);
    
            // ...
    
    }

    user654321, 10 Сентября 2010

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

    +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
    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
    <?php
    define('PARAM_INT','i');
    define('PARAM_INTEGER','i');
    define('PARAM_FLOAT','f');
    define('PARAM_DOUBLE','f');
    define('PARAM_STRING','s');
    define('PARAM_ID','id');
    define('PARAM_ANY','*');
    define('PARAM_RAW','raw');
    define('PARAM_OBJECT','o');
    define('PARAM_URL','u');
    define('PARAM_EMAIL','e');
    
    define('SOURCE_INPUT','$_GET');
    define('SOURCE_FORM','$_POST');
    define('SOURCE_COOKIE','$_COOKIE');
    define('SOURCE_REQUEST','$_REQUEST');
    define('SOURCE_PATH','$this->params');
    define('SOURCE_ANY','');
    
    class Request implements {
    
    	const PARAM_INT=PARAM_INT;
    	const PARAM_INTEGER=PARAM_INTEGER;
    	const PARAM_FLOAT=PARAM_FLOAT;
    	const PARAM_DOUBLE=PARAM_DOUBLE;
    	const PARAM_STRING=PARAM_STRING;
    	const PARAM_ID=PARAM_ID;
    	const PARAM_ANY=PARAM_ANY;
    	const PARAM_RAW=PARAM_RAW;
    	const PARAM_OBJECT=PARAM_OBJECT;
    	const PARAM_URL=PARAM_URL;
    	const PARAM_EMAIL=PARAM_EMAIL;
    
    	const SOURCE_INPUT=SOURCE_INPUT;
    	const SOURCE_FORM=SOURCE_FORM;
    	const SOURCE_COOKIE=SOURCE_COOKIE;
    	const SOURCE_REQUEST=SOURCE_REQUEST;
    	const SOURCE_PATH=SOURCE_PATH;
    	const SOURCE_ANY=SOURCE_ANY;
    
    .....
    
    }

    цель: пользоваться как и в стиле ООП, как и сделать запись короче, без указания Request::
    некоторые значения синомизированы для менее мучительного процесса вспоминания имен констант.

    говно, но что делать....
    может, у кого-то мозги работают лучше, чем у меня, и предложат другой выход?

    зы: кто согласен, что так и нужно делать, минусуйте и топите, не буду в обиде

    Lure Of Chaos, 10 Сентября 2010

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

    +150

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /* That revolting regular expression explained 
    /^(\w+)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/
      \---/  \---/\-------------/    \-------/
        |      |         |               |
        |      |         |           The value
        |      |    ~,|,^,$,* or =
        |   Attribute 
       Tag
    */

    Это НЕ говонокод, просто коммент к регулярке, просто очень понравился и хотел показать...
    Иногда регулярки очен запутанами бывает, и редактировать их турдно без нормальной комментов.
    Нашел в shop-script

    termes, 10 Сентября 2010

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

    +154

    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
    // $curr_page - старница, на который сейчас находимся
    // $n_page - число страниц
    // $count - обще число записей
    // $param - site - страницы на сайте
    //        - adm - в админке
    function genNumPage($curr_page, $n_page, $count, $param=null) {
        $string = parse_url($_SERVER['REQUEST_URI']);
        $query = '?'.$string['query'];
        $num_page = ceil($count / $n_page);
        if (isset($param))  $table = new my_Page("site/site_interface.html", "num_page");
        else                $table = new my_Page("interface/interface.html", "num_page");
        
        if ($num_page < 2) return null;
        
        for ($i = 1; $i <= $num_page; $i++) {
            if ($i != $curr_page) {
                if (preg_match('/\?p\=[0-9]{1,3}/', $query))        $href = preg_replace('/\?p\=[0-9]{1,3}/', '?p='.$i, $query);
                elseif (preg_match('/\&p\=[0-9]{1,3}/', $query))    $href = preg_replace('/\&p\=[0-9]{1,3}/', '&p='.$i, $query);
                elseif ($string['query'] != '')                     $href = '?'.$string['query'].'&p='.$i;
                else                                                $href = '?p='.$i;
                
                if ((!$param) || ($param == 'adm')) $str .= " <a href=".$string['host'].$string['path'].$href.">".$i."</a> ";
                else                                $str .= " <a href=".$string['host'].$string['path'].$href.">".$i."</a> | ";
            }
            elseif ((!$param) || ($param == 'adm')) $str .= "<span>".$i."</span>";
            else                                    $str .= "<span>".$i."</span> | ";
        }
        
            if ($curr_page > 1) {
            if (preg_match('/\?p\=[0-9]{1,3}/', $query))        $prev = preg_replace('/\?p\=[0-9]{1,3}/', '?p='.($curr_page - 1), $query);
            elseif (preg_match('/\&p\=[0-9]{1,3}/', $query))    $prev = preg_replace('/\&p\=[0-9]{1,3}/', '&p='.($curr_page - 1), $query);
            elseif ($string['query'] != '')                     $prev = '?'.$string['query'].'&p='.($curr_page - 1);
            else                                                $prev = '?p='.($curr_page - 1);;
            
            if ((!$param) || ($param == 'adm')) $prev = " <a href=".$string['host'].$string['path'].$prev." id=\"PrevLink\">&larr;</a> ";
            else                                $prev = " <a href=".$string['host'].$string['path'].$prev." id=\"PrevLink\">Предыдущая</a> ";
        }
        
        if ($curr_page < $num_page) {
            if (preg_match('/\?p\=[0-9]{1,3}/', $query))        $next = preg_replace('/\?p\=[0-9]{1,3}/', '?p='.($curr_page + 1), $query);
            elseif (preg_match('/\&p\=[0-9]{1,3}/', $query))    $next = preg_replace('/\&p\=[0-9]{1,3}/', '&p='.($curr_page + 1), $query);
            elseif ($string['query'] != '')                     $next = '?'.$string['query'].'&p='.($curr_page + 1);
            else                                                $next = '?p='.($curr_page + 1);;
            
            if ((!$param) || ($param == 'adm')) $next = " <a href=".$string['host'].$string['path'].$next." id=\"NextLink\">&rarr;</a> ";
            else                                $next = " <a href=".$string['host'].$string['path'].$next." id=\"NextLink\">Следующая</a> ";
        }
        
        $table->addValueArray(array(
                                    "NUM"   => $str,
                                    "PREV"  => $prev,
                                    "NEXT"  => $next
        ));
        return $table->myReplace();
    }

    Генерирует номера страниц. Из одной CMS'ки.

    netrain, 09 Сентября 2010

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

    +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
    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
    function ss ($id){ // получить дату рождения по ИНН для украины
    
    $result = array();
    
        //sex
        $result['sex'] = (substr($id,8,1) % 2) ? 'M' : 'F';
    
        //birthdate
        $days = substr($id,0,5);
        $year = 1900; $day = 01; $month = 01;
        while ($days > 0)
            {
            $daysInYear = (checkdate (02, 29, $year)) ? 366 : 365;
            if ($days > $daysInYear)
                {
                $days -= $daysInYear;
                $year ++;
                }
            else{
                for ($daysInMonth = 31; !checkdate($month, $daysInMonth, $year); $daysInMonth–) ;
                if ($days > $daysInMonth)
                    {
                    $days -= $daysInMonth;
                    $month ++;
                    }
                else{
                    $day = $days;
                    $days = 0;
                    }
                }
            }
        $result['year'] = $year;
        $result['month'] = $month;
        $result['day'] = $day;
    
        return $result;
    }
    
    обходить каждый день начиная с 1900 это сила

    быстрее было бы

    $inn = '2322222222';
    $inn = substr($inn,0,5);
    $normal_date = date("d.m.Y", strtotime('01/01/1900 + ' . $inn . ' days - 1 days'));

    ggggg, 09 Сентября 2010

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

    +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
    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
    // Строк 50 кода
    
    
    
    <style>
    
      switch ($view_mod)
      {
    
        default :
    
          echo ('
            // Здесь для элементов разметки стили выводятся
            ');
    
        break;
    
        2 :
    
          echo ('
            // Соответственно здесь
          ');
    
        break;
    
        3 :
    
          echo ('
            // И здесь
          ');
    
        break;
    
      }
    
    </style>
    
    
    
    // Еще строк 250 кода
    
    
    
    if (!isset ($color_theme)) then
    {
      $color_theme=$def_color_theme;
    }

    В универе учат в основном Delphi, решил, что надо самостоятельно хорошо изучить что-нить еще. Решил попробовать PHP и непривычно постоянно с одного языка на другой перескакивать. Блин, eб@нулся, пока нашел ошибки on lines: 18, 26 и 44...

    RESIN, 09 Сентября 2010

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