- 1
Номенклатура
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−160
Номенклатура
Слово гадкое, не то что программа.
+161
public function &entityFactory() {
$entityObject = new stdClass();
return $entityObject;
}
+126
public static bool GetSafeBool(object val, bool defaultVal)
{
//TODO: check functionality
bool result = defaultVal;
try
{
if (val != null)
{
string str = val.ToString().Trim();
// compare ignore case, for performance
result = (0 == string.Compare(str, true.ToString(), true) || str == "1" || str == "-1");
}
}
catch { }
return result;
}
Продолжая тему расовых индусов...
−140
Процедура Кнопка1Нажатие(Элемент)
// Вставить содержимое обработчика.
//орг=элементыформы.организация.Значение;
запрос1=новый запрос;
запрос1.текст=""выбрать * из регистрсведений.регионыорганизаций где регион=&регион"";
запрос1.УстановитьПараметр(""регион"",регион);
выборка=запрос1.Выполнить().Выбрать();
запрос2=новый запрос;
пока выборка.Следующий()цикл
орг=выборка.организация;
//Сообщить(выборка.Количество());
запрос2.Текст=""выбрать * из регистрсведений.сведенияосотруднике где организация=&орг и ""+
""должность=&должн"";
запрос2.УстановитьПараметр(""орг"", орг);
запрос2.УстановитьПараметр(""должн"",должность);
выборка2=запрос2.Выполнить().Выбрать();
если выборка2.Количество()>2 тогда
сообщить(строка(орг )+"" - ""+строка(выборка2.количество()));
конецесли;
конеццикла
КонецПроцедуры
Задание было такое
Написать интерфейс для выборки данных о количестве заместителей генерального директора в каждой организации, работающей в n-й области, где таковых заместителей более двух.
Авторское решение приведено в первозданном виде.
+169
/*
=====================================================
Данный код защищен авторскими правами
=====================================================
Файл: index.php
-----------------------------------------------------
Версия: 1
-----------------------------------------------------
Назначение: минимальные необходимые настройки
=====================================================
*/
if(!defined('SIGELENGINE')){die();}
#[cache configuration flag]
final class _config
{
private $config = array();
function __construct()
{
$this->set();
}
private function set()
{
$this->config['db']['use_buffer'] = 0;
$this->config['db']['show_errors'] = 1;
$this->config['db']['host'] = "...";
$this->config['db']['port'] = "...";
$this->config['db']['name'] = "...";
$this->config['db']['user'] = "...";
$this->config['db']['pass'] = "...";
$this->config['mail']['mailbox'] = array("...", "...", "...");
$this->config['defaults']['mod'] = "controller";
$this->config['defaults']['skin'] = "index";
$this->config['defaults']['debug'] = 0;
#[dynamic configuration]
}
function get()
{
return $this->config;
}
}
+73
final QOrder qSub = new QOrder("qSub");
final Predicate[] filters = getFilters(qSub, null, null);
if (filters.length > 0) {
// conditions.add(Arrays.asList(filters)); // Do not do this.
// The subquery is here so that MySQL doesn't use the wrong index for
// ORDER BY... LIMIT if we directly add the filter by custid/custdept
// to the list of filters, which will make the search very slow.
// Well, perhaps an ugly workaround, and we might want to adjust
// the custid/custdept index in the future... somehow.
conditions.add(q.id.in(QueryDsl.subFrom(qSub).where(filters).list(qSub.id)));
}
Обход косяков конкретной СУБД на уровне ORM. Абстракция, что и говорить.
+157
// если пользователь зашел на www.site.ru,
// удаляем его куки и перенаправляем с www.site.ru на site.ru
// (чтобы куку всегда ставить только на домене третьего уровня)
if (stristr($_SERVER["HTTP_HOST"], 'www.site.ru')) {
setcookie("cookie1", "", time() - 3600);
setcookie("cookie1", "", time() - 3600);
header("Location: http://site.ru/" . $query_string);
die();
}
Нашел в очень старых скриптах. Комменты сохранены.
Доменное имя сайта изменено, названия кук изменены, любые совпадения являются случайными.
+158
<?
$thePrice = $iblockelem[ "PROPERTIES" ][ "PRICE" ][ "VALUE" ];
$thePrice_s = '';
if(strlen(trim($thePrice))>3)
{
$priceArray = str_split($thePrice);
$priceArray = array_reverse($priceArray);
for($i = 1; $i <= count($priceArray); $i++)
{
$thePrice_s.=$priceArray[$i-1];
if(($i%3)==0)
$thePrice_s.=' ';
}
$thePrice = str_split($thePrice_s);
}
echo rtrim(ltrim(implode(array_reverse($thePrice))))
?>
<?=number_format($thePrice,0,"."," ")?>
+159
// ==UserScript==
// @name govnokod.ru new comments mark
// @namespace ('__'X)
// @description govnokod.ru new comments mark for Ctrl+F
// @include http://*.govnokod.ru/*
// @include http://govnokod.ru/*
// ==/UserScript==
function addNewMark()
{
var i, d = document.getElementsByTagName('div');
for (i in d) if (d[i].className == 'entry-comment-wrapper new')
{
d[i].getElementsByTagName('p')[0].getElementsByTagName('a')[1].innerHTML += 'new';
}
}
if (location.hostname.match(/govnokod\.ru$/))
{
if (document.addEventListener)
{
document.addEventListener('DOMContentLoaded', addNewMark(), false);
} else {
window.addEventListener('load', addNewMark(), false);
}
}
//* OR
//* 1) Copypaste into browser @field: javascript:var i,d=document.getElementsByTagName('div');for(i in d)if(d[i].className=='entry-comment-wrapper new')d[i].getElementsByTagName('p')[0].getElementsByTagName('a')[1].innerHTML+='new';void(0);
//* 2) Ctrl+F for '#new'
Накидал только что. Помечает новые посты меткой "#new", можно контролэфить.
Работает только для страниц отдельных ГК, в том числе из мусорки.
Треды до полсотни комментов можно и так оглядеть, если больше - открываю отдельно.
Но всё равно стоит добавить фичу на стороне сервера.
−107
while 2 > 1 do
@command = io.gets();
case @command
when 'version'
puts('0.01 Alpha for developers SUPIRPUPIRSIKRIT');
when 'register, #{@arg}'
@name = @arg;
@name = User.new;
@name.register;
@name = '';
@arg ='';
when 'login, arg '
@user = @arg;
@user.login;
@user = '';
when 'quit'
server.shutdown;
else
puts(@command);
end
end
Извиняюсь за мультипост.
P.S.: как здесь удалять посты?