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

    −3

    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
    function formSelect($itxt, $name = '', $val = array(), $selected = 0, $data = 0, $nullF = false, $atr = '', $optatr = array()) {
    	if(is_array($selected)) { $atr .= ' multiple'; }
    	$html = '<select  name="'.$name.'" '.$atr.">\r\n";
    	if($nullF) {
    		$t = ($nullF === true) ? ' ' : $nullF;
    		$html .= '<option value="0">'.$t.'</option>'; }
    	if($data == 3) { $start = $itxt; $count = $val[0]; $step = $val[1]; }
    	else { $count = count($itxt); }
    	for($i = 0; $i < $count; $i++) {
    			// 4 - для быза данных
    		switch($data) {
    			case 1: $key = $val[$i]; $txt = $itxt[$i]; break;
    			case 2: $key = $i; $txt = $itxt[$i]; break;
    			case 3: $txt = $key = ($start + ($step*$i)); break;
    			case 4: $key = $itxt[$i][$val[0]]; $txt = $itxt[$i][$val[1]]; break;
    			default: $key = $txt = $itxt[$i]; break;
    		}
    		$sel = '';
    		if(is_array($selected)) {
    			if(in_array($key, $selected)) { $sel = 'selected'; }
    		} elseif($selected == $key) { $sel = 'selected'; }
    		if(!empty($optatr[$i])) { $opt = $optatr[$i]; } else { $opt = ''; }
    		$html .= '<option value="'.$key.'" '.$sel.$opt.'>'.$txt."</option>\r\n";
    	}
    	$html .= "</select>\r\n";
    	return $html;
    }

    Теперь бызить вореции как никогда просто!

    daniser, 19 Июля 2016

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

    0

    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
    function syn_s_lms_support_get_bl_specific_urls($bl_node) {
        $bl_specific_urls=array();
        $url = field_extract_value('node', $bl_node, 'field_business_website', 'url');
        if (isset($url[0]) && strlen($url[0]) ) {
            $bl_specific_urls[] = $url[0];
        }
        $url = field_extract_value('node', $bl_node, 'field_business_yelp', 'url');
        if (isset($url[0]) && strlen($url[0]) ) {
            $bl_specific_urls[] = $url[0];
        }
        $url = field_extract_value('node', $bl_node, 'field_business_gplus', 'url');
        if (isset($url[0]) && strlen($url[0]) ) {
            $bl_specific_urls[] = $url[0];
        }
        $url = field_extract_value('node', $bl_node, 'field_business_facebook', 'url');
        if (isset($url[0]) && strlen($url[0]) ) {
            $bl_specific_urls[] = $url[0];
        }
        $twitname = field_extract_value('node', $bl_node, 'field_business_twitter');
        if ($twitname) {
            $twit_name_clean = str_replace("@", '',  $twitname);
            $bl_specific_urls[] = 'https://twitter.com/' . $twit_name_clean;
        }
        return $bl_specific_urls;
    }

    Давай, ман не читай,
    код пиши от души.

    zima, 15 Июля 2016

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $arResult["ORDER_ID"] = (int)CSaleOrder::DoSaveOrder($arOrderDat, $arFields, 0, $arResult["ERROR"]);
    
    
    if ($arResult["ORDER_ID"] > 0 && empty($arResult["ERROR"]))
    {
    	CSaleBasket::OrderBasket($arResult["ORDER_ID"], CSaleBasket::GetBasketUserID(), SITE_ID, false);
    }

    Нам насрать на то что DoSaveOrder уже внутри себя делает OrderBasket, мы сделаем это еще раз.

    turbosnail, 15 Июля 2016

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <? $dir = $APPLICATION->GetCurDir();
    $slashCount = substr_count($dir, "/");
    
    //убираем со страницы отдельной новости
    if($slashCount<6){ ?>
    ...
    }?>

    Какая наикрасивейшая проверка на количество слешей в урл.
    Супер решение

    liquor, 14 Июля 2016

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

    −2

    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
    /******** Model **********/
     $model = new CreateArticleForm();
            if ($model->load(Yii::$app->request->post())) {
                if ($model->create()) {
                    Yii::$app->session->setFlash('success', [
                        'type' => 'success',
                        'duration' => 0,
                        'icon' => 'fa fa-users',
                        'message' => 'Success created.',
                        'title' => 'Change password',
                    ]);
                } else {
                    Yii::$app->session->setFlash('danger', [
                        'type' => 'danger',
                        'duration' => 0,
                        'icon' => 'fa fa-users',
                        'message' => 'Error created.',
                        'title' => 'Change password',
                    ]);
                }
            } else {
                return $this->render('create-article',
                    [
                        'language_current' => $language_current,
                        'page' => $page,
                        'model' => $model,
                    ]);
            }
    
    /******** View **********/
     <?php Pjax::begin(['id' => 'my-pjax']); ?>
                                <?php $form = ActiveForm::begin(['id' => 'form-change-pass', 'options' => ['enctype' => 'multipart/form-data', 'data-pjax' => true]]); ?>
                                <?= $form->field($model, 'title')->textInput(['autofocus' => true, 'class' => 'form-control']) ?>
    
                                <label for="usr">Категория</label>
    
                                <div class="bs-docs-example">
                                    <?= Html::activeDropDownList($model, 'id_category',
                                        ArrayHelper::map(\common\models\Category::find()->all(), 'id', 'name'),
                                        ['class' => 'selectpicker dropdownlist form-control',
                                            'data-width' => '100%',
                                            'multiple' => 'true']) ?>
                                </div>
    
                                <?= $form->field($model, 'text', ['inputOptions' => ['class' => 'summernote form-control']])->textarea(['rows' => 6]) ?>
    
                                <?= Html::input('submit', '0', Yii::t('menu', 'form_submit')); ?>
                                <?php ActiveForm::end(); ?>
                                <?php Pjax::end(); ?>

    Первое использование Pjax в Yii2

    qstd, 14 Июля 2016

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

    +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
    ...
        if(empty($text)){
          $response = chr(0xF0) . chr(0x9F) . chr(0x98) . chr(0x95);
        }
        else{
          $textLines = explode("\n", $text);
          
          if(preg_match('/^\d+$/', $textLines[0])){
            $response = $this->doneTaskAction(
              (int) $textLines[0]
            );
          }
          else{
            $response = chr(0xF0) . chr(0x9F) . chr(0x98) . chr(0x95);
          }
        }
    ...
    class dCommand extends doneCommand{
      protected $name = 'd';
      protected $description = 'Псевдоним команды /done';
      protected $usage = '/d <task_id>';
    }

    https://habrahabr.ru/post/305462/
    https://github.com/Bashka/taskbot

    habrophag, 14 Июля 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public function favoriteCount($userId) {
    		$query = $this->db->query("SELECT * FROM ".DB_PREFIX."favorite WHERE customer_id =".$this->db->escape($userId));
    		$rows = $query->rows;
    		return count($rows);
    }

    Opencart.
    Потому что агрегатные функции для слабаков!

    Panda, 13 Июля 2016

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

    +2

    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
    <table>       
            <?php 
            $showShowroomsIds =  array();
            foreach($available_sizes as $sizeName):
            $available  =  false;
            foreach($warehouses as $warehouse) :
                $uuid = $warehouse['uuid'];
                $name = $warehouse['name'];
                $quantity = $size_quantity[$uuid][trim($sizeName)];
                if($quantity >0) {
                    $available  =  true;
                }
            endforeach;
            if(!$available) continue;
            ?>
            <?php
            foreach($warehouses as $warehouse) :
            $uuid = $warehouse['uuid'];
            //echo $uuid."<br>";
            
            if(isset($showrooms[$uuid])) {
                $showShowroomsIds[$uuid] = $uuid;
            }
            
            $name = $warehouse['name'];
            $quantity = $size_quantity[$uuid][trim($sizeName)];
            if($quantity) {
                $eshopAvailable = '';
                if($uuid == $eshopUuid && $quantity > 0) $eshopAvailable = 'eshop_available=\'y\'';
                $quantity  = ModelCommonWarehouse::getFormattedQuantity($quantity,$uuid);
                $qtA  =  "";
            } else {
                continue;
                $qtA  =  "not-available";
                $quantity  =  "нет в наличии";
            }
            ?>
            <tr <?php echo $eshopAvailable?> available='y'>
                <td class="td">
                    <?php if(isset($showrooms[$uuid])):?><a href="#" class="showroom-info"  uuid="<?php echo $uuid;?>" icId="uuid" rel="nofollow"><?php endif;?>
                    <?php echo $name?>
                    <!--<?php echo $uuid;?>-->
                    <?php if(isset($showrooms[$uuid])):?></a><?php endif;?>
                </td>
                <td class="qt <?php echo $qtA;?>"   ><?php echo $quantity;?></td>
            </tr>
            <?php endforeach;?>
            <tr>
                <td style="height: 10px;"></td>
            </tr>
            <?php endforeach;?>
        </table>

    Opencart. Прямо во вьюхе ровным слоем размазаны бизнес-логика и js.
    Что самое интересное, оборот магазина составляет 7 млн. руб (о__О)

    Panda, 13 Июля 2016

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

    +3

    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
    $t0=mktime(
                preg_replace("/^....\-..\-..\ (..):..:..$/","$1",$task['end_date']),
                preg_replace("/^....\-..\-..\ ..:(..):..$/","$1",$task['end_date']),
                preg_replace("/^....\-..\-..\ ..:..:(..)$/","$1",$task['end_date']),
                preg_replace("/^....\-(..)\-..\ ..:..:..$/","$1",$task['end_date']),
                preg_replace("/^....\-..\-(..)\ ..:..:..$/","$1",$task['end_date']),
                preg_replace("/^(....)\-..\-..\ ..:..:..$/","$1",$task['end_date'])
            );
    
            $t1=mktime(
                preg_replace("/^....\-..\-..\ (..):..:..$/","$1",$task['real_end_date']),
                preg_replace("/^....\-..\-..\ ..:(..):..$/","$1",$task['real_end_date']),
                preg_replace("/^....\-..\-..\ ..:..:(..)$/","$1",$task['real_end_date']),
                preg_replace("/^....\-(..)\-..\ ..:..:..$/","$1",$task['real_end_date']),
                preg_replace("/^....\-..\-(..)\ ..:..:..$/","$1",$task['real_end_date']),
                preg_replace("/^(....)\-..\-..\ ..:..:..$/","$1",$task['real_end_date'])
            );
    
            for($i=$t0;$i<=$t1;$i=$i+(60*60))
            {

    Вот такой разбор дат по крупицам обнаружился...

    Lblss, 12 Июля 2016

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

    +2

    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
    function implode() {
        $str = '';
        if(func_num_args()==1) {
            $array  = (is_array(func_get_arg(0))) ? func_get_arg(0) : false;
            $symbol = '';
        } elseif(func_num_args()==2) {
            $array = (is_array(func_get_arg(0))) ? func_get_arg(0): func_get_arg(1);
            $symbol = (!is_array(func_get_arg(0))) ? func_get_arg(0) : func_get_arg(1);
        } else {
            return false;
        }
        if($array===false) {
            return false;
        } else {
            foreach($array as $k=>$v) {
                if(is_array($v)) {
                    return false;
                } else {
                    $str = $str.$symbol.$v;
                }
            }
        return $str;
        }
    }

    Свой аналог функции implode. И такое бывает

    McLotos, 11 Июля 2016

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