Example #1
0
 /**
  * Lag adresse
  */
 public function make()
 {
     // reset
     self::$html = true;
     self::$suffix = NULL;
     self::$path = NULL;
     self::$elements = array();
     self::$elements_special = array();
     $pagei = false;
     // sjekk parameterene
     for ($i = 0; $i < func_num_args(); $i++) {
         $arg = func_get_arg($i);
         if (!is_int($arg)) {
             // pagei objektet
             if (is_object($arg) && get_class($arg) == "pagei") {
                 $pagei = $arg;
                 continue;
             }
             // hurtigversjon for å legge til enheter
             if (is_array($arg)) {
                 self::add_elms($arg);
                 continue;
             }
             // hurtigversjon for å ikke bruke html
             if ($arg === false) {
                 self::$html = false;
                 continue;
             }
             // hurtigversjon for å legge til suffix
             if (is_string($arg)) {
                 self::$suffix = $arg;
                 continue;
             }
         }
         switch ($arg) {
             case self::PATH:
                 $v = func_get_arg(++$i);
                 self::set_path($v);
                 break;
             case self::ADD:
             case self::ADDS:
                 $v = func_get_arg(++$i);
                 if (is_array($v)) {
                     self::add_elms($v, $arg == self::ADD);
                 } else {
                     $v2 = func_get_arg(++$i);
                     self::add($v, $v2, $arg == self::ADD);
                 }
                 break;
             case self::EVICT:
                 $v = func_get_arg(++$i);
                 self::evict($v);
                 break;
             case self::NOHTML:
                 self::$html = false;
                 break;
             case self::SUFFIX:
                 self::$suffix = func_get_arg(++$i);
                 break;
             case self::PAGEI:
                 $pagei =& func_get_arg(++$i);
                 break;
         }
     }
     // ingen path?
     if (self::$path === NULL) {
         self::set_path($_SERVER['REQUEST_URI']);
     }
     // sidetall?
     if ($pagei && $pagei->get_name) {
         self::$html = false;
         self::evict($pagei->get_name);
         $addr = self::build();
         self::add($pagei->get_name, "<page>", false);
         $addrx = self::build();
         return $pagei->pagenumbers($addr, $addrx);
     }
     return self::build();
 }