* @copyright (C) SOFTLAB24 LIMITED * @license Open Source Social Network License (OSSN LICENSE) http://www.opensource-socialnetwork.org/licence * @link https://www.opensource-socialnetwork.org/ */ $pages = range(1, $params['total']); $args = $params['options']; //unset non-required vars unset($_GET['h']); unset($_GET['p']); unset($_GET[$args['offset_name']]); $args_url = OssnPagination::constructUrlArgs(); //if there is only one page don't show pagination if (count($pages) !== 1) { $spilt = array_chunk($pages, 4); $spilt = arraySerialize($spilt); foreach($spilt as $page){ $serialized_pages[] = arraySerialize($page); } $serialized_pages = arraySerialize($serialized_pages); //get key by offset $key = ossn_recursive_array_search($params['offset'], $serialized_pages); $new_total = count($serialized_pages); //get last page $last = array_reverse($serialized_pages[$new_total]); $last = $last[0]; //get first page $first = $serialized_pages[1][1]; if(isset($serialized_pages[$key])){ if(isset($serialized_pages[$key + 1]) && isset($serialized_pages[$key - 1])){ $pages = array_merge($serialized_pages[$key - 1], $serialized_pages[$key], $serialized_pages[$key + 1]); } if(!isset($serialized_pages[$key + 1]) && $key > 1){ $pages = array_merge($serialized_pages[$key - 1], $serialized_pages[$key]); } if($key == 1 && $new_total > 1){ $pages = array_merge($serialized_pages[$key], $serialized_pages[$key + 1]); } if(!isset($pages) && !empty($key)){ $pages = $serialized_pages[$key]; } } echo '
'; }