当前位置: 首页>>代码示例>>PHP>>正文


PHP P2Util::readIdPw2ch方法代码示例

本文整理汇总了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;//
//.........这里部分代码省略.........
开发者ID:poppen,项目名称:p2,代码行数:101,代码来源:login2ch.func.php

示例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();
}
// ログインユーザ情報
开发者ID:xingskycn,项目名称:p2-php,代码行数:31,代码来源:title.php

示例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']);
        }
    }
}
//================================================================
// ヘッダ
开发者ID:xingskycn,项目名称:p2-php,代码行数:31,代码来源:login2ch.php


注:本文中的P2Util::readIdPw2ch方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。