TYPO3 CMS  TYPO3_6-2
Mirrors.php
Go to the documentation of this file.
1 <?php
3 
24 
30  protected $mirrors = array();
31 
39  protected $currentMirror;
40 
47  protected $isRandomSelection = TRUE;
48 
56  public function setSelect($mirrorId = NULL) {
57  if (is_null($mirrorId)) {
58  $this->isRandomSelection = TRUE;
59  } else {
60  if (is_int($mirrorId) && $mirrorId >= 1 && $mirrorId <= count($this->mirrors)) {
61  $this->currentMirror = $mirrorId - 1;
62  }
63  }
64  }
65 
75  public function getMirror() {
76  $sumMirrors = count($this->mirrors);
77  if ($sumMirrors > 0) {
78  if (!is_int($this->currentMirror)) {
79  $this->currentMirror = rand(0, $sumMirrors - 1);
80  }
81  return $this->mirrors[$this->currentMirror];
82  }
83  return NULL;
84  }
85 
91  public function getMirrorUrl() {
92  $mirror = $this->getMirror();
93  $mirrorUrl = $mirror['host'] . $mirror['path'];
94  return 'https://' . $mirrorUrl;
95  }
96 
104  public function getMirrors() {
105  return $this->mirrors;
106  }
107 
115  public function setMirrors(array $mirrors) {
116  if (count($mirrors) >= 1) {
117  $this->mirrors = $mirrors;
118  }
119  }
120 
121 }