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

    +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
    $sql = 'SELECT * FROM `user` WHERE `id`=' . $_SESSION['userId'];
            $result = $this->db->query($sql);
            $data = $result->fetch_assoc();
            $sessionId = $data['sessionID'];
            $session_id_to_destroy = $sessionId;
            $login = 'Login';
            if ($_GET['SID'] != $sessionId) {
                if (file_exists(ROOT . DS . 'app' . DS . 'sessions' . DS . 'sess_' . $sessionId)) {
                    unlink((ROOT . DS . 'app' . DS . 'sessions' . DS . 'sess_' . $sessionId));
                }
                session_id($sessionId);
                session_start();
                session_destroy();
                session_start();
                session_regenerate_id($sessionId);
                $login = 'Check';
            }
    
            $sql = 'UPDATE `user` SET `sessionID`="' . session_id() . '", `lastLogin`=' . time() . ', `everyDayUse`=' . $everyDayUse . ', `lastDayUse`=' . $lastDayUse . ' WHERE `id`=' . $_SESSION['userId'];
            $_SESSION['userInfo']['sessionID'] = session_id(); 
            $this->db->query($sql);

    dilana, 07 Декабря 2015

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

    +3

    1. 1
    $this->pass_change_token = md5($this->id . "sdkfjgllfdlk" . time() . $this->domain_id . rand(1000, 9000) . $this->email);

    Генерируем токен для смены пароля пользователя.

    jbot, 07 Декабря 2015

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

    +5

    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
    if ($template)             // BAD
    if (isset($template))      // GOOD
    if ($template !== NULL))   // GOOD
    if ($template !== ''))     // GOOD
    
    if (strlen($template) > 0) // BAD! strlen("-1") is greater than 0
    if (is_string($template) && strlen($template) > 0) // BETTER
    
    if ($foo == $bar)          // BAD, avoid truthy comparisons
    if ($foo != $bar)          // BAD, avoid falsy comparisons
    if ($foo === $bar))        // GOOD
    if ($foo !== $bar))        // GOOD
    
     // We only allow valid persons
    if (is_object($p) && strlen($p->lastN) > 0 && $p->hidden === FALSE && $this->environment->moonPhase === MOON_LIB::CRESCENT) {
     $xmM = $thd;
    }
    
    if ($this->isValidPerson($person) {
      $xmM = $thd;
    }

    Решил погуглить гайдлайны по PHP: http://flowframework.readthedocs.org/en/stable/TheDefinitiveGuide/PartV/CodingGuideLines/PHP.html

    HiNeX, 07 Декабря 2015

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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    $sql = "SELECT * FROM users WHERE id='" . $id . "'";
                    $query = db_assoc( $sql );
                    unset( $query['id'], $r['openid'], $query['password'], $query['refer'] );
                    $_SESSION['inform'] = $query;

    Я просто оставлю это здесь

    drop_database, 06 Декабря 2015

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $a=array();
    for($i=0;$i<100;$i++){
     $t=rand(1,100);
     $a[$t]=$t;
    }

    Решение задачи из теста на пригодность в джуны.
    Сама задача была поставлена так:

    "Нужно объявить массив, в цикле от 1 до 100 заполнить его случайными цифрами (тоже от 1го до 100), и в итоге получить массив с уникальными значениями, реализовать минимальным кол-вом строк. "

    Шедевральная наркомания.

    Twissel, 04 Декабря 2015

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

    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
    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
    <?php
    
    namespace Oro\Bundle\ActivityListBundle\Controller;
    
    use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
    use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
    
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Symfony\Component\EventDispatcher\EventDispatcherInterface;
    use Symfony\Component\HttpFoundation\Request;
    use Symfony\Component\Translation\TranslatorInterface;
    
    use Oro\Bundle\ActivityListBundle\Event\ActivityConditionOptionsLoadEvent;
    
    /**
     * @Route("/activity-list/segment")
     */
    class SegmentController extends Controller
    {
        /**
         * @Route("/activity-condition")
         * @Template
         */
        public function activityConditionAction(Request $request)
        {
            $params = $request->attributes->get('params', []);
            $conditionOptions = [
                'activityConditionOptions' => [
                    'listOption'     => $this->forward(
                        'OroActivityListBundle:Api/Rest/ActivityList:getActivityListOption',
                        [],
                        ['_format' => 'json']
                    )->getContent(),
                    'entitySelector' => sprintf('#%s', $params['entity_choice_id']),
                    'fieldsLoaderSelector' =>  sprintf(
                        '[data-ftid=%soro_api_querydesigner_fields_entity]',
                        $params['entity_choice_id']
                    ),
                    'fieldChoice' => [
                        'select2' => [
                            'placeholder' => $this->getTranslator()->trans(
                                'oro.query_designer.condition_builder.choose_entity_field'
                            ),
                        ],
                    ],
                    'extensions' => [],
                ]
            ];
    
            $dispatcher = $this->getEventDispatcher();
            if (!$dispatcher->hasListeners(ActivityConditionOptionsLoadEvent::EVENT_NAME)) {
                return $conditionOptions;
            }
    
            $event = new ActivityConditionOptionsLoadEvent($conditionOptions['activityConditionOptions']);
            $dispatcher->dispatch(ActivityConditionOptionsLoadEvent::EVENT_NAME, $event);
    
            return [
                'activityConditionOptions' => $event->getOptions(),
            ];
        }
    
        /**
         * @return EventDispatcherInterface
         */
        protected function getEventDispatcher()
        {
            return $this->get('event_dispatcher');
        }
    
        /**
         * @return TranslatorInterface
         */
        protected function getTranslator()
        {
            return $this->get('translator');
        }
    }

    Странная передача параметра в виджет.

    HiNeX, 03 Декабря 2015

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

    +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
    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
    88. 88
    89. 89
    require_once './_конфигурация.php';
    
    	$обращеніе = Обращеніе::экземпляръ();
    	
    	/* @var $отъдѣлъ Отъдѣлъ\На\Английскомъ */
    	
    	if (isset($обращеніе->параметры->{'учётный-номер'}) == false) $отъдѣлъ->управленіе->перенаправить('страницы.php');
    	$учётный_нумеръ = $обращеніе->параметры->цѣлочисленное('учётный-номер');
    	
    	$вѣсть = $отъдѣлъ->фабрика->вѣсть->сотворить($учётный_нумеръ);
    	/* @var $вѣсть Отъдѣлъ\_\Объектъ\Вѣсть */
    	
    	if (false) {
    		var_dump($вѣсть->иллюстрація->на->страницѣ->вѣсти->ссылка);
    		$вѣсть->извлечь();
    		var_dump($вѣсть->иллюстрація->на->страницѣ->вѣсти->ссылка);
    		die();
    	} else {
    		$вѣсть->извлечь();
    	}
    	
    	if (false) {
    		var_dump($вѣсть->иллюстрація->большая->имя);
    		var_dump($вѣсть->иллюстрація->малая  ->имя);
    		var_dump($вѣсть->иллюстрація->на->страницѣ->вѣсти ->имя);
    		var_dump($вѣсть->иллюстрація->на->страницѣ->вѣстей->имя);
    		var_dump($вѣсть->иллюстрація->на->страницѣ->мѣтки ->имя);
    		var_dump($вѣсть->иллюстрація->въ->блокѣ           ->имя);
    		die();
    	}
    
    	if ($обращеніе->является->утвердительнымъ == true) {
    		
    		$вѣсть->учётный->нумеръ->страницы->вѣстей = $обращеніе->вводъ->цѣлочисленное('страница-новостей->');
    		$вѣсть->важная      = $обращеніе->вводъ->двоичное ('важная'    );
    		$вѣсть->заголовокъ  = $обращеніе->вводъ->строчное ('заголовок' );
    		$вѣсть->разъясненіе = $обращеніе->вводъ->текстовое('содержимое');
    		
    		$вѣсть->иллюстрація->большая->загрузить('иллюстрация-большая');
    		$вѣсть->иллюстрація->малая  ->загрузить('иллюстрация-малая'  );
    		if (empty($вѣсть->иллюстрація->большая->собственное->имя) == false) {
    			$вѣсть->иллюстрація->на->страницѣ->вѣсти ->копировать->изъ($вѣсть->иллюстрація->большая);
    		}
    		if (empty($вѣсть->иллюстрація->малая->собственное->имя) == false) {
    			$вѣсть->иллюстрація->на->страницѣ->вѣстей->копировать->изъ($вѣсть->иллюстрація->малая);
    			$вѣсть->иллюстрація->на->страницѣ->мѣтки ->копировать->изъ($вѣсть->иллюстрація->малая);
    			$вѣсть->иллюстрація->въ->блокѣ           ->копировать->изъ($вѣсть->иллюстрація->малая);
    		}
    		
    		\База\Данныхъ\Транзакція::экземпляръ()->начать();
    		$вѣсть->мѣтки->уничтожить();
    		\База\Данныхъ\Транзакція::экземпляръ()->утвердить();
    		
    		$отъдѣлъ->множество->мѣтокъ->вѣстей->извлечь();
    		foreach ($обращеніе->вводъ->массива->цѣлочисленныхъ('тег') as $учётный_нумеръ_мѣтки) {
    			foreach ($отъдѣлъ->множество->мѣтокъ->вѣстей->элементы as $мѣтка) {
    				if ($мѣтка->учётный->нумеръ->мѣтки != $учётный_нумеръ_мѣтки) continue;
    				$вѣсть->мѣтки->дополнить($мѣтка);
    				continue(2);
    			}
    		}
    		
    		if ($обращеніе->вводъ->двоичное('опубликовать') == true) $вѣсть->часъ->обнародованія = date('Y-m-d H:i:s');
    		
    		\База\Данныхъ\Транзакція::экземпляръ()->начать();
    		$вѣсть->измѣнить();
    		\База\Данныхъ\Транзакція::экземпляръ()->утвердить();
    		
    		unset($вѣсть);
    		$вѣсть = $отъдѣлъ->фабрика->вѣсть->сотворить($учётный_нумеръ);
    		/* @var $вѣсть Отъдѣлъ\_\Объектъ\Вѣсть */
    		$вѣсть->извлечь();
    		\База\Данныхъ\Транзакція::экземпляръ()->начать();
    		$вѣсть->измѣнить();
    		\База\Данныхъ\Транзакція::экземпляръ()->утвердить();
    		
    		$отъдѣлъ->управленіе->перенаправить('новости.php');
    	}
    	
    	$отъдѣлъ->множество->страницъ      ->извлечь();
    	$отъдѣлъ->множество->мѣтокъ->вѣстей->извлечь();
    	$вѣсть->мѣтки->извлечь(); ?>
    <html>
    	<head><?php
    		require_once директорія_включеній . 'html/заглавие.php'; ?>
    		<title>
    			Новость: <?php print $вѣсть->заголовокъ; ?>
    		</title>
    	</head>

    VitaliiPuhach, 03 Декабря 2015

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

    +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
    $RECORDS = array();
    $qRecords = ' SELECT `id`, `original_name`, `urn_name` FROM `ac_brands` ORDER BY `original_name` ASC ';
    $rqRecords = mysql_query($qRecords, $mysql) or die(mysql_error());
    
    // общее количество объявлений в БД
    $totalAmt = 0;
    
    while($RECORD = mysql_fetch_assoc($rqRecords))
    {
    	// получаем количество объявлений в БД для данного бренда
    	$qAmtAds = ' SELECT `count_ads` FROM `ac_brands` WHERE `id` = "'.intval($RECORD['id']).'"';
    	$rqAmtAds = mysql_query($qAmtAds, $mysql) or die(mysql_error());
    	
    	$RECORD['amt_ads'] = mysql_fetch_object($rqAmtAds)->{"count_ads"};
    	$totalAmt += $RECORD['amt_ads'];
    	
    	$RECORDS[] = $RECORD;
    }

    Что ОН, б**ть, делает? =)
    Походу чувак не знает про COUNT() и GROUP BY...

    Lander, 03 Декабря 2015

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

    +3

    1. 1
    Вышел php-7.0.0!

    Возрадуемся, обсудим?

    Bobik, 02 Декабря 2015

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

    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
    <script type="text/javascript">
    	var options = new Array();
    	<?php foreach ($global_options as $optionId => $option) { ?>
      		options[<?php print $optionId; ?>] = new Array();
      	
    	<?php
          	$counter = 0;
      		foreach ($option['values'] as $valueId => $value) {?>
    			options[<?php print $optionId; ?>][<?php print $valueId; ?>] = <?php print $value['price']; ?>;
              <?php $counter ++;
      		}
    	}?>
    </script>

    Встретил такую штуку)

    VitaliiPuhach, 01 Декабря 2015

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