HEX
Server: Apache/2.4.25
System: Linux ion14 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64
User: (10087)
PHP: 7.4.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,system, exec, shell_exec, passthru, popen, proc_open
Upload Files
File: /home/www/web115/wordpress/wp-content/plugins/digimember/application/model/data/api_key.php
<?php

/**
 * Class digimember_ApiKeyData
 */
class digimember_ApiKeyData extends ncore_BaseData
{
    /**
     * @return string
     */
    protected function sqlBaseTableName()
    {
        return 'api_key';
    }

    protected function sqlTableMeta()
    {
        $columns = [
            'key' => 'string[32]',
            'scope' => 'string[20]',
            'is_active' => ['type' => 'yes_no_bit', 'default' => 'Y'],
            'user_id' => 'int[8]',
        ];

        $indexes = [
            'key',
        ];

        $meta = [
            'columns' => $columns,
            'indexes' => $indexes,
        ];

        return $meta;
    }

    protected function hasTrash()
    {
        return true;
    }

    protected function defaultValues()
    {
        $values = parent::defaultValues();

        $values['key'] = $this->generateKey();
        $values['is_active'] = 'Y';
        $values['scope'] = DM_API_KEY_SCOPE_ADMIN;
        $values['user_id'] = ncore_userId();

        return $values;
    }

    /**
     * Generates a completely random token
     *
     * @param int $tokenLen
     *
     * @return string
     */
    public function generateKey($tokenLen = 32)
    {
        if (@file_exists('/dev/urandom')) {
            $randomData = file_get_contents('/dev/urandom', false, null, 0, 100) . uniqid(mt_rand(), true);
        } else {
            $randomData = mt_rand() . mt_rand() . mt_rand() . mt_rand() . microtime(true) . uniqid(mt_rand(), true);
        }
        return substr(hash('sha512', $randomData), 0, $tokenLen);
    }

    protected function hasModified()
    {
        return false;
    }
}