Example #1
0
 /**
  * url加密 参数解密
  */
 function makeEncryptLinkAndDecryptParams()
 {
     $params = $this->params;
     $link_type = $this->params['link_type'];
     $dot = $this->params['dot'];
     $ext = $this->params['ext'];
     $this->view->cleanLinkCache();
     $this->config->set('url', array('rewrite' => false, 'ext' => $ext, 'dot' => $dot, 'type' => $link_type));
     $this->view->setLinkBase('');
     $link = $this->view->slink('Main:getUrlSecurityParams', array('p1' => $params['p1'], 'p2' => $params['p2'], 'p3' => $params['p3']));
     $url_start = 0;
     switch ($link_type) {
         case 1:
         case 3:
             $url_start = 2;
             $index_file_name = $this->config->get('url', 'index');
             if (strcasecmp($index_file_name, 'index.php') != 0) {
                 $url_start += strlen($index_file_name);
             } else {
                 $url_start += 1;
             }
             break;
         case 2:
         case 4:
         case 5:
             $url_start = strlen($this->config->get('url', 'index')) + 2;
             break;
     }
     $router = new Router(parent::getConfig());
     $r = $router->setRouterParams(explode($dot, substr($link, $url_start)))->getRouter();
     $result = $this->sParams($r->getParams());
     $this->display($result);
 }