- 1
- 2
- 3
- 4
- 5
GNET::ChatBroadCast::~ChatBroadCast(&cbc);
}
else if ( v9 > 9 && v9 == 14 )
{
v4 = this->roleid;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+140
GNET::ChatBroadCast::~ChatBroadCast(&cbc);
}
else if ( v9 > 9 && v9 == 14 )
{
v4 = this->roleid;
Декомпилил тут игруху, а там такое в псевдокоде.
−93
- facade.registerCommand(<enterprise>Constants.CUT_PUST_TRACKS_COMMAND, CutPustTracksCommand);
+ facade.registerCommand(<enterprise>Constants.CUT_PUST_TRACKS_COMMAND, CutPasteTracksCommand);
Ну, почти.
+51
DWORD getDirectoryIndex()
{
STATIC_OBJECT_ATTRIBUTES(oa, "\\");
HANDLE hFile;
DWORD ObjectTypeIndex = 0;
if (0 <= ZwOpenDirectoryObject(&hFile, DIRECTORY_QUERY, &oa))
{
NTSTATUS status;
PVOID buf = 0, stack = alloca(guz);
DWORD cb = 0, rcb = 0x10000;
do
{
if (cb < rcb) cb = RtlPointerToOffset(buf = alloca(rcb - cb), stack);
if (0 <= (status = ZwQuerySystemInformation(SystemExtendedHanfleInformation, buf, cb, &rcb)))
{
PSYSTEM_HANDLE_INFORMATION_EX pshti = (PSYSTEM_HANDLE_INFORMATION_EX)buf;
if (ULONG NumberOfHandles = (ULONG)pshti->NumberOfHandles)
{
PSYSTEM_HANDLE_TABLE_ENTRY_INFO_EX Handles = pshti->Handles;
ULONG_PTR UniqueProcessId = GetCurrentProcessId();
do
{
if (Handles->UniqueProcessId == UniqueProcessId && Handles->HandleValue == (ULONG_PTR)hFile)
{
ObjectTypeIndex = Handles->ObjectTypeIndex;
break;
}
} while (Handles++, --NumberOfHandles);
}
}
} while (STATUS_INFO_LENGTH_MISMATCH == status);
ZwClose(hFile);
}
return ObjectTypeIndex;
}
ZOBJECT_ALL_TYPES_INFORMATION()
{
_TypeInformation = 0, _NumberOfTypes = 0;
if (DWORD DirectoryTypeIndex = getDirectoryIndex())
{
PVOID stack = alloca(guz);
OBJECT_ALL_TYPES_INFORMATION* poati = 0;
DWORD cb = 0, rcb = 0x2000;
NTSTATUS status;
do
{
if (cb < rcb)
{
cb = RtlPointerToOffset(poati = (OBJECT_ALL_TYPES_INFORMATION*)alloca(rcb - cb), stack);
}
if (0 <= (status = ZwQueryObject(0, ObjectAllTypeInformation, poati, cb, &rcb)))
{
if (DWORD NumberOfTypes = poati->NumberOfTypes)
{
if (OBJECT_TYPE_INFORMATION* TypeInformation = (OBJECT_TYPE_INFORMATION*)LocalAlloc(0, rcb))
{
_NumberOfTypes = NumberOfTypes;
_TypeInformation = TypeInformation;
STATIC_UNICODE_STRING_(Directory);
OBJECT_TYPE_INFORMATION* pti = poati->TypeInformation;
PWSTR buf = (PWSTR)(TypeInformation + NumberOfTypes);
int Index = 0;
do
{
if (RtlEqualUnicodeString(&Directory, &pti->TypeName, TRUE))
{
_firstObjectTypeIndex = DirectoryTypeIndex - Index;
}
DWORD Length = pti->TypeName.Length, MaximumLength = pti->TypeName.MaximumLength;
memcpy(buf, pti->TypeName.Buffer, Length);
*TypeInformation = *pti;
TypeInformation++->TypeName.Buffer = buf;
buf = (PWSTR)RtlOffsetToPointer(buf, Length);
pti = (OBJECT_TYPE_INFORMATION*)
(((ULONG_PTR)pti + sizeof(OBJECT_TYPE_INFORMATION) + MaximumLength + sizeof(PVOID)-1) & ~(sizeof(PVOID)-1));
} while (Index++, --NumberOfTypes);
}
}
}
} while (status == STATUS_INFO_LENGTH_MISMATCH);
}
}
ObjectTypeIndex
+158
<?php
/* В настройках кабинета необходимо указать "Проверять md5 на ссылках",
чтобы нельзя было заплатить сумму отличную от заданной в переменной $summa */
$summa=50; //Стоимость доступа к платному разделу, в рублях
$period=60*60*24*2; //Время доступа, в секундах (60 секунд * 60 минут * 24 часа * 2 суток = 172800 секунд). Исчисляется от времени поступления оплаты за код доступа.
$login='demo1'; //Ваше "Имя пользователя" (логин) в системе Onpay.ru
$key='a2su3ig8y'; //Ваш "Секретный пароль для API IN" в системе Onpay.ru
/* Для того, чтобы закрыть доступ к папке, данный код необходимо размещать в индексном файле (index.php) */
$path='http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; //Путь к файлу с этим кодом (определяется автоматически), например: http://onpay.ru/dir/index.php
$access=0; //Запрещаем доступ, по умолчанию (0 = доступ закрыт, 1 = доступ открыт)
$code='';
$error='';
//Функция округления для md5
function to_float($sum) {
if (strpos($sum, ".")) {$sum=round($sum,2);}
else {$sum=$sum.".0";}
return $sum;
}
/* Подключаемся к базе данных, если нажали на кнопку оплатить или ввели код доступа */
if(isset($_POST['pay']) || isset($_POST['code'])) {
$db_host='localhost'; //Хост сервера базы данных (домен или IP-адрес)
$db_user='root'; //Имя пользователя БД
$db_pass=''; //Пароль БД
$db_name='pays'; //Название базы данных
$db_tabl='payments'; //Название таблицы в которой будут храниться платежи
if(!mysql_connect($db_host, $db_user, $db_pass)) {echo 'Невозможно подключиться к серверу баз данных';exit;} //Подключение к серверу баз данных
if(!mysql_select_db($db_name)) {echo 'Не получилось выбрать базу данных '.$db_name;exit;} //Выбор базы данных
}
/* Разбираем данные, отправленные через форму*/
if(isset($_POST['pay'])) { //Если нажали на кнопку покупки кода, то генерируем код, сохраняем его в базу данных и выводим форму оплаты:
if(is_numeric($summa)) { //Если сумма введена корректно
$sql = "INSERT INTO $db_tabl SET ".
"path='$path',".
"sum='$summa',".
"payed=0,".
"date=".time().",".
"ip='".$_SERVER['REMOTE_ADDR']."';"; //Запрос в базу данных на создание новой записи
$result=mysql_query($sql); //Добавляем новую строку в базу данных
if($result) { //Если сохранено в базу данных без ошибок
$id=mysql_insert_id(); //Получаем id записи
$code=$id.substr(time(),-7); //Создаем секретный код - соединяем уникальный номер строки в базе данных (id) и последние 7 знаков текущего времени в секундах (коды доступа не должны повторяться)
$sql = "UPDATE $db_tabl SET code='$code' WHERE id='$id';"; //Запрос в базу данных, для добавления кода доступа
$result=mysql_query($sql); //Сохраняем код в базу данных
if($result) { //Если сохранено в базу данных без ошибок
$sum_for_md5=to_float($summa);
$md5check=md5("fix;$sum_for_md5;RUR;$code;yes;$key"); //Создаем проверочную строку, которая защищает платежную ссылку от изменений
$url="http://secure.onpay.ru/pay/$login?pay_mode=fix&pay_for=$code&price=$summa¤cy=RUR&convert=yes&md5=$md5check&url_success=".$path; //Формируем платежную ссылку
/*Выводим код*/
?><p style="font-size:14pt;color:blue;">Ваш код доступа: <b><?=$code; //Выводим код ?></b> (сохраните его в надежном месте)<?php
/*Выводим форму оплаты*/
?><h1><a target="_blank" href="<?=$url; //Выводим платежную ссылку ?>">Оплатить код доступа:</a></h1>
<iframe src="<?=$url; //Выводим платежную ссылку ?>" width="195" height="600" frameborder=no scrolling=no></iframe><?php
} else unset($_POST['pay']); //Удаляем элемент массива (чтобы выводилась кнопка покупки кода)
} else unset($_POST['pay']);
} else unset($_POST['pay']); //Конец условия if(is_numeric($summa)) { //Если сумма введена корректно
} elseif(isset($_POST['code'])) { //Если ввели код, то проверяем его в базе данных и если верный, то сохраняем в COOKIE
$code=intval($_POST['code']); //Код должен быть целым числом
$sql = "SELECT * FROM $db_tabl WHERE code='$code' AND path='$path' AND payed>=sum AND date>=".time().";"; //Проверка кода
$result=mysql_query($sql); //Сохраняем код в базу данных
if($result) { //Если сохранено в базу данных без ошибок
if($row=mysql_fetch_assoc($result)) { //Если в базе данных найдена строка с введенным кодом для данной директории и он не просрочен, то сохраняем код
$access=1; //Разрешаем доступ
} else $error='Введен неправильный код доступа.';
}
} //
if($access == 0) { //Если доступ запрещен, то выводим форму для покупки или ввода оплаченного кода
?><p style="font-size:14pt;font-weight:bold;">Доступ закрыт.<?php
?><p style="font-size:14pt;font-weight:bold;color:red;"><?=$error; //Выводим ошибки?><?php
if(!isset($_POST['pay'])) { //Если не выведена форма оплаты
?><form method="POST" action="<?=$path; //Выводим путь на который будет отправлена форма (на текущую страницу) ?>">
<input style="font-size:16pt;font-weight:bold;color:red;" type="submit" name="pay" value="Купить доступ до <?=date('H:i:s d.m.Y',time()+$period); //Выводим дату ?> всего за <?=$summa; //Выводим сумму ?> руб.">
</form><?php
}
?><p><form method="POST" action="<?=$path; //Выводим путь на который будет отправлена форма (на текущую страницу) ?>">
<input style="font-size:14pt;" type="text" name="code" value="<?=$code; //Выводим текущий код доступа, при его наличии ?>">
<input style="font-size:14pt;" type="submit" value="Ввести оплаченный код доступа">
</form><?php
exit; //Прекращаем выполнение скрипта и выходим
/*Все, что расположено ниже этой строки - не выводится без верного кода доступа. */
} //Конец условия if($access == 0) { if(isset($_POST['pay'])) {
?>
<h1>Доступ по коду <u><?=$row['code'];?></u> разрешен до <?=date('H:i:s d.m.Y',$row['date']);?></h1>
<p>Получено: <?=$row['payed'];?> руб.
<p>Цена продления: <?=$row['sum'];?> руб.
<p>onpay_id: <?=$row['onpay_id'];?>
<p><a href=" <?=$row['path'];?>">Секретная ссылка</a>
Автор задал на тостере вопрос: "я читал про куки но ничего не понял, дайте готовое решение что бы использовать с моим кодом"
+138
public static byte[] Trim(this byte[] origin_array)
{
int findex = -1, eindex = -1;
bool inseq = false;
if (origin_array[0] != 0x00)
{
if (origin_array[origin_array.Length - 1] != 0x00)
return origin_array;
findex = 0;
}
for (int i = 0; i < origin_array.Length; i++)
{
if (origin_array[i] == 0x00)
{
if (inseq)
continue;
else
inseq = true;
}
else
{
if (inseq)
if (findex == -1)
findex = i;
eindex = i;
}
}
if (findex == eindex)
return new byte[0];
byte[] result_array = new byte[eindex - findex + 1];
Array.Copy(origin_array, findex, result_array, 0, result_array.Length);
return result_array;
}
−98
def down_cast_qobject(tp, obj):
assert obj
assert isinstance(tp, type)
assert issubclass(tp, QObject)
addresses = shiboken.getCppPointer(obj)
assert isinstance(addresses, collections.Iterable)
assert len(addresses)
ptrs = filter(lambda p: p > 0L, addresses)
assert ptrs
ptr = ptrs[0]
assert isinstance(ptr, long)
wrapped = shiboken.wrapInstance(ptr, tp)
assert isinstance(wrapped, tp)
return wrapped
Paranoid_mode = True
−80
Devastator:ark grawl$ sass-convert -F scss -T sass -i -R *.scss
Error: '*.scss' is not a directory
Use --trace for backtrace.
Devastator:ark grawl$ sass-convert -F scss -T sass -i -R .
Devastator:partials grawl$ sass-convert -F scss -T sass -i -R *.scss
Error: 'colors.scss' is not a directory
Use --trace for backtrace.
Devastator:partials grawl$ sass-convert -F scss -T sass -i -R .
convert ./colors.scss
overwrite ./colors.scss
Errno::EISDIR: Is a directory - .
Use --trace for backtrace.
Devastator:partials grawl$ sass-convert -F scss -T sass -i -R
Error: directory required when using --recursive.
Use --trace for backtrace.
sass-convert великолепен
+155
class numArray
{ public $firstNum;
public $lastNum;
function __construct($firstNum, $lastNum)
{
$this->firstNum = $firstNum;
$this->lastNum = $lastNum;
}
function makeArr($firstNum, $lastNum)
{
$ourArr = [];
for ($i=$this->firstNum; $i <=$this->lastNum; $i++) {
$ourArr[]+= $i;
}
return $ourArr;
}
}
class MultipleOf
{
public $num1;
public $num2;
function __construct($num1,$num2)
{
$this->num1 = $num1;
$this->num2 = $num2;
}
function echoMultipleOf($oArr)
{
$trueArr=[];
foreach ($oArr as $key => $value)
{
if (($value%$this->num1 === 0) && ($value%$this->num2 != 0)) {
$trueArr[] += $value;
}
}
echo var_dump($trueArr);
}
}
#Проверка:
$proba1 = new numArray(1,100);
$globalArr1= $proba1->makeArr();
$ask1 = new MultipleOf(3,12);
$ask1->echoMultipleOf($globalArr1);
1. Создать массив чисел от 1 до 100. Вывести все элементы массива, которые кратны 3 и не кратны 12. (ООП головного мозга)
+135
public JsonResult MusicPlayer(DateTime date)
{
var order = OrdersRepository.FindAll().ToList();
int play = 0;
foreach (var item in order)
{
if (item.Date<=date){
var date2 = date.ToString();
return Json(new { date2});
}
return Json(new { play });
}
return Json(new { play });
}
Отправление данных через Json
+73
@SuppressWarnings("unchecked")
private <T> T convert(final String p, final Class<T> type) {
if (p == null) {
return null;
}
if (type == String.class) {
return (T) String.valueOf(p);
} else if (type == Integer.class) {
return (T) Integer.valueOf(p);
} else if (type == Boolean.class) {
return (T) Boolean.valueOf(p);
} else if (type == Double.class) {
return (T) Double.valueOf(p);
} else if (type == Long.class) {
return (T) Long.valueOf(p);
} else if (type == Float.class) {
return (T) Float.valueOf(p);
} else if (type == Short.class) {
return (T) Short.valueOf(p);
} else if (type == Byte.class) {
return (T) Byte.valueOf(p);
}
throw new UnsupportedOperationException(String.format("Cannot convert \"%s\" to %s", p, type));
}
распарсь мне строку...