parent
4776b9075d
commit
29b35e57b0
@ -0,0 +1,42 @@ |
||||
<?php |
||||
/** |
||||
* Authserver, an OAuth2-based single-signon authentication provider written in PHP. |
||||
* |
||||
* Copyright (C) $today.date Lars Vierbergen |
||||
* |
||||
* his program is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU Affero General Public License as |
||||
* published by the Free Software Foundation, either version 3 of the |
||||
* License, or (at your option) any later version. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU Affero General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public License |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
*/ |
||||
|
||||
namespace Application\Migrations; |
||||
|
||||
use Doctrine\DBAL\Migrations\AbstractMigration; |
||||
use Doctrine\DBAL\Schema\Schema; |
||||
|
||||
class VersionAuthserverExternalAccount20170829111009 extends AbstractMigration |
||||
{ |
||||
public function up(Schema $schema) |
||||
{ |
||||
$externalUser = $schema->getTable('vierbergenlars_external_account_external_user'); |
||||
|
||||
$externalUser->addColumn('providerFriendlyName', 'string')->setNotnull(false); |
||||
} |
||||
|
||||
public function down(Schema $schema) |
||||
{ |
||||
$externalUser = $schema->getTable('vierbergenlars_external_account_external_user'); |
||||
|
||||
$externalUser->dropColumn('providerFriendlyName'); |
||||
} |
||||
} |
||||
|
@ -0,0 +1,6 @@ |
||||
<a class="btn btn-{{ button.style }} btn-block" href="{{ button.url }}"> |
||||
{% if button.icon %} |
||||
{{ icon(button.icon) }} |
||||
{% endif %} |
||||
{{ button.label }} |
||||
</a> |
@ -1,10 +1,5 @@ |
||||
<div class="panel-body"> |
||||
{% for button in buttons %} |
||||
<a class="btn btn-{{ button.style }} btn-block" href="{{ button.url?button.url:url(button.route) }}"> |
||||
{% if button.icon %} |
||||
{{ icon(button.icon) }} |
||||
{% endif %} |
||||
{{ button.label }} |
||||
</a> |
||||
{% include 'AuthserverExternalAccountBundle:Login:button.html.twig' with {button: button} only %} |
||||
{% endfor %} |
||||
</div> |
||||
|
@ -0,0 +1,140 @@ |
||||
<?php |
||||
/** |
||||
* Authserver, an OAuth2-based single-signon authentication provider written in PHP. |
||||
* |
||||
* Copyright (C) $today.date Lars Vierbergen |
||||
* |
||||
* his program is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU Affero General Public License as |
||||
* published by the Free Software Foundation, either version 3 of the |
||||
* License, or (at your option) any later version. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU Affero General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public License |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
*/ |
||||
|
||||
namespace vierbergenlars\AuthserverExternalAccountBundle\ValueObject; |
||||
|
||||
|
||||
class Button |
||||
{ |
||||
/** |
||||
* @var string |
||||
*/ |
||||
private $label; |
||||
|
||||
/** |
||||
* @var string |
||||
*/ |
||||
private $url; |
||||
|
||||
/** |
||||
* @var string|null |
||||
*/ |
||||
private $icon = null; |
||||
|
||||
/** |
||||
* @var string |
||||
*/ |
||||
private $style = 'default'; |
||||
|
||||
public function __construct(array $config) |
||||
{ |
||||
$valid = ['label', 'url', 'icon', 'style']; |
||||
foreach($config as $k => $v) |
||||
{ |
||||
if(!in_array($k, $valid)) |
||||
throw new \LogicException(sprintf('Configuration key "%s" is not valid.', $k)); |
||||
$this->{$k} = $v; |
||||
} |
||||
|
||||
$required = ['label', 'url']; |
||||
|
||||
foreach($required as $k) |
||||
{ |
||||
if(!$this->{$k}) |
||||
throw new \LogicException(sprintf('Configuration key "%s" is missing', $k)); |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* @return string |
||||
*/ |
||||
public function getLabel() |
||||
{ |
||||
return $this->label; |
||||
} |
||||
|
||||
/** |
||||
* @param string $label |
||||
* @return Button |
||||
*/ |
||||
public function setLabel($label) |
||||
{ |
||||
$this->label = $label; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
/** |
||||
* @return string |
||||
*/ |
||||
public function getUrl() |
||||
{ |
||||
return $this->url; |
||||
} |
||||
|
||||
/** |
||||
* @param string $url |
||||
* @return Button |
||||
*/ |
||||
public function setUrl($url) |
||||
{ |
||||
$this->url = $url; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
/** |
||||
* @return null|string |
||||
*/ |
||||
public function getIcon() |
||||
{ |
||||
return $this->icon; |
||||
} |
||||
|
||||
/** |
||||
* @param null|string $icon |
||||
* @return Button |
||||
*/ |
||||
public function setIcon($icon) |
||||
{ |
||||
$this->icon = $icon; |
||||
|
||||
return $this; |
||||
} |
||||
|
||||
/** |
||||
* @return string |
||||
*/ |
||||
public function getStyle() |
||||
{ |
||||
return $this->style; |
||||
} |
||||
|
||||
/** |
||||
* @param string $style |
||||
* @return Button |
||||
*/ |
||||
public function setStyle($style) |
||||
{ |
||||
$this->style = $style; |
||||
|
||||
return $this; |
||||
} |
||||
} |
Reference in new issue