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

    +80

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $F = 0;
    if ($F == "0") {
    include ("index-bd.php");
    }
    else {
    include ("../index-bd.php");
    };

    И так подключатся все файлы в проекте.

    Evil_Wolf, 07 Мая 2012

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

    +79

    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
    //первый сайт - интернет магазин
    //отрывок из функции редактирования, функции добавления, функции удаления товаров, в таблицу "export_catalogue" каждая строка - это "поле товара" и "новое значение поля"
    //что-то на подобие лога изменений. Конечно копипаст всех полей товаров.
    $this->insert($table = "`export_catalogue`", $fields = "`action`, `table`, `element`, `fields`, `value`", $values="'update', 'catalogue_files', '$catalogue_id', 'name_rus', '$name_rus'");
    $this->insert($table = "`export_catalogue`", $fields = "`action`, `table`, `element`, `fields`, `value`", $values="'update', 'catalogue_files', '$catalogue_id', 'name_ger', '$name_ger'");
    
    //файл xml_create_catalogue.php, который запускается по крону каждые 5 минут, создаёт xml файлы. Каждый файл содержит в себе изменение одного поля товара
    $result_export_array = $global->select_all($fields = "*", $table = "`export_catalogue`", $where = "`create` = '0' ORDER BY `id` ASC");
    for ($i=0; $i<count($result_export_array); $i++){
      $doc = new DOMDocument('1.0', 'utf-8');
      $doc->formatOutput = true;
      ...
      // название fields - не мой коммент
      $fields = $doc->createElement('fields');
      $fields = $root->appendChild($fields);
      // данные element - не мой коммент
      $data_fields = $doc->createTextNode($result_export_array[$i]['fields']);
      $data_fields = $fields->appendChild($data_fields);
      ...
      //если картинка или файл товара, то файл кодируется в бэйс64 и записывается в ячейку xml
      $value_default = $result_export_array[$i]['value'].'photo_data'.base64_encode($contents);
      $value_convert = mb_convert_encoding($value_default, "UTF-8", "Windows-1251");
      $data_value = $doc->createTextNode($value_convert);
      ...
      //почетка, что файл экспорта создан
      $global->update($table = "`export_catalogue`", $fields = "`create` = '1'", $where = "`id` = '".$result_export_array[$i]['id']."'");
    }
    
    //файл xml_upload_catalogue.php, крон - 5 минут, копирует созданные xml файлы на фтп второго сайта
    $result_export_array = $global->select_all($fields = "*", $table = "`export_catalogue`", $where = "`upload` = '0' ORDER BY `id` ASC");
     for ($i=0; $i<count($result_export_array); $i++){
      ... //тут идёт копирование файлов по фтп
      //пометка, что файл загружен на второй сайт
      $global->update($table = "`export_catalogue`", $fields = "`upload` = '1'", $where = "`id` = '$file_id'"); 
    }
    
    //второй сайт - интернет магазин
    //xml_import_catalogue.php по крону, проверяется наличие xml файлов и поля импортируются в каталог
    //цикл по списку файлов
    foreach ($file_list as $key => $file_name) {
      //в таблицу import_catalogue записывается, какие файлы были импортированны 
      $next_file_array = $global->select_only($fields = "*", $table = "`import_catalogue`", $where = "`id` != '0' ORDER BY `id` DESC LIMIT 1");
      //причем имя файла(числовое) должно быть обязательно на 1 больше последнего записанного в таблице 
      $next_file = intval($next_file_array['id'] + 1).'.xml';
      ...
      //апдейт поля товара
      $value_convert = mb_convert_encoding($value_xml, "Windows-1251", "UTF-8");
      $global->update($table = "`$table_xml`", $fields = "`$fields_xml` = '".$global->sql_prepare($value_convert)."'", $where = "`id` = '$element_xml'");
      ...
      //помечаем, что файл импортирован и удаляем
      $global->insert($table = "`import_catalogue`", $fields = "`joined`", $values="'$joined'");
    }

    Самый идеальный экспорт товаров из одного сайта в другой. Приведены отрывки кода из двух сайтов на каждом этапе экспорта

    Cool-Di, 05 Мая 2012

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

    +83

    1. 1
    $v = (((bool) $v) ? true : false);

    somnambulism, 05 Мая 2012

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

    +71

    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
    <?php
    session_start();
    $uploadName = 'test'; 
    if (isset($_GET['ajax'])) { 
        if (isset($_SESSION["upload_progress_$uploadName"])) { 
            $progress = $_SESSION["upload_progress_$uploadName"];
            $percent = round(100 * $progress['bytes_processed'] / $progress['content_length']);
    $text1 = iconv("CP1251", "UTF-8", "Общий прогресс загрузки: ");
    $text2 = iconv("CP1251", "UTF-8", "Загружается файл: ");
    $text3 = iconv("CP1251", "UTF-8", "Общее время загрузки: ");
    $text4 = iconv("CP1251", "UTF-8", "Скорость загрузки: ");
    $text5 = iconv("CP1251", "UTF-8", " сек. ");
    $text6 = iconv("CP1251", "UTF-8", " Мбайт. ");
    echo '<HTML><HEAD><title>Upload</title><meta name="keywords"><meta name="description" ><meta http-equiv="content-type" content="text/html;charset=windows-1251"></HEAD><BODY>';
    $pos1 = $percent * 4;
    $pos2 = 400 - $pos1;       
      echo '<div style="background: #00ff00; width: '.$pos1.'; height: 10px; border: solid 1px black; "></div><div style="background: #ffe4e1; width: '.$pos2.'px; height: 10px; position: relative; left: '.$pos1.'px; top: -12px; border: solid 1px black;"></div>';     
      echo '<div align="center" style="width: 400;">';       
            echo '<b>'.$text1.$percent.'%<br>';        
            $t3 = time() - $progress[start_time];
            echo $text3.$t3.$text5.'<br>'; 
            if ($t3 < 1 ) { $t3 = 1; } 
    $speed = (($progress[bytes_processed] / $t3) / 1024) / 1024;
            echo $text4.$formatted = sprintf ("%01.2f", $speed).$text6.'</b><br>'; 
    for($i=0;$i<count($progress[files]);$i++){ echo $text2.$progress[files][$i][name].'<br>'; } 
    echo '</div>';
        } else {
            echo '<div align="center" style="width: 400;">no uploading</div>';
        }
        exit;
    } elseif (isset($_GET['frame'])) { ?>
        <div align="center"><form align="center" action="" method="POST" enctype="multipart/form-data">
            <input type="hidden" name="<?=ini_get("session.upload_progress.name")?>"
                    value="<?=$uploadName?>" />
            <input type="file" name="file[]" multiple="true"/><input value="Загрузить" type="submit" /></form></div>
    <?php
    if($_FILES){
    for($i=0;$i<count($_FILES["file"]["name"]);$i++){
    if(is_uploaded_file($_FILES["file"]["tmp_name"][$i])){    
    move_uploaded_file($_FILES["file"]["tmp_name"][$i], "upload/".$_FILES["file"]["name"][$i]);   
    }
    }
    echo '<div align="center">загружено</div>';
    }
    ?>    
    <?php } else { ?>
    <HTML><HEAD><title>Upload</title><meta name="keywords"><meta name="description" ><meta http-equiv="content-type" content="text/html;charset=windows-1251">
    </HEAD><BODY><div align="center" style="width: 400;"><H3>Загрузчик файлоф на сайт</H3>требования: PHP 5.4, Firefox 3,6  и выше</div>
        <iframe src="?frame" height="70" width="400" align="center" frameborder="0" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" style="overflow:visible"></iframe>
        <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
        <script>
            $(function() {
                setInterval(function() { 
                    $.get('?ajax', function(data) { 
                        $('#ajax').html(data); 
                    });
                }, 500);
            });
        </script>
        <div id="ajax"></div>
    <?php }

    ...

    ra0ceq, 05 Мая 2012

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

    +87

    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
    function  get_info($id)  {
    					$query = "SELECT  * FROM `static` WHERE `id`='$id'  LIMIT 1";
    					$sql= mysql_query($query) or die(mysql_error());
    					$row = mysql_fetch_assoc($sql);
    					$masiv=array();
    					$masiv['keywords']=$row['keywords'];
    					$masiv['menu']=$row['menu'];
    					$masiv['description']=$row['description'];
    					$masiv['title']=$row['title'];
    					$masiv['link']=$row['link'];
    					$masiv['name']=$row['name'];
    					$masiv['name_show']=$row['name_show'];
    					$masiv['content']=$row['content'];
    					$masiv['id']=$row['id'];
    					$masiv['parant_id']=$row['parant_id'];
    					$masiv['show']=$row['show'];
    					$masiv['addons']=$row['addons'];
    					$masiv['redirect']=$row['redirect'];
    					$masiv['parant_id']=$row['parant_id'];
    					return $masiv;
    				}

    Занимался переводом сайта в UTF-8, наткнулся на такую вот функцию.

    baldrs, 03 Мая 2012

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    echo "
    Посоны, подскажите забугорный аналог говнокод.ру!
    Шутить перечилсяя хостинги кода вроде гитхаба, гуглкода etc не стоит.
    ";

    Ну простите, посоны, что написал реквест вместо кода.

    mark, 03 Мая 2012

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

    +68

    1. 1
    2. 2
    3. 3
    //на всяк пожарный
    die();
    return false;

    в работающей системе (:

    Zdomb, 03 Мая 2012

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

    +91

    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
    // Организовываем вывод сообщений
    do 
    {
        printf ("<div class='border'> \n
        <p class='pa'>    
        Имя отправителя: %s; &nbsp;&nbsp;&nbsp; Дата отправления: %s; &nbsp;&nbsp;&nbsp; <a href='admin.php?exe=answer&id=%s'>Ответ администрации</a> &nbsp;&nbsp;&nbsp; <a href='admin.php?exe=edite&id=%s'>Редактировать</a> &nbsp;&nbsp;&nbsp;  <a href='admin.php?exe=delete&id=%s'>Удалить</a></p>\n<p align='justify'>%s</p>\n<span class='spaa'><i>%s</i></span>\n</div>",  
        $myrow_gb1['name'], $myrow_gb1['dmy'], $myrow_gb1['id'], $myrow_gb1['id'], $myrow_gb1['id'], $myrow_gb1['mes'], $myrow_gb1['kom']);
    }
    while ($myrow_gb1 = mysql_fetch_array($result_gb1)); 
    
    // Проверяем нужны ли стрелки назад
    if ($page != 1) $pervpage = '<a href=admin.php?exe=main&page=1>Первая</a> | <a href=admin.php?exe=main&page='. ($page - 1) .'>Предыдущая</a> | ';
    // Проверяем нужны ли стрелки вперед
    if ($page != $total) $nextpage = ' | <a href=admin.php?exe=main&page='. ($page + 1) .'>Следующая</a> | <a href=admin.php?exe=main&page=' .$total. '>Последняя</a>';
    
    // Находим две ближайшие станицы с обоих краев, если они есть
    if($page - 5 > 0) $page5left = ' <a href=admin.php?exe=main&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
    if($page - 4 > 0) $page4left = ' <a href=admin.php?exe=main&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
    if($page - 3 > 0) $page3left = ' <a href=admin.php?exe=main&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
    if($page - 2 > 0) $page2left = ' <a href=admin.php?exe=main&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
    if($page - 1 > 0) $page1left = ' <a href=admin.php?exe=main&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
    
    if($page + 5 <= $total) $page5right = ' | <a href=admin.php?exe=main&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
    if($page + 4 <= $total) $page4right = ' | <a href=admin.php?exe=main&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
    if($page + 3 <= $total) $page3right = ' | <a href=admin.php?exe=main&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
    if($page + 2 <= $total) $page2right = ' | <a href=admin.php?exe=main&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
    if($page + 1 <= $total) $page1right = ' | <a href=admin.php?exe=main&page='. ($page + 1) .'>'. ($page + 1) .'</a>';
    
    // Вывод меню если страниц больше одной
    
    if ($total > 1)
    {
    Error_Reporting(E_ALL & ~E_NOTICE);
    echo "<center>";
    echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
    echo "</center>";
    }

    Продолжение этого: http://govnokod.ru/10169

    Мартин, 03 Мая 2012

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

    +91

    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
    //Постраничная навигация
    $result77 = mysql_query("SELECT str FROM ..."); 
    $myrow77 = mysql_fetch_array($result77);
    $num = $myrow77["str"];
    
    // Извлекаем из URL текущую страницу
    @$page = $_GET['page'];
    
    // Определяем общее число сообщений в базе данных
    $result00 = mysql_query("SELECT COUNT(*) FROM ...");
    $temp = mysql_fetch_array($result00);
    $posts = $temp[0];
    
    // Находим общее число страниц
    $total = (($posts - 1) / $num) + 1;
    $total =  intval($total);
    
    // Определяем начало сообщений для текущей страницы
    $page = intval($page);
    // Если значение $page меньше единицы или отрицательно
    // переходим на первую страницу
    // А если слишком большое, то переходим на последнюю
    if(empty($page) or $page < 0) $page = 1;
    if($page > $total) $page = $total;
    // Вычисляем начиная с какого номера
    // следует выводить сообщения
    $start = $page * $num - $num;
    // Выбираем $num сообщений начиная с номера $start                                     
    $result_gb1 = mysql_query("SELECT * FROM . ORDER BY id DESC LIMIT $start, $num");
    $myrow_gb1 = mysql_fetch_array($result_gb1);
    $list = 1;
    
    switch($page)
    {
        case "2":
        $list = $num + 1;
        break;
        case "3":
        $list = $num * 2 + 1;
        break;
        case "4":
        $list = $num * 3 + 1;
        break;
        case "5":
        $list = $num * 4 + 1;
        break;
        case "6":
        $list = $num * 5 + 1;
        break;
        case "7":
        $list = $num * 6 + 1;
        break;
        case "8":
        $list = $num * 7 + 1;
        break;
    }

    Навигация по страницам, написанная человеком с гуманитарным складом ума...

    Мартин, 02 Мая 2012

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

    +90

    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
    if(!empty($_POST))
    {
    	include("dbconnect.php");
    
    	$shown_name=$_POST['shown_name'];
    	$username=$_POST['username'];
    	$header=$_POST['header'];
    	$text=$_POST['text'];
    
    	$date_array=getdate(time());
    
    	$date=$date_array['hours'].":".$date_array['minutes'].":".$date_array['seconds']." ".$date_array['weekday']." ".$date_array['mday']." ".$date_array['month']." ".$date_array['year'];
    
    
    	$filename=$date_array['hours']."-".$date_array['minutes']."-".$date_array['seconds']."-".$date_array['mday'].$date_array['month']."-".$date_array['year']."-".$username.".php";
    
    	$path="posts/".$filename;
    
    	$addpost="INSERT INTO posts(author, header, text, date, path) VALUES ('$shown_name', '$header', '$text', '$date', '$path')";
    	$add=$db->prepare($addpost);
    	$add->execute();
    
    
    
    
    	$file=fopen($path, 'w');
    	$content="<?php \$shown_name=\"".$shown_name."\"; \$header=\"".$header."\"; \$text=\"".$text."\";  include(\"template.html\"); ?>";
    
    	$write=fwrite($file, $content);
    
    	fclose($file);
    
    
    	header('Location: index.php');
    	$db=null;
    }

    Добавление поста в блог. Радует каждая строчка.

    nucleartux, 02 Мая 2012

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