- 追加された行はこの色です。
- 削除された行はこの色です。
現在のp2は●のログインにプロキシを利用しないようになっていますが、これだとプロキシ経由でなければネットに繋げない環境ではp2は●ログインができません。
-この情報の対応バージョンは、p2 1.0.2 ・・・ですね。
まずlogin2ch.incの13行目を
global $p2version, $prefdir, $idpw2ch_php, $sid2ch_php;
とあるのを
global $p2version, $prefdir, $idpw2ch_php, $sid2ch_php, $proxy;
と、$proxyを追加。
さらに34行目から
if(extension_loaded('curl')){ //PHPのCURLが使えるなら
$ch = curl_init();
$fp = fopen ($tempfile, "w");
curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_setopt ($ch, CURLOPT_URL, $auth2ch_url);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_HTTPHEADER, array($x_2ch_ua));
curl_setopt ($ch, CURLOPT_USERAGENT, $dolib2ch);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postf);
if($proxy['use']) //この行と
curl_setopt ($ch, CURLOPT_PROXY, $proxy['host'].':'.$proxy['port']); // この行の二行追加
curl_exec ($ch);
curl_close ($ch);
fclose ($fp);
}else{
$curlrtn=1;
$curlcmd = "curl -H \"X-2ch-UA: p2/{$p2version}\" -A {$dolib2ch} -d ID={$login2chID} -d PW={$login2chPW} -o {$tempfile} {$auth2ch_url}";
if($proxy['use']) // ここと
$curlcmd .= ' -x '.$proxy['host'].':'.$proxy['port']; //ここの二行も。
と2箇所追加。これで●ログイン時にプロキシが使われるようになる。
これでcurlのみインストールされている環境、PHPでcurlが利用可能に
なっている環境双方に対応できます。
また、●ログインにプロキシを使うかどうか選べるようにしたい場合、conf_user.phpの$proxy['port']の後ろあたりに
$proxy['uselogin2ch'] = 0; // (0) 2chログインにプロキシを利用(する:1, しない:0)
といった変数を追加し、先の二箇所の
if($proxy['use'])
を
if($proxy['uselogin2ch'])
と変更すれば良いのではないかと。