- 1
- 2
- 3
- 4
- 5
<?php
$count = 0;
foreach($mainResult2 as $r) $count++;
if ($count > 0) echo '...';
?>
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+166
<?php
$count = 0;
foreach($mainResult2 as $r) $count++;
if ($count > 0) echo '...';
?>
проверка не пустой ли массив(объект?).
+164
<?php
include "dbconfig.php";
$db = mysql_connect("$dbhost","$dbuser","$dbpass");
mysql_select_db("$dbname",$db);
$mysqlsite = mysql_query("SELECT * FROM site WHERE id='1'");
$site = mysql_fetch_array($mysqlsite);
$titlesite = $site['title'];
$titlesite = iconv("CP1251", "UTF-8", "$titlesite");
$descriptionsite = $site['description'];
$descriptionsite = iconv("CP1251", "UTF-8", "$descriptionsite");
$keywordssite = $site['keywords'];
$keywordssite = iconv("CP1251", "UTF-8", "$keywordssite");
$contsite = $site['cont'];
$contsite = iconv("CP1251", "UTF-8", "$contsite");
?>
"CMS" Хостинг провайдера ultrahost.com.ua D
+151
<?php include ("blocks/bd.php");
if (isset($_POST['author']))
{
$author = $_POST['author'];
}
if (isset($_POST['tetx']))
{
$text = $_POST['text'];
}
if (isset($_POST['pr']))
{
$pr = $_POST['pr'];
}
if (isset($_POST['sub_com']))
{
$sub_com = $_POST['sub_com'];
}
if (isset($_POST['id']))
{
$id = $_POST['id'];
}
if (isset($sub_com))
{
if (isset($author)) {trim($author); }
else {$author = "";}
if (isset($text)) {trim($text); }
else {$text = "";}
if (empty($author) or empty($text))
{
exit ("<p>Вы ввели не всю информацию ,вернитесь назад и заполните все поля. <br> <input name='back' type='button' value='Вернитесь назад'onclick='javascript:self.back();'>");
}
$author = stripslashes($author);
$text = stripslashes($text);
$author = htmlspecialchars($author);
$text = htmlspecialchars($text);
$result = mysql_query ("SELECT sum FROM com_settings",$db);
$myrow = mysql_fetch_array($result);
if ($pr == $myrow["sum"])
{
$date = date("Y-m-d");
$result2 = mysql_query ("INSERT INTO comments (post,author,text,date) VALUES ('$id','$author','$text','$date')",$db);
}
else
{
exit ("<p>Вы ввели не вернуюсумму цыфр с картинки на пебедущей странице. <br> <input name='back' type='button' value='Вернитесь назад'onclick='javascript:self.back();'>");
}
}
?>
мне тут надо post прировнть к id чтобы коментарий добивился в то место где надо
в 54 строке мне выдет вот такую ошибку:
Notice: Undefined variable: id in z:\home\localhost\www\phpblog\comment.ph p on line 54
скажипо пож что тут справить
+162
# Если ошибка при авторизации
begin_page("Вход");
echo("<font color='red'>Ошибка при наборе логина или пароля</font>\n");
}
# Форма авторизации
if (!headers_sent())
begin_page("Вход");
Поручили мне отрефакторить систему "Компьютерный класс" и баги в ней пофиксить.
В login.php сразу же гениальнейшая конструкция.
+161
if (!GetCurrentCurrency()) { print $_lang[ErrorGetCurrentCurrency]; mclose(); exit; }
@set_time_limit(0);
$company_name=GetSetting('company_name');
$company_url=GetSetting('company_url');
$billing_url=GetSetting('billing_url');
$support_url=GetSetting('support_url');
$manager_email=GetSetting('manager_email');
$cronAutoSuspend = GetSetting('cronAutoSuspend');
$cronSendAdminEndOrder = GetSetting('cronSendAdminEndOrder');
$cronSendClientBillRemind = GetSetting('cronSendClientBillRemind');
$cronSendClientBillRemindDays = GetSetting('cronSendClientBillRemindDays');
$cronSendClientEndOrderRemind = GetSetting('cronSendClientEndOrderRemind');
$cronSendClientEndOrderRemindDays = GetSetting('cronSendClientEndOrderRemindDays');
$cronSendClientEndOrderDomainRemind = GetSetting('cronSendClientEndOrderDomainRemind');
$cronSendClientEndOrderDomainRemindDays = GetSetting('cronSendClientEndOrderDomainRemindDays');
$cronDeleteBill = GetSetting('cronDeleteBill');
$cronDeleteBillDay = GetSetting('cronDeleteBillDay');
$cronDeleteNeobrabOrdersWithoutBills = GetSetting('cronDeleteNeobrabOrdersWithoutBills');
$cronDeleteNeobrabOrdersDomainsWithoutBills = GetSetting('cronDeleteNeobrabOrdersDomainsWithoutBills');
$cronDeleteOrder = GetSetting('cronDeleteOrder');
$cronDeleteOrderDay = GetSetting('cronDeleteOrderDay');
$cronAutoDelete = GetSetting('cronAutoDelete');
$cronDeleteOrderDomain = GetSetting('cronDeleteOrderDomain');
$cronDeleteOrderDomainDay = GetSetting('cronDeleteOrderDomainDay');
$cronCloseTickets = GetSetting('cronCloseTickets');
$cronCloseTicketsDay = GetSetting('cronCloseTicketsDay');
$cronDeleteTickets = GetSetting('cronDeleteTickets');
$cronDeleteTicketsDay = GetSetting('cronDeleteTicketsDay');
$cronDeleteUserLogs = GetSetting('cronDeleteUserLogs');
$cronDeleteUserLogsDay = GetSetting('cronDeleteUserLogsDay');
$cronDeleteAdminLogs = GetSetting('cronDeleteAdminLogs');
$cronDeleteAdminLogsDay = GetSetting('cronDeleteAdminLogsDay');
$cronSendClientEndOrderShopRemind = GetSetting('cronSendClientEndOrderShopRemind');
$cronSendClientEndOrderShopRemindDays = GetSetting('cronSendClientEndOrderShopRemindDays');
$cronDeleteNeobrabOrdersShopWithoutBills = GetSetting('cronDeleteNeobrabOrdersShopWithoutBills');
$cronDeleteOrderShop = GetSetting('cronDeleteOrderShop');
$cronDeleteOrderShopDay = GetSetting('cronDeleteOrderShopDay');
$cronSendClientEndTestRemind = GetSetting('cronSendClientEndTestRemind');
$cronSendClientEndTestRemindDays = GetSetting('cronSendClientEndTestRemindDays');
$autoRenewEnable=GetSetting("autoRenewEnable");
$autoRenewClientChange=GetSetting("autoRenewClientChange");
$autoRenewDay=GetSetting("autoRenewDay");
$autoRenewDomainDay=GetSetting("autoRenewDomainDay");
$autoRenewShopDay=GetSetting("autoRenewShopDay");
$attachPDFtoBill = GetSetting("attachPDFtoBill");
$cronSendClientEndTestRemind = GetSetting('cronSendClientEndTestRemind');
$cronSendClientEndTestRemindDays = GetSetting('cronSendClientEndTestRemindDays');
$cronAutoDeleteTest = GetSetting('cronAutoDeleteTest');
if ($cronCloseTickets and intval($cronCloseTicketsDay) > 0) {
и так дальше с каждой переменной ~ 1500 строк кода
Равшан,где сериализация?
Где сериализация кодя я тебя спашиваю?!
- Где сериализация, насяльника, где?
+159
<?
session_set_cookie_params(86400);
session_start();
$full_home_path = dirname(__FILE__);
require_once($full_home_path.'/_rootload.php');
if ($do == "logout" and !$pass) {
userLogOut();
Header("Location: billing.php");
exit;
}
if ($dh = opendir($full_home_path)) {
while (($my->xcsd31s = readdir($dh)) !== false) {
if (preg_match("/_rootconfig/ui",$my->xcsd31s) and $my->xcsd31s != "_rootconfig.php") {
$my->azazqwe2a = $my->xcsd31s;
break;
}
}
closedir($dh);
Индусский быдлокод по русски.
Таким мастерски написаным говнокодом пестрит все 8 мегабайт уйобища с гордым названием биллинг.
+159
AddEventHandler("iblock", "OnAfterIBlockElementUpdate", Array("MyClass", "OnAfterIBlockElementUpdateHandler"));
class MyClass
{
// создаем обработчик события "OnAfterIBlockElementUpdate"
function OnAfterIBlockElementUpdateHandler(&$arFields)
{
//привязка элементов (формирование комплектов)
if(CModule::IncludeModule('iblock')){
$id=$arFields['ID'];
$i=0;
$komplekt=array();
$elements=array();
$db_props = CIBlockElement::GetProperty(24, $id, "sort", "asc", Array("CODE"=>"KOMPLEKT"));
while($ar_props = $db_props->Fetch()){
$i++;
$komplekt[$i]=$ar_props["VALUE"];
}
for($j=1; $j<=$i; $j++){
$elements[$komplekt[$j]][0]=$id;
for($k=1; $k<=$i; $k++){
if($komplekt[$j]!=$komplekt[$k]){
$elements[$komplekt[$j]][$k]=$komplekt[$k];
}
}
}
for($z=1; $z<=$i; $z++){
CIBlockElement::SetPropertyValueCode($komplekt[$z], "KOMPLEKT", $elements[$komplekt[$z]]);
}
}
//автоматически добавляем скидку в торговом каталоге
if(CModule::IncludeModule('iblock')&& CModule::IncludeModule('catalog')){
$discount10=array();
$discount15=array();
$discount20=array();
$dbProductDiscounts = CCatalogDiscount::GetDiscountProductsList(
array(),
array(),
false,
false,
array()
);
while ($arProductDiscounts = $dbProductDiscounts->Fetch())
{
if($arProductDiscounts['DISCOUNT_ID']==5){
$discount10[]=$arProductDiscounts['PRODUCT_ID'];
}
if($arProductDiscounts['DISCOUNT_ID']==6){
$discount15[]=$arProductDiscounts['PRODUCT_ID'];
}
if($arProductDiscounts['DISCOUNT_ID']==7){
$discount20[]=$arProductDiscounts['PRODUCT_ID'];
}
}
$db_props2 = CIBlockElement::GetProperty(24, $id, "sort", "asc", Array("CODE"=>"SALE"));
while($ar_props2 = $db_props2->Fetch()){
if(!in_array($id, $discount10) && $ar_props2['VALUE']==66){
$discount10[]=$id;
}
if(in_array($id, $discount10) && $ar_props2['VALUE']==""){
$num=count($discount10);
for($i=0; $i<$num; $i++){
if($discount10[$i]==$id){
unset($discount10[$i]);
}
}
}
if(!in_array($id, $discount15) && $ar_props2['VALUE']==67){
$discount15[]=$id;
}
if(in_array($id, $discount15) && $ar_props2['VALUE']==""){
$num=count($discount15);
for($i=0; $i<$num; $i++){
if($discount15[$i]==$id){
unset($discount15[$i]);
}
}
}
if(!in_array($id, $discount20) && $ar_props2['VALUE']==68){
$discount20[]=$id;
}
if(in_array($id, $discount20) && $ar_props2['VALUE']==""){
$num=count($discount20);
for($i=0; $i<$num; $i++){
if($discount20[$i]==$id){
unset($discount20[$i]);
}
}
}
}
if($discount10){
CCatalogDiscount::Update(5, array("ACTIVE"=>"Y", "PRODUCT_IDS"=>$discount10));
}
else{
CCatalogDiscount::Update(5, array("ACTIVE"=>"N"));
}
if($discount15){
CCatalogDiscount::Update(6, array("ACTIVE"=>"Y", "PRODUCT_IDS"=>$discount15));
}
else{
Оригинальное форматирование кода сохранено. Код до 7-ой строчки - копипаста из документации. Жаль все не влезло, шедевр
+164
$arr = array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
function EtpGetEtpRoleCheckboxes($checked = array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1))
{
$roles = EtpGetEtpRoleArray();
foreach($roles as $key => $role)
$checkboxes .= "<input type=checkbox value='1' name='etp_roles[".$key."]' ".($checked[($key)] > 0 ? 'checked' : '')."> ".$role."<br />";
return substr($checkboxes,0,-6);
}
с array_fill программист был не знаком. И так по всему скрипту. Это к первой строчке.
В функции меня удивило задание имен <input>'ам и value="1".
+165
public function record_db_tool($string) {
$string = (string)$string;
$string = intval($string);
return $string;
}
Видимо это проще, нежели скажем просто «intval(...);»
+166
# Защищаемся от XSS (Для начала хоть как то...)
public function cleener_xss($string) {
$string = @preg_replace('#(<[^>]+?)style[\x00-\x20]*=[\x00-\x20]*[`\'"]*.*?expression[\x00-\x20]*\([^>]*+>#i', '$1>', $string);
$string = @preg_replace('#(<[^>]+?)style[\x00-\x20]*=[\x00-\x20]*[`\'"]*.*?behaviour[\x00-\x20]*\([^>]*+>#i', '$1>', $string);
return $string;
}