Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php namespace App\Utilities; use App\Interfaces\Utility\DocumentNumber as DocumentNumb..

Decoded Output download

<?php

namespace App\Utilities;

use App\Interfaces\Utility\DocumentNumber as DocumentNumberInterface;
use App\Models\Common\Contact;

class DocumentNumber implements DocumentNumberInterface
{
    public function getNextNumber(string $type, ?Contact $contact): string
    {
        $type = $this->resolveTypeAlias($type);

        $prefix = setting($type . '.number_prefix');
        $next = (string) setting($type . '.number_next');
        $digit = (int) setting($type . '.number_digit');

        return $prefix . str_pad($next, $digit, '0', STR_PAD_LEFT);
    }

    public function increaseNextNumber(string $type, ?Contact $contact): void
    {
        $type = $this->resolveTypeAlias($type);

        $next = setting($type . '.number_next', 1) + 1;

        setting([$type . '.number_next' => $next]);
        setting()->save();
    }

    protected function resolveTypeAlias(string $type): string
    {
        if ($alias = config('type.document.' . $type . '.alias')) {
            return $alias . '.' . str_replace('-', '_', $type);
        }

        return $type;
    }
}
 ?>

Did this file decode correctly?

Original Code

<?php

namespace App\Utilities;

use App\Interfaces\Utility\DocumentNumber as DocumentNumberInterface;
use App\Models\Common\Contact;

class DocumentNumber implements DocumentNumberInterface
{
    public function getNextNumber(string $type, ?Contact $contact): string
    {
        $type = $this->resolveTypeAlias($type);

        $prefix = setting($type . '.number_prefix');
        $next = (string) setting($type . '.number_next');
        $digit = (int) setting($type . '.number_digit');

        return $prefix . str_pad($next, $digit, '0', STR_PAD_LEFT);
    }

    public function increaseNextNumber(string $type, ?Contact $contact): void
    {
        $type = $this->resolveTypeAlias($type);

        $next = setting($type . '.number_next', 1) + 1;

        setting([$type . '.number_next' => $next]);
        setting()->save();
    }

    protected function resolveTypeAlias(string $type): string
    {
        if ($alias = config('type.document.' . $type . '.alias')) {
            return $alias . '.' . str_replace('-', '_', $type);
        }

        return $type;
    }
}

Function Calls

None

Variables

None

Stats

MD5 052cdf5a2fb02df520d7f5157f47e1d6
Eval Count 0
Decode Time 81 ms