- 1
- 2
- 3
$tags = explode(",", $item['tags']);
$tags = array_map("trim",$tags);
$tags = implode(", ",$tags);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+155
$tags = explode(",", $item['tags']);
$tags = array_map("trim",$tags);
$tags = implode(", ",$tags);
+160
if($this->rollbackFilter == 3) $this->draftId ? $this->rollbackFilter : 0;
бессмысленный и беспощадный код
+82
Stertor, TThreadList - список указателей и предназначен для хранения TThread.
Для хранения объектов используйте TObjectList, там есть метод IndexOf
который сравнивает объекты списка, наследуйте свой класс от его и перепишите методы на свой лад с контролем дубликатов.
Так говорил Лажаратустра.
+141
//index.php
die('+php works');
вся суть PHP в одной строчке
+129
/*
* Пример программы шифрующей данные симметрично по ключу.
*
* Параметры командной строки:
*
* /program_path [source file path] [destenation file path] [key] [type]
*
* [key] - кодовое слово длинной не более 255 символов.
* [key] - принимает два параметра cript и uncript (шифровать/расшифровать)
*
* Пример использования аргументов:
*
* "/home/aleksandr/Рабочий стол/Крипт/s_cript" "/home/aleksandr/Рабочий стол/Крипт/simple_file_1.txt" "/home/aleksandr/Рабочий стол/Крипт/simple_file_2.txt" simplekey cript
* "/home/aleksandr/Рабочий стол/Крипт/s_cript" "/home/aleksandr/Рабочий стол/Крипт/simple_file_2.txt" "/home/aleksandr/Рабочий стол/Крипт/simple_file_3.txt" simplekey uncript
*
* :P
*
*/
#include <stdio.h>
#include <limits.h>
#include <string.h>
void cript_uncript(FILE* src_fp, FILE* dst_fp, char* key_X, char* block, _Bool type)
{
unsigned char i, real;
while((real = fread(block, sizeof(char), UCHAR_MAX, src_fp)) > 0){
for(i = 0; i < real; i++){
if(type == 0)
block[i] = block[i] + key_X[i];
else if(type == 1)
block[i] = block[i] - key_X[i];
}
fwrite(block, sizeof(char), real, dst_fp);
}
}
void generate_key(char* key, char* key_X){
unsigned char len, i, n = 0;
len = strlen(key) - 1;
for(i = 0; i < UCHAR_MAX; i++) {
key_X[i] = key[n];
if(n++ == len) n = 0;
}
}
int main(int argc, char* argv[]){
FILE* src_fp;
FILE* dst_fp;
char key[UCHAR_MAX], block[UCHAR_MAX], key_X[UCHAR_MAX], s[UCHAR_MAX];
char src_path[1024], dst_path[1024];
if(argc < 4){
puts("not enough arguments\n");
return -1;
}
else{
strcpy(src_path, argv[1]);
strcpy(dst_path, argv[2]);
strcpy(key, argv[3]);
strcpy(s, argv[4]);
}
if((src_fp = fopen(src_path, "rb")) != NULL){
if((dst_fp = fopen(dst_path, "wb")) != NULL){
generate_key(key, key_X);
if(strcmp(s, "cript") == 0)
cript_uncript(src_fp, dst_fp, key_X, block, 0);
if(strcmp(s, "uncript") == 0)
cript_uncript(src_fp, dst_fp, key_X, block, 1);
}
else return -1;
fclose(src_fp);
}
else return -1;
fclose(dst_fp);
Пример программы шифрующей данные симметрично по ключу
+149
if (!class_exists($module, false))
{
// Get content from php file
$filepath = _PS_MODULE_DIR_.$module.'/'.$module.'.php';
$file = trim(file_get_contents(_PS_MODULE_DIR_.$module.'/'.$module.'.php'));
if (substr($file, 0, 5) == '<?php')
$file = substr($file, 5);
if (substr($file, -2) == '?>')
$file = substr($file, 0, -2);
// If (false) is a trick to not load the class with "eval".
// This way require_once will works correctly
if (eval('if (false){ '.$file.' }') !== false)
require_once( _PS_MODULE_DIR_.$module.'/'.$module.'.php' );
else
$errors[] = sprintf(Tools::displayError('%1$s (parse error in %2$s)'), $module, substr($filepath, strlen(_PS_ROOT_DIR_)));
}
Это оригинал кода из знаменитого Prestashop ...
Попросили написать модуль. Долго мучался, почему валидный код не работает. Потом нашел.
Смысл логики в строках 13-17 : мы не хотим принимать файлы модулей с eval функцией.
Поэтому мы сначала проверяем, есть ли eval в файле.
Как проверяем?
А давайте его просто выполним!
Если выполнится - тогда - require_once
В общем я О....ЕЛ! Других слов просто нет.
Мало того, так еще нужно следить, чтобы ваш файл модуля был валидным для eval функции.
Иначе - Parse error: syntax error ...
−124
Procedure mes(aVal) export
Message(aVal);
endProcedure
function eqStr(a,b) export
result=false;
return ВРЕГ(TrimAll(a))=ВРЕГ(TrimAll(b));
if ВРЕГ(TrimAll(a))=ВРЕГ(TrimAll(b)) then
result=true;
endif;
mes(result);
return result;
endfunction
Форматирование не менял.
1. Зачем вызывать процедуру "mes", где выводится только сообщение. Когда вывесли сообщение можно там же.
2. В функции eqStr никогда не выполнится условие и вызов процедуры "mes".
+132
У МИНЯ ЕСТЬ АЙФОН 5 И БАЛЬШОЙ ДОМ В МАЙНКРАВТЕ А ЧИВО ДАБИЛСЯ ТЫ?
Я БАГАТ И УСПЕШОН
+135
Byte[] content = setting.RecipientType == ReportRecipientType.A?
Processor.Process(Encoding.ASCII.GetBytes(report.Value),"A",String.Empty) :
setting.RecipientType == ReportRecipientType.B || setting.RecipientType == ReportRecipientType.BX?
Processor.Process (Encoding.ASCII.GetBytes(report.Value), "B", String.Empty) :
setting.RecipientType == ReportRecipientType.C?
Processor.Process (Encoding.UTF8.GetBytes(report.Value), "C", String.Empty) :
setting.RecipientType == ReportRecipientType.D?
Processor.Process (Encoding.UTF8.GetBytes(report.Value), "D", String.Empty) :
Processor.Process (Encoding.UTF8.GetBytes(report.Value), filename, DateTime.Now, setting.data);
Имена переменных и методов обфусцированы, но суть не в них.
Какой сумрачный гений родил такую управляющую структуру?
+138
if (newGame) resources.free();
s = FILENAME + 3;
setLocation(); load(s);
loadDialog.process();
try { setGamerColor(RED); }
catch(Exception e) { reset(); }
while (notReady) { objects.make();
if (resourceNotFound) break; }
byte result; // сменить на int!
music();
System.out.print("");
Читать с выражением!