scriptencoding cp932 function! MixiGetQuotesymbol() " Return quote symbol. if &shellxquote == '"' return "'" else return '"' endif endfunction function! MixiQuote(str) " Quote filepath by quote symbol. let fq = MixiGetQuotesymbol() retur fq . a:str. fq endfunction function! MixiUrlencode(str) " Return URL encoded string let retval = a:str let retval = substitute(retval, '[^- *.0-9A-Za-z]', '\=AL_urlencoder_ch2hex(submatch(0))', 'g') let retval = substitute(retval, ' ', '+', 'g') return retval endfunction function! MixiLogin() if !exists("s:mixi_user") let s:mixi_user = input("login user:") endif if !exists("s:mixi_pass") let s:mixi_pass = inputsecret("login pass:") endif if !exists("s:mixi_cookie") let s:mixi_cookie = tempname() endif let postfile = tempname() exec "redir > " . postfile silent! echon "email=" . MixiUrlencode(s:mixi_user) silent! echon "&password=" . MixiUrlencode(s:mixi_pass) silent! echon "&next_url=" . MixiUrlencode(g:mixi_loginurl) redir end if !filereadable(s:mixi_cookie) call system("curl -b " . MixiQuote(s:mixi_cookie) . " -c " . MixiQuote(s:mixi_cookie) . " -d @" . MixiQuote(postfile) . " " . g:mixi_loginurl) endif call delete(postfile) return 1 endfunction function! MixiGetBBS(bbs_no) call MixiLogin() let postfile = tempname() exec "redir > " . postfile silent! echon "email=" . MixiUrlencode(s:mixi_user) silent! echon "&password=" . MixiUrlencode(s:mixi_pass) silent! echon "&next_url=" . MixiUrlencode(g:mixi_bbsurl . a:bbs_no) redir end let command = "curl -b " . MixiQuote(s:mixi_cookie) . " -c " . MixiQuote(s:mixi_cookie) . " -d @" . MixiQuote(postfile) . " " . MixiQuote(g:mixi_bbsurl . a:bbs_no) silent! new ---MIXI-BBS-FOR-VIM--- setlocal buftype=nofile setlocal bufhidden=delete silent! exec "r! " . command silent! g//,//join! silent! %v//d _ silent! %s/$/\r/g silent! %s/]*>//g silent! %s/]*>//g silent! %s/<\/table[^>]*>//g silent! %s/]*>//g silent! %s/<\/tr[^>]*>//g silent! %s/]*>//g silent! %s/<\/td[^>]*>//g silent! %s/]*>|<\/font>//g silent! %s/]*>//g silent! %s/<\/font[^>]*>//g silent! %s///g silent! %s/<\/b>//g silent! %s/
//g silent! %s/]*>/ /g silent! %s/]*\)>\([^<]*\)<\/a>/\=((stridx(submatch(0), "show_friend") > 0) ? submatch(2) . "\r " : "")/g silent! %s/<[^>]*>//g silent! %s/ / /g silent! %s/>/>/g silent! %s/</