| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Mizter Egoist 02.04.2015 16:18
@getThreads[params]
$result[^table::sql{
SELECT
id,
sectionID,
threadID,
parentID,
uID,
date,
mess,
closed
FROM
questions
WHERE
1 = 1
^if(def $params.sectionIDs){AND sectionID IN($params.sectionIDs)}
^if(def $params.threadIDs){AND threadID = '$params.threadIDs'}
^if(def $params.parentIDs){AND parentID IN($params.parentIDs)}
^if(def $params.uIDs){AND uID IN($params.uIDs)}
ORDER BY
date DESC
}[
^if(def $params.limit){
$.limit(^params.limit.int(0))
}
]]
@getFreeThreads[params]
$result[^table::sql{
SELECT
id,
sectionID,
threadID,
parentID,
uID,
date,
mess,
closed
FROM
questions
WHERE
1 = 1
^if(def $params.sectionIDs){AND sectionID IN($params.sectionIDs)}
^if(def $params.threadIDs){AND threadID != '$params.threadIDs'}
^if(def $params.parentIDs){AND parentID IN($params.parentIDs)}
^if(def $params.uIDs){AND uID != '$params.uIDs'}
ORDER BY
date DESC
}[
^if(def $params.limit){
$.limit(^params.limit.int(0))
}
]]
@getUsers[params]
$result[^table::sql{
SELECT
uID,
gID,
sID,
login,
email,
forename,
surname,
registered
FROM
users
WHERE
1 = 1
^if(def $params.uIDs){AND uID IN($params.uIDs)}
^if(def $params.gIDs){AND gID IN($params.gIDs)}
^if(def $params.sIDs){AND sID = '$params.sIDs'}
^if(def $params.logins){AND login = '$params.logins'}
^if(def $params.emails){AND email = '$params.emails'}
^if(def $params.forenames){AND forename = '$params.forenames'}
^if(def $params.surnames){AND surname = '$params.surnames'}
ORDER BY
registered DESC
}[
^if(def $params.limit){
$.limit(^params.limit.int(0))
}
]]
@page[]
$questions[^getThreads[
$.sectionIDs($advices.section.id)
$.parentIDs(0)
]]
^questions.menu{
$operator[^getThreads[
$.threadIDs[$questions.threadID]
$.uIDs($initialization.auth.uID)
$.limit(1)
]]
^operator.menu{
$Q[^getThreads[
$.threadIDs[$operator.threadID]
$.parentIDs(0)
]]
$U[^getUsers[
$.uIDs(^Q.menu{$Q.uID})
]]
^U.menu{$U.uID $U.forename $U.surname}
^Q.menu{<a href="/${form:url}?q=${Q.threadID}">$Q.mess</a><br>}
}
$operators[^getUsers[
$.uIDs($initialization.auth.uID)
$.gIDs(3)
]]
$close[^getThreads[
$.threadIDs[$questions.threadID]
$.uIDs(^operators.menu{$operators.uID})
]]
^close.menu{
$prefree[^getThreads[
$.sectionID($close.sectionID)
$.threadIDs[$close.threadID]
$.parentIDs(0)
]]
^prefree.menu{
$free[^getFreeThreads[
$.sectionID($prefree.sectionID)
$.threadIDs[$prefree.threadID]
$.parentIDs(0)
$.uIDs($prefree.uID)
$.limit(1)
]]
^free.menu{$free.threadID<br>}
}
}
}$prefree вычисляет какой пользователь, в каком разделе и какой тред оставил и понимает, что оператор ему ответил, а $free должен исключать данные, которые пришли от $prefree.