Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php namespace Dingo\Api\Transformer\Adapter; use Dingo\Api\Http\Request; use Dingo\Api\..

Decoded Output download

<?php
 namespace Dingo\Api\Transformer\Adapter; use Dingo\Api\Http\Request; use Dingo\Api\Transformer\Binding; use League\Fractal\TransformerAbstract; use Dingo\Api\Contract\Transformer\Adapter; use League\Fractal\Manager as FractalManager; use League\Fractal\Resource\Item as FractalItem; use League\Fractal\Pagination\IlluminatePaginatorAdapter; use Illuminate\Support\Collection as IlluminateCollection; use League\Fractal\Resource\Collection as FractalCollection; use Illuminate\Database\Eloquent\Collection as EloquentCollection; use Illuminate\Contracts\Pagination\Paginator as IlluminatePaginator; class Fractal implements Adapter { protected $fractal; protected $includeKey; protected $includeSeparator; protected $eagerLoading = true; public function __construct(FractalManager $fractal, $includeKey = "include", $includeSeparator = ",", $eagerLoading = true) { $this->fractal = $fractal; $this->includeKey = $includeKey; $this->includeSeparator = $includeSeparator; $this->eagerLoading = $eagerLoading; } public function transform($response, $transformer, Binding $binding, Request $request) { $this->parseFractalIncludes($request); $resource = $this->createResource($response, $transformer, $parameters = $binding->getParameters()); if ($response instanceof IlluminatePaginator) { $paginator = $this->createPaginatorAdapter($response); $resource->setPaginator($paginator); } if ($this->shouldEagerLoad($response)) { $eagerLoads = $this->mergeEagerLoads($transformer, $this->fractal->getRequestedIncludes()); if ($transformer instanceof TransformerAbstract) { $eagerLoads = array_intersect($eagerLoads, $transformer->getAvailableIncludes()); } $response->load($eagerLoads); } foreach ($binding->getMeta() as $key => $value) { $resource->setMetaValue($key, $value); } $binding->fireCallback($resource, $this->fractal); $identifier = isset($parameters["identifier"]) ? $parameters["identifier"] : null; return $this->fractal->createData($resource, $identifier)->toArray(); } protected function shouldEagerLoad($response) { if ($response instanceof IlluminatePaginator) { $response = $response->getCollection(); } return $response instanceof EloquentCollection && $this->eagerLoading; } protected function createPaginatorAdapter(IlluminatePaginator $paginator) { return new IlluminatePaginatorAdapter($paginator); } protected function createResource($response, $transformer, array $parameters) { $key = isset($parameters["key"]) ? $parameters["key"] : null; if ($response instanceof IlluminatePaginator || $response instanceof IlluminateCollection) { return new FractalCollection($response, $transformer, $key); } return new FractalItem($response, $transformer, $key); } public function parseFractalIncludes(Request $request) { $includes = $request->input($this->includeKey); if (!is_array($includes)) { $includes = array_map("trim", array_filter(explode($this->includeSeparator, $includes))); } $this->fractal->parseIncludes($includes); } public function getFractal() { return $this->fractal; } protected function mergeEagerLoads($transformer, $requestedIncludes) { $includes = array_merge($requestedIncludes, $transformer->getDefaultIncludes()); $eagerLoads = array(); foreach ($includes as $key => $value) { $eagerLoads[] = is_string($key) ? $key : $value; } if (property_exists($transformer, "lazyLoadedIncludes")) { $eagerLoads = array_diff($eagerLoads, $transformer->lazyLoadedIncludes); } return $eagerLoads; } public function disableEagerLoading() { $this->eagerLoading = false; return $this; } public function enableEagerLoading() { $this->eagerLoading = true; return $this; } } ?>

Did this file decode correctly?

Original Code

<?php
 namespace Dingo\Api\Transformer\Adapter; use Dingo\Api\Http\Request; use Dingo\Api\Transformer\Binding; use League\Fractal\TransformerAbstract; use Dingo\Api\Contract\Transformer\Adapter; use League\Fractal\Manager as FractalManager; use League\Fractal\Resource\Item as FractalItem; use League\Fractal\Pagination\IlluminatePaginatorAdapter; use Illuminate\Support\Collection as IlluminateCollection; use League\Fractal\Resource\Collection as FractalCollection; use Illuminate\Database\Eloquent\Collection as EloquentCollection; use Illuminate\Contracts\Pagination\Paginator as IlluminatePaginator; class Fractal implements Adapter { protected $fractal; protected $includeKey; protected $includeSeparator; protected $eagerLoading = true; public function __construct(FractalManager $fractal, $includeKey = "\x69\x6e\x63\x6c\165\144\x65", $includeSeparator = "\54", $eagerLoading = true) { $this->fractal = $fractal; $this->includeKey = $includeKey; $this->includeSeparator = $includeSeparator; $this->eagerLoading = $eagerLoading; } public function transform($response, $transformer, Binding $binding, Request $request) { $this->parseFractalIncludes($request); $resource = $this->createResource($response, $transformer, $parameters = $binding->getParameters()); if ($response instanceof IlluminatePaginator) { $paginator = $this->createPaginatorAdapter($response); $resource->setPaginator($paginator); } if ($this->shouldEagerLoad($response)) { $eagerLoads = $this->mergeEagerLoads($transformer, $this->fractal->getRequestedIncludes()); if ($transformer instanceof TransformerAbstract) { $eagerLoads = array_intersect($eagerLoads, $transformer->getAvailableIncludes()); } $response->load($eagerLoads); } foreach ($binding->getMeta() as $key => $value) { $resource->setMetaValue($key, $value); } $binding->fireCallback($resource, $this->fractal); $identifier = isset($parameters["\151\x64\x65\156\164\x69\146\151\x65\x72"]) ? $parameters["\x69\144\x65\156\164\151\146\151\145\x72"] : null; return $this->fractal->createData($resource, $identifier)->toArray(); } protected function shouldEagerLoad($response) { if ($response instanceof IlluminatePaginator) { $response = $response->getCollection(); } return $response instanceof EloquentCollection && $this->eagerLoading; } protected function createPaginatorAdapter(IlluminatePaginator $paginator) { return new IlluminatePaginatorAdapter($paginator); } protected function createResource($response, $transformer, array $parameters) { $key = isset($parameters["\x6b\145\x79"]) ? $parameters["\153\x65\171"] : null; if ($response instanceof IlluminatePaginator || $response instanceof IlluminateCollection) { return new FractalCollection($response, $transformer, $key); } return new FractalItem($response, $transformer, $key); } public function parseFractalIncludes(Request $request) { $includes = $request->input($this->includeKey); if (!is_array($includes)) { $includes = array_map("\164\162\151\155", array_filter(explode($this->includeSeparator, $includes))); } $this->fractal->parseIncludes($includes); } public function getFractal() { return $this->fractal; } protected function mergeEagerLoads($transformer, $requestedIncludes) { $includes = array_merge($requestedIncludes, $transformer->getDefaultIncludes()); $eagerLoads = array(); foreach ($includes as $key => $value) { $eagerLoads[] = is_string($key) ? $key : $value; } if (property_exists($transformer, "\154\x61\172\171\114\x6f\x61\x64\x65\144\111\156\x63\154\x75\x64\145\163")) { $eagerLoads = array_diff($eagerLoads, $transformer->lazyLoadedIncludes); } return $eagerLoads; } public function disableEagerLoading() { $this->eagerLoading = false; return $this; } public function enableEagerLoading() { $this->eagerLoading = true; return $this; } }

Function Calls

None

Variables

None

Stats

MD5 00e9118bae819c3a72540ba9bf9b7ab4
Eval Count 0
Decode Time 94 ms