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

    +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
    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
    $scales = db_select('_scale', 'q')
            ->condition('q.gender', $gender)
            ->fields('q', array('id'))
            ->execute();
    
        $i = 1;
        while ($scale = $scales->fetchObject()) {
            $raw_score = 0;
    
            $query = db_select('_scale_question', 'q')
                ->condition('q.scale_id', $scale->id)
                ->fields('q')
                ->execute();
    
            while ($item = $query->fetchObject()) {
                $user_answer = db_select('_user_answer', 'q')
                    ->condition('q.question_id', $item->question_id)
                    ->condition('q.result_id', $result_id)
                    ->fields('q', array('answer'))
                    ->execute()
                    ->fetchField();
    
                if ($user_answer == $item->expected_answer) {
                    $raw_score++;
                }
            }
    
    
            $raw_scores_item['scale_id'] = $scale->id;
            $raw_scores_item['score'] = $raw_score;
    
            $raw_scores[$i] = $raw_scores_item;
            $i++;
        }

    Drupal 7, SQL-запросы с DB API Drupal в двойном цикле(!).
    ...А заменить можно 1 нормальным SQL-запросом.

    skigf, 10 Декабря 2015

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

    +1

    1. 1
    2. 2
    3. 3
    If (!isset($_GET['mode']) || !ereg("^[a-z0-9_-]{1,15}$",$_GET['mode'])) $mode='read'; else $mode=$_GET['mode'];
    
    switch ($mode){

    Как же я люблю в говнодвигах ковырятся Гг

    Vocaloid_IA, 09 Декабря 2015

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

    +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
    23. 23
    24. 24
    25. 25
    26. 26
    <? 
    
          $login= _string($_COOKIE['login']);
          $password = _string($_COOKIE['password']);
    
      if($login && $password) { 
         
      $q = mysql_query('SELECT * FROM `users` WHERE `login` = "'.$login.'" AND `password` = "'.$password.'"');
      $user = mysql_fetch_array($q); 
    
      if(!$user) { 
         
      setCookie('login', ''); 
    
      setCookie('password', ''); 
       
      } 
    
          mysql_query('UPDATE `users` SET `online` = "'.time().'",
                                              `ip` = "'.$_SERVER['REMOTE_ADDR'].'",
                                              `ua` = "'.$_SERVER['HTTP_USER_AGENT'].'",
                                            `self` = "'.$_SERVER['PHP_SELF'].'" WHERE `id` = "'.$user['id'].'"');
    ?> 
    <? 
    } 
    ?>

    Нашел на бумасе Хд

    Vocaloid_IA, 09 Декабря 2015

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public function validate($value) {
        try {
            $date = new \DateTime($value);
            return true;
        } catch (\Exception $e) {
            return false;
        }
    }

    DateTime Validator

    bykovski, 08 Декабря 2015

    Комментарии (14)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. 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)