76 lines
1.5 KiB
PHP
76 lines
1.5 KiB
PHP
<?php
|
|
namespace ShortPixel\Controller;
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit; // Exit if accessed directly.
|
|
}
|
|
|
|
use ShortPixel\ShortPixelLogger\ShortPixelLogger as Log;
|
|
use ShortPixel\Model\ApiKeyModel as ApiKeyModel;
|
|
|
|
/* Main function of this controller is to load key on runtime
|
|
This should probably in future incorporate some apikey checking functions that shouldn't be in model.
|
|
*/
|
|
class ApiKeyController extends \ShortPixel\Controller
|
|
{
|
|
private static $instance;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->model = new ApiKeyModel();
|
|
$this->load();
|
|
}
|
|
|
|
public static function getInstance()
|
|
{
|
|
if (is_null(self::$instance))
|
|
self::$instance = new ApiKeyController();
|
|
|
|
return self::$instance;
|
|
}
|
|
|
|
|
|
public function load()
|
|
{
|
|
$this->model->loadKey();
|
|
}
|
|
|
|
public function getKeyModel()
|
|
{
|
|
return $this->model;
|
|
}
|
|
|
|
public function getKeyForDisplay()
|
|
{
|
|
if (! $this->model->is_hidden())
|
|
{
|
|
return $this->model->getKey();
|
|
}
|
|
else
|
|
return false;
|
|
}
|
|
|
|
/** Warning: NEVER use this for displaying API keys. Only for internal functions */
|
|
public function forceGetApiKey()
|
|
{
|
|
return $this->model->getKey();
|
|
}
|
|
|
|
public function keyIsVerified()
|
|
{
|
|
return $this->model->is_verified();
|
|
}
|
|
|
|
public function uninstall()
|
|
{
|
|
$this->model->uninstall();
|
|
}
|
|
|
|
public static function uninstallPlugin()
|
|
{
|
|
$controller = self::getInstance();
|
|
$controller->uninstall();
|
|
}
|
|
|
|
}
|