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

    +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
    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
    function make_cat_options($pid='0',$selected='',$depth=1,$not='')
    {
    	global $cat_cache,$udb,$database,$admin;
    	if ( !is_array($cat_cache) )
    	{
    		$sql = $udb->query('SELECT * FROM '.$database['cat'].' ORDER BY orders ASC, cid ASC');
    		while ($row = $udb->fetch_array($sql))
    		{
    			$cat_cache[$row['pid']][$row['cid']] = $row;
    		}
    	}
    	$cache = $cat_cache;
    	$xaccess = explode(",",$not);
    	if(!isset($cache[$pid])) return;
    	while (list($parent,$category) = each($cache[$pid]))
    	{
    		if ( $this->cattpl != '' )
    		{
    			$a .= str_replace( 
    				array('{url}','{description}','{name}'),
    				array( 
    						$this->link_cat( $category[$this->sestype_cat()]),
    						$admin->superhtmlentities($category['description']),
    						str_repeat(' ',$depth-1)." ".$category['name']
    					),
    			
    				$this->cattpl );
    		}
    		else
    		{
    			$category['name'] = $this->hsc == 1 ? $admin->superhtmlentities($category['name']) : $category['name'];
    			unset($sel);
    			if ($category['cid'] == $selected)
    			{
    				$sel = 'selected="selected"';
    			}			       
    			if ( !in_array($category['cid'],$xaccess) )
    			{
    				if ( $category['disabled'] != 1 )
    				{
    					$a .= '<option value="'.($this->cat_name == 1 ? $this->link_cat($category[$this->sestype_cat()]) : $category['cid']).'" '.$sel.'>';
    					if ($depth > 1)
    					{ 
    						$a .= str_repeat("-",$depth-1)." ".$category['name']."</option>"."\n";
    					}
    					else
    					{
    						$a .= $category['name']."</option>";
    					}
    				}
    				else
    				{
    					$a .= '<optgroup label="'. str_repeat("-",$depth-1)." ".$category['name'].'">';
    					$closegroup = 1;
    				}
    			}
    		}
    		$a .= $this->make_cat_options($category['cid'],$selected,$depth+1,$not);
    		if ( $closegroup == 1 )
    		{
    			$a .= "</optgroup>\n";
    		}
    	} 
    	$udb->free_result($sql);
    	return $a;
    }

    Запостил: qbasic, 06 Марта 2011

    Комментарии (0) RSS

    Добавить комментарий

    Ошибка компиляции комментария:
    1. Гости могут высказаться только в понедельник, среду, четверг или воскресение
    ava Помни, guest, за тобой могут следить!
    А не использовать ли нам bbcode?
    • [b]жирный[/b] — жирный
    • [i]курсив[/i] — курсив
    • [u]подчеркнутый[/u] — подчеркнутый
    • [s]перечеркнутый[/s] — перечеркнутый
    • [blink]мигающий[/blink] — мигающий
    • [color=red]цвет[/color] — цвет (подробнее)
    • [size=20]размер[/size] — размер (подробнее)
    • [code=<language>]some code[/code] (подробнее)
    Проверочный код