y__and_queries ) { $counts = $filters->get_attribute_counts( $request, $taxonomy__and_queries ); foreach ( $counts as $key => $value ) { $data['attribute_counts'][] = (object) [ 'term' => $key, 'count' => $value, ]; } } } if ( ! empty( $request['calculate_rating_counts'] ) ) { $filter_request = clone $request; $counts = $filters->get_rating_counts( $filter_request ); $data['rating_counts'] = []; foreach ( $counts as $key => $value ) { $data['rating_counts'][] = (object) [ 'rating' => $key, 'count' => $value, ]; } } if ( ! empty( $request['calculate_taxonomy_counts'] ) ) { $taxonomies = $request['calculate_taxonomy_counts']; $data['taxonomy_counts'] = []; if ( $taxonomies ) { $counts = $filters->get_taxonomy_counts( $request, $taxonomies ); foreach ( $counts as $key => $value ) { $data['taxonomy_counts'][] = (object) [ 'term' => $key, 'count' => $value, ]; } } } return rest_ensure_response( $this->schema->get_item_response( $data ) ); } /** * Get the query params for collections of products. * * @return array */ public function get_collection_params() { $params = ( new Products( $this->schema_controller, $this->schema ) )->get_collection_params(); $params['calculate_price_range'] = [ 'description' => __( 'If true, calculates the minimum and maximum product prices for the collection.', 'woocommerce' ), 'type' => 'boolean', 'default' => false, ]; $params['calculate_stock_status_counts'] = [ 'description' => __( 'If true, calculates stock counts for products in the collection.', 'woocommerce' ), 'type' => 'boolean', 'default' => false, ]; $params['calculate_attribute_counts'] = [ 'description' => __( 'If requested, calculates attribute term counts for products in the collection.', 'woocommerce' ), 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'taxonomy' => [ 'description' => __( 'Taxonomy name.', 'woocommerce' ), 'type' => 'string', 'context' => [ 'view', 'edit' ], 'readonly' => true, ], 'query_type' => [ 'description' => __( 'Filter condition being performed which may affect counts. Valid values include "and" and "or".', 'woocommerce' ), 'type' => 'string', 'enum' => [ 'and', 'or' ], 'context' => [ 'view', 'edit' ], 'readonly' => true, ], ], ], 'default' => [], ]; $params['calculate_rating_counts'] = [ 'description' => __( 'If true, calculates rating counts for products in the collection.', 'woocommerce' ), 'type' => 'boolean', 'default' => false, ]; $params['calculate_taxonomy_counts'] = [ 'description' => __( 'If requested, calculates taxonomy term counts for products in the collection.', 'woocommerce' ), 'type' => 'array', 'items' => [ 'type' => 'string', 'description' => __( 'Taxonomy name.', 'woocommerce' ), ], 'default' => [], ]; return $params; } }
Warning: Class "Automattic\WooCommerce\StoreApi\Routes\V1\ProductCollectionData" not found in /htdocs/surfshop.ma/wp-content/plugins/woocommerce/src/StoreApi/deprecated.php on line 73
e; return $this; } public function addMethodMappings(array $methodNames) { if (null !== $this->metadataFactory) { throw new ValidatorException('You cannot add custom mappings after setting a custom metadata factory. Configure your metadata factory instead.'); } $this->methodMappings = \array_merge($this->methodMappings, $methodNames); return $this; } public function enableAnnotationMapping() { if (null !== $this->metadataFactory) { throw new ValidatorException('You cannot enable annotation mapping after setting a custom metadata factory. Configure your metadata factory instead.'); } $skipDoctrineAnnotations = 1 > \func_num_args() ? \false : \func_get_arg(0); if (\false === $skipDoctrineAnnotations || null === $skipDoctrineAnnotations) { trigger_deprecation('symfony/validator', '5.2', 'Not passing true as first argument to "%s" is deprecated. Pass true and call "addDefaultDoctrineAnnotationReader()" if you want to enable annotation mapping with Doctrine Annotations.', __METHOD__); $this->addDefaultDoctrineAnnotationReader(); } elseif ($skipDoctrineAnnotations instanceof Reader) { trigger_deprecation('symfony/validator', '5.2', 'Passing an instance of "%s" as first argument to "%s" is deprecated. Pass true instead and call setDoctrineAnnotationReader() if you want to enable annotation mapping with Doctrine Annotations.', \get_debug_type($skipDoctrineAnnotations), __METHOD__); $this->setDoctrineAnnotationReader($skipDoctrineAnnotations); } elseif (\true !== $skipDoctrineAnnotations) { throw new \TypeError(\sprintf('"%s": Argument 1 is expected to be a boolean, "%s" given.', __METHOD__, \get_debug_type($skipDoctrineAnnotations))); } $this->enableAnnotationMapping = \true; return $this; } public function disableAnnotationMapping() { $this->enableAnnotationMapping = \false; $this->annotationReader = null; return $this; } public function setDoctrineAnnotationReader(?Reader $reader) : self { $this->annotationReader = $reader; return $this; } public function addDefaultDoctrineAnnotationReader() : self { $this->annotationReader = $this->createAnnotationReader(); return $this; } public function setMetadataFactory(MetadataFactoryInterface $metadataFactory) { if (\count($this->xmlMappings) > 0 || \count($this->yamlMappings) > 0 || \count($this->methodMappings) > 0 || $this->enableAnnotationMapping) { throw new ValidatorException('You cannot set a custom metadata factory after adding custom mappings. You should do either of both.'); } $this->metadataFactory = $metadataFactory; return $this; } public function setMappingCache(CacheItemPoolInterface $cache) { if (null !== $this->metadataFactory) { throw new ValidatorException('You cannot set a custom mapping cache after setting a custom metadata factory. Configure your metadata factory instead.'); } $this->mappingCache = $cache; return $this; } public function setConstraintValidatorFactory(ConstraintValidatorFactoryInterface $validatorFactory) { $this->validatorFactory = $validatorFactory; return $this; } public function setTranslator(TranslatorInterface $translator) { $this->translator = $translator; return $this; } public function setTranslationDomain(?string $translationDomain) { $this->translationDomain = $translationDomain; return $this; } public function addLoader(LoaderInterface $loader) { $this->loaders[] = $loader; return $this; } public function getLoaders() { $loaders = []; foreach ($this->xmlMappings as $xmlMapping) { $loaders[] = new XmlFileLoader($xmlMapping); } foreach ($this->yamlMappings as $yamlMappings) { $loaders[] = new YamlFileLoader($yamlMappings); } foreach ($this->methodMappings as $methodName) { $loaders[] = new StaticMethodLoader($methodName); } if ($this->enableAnnotationMapping) { $loaders[] = new AnnotationLoader($this->annotationReader); } return \array_merge($loaders, $this->loaders); } public function getValidator() { $metadataFactory = $this->metadataFactory; if (!$metadataFactory) { $loaders = $this->getLoaders(); $loader = null; if (\count($loaders) > 1) { $loader = new LoaderChain($loaders); } elseif (1 === \count($loaders)) { $loader = $loaders[0]; } $metadataFactory = new LazyLoadingMetadataFactory($loader, $this->mappingCache); } $validatorFactory = $this->validatorFactory ?? new ConstraintValidatorFactory(); $translator = $this->translator; if (null === $translator) { $translator = new class implements TranslatorInterface, LocaleAwareInterface { use TranslatorTrait; }; // Force the locale to be 'en' when no translator is provided rather than relying on the Intl default locale // This avoids depending on Intl or the stub implementation being available. It also ensures that Symfony // validation messages are pluralized properly even when the default locale gets changed because they are in // English. $translator->setLocale('en'); } $contextFactory = new ExecutionContextFactory($translator, $this->translationDomain); return new RecursiveValidator($contextFactory, $metadataFactory, $validatorFactory, $this->initializers); } private function createAnnotationReader() : Reader { if (!\class_exists(AnnotationReader::class)) { throw new LogicException('Enabling annotation based constraint mapping requires the packages doctrine/annotations and symfony/cache to be installed.'); } if (\class_exists(ArrayAdapter::class)) { return new PsrCachedReader(new AnnotationReader(), new ArrayAdapter()); } if (\class_exists(CachedReader::class) && \class_exists(ArrayCache::class)) { trigger_deprecation('symfony/validator', '5.4', 'Enabling annotation based constraint mapping without having symfony/cache installed is deprecated.'); return new CachedReader(new AnnotationReader(), new ArrayCache()); } throw new LogicException('Enabling annotation based constraint mapping requires the packages doctrine/annotations and symfony/cache to be installed.'); } }
Fatal error: Uncaught Error: Class "MailPoetVendor\Symfony\Component\Validator\ValidatorBuilder" not found in /htdocs/surfshop.ma/wp-content/plugins/mailpoet/vendor-prefixed/symfony/validator/Validation.php:39 Stack trace: #0 /htdocs/surfshop.ma/wp-content/plugins/mailpoet/lib/Doctrine/Validator/ValidatorFactory.php(25): MailPoetVendor\Symfony\Component\Validator\Validation::createValidatorBuilder() #1 /htdocs/surfshop.ma/wp-content/plugins/mailpoet/generated/FreeCachedContainer.php(3465): MailPoet\Doctrine\Validator\ValidatorFactory->createValidator() #2 /htdocs/surfshop.ma/wp-content/plugins/mailpoet/generated/FreeCachedContainer.php(672): MailPoetGenerated\FreeCachedContainer->getEntityManagerFactoryService() #3 /htdocs/surfshop.ma/wp-content/plugins/mailpoet/generated/FreeCachedContainer.php(5117): MailPoetGenerated\FreeCachedContainer->getEntityManagerService() #4 /htdocs/surfshop.ma/wp-content/plugins/mailpoet/generated/FreeCachedContainer.php(5107): MailPoetGenerated\FreeCachedContainer->getSettingsRepositoryService() #5 /htdocs/surfshop.ma/wp-content/plugins/mailpoet/generated/FreeCachedContainer.php(2861): MailPoetGenerated\FreeCachedContainer->getSettingsControllerService() #6 /htdocs/surfshop.ma/wp-content/plugins/mailpoet/vendor-prefixed/symfony/dependency-injection/Container.php(122): MailPoetGenerated\FreeCachedContainer->getInitializerService() #7 /htdocs/surfshop.ma/wp-content/plugins/mailpoet/vendor-prefixed/symfony/dependency-injection/Container.php(110): MailPoetVendor\Symfony\Component\DependencyInjection\Container->make('MailPoet\\Config...', 1) #8 /htdocs/surfshop.ma/wp-content/plugins/mailpoet/lib/DI/ContainerWrapper.php(39): MailPoetVendor\Symfony\Component\DependencyInjection\Container->get('MailPoet\\Config...') #9 /htdocs/surfshop.ma/wp-content/plugins/mailpoet/mailpoet_initializer.php(92): MailPoet\DI\ContainerWrapper->get('MailPoet\\Config...') #10 /htdocs/surfshop.ma/wp-content/plugins/mailpoet/mailpoet.php(179): require_once('/htdocs/surfsho...') #11 /htdocs/surfshop.ma/wp-settings.php(526): include_once('/htdocs/surfsho...') #12 /htdocs/surfshop.ma/wp-config.php(98): require_once('/htdocs/surfsho...') #13 /htdocs/surfshop.ma/wp-load.php(50): require_once('/htdocs/surfsho...') #14 /htdocs/surfshop.ma/wp-blog-header.php(13): require_once('/htdocs/surfsho...') #15 /htdocs/surfshop.ma/index.php(17): require('/htdocs/surfsho...') #16 {main} thrown in /htdocs/surfshop.ma/wp-content/plugins/mailpoet/vendor-prefixed/symfony/validator/Validation.php on line 39