本文整理匯總了PHP中FileCtl::file_read_lines方法的典型用法代碼示例。如果您正苦於以下問題:PHP FileCtl::file_read_lines方法的具體用法?PHP FileCtl::file_read_lines怎麽用?PHP FileCtl::file_read_lines使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類FileCtl
的用法示例。
在下文中一共展示了FileCtl::file_read_lines方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: tgrep_read_recent_list
/**
* 検索履歴を読み込む
*/
function tgrep_read_recent_list()
{
global $_conf;
$list = FileCtl::file_read_lines($_conf['expack.tgrep.recent_file'], FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
if (!is_array($list)) {
return array();
}
return $list;
}
示例2: settaborn_off
/**
* ■スレッドあぼーんを複數一括解除する
*/
function settaborn_off($host, $bbs, $taborn_off_keys)
{
if (!$taborn_off_keys) {
return;
}
// p2_threads_aborn.idx のパス取得
$taborn_idx = P2Util::idxDirOfHostBbs($host, $bbs) . 'p2_threads_aborn.idx';
// p2_threads_aborn.idx がなければ
if (!file_exists($taborn_idx)) {
p2die('あぼーんリストが見つかりませんでした。');
}
// p2_threads_aborn.idx 読み込み
$taborn_lines = FileCtl::file_read_lines($taborn_idx, FILE_IGNORE_NEW_LINES);
// 指定keyを削除
foreach ($taborn_off_keys as $val) {
$neolines = array();
if ($taborn_lines) {
foreach ($taborn_lines as $line) {
$lar = explode('<>', $line);
if ($lar[1] == $val) {
// key発見
// echo "key:{$val} のスレッドをあぼーん解除しました。<br>";
$kaijo_attayo = true;
continue;
}
if (!$lar[1]) {
continue;
}
// keyのないものは不正データ
$neolines[] = $line;
}
}
$taborn_lines = $neolines;
}
// 書き込む
if (file_exists($taborn_idx)) {
copy($taborn_idx, $taborn_idx . '.bak');
// 念のためバックアップ
}
$cont = '';
if (is_array($taborn_lines)) {
foreach ($taborn_lines as $l) {
$cont .= $l . "\n";
}
}
if (FileCtl::file_write_contents($taborn_idx, $cont) === false) {
p2die('cannot write file.');
}
/*
if (!$kaijo_attayo) {
// echo "指定されたスレッドは既にあぼーんリストに載っていないようです。";
} else {
// echo "あぼーん解除、完了しました。";
}
*/
}
示例3: print_rss_list_k
/**
* 登録されているRSS一覧を表示(攜帯用)
*/
function print_rss_list_k()
{
global $_conf;
$pageTitle = $_conf['expack.misc.multi_favs'] ? FavSetManager::getFavSetPageTitleHt('m_rss_set', 'RSS') : 'RSS';
echo $pageTitle;
echo '<hr>';
$i = 1;
if ($rss_list = FileCtl::file_read_lines($_conf['expack.rss.setting_path'], FILE_IGNORE_NEW_LINES)) {
foreach ($rss_list as $rss_info) {
$p = explode("\t", $rss_info);
if (count($p) > 1) {
$site = $p[0];
$xml = $p[1];
if (!empty($p[2])) {
$atom = 1;
$atom_q = '&atom=1';
} else {
$atom = 0;
$atom_q = '';
}
if ($i <= 9) {
$accesskey_at = $_conf['k_accesskey_at'][$i];
$accesskey_st = "{$i} ";
} else {
$accesskey_at = '';
$accesskey_st = '';
}
$localpath = rss_get_save_path($xml);
if (PEAR::isError($localpath)) {
echo $accesskey_st . $site . ' ' . $localpath->getMessage() . "<br>\n";
} else {
$mtime = file_exists($localpath) ? filemtime($localpath) : 0;
$site_en = UrlSafeBase64::encode($site);
$xml_en = rawurlencode($xml);
$rss_q = sprintf('?xml=%s&site_en=%s%s&mt=%d', $xml_en, $site_en, $atom_q, $mtime);
$rss_q_ht = p2h($rss_q);
echo "{$accesskey_st}<a href=\"subject_rss.php{$rss_q_ht}\"{$accesskey_at}>{$site}</a><br>\n";
}
$i++;
}
}
}
}
示例4: deleMsg
/**
* チェックした書き込み記事を削除する
*/
function deleMsg($checked_hists)
{
global $_conf;
$lock = new P2Lock($_conf['res_hist_dat'], false);
// 読み込んで
$reslines = FileCtl::file_read_lines($_conf['res_hist_dat'], FILE_IGNORE_NEW_LINES);
if ($reslines === false) {
p2die("{$_conf['res_hist_dat']} を開けませんでした");
}
// ファイルの下に記録されているものが新しいので逆順にする
$reslines = array_reverse($reslines);
$neolines = array();
// チェックして整えて
if ($reslines) {
$n = 1;
foreach ($reslines as $ares) {
$rar = explode("<>", $ares);
// 番號と日付が一致するかをチェックする
if (checkMsgID($checked_hists, $n, $rar[2])) {
$rmnums[] = $n;
// 削除する番號を登録
}
$n++;
}
$neolines = rmLine($rmnums, $reslines);
P2Util::pushInfoHtml('<p>p2 info: ' . count($rmnums) . '件のレス記事を削除しました</p>');
}
if (is_array($neolines)) {
// 行順を戻す
$neolines = array_reverse($neolines);
$cont = "";
if ($neolines) {
$cont = implode("\n", $neolines) . "\n";
}
// 書き込む
if (FileCtl::file_write_contents($_conf['res_hist_dat'], $cont) === false) {
p2die('cannot write file.');
}
}
}
示例5: setFavItaByHostBbs
/**
* host,bbsからお気に板をセットする
*
* @param string $host
* @param string $bbs
* @param int|string $setfavita 0(解除), 1(追加), 2(トグル), top, up, down, bottom
* @param string $itaj
* @param int|null $setnum
* @return bool
*/
function setFavItaByHostBbs($host, $bbs, $setfavita, $itaj = null, $setnum = null)
{
global $_conf;
// p2_favita.brd 読み込み
$favita_brd = setFavItaGetBrdPath($setnum);
$lines = FileCtl::file_read_lines($favita_brd, FILE_IGNORE_NEW_LINES);
//================================================
// 処理
//================================================
$neolines = array();
$before_line_num = 0;
$was_set = false;
// 最初に重複要素を消去
if (!empty($lines)) {
$i = -1;
foreach ($lines as $l) {
$i++;
// {{{ 舊データ(ver0.6.0以下)移行措置
if ($l[0] != "\t") {
$l = "\t" . $l;
}
// }}}
$lar = explode("\t", $l);
if ($lar[1] == $host and $lar[2] == $bbs) {
// 重複回避
$before_line_num = $i;
$was_set = true;
continue;
} elseif (!$lar[1] || !$lar[2]) {
// 不正データ(host, bbsなし)もアウト
continue;
} else {
$neolines[] = $l;
}
}
}
if ($setfavita == 2) {
$setfavita = $was_set ? 0 : 1;
}
// 記録データ設定
if ($setfavita && $host && $bbs) {
if (!is_string($itaj) || strlen($itaj) == 0) {
$itaj = $bbs;
}
$newdata = "\t{$host}\t{$bbs}\t{$itaj}";
require_once P2_LIB_DIR . '/getsetposlines.inc.php';
$rec_lines = getSetPosLines($neolines, $newdata, $before_line_num, $setfavita);
// 解除
} else {
$rec_lines = $neolines;
}
$cont = '';
if (!empty($rec_lines)) {
foreach ($rec_lines as $l) {
$cont .= $l . "\n";
}
}
// 書き込む
if (FileCtl::file_write_contents($favita_brd, $cont) === false) {
p2die('cannot write file.');
}
return true;
}
示例6: mb_convert_encoding
if (is_array($channelInfo) && array_key_exists('title', $channelInfo)) {
$site = mb_convert_encoding($channelInfo['title'], 'CP932', 'UTF-8,CP51932,CP932,ASCII');
}
}
}
}
// ログに記録する変數を最低限のサニタイズ
$xml = preg_replace_callback('/\\s/', 'rawurlencode', $xml);
$site = preg_replace('/\\s+/', ' ', $site);
$site = p2h($site);
// }}}
// {{{ 読み込み
// rss_pathファイルがなければ生成
FileCtl::make_datafile($_conf['expack.rss.setting_path']);
// rss_path読み込み;
$lines = FileCtl::file_read_lines($_conf['expack.rss.setting_path'], FILE_IGNORE_NEW_LINES);
// }}}
// {{{ 処理
// 最初に重複要素を消去
if ($lines) {
$i = -1;
unset($neolines);
foreach ($lines as $l) {
$i++;
$lar = explode("\t", $l);
if ($lar[1] == $xml) {
// 重複回避
$before_line_num = $i;
continue;
} elseif (strlen($lar[1]) == 0) {
// URLなしもアウト
示例7: invoke
/**
* スレッドのdatをダウンロードし、保存する
*
* @param ThreadRead $thread
* @return bool
*/
public static function invoke(ThreadRead $thread)
{
global $_conf;
// {{{ 既得datの取得レス數が適正かどうかを念のためチェック
if (file_exists($thread->keydat)) {
$dls = FileCtl::file_read_lines($thread->keydat);
if (!$dls || count($dls) != $thread->gotnum) {
// echo 'bad size!<br>';
unlink($thread->keydat);
$thread->gotnum = 0;
}
} else {
$thread->gotnum = 0;
}
// }}}
// {{{ offlaw.cgiからdatをダウンロード
$host = $thread->host;
$bbs = $thread->bbs;
$key = $thread->key;
if ($thread->gotnum == 0) {
$option = '';
$append = false;
} else {
$option = sprintf('%d-', $thread->gotnum + 1);
$append = true;
}
// http://[SERVER]/bbs/offlaw.cgi/[BBS]/[KEY]/[OPTION];
$url = "http://{$host}/bbs/offlaw.cgi/{$bbs}/{$key}/{$option}";
$tempfile = $thread->keydat . '.tmp';
FileCtl::mkdirFor($tempfile);
if ($append) {
touch($tempfile, filemtime($thread->keydat));
} elseif (file_exists($tempfile)) {
unlink($tempfile);
}
$response = P2Util::fileDownload($url, $tempfile);
if ($response->isError()) {
if (304 != $response->code) {
$thread->diedat = true;
}
return false;
}
// }}}
// {{{ ダウンロードした各行をチェックしつつローカルdatに書き込み
$lines = file($tempfile);
unlink($tempfile);
if ($append) {
$fp = fopen($thread->keydat, 'ab');
} else {
$fp = fopen($thread->keydat, 'wb');
}
if (!$fp) {
p2die("cannot write file. ({$thread->keydat})");
}
flock($fp, LOCK_EX);
foreach ($lines as $i => $line) {
// 取得済みレス數をインクリメント
$thread->gotnum++;
// 行を分解、要素數チェック (厳密には === 6)
$lar = explode('<>', rtrim($line));
if (count($lar) >= 5) {
// レス番號は保存しないので取り出す
$resnum = (int) array_shift($lar);
// レス番號と取得済みレス數が異なっていたらあぼーん扱い
while ($thread->gotnum < $resnum) {
$abn = "あぼーん<>あぼーん<>あぼーん<>あぼーん<>";
if ($thread->gotnum == 1) {
$abn .= $lar[4];
// スレタイトル
}
$abn .= "\n";
fwrite($fp, $abn);
$thread->gotnum++;
}
// 行を書き込む
fwrite($fp, implode('<>', $lar) . "\n");
} else {
$thread->gotnum--;
$lineno = $i + 1;
P2Util::pushInfoHtml("<p>rep2 info: dat書式エラー: line {$lineno} of {$url}.</p>");
break;
}
}
flock($fp, LOCK_UN);
fclose($fp);
// }}}
$thread->isonline = true;
return true;
}
示例8: elseif
} else {
P2Util::pushInfoHtml('<p>×設定を更新保存できませんでした</p>');
}
// }}}
// {{{ ■デフォルトに戻すボタンが押されていたら
} elseif (!empty($_POST['submit_default'])) {
if (@unlink($path)) {
P2Util::pushInfoHtml('<p>○リストを空にしました</p>');
} else {
P2Util::pushInfoHtml('<p>×リストを空にできませんでした</p>');
}
}
// }}}
// {{{ リスト読み込み
$formdata = array();
if ($lines = FileCtl::file_read_lines($path, FILE_IGNORE_NEW_LINES)) {
$i = 0;
foreach ($lines as $l) {
$lar = explode("\t", $l);
if (strlen($lar[0]) == 0) {
continue;
}
$ar = array('cond' => $lar[0], 'word' => $lar[0], 'ht' => isset($lar[1]) ? $lar[1] : '--', 'hn' => isset($lar[2]) ? (int) $lar[2] : 0, 're' => '', 'ic' => '', 'bbs' => '', 'tt' => '');
// 板縛り
if (preg_match('!<bbs>(.+?)</bbs>!', $ar['word'], $matches)) {
$ar['bbs'] = $matches[1];
}
$ar['word'] = preg_replace('!<bbs>(.*)</bbs>!', '', $ar['word']);
// タイトル縛り
if (preg_match('!<title>(.+?)</title>!', $ar['word'], $matches)) {
$ar['tt'] = $matches[1];
示例9: checkUpdatan
/**
* オンライン上のrep2-expack最新版をチェックする
*
* @return string HTML
*/
function checkUpdatan()
{
global $_conf, $p2web_url_r, $expack_url_r, $expack_dl_url_r, $expack_hist_url_r;
$no_p2status_dl_flag = false;
$ver_txt_url = $_conf['expack.web_url'] . 'version.txt';
$cachefile = P2Util::cacheFileForDL($ver_txt_url);
FileCtl::mkdirFor($cachefile);
if (file_exists($cachefile)) {
// キャッシュの更新が指定時間以內なら
if (filemtime($cachefile) > time() - $_conf['p2status_dl_interval'] * 86400) {
$no_p2status_dl_flag = true;
}
}
if (empty($no_p2status_dl_flag)) {
P2Util::fileDownload($ver_txt_url, $cachefile);
}
$ver_txt = FileCtl::file_read_lines($cachefile, FILE_IGNORE_NEW_LINES);
$update_ver = $ver_txt[0];
$kita = 'キタ━━━━(゚∀゚)━━━━!!!!!!';
//$kita = 'キタ*・゚゚・*:.。..。.:*・゚(゚∀゚)゚・*:.。. .。.:*・゚゚・*!!!!!';
$newversion_found_html = '';
if ($update_ver && version_compare($update_ver, $_conf['p2version'], '>')) {
$newversion_found_html = <<<EOP
<div class="kakomi">
{$kita}<br>
オンライン上に 拡張パック の最新バージョンを見つけますた。<br>
rep2-expack rev.{$update_ver} → <a href="{$expack_dl_url_r}"{$_conf['ext_win_target_at']}>ダウンロード</a> / <a href="{$expack_hist_url_r}"{$_conf['ext_win_target_at']}>更新記録</a>
</div>
<hr class="invisible">
EOP;
}
return $newversion_found_html;
}
示例10: setFav
/**
* お気にスレをセットする
*
* @param string $host
* @param string $bbs
* @param string $key
* @param int|string $setfavita 0(解除), 1(追加), 2(トグル), top, up, down, bottom
* @param string $ttitle
* @param int|null $setnum
* @return bool
*/
function setFav($host, $bbs, $key, $setfav, $ttitle = null, $setnum = null)
{
global $_conf;
//==================================================================
// key.idx
//==================================================================
// idxfileのパスを求めて
$idxfile = P2Util::idxDirOfHostBbs($host, $bbs) . $key . '.idx';
// 板ディレクトリが無ければ作る
// FileCtl::mkdirFor($idxfile);
// 既にidxデータがあるなら読み込む
if ($lines = FileCtl::file_read_lines($idxfile, FILE_IGNORE_NEW_LINES)) {
$data = explode('<>', $lines[0]);
} else {
$data = array_fill(0, 12, '');
if (is_string($ttitle) && strlen($ttitle)) {
$data[0] = p2h($ttitle, false);
}
}
// {{{ スレッド.idx 記録
if (($setfav == '0' || $setfav == '1') && $_conf['favlist_idx'] == $_conf['orig_favlist_idx']) {
// お気にスレから外した結果、idxの意味がなくなれば削除する
if ($setfav == '0' and !$data[3] && !$data[4] && $data[9] <= 1) {
@unlink($idxfile);
} else {
$sar = array($data[0], $key, $data[2], $data[3], $data[4], $data[5], $setfav, $data[7], $data[8], $data[9], $data[10], $data[11], $data[12]);
P2Util::recKeyIdx($idxfile, $sar);
}
}
// }}}
//==================================================================
// favlist.idx
//==================================================================
if (!is_null($setnum) && $_conf['expack.misc.multi_favs']) {
if (0 < $setnum && $setnum <= $_conf['expack.misc.favset_num']) {
$favlist_idx = $_conf['pref_dir'] . sprintf('/p2_favlist%d.idx', $setnum);
} else {
$favlist_idx = $_conf['orig_favlist_idx'];
}
} else {
$favlist_idx = $_conf['favlist_idx'];
}
// favlistファイルがなければ生成
FileCtl::make_datafile($favlist_idx);
// favlist読み込み
$favlines = FileCtl::file_read_lines($favlist_idx, FILE_IGNORE_NEW_LINES);
//================================================
// 処理
//================================================
$neolines = array();
$before_line_num = 0;
$was_set = false;
// 最初に重複要素を削除しておく
if (!empty($favlines)) {
$i = -1;
foreach ($favlines as $l) {
$i++;
$lar = explode('<>', $l);
// 重複回避
if ($lar[1] == $key && $lar[11] == $bbs) {
$before_line_num = $i;
// 移動前の行番號をセット
$was_set = true;
continue;
// keyのないものは不正データなのでスキップ
} elseif (!$lar[1]) {
continue;
} else {
$neolines[] = $l;
}
}
}
if ($setfav == 2) {
$setfav = $was_set ? 0 : 1;
}
// 記録データ設定
if ($setfav) {
if (!function_exists('getSetPosLines')) {
include P2_LIB_DIR . '/getsetposlines.inc.php';
}
$newdata = "{$data[0]}<>{$key}<>{$data[2]}<>{$data[3]}<>{$data[4]}<>{$data[5]}<>1<>{$data[7]}<>{$data[8]}<>{$data[9]}<>{$host}<>{$bbs}";
$rec_lines = getSetPosLines($neolines, $newdata, $before_line_num, $setfav);
} else {
$rec_lines = $neolines;
}
$cont = '';
if (!empty($rec_lines)) {
foreach ($rec_lines as $l) {
$cont .= $l . "\n";
//.........這裏部分代碼省略.........
示例11: kspDetectThread
//=================================================
// スレの指定
//=================================================
kspDetectThread();
// global $host, $bbs, $key, $ls
$aThread = new Thread();
// hostを分解してidxファイルのパスを求める
if (!isset($aThread->keyidx)) {
$aThread->setThreadPathInfo($host, $bbs, $key);
}
$aThread->itaj = P2Util::getItaName($host, $bbs);
if (!$aThread->itaj) {
$aThread->itaj = $aThread->bbs;
}
// idxファイルがあれば読み込む
if ($lines = FileCtl::file_read_lines($aThread->keyidx, FILE_IGNORE_NEW_LINES)) {
$idx_data = explode('<>', $lines[0]);
} else {
p2die('指定されたスレッドのidxがありません。');
}
$aThread->getThreadInfoFromIdx();
//=================================================
// 表示用変數を設定
//=================================================
$ptitle_ht = $aThread->ttitle_hd;
$thread_url = "{$_conf['read_php']}?host={$host}&bbs={$bbs}&key={$key}{$_conf['k_at_a']}";
$params = array();
if (!empty($_GET['from_read_new'])) {
$params['from_read_new'] = '1';
}
$default = !empty($_GET['spm_default']) ? intval($_GET['spm_default']) : '';
示例12: array
EOP;
}
$body_at = $_conf['ktai'] ? $_conf['k_colors'] : ' onload="top.document.title=self.document.title;"';
echo "</head><body{$body_at}>\n";
P2Util::printInfoHtml();
//================================================================
// メイン部分HTML表示
//================================================================
//================================================================
// お気に板
//================================================================
// favitaファイルがなければ生成
FileCtl::make_datafile($_conf['favita_brd']);
// favita読み込み
$lines = FileCtl::file_read_lines($_conf['favita_brd'], FILE_IGNORE_NEW_LINES);
$okini_itas = array();
$i = 0;
if (is_array($lines)) {
foreach ($lines as $l) {
if (preg_match("/^\t?(.+?)\t(.+?)\t(.+?)\$/", $l, $matches)) {
$id = "li{$i}";
$okini_itas[$id]['itaj'] = $itaj = rtrim($matches[3]);
$okini_itas[$id]['itaj_en'] = $itaj_en = UrlSafeBase64::encode($itaj);
$okini_itas[$id]['host'] = $host = $matches[1];
$okini_itas[$id]['bbs'] = $bbs = $matches[2];
$okini_itas[$id]['itaj_view'] = p2h($itaj);
$okini_itas[$id]['itaj_ht'] = "&itaj_en=" . $itaj_en;
$okini_itas[$id]['value'] = StrCtl::toJavaScript("{$host}@{$bbs}@{$itaj_en}");
$i++;
}
示例13: menu_iphone_show_feed_list
/**
* フィードリストを表示する
*
* @param string $title
* @param int $no
* @return void
*/
function menu_iphone_show_feed_list($title, $no = null)
{
global $_conf;
require_once P2EX_LIB_DIR . '/rss/common.inc.php';
echo "<ul id=\"rss{$no}\" title=\"{$title}\">";
$errors = array();
if ($rss_list = FileCtl::file_read_lines($_conf['expack.rss.setting_path'], FILE_IGNORE_NEW_LINES)) {
foreach ($rss_list as $rss_info) {
$p = explode("\t", $rss_info);
if (count($p) > 1) {
$site = $p[0];
$xml = $p[1];
if (!empty($p[2])) {
$atom = 1;
$atom_q = '&atom=1';
} else {
$atom = 0;
$atom_q = '';
}
$localpath = rss_get_save_path($xml);
if (PEAR::isError($localpath)) {
$errors[] = array($site, $localpath->getMessage());
} else {
$mtime = file_exists($localpath) ? filemtime($localpath) : 0;
$site_en = UrlSafeBase64::encode($site);
$xml_en = rawurlencode($xml);
$rss_q = sprintf('?xml=%s&site_en=%s%s&mt=%d', $xml_en, $site_en, $atom_q, $mtime);
$rss_q_ht = p2h($rss_q);
echo "<li><a href=\"subject_rss.php{$rss_q_ht}\" target=\"_self\">{$site}</a></li>";
}
}
}
}
if (count($errors)) {
echo '<li class="group">エラー</li>';
foreach ($errors as $error) {
echo "<li>{$error[0]} - {$error[1]}</li>";
}
}
//echo '<li class="group"> </li>';
echo '<li><a href="editrss.php';
if ($_conf['expack.misc.multi_favs']) {
echo '?m_rss_set=' . $no;
}
echo '" class="align-r" target="_self">編集</a></li>';
echo "</ul>\n";
}
示例14: elseif
$checked_hists = $_POST['checked_hists'];
} elseif (isset($_GET['checked_hists'])) {
$checked_hists = $_GET['checked_hists'];
}
$checked_hists and deleMsg($checked_hists);
}
// データPHP形式(p2_res_hist.dat.php, タブ區切り)の書き込み履歴を、dat形式(p2_res_hist.dat, <>區切り)に変換する
P2Util::transResHistLogPhpToDat();
//======================================================================
// メイン
//======================================================================
//==================================================================
// 特殊DAT読み
//==================================================================
// 読み込んで
if (!($datlines = FileCtl::file_read_lines($_conf['res_hist_dat'], FILE_IGNORE_NEW_LINES))) {
echo '<html><head><title>', $ptitle, '</title></head>', '<body><p>書き込み履歴內容は空っぽのようです</p></body></html>';
exit;
}
// ファイルの下に記録されているものが新しい
$datlines = array_reverse($datlines);
$aResHist = new ResHist();
$aResHist->readLines($datlines);
// HTMLプリント用変數
$htm['checkall'] = '全てのチェックボックスを
<input type="button" onclick="hist_checkAll(true)" value="選択">
<input type="button" onclick="hist_checkAll(false)" value="解除">';
$htm['toolbar'] = <<<EOP
チェックした項目を<input type="submit" name="submit" value="{$deletemsg_st}">
{$htm['checkall']}
EOP;
示例15: readNew
function readNew($aThread)
{
global $_conf, $newthre_num, $STYLE;
global $word;
static $favlist_titles = null;
if ($_conf['expack.misc.multi_favs'] && is_null($favlist_titles)) {
$favlist_titles = FavSetManager::getFavSetTitles('m_favlist_set');
if (empty($favlist_titles)) {
$favlist_titles = array();
}
if (!isset($favlist_titles[0]) || $favlist_titles[0] == '') {
$favlist_titles[0] = 'お気にスレ';
}
for ($i = 1; $i <= $_conf['expack.misc.favset_num']; $i++) {
if (!isset($favlist_titles[$i]) || $favlist_titles[$i] == '') {
$favlist_titles[$i] = 'お気にスレ' . $i;
}
}
}
$newthre_num++;
//==========================================================
// idxの読み込み
//==========================================================
// hostを分解してidxファイルのパスを求める
$aThread->setThreadPathInfo($aThread->host, $aThread->bbs, $aThread->key);
// FileCtl::mkdirFor($aThread->keyidx); // 板ディレクトリが無ければ作る // この操作はおそらく不要
$aThread->itaj = P2Util::getItaName($aThread->host, $aThread->bbs);
if (!$aThread->itaj) {
$aThread->itaj = $aThread->bbs;
}
// idxファイルがあれば読み込む
if ($lines = FileCtl::file_read_lines($aThread->keyidx, FILE_IGNORE_NEW_LINES)) {
$data = explode('<>', $lines[0]);
} else {
$data = array_fill(0, 12, '');
}
$aThread->getThreadInfoFromIdx();
//==================================================================
// DATのダウンロード
//==================================================================
if (!($word and file_exists($aThread->keydat))) {
$aThread->downloadDat();
}
// DATを読み込み
$aThread->readDat();
$aThread->setTitleFromLocal();
// ローカルからタイトルを取得して設定
//===========================================================
// 表示レス番の範囲を設定
//===========================================================
// 取得済みなら
if ($aThread->isKitoku()) {
$from_num = $aThread->readnum + 1 - $_conf['respointer'] - $_conf['before_respointer_new'];
if ($from_num > $aThread->rescount) {
$from_num = $aThread->rescount - $_conf['respointer'] - $_conf['before_respointer_new'];
}
if ($from_num < 1) {
$from_num = 1;
}
//if (!$aThread->ls) {
$aThread->ls = "{$from_num}-";
//}
}
$aThread->lsToPoint();
//==================================================================
// ヘッダ 表示
//==================================================================
$motothre_url = $aThread->getMotoThread(false, '');
$ttitle_en = UrlSafeBase64::encode($aThread->ttitle);
$ttitle_en_q = '&ttitle_en=' . $ttitle_en;
$bbs_q = '&bbs=' . $aThread->bbs;
$key_q = '&key=' . $aThread->key;
$host_bbs_key_q = 'host=' . $aThread->host . $bbs_q . $key_q;
$popup_q = '&popup=1';
// require_once P2_LIB_DIR . '/read_header.inc.php';
$prev_thre_num = $newthre_num - 1;
$next_thre_num = $newthre_num + 1;
if ($prev_thre_num != 0) {
$prev_thre_ht = "<a href=\"#ntt{$prev_thre_num}\">▲</a>";
} else {
$prev_thre_ht = '';
}
$next_thre_ht = "<a id=\"ntta{$next_thre_num}\" href=\"#ntt{$next_thre_num}\">▼</a>";
P2Util::printInfoHtml();
// ヘッダ部分HTML
$read_header_ht = <<<EOP
<table id="ntt{$newthre_num}" class="toolbar">
<tr>
<td class="lblock"><h3 class="thread_title">{$aThread->ttitle_hd}</h3></td>
<td class="rblock">{$prev_thre_ht} {$next_thre_ht}</td>
</tr>
</table>
EOP;
//==================================================================
// ローカルDatを読み込んでHTML表示
//==================================================================
$aThread->resrange['nofirst'] = true;
$GLOBALS['newres_to_show_flag'] = false;
if ($aThread->rescount) {
//.........這裏部分代碼省略.........