API/library/Account.php

66 lines
1.3 KiB
PHP

<?php
namespace Shikiryu\LBCReposter;
use Goutte\Client;
class Account
{
/** @var Client */
protected $client;
/** @var Config */
protected $config;
/** @var bool */
protected $is_connected = false;
/**
* Account constructor.
* @param Client $client
* @param Config $config
*/
public function __construct(Client $client, Config $config)
{
$this->client = $client;
$this->config = $config;
}
/**
* @return Client
*/
public function getClient()
{
return $this->client;
}
/**
* @return Config
*/
public function getConfig()
{
return $this->config;
}
/**
* Check if it's connected
* (if there's a "logout" link)
*
* @return bool
*/
public function isConnected()
{
if (!$this->is_connected) {
$crawler = $this->client->request('GET', Actions::HOME_URL);
$this->is_connected = $crawler->filter('#account_logout')->count() == 1;
}
return $this->is_connected;
}
/**
* @param bool $connected
*/
public function setConnected($connected = false)
{
$this->is_connected = $connected;
}
}