本文整理汇总了PHP中P2Util::getHostGroupName方法的典型用法代码示例。如果您正苦于以下问题:PHP P2Util::getHostGroupName方法的具体用法?PHP P2Util::getHostGroupName怎么用?PHP P2Util::getHostGroupName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类P2Util
的用法示例。
在下文中一共展示了P2Util::getHostGroupName方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: get_thread_info
/**
* スレッド情報を取得する
*
* @param string $host
* @param string $bbs
* @param string $key
* @return object スレッド情報
*/
function get_thread_info($host, $bbs, $key)
{
global $_conf;
$group = P2Util::getHostGroupName($host);
$info = new stdClass();
$info->type = 'thread';
$info->group = $group;
$info->host = $host;
$info->bbs = $bbs;
$info->key = $key;
$aThread = new Thread();
// hostを分解してidxファイルのパスを求める
$aThread->setThreadPathInfo($host, $bbs, $key);
$key_line = $aThread->getThreadInfoFromIdx();
// $aThread->length をset
$aThread->getDatBytesFromLocalDat();
// 板名を取得
$aThread->itaj = P2Util::getItaName($host, $bbs);
if (!$aThread->itaj) {
if (isset($_GET['itaj_en'])) {
$aThread->itaj = UrlSafeBase64::decode($_GET['itaj_en']);
} else {
$aThread->itaj = $bbs;
}
}
$info->itaj = $aThread->itaj;
// スレタイトルを取得
if (!$aThread->ttitle) {
if (isset($_GET['ttitle_en'])) {
$aThread->setTtitle(UrlSafeBase64::decode($_GET['ttitle_en']));
} else {
$aThread->setTitleFromLocal();
}
}
$info->ttitle = $aThread->ttitle;
// お気にスレ登録状況を取得
$favs = array();
if ($_conf['expack.misc.multi_favs']) {
$favlist_titles = FavSetManager::getFavSetTitles('m_favlist_set');
for ($i = 0; $i <= $_conf['expack.misc.favset_num']; $i++) {
if (!isset($favlist_titles[$i]) || $favlist_titles[$i] == '') {
if ($i == 0) {
$favtitle = 'お気にスレ';
} else {
$favtitle = "お気にスレ{$i}";
}
} else {
$favtitle = $favlist_titles[$i];
}
$favs[$i] = array('title' => $favtitle, 'set' => !empty($aThread->favs[$i]));
}
} else {
$favs[0] = array('title' => 'お気にスレ', 'set' => !empty($aThread->fav));
}
$info->favs = $favs;
// 殿堂チェック
$info->palace = false;
if ($pallines = FileCtl::file_read_lines($_conf['palace_idx'], FILE_IGNORE_NEW_LINES)) {
foreach ($pallines as $l) {
$palarray = explode('<>', $l);
if ($aThread->key == $palarray[1] && $aThread->bbs == $palarray[11]) {
if (P2Util::getHostGroupName($palarray[10]) == $group) {
$info->palace = true;
break;
}
}
}
}
// スレッドあぼーんチェック
$info->taborn = false;
$taborn_idx = P2Util::idxDirOfHostBbs($host, $bbs) . 'p2_threads_aborn.idx';
if ($tabornlines = FileCtl::file_read_lines($taborn_idx, FILE_IGNORE_NEW_LINES)) {
foreach ($tabornlines as $l) {
$tabornarray = explode('<>', $l);
if ($key == $tabornarray[1]) {
$info->taborn = true;
break;
}
}
}
// ログ関連
$hasLog = false;
if (file_exists($aThread->keydat)) {
$info->keydat = $aThread->keydat;
$info->length = $aThread->length;
$hasLog = true;
} else {
$info->keydat = null;
$info->length = -1;
}
if (file_exists($aThread->keyidx)) {
$info->keyidx = $aThread->keyidx;
//.........这里部分代码省略.........
示例2: loadAllFavSet
/**
* すべてのお気にスレ・お気に板を読み込む
*
* @param bool $force
* @return void
*/
public static function loadAllFavSet($force = false)
{
global $_conf;
static $done = false;
if ($done && !$force) {
return;
}
// キャッシュの有無をチェック
$cache_file = $_conf['cache_dir'] . DIRECTORY_SEPARATOR . 'favset_cache.txt';
if ($force || !file_exists($cache_file)) {
$use_cache = false;
} else {
$cache_mtime = filemtime($cache_file);
if (filemtime(__FILE__) > $cache_mtime) {
$use_cache = false;
} else {
$use_cache = true;
}
}
// キャッシュが有効かどうかをチェック
if ($use_cache && file_exists($_conf['orig_favlist_idx']) && filemtime($_conf['orig_favlist_idx']) > $cache_mtime) {
$use_cache = false;
}
if ($use_cache && file_exists($_conf['orig_favita_brd']) && filemtime($_conf['orig_favita_brd']) > $cache_mtime) {
$use_cache = false;
}
// 読み込み対象ファイルのリストを作成すると同時にキャッシュが有効かどうかをチェック
$favlist_idxes = array($_conf['orig_favlist_idx']);
$favita_brds = array($_conf['orig_favita_brd']);
for ($i = 1; $i <= $_conf['expack.misc.favset_num']; $i++) {
$favlist_idx = $_conf['pref_dir'] . DIRECTORY_SEPARATOR . sprintf('p2_favlist%d.idx', $i);
if ($use_cache && file_exists($favlist_idx) && filemtime($favlist_idx) > $cache_mtime) {
$use_cache = false;
}
$favlist_idxes[$i] = $favlist_idx;
$favita_brd = $_conf['pref_dir'] . DIRECTORY_SEPARATOR . sprintf('p2_favita%d.brd', $i);
if ($use_cache && file_exists($favita_brd) && filemtime($favita_brd) > $cache_mtime) {
$use_cache = false;
}
$favita_brds[$i] = $favita_brd;
}
// キャッシュが有効なら、それを使う
if ($use_cache) {
$cache = unserialize(file_get_contents($cache_file));
if (is_array($cache)) {
list($_conf['favlists'], $_conf['favitas']) = $cache;
$done = true;
return;
}
}
// すべてのお気にスレを読み込む
$_conf['favlists'] = array();
foreach ($favlist_idxes as $i => $favlist_idx) {
$_conf['favlists'][$i] = array();
if ($favlines = FileCtl::file_read_lines($favlist_idx, FILE_IGNORE_NEW_LINES)) {
foreach ($favlines as $l) {
$lar = explode('<>', $l);
// bbsのないものは不正データなのでスキップ
if (!isset($lar[11])) {
continue;
}
$key = $lar[1];
$host = $lar[10];
$bbs = $lar[11];
$group = P2Util::getHostGroupName($host);
$_conf['favlists'][$i][] = array('group' => $group, 'host' => $host, 'bbs' => $bbs, 'key' => $key);
}
}
}
// すべてのお気に板を読み込む
$_conf['favitas'] = array();
foreach ($favita_brds as $i => $favita_brd) {
$_conf['favitas'][$i] = array();
if ($favlines = FileCtl::file_read_lines($favita_brd, FILE_IGNORE_NEW_LINES)) {
foreach ($favlines as $l) {
$lar = explode("\t", $l);
$host = $lar[1];
$bbs = $lar[2];
$itaj = $lar[3];
$group = P2Util::getHostGroupName($host);
$_conf['favitas'][$i][] = array('group' => $group, 'host' => $host, 'bbs' => $bbs, 'itaj' => $itaj);
}
}
}
//キャッシュに保存する
if (!is_dir($_conf['pref_dir'])) {
FileCtl::mkdirFor($cache_file);
}
file_put_contents($cache_file, serialize(array($_conf['favlists'], $_conf['favitas'])));
$done = true;
}
示例3: getFavStatus
/**
* お気に入り登録状態を取得する
*/
public function getFavStatus()
{
global $_conf;
if (!is_array($this->_favs)) {
if (!$_conf['expack.misc.multi_favs'] || $_conf['expack.misc.favset_num'] < 0) {
$this->_favs = array($this->fav);
} else {
$this->_favs = array_fill(0, $_conf['expack.misc.favset_num'] + 1, false);
$group = P2Util::getHostGroupName($this->host);
foreach ($_conf['favlists'] as $num => $favlist) {
foreach ($favlist as $fav) {
if ($this->key == $fav['key'] && $this->bbs == $fav['bbs'] && $group == $fav['group']) {
$this->_favs[$num] = true;
break;
}
}
}
}
}
return $this->_favs;
}