本文整理汇总了PHP中P2Util::readIdPw2ch方法的典型用法代码示例。如果您正苦于以下问题:PHP P2Util::readIdPw2ch方法的具体用法?PHP P2Util::readIdPw2ch怎么用?PHP P2Util::readIdPw2ch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类P2Util
的用法示例。
在下文中一共展示了P2Util::readIdPw2ch方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: login2ch
/**
* 2ch IDにログインする
*
* @access public
* @return string|false 成功したら2ch SIDを返す
*/
function login2ch()
{
global $_conf;
// 2ch●ID, PW設定を読み込む
if ($array = P2Util::readIdPw2ch()) {
list($login2chID, $login2chPW, $autoLogin2ch) = $array;
} else {
P2Util::pushInfoHtml('<p>p2 error: 2chログインのためのIDとパスワードを登録して下さい。[<a href="login2ch.php" target="subject">2chログイン管理</a>]</p>');
return false;
}
$auth2ch_url = 'https://2chv.tora3.net/futen.cgi';
$postf = "ID=" . $login2chID . "&PW=" . $login2chPW;
// ここでurlencodeすると通らなくなるので注意
$x_2ch_ua = 'X-2ch-UA: ' . $_conf['p2uaname'] . '/' . $_conf['p2version'];
$dolib2ch = 'DOLIB/1.00';
$tempfile = $_conf['pref_dir'] . "/p2temp.php";
// 念のためあらかじめtempファイルを除去しておく
if (file_exists($tempfile)) {
unlink($tempfile);
}
$curl_msg = '';
// まずはfsockopenでSSL接続する
// ただしPHPコンパイル時にOpenSSLサポートが有効になっていないと利用できず、
// DSO版(openssl.{so,dll}等)ではエラーが出る。
// @see http://jp.php.net/manual/ja/function.fsockopen.php
if ($_conf['precede_openssl']) {
if (!extension_loaded('openssl')) {
$curl_msg .= "「PHPのopenssl」は使えないようです";
} elseif (!($r = _getAuth2chWithOpenSSL($login2chID, $login2chPW, $auth2ch_url, $x_2ch_ua, $dolib2ch))) {
$curl_msg .= "「PHPのopenssl」で実行失敗。";
}
}
if (empty($r)) {
// コマンドCURL優先
if (empty($_conf['precede_phpcurl'])) {
if (!($r = _getAuth2chWithCommandCurl($login2chID, $login2chPW, $tempfile, $auth2ch_url, $x_2ch_ua, $dolib2ch))) {
$curl_msg .= "「systemのcurlコマンド」で実行失敗。";
if (!extension_loaded('curl')) {
$curl_msg .= "「PHPのcurl」は使えないようです";
} elseif (!($r = _getAuth2chWithPhpCurl($tempfile, $auth2ch_url, $x_2ch_ua, $dolib2ch, $postf))) {
$curl_msg .= "「PHPのcurl」で実行失敗。";
}
}
// PHP CURL優先
} else {
if (!extension_loaded('curl')) {
$curl_msg .= "「PHPのcurl」は使えないようです";
} elseif (!($r = _getAuth2chWithPhpCurl($tempfile, $auth2ch_url, $x_2ch_ua, $dolib2ch, $postf))) {
$curl_msg .= "「PHPのcurl」で実行失敗。";
}
if (empty($r)) {
if (!($r = _getAuth2chWithCommandCurl($login2chID, $login2chPW, $tempfile, $auth2ch_url, $x_2ch_ua, $dolib2ch))) {
$curl_msg .= "「systemのcurlコマンド」で実行失敗。";
}
}
}
}
// 接続失敗ならば
if (empty($r)) {
if (file_exists($_conf['idpw2ch_php'])) {
unlink($_conf['idpw2ch_php']);
}
if (file_exists($_conf['sid2ch_php'])) {
unlink($_conf['sid2ch_php']);
}
P2Util::pushInfoHtml('<p>p2 info: 2ちゃんねるへの●IDログインを行うには、systemでcurlコマンドが使用可能\であるか、PHPの<a href="http://www.php.net/manual/ja/ref.curl.php">CURL関数</a>が有効である必要があります。</p>');
P2Util::pushInfoHtml(sprintf('<p>p2 error: 2chログイン処理に失敗しました。%s</p>', hs($curl_msg)));
return false;
}
// tempファイルはすぐに捨てる
if (file_exists($tempfile)) {
unlink($tempfile);
}
$r = rtrim($r);
// 分解
if (preg_match('/SESSION-ID=(.+?):(.+)/', $r, $matches)) {
$uaMona = $matches[1];
$SID2ch = $matches[1] . ':' . $matches[2];
} else {
//error_log($r);
if (file_exists($_conf['sid2ch_php'])) {
unlink($_conf['sid2ch_php']);
}
P2Util::pushInfoHtml("<p>p2 error: 2ch●ログイン接続に失敗しました。</p>");
return false;
}
// 認証照合失敗なら
if ($uaMona == 'ERROR') {
file_exists($_conf['idpw2ch_php']) and unlink($_conf['idpw2ch_php']);
file_exists($_conf['sid2ch_php']) and unlink($_conf['sid2ch_php']);
P2Util::pushInfoHtml("<p>p2 error: 2ch●ログインのSESSION-IDの取得に失敗しました。IDとパスワードを確認の上、ログインし直して下さい。</p>");
return false;
}
//echo $r;//
//.........这里部分代码省略.........
示例2: list
// チェック済みのディレクトリを格納する配列に
// まだチェックしていなければ
if (!in_array($_conf['idx_dir'], $checked_dirs)) {
P2Util::checkDirWritable($_conf['idx_dir']);
$checked_dirs[] = $_conf['idx_dir'];
}
if (!in_array($_conf['pref_dir'], $checked_dirs)) {
P2Util::checkDirWritable($_conf['pref_dir']);
$checked_dirs[] = $_conf['pref_dir'];
}
// }}}
//=========================================================
// 前処理
//=========================================================
// ●ID 2ch オートログイン
if ($array = P2Util::readIdPw2ch()) {
list($login2chID, $login2chPW, $autoLogin2ch) = $array;
if ($autoLogin2ch) {
require_once P2_LIB_DIR . '/login2ch.inc.php';
login2ch();
}
}
//=========================================================
// プリント設定
//=========================================================
// 最新版チェック
$newversion_found = '';
if (!empty($_conf['updatan_haahaa'])) {
$newversion_found = checkUpdatan();
}
// ログインユーザ情報
示例3: login2ch
$autoLogin2ch = false;
//===============================================================
// ログインなら、IDとPWを登録保存して、ログインする
//===============================================================
if (isset($_POST['login2chID']) && isset($_POST['login2chPW'])) {
if (isset($_POST['autoLogin2ch'])) {
$autoLogin2ch = $_POST['autoLogin2ch'] === '1' ? true : false;
} else {
$autoLogin2ch = false;
}
P2Util::saveIdPw2ch($_POST['login2chID'], $_POST['login2chPW'], $autoLogin2ch);
require_once P2_LIB_DIR . '/login2ch.inc.php';
login2ch();
}
// (フォーム入力用に)ID, PW設定を読み込む
list($login2chID, $login2chPW, $autoLogin2ch) = P2Util::readIdPw2ch();
//==============================================================
// 2chログイン処理
//==============================================================
if (isset($_GET['login2ch'])) {
if ($_GET['login2ch'] == "in") {
require_once P2_LIB_DIR . '/login2ch.inc.php';
login2ch();
} elseif ($_GET['login2ch'] == "out") {
if (file_exists($_conf['sid2ch_php'])) {
unlink($_conf['sid2ch_php']);
}
}
}
//================================================================
// ヘッダ