Новости | 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.