. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Core\Api\Route; use Espo\Core\Api\Route; class RouteParamsFetcher { /** * @param array $args * @return array */ public function fetch(Route $item, array $args): array { $params = []; $routeParams = $item->getParams(); $setKeyList = []; foreach (array_keys($routeParams) as $key) { $value = $routeParams[$key]; $paramName = $key; if ($value[0] === ':') { $realKey = substr($value, 1); $params[$paramName] = $args[$realKey]; $setKeyList[] = $realKey; continue; } $params[$paramName] = $value; } foreach ($args as $key => $value) { if (in_array($key, $setKeyList)) { continue; } $params[$key] = $value; } return $params; } }