- 1
- 2
const TReferenceToConstantStringSlice TFileTransfer::Beginer="<HTML><HEAD><FONT SIZE=6><A HREF='/'>Конфиденциально</A></FONT SIZE></HEAD><BODY><BR>";
const TReferenceToConstantStringSlice TFileTransfer::Ender="</BODY></HTML>";
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+16
const TReferenceToConstantStringSlice TFileTransfer::Beginer="<HTML><HEAD><FONT SIZE=6><A HREF='/'>Конфиденциально</A></FONT SIZE></HEAD><BODY><BR>";
const TReferenceToConstantStringSlice TFileTransfer::Ender="</BODY></HTML>";
Конфиденциально - это я сейчас стер.
+153
//поменяет src картинки на cid и вернет массив с дополнительными секциями тела письма
function convert_image_src($text, &$new_section_arr){
global $_SERVER;
//расчленяем текст на куски по img
$new_src_arr=array();//массив путей к картинкам
$arrTmp=explode("<img", $text);
$explode_str=array("\\\"", "\"", "'");
for($i=1; $i<sizeof($arrTmp); $i++){
$arrTmp2=explode("src=", $arrTmp[$i]);
for($j=1; $j<sizeof($arrTmp2); $j++){
for($k=0; $k<sizeof($explode_str); $k++){
if(substr($arrTmp2[$j], 0, strlen($explode_str[$k]))==$explode_str[$k]){
$arrTmp3=explode($explode_str[$k], $arrTmp2[$j]);
//считать можем только картинки с того же сервера - остальные побоку
if(ref_is_server($arrTmp3[1])){
$old_src_arr[]=$arrTmp3[1];
$new_src_arr[]=convert_url_2_full_server($arrTmp3[1]);
}
}
}
}
}
//теперь формируем новые секции
for($i=0; $i<sizeof($new_src_arr); $i++){
$file_arr=get_file_content($new_src_arr[$i], true);
if(strlen($file_arr[0])>0){
//запоминаем секцию
$new_section_arr[]=$file_arr[0];
//заменяем ссылку на cid
$text=str_replace($old_src_arr[$i], "cid:".$file_arr[1], $text);
}
}
return $text;
}
Супер функция, которая парсит картинки в тексте и заменяет на, как я понял, новые ссылки уже на собственном сервере.
Пока пытался разобраться, наступил когнитивный диссонанс.
−165
Запрос.Текст = ""
//...
ГДЕ
ВЫБОР
КОГДА ЕСТЬNULL(ВТМоделиПоставщика.КодМоделиПоставщика, "") = ""
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ = 0
//...
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если СтрДлина(ВыборкаДетальныеЗаписи.КодМоделиПоставщика) <> 0 Тогда
//...
КонецЕсли;
КонецЦикла;
Масло масляное. Захочешь нарочно такое придумать - не получится.
+153
http://froland.ru/samodel/myart_js1.html
Я хотел бы это развидеть.
+138
// прога у нас многопоточная, данный код выполняется в потоке. Создание и настройка Idhttp прописана в конструкторе потока.
while not terminated do
begin
synchronize(ReadProxy);
if ThreadExit then break;
try
memorystream.Position:=0;
try
idHTTP.Get(linknew,memorystream);
idhttp.disconnect;
except
idhttp.Disconnect;
end;
finally
temp:=memorystreamtostring(memorystream); // если этого не сделать, память будет утекать.
memorystream.clear;
end;
Я нашел способ предотвратить утечки памяти в Indy, при Get-запросе -
многие грешат на Indy, мол, нестабильная она в потоках, провоцирует утечки.
Оказалось, что дело-то в tmemorystream, я его маму бля ебал!!!
−168
Процедура ПараметрНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка=Ложь;
ПараметрВладелец=Справочники.ПараметрыНоменклатуры.ПустаяСсылка();
ТипМетаданных = Метаданные.НайтиПоТипу(ТипЗнч(Элемент.Значение));
ОткрываемаяФорма = ПолучитьФорму(ТипМетаданных.ПолноеИмя()+".ФормаВыбора");
Отборы = Новый Структура("ТипПараметра,Подчинен",ВидНоменклатуры[Элемент.Имя],ПараметрВладелец);
Для Каждого ЭлементСтруктуры из Отборы Цикл
ЭлементОтбора = ОткрываемаяФорма.Отбор.Найти(ЭлементСтруктуры.Ключ);
Если Не ЭлементОтбора = Неопределено Тогда
ЭлементОтбора.Установить(ЭлементСтруктуры.Значение);
КонецЕсли;
КонецЦикла;
ОткрываемаяФорма.НачальноеЗначениеВыбора = Элемент.Значение;
ОткрываемаяФорма.ОткрытьМодально();
ЭтотОбъект[Элемент.Имя] = ОткрываемаяФорма.ТекущийЭлемент.ТекущаяСтрока;
ПараметрПриИзменении(Элемент);
КонецПроцедуры
Процедура НачалоВыбора в конфе одного из клиентов. Что-то смущает, но не могу понять что.
+10
void operator()()
{
for (std::list<SmartPointer<FunctorTriggerParent > >::iterator it = _listFunctorOnTrigger.begin(); it != _listFunctorOnTrigger.end(); ++it)
{
(*it)->operator ()();
}
};
+154
class Icon extends IconBuilder
{
public static function create($type, $white = false)
{
$class = __CLASS__;
return new $class($type, $white);
}
public function getType()
{
return $this->_type;
}
public function getWhite()
{
return $this->_white;
}
}
Код выдернут из Bootstrap.PHP http://allking.ru/bootstrap.php/
Особое внимание уделить функции create и константе __CLASS__
Вопрос: почему не обойтись просто self? В чем магия?
З.Ы.: Пока писал, нашел в доках, что "волшебная" константа содержит так же пространство имен.
Извиняюсь, что не узнал об этом раньше.
Но я все же наложу сюда, с вопросом, даже учитывая всю эту информацию, почему мы не можем обойтись способами, исключающими использование константы?
(все равно получается говнокод, хоть и работающий)
+159
$st=$_GET['st'];
// проверяем допустимый номер категории
if ((((((($st != "1")&($st != "2"))&($st != "3"))&($st != "4"))&($st != "5"))&($st != "6")&($st != "7")&($st != "8")&($st != "0"))) {$st="0";};
// Гениальная реализация отношения многие-ко-многим - по флагу на каждый номер категории, проверяем какой флаг установлен
$zapros = "
SELECT
product.cod,
product.`name`,
sector.s0,
sector.s1,
sector.s2,
sector.s3,
sector.s4,
sector.s5,
sector.s6,
sector.s7,
sector.s8
FROM
product ,
sector
WHERE
product.cod = sector.cod AND sector.s".$st."=1
ORDER BY
product.id ASC
";
Вот такой код мне попался в самописном магазине, который заказали доработать (
+158
$(document).ready(function () {
$("#FollowingChoicesWebpart-ProjectsAndCommunities").hide();
$("#FollowingChoicesWebpart-Sites").hide();
$("#FollowingChoicesWebpart-News").show();
});
$("#FChoices_tab1").click(function () {
$("#FollowingChoicesWebpart-ProjectsAndCommunities").hide();
$("#FollowingChoicesWebpart-Sites").hide();
$("#FollowingChoicesWebpart-News").show();
$("#FChoices_tab1").addClass("active-button_FChoices");
$("#FChoices_tab2").removeClass("active-button_FChoices");
$("#FChoices_tab3").removeClass("active-button_FChoices");
});
$("#FChoices_tab2").click(function () {
$("#FollowingChoicesWebpart-ProjectsAndCommunities").hide();
$("#FollowingChoicesWebpart-Sites").show();
$("#FollowingChoicesWebpart-News").hide();
$("#FChoices_tab1").removeClass("active-button_FChoices");
$("#FChoices_tab2").addClass("active-button_FChoices");
$("#FChoices_tab3").removeClass("active-button_FChoices");
});
$("#FChoices_tab3").click(function () {
$("#FollowingChoicesWebpart-ProjectsAndCommunities").show();
$("#FollowingChoicesWebpart-Sites").hide();
$("#FollowingChoicesWebpart-News").hide();
$("#FChoices_tab1").removeClass("active-button_FChoices");
$("#FChoices_tab2").removeClass("active-button_FChoices");
$("#FChoices_tab3").addClass("active-button_FChoices");
});
$("#FChoices_tab3").click(function () {
$("#FollowingChoicesWebpart-ProjectsAndCommunities").hide();
$("#FollowingChoicesWebpart-Sites").hide();
$("#FollowingChoicesWebpart-News").hide();
$("#FChoices_tab1").removeClass("active-button_FChoices");
$("#FChoices_tab2").removeClass("active-button_FChoices");
$("#FChoices_tab3").addClass("active-button_FChoices");
});
Голландский джаваскриптик для реализации функционала Tabs. Видимо, написано под кумаром)))