1. Список говнокодов пользователя M-A-X

    Всего: 7

  2. PHP / Говнокод #21829

    −16

    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
    87. 87
    <?php
    function getCategoryText($id){
        $cats = FNewsCategory::model()->getCategories();
    
        return $cats[$id];
    }
    ?>
    $this->widget(
        'zii.widgets.grid.CGridView', array(
            'id'           => 'newsListForm',
            'ajaxUpdate'   => false,
            'dataProvider' => $model->search(),
            'filter'       => $model,
            'cssFile'  => false,
    
            'pager'        => array(
                'class'    => 'CLinkPager',
                'pageSize' => 50,
                'cssFile'  => false,
            ),
    
            'columns'      => array(
                'id',
                'header',
                array(
                    'name'        => 'content',
                    'value'=>'mb_substr($data->content, 0, 300) . "..."'
                ),
                'ndate',
                array(
                    'name'        => 'fixed',
                    'type'        => 'raw',
                    'filter'=>CHtml::dropDownList(
                        'FNews[fixed]',
                        isset($_GET['FNews']['fixed']) ? $_GET['FNews']['fixed'] : '',
                        array('0'=>'Нет','1'=>'Да'),
                        array('empty' => 'Фильтр отсутствует')
                    ),
                    'value'=>'($data->fixed == "1") ? "Да" : "Нет"',
                    'htmlOptions' => array('width' => '140')
                ),
                array(
                    'name'        => 'rubric_id',
                    'type'        => 'raw',
                    'filter'=>CHtml::dropDownList(
                        'FNews[rubric_id]',
                        isset($_GET['FNews']['rubric_id']) ? $_GET['FNews']['rubric_id'] : '',
                        FNewsCategory::model()->getCategories(),
                        array('empty' => 'Фильтр отсутствует')
                    ),
                    'value'=>'getCategoryText($data->rubric_id)',
                    'htmlOptions' => array('width' => '140')
                ),
                array(
                    'name'        => 'lang',
                    'type'        => 'raw',
                    'filter'=>CHtml::dropDownList(
                        'FNews[lang]',
                        isset($_GET['FNews']['lang']) ? $_GET['FNews']['lang'] : '',
                        array('ukr'=>'Украинский','ru'=>'Русский','en'=>'Английский'),
                        array('empty' => 'Фильтр отсутствует')
                    ),
                    'htmlOptions' => array('width' => '60')
                ),
                array(
                    'class'    => 'CButtonColumn',
                    'template' => '{update}{delete}',
                    'buttons'  => array(
                        'update' => array(
                            'click' => $updateDialog,
                            'url'   => 'Yii::app()->controller->createUrl("admin/news",array("action"=>"newsList","make"=>"update","id"=>$data->primaryKey))',
                        ),
                        'delete' => array(
                            'url' => 'Yii::app()->controller->createUrl("admin/news",array("action"=>"newsList","make"=>"delete","id"=>$data->primaryKey))',
                        ),
                    ),
                ),
            ),
        )
    );
    
    Чем является getCategories:
    public function getCategories()
    {
        $array = CHtml::listData(FNewsCategory::model()->findAll(), 'rubric_id', 'rubric_nameRu');
        return $array;
    }

    Типичный шаблон на фреймворках, в данном случае на Yii 1.1 и от тим-лида!

    Да-да, функция прямо в шаблоне и вызывается из цикла. :)

    M-A-X, 13 Декабря 2016

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

    −22

    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
    <?php
    //Контроллер
    $response = call_external_api($data['form']->getRequestParams());
    $data['response'] = $this->formatResponse($response);
    if (!empty($data['response'])) {
    	Yii::app()->user->setFlash('response', $data['response']);
    }
    
    $this->render('index', $data);
    
    //Шаблон (smarty), в самом верху
    {if $response = Yii::app()->user->getFlash('response')}
    	{$this->renderPartial('some_tpl', ['response' => $response])}
    {/if}

    Yii 1.1, перезатирание $response

    M-A-X, 21 Октября 2016

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

    −25

    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
    class RegUser 
    {
    	public function __construct($userParams) 
    	{
    		$this->userName = $userParams['userName'];
    		$this->userSurname = $userParams['userSurname'];
    		$this->userNickname = $userParams['userNickname'];
    		$this->userPassword = $userParams['userPassword'];
    		$this->userEmail = $userParams['userEmail'];	
    	}
    	
    	public function regUser() 
    	{
    		$this->queryRegUserText = 'INSERT INTO users (name, surname, nickname, password, email)
    		values('.$this->userName.', '.$this->userSurname.', '.$this->userNickname.', '.$this->userPassword.', '.$this->userEmail.')';
    			
    		$this->queryRegUser = mysql_query($this->queryRegUserText) or die('Запрос не удался: '+mysql_error());  
    	}
    }
    
    Использование:
    $regUser = new RegUser($_POST);
    $regUser->regUser();

    ООП ради ООП, ну и разное :)

    M-A-X, 05 Октября 2016

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

    −25

    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
    public function actionList($id)
        {
            $countUniversities = Universities::find()
                ->where(['idCity'=>$id])
                ->count();
     
            $universities = Universities::find()
                ->where(['idCity'=>$id])
                ->all();
     
            if($countUniversities > 0)
            {
                foreach ($universities as $row) {
                    echo "<option value='".$row->id."'>".$row->name."</option>";
                }
            }
            else{
                echo "<option>-</option>";
            }
        }

    Yii2 контроллер.
    1. Непонятно, зачем делать отдельный запрос на количество. :)
    2. Выбираем сразу все поля. Ну а че, а вдруг понадобятся. :)
    3. Шаблон в контроллере - это по нашему. :)

    M-A-X, 05 Октября 2016

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <ul>
        {foreach $сity as $c}
            {if Core::model()->getValue($c,'name') === $form->city_name}
                {assign $form->city_id $c['id']}
            {/if}
            <li data-value="{$c['id']}" class="{if $c['id']===$form->city_id}active{/if}"><span>{Core::model()->getValue($c,'name')}</span></li>
        {/foreach}
    </ul>

    Типичный шаблон на фреймворках PHP, в данном случае Yii 1.1

    M-A-X, 01 Июня 2016

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

    +1

    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
    <ul id="top_menu" alias="{$alias}" parentAlias="{$parentAlias}">
        {foreach $items as $i}
            {*{$i->parentId == null} :)*}
            {if $i->parentId == null}
                <li class="{if $alias === $i->alias || $parentAlias === $i->alias}active{/if}"><a href="{Yii::app()->params->languageUrl}/{$i->alias}" onclick="return false;">{$i->lang->name}</a>
                    <ul class="sub" style="display: none;">
                        {foreach $items as $ii}
                            {if $ii->parentId == $i->id}
                                <li class="{if $alias === $ii->alias || $parentAlias === $ii->alias}active{/if}">
                                    {if $ii->hasAction > 0}
                                        <a href="{if $ii->alias!==''}{Yii::app()->params->languageUrl}/{$ii->alias}{/if}">{$ii->lang->name}</a>
                                    {else}
                                        <a href="{Yii::app()->params->languageUrl}/{$i->alias}{if $ii->alias!==''}/{$ii->alias}{/if}">{$ii->lang->name}</a>
                                    {/if}
                                </li>
                            {/if}
                        {/foreach}
                    </ul>
                </li>
            {/if}
        {/foreach}
    </ul>

    Типичное меню на фреймворках.
    В данном случае Yii

    M-A-X, 26 Апреля 2016

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

    +1

    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
    <script type="text/javascript" src="{$assetsUrl}/js/controllers/news.js"></script>
    <div class="breadcrumbs">
     <span typeof="v:Breadcrumb" ><a href="/" style="color: #000000;">{Y::t('MainMenu', 'Главная')}</a></span> /
     <span typeof="v:Breadcrumb" style="color: red;">{$this->title}</span>
    </div>
    <div class="news_sections">
        <ul>
            {assign comment ''}
            {foreach from=Trololo::model()->newsTypes() key=k item=n}
                {if Yii::app()->request->getParam('rubric')==$k}
                    {assign comment $n['comment']}
                    <li class="active"><span>{$n['label']}</span></li>
                {else}
                    <li class=""><span><a href="{Yii::app()->params->languageUrl}/news/rubric/{$k}">{$n['label']}</a></span></li>
                {/if}
            {/foreach}
        </ul>
    </div>
    <h1 class="page_title">{$comment}</h1>

    Типичный шаблон на фреймворке.
    В данном случае - Yii.

    M-A-X, 26 Апреля 2016

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