コード例 #1
0
ファイル: route.php プロジェクト: nibble-arts/oliv
 public static function link($text, $options = array())
 {
     $url = "";
     $val = "";
     $param = "";
     $class = "";
     $lang = "";
     $linkParamString = "";
     // link parameters
     foreach ($options['link'] as $key => $entry) {
         // filter url and var parameters
         switch ($key) {
             case 'url':
                 if ($url = strtolower($entry)) {
                 } else {
                     return $text;
                 }
                 break;
             case 'lang':
                 $lang = $entry;
                 break;
             case 'val':
                 $val = $entry;
                 break;
             default:
                 $linkParamString .= "{$key}='{$entry}' ";
                 break;
         }
     }
     // get common parameters
     if (isset($options['param'])) {
         $param = $options['param'];
     }
     if (isset($options['class'])) {
         $class = $options['class'];
     }
     if (!$lang) {
         $lang = status::lang();
     }
     // if no language use current
     //------------------------------------------------------------------------------
     // create extern link
     if (link_is_extern($url)) {
         $path = $url;
     } else {
         $path = OLIVRoute::makeUrl($lang, $url) . "/";
         if ($val) {
             $path .= $val . "/";
         }
     }
     // insert clipboard
     if ($clipBoard = OLIVClipboard::_()) {
         $clipBoard = "?clipboard={$clipBoard} ";
     }
     // create parameter string
     $param = OLIVRoute::makeParam($param);
     // insert class
     if ($class) {
         $class = "class='{$class}'";
     }
     // return href string
     return "<a {$class} href='{$path}{$clipBoard}' {$linkParamString} {$param}>{$text}</a>";
 }