Guest User

router (controller)

a guest
Apr 7th, 2013
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.47 KB | None | 0 0
  1. # coding: utf-8
  2. require 'sinatra'
  3. require 'erb'
  4. require './models/chatmodel'
  5. require './models/usermodel'
  6. require './models/newsmodel'
  7.  
  8.  
  9. class Router < Sinatra::Base
  10.     enable :sessions
  11.     #################################
  12.     get '/' do     
  13.         erb :index
  14.     end
  15.     ################################# Users
  16.     get '/login/' do
  17.         erb :login
  18.     end
  19.     post '/login/' do      
  20.         if Users.login(params, session) then
  21.             redirect '/'
  22.         else
  23.             redirect '/login/?error=invalid_password_or_login'
  24.         end    
  25.     end
  26.     post '/logout/' do
  27.         session.clear
  28.         redirect '/'
  29.     end
  30.     get '/registration/' do
  31.         erb :registration
  32.     end
  33.     post '/registration/' do
  34.         if Users.add(params) then  
  35.             redirect '/'
  36.         else
  37.             redirect '/registration/?error=username_or_email_alredy_exists'
  38.         end
  39.     end
  40.     ################################# Chat
  41.     get '/chat/:message_id/' do
  42.         @messages=Chat.get(params,session)
  43.         erb :chat
  44.     end
  45.     post '/chat/' do
  46.         if(session[:username] && session[:id]) then
  47.             Chat.send(params,session)
  48.             redirect '/chat/'
  49.         else
  50.             redirect '/login/'
  51.         end
  52.     end
  53.     ################################# News
  54.     get '/posts/' do
  55.         @news=Post.get_all(params)
  56.         erb :news
  57.     end
  58.     get '/post/:post_id/' do
  59.         @news=Post.get_id(params)
  60.         erb :news
  61.     end
  62.     get '/editor/' do
  63.         erb :editor
  64.     end
  65.     post '/addnews/' do
  66.         if(session[:username] && session[:id])
  67.             Post.add(params, session)
  68.         else
  69.             redirect '/login/?error=you_must_die!'
  70.         end
  71.         redirect "/post/#{params[:id].to_i}"       
  72.     end    
  73.        
  74. end
Advertisement
Add Comment
Please, Sign In to add comment