Files
thetool/application/Voicenumberblock/Voicenumberblock.php
2022-01-18 22:23:01 +01:00

86 lines
2.0 KiB
PHP

<?php
class Voicenumberblock extends mfBaseModel {
protected $forcestr = ['comment'];
private $number_first;
private $number_last;
private $base;
private $files;
private $numbers;
private function getFullNumber($last = false) {
if($last) {
$number = $this->countrycode.$this->areacode.$this->getLast();
} else {
$number = $this->countrycode.$this->areacode.$this->getFirst();
}
return $number;
}
public function getFirst() {
if($this->number_prepend_zero) {
return "0".$this->first;
}
return $this->first;
}
public function getLast() {
if($this->number_prepend_zero) {
return "0".$this->last;
}
return $this->last;
}
public function getBaseNumber() {
$base = floor($this->first / pow(10, ceil(log10($this->last - $this->first))));
if($this->number_prepend_zero) {
return "0".$base;
}
return $base;
}
public function isNumberInBlock($number) {
return ($number >= $this->first && $number <= $this->last);
}
public function getProperty($name) {
if($this->$name == null) {
if($name == "files") {
$this->files = VoiceblocknumberFileModel::search(["voicenumberblock_id" => $this->id]);
return $this->files;
}
if($name == "numbers") {
$this->numbers = VoicenumberModel::search(["voicenumberblock_id" => $this->id]);
return $this->numbers;
}
if($name == "number_first") {
return $this->getFullNumber();
}
if($name == "number_last") {
return $this->getFullNumber(true);
}
if($name == "base") {
return $this->getBaseNumber();
}
$classname = ucfirst($name);
$idfield = $name."_id";
$this->$name = new $classname($this->$idfield);
if($this->$name->id) {
return $this->$name;
} else {
return null;
}
}
return $this->$name;
}
}