예제 #1
0
 public function getPagedList($conds, $order, $pageNum = 1, $pageSize = 20, $showNum = 9)
 {
     $count = $this->where($conds)->count();
     if (!$count) {
         return $count;
     }
     $totalPage = ceil($count / $pageSize);
     $pageNum < 1 && ($pageNum = 1);
     $pageNum > $totalPage && ($pageNum = $totalPage);
     $limit = ($pageNum - 1) * $pageSize . ', ' . $pageSize;
     $list = $this->getList($conds, $order, $limit);
     if (false === $list) {
         return $list;
     }
     $numbers = array();
     $left = ceil($showNum / 2);
     $right = $showNum - $left;
     if ($pageNum - $left <= 0) {
         for ($index = 1; $index <= min($totalPage, $showNum); $index++) {
             array_push($numbers, $index);
         }
     } elseif ($pageNum + $right >= $totalPage) {
         for ($index = $totalPage; $index > max($totalPage - $showNum, 1); $index--) {
             array_unshift($numbers, $index);
         }
     } else {
         for ($index = $pageNum - $left + 1; $index <= $pageNum + $right; $index++) {
             array_push($numbers, $index);
         }
     }
     return array('current_page' => $pageNum, 'total_page' => $totalPage, 'total_count' => $count, 'show_num' => $numbers, 'paged_url' => get_curr_url(true), 'data_list' => $list);
 }
예제 #2
0
파일: server.php 프로젝트: GnuPG-Auth/docs
function genToken($userdata = NULL)
{
    $characters = '0123456789abcdefghijklmnopqrstuvwxyz';
    $string = '';
    for ($p = 0; $p < 30; $p++) {
        $string .= $characters[mt_rand(0, strlen($characters))];
    }
    return base64_encode(get_curr_url($_SERVER) . ";" . $string . ";" . $userdata);
}