1. Список говнокодов пользователя dimkich

    Всего: 18

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

    +155

    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
    /**
    * Конструктор класса
    * @param mixed $db
    */   
    public function __construct($db = null)
    {
            if ($db instanceof db) {
                self::$_db = & $db;
            } // передан объект БД
            elseif ($db !== null) {
                self::$_db = new db($db);
            } // создание по схеме БД
            else {
                self::$_db = new db();
            } // создание по умолчанию
    
            return $this;
    }

    dimkich, 05 Августа 2013

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

    +124

    1. 1
    2. 2
    3. 3
    // Просрока быть недолжно.
            // Если нет платежа, то будет исключение.
            // Оба эти случая логически исключены, если медот не дергать в неположеном месте.

    dimkich, 19 Июля 2013

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

    +148

    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
    Class FactoryAchievesController {
        
        public static function factory($type)
        {   
            try {
                if ($type) {
                    $classname = ucfirst(strtolower($type)).'AchievesController';
                    if (require_once 'class.achieves.'.$type . '.php') {
                        return new $classname;
                    } else {
                        throw new Exception('Class '.$classname.' not found');
                    }
                } else {
                    throw new Exception('Achieves type not defined');
                }
            } catch (Exception $exc) {
                // LOG
                //echo $exc->getTraceAsString();
            }
        }
    }

    Свой классный автолоад с фаталами

    dimkich, 18 Июля 2013

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

    +151

    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
    class geo extends db {
           
            public function ip2Country($ip, $id=false)
            {
                    $result=$this->doQuery("SELECT `eng`, `ID_parent`, `type`, `id` FROM cngeo_geo WHERE id=(
                                                            SELECT ID_geo FROM cngeo_ip WHERE IP_bi <= INET_ATON(?) ORDER BY IP_bi DESC LIMIT 1)", array('0' => array('s' => $ip)), array(0 => 'ID_parent', 1 => 'type', 2 => 'nac', 3 => 'id'));
                    if($result!=NULL)
                    {
                            while($result[0][2]!='c')
                            {      
                                    $result=$this->doQuery("SELECT `eng`, `ID_parent`, `type`, `id` FROM cngeo_geo WHERE `id`=?", array('0' => array('i' => $result[0][1])), array(0 => 'ID_parent', 1 => 'type', 2 => 'nac', 3 => 'id'));
                                    if($result==NULL) break;
                            }
                            //echo $result[0][0];
                            if( $id )
                                    return $result[0][3];
                            return $result[0][0];
                    }
            }
           
    }

    dimkich, 28 Июня 2013

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

    +153

    1. 1
    $amount = (int) "".((float)$a*100);

    Считаем сумму в копейках

    dimkich, 10 Июня 2013

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

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $payout_rate = isset( $transfer['draft'] ) ? ( $transfer['payout_rate'] == '' ? 0 : $transfer['payout_rate'] ) : 1;
            if( isset( $this->_drafts[$transfer["agent"]][$transfer["id_project"]][$transfer["draft_date"]][$currencyId]["sum"] ) ) {
                $this->_drafts[$transfer["agent"]][$transfer["id_project"]][$transfer["draft_date"]][$currencyId]["quantity"] += $transfer["quantity"];
                $this->_drafts[$transfer["agent"]][$transfer["id_project"]][$transfer["draft_date"]][$currencyId]["sum"] += $transfer["perechisleno"] * $rate * $payout_rate;
                $this->_drafts[$transfer["agent"]][$transfer["id_project"]][$transfer["draft_date"]][$currencyId]["commission"] += $transfer["udergano"] * $rate * $payout_rate;
            }
            else {
                $this->_drafts[$transfer["agent"]][$transfer["id_project"]][$transfer["draft_date"]][$currencyId]["quantity"] = $transfer["quantity"];
                $this->_drafts[$transfer["agent"]][$transfer["id_project"]][$transfer["draft_date"]][$currencyId]["sum"] = $transfer["perechisleno"] * $rate * $payout_rate;
                $this->_drafts[$transfer["agent"]][$transfer["id_project"]][$transfer["draft_date"]][$currencyId]["commission"] = $transfer["udergano"] * $rate * $payout_rate;
            }

    тайный культ массивов

    dimkich, 24 Мая 2013

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    // Если больше 23:30, то сверяем мультиреестровые
            if (mktime(date('H'), date('i'), date('s'), date('m'), date('d'), date('Y')) >= mktime(23, 30, 0, date('m'), date('d'), date('Y')) || $notime == 1)
                $sql .= ' AND pi.multiregistry = "1"';
            else
                $sql .= ' AND pi.multiregistry = "0"';

    Колдуем даты

    dimkich, 17 Мая 2013

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $useDummy = true;
            do {
                if (!file_exists($filename)){ break; }
                require_once $filename;            
                if (!class_exists($className)){ break; }                        
                $useDummy = false;
            } while(false);

    Новый оператор ветвления do ... while

    dimkich, 13 Мая 2013

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