Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
namespace Faker\Provider\cs_CZ;
4
 
5
class Company extends \Faker\Provider\Company
6
{
7
    /**
8
     * @var array Czech company name formats.
9
     */
10
    protected static $formats = [
11
        '{{lastName}} {{companySuffix}}',
12
        '{{lastName}} {{lastName}} {{companySuffix}}',
13
        '{{lastName}}-{{lastName}} {{companySuffix}}',
14
        '{{lastName}} a {{lastName}} {{companySuffix}}',
15
    ];
16
 
17
    /**
18
     * @var array Czech catch phrase formats.
19
     */
20
    protected static $catchPhraseFormats = [
21
        '{{catchPhraseVerb}} {{catchPhraseNoun}} {{catchPhraseAttribute}}',
22
        '{{catchPhraseVerb}} {{catchPhraseNoun}} a {{catchPhraseNoun}} {{catchPhraseAttribute}}',
23
        '{{catchPhraseVerb}} {{catchPhraseNoun}} {{catchPhraseAttribute}} a {{catchPhraseAttribute}}',
24
        'Ne{{catchPhraseVerb}} {{catchPhraseNoun}} {{catchPhraseAttribute}}',
25
    ];
26
 
27
    /**
28
     * @var array Czech nouns (used by the catch phrase format).
29
     */
30
    protected static $noun = [
31
        'bezpečnost', 'pohodlí', 'seo', 'rychlost', 'testování', 'údržbu', 'odebírání', 'výstavbu',
32
        'návrh', 'prodej', 'nákup', 'zprostředkování', 'odvoz', 'přepravu', 'pronájem',
33
    ];
34
 
35
    /**
36
     * @var array Czech verbs (used by the catch phrase format).
37
     */
38
    protected static $verb = [
39
        'zajišťujeme', 'nabízíme', 'děláme', 'provozujeme', 'realizujeme', 'předstihujeme', 'mobilizujeme',
40
    ];
41
 
42
    /**
43
     * @var array End of sentences (used by the catch phrase format).
44
     */
45
    protected static $attribute = [
46
        'pro vás', 'pro vaší službu', 'a jsme jednička na trhu', 'pro lepší svět', 'zdarma', 'se zárukou',
47
        's inovací', 'turbíny', 'mrakodrapů', 'lampiónků a svíček', 'bourací techniky', 'nákupních košíků',
48
        'vašeho webu', 'pro vaše zákazníky', 'za nízkou cenu', 'jako jediní na trhu', 'webu', 'internetu',
49
        'vaší rodiny', 'vašich známých', 'vašich stránek', 'čehokoliv na světě', 'za hubičku',
50
    ];
51
 
52
    /**
53
     * @var array Company suffixes.
54
     */
55
    protected static $companySuffix = ['s.r.o.', 's.r.o.', 's.r.o.', 's.r.o.', 'a.s.', 'o.p.s.', 'o.s.'];
56
 
57
    /**
58
     * Returns a random catch phrase noun.
59
     *
60
     * @return string
61
     */
62
    public function catchPhraseNoun()
63
    {
64
        return static::randomElement(static::$noun);
65
    }
66
 
67
    /**
68
     * Returns a random catch phrase attribute.
69
     *
70
     * @return string
71
     */
72
    public function catchPhraseAttribute()
73
    {
74
        return static::randomElement(static::$attribute);
75
    }
76
 
77
    /**
78
     * Returns a random catch phrase verb.
79
     *
80
     * @return string
81
     */
82
    public function catchPhraseVerb()
83
    {
84
        return static::randomElement(static::$verb);
85
    }
86
 
87
    /**
88
     * @return string
89
     */
90
    public function catchPhrase()
91
    {
92
        $format = static::randomElement(static::$catchPhraseFormats);
93
 
94
        return ucfirst($this->generator->parse($format));
95
    }
96
 
97
    /**
98
     * Generates valid czech IČO
99
     *
100
     * @see http://phpfashion.com/jak-overit-platne-ic-a-rodne-cislo
101
     *
102
     * @return string
103
     */
104
    public function ico()
105
    {
106
        $ico = static::numerify('#######');
107
        $split = str_split($ico);
108
        $prod = 0;
109
 
110
        foreach ([8, 7, 6, 5, 4, 3, 2] as $i => $p) {
111
            $prod += $p * $split[$i];
112
        }
113
        $mod = $prod % 11;
114
 
115
        if ($mod === 0 || $mod === 10) {
116
            return "{$ico}1";
117
        }
118
 
119
        if ($mod === 1) {
120
            return "{$ico}0";
121
        }
122
 
123
        return $ico . (11 - $mod);
124
    }
125
}