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

    +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
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    $arrParams = array();
                    $arrParams['table'] = array();
                    $arrParams['limit'] = 20;
                    
                    $arrParams['table']['id'] = 'cmt_summary';
                    $arrParams['table']['class'] = 'comments';
                    $arrParams['table']['rows_id'] = 'cmt_{{comment_id}}';
                    
                    $arrParams['table']['columns'] = array();
                    
                    $arrParams['table']['columns']['comment_id'] = array();
                    $arrParams['table']['columns']['comment_id']['name'] = 'Comment ID';
                    $arrParams['table']['columns']['comment_id']['class'] = 'a';
                    $arrParams['table']['columns']['comment_id']['sort'] = true;
                    $arrParams['table']['columns']['comment_id']['search'] = array('type'=>'int');
                    $arrParams['table']['columns']['comment_id']['row'] = $sRowOutput;
                    
                    $arrParams['table']['columns']['user_name'] = array();
                    $arrParams['table']['columns']['user_name']['name'] = 'Poster Username';
                    $arrParams['table']['columns']['user_name']['class'] = 'a';
                    $arrParams['table']['columns']['user_name']['sort'] = true;
                    $arrParams['table']['columns']['user_name']['search'] = array('type'=>'string');
                    $arrParams['table']['columns']['user_name']['row'] = $sRowOutput;
                    
                    $arrParams['table']['columns']['email'] = array();
                    $arrParams['table']['columns']['email']['name'] = 'Poster Email';
                    $arrParams['table']['columns']['email']['class'] = 'a';
                    $arrParams['table']['columns']['email']['sort'] = true;
                    $arrParams['table']['columns']['email']['search'] = array('type'=>'string');
                    $arrParams['table']['columns']['email']['row'] = $sRowOutput;

    Прошло уже почти 3 месяца как я сижу на проекте, а он не перестаёт меня удивлять :)

    Глядя на эти строки думается что-то подобное было в головах у кодеров:
    - Зачем юзать объекты, в массивы всё нормально ложится и они легче.
    - По фиг что массивы не подхватывает ни одна IDE, Notepad++ всё ещё бесплатный, а большего в PHP и не надо.
    - Зачем XML и XSD? Зачем это усложнение? Ну и что Ext4Yii хороший пример того как можно это сделать? Нам не нужны слабые духом программисты! :)

    kovel, 22 Июня 2011

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

    +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
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    // Это у них такой конфиг:
    
    //--------------------------------------------------------------------------------------
    // Определение дирректорий сервера
    	$siteDir = '';
     	$DIR = array(
    	'root' => $_SERVER['DOCUMENT_ROOT'].$siteDir,
    	);
    	$DIR['HOST'] = 'http://'.$_SERVER['HTTP_HOST'];
    	$DIR['media'] = $DIR['root'].'/media/';
    	$DIR['theme'] = $DIR['root'].'/themes/';
    	$DIR['lib'] = $DIR['root'].'/lib/';
    	$DIR['script'] = $DIR['root'].'/scripts/script.';
    
    
    // А это у них такая мвц 
    // при error_reporting(E_ALL) - таааакая знатная жопа
    
    //---------------------------------------------------------------//
    /* Организация простейшего MVC							 		 */
    //---------------------------------------------------------------//
    
    	//Загружаем модель для формированния данных
    	if(file_exists($DIR['script'].$Page.'.php'))
    		require_once($DIR['script'].$Page.'.php');	
    				
    	//Загрузка шаблона для отоброжения данных
    		require_once($DIR['theme'].'default.php');

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

    asdkhkadhfkha22, 22 Июня 2011

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

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?php 
    function antihack(&$var){   
    if(is_array($var)) array_walk($var, 'antihack');  
    else $var = htmlspecialchars(stripslashes(mysql_real_escape_string($var)), ENT_QUOTES, 'UTF-8');   
    }   
    
    foreach(array('_SERVER', '_GET', '_POST', '_COOKIE', '_REQUEST') as $v){   
    if(!empty(${$v})) array_walk(${$v}, 'antihack');  
    }  
    ?>

    http://homephp.ru/phpcode/index.php?system=bild&stat=173445591-534250613&

    jQuery, 21 Июня 2011

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

    +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
    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
    <?php
    else {
        fwrite($fp,"\xFF\xFF\xFF\xFF\x54\x53\x6F\x75\x72\x63\x65\x20\x45\x6E\x67\x69\x6E\x65\x20\x51\x75\x65\x72\x79\x00".chr(10));
        $start=time();
        socket_set_timeout($fp,1);
        $st=fread($fp,1);
        $r=socket_get_status($fp);
        $r=$r["unread_bytes"];
        $st.=fread($fp,$r);
        fclose($fp);
        $st=substr($st,5);
        $address=SubStr($st,0,StrPos($st,chr(0)));
        $address=str_replace(chr(0),"|",$address);
        $st=SubStr($st,StrPos($st,chr(0))+1);
        $name=SubStr($st,0,StrPos($st,chr(0)));
        $st=SubStr($st,StrPos($st,chr(0))+1);
        $map=SubStr($st,0,StrPos($st,chr(0)));
        $st=SubStr($st,StrPos($st,chr(0))+1);
        $st=SubStr($st,StrPos($st,chr(0))+1);
        $st=SubStr($st,StrPos($st,chr(0))+1);
        $current=ord(SubStr($st,0,1));
        $max=ord(SubStr($st,1,1));
        }
    if ($_GET['info'] == "map")
    {
    echo "document.write('$map');"; 
    }
    if ($_GET['info'] == "players")
    {
       if ($current == "0")
       {
          echo "document.write('<font color=red>$current</font>/$max');";
       }
       else
       {
          if($current == $max)
          {
             echo "document.write('<font color=00FF00>$current</font>/$max');";
          }else{
             echo "document.write('$current/$max');";
          }
       }
    }
    if ($_GET['info'] == "map-img")
    {
    echo "document.write('<img width=$width border=0 src=http://image.www.gametracker.com/images/maps/160x120/cs/$map.jpg>');";
    }
    if ($_GET['info'] == "source-map")
    {
    echo "document.write('$name');";
    }
    if ($_GET['info'] == "block1")
    {
    echo "document.write('<table border=0><tr><td align=center><marquee>$name</marquee><br><img width=160px height=120px style=background:url(http://www.agrank.com/images/maps/210_150/_offline.jpg); border=0 src=http://image.www.gametracker.com/images/maps/160x120/cs/$map.jpg><br>Map - $map<br>Players - <script language=JavaScript src=http://game-monitoring.tk/ucoz/cs-info.php?ip=$ip&port=$port&info=players></script><br><br><center><input value=$ip:$port readonly=readonly onclick=f2(this); class=f_linput type=text></center></td></tr></table>');";
    }
    if ($_GET['info'] == "block4")
    {
    }
    ?>

    Мало ли того, что гавнокод, так ещё и SubStr. аха

    substr, 21 Июня 2011

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

    +154

    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
    <?php
     if (isset($_POST['update'])) {
    			 $kolcen=mysql_real_escape_string($_POST['kolcen']);
    			 $tovar=mysql_real_escape_string($_POST['tovar']);
    			 $descr=mysql_real_escape_string($_POST['descr']);
    			 $price=intval($_POST['price']);
    			 $price2=intval($_POST['price2']);
    			 $price3=intval($_POST['price3']);
    			 $id=intval($_POST['update']); 
    			 $zag1=mysql_real_escape_string($_POST['zag1']);
    			 $zag2=mysql_real_escape_string($_POST['zag2']);
    			 $zag3=mysql_real_escape_string($_POST['zag3']);
    			 
    			  switch($kolcen){ 
    		 case '3':$updatetovar = mysql_query ("UPDATE `tovar3` SET `tovar`='$tovar',`descr`='$descr',`price`='$price',`price2`='$price2',`price3`='$price3' WHERE `id`='$id' and `id`='$serv'");
    		 break; 
    		 case '2': $updatetovar = mysql_query ("UPDATE `tovar2` SET `tovar`='$tovar',`descr`='$descr',`price`='$price',`price2`='$price2' WHERE `id`='$id' and `id`='$serv'");
    		 break; 
    		 case '1':$updatetovar = mysql_query ("UPDATE `tovar` SET `tovar`='$tovar',`descr`='$descr',`price`='$price' WHERE `id`='$id' and `pizzaid`='$service'");
    		 break;
    		 case '2images': $updatetovar = mysql_query ("UPDATE `2images` SET `tovar`='$tovar',`descr`='$descr',`price`='$price',`price2`='$price2',`price3`='$price3',`img`='$img',`zag1`='$zag1',`zag2`='$zag2',`zag3`='$zag3' WHERE `id`='$id' and `id`='$serv'");
    		 break;
    		 }
    ?>

    Народ зацените мой код плиз на предмет говнокода, и если чето не так то дайте совет . Этот код для админки добавления товаров. Есть 4 типа категорий, товар с одной ценой, с двумя, с тремя, и товар с двумя картинками. В зависимости от типа категории делаем запрос к базе

    frie, 21 Июня 2011

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    protected function readConfig($configPath) {
        $ini = parse_ini_file($configPath);
        foreach ($ini as $key => $value) {
            $config[$key] = $value;
        }
        return $config;
    }

    xarper, 21 Июня 2011

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

    +150

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $black = "eval|file_get_contents|mysql_(.*?)|include|require|readfile|show_source|highlight|import_request_variables|extract|parse_str|assert|passthru|exec|system|shell_exec|proc_open|fopen|echo";
    
    if(preg_match("#\<\?(.*?)($black)(.*?)\?\>#i", $template)){
    exit ("1");
    break;
    }

    substr, 20 Июня 2011

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

    +147

    1. 1
    2. 2
    3. 3
    if ($a = 1) {
    	...бла-бла-бла
    }

    nislova, 20 Июня 2011

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

    +156

    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
    <?php 
    	if(isset($_GET["status"])) {
    		//Определяем переменные
    		$user_id = $_GET['user_id'];
    		$operator_id = $_GET['operator_id'];
    		$smsid = $_GET['smsid'];
    		$operator_id_str = $_GET['operator_id_str'];
    		$num = $_GET['num'];
    		$msg_trans = $_GET['msg_trans'];
    		$msg = $_GET['msg'];
    		$cost_rur = $_GET['cost_rur'];
    		$ratepoints = $cost_rur; //Рейтинг = стоимость смс
    		
    		//Подключаемся к бд
    		$dblocation = "localhost";	 // Имя сервера
    		$dbuser = "****";          // Имя пользователя
    		$dbpasswd = "******";            // Пароль
    		$dbname = "******"; //Имя бд
    		$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
    		if (!$dbcnx) {
    			  echo("Не удалось установить соеденение");
    			  exit();
    		} else  {
    						if (!@mysql_select_db($dbname, $dbcnx)) {
    							  echo  "База данных недоступна <br />" ;
    							  exit();
    						} else {
    							//Проверяем зарегестрирован ли пользователь
    							$changeuser = @mysql_query("SELECT * FROM jos_users WHERE  username='$user_id'");
    							if(@mysql_num_rows($changeuser) > 0) {
    							//Пользователь зарегестрирован
    								@mysql_query("INSERT INTO sms (operator_id, operator_id_str, user_id, smsid, num, msg_trans, msg, cost_rur) VALUES ('$operator_id','$operator_id_str','$user_id','$smsid','$num','$msg_trans','$msg','$cost_rur')"); //Добавляем смс
    								@mysql_query("UPDATE jos_users SET rate = rate +1 WHERE username='$user_id'"); //Увеличиваем рейтинг
    								@mysql_query("UPDATE jos_users SET sms = sms +1 WHERE username='$user_id'"); //Увеличиваем кол-во смс
    								$rate = @mysql_fetch_array(@mysql_query("SELECT rate FROM jos_users WHERE username='$user_id'"));
    								echo "SMS Send OK rate +1 your rate: ".$rate['rate']."";
    							} else {
    							/*Пользователь не зарегестрирован,
    							Регестрируем пользователя*/
    							$regdate = date("Y-m-d  H:i:s");
    							
    							//Генерируем пароль
    							$pass = rand(10000, 99999);
    							$sqlpass = md5($pass);
    							
    							//Добавляем пользователя
    								@mysql_query("INSERT INTO jos_users (name, username, password, usertype, gid, registerDate, lastvisitDate) VALUES ('$user_id', '$user_id', '$sqlpass', 'Registered', '18', '$regdate', '$regdate')");
    								$getnewuserid = @mysql_fetch_array(@mysql_query("SELECT id FROM jos_users WHERE username='$user_id'"));
    								@mysql_query("INSERT INTO jos_core_acl_aro (section_value, value, order_value, name, hidden) VALUES ('users', '{$getnewuserid['id']}', '0', '$user_id', '0')");
    								$getaro_id = @mysql_fetch_array(@mysql_query("SELECT id FROM jos_core_acl_aro WHERE name='$user_id'"));
    								@mysql_query("INSERT INTO jos_core_acl_groups_aro_map (group_id, aro_id) VALUES ('18', '{$getaro_id['id']}')");
    								
    								@mysql_query("INSERT INTO sms (operator_id, operator_id_str, user_id, smsid, num, msg_trans, msg, cost_rur) VALUES ('$operator_id','$operator_id_str','$user_id','$smsid','$num','$msg_trans','$msg','$cost_rur')"); 
    								@mysql_query("UPDATE jos_users SET rate = rate +1 WHERE username='$user_id'");
    								@mysql_query("UPDATE jos_users SET sms = sms +1 WHERE username='$user_id'");
    								$rate = @mysql_fetch_array(@mysql_query("SELECT rate FROM jos_users WHERE username='$user_id'"));
    								echo "SMS Register complete. Login: ".$user_id." Pass: ".$pass." Your rate: ".$rate['rate']."";
    							}
    									}
    			}
    	}
    ?>

    phplamer, 20 Июня 2011

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

    +163

    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
    function retPercByAct($num,$economy) { //50% discount => economy=0 => 15%
      $t='15/5 0-49,
      16/6 50-100,
      17/7 101-200,
      18/8 201-350,
      19/9 351-500,
      20/10 601-1000,
      21/11 1001-500000,';
      $t=explode(',',$t);
      foreach($t as $k=>$v) {
        $v=trim($v);
        list($perc,$nums)=explode(' ',$v);
        $nums=explode('-',$nums);
        if($nums[0]<=$num && $nums[1]>=$num) {
          $perc=explode('/',$perc);
          if(!$economy) $percR=$perc[0]; else $percR=$perc[1];
          break;
        }
      }
      return $percR;
    }

    Вот, встретилось в поддерживаемом мной проекте.

    segoddnja, 20 Июня 2011

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