- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
mTr.StartTransaction;
mdsMaters.DisableControls;
DBGridEh1.SaveBookmark;
try
DBGridEh1.RestoreBookmark;
mdsMaters.EnableControls;
[.... обход датасета ....]
finally
mTr.Commit;
end;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+92.1
mTr.StartTransaction;
mdsMaters.DisableControls;
DBGridEh1.SaveBookmark;
try
DBGridEh1.RestoreBookmark;
mdsMaters.EnableControls;
[.... обход датасета ....]
finally
mTr.Commit;
end;
Как известно, перед обходом датасета нужно делать DisableControls, а главное, не забыть вызвать EnableControls.
Чем раньше - тем лучше :)
+81.4
/**
* Метод определения валюты.
* Черная магия и костыль.
*/
private int getCurrencyId(int branch, int currency) {
int result = 0;
//branch_id in (4, 5, 11, 20, 26, 60, 61) - наши фирмы
if (branch == 4 || branch == 5 || branch == 11 || branch == 20 ||
branch == 26 || branch == 60 || branch == 61) {
result = 1;
} else {
switch (currency) {
case 1: {//доллары
result = 2;
break;
}
case 2: {//йены
result = 3;
break;
}
case 3: {//евро
result = 4;
break;
}
case 4: {//рубли
result = 1;
break;
}
}
}
return result;
}
+155.6
mpqw("INSERT INTO {$GLOBALS['conf']['db']['prefix']}chat_mess SET uid = (SELECT cu.id FROM {$GLOBALS['conf']['db'] 'prefix']}chat_user as cu WHERE cu.uid = {$GLOBALS['conf']['user']['uid']} AND cu.sess = '{$GLOBALS['conf']['user']['sess']}'), time = ".time().", mess = '".htmlspecialchars($_POST['mess'])."'");
А еще там такие вот запросы
разумеется в одну строчку и экранируется очень хорошо htmlspecialchars
+157.5
if($conf['settings']['del_sess']){
$func = create_function('&$val, $key','$val = strtr(stripslashes($val), array("\\\\"=>"\", \'"\'=>""", "\'"=>"'"));');
array_walk ($get = $_GET, $func);
$post = $_POST;
if (isset($post['pass'])) $post['pass'] = 'hide';
if (isset($post['pass2'])) $post['pass2'] = 'hide';
array_walk ($post, $func);
array_walk ($files = $_FILES, $func);
array_walk ($server = $_SERVER, $func);
$request = serialize(array('$_POST'=>$post, '$_GET'=>$get, '$_FILES'=>$files, '$_SERVER'=>$server));
}
Вот так вот борются с magic_quotes
+147.2
<? global $USER; $user_id = $USER->GetID(); ?>
<?foreach($arResult["ITEMS"] as $arItem):?>
<?if (intval($arItem['PROPERTIES']['PRIORITY_PLACEMENT']['VALUE_ENUM_ID']) > 0) $prior = true; else $prior = false; ?>
<tr class="body_orders_list<?=(($prior)?' prior':'')?><?=$arItem['ACTIVE'] == 'Y'?'':' order-bad'?>">
<td class="name">
<a class="name" href="<?=$arItem["DETAIL_PAGE_URL"];?>"><?=$arItem["NAME"];?></a>
<div class="description"><?=truncate($arItem["DETAIL_TEXT"], 90, "...");?></div>
<strong><?=GetMessage("TYPE_WORK");?>:</strong> <?=$arItem["DISPLAY_PROPERTIES"]["TYPE_OF_WORK"]["DISPLAY_VALUE"];?><br />
<strong><?=GetMessage("SPECIALIZATION");?>:</strong> <?=$arItem["DISPLAY_PROPERTIES"]["EXPERTISE"]["DISPLAY_VALUE"];?><br />
<strong><?=GetMessage("CITY");?>:</strong> <?=$arItem["DISPLAY_PROPERTIES"]["CITY"]["DISPLAY_VALUE"];?><br />
<? if ($arItem["CREATED_BY"] == $user_id): ?>
<?if($arItem['ACTIVE'] == 'Y'):?>
<a id="element<?=$arItem['ID']?>" onclick="if(confirm('Вы уверены, что хотите снять с размещения заказ, без возможности восстановления?')){ deactivate_element(<?=$arItem['ID']?>); } return false;" href="#">Снять с размещения</a><br />
<a class="add_offer" href="#"><?=GetMessage("EDIT_ORDER");?></a><br /><br />
<a href="/services/priority.php?ord=<?=$arItem['ID']?>">Платное размещение</a>
<?else: echo showError('Заказ снят с размещения.'); endif;?>
<? else: ?>
<a class="add_offer" href="<?=$arItem["DETAIL_PAGE_URL"];?>"><?=GetMessage("ADD_PROPOSAL");?></a>
<? endif; ?>
</td>
<td class="date_create"><?=substr($arItem["DATE_CREATE"], 0, 10);?></td>
<td class="budget"><?=$arItem["DISPLAY_PROPERTIES"]["BUDGET"]["DISPLAY_VALUE"];?> <?=(strlen($arItem["DISPLAY_PROPERTIES"]["BUDGET"]["DISPLAY_VALUE"]) > 0)?'руб.':'';?></td>
<td class="offers"><a class="blue" href="<?=$arItem["DETAIL_PAGE_URL"];?>"><?=(strlen($arItem["PROPERTIES"]["FORUM_MESSAGE_CNT"]["VALUE"]) > 0 ? $arItem["PROPERTIES"]["FORUM_MESSAGE_CNT"]["VALUE"] : "0");?></a></td>
<td class="employer">
</td>
</tr>
<?endforeach;?>
в продолжение говна номер 2120
+150.2
<?php
...
$markers = array("~");
$newcode = array("<br>");
$output = str_replace($markers, $newcode, $source);
...
?>
А вот так канадские кодеры заменяют функцию nl2br() в textarea
=)
+131.2
public static DataTable DeserilazeDataTable(string schema, string data)
{
DataTable tbl = new DataTable();
if (!string.IsNullOrEmpty(schema))
using (Stream stream = new MemoryStream())
{
byte[] bufer = GetBytes(schema);
stream.Write(bufer, 0, bufer.Length);
stream.Position = 0;
tbl.ReadXmlSchema(stream);
}
if (!string.IsNullOrEmpty(data))
using (Stream stream = new MemoryStream())
{
byte[] bufer = GetBytes(data);
stream.Write(bufer, 0, bufer.Length);
stream.Position = 0;
tbl.ReadXml(stream);
}
return tbl;
}
public static byte[] GetBytes(string str)
{
if (string.IsNullOrEmpty(str))
return new byte[0];
char[] ch = str.ToCharArray();
byte[] bufer = new byte[ch.Length];
for (int i = 0; i < ch.Length; i++)
bufer[i] = (byte)ch[i];
return bufer;
}
//также имеются методы для сериализации, работающие также
public static string SerilazeDataTable(DataTable table)
public static string SerilazeDataTableShame(DataTable table)
public static string GetString(byte[] bufer)
Вот такой десериализатор таблицы в Xml нашел в проэкте.
+75.4
<many-to-one name="nurseSex" entity-ref="sex" title="Пол ухаживающего"/>
Атрибут "title" развеял все мои фантазии о сексе с медсестрой :)
+161.2
<?php
for($i=1;$i<999999999999;) {
$link = "http://wjfs.net.ru/bash.php";
$otvet=connect($link);
$begin = "<qwe> ";
$begin = strpos($otvet, $begin) + strlen($begin);
$end = " </qwe>";
$end = strpos($otvet, $end, $begin);
$bash = substr($otvet, $begin, $end - $begin);
////////////////////////////////////////////////////////
$link = "http://vkontakte.ru/profile.php";
$otvet=connect($link, $cookie);
$begin = "Друзья <span>(";
$begin = strpos($otvet, $begin) + strlen($begin);
$end = ")</span></h2></div>";
$end = strpos($otvet, $end, $begin);
$drugi = substr($otvet, $begin, $end - $begin);
$begin = "Друзья он-лайн <span>(";
$begin = strpos($otvet, $begin) + strlen($begin);
$end = ")</span>";
$end = strpos($otvet, $end, $begin);
$drugionl = substr($otvet, $begin, $end - $begin);
////////////////////////////////////////////////////////
$link = 'http://vkontakte.ru/mail.php';
$otvet=connect($link, $cookie);
$begin = 'В Вашем ящике ';
$begin = strpos($otvet, $begin) + strlen($begin);
$end = ' ';
$end = strpos($otvet, $end, $begin);
$mailpol = substr($otvet, $begin, $end - $begin);
$link = 'http://vkontakte.ru/mail.php?out=1';
$otvet=connect($link, $cookie);
$begin = 'Вы отправили ';
$begin = strpos($otvet, $begin) + strlen($begin);
$end = ' ';
$end = strpos($otvet, $end, $begin);
$mailotp = substr($otvet, $begin, $end - $begin);
$mail = $mailotp+$mailpol;
//////////////////////////////////////////////////////
$link="http://vkontakte.ru/feed.php";
$res=connect($link, $cookie);
$begin = 'messages{count=';
$begin = strpos($res, $begin) + strlen($begin);
$end = '}';
$end = strpos($res, $end, $begin);
$pm = substr($res, $begin, $end - $begin);
$begin = 'photos{count=';
$begin = strpos($res, $begin) + strlen($begin);
$end = '}';
$end = strpos($res, $end, $begin);
$vds = substr($res, $begin, $end - $begin);
$begin = 'groups{count=';
$begin = strpos($res, $begin) + strlen($begin);
$end = '}';
$end = strpos($res, $end, $begin);
$gp = substr($res, $begin, $end - $begin);
$begin = 'friends{count=';
$begin = strpos($res, $begin) + strlen($begin);
$end = '}';
$end = strpos($res, $end, $begin);
$pf = substr($res, $begin, $end - $begin);
$begin = 'videos{count=';
$begin = strpos($res, $begin) + strlen($begin);
$end = '}';
$end = strpos($res, $end, $begin);
$vd = substr($res, $begin, $end - $begin);
//////////////////////////////////////////////////////
$link = 'http://vkontakte.ru/feed2.php';
$otvet=connect($link, $cookie);
$begin = 'questions":{"count":';
$begin = strpos($otvet, $begin) + strlen($begin);
$end = '}';
$end = strpos($otvet, $end, $begin);
$questions = substr($otvet, $begin, $end - $begin);
$begin = '"gifts":{"count":';
$begin = strpos($otvet, $begin) + strlen($begin);
$end = '}';
$end = strpos($otvet, $end, $begin);
$gifts = substr($otvet, $begin, $end - $begin);
$begin = '"notes":{"count":';
$begin = strpos($otvet, $begin) + strlen($begin);
$end = '}';
$end = strpos($otvet, $end, $begin);
$notes = substr($otvet, $begin, $end - $begin);
$begin = '"opinions":{"count":';
$begin = strpos($otvet, $begin) + strlen($begin);
$end = '}';
$end = strpos($otvet, $end, $begin);
$opinions = substr($otvet, $begin, $end - $begin);
$begin = '"events":{"count":';
$begin = strpos($otvet, $begin) + strlen($begin);
$end = '}';
$end = strpos($otvet, $end, $begin);
$events = substr($otvet, $begin, $end - $begin);
//////////////////////////////////////////////////////
$link = 'http://vkontakte.ru/matches.php';
$otvet = connect($link, $cookie);
Ниибаццо оптимизация
−867.1
PREPARE `@pr_statement` FROM "
SELECT `torrents_full`.`torrent_id`,`torrents_full`.`torrent_tracker`,
`torrents_full`.`torrent_href`,`torrents_full`.`torrent_name`,`torrents_full`.`torrent_author`,`torrents_full`.`torrent_files`,
`torrents_full`.`torrent_img`,`torrents_full`.`torrent_size`,`torrents_full`.`torrent_info`,`torrents_full`.`torrent_date`,
`torrents_full`.`user_name`,`torrents_full`.`user_class`,`torrents_full`.`user_href`,? AS `count` FROM
(SELECT `torrents`.`torrent_id`,`torrents`.`torrent_tracker`,
`torrents`.`torrent_href`,`torrents`.`torrent_name`,`torrents`.`torrent_author`,`torrents`.`torrent_files`,
`torrents`.`torrent_img`,`torrents`.`torrent_size`,`torrents`.`torrent_info`,`torrents`.`torrent_date`,
`users`.`user_name`,`users`.`user_class`,`users`.`user_href`
FROM `torrents` LEFT JOIN `users` ON `users`.`user_id` = `torrents`.`torrent_author`
WHERE `torrents`.`torrent_tracker` IN (?,1,2,3,4,5,6,7) AND (MATCH(`torrents`.`torrent_name`) AGAINST(?)
OR `torrents`.`torrent_name` LIKE ?)) as `torrents_full`
WHERE `torrents_full`.`torrent_name` LIKE ? ORDER BY `torrents_full`.`torrent_date` LIMIT 50";
SET @torr_tracker = `torr_tracker`;
SET @torr_fullsearch = `torr_fullsearch`;
SET @torr_search = `torr_search`;
EXECUTE `@pr_statement` USING @torr_count,@torr_tracker,@torr_fullsearch,@torr_search,@torr_search;
DEALLOCATE PREPARE `@pr_statement`;
это у меня такой эффективный поиск по БД))))