예제 #1
0
 /**
  * Gets url of download controller.
  * @param string $action Action.
  * @param array  $params Parameters to add in query.
  * @param bool   $absolute Generate absolute url with host url.
  * @return string
  */
 public function getUrlDownloadController($action, array $params = array(), $absolute = false)
 {
     static $rewriteCondition = null;
     if ($rewriteCondition === null) {
         /** @noinspection PhpDynamicAsStaticMethodCallInspection */
         $accessPoints = \CUrlRewriter::getList(array('ID' => 'bitrix:disk.services'));
         if (empty($accessPoints)) {
             $rewriteCondition = "#^/disk/(?<action>[0-9a-zA-Z]+)/(?<fileId>[0-9]+)/(.*)\$#";
         } else {
             $rewrite = reset($accessPoints);
             $rewriteCondition = $rewrite['CONDITION'];
         }
     }
     return ($absolute ? $this->getHostUrl() : '') . $this->buildUrl($rewriteCondition, array('action' => $action, 'ncc' => 1) + $params);
 }