* GNU AFFERO GENERAL PUBLIC LICENSE for more details. * * You should have received a copy of the GNU Affero General Public * License along with this library. If not, see <http://www.gnu.org/licenses/>. * */ OCP\JSON::checkAppEnabled('conversations'); OCP\JSON::checkLoggedIn(); OCP\JSON::callCheck(); $room = isset($_REQUEST['room']) ? $_REQUEST['room'] : false; // TODO: remove room argument! if ($room) { // store room as user default OCP\Config::setUserValue(OC_User::getUser(), 'conversations', 'activeRoom', $room); // read the next 30 items for the endless scrolling // get the page that is requested. Needed for endless scrolling $count = 5; $page = isset($_REQUEST['page']) ? intval($_REQUEST['page']) : 0; $from_id = isset($_REQUEST['from_id']) ? intval($_REQUEST['from_id']) : null; // load room $tmpl = new OCP\Template('conversations', 'part.conversation'); $tmpl->assign('conversation', OC_Conversations::getConversation(false, $page * $count, $count, $from_id)); if (isset($_REQUEST['print_tmpl'])) { // print for infinite scroll $tmpl->printPage(); } else { // return json for submit or polling $conversation = $tmpl->fetchPage(); OCP\JSON::success(array('data' => array('conversation' => $conversation))); } }
OCP\Util::addScript('conversations', 'jquery.timeago'); OCP\Util::addstyle('conversations', 'style'); // add timeago translations $lang = OC_L10N::findLanguage('conversations'); // TODO: may find a better solution than file_exists if (in_array($lang, OC_L10N::findAvailableLanguages('conversations')) && file_exists('./apps/conversations/js/jquery.timeago.' . $lang . '.js')) { OCP\Util::addScript('conversations', 'jquery.timeago.' . $lang); } // rooms $rooms = OC_Conversations::getRooms(); $updates = OC_Conversations::updateCheck(); $rooms = array_merge_recursive($rooms, $updates); // get the page that is requested. Needed for endless scrolling $count = 5; if (isset($_GET['page'])) { $page = intval($_GET['page']) - 1; } else { $page = 0; } $nextpage = \OCP\Util::linkToAbsolute('conversations', 'index.php', array('page' => $page + 2)); $tmpl = new OCP\Template('conversations', 'main', 'user'); if (!empty($rooms)) { $tmpl->assign('rooms', $rooms); } if ($page == 0) { $tmpl->assign('nextpage', $nextpage); } $room = OC_Conversations::getRoom(); $tmpl->assign('active_room', $room); $tmpl->assign('conversation', OC_Conversations::getConversation($room, $page * $count, $count)); $tmpl->printPage();