/**
* 読み取りキャッシュ、デフォルトはファイル キャッシュ、キャッシュ設定はロードされません。
* @param string $name キャッシュ名
* @param $filepath データパス (モジュール名) キャッシュ/cache_$filepath/
* @param string $config 設定名
*/
function getcacheinfo($name, $filepath='', $type='file', $config='') {
pc_base::load_sys_class('cache_factory');
if($config) {
$cacheconfig = pc_base::load_config('cache');
$cache =cache_factory::get_instance($cacheconfig)->get_cache($config);
} その他 {
$cache =cache_factory::get_instance()->get_cache($type);
}
return $cache->cacheinfo($name, '', '', $filepath);
}
/**
* SQL ステートメントを生成します。 $in_cloumn が渡された場合、生成される形式は IN('a', 'b', 'c') です
* @param $data 条件付き配列または文字列
* @param $フロントコネクタ
* @param $in_column フィールド名
* @戻り文字列
*/
function to_sqls($data, $front = ' AND ', $in_column = false) {
if($in_column && is_array($data)) {
$ids = ''.implode('','', $data).'';
$sql = "$in_column IN ($ids)";
$sql を返します。
} その他 {
if ($front == '') {
$front = ' AND ';
}
if(is_array($data) && count($data) > 0) {
$sql = '';
foreach ($data as $key => $val) {
$sql .= $sql ? " $front `$key` = '$val' " : " `$key` = '$val' ";
}
$sql を返します。
} その他 {
$data を返します。
}
}
}
/**
*ページング機能
*
* @param $num メッセージの合計数
* @param $curr_page 現在のページ
* @param $perpage ページごとの表示数
* @param $urlrule URL ルール
* @param $array 追加のメソッドを追加するために使用される、渡す必要がある配列
* @return ページネーション
*/
関数ページ($num, $curr_page, $perpage = 20, $urlrule = '', $array = array(),$setpages = 10) {
if(定義('URLRULE') && $urlrule == '') {
$urlrule = URLRULE;
$array = $GLOBALS['URL_ARRAY'];
} elseif($urlrule == '') {
$urlrule = url_par('page={$page}');
}
$multipage = '';
if($num > $perpage) {
$page = $setpages+1;
$offset = ceil($setpages/2-1);
$pages = ceil($num / $perpage);
if (define('IN_ADMIN') && !define('PAGES'))define('PAGES', $pages);
$from = $curr_page - $offset;
$to = $curr_page + $offset;
$more = 0;
if($page >= $pages) {
$from = 2;
$to = $ページ-1;
} その他 {
if($from
$to = $ページ-1;
$from = 2;
} elseif($to >= $pages) {
$from = $pages-($page-2);
$to = $ページ-1;
}
$more = 1;
}
$multipage .= ''.$num.L('page_item').'';
if($curr_page>0) {
$multipage .= ' '.L('previous').'
if($curr_page==1) {
$multipage .= ' 1';
} elseif($curr_page>6 && $more) {
$multipage .= ' 1...';
} その他 {
$multipage .= ' 1';
}
}
for($i = $from; $i
if($i != $curr_page) {
$multipage .= ' '.$i.'';
} その他 {
$multipage .= ' '.$i.'';
}
}
if($curr_page<$pages) {
if($curr_page<$pages-5 && $more) {
$multipage .= ' ..'.$pages.' '.L('next').'';
} その他 {
$multipage .= ' '.$pages.' '.L('next').'';
}
} elseif($curr_page==$pages) {
$multipage .= ' '.$pages.' ' .L('次').'';
} else {
$multipage .= ' '.$pages.' a href="'.pageurl( $urlrule, $curr_page+1, $array).'" class="a1">'.L('next').'';
}
}
$multipage を返します。
}
chaojie2009 さんのコラムより抜粋
http://www.bkjia.com/PHPjc/478385.html