require 'thor'
require 'awesome_print'

class SimpleTool < Thor
  include Thor::Actions

  def self.source_root
    File.dirname(__FILE__)
  end

  no_commands do
    def cp_file(src, dest, sudo=false)
      command = 'cp -r ' + SimpleTool.source_root + '/' + src + ' ' + dest
      command = 'sudo ' + command if sudo
      ap command
      `#{command}`
    end
  end



  desc "install_pptp_vpn username passwd", "quick install pptp vpn on ubuntu, need provide username & password, remember to reboot machine to check!!!"
  def install_pptp_vpn(user, pwd)
    ap "hello"
    `sudo apt-get install --yes pptpd pptp-linux`
    cp_file('support/pptp_vpn/ubuntu/pptpd.conf', '/etc/pptpd.conf', true)
    cp_file('support/pptp_vpn/ubuntu/pptpd-options', '/etc/ppp/pptpd-options', true)
    `sudo bash -c "echo '#{user} * #{pwd} *' >> /etc/ppp/chap-secrets"`
    cp_file('support/pptp_vpn/ubuntu/sysctl.conf', '/etc/sysctl.conf', true)
    cp_file('support/pptp_vpn/ubuntu/rc.local', '/etc/rc.local', true)
    `sudo modprobe nf_conntrack_proto_gre nf_conntrack_pptp`
    `sudo /etc/init.d/pptpd restart`
    `echo 'pleaese reboot to make it works'`
  end

  desc "install_phpmyadmin", "quick install phpmyadmin on ubuntu"
  def install_phpmyadmin
    `sudo apt-get -y install nginx php5-cli php5-cgi php5-fpm php5-mcrypt php5-mysql php5-gd php-apc php5-common`

    #modify mysql.ini
    `sudo sed -i'' -e '/bind-address/d' /etc/mysql/my.cnf`

    cp_file('support/phpmyadmin/nginx.phpmyadmin.default',  '/etc/nginx/sites-enabled/nginx.phpmyadmin.default', true)
    cp_file('support/phpmyadmin/phpmyadmin',  '/usr/share/nginx/html/', true)
    `sudo service nginx reload`
    `sudo service php5-fpm restart`
  end

  desc "install_ftp username passwd", "install ftp on ubuntu, need provide username & passwd"
  def install_ftp(username, passwd)
    `sudo apt-get --yes install wget vsftpd`
    `sudo useradd #{username}`
    `sudo mkdir /home/#{username}`
    `sudo chown "#{username}:#{username}" "/home/$1"`
    `sudo bash -c "echo '#{username}:#{passwd}' | /usr/sbin/chpasswd"`
    `sudo rm /etc/pam.d/vsftpd`
    cp_file('support/ftp/vsftpd.conf', '/etc/vsftpd.conf', true)
    `sudo service vsftpd restart`
  end

  desc "install_zsh", "quick install oh-my-zsh with plugins configed on ubuntu"
  def install_zsh
    `sudo apt-get --yes install git zsh autojump`
    `mkdir ~/opensource`
    `git clone https://github.com/robbyrussell/oh-my-zsh ~/.oh-my-zsh`
    `git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/opensource/zsh-syntax-highlighting`
    `git clone https://github.com/zsh-users/zsh-history-substring-search.git ~/opensource/zsh-history-substring-search`
    `git clone https://github.com/olivierverdier/zsh-git-prompt.git ~/opensource/zsh-git-prompt`
    cp_file('support/zsh/.zshrc', '~/.zshrc')
    `sudo chsh -s $(which zsh)`
    `zsh`
  end



end