Дон Карлос (kastaneda) wrote,
/**
  * Enter description here...
  *
  * @param unknown_type $num
  * @param unknown_type $name
  * @param unknown_type $flag
  * @return unknown
  */
 function jumpLinks($num,$name,$flag=0)
 {
  $label = ( $flag )? 's':'b';
  $n = $GLOBALS['table'][$name];
  $b = ( isset($_GET[$label]) && $_GET[$label]>0 )? $_GET[$label] : 1;// start from
  $url = $this->cutTok($_SERVER['REQUEST_URI'],$label);//-- cut &b=number from URL ---
  $url = ( strstr($url,'?')? $url:$url.'?');
  $num_res_pg = 20;//--- number of links on a page ---
  $pg = ( $num%$n )? ($num - ($num%$n))/$n + 1 : $num/$n;//--- number of pages ---
  $k = ($b - 1 - ($b - 1)%($num_res_pg*$n))/($num_res_pg*$n);//--- number of steps ---
  $start = 1 + $num_res_pg*$k;//--- new start number ---
  $stop = $num_res_pg + $num_res_pg*$k;//
  $stop = ( $stop > $pg )? $pg : $stop;//--- new stop number ---
  if ( $pg > 1 )//--- all results can't place in one page for given $n ---
  {
   $array['first'] = ( $b <> 1 )? ($b - $n):0;
   $array['last'] = ( $b + $n - 1 < $num )? ($b + $n):0;
   //
   $i = 0;
   for ( $j = $start; $j <= $stop; $j++ )//--- main echo loop ---
   {
    $begin = ($j - 1)*$n + 1;
    if( $b <> $begin )//--- link must be presented ---
        $tmp = array('link'=>' <a href="'.$url.'&'.$label.'='.$begin.'">'.$j.'</a> ');
    else              //--- no link is needed ---
        $tmp = array('link'=>' <b>'.$j.'</b> ');
    $links[++$i] = $tmp;
   }
   $array['links'] = $links;
  }
  $array['url'] = $url;
  $array[$label] = $b;
  $array['n'] = $n;
  //
  return $array;
 }

Я с ума сойду с такой работой...

Tags: webdev, wtf
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded  

  • 6 comments