Ejemplo n.º 1
0
 /**
  * Method to build a link to the specified page/action with the provided
  * data and params.
  *
  * @see XenForo_Route_BuilderInterface
  */
 public function buildLink($originalPrefix, $outputPrefix, $action, $extension, $data, array &$extraParams)
 {
     if ($data) {
         XenForo_Link::prepareExtensionAndAction($extension, $action);
         $actionParts = explode('/', $action, 2);
         $url = $outputPrefix . '/' . $actionParts[0];
         switch (strtolower($actionParts[0])) {
             case 'permission':
                 if (!empty($data['permission_group_id']) && !empty($data['permission_id'])) {
                     $url .= '/' . $data['permission_group_id'] . '/' . $data['permission_id'];
                 }
                 break;
             case 'permission-group':
                 if (!empty($data['permission_group_id'])) {
                     $url .= '/' . $data['permission_group_id'];
                 }
                 break;
             case 'interface-group':
                 if (!empty($data['interface_group_id'])) {
                     $url .= '/' . $data['interface_group_id'];
                 }
                 break;
         }
         if (isset($actionParts[1])) {
             $url .= '/' . $actionParts[1];
         }
         return $url . $extension;
     }
     return false;
 }
Ejemplo n.º 2
0
 /**
  * Method to build a link to the specified page/action with the provided
  * data and params.
  *
  * @see XenForo_Route_BuilderInterface
  */
 public function buildLink($originalPrefix, $outputPrefix, $action, $extension, $data, array &$extraParams)
 {
     if (is_array($data) && isset($data['original_prefix'], $data['route_type'])) {
         XenForo_Link::prepareExtensionAndAction($extension, $action);
         return "{$outputPrefix}/{$data['route_type']}/{$data['original_prefix']}/{$action}{$extension}";
     } else {
         return false;
     }
 }
Ejemplo n.º 3
0
 /**
  * Method to build a link to the specified page/action with the provided
  * data and params.
  *
  * @see XenForo_Route_BuilderInterface
  */
 public function buildLink($originalPrefix, $outputPrefix, $action, $extension, $data, array &$extraParams)
 {
     if (is_array($data)) {
         XenForo_Link::prepareExtensionAndAction($extension, $action);
         if (strpos($action, '-option') !== false) {
             if (isset($data['option_id'])) {
                 return "{$outputPrefix}/{$action}/{$data['option_id']}{$extension}";
             }
         } else {
             if (isset($data['group_id'])) {
                 return "{$outputPrefix}/{$action}/{$data['group_id']}{$extension}";
             }
         }
     }
     return false;
 }