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

    +168

    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 IsAlphaNumeric($str)
    {
       $old = 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", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0");
       $new = Array("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "");
       if (str_replace($str, $old, $new) == "")
       {
          return (true);
       }
       else
       {
          return (false);
       }
    }

    говно + валидация = говнодация

    fork, 08 Декабря 2010

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

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $uploaddir = '../foto/'.$img_name_clean.'/';
    $uploadfile = $uploaddir . basename($_FILES[$key]['name']);
    $img_name = $_FILES[$key]['name'];
    
    if (file_exists("../foto/".$img_name_clean."/".$img_name."")){echo "Внимание! Ошибка, в папке ".$img_name_clean." уже существует файл ".$img_name."! Пожалуста, переименуте загружаемый файл."; exit;}
    if (move_uploaded_file($_FILES[$key]['tmp_name'], $uploadfile)) {
    chmod('../foto/'.$img_name_clean.'/' . $img_name, 0666);
    echo "Файл ".$_FILES[$key]['name']." загружен в папку ".$img_name_clean.".\n<br>";
    } else {
    echo "Файл ".$_FILES[$key]['name']." не загружен в папку ".$img_name_clean.".\n<br>";exit;
    }

    Эх, не удержался таки! Продолжение предыдущего.

    Uchkuma, 08 Декабря 2010

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

    +163

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $img_name_clean = $_FILES[$key]['name'];
    $img_name_clean = str_replace (".img","",$img_name_clean);
    $img_name_clean = str_replace (".jpeg","",$img_name_clean);
    $img_name_clean = str_replace (".jpg","",$img_name_clean);
    $img_name_clean = str_replace (".gif","",$img_name_clean);
    $img_name_clean = str_replace (".JPG","",$img_name_clean);
    $img_name_clean = str_replace (".IMG","",$img_name_clean);
    $img_name_clean = str_replace (".GIF","",$img_name_clean);
    $img_name_clean = str_replace (".JPEG","",$img_name_clean);
    if(!file_exists("../foto/".$img_name_clean."/")){mkdir("../foto/".$img_name_clean."/", 0777);  chmod('../foto/'.$img_name_clean, 0777);}

    Uchkuma, 07 Декабря 2010

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

    +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
    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
    <!-- saved from url=(0014)about:internet -->
    <?php
    define('WEATHER_FILE_3_DAYS', '/meteoparse/weather.xml');
    define('WEATHER_URL_3_DAYS', 'http://pogoda.by/xml2/xml-kstati.by.php');
    define('BASE_PATH', $_SERVER['DOCUMENT_ROOT']);
    define('DAYS_COUNT', 3);
     
    require_once('include/weather_tools.php');
     
    if (date('d.m.Y.h', filectime(BASE_PATH . WEATHER_FILE_3_DAYS)) != date('d.m.Y.h')) {
            copy(WEATHER_URL_3_DAYS, BASE_PATH . WEATHER_FILE_3_DAYS);      
    }
            $file = file_get_contents ('weather.xml');
            $xmlWeather = simplexml_load_string($file);
            $aXmlForecasts = $xmlWeather->xpath('/pogoda/CITY/FORECAST');
            
    $aWeather = array();
    $curDay = 0;
     
    foreach($aXmlForecasts as $xmlForecast) {
            $attrs = $xmlForecast->attributes();
            $date = $attrs->day . '-' .
                    $attrs->month . '-' .
                    $attrs->year;
            $hour = strval($attrs->hour);
            if (!array_key_exists($date, $aWeather)) {
                    $curDay++;
                    if ($curDay > DAYS_COUNT) break;
                    $aWeather[$date] = array();
            }
            if (!array_key_exists($hour, $aWeather[$date])) {
                    $aWeather[$date][$hour] = array();
            }
            foreach($xmlForecast as $property => $values) {
                    $aWeather[$date][$hour][$property] = '';
                    $valuesAttr = $values->attributes();
                    foreach($valuesAttr as $value) {
                            $aWeather[$date][$hour][$property] .= strval($value);
                    }                               
            }
            
    }
    foreach($aWeather as $dateKey => $date) {
            foreach ($date as $hourKey => $hour) {
                    $aWeather[$dateKey][$hourKey]['DAYTIME'] = getDayTime($hourKey);
                    $aWeather[$dateKey][$hourKey]['PHENOMENA'] = getPhenomeaUrl($hour['PHENOMENA']);
                    $aWeather[$dateKey][$hourKey]['WIND'] = getWind($hour['WIND']);
            }
    }
    ?>
                    <td colspan="<?php echo count($aWeather); ?>">
                            <?php foreach ($aWeather as $date => $hours) : ?>                       
                            <table id="<?php echo 'table' . $date; ?>" class="hide">
                                    <tr class="attrs">
                                            <th></th>
                                            <th></th>
                                            <th>Давление</th>
                                            <th>t, °С</th>
                                            <th>Ветер</th>
                                    </tr>
                                    <?php foreach($hours as $hour => $properties) : ?>
                                    <tr>
                                            <td><?php echo $properties['DAYTIME']; ?></td>
                                            <td><img src="<?php echo $properties['PHENOMENA']; ?>" /></td>
                                            <td class="param"><?php echo $properties['PRESSURE']; ?> гПа </td>
                                            <td class="param1"><?php echo $properties['TEMPERATURE']; ?> °C</td>
                                            <td class="param"><?php echo $properties['WIND']; ?> &nbsp(м/с)</td>
                                    </tr>
                                    <?php endforeach; ?>
                            </table>
                            <?php endforeach; ?>
                    </td>
            </tr>
            </table>
            </div>
            <script type="text/javascript">
                    var weatherBox = document.getElementById('weatherBox');
                    weatherBox.getElementsByTagName('table')[0].getElementsByTagName('table')[0].className = "show";
            </script>

    #4837 Продолжение.

    qbasic, 07 Декабря 2010

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

    +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
    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 
    session_start();
    define('_JEXEC', 1);
    $host = $_SERVER['DOCUMENT_ROOT'];
    include $host.'/admin/function.php';
    include $host.'/data/conf.php';
    include $host.'/data/settings.php';
    
    $templates = $system['templates'];
    
    $content = file_get_contents($host.'/design/'.$templates.'/index.tpl');
    
    $result = mysql_query(" SELECT * FROM news WHERE section='index' ");
    $myrow = mysql_fetch_array($result);
    
    $result2 = mysql_query(" SELECT * FROM slogan ");
    $myrow2 = mysql_fetch_array($result2);
    
    $index_news = $myrow['news'];
    $title = $myrow['title'];
    $description = $myrow['description'];
    $keywords = $myrow['keywords'];
    
    $menu=''; 
    function callback($s) {$GLOBALS['menu'].=$s; }
    ob_start('callback');
    include $host.'/data/site_content/menu.php'; 
    ob_end_flush();   
    $menu="$menu";
    
    $content=str_replace('{templates}', $templates, $content);
    $content=str_replace('{menu}', $menu, $content);
    $content=str_replace('{content}', $index_news, $content);
    
    $content=str_replace('{slogan_name}', $myrow2['slogan_name'], $content);
    $content=str_replace('{slogan}',$myrow2['slogan'], $content);
    
    $content=str_replace('{title}', $title, $content);
    $content=str_replace('{description}', $description, $content);
    $content=str_replace('{keywords}', $keywords, $content);
    
    echo $content;
    
    ?>

    qbasic, 07 Декабря 2010

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

    +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
    $sec_in_year = 31536000;
    $sec_in_lyear = 31622400;
    $sec_in_28 = 2419200;
    $sec_in_29 = 2505600;
    $sec_in_30 = 2592000;
    $sec_in_31 = 2678400;
    $sec_in_day = 86400;
    $sec_in_hour = 3600;
    $sec_in_min = 60;
    $year_count = 1970;
    $month_count = 0;
    $day_count = 1;
    $hour_count = 0;
    $min_count = 0;
    $lyear_count = 2;                                                // Make an array of seconds per month for ease of use.
    $months = array(2678400, 2419200, 2678400, 2592000, 2678400, 2592000, 2678400, 2678400, 2592000, 2678400, 2592000, 2678400);
    $lmonths = array(2678400, 2505600, 2678400, 2592000, 2678400, 2592000, 2678400, 2678400, 2592000, 2678400, 2592000, 2678400);
    $month_list = array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec');
    
    while($utime >= $sec_in_year) {                        // Count the year since 1970.
            if($lyear_count % 4 == 0) {
              $utime -= $sec_in_lyear;                // Compensate for leap years.
            }
            else {
              $utime -= $sec_in_year;
            }
            $year_count++;
            $lyear_count++;
    }
    while($utime >= $months[$month_count]) {        // Count the months since Jan.
            if($lyear_count % 4 == 0) {
                    $utime -= $lmonths[$month_count];        // Compensate for leap year Feb.
            }
            else {
                    $utime -= $months[$month_count];
            }
            $month_count++;
    }

    И еще куча строк кода.
    Конвертим никсовый временной штамп, в читаемый для человека формат... aka date()

    fork, 07 Декабря 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    <ZORG2> Как грамотно хранить PHP код в базе????
    <neko> как строку
    <ZORG2> я имею в виду фильтровать его как то?? возможность добавления PHP кода в базу будет только у админа сайта.
    <neko> скастуй в строку!
    <ZORG2> и этот код будет подключаться в некоторые страницы сайта для выполнения

    привет от #php на irc.by

    robot, 07 Декабря 2010

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

    +158

    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
    protected function composeResolvers()
        {
            require_once systemConfig::$pathToSystem . '/resolver/init.php';
            require_once systemConfig::$pathToSystem . '/resolver/templateMediaResolver.php';
            require_once systemConfig::$pathToSystem . '/resolver/moduleMediaResolver.php';
            require_once systemConfig::$pathToSystem . '/resolver/extensionBasedModuleMediaResolver.php';
            require_once systemConfig::$pathToSystem . '/core/fileLoader.php';
    
            $baseresolver = new compositeResolver();
            $baseresolver->addResolver(new fileResolver(systemConfig::$pathToApplication . '/*'));
            $baseresolver->addResolver(new fileResolver(systemConfig::$pathToWebRoot . '/*'));
            $baseresolver->addResolver(new fileResolver(systemConfig::$pathToSystem . '/*'));
    
            $resolver = new compositeResolver();
            $resolver->addResolver(new templateMediaResolver($baseresolver));
            $resolver->addResolver(new moduleMediaResolver($baseresolver));
            $resolver->addResolver(new extensionBasedModuleMediaResolver($baseresolver));
            $resolver->addResolver(new classFileResolver($baseresolver));
    
            if (function_exists('external_callback')) {
                external_callback($resolver, $baseresolver);
            }
    
            return new cachingResolver($resolver, 'resolver_media_cache');
        }

    Прямиком с http://govnokod.googlecode.com/svn/trunk/govnoquoter/www/bundle.php
    Там ещё много всего интересного!

    Govnocoder#0xFF, 07 Декабря 2010

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

    +172

    1. 1
    2. 2
    3. 3
    4. 4
    for($i;$i<strlen($param);$i++)
            {
                if(strpos($extra,$param[$i]) === FALSE && eregi('[^a-zA-Z]', $param[$i] )) return false;
            }

    Проверка, что строка состоит только из букАвок. com_rsform для Joomla. Там весь validation.php таким измазан.

    young, 06 Декабря 2010

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

    +20

    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
    if( 
        ('node' == arg(0) ) && 
        is_numeric(arg(1) ) && 
        ($node = node_load(array('nid' => arg(1), 'status' => 1 ) ) ) &&
        ( 
            ('chapter' == $node->type) || 
            ('article' == $node->type) ||
            ('gall' == $node->type)
        ) && 
        isset($node->field_parentchapter) && 
        is_array($node->field_parentchapter) && 
        count($node->field_parentchapter) 
    ){
    /// blah blah
    }

    матан, или как сделать из кучи одинаковых if() один

    brainstorm, 06 Декабря 2010

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