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

    +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
    $query = "INSERT INTO analiz SET
        obegin = $duss,
        vbegin = $leas,
        lbegin = $duls,
        opodk  = $dusc,
        vpodk  = $leac,
        lpodk  = $dulc,
        oend   = $duse,
        vend   = $leae,
        lend   = $dule,
        ozatr  = $dusZ,
        vzatr  = $leaZ,
        lzatr  = $dulZ,
        ooplat = $dusU,
        voplat = $leaU,
        loplat = $dulU,
        opay   = $dusN,
        vpay   = $leaN,
        lpay   = $dulN,
        date   = '$dnow'";

    cOde = $pzDc

    rsvasilyev, 02 Апреля 2013

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

    +168

    1. 1
    2. 2
    3. 3
    ...
    <input type="hidden" name="Id" value="<?=rand(1000,9999);?>" />
    ...

    Вы все еще думаете, что "select max+1" - плохой способ для установки первичного ключа?

    DRAN1k, 01 Апреля 2013

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

    +147

    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
    Файл с настройками
    
    $category_set = array (
    'allow_num_news' => '1', //Показывать количество новостей
    'allow_null_cat' => '0', //Показывать разделы в которых нет новостей
    'el_1' => '<div class="mydiv">', //Основной блок. Стандартно - <ul> Свои - <div class="mydiv>"
    'c_el_1' => '</div>', //Закрывающий тэг основной блок. Стандартно - </ul> Свои - </div>
    'el_2' => '<h3>', //Элемент подменю. Стандартно - <li> Свои - <h3>
    'c_el_2' => '</h3>', //Закрывающий тэг элемент подменю. Стандартно - </li> Свои - </h3>
    'el_3' => '', //Дополнительно. Стандартно - '' Свои - ''
    'c_el_3' => '', //Закрывающий тэг дополнительно.  Стандартно - '' Свои - ''
    'p_el_1' => '', //Элемент основного блока если есть подкатегории. Стандартно - '' Свои - ''
    'p_c_el_1' => '', //Закрывающий тэг  основного блока если есть подкатегории. Стандартно - '' Свои - '' 
    'p_el_2' => '', //Элемент подменю если есть подкатегории. Стандартно - <ul> Свои - ''
    'p_c_el_2' => '', //Закрывающий тэг  подменю если есть подкатегории. Стандартно - </ul> Свои - ''
    'p_el_3' => '<p>', //Элемент дополнительно если есть подкатегории. Стандартно - <li> Свои - <p>
    'p_c_el_3' => '</p>', //Закрывающий тэг  дополнительно если есть подкатегории. Стандартно - </li> Свои - </p>
    'el_add' => '<span style="font-size:10px;"> - ', //Тэг для количества новостей
    'c_el_add' => '</span>', //Закрывающий тэг для количества новостей
    );
    
    include "Файл с настройками"
    
    function categoryTree($cat_arr,$parent_id){
       global $category_set, $DOMAIN,$link_set;
    	$elAdd = $category_set['el_add'];  
    	$celAdd = $category_set['c_el_add'];
          if(is_array($cat_arr) and  isset($cat_arr[$parent_id])){
             foreach($cat_arr[$parent_id] as $cat){
    		   $el1 = $category_set['el_1'];  
    		   $cel1 = $category_set['c_el_1']; 
    		   $el2 = $category_set['el_2'];  
    		   $cel2 = $category_set['c_el_2'];
    		   $el3 = $category_set['el_3'];  
    		   $cel3 = $category_set['c_el_3'];
    		   if ($cat['id_parent'] >0){
    			    $el1 = $category_set['p_el_1'];  
    		        $cel1 = $category_set['p_c_el_1'];  
    		        $el2 = $category_set['p_el_2'];   
    		        $cel2 = $category_set['p_c_el_2']; 
    		        $el3 = $category_set['p_el_3'];  
    		        $cel3 = $category_set['p_c_el_3'];
    				$sub = $link_set['sub_for_tree'];
               }
    		   $numNews = $cat['num_news'];
    		   if($category_set['allow_num_news'] != 1){
                  $elAdd = ''; 
    	          $celAdd = '';  
    			  $numNews = '';
               } 
    		   if($cat['num_news'] != 0){
    	           $catTree .= $el1; 
                   $catTree .= $el2.$el3."<a href='".$DOMAIN."/".$sub."".$link_set['category_for_tree']."/".$cat['id_category']."/'>".$cat['name']."</a>".$elAdd."".$numNews.$celAdd.$cel3.$cel2;
                   $catTree .=  categoryTree($cat_arr,$cat['id_category']);
                   $catTree .= $cel1; 
    		   }    
    		   else{
    		       if($category_set['allow_null_cat'] == 1){
    			       $catTree .= $el1; 
                       $catTree .= $el2.$el3."<a href='".$DOMAIN."/".$sub."".$link_set['category_for_tree']."/".$cat['id_category']."/'>".$cat['name']."</a>".$elAdd."".$numNews.$celAdd.$cel3.$cel2;
                       $catTree .=  categoryTree($cat_arr,$cat['id_category']);
                       $catTree .= $cel1;    
    			   }
    		   }		       
             }
          } 
          else return null;  
    return $catTree;        
    }

    Цель.
    Полный, наиполнейший, высший контроль над деревом категорий с подкатегориями. Хорошо, что комментарии написал.
    Кто бы, что не говорил, а это изумительно работает. Единственная недоработка, тэг <а> Тоже должен быь в массиве с настройками :-) я так думаю.
    з.ы Переделывать лень.

    straga_coda, 30 Марта 2013

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

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <?php
    $g = $_GET;
    unset($g["search"], $g["sortby"], $g["time"], $g["page"]);
    $q_str = $_SERVER["SERVER_NAME"].$_SERVER["PHP_SELF"]."?".http_build_query($g);
    ?>
    <script type="text/javascript">
    		!function ($) {
    			$(document).ready(function () {
    		$("#search").keyup(function(e){
    				$("#search-button").attr("href", "//<?=$q_str?>" + "&search=" + $(this).val());
    				});
            }(window.jQuery);

    varg242, 28 Марта 2013

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

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public static function checkCurl()
    {
    	if (in_array("curl", get_loaded_extensions()))
    		return TRUE;
    	else
    		return FALSE;
    }

    function_exist? Не, не слышал. Мануалы для лохов.

    DrFreez, 25 Марта 2013

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    $targetFolder = 'uploads/'; // Relative to the root
    // ...
    $targetPath = dirname(__FILE__) . '/' . $targetFolder;
    $targetFile = rtrim($targetPath,'/') . '/' . $_FILES['file']['name'];

    "Непостоянство слеша", Pedro Molina, 2013. Холст, масло
    https://github.com/pekebyte/pekeUpload/blob/940cf27e5fef5038e2e414c72be6e34d68f2881d/upload.php

    scriptin, 24 Марта 2013

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    if (Database::getDbType() == 'pgsql')
          $stmt = Database::getInstance()->dbh->prepare("SELECT COUNT(*) AS count FROM torrent WHERE tracker = :tracker AND torrent_id = :id");
    else
          $stmt = Database::getInstance()->dbh->prepare("SELECT COUNT(*) AS `count` FROM `torrent` WHERE `tracker` = :tracker AND `torrent_id` = :id");

    https://github.com/ElizarovEugene/TorrentMonitor/blob/master/class/Database.class.php#L625 УПРЛС

    DrFreez, 24 Марта 2013

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public static function checkPath($path)
    {
    	if (substr($path, -1) == '/')
    		$path = $path;
    	else
    		$path = $path.'/';
    	return $path;
    }

    facepalm.jpg

    DrFreez, 24 Марта 2013

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

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public static function checkWriteToTorrentPath($path)
    {
    	if (file_put_contents($path.'file.txt', ' '))
    	{
    		unlink($path.'file.txt');
    		return TRUE;
    	}
    	else
    		return FALSE;
    }

    is_writable ? Не, не слышал!
    https://github.com/ElizarovEugene/TorrentMonitor/blob/master/class/System.class.php#L48 Эпик!

    DrFreez, 24 Марта 2013

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

    +151

    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
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    if (anidub::$exucution)
    		{
    			//получаем страницу для парсинга
    			$page = anidub::getContent($torrent_id, anidub::$sess_cookie);
    
    			if ( ! empty($page))
    			{
    				//ищем на странице дату регистрации торрента
    				if (preg_match("/<td width=\"\" class=\"heading\" valign=\"top\" align=\"right\">Добавлен<\/td><td valign=\"top\" align=\"left\">(.*)<\/td>/", $page, $array))
    				{
    					//проверяем удалось ли получить дату со страницы
    					if (isset($array[1]))
    					{
    						//если дата не равна ничему
    						if ( ! empty($array[1]))
    						{
    							//сбрасываем варнинг
    							Database::clearWarnings($tracker);
    							//приводим дату к общему виду
    							$date = $array[1];
    							$date_str = anidub::dateNumToString($array[1]);
    							//если даты не совпадают, перекачиваем торрент
    							if ($date != $timestamp)
    							{
                                    preg_match('/<a href=\"download\.php\?id=(\d{2,6})&name=(.*)\">/U', $page, $array);
                                    $torrent_id = $array[1];
                                    $torrent_id_name = $array[2];
    								//сохраняем торрент в файл
    								$torrent = anidub::getTorrent($torrent_id, $torrent_id_name, anidub::$sess_cookie);
    								$client = ClientAdapterFactory::getStorage('file');
    								$client->store($torrent, $id, $tracker, $name, $torrent_id, $timestamp);
    								//обновляем время регистрации торрента в базе
    								Database::setNewDate($id, $date);
    								//отправляем уведомлении о новом торренте
    								$message = $name.' обновлён.';
    								Notification::sendNotification('notification', $date_str, $tracker, $message);
    							}
    						}
    						else
    						{
    							//устанавливаем варнинг
    							if (anidub::$warning == NULL)
    							{
    								anidub::$warning = TRUE;
    								Errors::setWarnings($tracker, 'not_available');
    							}
    							//останавливаем процесс выполнения, т.к. не может работать без кук
    							anidub::$exucution = FALSE;
    						}
    					}
    					else
    					{
    						//устанавливаем варнинг
    						if (anidub::$warning == NULL)
    						{
    							anidub::$warning = TRUE;
    							Errors::setWarnings($tracker, 'not_available');
    						}
    						//останавливаем процесс выполнения, т.к. не может работать без кук
    						anidub::$exucution = FALSE;
    					}
    				}
    				else
    				{
    					//устанавливаем варнинг
    					if (anidub::$warning == NULL)
    					{
    						anidub::$warning = TRUE;
    						Errors::setWarnings($tracker, 'not_available');
    					}
    					//останавливаем процесс выполнения, т.к. не может работать без кук
    					anidub::$exucution = FALSE;
    				}
    			}			
    			else
    			{
    				//устанавливаем варнинг
    				if (anidub::$warning == NULL)
    				{
    					anidub::$warning = TRUE;
    					Errors::setWarnings($tracker, 'not_available');
    				}
    				//останавливаем процесс выполнения, т.к. не может работать без кук
    				anidub::$exucution = FALSE;
    			}
    		}

    Классическая лесенка пыхомакаки.

    Stallman, 23 Марта 2013

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