- 1
return (true == is_break) ? resource : NULL;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+135
return (true == is_break) ? resource : NULL;
Вонъ изъ профессiи!
−366
sub rotate {
my ($filename, $max_entries) = @_;
$max_entries //= 10; # TODO: make infinity available
return if (! -f $filename);
my ($name, $dir, $suffix) = fileparse($filename, qr/\.[^.]*$/);
my %old_files = ();
my $shift_max = 0; # maximum number of file that is going to be rotated
my $glob = File::Spec->catfile($dir, $name . '.*' . $suffix);
for my $file (glob qq/"$glob"/) {
my ($number) = $file =~ /\.(\d+)\Q$suffix\E$/;
$old_files{$number} = $file if (defined $number);
$shift_max++ while (exists $old_files{$shift_max + 1});
}
$shift_max = $max_entries - 1 if ($shift_max >= $max_entries);
# how many files to remove from the end
my $to_remove = scalar(keys %old_files) - $max_entries;
# rename and unlink
for my $number (sort { $b <=> $a } keys %old_files) {
my $file = $old_files{$number};
if ($to_remove-- > 0) {
print "## DEBUG: unlink $file\n";
unlink($file)
or croak('Cannot unlink ' . $file);
} elsif ($number <= $shift_max) {
my $new_name = File::Spec->catfile($dir, $name . '.' . ($number + 1) . $suffix);
print "## DEBUG: rename $file -> $new_name\n";
rename($file, $new_name)
or croak('Cannot rename ' . $file . ' to ' . $new_name);
}
}
my $new_name = File::Spec->catfile($dir, $name . '.1' . $suffix);
print "## DEBUG: rename $filename -> $new_name\n";
rename($filename, $new_name)
or croak('Cannot rename ' . $filename . ' to ' . $new_name);
}
Продолжаем парад велосипедов. Сделал ротацию бекап-архивов :-{
+1
int i=1;
Console.WriteLine((i+null)==null); //True
Console.WriteLine(1+null); //1
Console.WriteLine(null+1); //1
Console.WriteLine((1+null).GetType()); //System.Int32
http://ideone.com/LomfRC
+156
// где то:
$_SESSION['type_school'] = $db->query("SELECT * FROM ou_type ",array(),'kassoc');
// а потом:
$smarty->assign('type_school',$_SESSION['type_school']);
//и в шаблоне:
<td>{$type_school[$v.base_type].type_name}</td>
$v.base_type - тоже результат запроса. Left/Right/Inner Join - не, не слышал...
А потом: чёта проект тормозит...
Я так подозреваю кто то таким методом оптимизацию и кеширование сделал, ну чтобы бд лишний раз не грузить.. Не, ну, а чё, зачем каждый раз базу данных мучить при открытии одной! странички со списком *****, давайте одну таблицу-справочник из бд откопируем каждому пользователю в его сессию отдельно и будем читать его при каждом session_start даже если на текущей странице нам этот справочник не нужен.
+156
// Активация заявки (мало ли, пригодиться =) )
if($_GET['o'] == 'activate') {
if($zayavka = $GLOBALS['db']->GetRow("SELECT * FROM `".DB_PREFIX."_pan_zayavki` WHERE `id` = '".intval($_GET['zid'])."'")) {
// Если заявка на админку
if($zayavka['type'] !== 'unban') {
$type = $GLOBALS['db']->GetRow("SELECT
*
FROM
`".DB_PREFIX."_pan_types`
WHERE
`srvgid`= '".$zayavka['type']."'");
$period = time() + ($zayavka['period'] * 86400);
$aid = $userbank->AddAdmin($zayavka['nick'], $zayavka['steamid'], $zayavka['password'], $zayavka['e-mail'], '-1', '', $type['srvgid'], '', '', '', $period);
// Удаляем левые админки
$GLOBALS['db']->Execute("DELETE FROM `".DB_PREFIX."_admins_servers_groups` WHERE `admin_id` = '".$aid."'");
// И задаём ему новые админки на выбранных серверах
$zservers = explode(',',$zayavka['server_id']);
foreach($zservers AS $s)
{
if($s == '') { continue; }
$pre = $GLOBALS['db']->Prepare("INSERT INTO ".DB_PREFIX."_admins_servers_groups (admin_id,group_id,srv_group_id,server_id) VALUES (?,?,?,?)");
$GLOBALS['db']->Execute($pre,array($aid,
0,
-1,
(int)$s));
}
if(isset($GLOBALS['config']['config.enableadminrehashing']) && $GLOBALS['config']['config.enableadminrehashing'] == 1)
{
// Отправляем на сервера sm_rehash
echo '<script>ShowRehashBox("'.$zayavka['server_id'].'", "Добавление админа", "<b>Пожалуйста, не закрывайте и не обновляйте страницу</b><br />Обновление админов на серверах", "green", "index.php?p=admin&c=zayavki");TableReload();</script>';
}
else
{
echo '<script>ShowBox("Админ добавлен", "Админ сервера успешно добавлен", "green", "index.php?p=admin&c=zayavki");TableReload();</script>';
}
}
// Если же покупает разбан
else
{
$unban = true;
// Ищем бан
if($ban = $GLOBALS['db'] -> GetRow("SELECT bid FROM `".DB_PREFIX."_bans` WHERE `bid` = '".$zayavka['password']."' AND `RemoveType` = 'U'"))
{
echo '<script>ShowBox("Игрок разбанен", "Игрок '.$ban['name'].' разбанен ранее", "green", "index.php?p=admin&c=zayavki");TableReload();</script>';
}
else
{
// Разбаниваем игрока
$GLOBALS['db'] -> Execute("UPDATE `".DB_PREFIX."_bans` SET `RemovedBy` = '0', `RemoveType` = 'U' WHERE `bid` = '".$zayavka['password']."'");
echo '<script>ShowBox("Игрок разбанен", "Игрок успешно разбанен", "green", "index.php?p=admin&c=zayavki");TableReload();</script>';
}
}
// Обновляем статус заявки на payd
$GLOBALS['db']->Execute("UPDATE `".DB_PREFIX."_pan_zayavki` SET `payd` = '1' WHERE `id` = '".intval($_GET['zid'])."'");
}
}
// Логфайл
if(isset($_GET['logfile'])) {
if(is_file(INCLUDES_PATH . '/robo1/logs/log-ID-'.intval($_GET['logfile']).'.txt')) {
$filename = file_get_contents(INCLUDES_PATH . '/robo1/logs/log-ID-'.intval($_GET['logfile']).'.txt');
echo nl2br($filename);
echo '<br />';
echo '<div style="width:100%; text-align:center;">
<input type="button" class="btn ok" onClick="document.location.href=\'index.php?p=admin&c=zayavki\'" value="Назад" />
</div>';
PageDie();
}
else
{
echo '<script>ShowBox("Ошибка", "Лог файл не найден", "red", "");</script>';
}
}
+162
function makeRequest(params)
{
var tParams = new Object();
try{
tParams.accepts = params.accepts
}
catch(e){}
try{
tParams.async = params.async
}
catch(e){}
try{
tParams.beforeSend = params.beforeSend
}
catch(e){}
try{
tParams.cache = params.cache
}
catch(e){}
очередной тревел-стартап
http://www.corteos.ru/Scripts/helpers.js
+118
import static com.google.gwt.query.client.GQuery.*;
import com.google.gwt.query.client.Function;
public void onModuleLoad() {
//Hide the text and set the width and append an h1 element
$("#text").hide()
.css("width", "400px")
.prepend("<h1>GwtQuery Rocks !</h1>");
//add a click handler on the button
$("button").click(new Function(){
public void f() {
//display the text with effects and animate its background color
$("#text").as(Effects)
.clipDown()
.animate("backgroundColor: 'yellow'", 500)
.delay(1000)
.animate("backgroundColor: '#fff'", 1500);
}
});
}
Не ГК, но мне показалось забавно.
https://code.google.com/p/gwtquery/
+135
public static byte[] ConvertStringToByteArray(string str)
{
int i, n;
n = str.Length;
byte[] x = new byte[n];
for (i = 0; i < n; i++)
{
x[i] = (byte)str[i];
}
return x;
}
Парни я не знаю баян это или нет, я лично не видел, но сторожилам виднее
+158
function in($param) {
global
$_POST,
$_GET;
preg_match('#([^\[]+)(.*)#',$param,$match);
$match[2]=str_replace('[','["',$match[2]);
$match[2]=str_replace(']','"]',$match[2]);
$param2=eval('return htmlspecialchars(strip_tags($_POST["'.$match[1].'"]'.$match[2].'));');
if($param2=='' && $match[2]=='') {
$param2=eval('return htmlspecialchars(strip_tags($_GET["'.$match[1].'"]));');
}
return $param2;
}
Функция для фильтрации входящих переменных.
+62
wchar_t c1 =
(wchar_t)LOWORD(::CharUpperW((LPWSTR)(DWORD_PTR) MAKELONG(*i1, 0)));
Шиндовс, штроки, штрадания
http://llvm.org/bugs/show_bug.cgi?id=20712