/** * @param CHelpdeskUser $oHelpdeskUser * @param CHelpdeskThread $oThread * @param int $iStartFromId Default value is **0**. * @param int $iLimit Default value is **20**. * * @return string */ public function getPosts(CHelpdeskUser $oHelpdeskUser, $oThread, $iStartFromId = 0, $iLimit = 20) { $aMap = api_AContainer::DbReadKeys(CHelpdeskPost::getStaticMap()); $aMap = array_map(array($this, 'escapeColumn'), $aMap); $sSql = 'SELECT %s FROM %sahd_posts WHERE deleted = 0'; $sSql = sprintf($sSql, implode(', ', $aMap), $this->prefix()); $aWhere = $this->buildPostsWhere($oHelpdeskUser, $oThread); if (0 < $iStartFromId) { $aWhere[] = $this->escapeColumn('id_helpdesk_post') . ' < ' . $iStartFromId; } if (0 < count($aWhere)) { $sSql .= ' AND ' . implode(' AND ', $aWhere); } $sSql .= ' ORDER BY id_helpdesk_post desc LIMIT ' . $iLimit; return $sSql; }