summaryrefslogtreecommitdiff
path: root/www/campsite/files/patch-actions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'www/campsite/files/patch-actions.cpp')
-rw-r--r--www/campsite/files/patch-actions.cpp69
1 files changed, 69 insertions, 0 deletions
diff --git a/www/campsite/files/patch-actions.cpp b/www/campsite/files/patch-actions.cpp
new file mode 100644
index 000000000000..c8d9a7b797b3
--- /dev/null
+++ b/www/campsite/files/patch-actions.cpp
@@ -0,0 +1,69 @@
+--- implementation/parser/parser/actions.cpp (revision 5607)
++++ implementation/parser/parser/actions.cpp (revision 5648)
+@@ -1919,5 +1919,5 @@
+ if (modifier == CMS_ST_ARTICLECOMMENT)
+ {
+- if (!c.ArticleCommentEnabled())
++ if (!c.ArticleCommentEnabled() || c.ArticleComment() == NULL)
+ {
+ return ERR_NODATA;
+@@ -2444,7 +2444,7 @@
+ run = c.ArticleCommentEnabled() ? 0 : 1;
+ }
+- else if (!c.ArticleCommentEnabled())
+- {
+- return ERR_NODATA;
++ else if (!c.ArticleCommentEnabled() || c.ArticleComment() == NULL)
++ {
++ return ERR_NODATA;
+ }
+ if (case_comp(param.attribute(), "Defined") == 0)
+@@ -2872,7 +2872,11 @@
+ }
+ else
++ {
+ return -1;
++ }
+ if (modifier != CMS_ST_LANGUAGE && modifier != CMS_ST_PUBLICATION && param.attrType() == "")
++ {
+ SetNrField("IdPublication", c.Publication(), buf, w);
++ }
+ if (need_lang)
+ {
+@@ -2883,7 +2887,11 @@
+ string coQuery = string("select ") + field + " from " + tables;
+ if (w.length())
++ {
+ coQuery += string(" where ") + w;
++ }
+ if (need_lang)
++ {
+ coQuery += " order by IdLanguage desc";
++ }
+ DEBUGAct("takeAction()", coQuery.c_str(), fs);
+ SQLQuery(&m_coSql, coQuery.c_str());
+@@ -2892,5 +2900,7 @@
+ FetchRow(*res, row);
+ if (row[0] == NULL)
++ {
+ return ERR_NODATA;
++ }
+ if (modifier == CMS_ST_ARTICLE && param.attrType() != "" && !m_bStrictType)
+ {
+@@ -2928,10 +2938,16 @@
+ }
+ else
++ {
+ run_first = row[0] == value;
++ }
+ run_first = m_bNegated ? !run_first : run_first;
+ if (run_first)
++ {
+ runActions(block, c, fs);
++ }
+ else
++ {
+ runActions(sec_block, c, fs);
++ }
+ return RES_OK;
+ TK_CATCH_ERR