Added echoareas and fileareas
This commit is contained in:
@@ -12,6 +12,7 @@ use Illuminate\Validation\Validator as ValidatorResult;
|
||||
use App\Classes\FTN as FTNBase;
|
||||
use App\Models\{Address,Domain};
|
||||
use App\Rules\TwoByteInteger;
|
||||
use App\Traits\EncodeUTF8;
|
||||
|
||||
/**
|
||||
* Class Message
|
||||
@@ -21,6 +22,8 @@ use App\Rules\TwoByteInteger;
|
||||
*/
|
||||
class Message extends FTNBase
|
||||
{
|
||||
use EncodeUTF8;
|
||||
|
||||
private const cast_utf8 = [
|
||||
'message',
|
||||
'message_src',
|
||||
@@ -342,43 +345,7 @@ class Message extends FTNBase
|
||||
*/
|
||||
public function __serialize(): array
|
||||
{
|
||||
$values = [];
|
||||
|
||||
$properties = (new \ReflectionClass($this))->getProperties();
|
||||
|
||||
$class = get_class($this);
|
||||
|
||||
foreach ($properties as $property) {
|
||||
// Dont serialize the validation error
|
||||
if ($property->name == 'errors')
|
||||
continue;
|
||||
|
||||
if ($property->isStatic()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$property->setAccessible(true);
|
||||
|
||||
if (! $property->isInitialized($this)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$name = $property->getName();
|
||||
$encode = in_array($name,self::cast_utf8);
|
||||
|
||||
if ($property->isPrivate()) {
|
||||
$name = "\0{$class}\0{$name}";
|
||||
} elseif ($property->isProtected()) {
|
||||
$name = "\0*\0{$name}";
|
||||
}
|
||||
|
||||
$property->setAccessible(true);
|
||||
$value = $property->getValue($this);
|
||||
|
||||
$values[$name] = $encode ? utf8_encode($value) : $value;
|
||||
}
|
||||
|
||||
return $values;
|
||||
return $this->encode();
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user