Issues (439)

Security Analysis    no request data  

This project does not seem to handle request data directly as such no vulnerable execution paths were found.

  Cross-Site Scripting
Cross-Site Scripting enables an attacker to inject code into the response of a web-request that is viewed by other users. It can for example be used to bypass access controls, or even to take over other users' accounts.
  File Exposure
File Exposure allows an attacker to gain access to local files that he should not be able to access. These files can for example include database credentials, or other configuration files.
  File Manipulation
File Manipulation enables an attacker to write custom data to files. This potentially leads to injection of arbitrary code on the server.
  Object Injection
Object Injection enables an attacker to inject an object into PHP code, and can lead to arbitrary code execution, file exposure, or file manipulation attacks.
  Code Injection
Code Injection enables an attacker to execute arbitrary code on the server.
  Response Splitting
Response Splitting can be used to send arbitrary responses.
  File Inclusion
File Inclusion enables an attacker to inject custom files into PHP's file loading mechanism, either explicitly passed to include, or for example via PHP's auto-loading mechanism.
  Command Injection
Command Injection enables an attacker to inject a shell command that is execute with the privileges of the web-server. This can be used to expose sensitive data, or gain access of your server.
  SQL Injection
SQL Injection enables an attacker to execute arbitrary SQL code on your database server gaining access to user data, or manipulating user data.
  XPath Injection
XPath Injection enables an attacker to modify the parts of XML document that are read. If that XML document is for example used for authentication, this can lead to further vulnerabilities similar to SQL Injection.
  LDAP Injection
LDAP Injection enables an attacker to inject LDAP statements potentially granting permission to run unauthorized queries, or modify content inside the LDAP tree.
  Header Injection
  Other Vulnerability
This category comprises other attack vectors such as manipulating the PHP runtime, loading custom extensions, freezing the runtime, or similar.
  Regex Injection
Regex Injection enables an attacker to execute arbitrary code in your PHP process.
  XML Injection
XML Injection enables an attacker to read files on your local filesystem including configuration files, or can be abused to freeze your web-server process.
  Variable Injection
Variable Injection enables an attacker to overwrite program variables with custom data, and can lead to further vulnerabilities.
Unfortunately, the security analysis is currently not available for your project. If you are a non-commercial open-source project, please contact support to gain access.

src/PaymentCard.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
namespace Spatie\SchemaOrg;
4
5
use \Spatie\SchemaOrg\Contracts\PaymentCardContract;
6
use \Spatie\SchemaOrg\Contracts\EnumerationContract;
7
use \Spatie\SchemaOrg\Contracts\FinancialProductContract;
8
use \Spatie\SchemaOrg\Contracts\IntangibleContract;
9
use \Spatie\SchemaOrg\Contracts\PaymentMethodContract;
10
use \Spatie\SchemaOrg\Contracts\ServiceContract;
11
use \Spatie\SchemaOrg\Contracts\ThingContract;
12
13
/**
14
 * A payment method using a credit, debit, store or other card to associate the
15
 * payment with an account.
16
 *
17
 * @see http://schema.org/PaymentCard
18
 *
19
 */
20 View Code Duplication
class PaymentCard extends BaseType implements PaymentCardContract, EnumerationContract, FinancialProductContract, IntangibleContract, PaymentMethodContract, ServiceContract, ThingContract
0 ignored issues
show
This class seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
21
{
22
    /**
23
     * An additional type for the item, typically used for adding more specific
24
     * types from external vocabularies in microdata syntax. This is a
25
     * relationship between something and a class that the thing is in. In RDFa
26
     * syntax, it is better to use the native RDFa syntax - the 'typeof'
27
     * attribute - for multiple types. Schema.org tools may have only weaker
28
     * understanding of extra types, in particular those defined externally.
29
     *
30
     * @param string|string[] $additionalType
31
     *
32
     * @return static
33
     *
34
     * @see http://schema.org/additionalType
35
     */
36
    public function additionalType($additionalType)
37
    {
38
        return $this->setProperty('additionalType', $additionalType);
39
    }
40
41
    /**
42
     * The overall rating, based on a collection of reviews or ratings, of the
43
     * item.
44
     *
45
     * @param \Spatie\SchemaOrg\Contracts\AggregateRatingContract|\Spatie\SchemaOrg\Contracts\AggregateRatingContract[] $aggregateRating
46
     *
47
     * @return static
48
     *
49
     * @see http://schema.org/aggregateRating
50
     */
51
    public function aggregateRating($aggregateRating)
52
    {
53
        return $this->setProperty('aggregateRating', $aggregateRating);
54
    }
55
56
    /**
57
     * An alias for the item.
58
     *
59
     * @param string|string[] $alternateName
60
     *
61
     * @return static
62
     *
63
     * @see http://schema.org/alternateName
64
     */
65
    public function alternateName($alternateName)
66
    {
67
        return $this->setProperty('alternateName', $alternateName);
68
    }
69
70
    /**
71
     * The annual rate that is charged for borrowing (or made by investing),
72
     * expressed as a single percentage number that represents the actual yearly
73
     * cost of funds over the term of a loan. This includes any fees or
74
     * additional costs associated with the transaction.
75
     *
76
     * @param \Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[]|float|float[]|int|int[] $annualPercentageRate
77
     *
78
     * @return static
79
     *
80
     * @see http://schema.org/annualPercentageRate
81
     */
82
    public function annualPercentageRate($annualPercentageRate)
83
    {
84
        return $this->setProperty('annualPercentageRate', $annualPercentageRate);
85
    }
86
87
    /**
88
     * The geographic area where a service or offered item is provided.
89
     *
90
     * @param \Spatie\SchemaOrg\Contracts\AdministrativeAreaContract|\Spatie\SchemaOrg\Contracts\AdministrativeAreaContract[]|\Spatie\SchemaOrg\Contracts\GeoShapeContract|\Spatie\SchemaOrg\Contracts\GeoShapeContract[]|\Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[]|string|string[] $areaServed
91
     *
92
     * @return static
93
     *
94
     * @see http://schema.org/areaServed
95
     */
96
    public function areaServed($areaServed)
97
    {
98
        return $this->setProperty('areaServed', $areaServed);
99
    }
100
101
    /**
102
     * An intended audience, i.e. a group for whom something was created.
103
     *
104
     * @param \Spatie\SchemaOrg\Contracts\AudienceContract|\Spatie\SchemaOrg\Contracts\AudienceContract[] $audience
105
     *
106
     * @return static
107
     *
108
     * @see http://schema.org/audience
109
     */
110
    public function audience($audience)
111
    {
112
        return $this->setProperty('audience', $audience);
113
    }
114
115
    /**
116
     * A means of accessing the service (e.g. a phone bank, a web site, a
117
     * location, etc.).
118
     *
119
     * @param \Spatie\SchemaOrg\Contracts\ServiceChannelContract|\Spatie\SchemaOrg\Contracts\ServiceChannelContract[] $availableChannel
120
     *
121
     * @return static
122
     *
123
     * @see http://schema.org/availableChannel
124
     */
125
    public function availableChannel($availableChannel)
126
    {
127
        return $this->setProperty('availableChannel', $availableChannel);
128
    }
129
130
    /**
131
     * An award won by or for this item.
132
     *
133
     * @param string|string[] $award
134
     *
135
     * @return static
136
     *
137
     * @see http://schema.org/award
138
     */
139
    public function award($award)
140
    {
141
        return $this->setProperty('award', $award);
142
    }
143
144
    /**
145
     * The brand(s) associated with a product or service, or the brand(s)
146
     * maintained by an organization or business person.
147
     *
148
     * @param \Spatie\SchemaOrg\Contracts\BrandContract|\Spatie\SchemaOrg\Contracts\BrandContract[]|\Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $brand
149
     *
150
     * @return static
151
     *
152
     * @see http://schema.org/brand
153
     */
154
    public function brand($brand)
155
    {
156
        return $this->setProperty('brand', $brand);
157
    }
158
159
    /**
160
     * An entity that arranges for an exchange between a buyer and a seller.  In
161
     * most cases a broker never acquires or releases ownership of a product or
162
     * service involved in an exchange.  If it is not clear whether an entity is
163
     * a broker, seller, or buyer, the latter two terms are preferred.
164
     *
165
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $broker
166
     *
167
     * @return static
168
     *
169
     * @see http://schema.org/broker
170
     */
171
    public function broker($broker)
172
    {
173
        return $this->setProperty('broker', $broker);
174
    }
175
176
    /**
177
     * A category for the item. Greater signs or slashes can be used to
178
     * informally indicate a category hierarchy.
179
     *
180
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[]|string|string[] $category
181
     *
182
     * @return static
183
     *
184
     * @see http://schema.org/category
185
     */
186
    public function category($category)
187
    {
188
        return $this->setProperty('category', $category);
189
    }
190
191
    /**
192
     * A description of the item.
193
     *
194
     * @param string|string[] $description
195
     *
196
     * @return static
197
     *
198
     * @see http://schema.org/description
199
     */
200
    public function description($description)
201
    {
202
        return $this->setProperty('description', $description);
203
    }
204
205
    /**
206
     * A sub property of description. A short description of the item used to
207
     * disambiguate from other, similar items. Information from other properties
208
     * (in particular, name) may be necessary for the description to be useful
209
     * for disambiguation.
210
     *
211
     * @param string|string[] $disambiguatingDescription
212
     *
213
     * @return static
214
     *
215
     * @see http://schema.org/disambiguatingDescription
216
     */
217
    public function disambiguatingDescription($disambiguatingDescription)
218
    {
219
        return $this->setProperty('disambiguatingDescription', $disambiguatingDescription);
220
    }
221
222
    /**
223
     * Description of fees, commissions, and other terms applied either to a
224
     * class of financial product, or by a financial service organization.
225
     *
226
     * @param string|string[] $feesAndCommissionsSpecification
227
     *
228
     * @return static
229
     *
230
     * @see http://schema.org/feesAndCommissionsSpecification
231
     */
232
    public function feesAndCommissionsSpecification($feesAndCommissionsSpecification)
233
    {
234
        return $this->setProperty('feesAndCommissionsSpecification', $feesAndCommissionsSpecification);
235
    }
236
237
    /**
238
     * Indicates an OfferCatalog listing for this Organization, Person, or
239
     * Service.
240
     *
241
     * @param \Spatie\SchemaOrg\Contracts\OfferCatalogContract|\Spatie\SchemaOrg\Contracts\OfferCatalogContract[] $hasOfferCatalog
242
     *
243
     * @return static
244
     *
245
     * @see http://schema.org/hasOfferCatalog
246
     */
247
    public function hasOfferCatalog($hasOfferCatalog)
248
    {
249
        return $this->setProperty('hasOfferCatalog', $hasOfferCatalog);
250
    }
251
252
    /**
253
     * The hours during which this service or contact is available.
254
     *
255
     * @param \Spatie\SchemaOrg\Contracts\OpeningHoursSpecificationContract|\Spatie\SchemaOrg\Contracts\OpeningHoursSpecificationContract[] $hoursAvailable
256
     *
257
     * @return static
258
     *
259
     * @see http://schema.org/hoursAvailable
260
     */
261
    public function hoursAvailable($hoursAvailable)
262
    {
263
        return $this->setProperty('hoursAvailable', $hoursAvailable);
264
    }
265
266
    /**
267
     * The identifier property represents any kind of identifier for any kind of
268
     * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
269
     * dedicated properties for representing many of these, either as textual
270
     * strings or as URL (URI) links. See [background
271
     * notes](/docs/datamodel.html#identifierBg) for more details.
272
     *
273
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
274
     *
275
     * @return static
276
     *
277
     * @see http://schema.org/identifier
278
     */
279
    public function identifier($identifier)
280
    {
281
        return $this->setProperty('identifier', $identifier);
282
    }
283
284
    /**
285
     * An image of the item. This can be a [[URL]] or a fully described
286
     * [[ImageObject]].
287
     *
288
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
289
     *
290
     * @return static
291
     *
292
     * @see http://schema.org/image
293
     */
294
    public function image($image)
295
    {
296
        return $this->setProperty('image', $image);
297
    }
298
299
    /**
300
     * The interest rate, charged or paid, applicable to the financial product.
301
     * Note: This is different from the calculated annualPercentageRate.
302
     *
303
     * @param \Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[]|float|float[]|int|int[] $interestRate
304
     *
305
     * @return static
306
     *
307
     * @see http://schema.org/interestRate
308
     */
309
    public function interestRate($interestRate)
310
    {
311
        return $this->setProperty('interestRate', $interestRate);
312
    }
313
314
    /**
315
     * A pointer to another, somehow related product (or multiple products).
316
     *
317
     * @param \Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|\Spatie\SchemaOrg\Contracts\ServiceContract|\Spatie\SchemaOrg\Contracts\ServiceContract[] $isRelatedTo
318
     *
319
     * @return static
320
     *
321
     * @see http://schema.org/isRelatedTo
322
     */
323
    public function isRelatedTo($isRelatedTo)
324
    {
325
        return $this->setProperty('isRelatedTo', $isRelatedTo);
326
    }
327
328
    /**
329
     * A pointer to another, functionally similar product (or multiple
330
     * products).
331
     *
332
     * @param \Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|\Spatie\SchemaOrg\Contracts\ServiceContract|\Spatie\SchemaOrg\Contracts\ServiceContract[] $isSimilarTo
333
     *
334
     * @return static
335
     *
336
     * @see http://schema.org/isSimilarTo
337
     */
338
    public function isSimilarTo($isSimilarTo)
339
    {
340
        return $this->setProperty('isSimilarTo', $isSimilarTo);
341
    }
342
343
    /**
344
     * An associated logo.
345
     *
346
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $logo
347
     *
348
     * @return static
349
     *
350
     * @see http://schema.org/logo
351
     */
352
    public function logo($logo)
353
    {
354
        return $this->setProperty('logo', $logo);
355
    }
356
357
    /**
358
     * Indicates a page (or other CreativeWork) for which this thing is the main
359
     * entity being described. See [background
360
     * notes](/docs/datamodel.html#mainEntityBackground) for details.
361
     *
362
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
363
     *
364
     * @return static
365
     *
366
     * @see http://schema.org/mainEntityOfPage
367
     */
368
    public function mainEntityOfPage($mainEntityOfPage)
369
    {
370
        return $this->setProperty('mainEntityOfPage', $mainEntityOfPage);
371
    }
372
373
    /**
374
     * The name of the item.
375
     *
376
     * @param string|string[] $name
377
     *
378
     * @return static
379
     *
380
     * @see http://schema.org/name
381
     */
382
    public function name($name)
383
    {
384
        return $this->setProperty('name', $name);
385
    }
386
387
    /**
388
     * An offer to provide this item&#x2014;for example, an offer to sell a
389
     * product, rent the DVD of a movie, perform a service, or give away tickets
390
     * to an event. Use [[businessFunction]] to indicate the kind of transaction
391
     * offered, i.e. sell, lease, etc. This property can also be used to
392
     * describe a [[Demand]]. While this property is listed as expected on a
393
     * number of common types, it can be used in others. In that case, using a
394
     * second type, such as Product or a subtype of Product, can clarify the
395
     * nature of the offer.
396
     *
397
     * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[]|\Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $offers
398
     *
399
     * @return static
400
     *
401
     * @see http://schema.org/offers
402
     */
403
    public function offers($offers)
404
    {
405
        return $this->setProperty('offers', $offers);
406
    }
407
408
    /**
409
     * Indicates a potential Action, which describes an idealized action in
410
     * which this thing would play an 'object' role.
411
     *
412
     * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
413
     *
414
     * @return static
415
     *
416
     * @see http://schema.org/potentialAction
417
     */
418
    public function potentialAction($potentialAction)
419
    {
420
        return $this->setProperty('potentialAction', $potentialAction);
421
    }
422
423
    /**
424
     * The tangible thing generated by the service, e.g. a passport, permit,
425
     * etc.
426
     *
427
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $produces
428
     *
429
     * @return static
430
     *
431
     * @see http://schema.org/produces
432
     */
433
    public function produces($produces)
434
    {
435
        return $this->setProperty('produces', $produces);
436
    }
437
438
    /**
439
     * The service provider, service operator, or service performer; the goods
440
     * producer. Another party (a seller) may offer those services or goods on
441
     * behalf of the provider. A provider may also serve as the seller.
442
     *
443
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $provider
444
     *
445
     * @return static
446
     *
447
     * @see http://schema.org/provider
448
     */
449
    public function provider($provider)
450
    {
451
        return $this->setProperty('provider', $provider);
452
    }
453
454
    /**
455
     * Indicates the mobility of a provided service (e.g. 'static', 'dynamic').
456
     *
457
     * @param string|string[] $providerMobility
458
     *
459
     * @return static
460
     *
461
     * @see http://schema.org/providerMobility
462
     */
463
    public function providerMobility($providerMobility)
464
    {
465
        return $this->setProperty('providerMobility', $providerMobility);
466
    }
467
468
    /**
469
     * A review of the item.
470
     *
471
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $review
472
     *
473
     * @return static
474
     *
475
     * @see http://schema.org/review
476
     */
477
    public function review($review)
478
    {
479
        return $this->setProperty('review', $review);
480
    }
481
482
    /**
483
     * URL of a reference Web page that unambiguously indicates the item's
484
     * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
485
     * official website.
486
     *
487
     * @param string|string[] $sameAs
488
     *
489
     * @return static
490
     *
491
     * @see http://schema.org/sameAs
492
     */
493
    public function sameAs($sameAs)
494
    {
495
        return $this->setProperty('sameAs', $sameAs);
496
    }
497
498
    /**
499
     * The geographic area where the service is provided.
500
     *
501
     * @param \Spatie\SchemaOrg\Contracts\AdministrativeAreaContract|\Spatie\SchemaOrg\Contracts\AdministrativeAreaContract[]|\Spatie\SchemaOrg\Contracts\GeoShapeContract|\Spatie\SchemaOrg\Contracts\GeoShapeContract[]|\Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $serviceArea
502
     *
503
     * @return static
504
     *
505
     * @see http://schema.org/serviceArea
506
     */
507
    public function serviceArea($serviceArea)
508
    {
509
        return $this->setProperty('serviceArea', $serviceArea);
510
    }
511
512
    /**
513
     * The audience eligible for this service.
514
     *
515
     * @param \Spatie\SchemaOrg\Contracts\AudienceContract|\Spatie\SchemaOrg\Contracts\AudienceContract[] $serviceAudience
516
     *
517
     * @return static
518
     *
519
     * @see http://schema.org/serviceAudience
520
     */
521
    public function serviceAudience($serviceAudience)
522
    {
523
        return $this->setProperty('serviceAudience', $serviceAudience);
524
    }
525
526
    /**
527
     * The tangible thing generated by the service, e.g. a passport, permit,
528
     * etc.
529
     *
530
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $serviceOutput
531
     *
532
     * @return static
533
     *
534
     * @see http://schema.org/serviceOutput
535
     */
536
    public function serviceOutput($serviceOutput)
537
    {
538
        return $this->setProperty('serviceOutput', $serviceOutput);
539
    }
540
541
    /**
542
     * The type of service being offered, e.g. veterans' benefits, emergency
543
     * relief, etc.
544
     *
545
     * @param string|string[] $serviceType
546
     *
547
     * @return static
548
     *
549
     * @see http://schema.org/serviceType
550
     */
551
    public function serviceType($serviceType)
552
    {
553
        return $this->setProperty('serviceType', $serviceType);
554
    }
555
556
    /**
557
     * A slogan or motto associated with the item.
558
     *
559
     * @param string|string[] $slogan
560
     *
561
     * @return static
562
     *
563
     * @see http://schema.org/slogan
564
     */
565
    public function slogan($slogan)
566
    {
567
        return $this->setProperty('slogan', $slogan);
568
    }
569
570
    /**
571
     * A CreativeWork or Event about this Thing.
572
     *
573
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
574
     *
575
     * @return static
576
     *
577
     * @see http://schema.org/subjectOf
578
     */
579
    public function subjectOf($subjectOf)
580
    {
581
        return $this->setProperty('subjectOf', $subjectOf);
582
    }
583
584
    /**
585
     * URL of the item.
586
     *
587
     * @param string|string[] $url
588
     *
589
     * @return static
590
     *
591
     * @see http://schema.org/url
592
     */
593
    public function url($url)
594
    {
595
        return $this->setProperty('url', $url);
596
    }
597
598
}
599