本文整理汇总了PHP中P2Util::checkDirsWritable方法的典型用法代码示例。如果您正苦于以下问题:PHP P2Util::checkDirsWritable方法的具体用法?PHP P2Util::checkDirsWritable怎么用?PHP P2Util::checkDirsWritable使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类P2Util
的用法示例。
在下文中一共展示了P2Util::checkDirsWritable方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: printLoginFirst
/**
* p2 - 最初のログイン画面をHTML表示する関数
*
* @access public
* @return void
*/
function printLoginFirst(&$_login)
{
global $STYLE, $_conf;
global $_login_failed_flag, $_p2session;
// データ保存ディレクトリに書き込み権限がなければ注意を表示セットする
P2Util::checkDirsWritable(array($_conf['dat_dir'], $_conf['idx_dir'], $_conf['pref_dir']));
// 前処理
$_login->cleanInvalidAuthUserFile();
clearstatcache();
// 外部からの変数
$post['form_login_id'] = isset($_POST['form_login_id']) ? $_POST['form_login_id'] : null;
$post['form_login_pass'] = isset($_POST['form_login_pass']) ? $_POST['form_login_pass'] : null;
//=========================================================
// 書き出し用変数
//=========================================================
if (UA::isIPhoneGroup()) {
$ptitle = $_conf['p2name'] . 'iPhone';
} else {
$ptitle = $_conf['p2name'];
}
$ptitle_ht = hs($ptitle);
if (!empty($GLOBALS['brazil'])) {
$ptitle_ht = 'p2.2ch.net';
if (!(UA::isK() || UA::isIPhoneGroup())) {
$ptitle_ht = '<a href="http://p2.2ch.net/">' . $ptitle_ht . '</a>';
}
}
$myname = basename($_SERVER['SCRIPT_NAME']);
$body_ht = '';
$show_login_form_flag = false;
$p_str = array('user' => 'ユーザ', 'password' => 'パスワード');
if (!empty($GLOBALS['brazil'])) {
$p_str['user'] = 'メール';
}
// 携帯用表示文字列全角→半角変換
if (!UA::isIPhoneGroup() && UA::isK() && function_exists('mb_convert_kana')) {
foreach ($p_str as $k => $v) {
$p_str[$k] = mb_convert_kana($v, 'rnsk');
}
}
// 補助認証
require_once P2_LIB_DIR . '/HostCheck.php';
$mobile = Net_UserAgent_Mobile::singleton();
$auth_sub_input_ht = _getAuthSubInputHtml($mobile);
// ログインフォームからの指定
$form_login_id_hs = '';
if ($_login->validLoginId($_login->user_u)) {
$form_login_id_hs = hs($_login->user_u);
} elseif ($_login->validLoginId($post['form_login_id'])) {
$form_login_id_hs = hs($post['form_login_id']);
}
$form_login_pass_hs = '';
if ($_login->validLoginPass($post['form_login_pass'])) {
$form_login_pass_hs = hs($post['form_login_pass']);
}
// docomoの固有端末認証(セッション利用時のみ有効)
$docomo_utn_ht = '';
//if ($_conf['use_session'] && $_login->user_u && $mobile->isDoCoMo()) {
if ($_conf['use_session'] && $mobile->isDoCoMo()) {
$uri = $myname . '?guid=ON&user=' . urlencode($_login->user_u);
$docomo_utn_ht = '<p><a href="' . hs($uri) . '" utn>docomo固有端末認証</a></p>';
}
// docomoならリトライ時にパスワード入力を password → text とする
// (docomoはpassword入力が完全マスクされるUIで、入力エラーがわかりにく過ぎる)
if (isset($post['form_login_pass']) and $mobile->isDoCoMo()) {
$type = "text";
} else {
$type = "password";
}
// {{{ ログイン用フォームを生成
$ruri = $_SERVER['REQUEST_URI'];
if (UA::isDoCoMo()) {
$ruri = UriUtil::addQueryToUri($ruri, array('guid' => 'ON'));
}
$REQUEST_URI_hs = hs($ruri);
if (!empty($GLOBALS['brazil']) or file_exists($_conf['auth_user_file'])) {
$submit_ht = '<input type="submit" name="submit_userlogin" value="ユーザログイン">';
} else {
$submit_ht = '<input type="submit" name="submit_newuser" value="新規登録">';
}
$login_form_ht = <<<EOP
{$docomo_utn_ht}
<form id="login" method="POST" action="{$REQUEST_URI_hs}" target="_self" utn>
{$_conf['k_input_ht']}
{$p_str['user']}: <input type="text" name="form_login_id" value="{$form_login_id_hs}" istyle="3" size="32" autocorrect="off" autocapitalize="off"><br>
{$p_str['password']}: <input type="{$type}" name="form_login_pass" value="{$form_login_pass_hs}" istyle="3" autocorrect="off" autocapitalize="off"><br>
{$auth_sub_input_ht}
<br>
{$submit_ht}
</form>
EOP;
// }}}
//=================================================================
//.........这里部分代码省略.........