Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
huacnlee committed Feb 6, 2010
0 parents commit b8538ce
Show file tree
Hide file tree
Showing 595 changed files with 68,667 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
.DS_Store
log/*.log
tmp/**/*
config/database.yml

13 changes: 13 additions & 0 deletions README.rdoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
= Pastie

Share you source code snippets on the web.

This project was cloned of pastie.org, because it was blocked under China internet.

I created the http://pasite.org






10 changes: 10 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.

require(File.join(File.dirname(__FILE__), 'config', 'boot'))

require 'rake'
require 'rake/testtask'
require 'rake/rdoctask'

require 'tasks/rails'
71 changes: 71 additions & 0 deletions app/controllers/application_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Filters added to this controller apply to all controllers in the application.
# Likewise, all the methods added will be available for all controllers.

class ApplicationController < ActionController::Base
helper :all # include all helpers, all the time
protect_from_forgery # See ActionController::RequestForgeryProtection for details
session :session_expires => 1.week.from_now
# Scrub sensitive parameters from your log
filter_parameter_logging :passwd
before_filter :init_filter

def init_filter
check_login
end

# 输出404错误
def render_404
render_optional_error_file(404)
end

# 设置SEO 的Meta 值
def set_seo_meta(title,keywords = '',desc = '')
if title
@page_title = "#{title} &raquo; Pasite"
else
@page_title = "Pasite"
end
@meta_keywords = keywords
@meta_description = desc
end

def require_login
if not @current_user
redirect_to :controller => "home", :action => "login"
return false
end
return true
end

def require_admin
if not @is_admin
redirect_to :controller => "home", :action => "login"
return false
end
return true
end

def save_notice(notice)
flash[:notice] = notice
end

def save_login(user)
session[:user_id] = user.id
@current_user = User.find_by_id(session[:user_id])
end

def clear_login
@current_user = nil
session[:user_id] = nil
@is_admin = nil
end

def check_login
@current_user = User.find_by_id(session[:user_id])
if @current_user
if @current_user.admin
@is_admin = true
end
end
end
end
26 changes: 26 additions & 0 deletions app/controllers/comments_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
class CommentsController < ApplicationController
before_filter :require_admin

# GET /comments
# GET /comments.xml
def index
@comments = Comment.paginate(:page => params[:page],:per_page => 10,:order => "id desc")

respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @comments }
end
end

# DELETE /comments/1
# DELETE /comments/1.xml
def destroy
@comment = Comment.find(params[:id])
@comment.destroy

respond_to do |format|
format.html { redirect_to(comments_url) }
format.xml { head :ok }
end
end
end
86 changes: 86 additions & 0 deletions app/controllers/home_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
class HomeController < ApplicationController
before_filter :require_login, :only => [:settings]
validates_captcha

def register
@user = User.new

if params[:user]
@user = User.new(params[:user])
passwd_unencoded = @user.passwd
@user.passwd = User.encode(@user.passwd)
if @user.save
save_notice("Register successed.")
# send regist successed mail to user Email
Mailer.regist_successed(@user,passwd_unencoded)
save_login(@user)
redirect_to "/"
return
end
end
set_seo_meta("Register")
render :action => "register"

end

# login
def login
@user = User.new

if params[:user]
if !captcha_validated?
flash[:errors] = "Captcha not match."
else
@user = User.check_login(params[:user][:email], User.encode(params[:user][:passwd]))

if @user
save_login(@user)
redirect_to "/"
return
else
@user = User.new
flash[:errors] = "Invalid login name/email or password."
end
end
end

set_seo_meta("Login")
render :action => "login"
end

def logout
clear_login
redirect_to "/"
end

def settings
@user = @current_user
if request.method == :put
p = params[:user]
p[:admin] = @user.admin
if @user.update_attributes(p)
save_notice('User was successfully updated.')
redirect_to :controller => "home", :action => "settings"
else
render :action => "settings"
end
end
end

def password
if request.method == :put
if @current_user.update_passwd(params[:old_passwd], params[:new_passwd], params[:confirm_passwd])
save_notice("Password changed.")
redirect_to :action => "password"
end
end
end

def help
set_seo_meta("Help")
end

def links
set_seo_meta("Links")
end
end
88 changes: 88 additions & 0 deletions app/controllers/languages_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
class LanguagesController < ApplicationController
before_filter :require_admin

# GET /languages
# GET /languages.xml
def index
@languages = Language.all

respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @languages }
end
end

# GET /languages/1
# GET /languages/1.xml
def show
@language = Language.find(params[:id])

respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @language }
end
end

# GET /languages/new
# GET /languages/new.xml
def new
@language = Language.new

respond_to do |format|
format.html { render :action => "edit" }
format.xml { render :xml => @language }
end
end

# GET /languages/1/edit
def edit
@language = Language.find(params[:id])
end

# POST /languages
# POST /languages.xml
def create
@language = Language.new(params[:language])

respond_to do |format|
if @language.save
flash[:notice] = 'Language was successfully created.'
format.html { redirect_to(@language) }
format.xml { render :xml => @language, :status => :created, :location => @language }
else
format.html { render :action => "new" }
format.xml { render :xml => @language.errors, :status => :unprocessable_entity }
end
end
end

# PUT /languages/1
# PUT /languages/1.xml
def update
@language = Language.find(params[:id])

respond_to do |format|
if @language.update_attributes(params[:language])
flash[:notice] = 'Language was successfully updated.'
format.html { redirect_to(@language) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @language.errors, :status => :unprocessable_entity }
end
end
end

# DELETE /languages/1
# DELETE /languages/1.xml
def destroy
@language = Language.find(params[:id])
@language.destroy

respond_to do |format|
format.html { redirect_to(languages_url) }
format.xml { head :ok }
end
end

end
Loading

0 comments on commit b8538ce

Please sign in to comment.