* 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();