-
Лучший говнокод
- В номинации:
-
- За время:
-
-
+155
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
if(!CModule::IncludeModule("iblock")) return;
$ID_PRODUCT = $_POST['prod_id'];
$ID_USER = $USER->GetID();
$TEXT = $_POST['txt'];
$IBLOCK_ID = $_POST['iblock_id'];
$NAME = "Отзыв";
$arPROPS = Array(
"ID_PRODUCT" => $ID_PRODUCT,
"ID_USER" => $ID_USER,
"TEXT" => $TEXT,
);
$arFields = Array(
"IBLOCK_ID"=>$IBLOCK_ID,
"NAME"=>$NAME,
"PROPERTY_VALUES" => $arPROPS,
);
print_r ($arFields);
$e = new CIBlockElement;
if (!$e->Add($arFields,false,true,false)) {
echo "Error: ".$e->LAST_ERROR;
}
else {
echo "Всё ништяк";
}
-------------------------------------------------------------------
Возвращается:
----------------------------------------------------------------
Array
(
[IBLOCK_ID] => 5
[NAME] => Отзыв
[PROPERTY_VALUES] => Array
(
[ID_PRODUCT] => 119
[ID_USER] => 1
[TEXT] => kdfkja
)
)
Всё ништяк
----------------------------------------------------------------
Создаётся новая запись, но почему-то в свойстве TEXT одна левая буква какая-то, ничо понять не могу(((
minnigaliev-r,
19 Ноября 2010
-
−122
- 1
- 2
ALTER TABLE [dbo].[IssueGroup] WITH CHECK ADD CONSTRAINT [FK_IssueGroup_Group] FOREIGN KEY([ProjectId], [GroupId])
REFERENCES [dbo].[Group] ([GroupId],[ProjectId])
Часа 2 искал проблему в чужом коде - оказалось, что просто поля ProjectId и GroupId были записаны в разных порядках сначала FOREIGN KEY([ProjectId], [GroupId]), а потом REFERENCES [dbo].[Group] ([GroupId],[ProjectId]).
vadimliman,
16 Ноября 2010
-
+115
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
private string ContentTransformation(string _xmlContent, string _xsltScheme)
{
try
{
XmlReaderSettings xmlRS = new XmlReaderSettings();
XPathDocument doc = new XPathDocument(XmlReader.Create(new StringReader(_xmlContent), xmlRS));
XPathNavigator nav = doc.CreateNavigator();
XmlReader reader = XmlReader.Create(new StringReader(nav.OuterXml));
reader.MoveToContent();
System.IO.StringReader strRead = new StringReader(_xsltScheme);
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load(XmlReader.Create(strRead));
// Transform the node fragment.
StringWriter strW = new StringWriter();
XmlWriterSettings wrSet = new XmlWriterSettings();
wrSet.ConformanceLevel = ConformanceLevel.Auto;
XmlWriter xmlW = XmlWriter.Create(strW, wrSet);
xslt.Transform(reader, xmlW);
xmlW.Close();
return strW.ToString();
}
catch (ArgumentNullException anEx)
{
return "XSL преобразование не выполнено!<br>Параметр равен null.<br>" + anEx.Message;
}
catch (XsltException xsltEx)
{
return "XSL преобразование не выполнено!<br>Проверте XSL схему.<br>" + xsltEx.Message;
}
catch (Exception ex)
{
return ex.Message;
}
}
Учимся применять XSL шаблон к XML данным, и между делом поглядываем в сий гениальный шедевр - в нем вся истина о том, как четко и со вкусом, а главное элегантно выполнить эту задачу. Да еще и обработка ошибок сделана! Шикарный кусок.
dreaktor,
14 Ноября 2010
-
+116
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
private string makeUrlAbsolute(string url)
{
isWebPartPropertiesError = false;
try
{
if (!string.IsNullOrEmpty(url))
{
bool shouldCheckForRootWeb = false;
if (!url.StartsWith("http://"))
{
if (url.StartsWith("//")) throw new Exception("Неправильная ссылка");
if (!url.StartsWith("/")) url = url.Insert(0, "/");
url = url.Insert(0, SPContext.Current.Site.Url);
shouldCheckForRootWeb = true;
}
using (SPSite site = new SPSite(url))
{
using (SPWeb web = site.OpenWeb())
{
if (!url.Contains(web.Url)) isWebPartPropertiesError = true;
if (shouldCheckForRootWeb && site.Url.Equals(web.Url)) isWebPartPropertiesError = true;
return url;
}
}
}
else return "";
}
catch
{
isWebPartPropertiesError = true;
return "";
}
//this.CatalogIconImageUrl = this.ClassResourcePath + "/Test.ico";
//this.TitleIconImageUrl = this.ClassResourcePath + "/Test.ico";
}
Продолжаю серию мегаполезных хелперов.
Эта страхолюдина найдена там же где и пред. кусок.
Судя по названию, она должна делать урл абсолютным...
(SPSite и др., это SharePoint API если кто не в курсе)
dreaktor,
14 Ноября 2010
-
+157
- 1
- 2
- 3
- 4
- 5
- 6
- 7
var Class = function () {
this.method = function () {
/* … */
};
};
Class = new Class();
fuckyounoob,
13 Ноября 2010
-
+145
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
$(function(){
oCatalog=new Catalog();
});
Catalog = function (){
function test (data){
alert(data);
}
}
exoundeeq,
12 Ноября 2010
-
+75
- 1
- 2
- 3
for ( Cluster c : Clusters.getInstance( ).listValues( ) ) {
stopNet.newInstance( ).dispatch( cluster );
}
Суровые калифорнийцы как всегда суровы...
raorn,
12 Ноября 2010
-
−99
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
def __init__(self, pth = None):
self._tag = None
self._valid = False
self._pthtofile = pth
if pth != None:
try:
self._tag = tagpy.FileRef(pth).tag()
self._valid = True
except ValueError:
pass
Конструктор класса.
Дальше приходится всё время дёргать объект проверяя его на валидность.
Как переписать не так говнисто?
KoirN,
07 Ноября 2010
-
+145
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
private TaskScheduler scheduler;
protected TaskScheduler() {
}
public final TaskScheduler getScheduler() {
if (this.scheduler == null) {
this.scheduler = new TaskScheduler();
}
return this.scheduler;
}
мелочь, а смешно получилось ))
Lure Of Chaos,
03 Ноября 2010
-
+183
- 1
table[^>]*((name[^>]*=[^>]*mainTable|id[^>]*=[^>]*mainTable)){1,2}
also check dis
http://govnokod.ru/853#comment2667
рейтинг: −1.8
"1 за и 0 против"
tags: stupid regex, regullar expression, govnokod bugs
3.14159265,
29 Октября 2010