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

    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
    $l_data["comm_text"] = $mail_body;
    				$l_var = implode(",", $l_var);
    				$l_path = "root->mail->".$l_group_id."->".$l_uuid."->[".$l_var.",group_name,comm_text]";
    				
    				$this->engine->smartquery->create( $l_path );
    				$this->engine->smartquery->setdata( $l_path, $l_data );
    
    				if ($this->engine->var->get("comm_subscribe") == 1 && defvar($this->engine->var->get("comm_email"),"") != "")
    				{
    				
    
    					$l_result = $this->engine->smartquery->getdata( "root->clients->(list)->[*]"," and `comm_email`='".$this->engine->var->get("comm_email")."' ");
    					$l_result = $l_result->getall();
    					
    					if (count($l_result) == 0)
    					{
    						//Создать группу если отсутствует
    						$l_data = array();
    						$l_data["comm_fio"] = $this->engine->var->get("comm_fio");
    						$l_data["comm_email"] = defvar($this->engine->var->get("comm_email"),"");
    						$l_data["comm_phone"] = defvar($this->engine->var->get("comm_phone"),"");
    						$l_data["comm_formid"] = $l_group_id;
    						$l_data["comm_formname"] = defvar($config["mail.communication".$l_group_id.".subj"],"");
    						
    						$l_var = implode(",", array_keys($l_data));
    						$l_uuid = mktime();
    						$l_path = "root->clients->".$l_uuid."->[".$l_var."]";
    
    						
    						$this->engine->smartquery->create( $l_path );
    						$this->engine->smartquery->setdata( $l_path, $l_data );
    					}
    					
    				}

    Это код из одного "супер" движка мало того что тут используется дибильный шаблонизатор, тут используется просто еб*нутый класс для работы с базой данных....
    Не знаю что автор хотел оптимизировать этим классом, но простая вставка данных в таблицу тут занимает целых два метода 1-ый($this->engine->smartquery->create) создает таблицу(если ее нет и пустую строку), второй только собственно осуществляет вставку в эту строку данных($this->engine->smartquery->setdata)

    Запостил: cowrvalera, 13 Января 2016

    Комментарии (2) RSS

    Добавить комментарий