Commit 280e92c2fbdbb8872e9c5c680fa06ed7feee396f
1 parent
823ef13e
авторизация через соц сети
Showing
47 changed files
with
1191 additions
and
435 deletions
Show diff stats
common/config/main.php
... | ... | @@ -40,6 +40,125 @@ return [ |
40 | 40 | 'authManager' => [ |
41 | 41 | 'class' => 'yii\rbac\DbManager', |
42 | 42 | ], |
43 | + | |
44 | + //подключаем конфигурации API соц сетей для авторизации | |
45 | + | |
46 | + 'eauth' => [ | |
47 | + 'class' => 'nodge\eauth\EAuth', | |
48 | + 'popup' => true, // Use the popup window instead of redirecting. | |
49 | + 'cache' => false, // Cache component name or false to disable cache. Defaults to 'cache' on production environments. | |
50 | + 'cacheExpire' => 0, // Cache lifetime. Defaults to 0 - means unlimited. | |
51 | + 'httpClient' => [ | |
52 | + // uncomment this to use streams in safe_mode | |
53 | + //'useStreamsFallback' => true, | |
54 | + ], | |
55 | + 'services' => [ // You can change the providers and their classes. | |
56 | + 'google' => [ | |
57 | + // register your app here: https://code.google.com/apis/console/ | |
58 | + 'class' => 'nodge\eauth\services\GoogleOAuth2Service', | |
59 | + 'clientId' => 'artbox-1138', | |
60 | + 'clientSecret' => '', | |
61 | + 'title' => 'Google', | |
62 | + ], | |
63 | + 'twitter' => [ | |
64 | + // register your app here: https://dev.twitter.com/apps/new | |
65 | + 'class' => 'nodge\eauth\services\TwitterOAuth1Service', | |
66 | + 'key' => '8vReLxI63vTs98MBMqhvrszwy', | |
67 | + 'secret' => 'jOqNbHIkQw4cVKKJkgrMtaEeCcfbeT1GTik4pF6O9D7AmqcwOG', | |
68 | + ], | |
69 | + 'yandex' => [ | |
70 | + // register your app here: https://oauth.yandex.ru/client/my | |
71 | + 'class' => 'nodge\eauth\services\YandexOAuth2Service', | |
72 | + 'clientId' => 'ea13195ac0424ff8a190838bec41bb71', | |
73 | + 'clientSecret' => '911f2c9afcbf4f5f9319b3134c096c86', | |
74 | + 'title' => 'Yandex', | |
75 | + ], | |
76 | + 'facebook' => [ | |
77 | + // register your app here: https://developers.facebook.com/apps/ | |
78 | + 'class' => 'nodge\eauth\services\FacebookOAuth2Service', | |
79 | + 'clientId' => '1642047622727997', | |
80 | + 'clientSecret' => 'f5b7ba4f062a568678b764fc74cc416e', | |
81 | + ], | |
82 | + 'yahoo' => [ | |
83 | + 'class' => 'nodge\eauth\services\YahooOpenIDService', | |
84 | + //'realm' => '*.example.org', // your domain, can be with wildcard to authenticate on subdomains. | |
85 | + ], | |
86 | + 'linkedin' => [ | |
87 | + // register your app here: https://www.linkedin.com/secure/developer | |
88 | + 'class' => 'nodge\eauth\services\LinkedinOAuth1Service', | |
89 | + 'key' => '77s41eixn3dyvo', | |
90 | + 'secret' => '1xLZQ7RRK6RNjo4U', | |
91 | + 'title' => 'LinkedIn (OAuth1)', | |
92 | + ], | |
93 | + 'linkedin_oauth2' => [ | |
94 | + // register your app here: https://www.linkedin.com/secure/developer | |
95 | + 'class' => 'nodge\eauth\services\LinkedinOAuth2Service', | |
96 | + 'clientId' => '77s41eixn3dyvo', | |
97 | + 'clientSecret' => '1xLZQ7RRK6RNjo4U', | |
98 | + 'title' => 'LinkedIn (OAuth2)', | |
99 | + ], | |
100 | + 'github' => [ | |
101 | + // register your app here: https://github.com/settings/applications | |
102 | + 'class' => 'nodge\eauth\services\GitHubOAuth2Service', | |
103 | + 'clientId' => 'd00283b5cfb225cd1600', | |
104 | + 'clientSecret' => 'f482361fad7184819d452f421c8b09db60830b42', | |
105 | + ], | |
106 | + 'live' => [ | |
107 | + // register your app here: https://account.live.com/developers/applications/index | |
108 | + 'class' => 'nodge\eauth\services\LiveOAuth2Service', | |
109 | + 'clientId' => '00000000481796AE', | |
110 | + 'clientSecret' => 'rt9GiJrlKz3sE6CvdOeuwWyYbl1tQT03', | |
111 | + ], | |
112 | + 'steam' => [ | |
113 | + 'class' => 'nodge\eauth\services\SteamOpenIDService', | |
114 | + //'realm' => '*.example.org', // your domain, can be with wildcard to authenticate on subdomains. | |
115 | + ], | |
116 | + 'instagram' => [ | |
117 | + // register your app here: https://instagram.com/developer/register/ | |
118 | + 'class' => 'nodge\eauth\services\InstagramOAuth2Service', | |
119 | + 'clientId' => '...', | |
120 | + 'clientSecret' => '...', | |
121 | + ], | |
122 | + 'vkontakte' => [ | |
123 | + // register your app here: https://vk.com/editapp?act=create&site=1 | |
124 | + 'class' => 'nodge\eauth\services\VKontakteOAuth2Service', | |
125 | + 'clientId' => '5155388', | |
126 | + 'clientSecret' => 'jxgmdGVQw7huGKRpnX3a', | |
127 | + ], | |
128 | + 'mailru' => [ | |
129 | + // register your app here: http://api.mail.ru/sites/my/add | |
130 | + 'class' => 'nodge\eauth\services\MailruOAuth2Service', | |
131 | + 'clientId' => '739322', | |
132 | + 'clientSecret' => 'd6ce7be6ff791375adff58fe0e4460b2', | |
133 | + ], | |
134 | + 'odnoklassniki' => [ | |
135 | + // register your app here: http://dev.odnoklassniki.ru/wiki/pages/viewpage.action?pageId=13992188 | |
136 | + // ... or here: http://www.odnoklassniki.ru/dk?st.cmd=appsInfoMyDevList&st._aid=Apps_Info_MyDev | |
137 | + 'class' => 'nodge\eauth\services\OdnoklassnikiOAuth2Service', | |
138 | + 'clientId' => '...', | |
139 | + 'clientSecret' => '...', | |
140 | + 'clientPublic' => '...', | |
141 | + 'title' => 'Odnoklas.', | |
142 | + ], | |
143 | + ], | |
144 | + ], | |
145 | + | |
146 | + // (optionally) you can configure logging | |
147 | + 'log' => [ | |
148 | + 'targets' => [ | |
149 | + [ | |
150 | + 'class' => 'yii\log\FileTarget', | |
151 | + 'logFile' => '@app/runtime/logs/eauth.log', | |
152 | + 'categories' => ['nodge\eauth\*'], | |
153 | + 'logVars' => [], | |
154 | + ], | |
155 | + ], | |
156 | + ], | |
157 | + | |
158 | + /*========End======= | |
159 | + *end api sicial | |
160 | + * */ | |
161 | + | |
43 | 162 | ], |
44 | 163 | 'language' => 'ru-RU' |
45 | 164 | ]; | ... | ... |
common/models/LoginForm.php
1 | 1 | <?php |
2 | 2 | namespace common\models; |
3 | - | |
4 | 3 | use Yii; |
5 | 4 | use yii\base\Model; |
6 | - | |
7 | 5 | /** |
8 | - * Login form | |
6 | + * LoginForm is the model behind the login form. | |
9 | 7 | */ |
10 | 8 | class LoginForm extends Model |
11 | 9 | { |
12 | 10 | public $username; |
13 | 11 | public $password; |
14 | 12 | public $rememberMe = true; |
15 | - | |
16 | - private $_user; | |
17 | - | |
18 | - | |
13 | + | |
14 | + private $_user = false; | |
19 | 15 | /** |
20 | - * @inheritdoc | |
16 | + * @return array the validation rules. | |
21 | 17 | */ |
22 | 18 | public function rules() |
23 | 19 | { |
24 | - return [ | |
20 | + return array( | |
25 | 21 | // username and password are both required |
26 | - [['username', 'password'], 'required'], | |
27 | - // rememberMe must be a boolean value | |
28 | - ['rememberMe', 'boolean'], | |
22 | + array(array('username', 'password'), 'required'), | |
29 | 23 | // password is validated by validatePassword() |
30 | - ['password', 'validatePassword'], | |
31 | - ]; | |
24 | + array('password', 'validatePassword'), | |
25 | + // rememberMe must be a boolean value | |
26 | + array('rememberMe', 'boolean'), | |
27 | + ); | |
32 | 28 | } |
33 | - | |
34 | 29 | /** |
35 | 30 | * Validates the password. |
36 | 31 | * This method serves as the inline validation for password. |
37 | - * | |
38 | - * @param string $attribute the attribute currently being validated | |
39 | - * @param array $params the additional name-value pairs given in the rule | |
40 | 32 | */ |
41 | - public function validatePassword($attribute, $params) | |
33 | + public function validatePassword() | |
42 | 34 | { |
43 | - if (!$this->hasErrors()) { | |
44 | - $user = $this->getUser(); | |
45 | - if (!$user || !$user->validatePassword($this->password)) { | |
46 | - $this->addError($attribute, 'Incorrect username or password.'); | |
47 | - } | |
35 | + $user = $this->getUser(); | |
36 | + if (!$user || !$user->validatePassword($this->password)) { | |
37 | + $this->addError('password', 'Incorrect username or password.'); | |
48 | 38 | } |
49 | 39 | } |
50 | - | |
51 | 40 | /** |
52 | 41 | * Logs in a user using the provided username and password. |
53 | - * | |
54 | 42 | * @return boolean whether the user is logged in successfully |
55 | 43 | */ |
56 | 44 | public function login() |
57 | 45 | { |
58 | 46 | if ($this->validate()) { |
59 | - return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600 * 24 * 30 : 0); | |
47 | + return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600*24*30 : 0); | |
60 | 48 | } else { |
61 | 49 | return false; |
62 | 50 | } |
63 | 51 | } |
64 | - | |
65 | 52 | /** |
66 | 53 | * Finds user by [[username]] |
67 | 54 | * |
68 | 55 | * @return User|null |
69 | 56 | */ |
70 | - protected function getUser() | |
57 | + private function getUser() | |
71 | 58 | { |
72 | - if ($this->_user === null) { | |
59 | + if ($this->_user === false) { | |
73 | 60 | $this->_user = User::findByUsername($this->username); |
74 | 61 | } |
75 | - | |
76 | 62 | return $this->_user; |
77 | 63 | } |
78 | 64 | -} |
65 | +} | |
79 | 66 | \ No newline at end of file | ... | ... |
common/models/User.php
... | ... | @@ -24,8 +24,13 @@ use developeruz\db_rbac\interfaces\UserRbacInterface; |
24 | 24 | */ |
25 | 25 | class User extends ActiveRecord implements IdentityInterface, UserRbacInterface |
26 | 26 | { |
27 | + /** | |
28 | + * @var array EAuth attributes | |
29 | + */ | |
30 | + | |
27 | 31 | const STATUS_DELETED = 0; |
28 | 32 | const STATUS_ACTIVE = 10; |
33 | + public $profile; | |
29 | 34 | |
30 | 35 | /** |
31 | 36 | * @inheritdoc |
... | ... | @@ -59,10 +64,36 @@ class User extends ActiveRecord implements IdentityInterface, UserRbacInterface |
59 | 64 | /** |
60 | 65 | * @inheritdoc |
61 | 66 | */ |
62 | - public static function findIdentity($id) | |
63 | - { | |
64 | - return static::findOne(['id' => $id, 'status' => self::STATUS_ACTIVE]); | |
65 | - } | |
67 | + public static function findIdentity($id) { | |
68 | + if (Yii::$app->getSession()->has('user-'.$id)) { | |
69 | + return new self(Yii::$app->getSession()->get('user-'.$id)); | |
70 | + } | |
71 | + else { | |
72 | + return isset(self::$users[$id]) ? new self(self::$users[$id]) : null; | |
73 | + } | |
74 | + } | |
75 | + /** | |
76 | + * @param \nodge\eauth\ServiceBase $service | |
77 | + * @return User | |
78 | + * @throws ErrorException | |
79 | + */ | |
80 | + public static function findByEAuth($service) { | |
81 | + if (!$service->getIsAuthenticated()) { | |
82 | + throw new ErrorException('EAuth user should be authenticated before creating identity.'); | |
83 | + } | |
84 | + $id = $service->getServiceName().'-'.$service->getId(); | |
85 | + $attributes = array( | |
86 | + 'id' => $id, | |
87 | + 'username' => $service->getAttribute('name'), | |
88 | + 'authKey' => md5($id), | |
89 | + 'profile' => $service->getAttributes(), | |
90 | + ); | |
91 | + $attributes['profile']['service'] = $service->getServiceName(); | |
92 | + Yii::$app->getSession()->set('user-'.$id, $attributes); | |
93 | + return new self($attributes); | |
94 | + } | |
95 | + | |
96 | + public $authKey; | |
66 | 97 | |
67 | 98 | /** |
68 | 99 | * @inheritdoc | ... | ... |
composer.json
... | ... | @@ -21,7 +21,8 @@ |
21 | 21 | "dmstr/yii2-adminlte-asset": "2.*", |
22 | 22 | "yiisoft/yii2-jui": "^2.0", |
23 | 23 | "kartik-v/yii2-widget-select2": "@dev", |
24 | - "developeruz/yii2-db-rbac": "*" | |
24 | + "developeruz/yii2-db-rbac": "*", | |
25 | + "nodge/yii2-eauth": "*" | |
25 | 26 | }, |
26 | 27 | "require-dev": { |
27 | 28 | "yiisoft/yii2-codeception": "*", | ... | ... |
composer.lock
... | ... | @@ -4,8 +4,7 @@ |
4 | 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", |
5 | 5 | "This file is @generated automatically" |
6 | 6 | ], |
7 | - "hash": "52ade047603d8461342b32b7f76785af", | |
8 | - "content-hash": "35117bfe670ed414624b171df746a308", | |
7 | + "hash": "6b310fccece1d1eddc11db43624c06ab", | |
9 | 8 | "packages": [ |
10 | 9 | { |
11 | 10 | "name": "almasaeed2010/adminlte", |
... | ... | @@ -461,16 +460,16 @@ |
461 | 460 | }, |
462 | 461 | { |
463 | 462 | "name": "dmstr/yii2-adminlte-asset", |
464 | - "version": "2.2.3", | |
463 | + "version": "2.2.4", | |
465 | 464 | "source": { |
466 | 465 | "type": "git", |
467 | 466 | "url": "https://github.com/dmstr/yii2-adminlte-asset.git", |
468 | - "reference": "45cffbfe90d79f3c405b4cc98f7f318ae372bb10" | |
467 | + "reference": "c842a15ceef4e903f70ac927ec3246e6d53e1148" | |
469 | 468 | }, |
470 | 469 | "dist": { |
471 | 470 | "type": "zip", |
472 | - "url": "https://api.github.com/repos/dmstr/yii2-adminlte-asset/zipball/45cffbfe90d79f3c405b4cc98f7f318ae372bb10", | |
473 | - "reference": "45cffbfe90d79f3c405b4cc98f7f318ae372bb10", | |
471 | + "url": "https://api.github.com/repos/dmstr/yii2-adminlte-asset/zipball/c842a15ceef4e903f70ac927ec3246e6d53e1148", | |
472 | + "reference": "c842a15ceef4e903f70ac927ec3246e6d53e1148", | |
474 | 473 | "shasum": "" |
475 | 474 | }, |
476 | 475 | "require": { |
... | ... | @@ -511,7 +510,7 @@ |
511 | 510 | "extension", |
512 | 511 | "yii2" |
513 | 512 | ], |
514 | - "time": "2015-10-07 21:31:26" | |
513 | + "time": "2015-11-06 10:35:36" | |
515 | 514 | }, |
516 | 515 | { |
517 | 516 | "name": "ezyang/htmlpurifier", |
... | ... | @@ -559,16 +558,16 @@ |
559 | 558 | }, |
560 | 559 | { |
561 | 560 | "name": "kartik-v/yii2-krajee-base", |
562 | - "version": "v1.7.7", | |
561 | + "version": "v1.7.8", | |
563 | 562 | "source": { |
564 | 563 | "type": "git", |
565 | 564 | "url": "https://github.com/kartik-v/yii2-krajee-base.git", |
566 | - "reference": "c0adff9d9762f4fd3bf0e7cd0000fcab0bf00f19" | |
565 | + "reference": "f90b9ff515ced4e40ff5ec8156a5c9f7f51e2a7f" | |
567 | 566 | }, |
568 | 567 | "dist": { |
569 | 568 | "type": "zip", |
570 | - "url": "https://api.github.com/repos/kartik-v/yii2-krajee-base/zipball/c0adff9d9762f4fd3bf0e7cd0000fcab0bf00f19", | |
571 | - "reference": "c0adff9d9762f4fd3bf0e7cd0000fcab0bf00f19", | |
569 | + "url": "https://api.github.com/repos/kartik-v/yii2-krajee-base/zipball/f90b9ff515ced4e40ff5ec8156a5c9f7f51e2a7f", | |
570 | + "reference": "f90b9ff515ced4e40ff5ec8156a5c9f7f51e2a7f", | |
572 | 571 | "shasum": "" |
573 | 572 | }, |
574 | 573 | "require": { |
... | ... | @@ -601,7 +600,7 @@ |
601 | 600 | "widget", |
602 | 601 | "yii2" |
603 | 602 | ], |
604 | - "time": "2015-06-16 05:19:57" | |
603 | + "time": "2015-11-22 06:35:23" | |
605 | 604 | }, |
606 | 605 | { |
607 | 606 | "name": "kartik-v/yii2-widget-select2", |
... | ... | @@ -652,17 +651,178 @@ |
652 | 651 | "time": "2015-09-22 03:10:57" |
653 | 652 | }, |
654 | 653 | { |
654 | + "name": "lusitanian/oauth", | |
655 | + "version": "v0.3.6", | |
656 | + "source": { | |
657 | + "type": "git", | |
658 | + "url": "https://github.com/Lusitanian/PHPoAuthLib.git", | |
659 | + "reference": "4ce8c488971410233eb3b1e6d9ac4e81debb41d5" | |
660 | + }, | |
661 | + "dist": { | |
662 | + "type": "zip", | |
663 | + "url": "https://api.github.com/repos/Lusitanian/PHPoAuthLib/zipball/4ce8c488971410233eb3b1e6d9ac4e81debb41d5", | |
664 | + "reference": "4ce8c488971410233eb3b1e6d9ac4e81debb41d5", | |
665 | + "shasum": "" | |
666 | + }, | |
667 | + "require": { | |
668 | + "php": ">=5.3.0" | |
669 | + }, | |
670 | + "require-dev": { | |
671 | + "phpunit/phpunit": "3.7.*", | |
672 | + "predis/predis": "0.8.*@dev", | |
673 | + "symfony/http-foundation": "~2.1" | |
674 | + }, | |
675 | + "suggest": { | |
676 | + "ext-openssl": "Allows for usage of secure connections with the stream-based HTTP client.", | |
677 | + "predis/predis": "Allows using the Redis storage backend.", | |
678 | + "symfony/http-foundation": "Allows using the Symfony Session storage backend." | |
679 | + }, | |
680 | + "type": "library", | |
681 | + "extra": { | |
682 | + "branch-alias": { | |
683 | + "dev-master": "0.1-dev" | |
684 | + } | |
685 | + }, | |
686 | + "autoload": { | |
687 | + "psr-0": { | |
688 | + "OAuth": "src", | |
689 | + "OAuth\\Unit": "tests" | |
690 | + } | |
691 | + }, | |
692 | + "notification-url": "https://packagist.org/downloads/", | |
693 | + "license": [ | |
694 | + "MIT" | |
695 | + ], | |
696 | + "authors": [ | |
697 | + { | |
698 | + "name": "David Desberg", | |
699 | + "email": "david@daviddesberg.com" | |
700 | + }, | |
701 | + { | |
702 | + "name": "Pieter Hordijk", | |
703 | + "email": "info@pieterhordijk.com" | |
704 | + } | |
705 | + ], | |
706 | + "description": "PHP 5.3+ oAuth 1/2 Library", | |
707 | + "keywords": [ | |
708 | + "Authentication", | |
709 | + "authorization", | |
710 | + "oauth", | |
711 | + "security" | |
712 | + ], | |
713 | + "time": "2015-09-09 06:43:02" | |
714 | + }, | |
715 | + { | |
716 | + "name": "nodge/lightopenid", | |
717 | + "version": "1.1.2", | |
718 | + "source": { | |
719 | + "type": "git", | |
720 | + "url": "https://github.com/Nodge/LightOpenID.git", | |
721 | + "reference": "a5492cc0c932c557b7e9b54a6e5bbd85cc5fa041" | |
722 | + }, | |
723 | + "dist": { | |
724 | + "type": "zip", | |
725 | + "url": "https://api.github.com/repos/Nodge/LightOpenID/zipball/a5492cc0c932c557b7e9b54a6e5bbd85cc5fa041", | |
726 | + "reference": "a5492cc0c932c557b7e9b54a6e5bbd85cc5fa041", | |
727 | + "shasum": "" | |
728 | + }, | |
729 | + "require": { | |
730 | + "php": ">=5.2" | |
731 | + }, | |
732 | + "type": "library", | |
733 | + "autoload": { | |
734 | + "classmap": [ | |
735 | + "openid.php", | |
736 | + "provider/provider.php" | |
737 | + ] | |
738 | + }, | |
739 | + "notification-url": "https://packagist.org/downloads/", | |
740 | + "license": [ | |
741 | + "MIT License" | |
742 | + ], | |
743 | + "authors": [ | |
744 | + { | |
745 | + "name": "Mewp", | |
746 | + "homepage": "http://code.google.com/p/lightopenid/" | |
747 | + }, | |
748 | + { | |
749 | + "name": "Ignat Ignatov", | |
750 | + "homepage": "https://github.com/iignatov/LightOpenID" | |
751 | + } | |
752 | + ], | |
753 | + "description": "Lightweight PHP5 library for easy OpenID authentication.", | |
754 | + "homepage": "https://github.com/Nodge/LightOpenID", | |
755 | + "keywords": [ | |
756 | + "Authentication", | |
757 | + "OpenId" | |
758 | + ], | |
759 | + "time": "2013-08-31 16:48:56" | |
760 | + }, | |
761 | + { | |
762 | + "name": "nodge/yii2-eauth", | |
763 | + "version": "2.3.0", | |
764 | + "source": { | |
765 | + "type": "git", | |
766 | + "url": "https://github.com/Nodge/yii2-eauth.git", | |
767 | + "reference": "25963e78c6083734736187bff992dd9da60fd125" | |
768 | + }, | |
769 | + "dist": { | |
770 | + "type": "zip", | |
771 | + "url": "https://api.github.com/repos/Nodge/yii2-eauth/zipball/25963e78c6083734736187bff992dd9da60fd125", | |
772 | + "reference": "25963e78c6083734736187bff992dd9da60fd125", | |
773 | + "shasum": "" | |
774 | + }, | |
775 | + "require": { | |
776 | + "lib-curl": "*", | |
777 | + "lusitanian/oauth": "~0.3.0", | |
778 | + "nodge/lightopenid": "~1.1.0", | |
779 | + "php": ">=5.4.0", | |
780 | + "yiisoft/yii2": "*" | |
781 | + }, | |
782 | + "type": "yii2-extension", | |
783 | + "extra": { | |
784 | + "bootstrap": "nodge\\eauth\\Bootstrap" | |
785 | + }, | |
786 | + "autoload": { | |
787 | + "psr-4": { | |
788 | + "nodge\\eauth\\": "src/" | |
789 | + } | |
790 | + }, | |
791 | + "notification-url": "https://packagist.org/downloads/", | |
792 | + "license": [ | |
793 | + "New BSD License" | |
794 | + ], | |
795 | + "authors": [ | |
796 | + { | |
797 | + "name": "Maxim Zemskov", | |
798 | + "email": "nodge@yandex.ru", | |
799 | + "homepage": "http://nodge.ru/" | |
800 | + } | |
801 | + ], | |
802 | + "description": "Yii2 EAuth Extension. EAuth allows to authenticate users with accounts on other websites (Google, Facebook, Twitter, etc).", | |
803 | + "homepage": "https://github.com/Nodge/yii2-eauth", | |
804 | + "keywords": [ | |
805 | + "Authentication", | |
806 | + "OpenId", | |
807 | + "eauth", | |
808 | + "extension", | |
809 | + "oauth", | |
810 | + "yii2" | |
811 | + ], | |
812 | + "time": "2015-10-17 16:51:17" | |
813 | + }, | |
814 | + { | |
655 | 815 | "name": "rmrevin/yii2-fontawesome", |
656 | - "version": "2.12.0", | |
816 | + "version": "2.12.2", | |
657 | 817 | "source": { |
658 | 818 | "type": "git", |
659 | 819 | "url": "https://github.com/rmrevin/yii2-fontawesome.git", |
660 | - "reference": "51d33ec9d1d7edab2166f1d42668c1bc8d28c068" | |
820 | + "reference": "62308687477734c166753de0ad9e2333dc7dce32" | |
661 | 821 | }, |
662 | 822 | "dist": { |
663 | 823 | "type": "zip", |
664 | - "url": "https://api.github.com/repos/rmrevin/yii2-fontawesome/zipball/51d33ec9d1d7edab2166f1d42668c1bc8d28c068", | |
665 | - "reference": "51d33ec9d1d7edab2166f1d42668c1bc8d28c068", | |
824 | + "url": "https://api.github.com/repos/rmrevin/yii2-fontawesome/zipball/62308687477734c166753de0ad9e2333dc7dce32", | |
825 | + "reference": "62308687477734c166753de0ad9e2333dc7dce32", | |
666 | 826 | "shasum": "" |
667 | 827 | }, |
668 | 828 | "require": { |
... | ... | @@ -688,9 +848,9 @@ |
688 | 848 | ], |
689 | 849 | "authors": [ |
690 | 850 | { |
691 | - "name": "Roman Revin", | |
692 | - "email": "xgismox@gmail.com", | |
693 | - "homepage": "http://rmrevin.ru/" | |
851 | + "name": "Revin Roman", | |
852 | + "email": "roman@rmrevin.com", | |
853 | + "homepage": "https://rmrevin.com/" | |
694 | 854 | } |
695 | 855 | ], |
696 | 856 | "description": "Asset Bundle for Yii2 with Font Awesome", |
... | ... | @@ -701,7 +861,7 @@ |
701 | 861 | "font", |
702 | 862 | "yii" |
703 | 863 | ], |
704 | - "time": "2015-08-15 16:50:16" | |
864 | + "time": "2015-11-20 09:17:45" | |
705 | 865 | }, |
706 | 866 | { |
707 | 867 | "name": "swiftmailer/swiftmailer", | ... | ... |
frontend/controllers/SiteController.php
... | ... | @@ -16,7 +16,8 @@ use yii\filters\VerbFilter; |
16 | 16 | use yii\filters\AccessControl; |
17 | 17 | use frontend\models\OptionsToValues; |
18 | 18 | use yii\validators\EmailValidator; |
19 | - | |
19 | +use common\models\User; | |
20 | +use yii\helpers\VarDumper; | |
20 | 21 | use common\models\Page; |
21 | 22 | |
22 | 23 | /** |
... | ... | @@ -52,6 +53,11 @@ class SiteController extends Controller |
52 | 53 | 'logout' => ['post'], |
53 | 54 | ], |
54 | 55 | ], |
56 | + 'eauth' => [ | |
57 | + // required to disable csrf validation on OpenID requests | |
58 | + 'class' => \nodge\eauth\openid\ControllerBehavior::className(), | |
59 | + 'only' => ['login'], | |
60 | + ], | |
55 | 61 | ]; |
56 | 62 | } |
57 | 63 | |
... | ... | @@ -94,6 +100,42 @@ class SiteController extends Controller |
94 | 100 | */ |
95 | 101 | public function actionLogin() |
96 | 102 | { |
103 | + | |
104 | + $serviceName = Yii::$app->getRequest()->getQueryParam('service'); | |
105 | + if (isset($serviceName)) { | |
106 | + /** @var $eauth \nodge\eauth\ServiceBase */ | |
107 | + $eauth = Yii::$app->get('eauth')->getIdentity($serviceName); | |
108 | + $eauth->setRedirectUrl(Yii::$app->getUser()->getReturnUrl()); | |
109 | + $eauth->setCancelUrl(Yii::$app->getUrlManager()->createAbsoluteUrl('site/login')); | |
110 | + | |
111 | + try { | |
112 | + if ($eauth->authenticate()) { | |
113 | +// var_dump($eauth->getIsAuthenticated(), $eauth->getAttributes()); exit; | |
114 | + | |
115 | + $identity = User::findByEAuth($eauth); | |
116 | + Yii::$app->getUser()->login($identity); | |
117 | + | |
118 | + // special redirect with closing popup window | |
119 | + $eauth->redirect(); | |
120 | + } | |
121 | + else { | |
122 | + // close popup window and redirect to cancelUrl | |
123 | + $eauth->cancel(); | |
124 | + } | |
125 | + } | |
126 | + catch (\nodge\eauth\ErrorException $e) { | |
127 | + // save error to show it later | |
128 | + Yii::$app->getSession()->setFlash('error', 'EAuthException: '.$e->getMessage()); | |
129 | + | |
130 | + // close popup window and redirect to cancelUrl | |
131 | +// $eauth->cancel(); | |
132 | + $eauth->redirect($eauth->getCancelUrl()); | |
133 | + } | |
134 | + } | |
135 | + | |
136 | + | |
137 | + | |
138 | + | |
97 | 139 | if (!\Yii::$app->user->isGuest) { |
98 | 140 | return $this->goHome(); |
99 | 141 | } |
... | ... | @@ -126,7 +168,13 @@ class SiteController extends Controller |
126 | 168 | * @return mixed |
127 | 169 | */ |
128 | 170 | public function actionContact() |
129 | - { | |
171 | + { | |
172 | + | |
173 | + //Yii::$app->user->logout(); | |
174 | + $identity = Yii::$app->getUser()->getIdentity(); | |
175 | + var_dump($identity[profile]); | |
176 | + die(); | |
177 | + | |
130 | 178 | $model = new ContactForm(); |
131 | 179 | if ($model->load(Yii::$app->request->post()) && $model->validate()) { |
132 | 180 | if ($model->sendEmail(Yii::$app->params['adminEmail'])) { |
... | ... | @@ -217,6 +265,7 @@ class SiteController extends Controller |
217 | 265 | $option_list = $option_model->find()->where(1)->all(); |
218 | 266 | $option_values = array(); |
219 | 267 | $post = \Yii::$app->request->post(); |
268 | + | |
220 | 269 | if(!empty(\Yii::$app->request->post())) { |
221 | 270 | $options_to_values = array(); |
222 | 271 | $hasErrors = false; | ... | ... |
frontend/views/site/login.php
1 | 1 | <?php |
2 | - | |
3 | -/* @var $this yii\web\View */ | |
4 | -/* @var $form yii\bootstrap\ActiveForm */ | |
5 | -/* @var $model \common\models\LoginForm */ | |
6 | - | |
7 | 2 | use yii\helpers\Html; |
8 | -use yii\bootstrap\ActiveForm; | |
9 | - | |
3 | +use yii\widgets\ActiveForm; | |
4 | +/** | |
5 | + * @var yii\web\View $this | |
6 | + * @var yii\widgets\ActiveForm $form | |
7 | + * @var app\models\LoginForm $model | |
8 | + */ | |
10 | 9 | $this->title = 'Login'; |
11 | 10 | $this->params['breadcrumbs'][] = $this->title; |
12 | 11 | ?> |
13 | -<div class="site-login"> | |
14 | - <h1><?= Html::encode($this->title) ?></h1> | |
15 | - | |
16 | - <p>Please fill out the following fields to login:</p> | |
17 | - | |
18 | - <div class="row"> | |
19 | - <div class="col-lg-5"> | |
20 | - <?php $form = ActiveForm::begin(['id' => 'login-form']); ?> | |
12 | +<h1><?php echo Html::encode($this->title); ?></h1> | |
21 | 13 | |
22 | - <?= $form->field($model, 'username') ?> | |
23 | - | |
24 | - <?= $form->field($model, 'password')->passwordInput() ?> | |
25 | - | |
26 | - <?= $form->field($model, 'rememberMe')->checkbox() ?> | |
14 | +<?php | |
15 | + if (Yii::$app->getSession()->hasFlash('error')) { | |
16 | + echo '<div class="alert alert-danger">'.Yii::$app->getSession()->getFlash('error').'</div>'; | |
17 | + } | |
18 | +?> | |
27 | 19 | |
28 | - <div style="color:#999;margin:1em 0"> | |
29 | - If you forgot your password you can <?= Html::a('reset it', ['site/request-password-reset']) ?>. | |
30 | - </div> | |
20 | +<p class="lead">Do you already have an account on one of these sites? Click the logo to log in with it here:</p> | |
21 | +<?php echo \nodge\eauth\Widget::widget(array('action' => 'site/login')); ?> | |
22 | +<hr/> | |
31 | 23 | |
32 | - <div class="form-group"> | |
33 | - <?= Html::submitButton('Login', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?> | |
34 | - </div> | |
24 | +<p>Please fill out the following fields to login:</p> | |
35 | 25 | |
36 | - <?php ActiveForm::end(); ?> | |
37 | - </div> | |
26 | +<?php $form = ActiveForm::begin(array('options' => array('class' => 'form-horizontal', 'id' => 'login-form'))); ?> | |
27 | + <?php echo $form->field($model, 'username')->textInput(); ?> | |
28 | + <?php echo $form->field($model, 'password')->passwordInput(); ?> | |
29 | + <?php echo $form->field($model, 'rememberMe')->checkbox(); ?> | |
30 | + <div class="form-actions"> | |
31 | + <?php echo Html::submitButton('Login', array('class' => 'btn btn-primary')); ?> | |
38 | 32 | </div> |
39 | -</div> | |
33 | +<?php ActiveForm::end(); ?> | |
40 | 34 | \ No newline at end of file | ... | ... |
vendor/composer/autoload_classmap.php
vendor/composer/autoload_namespaces.php
... | ... | @@ -7,6 +7,8 @@ $baseDir = dirname($vendorDir); |
7 | 7 | |
8 | 8 | return array( |
9 | 9 | 'cebe\\gravatar\\' => array($vendorDir . '/cebe/yii2-gravatar'), |
10 | + 'OAuth\\Unit' => array($vendorDir . '/lusitanian/oauth/tests'), | |
11 | + 'OAuth' => array($vendorDir . '/lusitanian/oauth/src'), | |
10 | 12 | 'HTMLPurifier' => array($vendorDir . '/ezyang/htmlpurifier/library'), |
11 | 13 | 'Diff' => array($vendorDir . '/phpspec/php-diff/lib'), |
12 | 14 | ); | ... | ... |
vendor/composer/autoload_psr4.php
... | ... | @@ -16,6 +16,7 @@ return array( |
16 | 16 | 'yii\\bootstrap\\' => array($vendorDir . '/yiisoft/yii2-bootstrap'), |
17 | 17 | 'yii\\' => array($vendorDir . '/yiisoft/yii2'), |
18 | 18 | 'rmrevin\\yii\\fontawesome\\' => array($vendorDir . '/rmrevin/yii2-fontawesome'), |
19 | + 'nodge\\eauth\\' => array($vendorDir . '/nodge/yii2-eauth/src'), | |
19 | 20 | 'kartik\\select2\\' => array($vendorDir . '/kartik-v/yii2-widget-select2'), |
20 | 21 | 'kartik\\base\\' => array($vendorDir . '/kartik-v/yii2-krajee-base'), |
21 | 22 | 'dmstr\\' => array($vendorDir . '/dmstr/yii2-adminlte-asset'), | ... | ... |
vendor/composer/installed.json
... | ... | @@ -696,60 +696,6 @@ |
696 | 696 | ] |
697 | 697 | }, |
698 | 698 | { |
699 | - "name": "rmrevin/yii2-fontawesome", | |
700 | - "version": "2.12.0", | |
701 | - "version_normalized": "2.12.0.0", | |
702 | - "source": { | |
703 | - "type": "git", | |
704 | - "url": "https://github.com/rmrevin/yii2-fontawesome.git", | |
705 | - "reference": "51d33ec9d1d7edab2166f1d42668c1bc8d28c068" | |
706 | - }, | |
707 | - "dist": { | |
708 | - "type": "zip", | |
709 | - "url": "https://api.github.com/repos/rmrevin/yii2-fontawesome/zipball/51d33ec9d1d7edab2166f1d42668c1bc8d28c068", | |
710 | - "reference": "51d33ec9d1d7edab2166f1d42668c1bc8d28c068", | |
711 | - "shasum": "" | |
712 | - }, | |
713 | - "require": { | |
714 | - "bower-asset/fontawesome": "4.4.*", | |
715 | - "php": ">=5.4.0", | |
716 | - "yiisoft/yii2": "2.0.*" | |
717 | - }, | |
718 | - "time": "2015-08-15 16:50:16", | |
719 | - "type": "yii2-extension", | |
720 | - "extra": { | |
721 | - "asset-installer-paths": { | |
722 | - "npm-asset-library": "vendor/npm", | |
723 | - "bower-asset-library": "vendor/bower" | |
724 | - } | |
725 | - }, | |
726 | - "installation-source": "dist", | |
727 | - "autoload": { | |
728 | - "psr-4": { | |
729 | - "rmrevin\\yii\\fontawesome\\": "" | |
730 | - } | |
731 | - }, | |
732 | - "notification-url": "https://packagist.org/downloads/", | |
733 | - "license": [ | |
734 | - "MIT" | |
735 | - ], | |
736 | - "authors": [ | |
737 | - { | |
738 | - "name": "Roman Revin", | |
739 | - "email": "xgismox@gmail.com", | |
740 | - "homepage": "http://rmrevin.ru/" | |
741 | - } | |
742 | - ], | |
743 | - "description": "Asset Bundle for Yii2 with Font Awesome", | |
744 | - "keywords": [ | |
745 | - "asset", | |
746 | - "awesome", | |
747 | - "bundle", | |
748 | - "font", | |
749 | - "yii" | |
750 | - ] | |
751 | - }, | |
752 | - { | |
753 | 699 | "name": "almasaeed2010/adminlte", |
754 | 700 | "version": "v2.3.2", |
755 | 701 | "version_normalized": "2.3.2.0", |
... | ... | @@ -837,62 +783,6 @@ |
837 | 783 | ] |
838 | 784 | }, |
839 | 785 | { |
840 | - "name": "dmstr/yii2-adminlte-asset", | |
841 | - "version": "2.2.3", | |
842 | - "version_normalized": "2.2.3.0", | |
843 | - "source": { | |
844 | - "type": "git", | |
845 | - "url": "https://github.com/dmstr/yii2-adminlte-asset.git", | |
846 | - "reference": "45cffbfe90d79f3c405b4cc98f7f318ae372bb10" | |
847 | - }, | |
848 | - "dist": { | |
849 | - "type": "zip", | |
850 | - "url": "https://api.github.com/repos/dmstr/yii2-adminlte-asset/zipball/45cffbfe90d79f3c405b4cc98f7f318ae372bb10", | |
851 | - "reference": "45cffbfe90d79f3c405b4cc98f7f318ae372bb10", | |
852 | - "shasum": "" | |
853 | - }, | |
854 | - "require": { | |
855 | - "almasaeed2010/adminlte": "~2.0", | |
856 | - "cebe/yii2-gravatar": "1.*", | |
857 | - "rmrevin/yii2-fontawesome": "~2.9", | |
858 | - "yiisoft/yii2": "2.*", | |
859 | - "yiisoft/yii2-bootstrap": "2.*" | |
860 | - }, | |
861 | - "time": "2015-10-07 21:31:26", | |
862 | - "type": "yii2-extension", | |
863 | - "extra": { | |
864 | - "branch-alias": { | |
865 | - "dev-master": "2.0.x-dev" | |
866 | - } | |
867 | - }, | |
868 | - "installation-source": "dist", | |
869 | - "autoload": { | |
870 | - "psr-4": { | |
871 | - "dmstr\\": "" | |
872 | - } | |
873 | - }, | |
874 | - "notification-url": "https://packagist.org/downloads/", | |
875 | - "license": [ | |
876 | - "BSD-3-Clause" | |
877 | - ], | |
878 | - "authors": [ | |
879 | - { | |
880 | - "name": "Tobias Munk", | |
881 | - "email": "tobias@diemeisterei.de" | |
882 | - }, | |
883 | - { | |
884 | - "name": "Evgeniy Tkachenko", | |
885 | - "email": "et.coder@gmail.com" | |
886 | - } | |
887 | - ], | |
888 | - "description": "Backend theme for Yii2 Framework", | |
889 | - "keywords": [ | |
890 | - "AdminLTE", | |
891 | - "extension", | |
892 | - "yii2" | |
893 | - ] | |
894 | - }, | |
895 | - { | |
896 | 786 | "name": "yiisoft/yii2-jui", |
897 | 787 | "version": "2.0.4", |
898 | 788 | "version_normalized": "2.0.4.0", |
... | ... | @@ -945,54 +835,6 @@ |
945 | 835 | ] |
946 | 836 | }, |
947 | 837 | { |
948 | - "name": "kartik-v/yii2-krajee-base", | |
949 | - "version": "v1.7.7", | |
950 | - "version_normalized": "1.7.7.0", | |
951 | - "source": { | |
952 | - "type": "git", | |
953 | - "url": "https://github.com/kartik-v/yii2-krajee-base.git", | |
954 | - "reference": "c0adff9d9762f4fd3bf0e7cd0000fcab0bf00f19" | |
955 | - }, | |
956 | - "dist": { | |
957 | - "type": "zip", | |
958 | - "url": "https://api.github.com/repos/kartik-v/yii2-krajee-base/zipball/c0adff9d9762f4fd3bf0e7cd0000fcab0bf00f19", | |
959 | - "reference": "c0adff9d9762f4fd3bf0e7cd0000fcab0bf00f19", | |
960 | - "shasum": "" | |
961 | - }, | |
962 | - "require": { | |
963 | - "yiisoft/yii2-bootstrap": "@dev" | |
964 | - }, | |
965 | - "time": "2015-06-16 05:19:57", | |
966 | - "type": "yii2-extension", | |
967 | - "installation-source": "dist", | |
968 | - "autoload": { | |
969 | - "psr-4": { | |
970 | - "kartik\\base\\": "" | |
971 | - } | |
972 | - }, | |
973 | - "notification-url": "https://packagist.org/downloads/", | |
974 | - "license": [ | |
975 | - "BSD-3-Clause" | |
976 | - ], | |
977 | - "authors": [ | |
978 | - { | |
979 | - "name": "Kartik Visweswaran", | |
980 | - "email": "kartikv2@gmail.com", | |
981 | - "homepage": "http://www.krajee.com/" | |
982 | - } | |
983 | - ], | |
984 | - "description": "Base library and foundation components for all Yii2 Krajee extensions.", | |
985 | - "homepage": "https://github.com/kartik-v/yii2-krajee-base", | |
986 | - "keywords": [ | |
987 | - "base", | |
988 | - "extension", | |
989 | - "foundation", | |
990 | - "krajee", | |
991 | - "widget", | |
992 | - "yii2" | |
993 | - ] | |
994 | - }, | |
995 | - { | |
996 | 838 | "name": "bower-asset/jquery", |
997 | 839 | "version": "2.1.4", |
998 | 840 | "version_normalized": "2.1.4.0", |
... | ... | @@ -1395,5 +1237,330 @@ |
1395 | 1237 | "CC-BY-3.0" |
1396 | 1238 | ], |
1397 | 1239 | "description": "Font Awesome" |
1240 | + }, | |
1241 | + { | |
1242 | + "name": "dmstr/yii2-adminlte-asset", | |
1243 | + "version": "2.2.4", | |
1244 | + "version_normalized": "2.2.4.0", | |
1245 | + "source": { | |
1246 | + "type": "git", | |
1247 | + "url": "https://github.com/dmstr/yii2-adminlte-asset.git", | |
1248 | + "reference": "c842a15ceef4e903f70ac927ec3246e6d53e1148" | |
1249 | + }, | |
1250 | + "dist": { | |
1251 | + "type": "zip", | |
1252 | + "url": "https://api.github.com/repos/dmstr/yii2-adminlte-asset/zipball/c842a15ceef4e903f70ac927ec3246e6d53e1148", | |
1253 | + "reference": "c842a15ceef4e903f70ac927ec3246e6d53e1148", | |
1254 | + "shasum": "" | |
1255 | + }, | |
1256 | + "require": { | |
1257 | + "almasaeed2010/adminlte": "~2.0", | |
1258 | + "cebe/yii2-gravatar": "1.*", | |
1259 | + "rmrevin/yii2-fontawesome": "~2.9", | |
1260 | + "yiisoft/yii2": "2.*", | |
1261 | + "yiisoft/yii2-bootstrap": "2.*" | |
1262 | + }, | |
1263 | + "time": "2015-11-06 10:35:36", | |
1264 | + "type": "yii2-extension", | |
1265 | + "extra": { | |
1266 | + "branch-alias": { | |
1267 | + "dev-master": "2.0.x-dev" | |
1268 | + } | |
1269 | + }, | |
1270 | + "installation-source": "dist", | |
1271 | + "autoload": { | |
1272 | + "psr-4": { | |
1273 | + "dmstr\\": "" | |
1274 | + } | |
1275 | + }, | |
1276 | + "notification-url": "https://packagist.org/downloads/", | |
1277 | + "license": [ | |
1278 | + "BSD-3-Clause" | |
1279 | + ], | |
1280 | + "authors": [ | |
1281 | + { | |
1282 | + "name": "Tobias Munk", | |
1283 | + "email": "tobias@diemeisterei.de" | |
1284 | + }, | |
1285 | + { | |
1286 | + "name": "Evgeniy Tkachenko", | |
1287 | + "email": "et.coder@gmail.com" | |
1288 | + } | |
1289 | + ], | |
1290 | + "description": "Backend theme for Yii2 Framework", | |
1291 | + "keywords": [ | |
1292 | + "AdminLTE", | |
1293 | + "extension", | |
1294 | + "yii2" | |
1295 | + ] | |
1296 | + }, | |
1297 | + { | |
1298 | + "name": "nodge/lightopenid", | |
1299 | + "version": "1.1.2", | |
1300 | + "version_normalized": "1.1.2.0", | |
1301 | + "source": { | |
1302 | + "type": "git", | |
1303 | + "url": "https://github.com/Nodge/LightOpenID.git", | |
1304 | + "reference": "a5492cc0c932c557b7e9b54a6e5bbd85cc5fa041" | |
1305 | + }, | |
1306 | + "dist": { | |
1307 | + "type": "zip", | |
1308 | + "url": "https://api.github.com/repos/Nodge/LightOpenID/zipball/a5492cc0c932c557b7e9b54a6e5bbd85cc5fa041", | |
1309 | + "reference": "a5492cc0c932c557b7e9b54a6e5bbd85cc5fa041", | |
1310 | + "shasum": "" | |
1311 | + }, | |
1312 | + "require": { | |
1313 | + "php": ">=5.2" | |
1314 | + }, | |
1315 | + "time": "2013-08-31 16:48:56", | |
1316 | + "type": "library", | |
1317 | + "installation-source": "dist", | |
1318 | + "autoload": { | |
1319 | + "classmap": [ | |
1320 | + "openid.php", | |
1321 | + "provider/provider.php" | |
1322 | + ] | |
1323 | + }, | |
1324 | + "notification-url": "https://packagist.org/downloads/", | |
1325 | + "license": [ | |
1326 | + "MIT License" | |
1327 | + ], | |
1328 | + "authors": [ | |
1329 | + { | |
1330 | + "name": "Mewp", | |
1331 | + "homepage": "http://code.google.com/p/lightopenid/" | |
1332 | + }, | |
1333 | + { | |
1334 | + "name": "Ignat Ignatov", | |
1335 | + "homepage": "https://github.com/iignatov/LightOpenID" | |
1336 | + } | |
1337 | + ], | |
1338 | + "description": "Lightweight PHP5 library for easy OpenID authentication.", | |
1339 | + "homepage": "https://github.com/Nodge/LightOpenID", | |
1340 | + "keywords": [ | |
1341 | + "Authentication", | |
1342 | + "OpenId" | |
1343 | + ] | |
1344 | + }, | |
1345 | + { | |
1346 | + "name": "lusitanian/oauth", | |
1347 | + "version": "v0.3.6", | |
1348 | + "version_normalized": "0.3.6.0", | |
1349 | + "source": { | |
1350 | + "type": "git", | |
1351 | + "url": "https://github.com/Lusitanian/PHPoAuthLib.git", | |
1352 | + "reference": "4ce8c488971410233eb3b1e6d9ac4e81debb41d5" | |
1353 | + }, | |
1354 | + "dist": { | |
1355 | + "type": "zip", | |
1356 | + "url": "https://api.github.com/repos/Lusitanian/PHPoAuthLib/zipball/4ce8c488971410233eb3b1e6d9ac4e81debb41d5", | |
1357 | + "reference": "4ce8c488971410233eb3b1e6d9ac4e81debb41d5", | |
1358 | + "shasum": "" | |
1359 | + }, | |
1360 | + "require": { | |
1361 | + "php": ">=5.3.0" | |
1362 | + }, | |
1363 | + "require-dev": { | |
1364 | + "phpunit/phpunit": "3.7.*", | |
1365 | + "predis/predis": "0.8.*@dev", | |
1366 | + "symfony/http-foundation": "~2.1" | |
1367 | + }, | |
1368 | + "suggest": { | |
1369 | + "ext-openssl": "Allows for usage of secure connections with the stream-based HTTP client.", | |
1370 | + "predis/predis": "Allows using the Redis storage backend.", | |
1371 | + "symfony/http-foundation": "Allows using the Symfony Session storage backend." | |
1372 | + }, | |
1373 | + "time": "2015-09-09 06:43:02", | |
1374 | + "type": "library", | |
1375 | + "extra": { | |
1376 | + "branch-alias": { | |
1377 | + "dev-master": "0.1-dev" | |
1378 | + } | |
1379 | + }, | |
1380 | + "installation-source": "dist", | |
1381 | + "autoload": { | |
1382 | + "psr-0": { | |
1383 | + "OAuth": "src", | |
1384 | + "OAuth\\Unit": "tests" | |
1385 | + } | |
1386 | + }, | |
1387 | + "notification-url": "https://packagist.org/downloads/", | |
1388 | + "license": [ | |
1389 | + "MIT" | |
1390 | + ], | |
1391 | + "authors": [ | |
1392 | + { | |
1393 | + "name": "David Desberg", | |
1394 | + "email": "david@daviddesberg.com" | |
1395 | + }, | |
1396 | + { | |
1397 | + "name": "Pieter Hordijk", | |
1398 | + "email": "info@pieterhordijk.com" | |
1399 | + } | |
1400 | + ], | |
1401 | + "description": "PHP 5.3+ oAuth 1/2 Library", | |
1402 | + "keywords": [ | |
1403 | + "Authentication", | |
1404 | + "authorization", | |
1405 | + "oauth", | |
1406 | + "security" | |
1407 | + ] | |
1408 | + }, | |
1409 | + { | |
1410 | + "name": "nodge/yii2-eauth", | |
1411 | + "version": "2.3.0", | |
1412 | + "version_normalized": "2.3.0.0", | |
1413 | + "source": { | |
1414 | + "type": "git", | |
1415 | + "url": "https://github.com/Nodge/yii2-eauth.git", | |
1416 | + "reference": "25963e78c6083734736187bff992dd9da60fd125" | |
1417 | + }, | |
1418 | + "dist": { | |
1419 | + "type": "zip", | |
1420 | + "url": "https://api.github.com/repos/Nodge/yii2-eauth/zipball/25963e78c6083734736187bff992dd9da60fd125", | |
1421 | + "reference": "25963e78c6083734736187bff992dd9da60fd125", | |
1422 | + "shasum": "" | |
1423 | + }, | |
1424 | + "require": { | |
1425 | + "lib-curl": "*", | |
1426 | + "lusitanian/oauth": "~0.3.0", | |
1427 | + "nodge/lightopenid": "~1.1.0", | |
1428 | + "php": ">=5.4.0", | |
1429 | + "yiisoft/yii2": "*" | |
1430 | + }, | |
1431 | + "time": "2015-10-17 16:51:17", | |
1432 | + "type": "yii2-extension", | |
1433 | + "extra": { | |
1434 | + "bootstrap": "nodge\\eauth\\Bootstrap" | |
1435 | + }, | |
1436 | + "installation-source": "dist", | |
1437 | + "autoload": { | |
1438 | + "psr-4": { | |
1439 | + "nodge\\eauth\\": "src/" | |
1440 | + } | |
1441 | + }, | |
1442 | + "notification-url": "https://packagist.org/downloads/", | |
1443 | + "license": [ | |
1444 | + "New BSD License" | |
1445 | + ], | |
1446 | + "authors": [ | |
1447 | + { | |
1448 | + "name": "Maxim Zemskov", | |
1449 | + "email": "nodge@yandex.ru", | |
1450 | + "homepage": "http://nodge.ru/" | |
1451 | + } | |
1452 | + ], | |
1453 | + "description": "Yii2 EAuth Extension. EAuth allows to authenticate users with accounts on other websites (Google, Facebook, Twitter, etc).", | |
1454 | + "homepage": "https://github.com/Nodge/yii2-eauth", | |
1455 | + "keywords": [ | |
1456 | + "Authentication", | |
1457 | + "OpenId", | |
1458 | + "eauth", | |
1459 | + "extension", | |
1460 | + "oauth", | |
1461 | + "yii2" | |
1462 | + ] | |
1463 | + }, | |
1464 | + { | |
1465 | + "name": "kartik-v/yii2-krajee-base", | |
1466 | + "version": "v1.7.8", | |
1467 | + "version_normalized": "1.7.8.0", | |
1468 | + "source": { | |
1469 | + "type": "git", | |
1470 | + "url": "https://github.com/kartik-v/yii2-krajee-base.git", | |
1471 | + "reference": "f90b9ff515ced4e40ff5ec8156a5c9f7f51e2a7f" | |
1472 | + }, | |
1473 | + "dist": { | |
1474 | + "type": "zip", | |
1475 | + "url": "https://api.github.com/repos/kartik-v/yii2-krajee-base/zipball/f90b9ff515ced4e40ff5ec8156a5c9f7f51e2a7f", | |
1476 | + "reference": "f90b9ff515ced4e40ff5ec8156a5c9f7f51e2a7f", | |
1477 | + "shasum": "" | |
1478 | + }, | |
1479 | + "require": { | |
1480 | + "yiisoft/yii2-bootstrap": "@dev" | |
1481 | + }, | |
1482 | + "time": "2015-11-22 06:35:23", | |
1483 | + "type": "yii2-extension", | |
1484 | + "installation-source": "dist", | |
1485 | + "autoload": { | |
1486 | + "psr-4": { | |
1487 | + "kartik\\base\\": "" | |
1488 | + } | |
1489 | + }, | |
1490 | + "notification-url": "https://packagist.org/downloads/", | |
1491 | + "license": [ | |
1492 | + "BSD-3-Clause" | |
1493 | + ], | |
1494 | + "authors": [ | |
1495 | + { | |
1496 | + "name": "Kartik Visweswaran", | |
1497 | + "email": "kartikv2@gmail.com", | |
1498 | + "homepage": "http://www.krajee.com/" | |
1499 | + } | |
1500 | + ], | |
1501 | + "description": "Base library and foundation components for all Yii2 Krajee extensions.", | |
1502 | + "homepage": "https://github.com/kartik-v/yii2-krajee-base", | |
1503 | + "keywords": [ | |
1504 | + "base", | |
1505 | + "extension", | |
1506 | + "foundation", | |
1507 | + "krajee", | |
1508 | + "widget", | |
1509 | + "yii2" | |
1510 | + ] | |
1511 | + }, | |
1512 | + { | |
1513 | + "name": "rmrevin/yii2-fontawesome", | |
1514 | + "version": "2.12.2", | |
1515 | + "version_normalized": "2.12.2.0", | |
1516 | + "source": { | |
1517 | + "type": "git", | |
1518 | + "url": "https://github.com/rmrevin/yii2-fontawesome.git", | |
1519 | + "reference": "62308687477734c166753de0ad9e2333dc7dce32" | |
1520 | + }, | |
1521 | + "dist": { | |
1522 | + "type": "zip", | |
1523 | + "url": "https://api.github.com/repos/rmrevin/yii2-fontawesome/zipball/62308687477734c166753de0ad9e2333dc7dce32", | |
1524 | + "reference": "62308687477734c166753de0ad9e2333dc7dce32", | |
1525 | + "shasum": "" | |
1526 | + }, | |
1527 | + "require": { | |
1528 | + "bower-asset/fontawesome": "4.4.*", | |
1529 | + "php": ">=5.4.0", | |
1530 | + "yiisoft/yii2": "2.0.*" | |
1531 | + }, | |
1532 | + "time": "2015-11-20 09:17:45", | |
1533 | + "type": "yii2-extension", | |
1534 | + "extra": { | |
1535 | + "asset-installer-paths": { | |
1536 | + "npm-asset-library": "vendor/npm", | |
1537 | + "bower-asset-library": "vendor/bower" | |
1538 | + } | |
1539 | + }, | |
1540 | + "installation-source": "dist", | |
1541 | + "autoload": { | |
1542 | + "psr-4": { | |
1543 | + "rmrevin\\yii\\fontawesome\\": "" | |
1544 | + } | |
1545 | + }, | |
1546 | + "notification-url": "https://packagist.org/downloads/", | |
1547 | + "license": [ | |
1548 | + "MIT" | |
1549 | + ], | |
1550 | + "authors": [ | |
1551 | + { | |
1552 | + "name": "Revin Roman", | |
1553 | + "email": "roman@rmrevin.com", | |
1554 | + "homepage": "https://rmrevin.com/" | |
1555 | + } | |
1556 | + ], | |
1557 | + "description": "Asset Bundle for Yii2 with Font Awesome", | |
1558 | + "keywords": [ | |
1559 | + "asset", | |
1560 | + "awesome", | |
1561 | + "bundle", | |
1562 | + "font", | |
1563 | + "yii" | |
1564 | + ] | |
1398 | 1565 | } |
1399 | 1566 | ] | ... | ... |
vendor/dmstr/yii2-adminlte-asset/CHANGELOG.md
1 | 1 | CHANGELOG |
2 | 2 | --------- |
3 | 3 | |
4 | +## 2.2.4 | |
5 | + * [FIX] fixed active menu with modules (Vasiliy Baranov) | |
6 | + * [ENH] added .hold-transition | |
7 | + | |
8 | +## 2.2.3 | |
9 | + * [ENH] : updated Gravatar widget E-Mail usage (@Quexer69) | |
10 | + | |
4 | 11 | ## 2.2.2 |
5 | 12 | * fixed Menu widget selection |
6 | 13 | * updated example views |
... | ... | @@ -114,4 +121,4 @@ CHANGELOG |
114 | 121 | * fixed missing csrf token, updated menu, code-formatting |
115 | 122 | * updated paths, added Phundament 4 template |
116 | 123 | * update README.md |
117 | - * initial commit | |
118 | 124 | \ No newline at end of file |
125 | + * initial commit | ... | ... |
vendor/dmstr/yii2-adminlte-asset/example-views/phundament/app/layouts/main.php
vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app/layouts/header.php
1 | 1 | <?php |
2 | - | |
3 | 2 | use yii\helpers\Html; |
4 | -use yii\helpers\Url; | |
5 | - | |
6 | -$username = Yii::$app->user->identity->firstname.' '.Yii::$app->user->identity->lastname; | |
7 | 3 | |
8 | 4 | /* @var $this \yii\web\View */ |
9 | 5 | /* @var $content string */ |
... | ... | @@ -234,7 +230,7 @@ $username = Yii::$app->user->identity->firstname.' '.Yii::$app->user->identity-> |
234 | 230 | <li class="dropdown user user-menu"> |
235 | 231 | <a href="#" class="dropdown-toggle" data-toggle="dropdown"> |
236 | 232 | <img src="<?= $directoryAsset ?>/img/user2-160x160.jpg" class="user-image" alt="User Image"/> |
237 | - <span class="hidden-xs"><?=$username; ?></span> | |
233 | + <span class="hidden-xs">Alexander Pierce</span> | |
238 | 234 | </a> |
239 | 235 | <ul class="dropdown-menu"> |
240 | 236 | <!-- User image --> |
... | ... | @@ -243,12 +239,11 @@ $username = Yii::$app->user->identity->firstname.' '.Yii::$app->user->identity-> |
243 | 239 | alt="User Image"/> |
244 | 240 | |
245 | 241 | <p> |
246 | - <?=$username; ?> - Web Developer | |
242 | + Alexander Pierce - Web Developer | |
247 | 243 | <small>Member since Nov. 2012</small> |
248 | 244 | </p> |
249 | 245 | </li> |
250 | - <!-- | |
251 | - Menu Body | |
246 | + <!-- Menu Body --> | |
252 | 247 | <li class="user-body"> |
253 | 248 | <div class="col-xs-4 text-center"> |
254 | 249 | <a href="#">Followers</a> |
... | ... | @@ -260,11 +255,10 @@ $username = Yii::$app->user->identity->firstname.' '.Yii::$app->user->identity-> |
260 | 255 | <a href="#">Friends</a> |
261 | 256 | </div> |
262 | 257 | </li> |
263 | - --> | |
264 | 258 | <!-- Menu Footer--> |
265 | 259 | <li class="user-footer"> |
266 | 260 | <div class="pull-left"> |
267 | - <a href="<?=Url::toRoute('site/profile'); ?>" class="btn btn-default btn-flat">Profile</a> | |
261 | + <a href="#" class="btn btn-default btn-flat">Profile</a> | |
268 | 262 | </div> |
269 | 263 | <div class="pull-right"> |
270 | 264 | <?= Html::a( | ... | ... |
vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app/layouts/left.php
... | ... | @@ -30,22 +30,10 @@ |
30 | 30 | [ |
31 | 31 | 'options' => ['class' => 'sidebar-menu'], |
32 | 32 | 'items' => [ |
33 | - ['label' => 'Страница', 'icon' => 'fa fa-file-code-o', 'url' => ['/page/']], | |
34 | - ['label' => 'Термин', 'icon' => 'fa fa-file-code-o', 'url' => ['/termin_lang/']], | |
35 | - ['label' => 'Меню', 'icon' => 'fa fa-file-code-o', 'url' => ['/menu/']], | |
33 | + ['label' => 'Menu Yii2', 'options' => ['class' => 'header']], | |
36 | 34 | ['label' => 'Gii', 'icon' => 'fa fa-file-code-o', 'url' => ['/gii']], |
37 | 35 | ['label' => 'Debug', 'icon' => 'fa fa-dashboard', 'url' => ['/debug']], |
38 | 36 | ['label' => 'Login', 'url' => ['site/login'], 'visible' => Yii::$app->user->isGuest], |
39 | - ['label' => 'Пользователи', 'icon' => 'fa fa-file-code-o', 'url' => ['/user/']], | |
40 | - [ | |
41 | - 'label' => 'Роли', | |
42 | - 'icon' => 'fa fa-share', | |
43 | - 'url' => '#', | |
44 | - 'items' => [ | |
45 | - ['label' => 'Управление ролями', 'icon' => 'fa fa-file-code-o', 'url' => ['/permit/access/role'],], | |
46 | - ['label' => 'Управление правами доступа', 'icon' => 'fa fa-dashboard', 'url' => ['/permit/access/permission'],], | |
47 | - ], | |
48 | - ], | |
49 | 37 | [ |
50 | 38 | 'label' => 'Same tools', |
51 | 39 | 'icon' => 'fa fa-share', | ... | ... |
vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app/layouts/main.php
... | ... | @@ -36,7 +36,7 @@ if (Yii::$app->controller->action->id === 'login') { |
36 | 36 | <title><?= Html::encode($this->title) ?></title> |
37 | 37 | <?php $this->head() ?> |
38 | 38 | </head> |
39 | - <body class="skin-blue sidebar-mini"> | |
39 | + <body class="hold-transition skin-blue sidebar-mini"> | |
40 | 40 | <?php $this->beginBody() ?> |
41 | 41 | <div class="wrapper"> |
42 | 42 | ... | ... |
vendor/dmstr/yii2-adminlte-asset/widgets/Menu.php
... | ... | @@ -152,6 +152,9 @@ class Menu extends \yii\widgets\Menu |
152 | 152 | if (isset($arrayRoute[1]) && $arrayRoute[1] !== $arrayThisRoute[1]) { |
153 | 153 | return false; |
154 | 154 | } |
155 | + if (isset($arrayRoute[2]) && $arrayRoute[2] !== $arrayThisRoute[2]) { | |
156 | + return false; | |
157 | + } | |
155 | 158 | unset($item['url']['#']); |
156 | 159 | if (count($item['url']) > 1) { |
157 | 160 | foreach (array_splice($item['url'], 1) as $name => $value) { | ... | ... |
vendor/kartik-v/yii2-krajee-base/AnimateAsset.php
vendor/kartik-v/yii2-krajee-base/AssetBundle.php
... | ... | @@ -4,7 +4,7 @@ |
4 | 4 | * @package yii2-krajee-base |
5 | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | |
7 | + * @version 1.7.8 | |
8 | 8 | */ |
9 | 9 | |
10 | 10 | namespace kartik\base; |
... | ... | @@ -21,10 +21,10 @@ class AssetBundle extends \yii\web\AssetBundle |
21 | 21 | const EMPTY_PATH = 'N0/P@T#'; |
22 | 22 | const KRAJEE_ASSET = 'K3/@$$3T$'; |
23 | 23 | const KRAJEE_PATH = 'K3/P@T#'; |
24 | - | |
24 | + | |
25 | 25 | public $js = self::KRAJEE_ASSET; |
26 | 26 | public $css = self::KRAJEE_ASSET; |
27 | - public $sourcePath = self::KRAJEE_PATH; | |
27 | + public $sourcePath = self::KRAJEE_PATH; | |
28 | 28 | public $depends = [ |
29 | 29 | 'yii\web\JqueryAsset', |
30 | 30 | 'yii\web\YiiAsset', |
... | ... | @@ -34,7 +34,8 @@ class AssetBundle extends \yii\web\AssetBundle |
34 | 34 | /** |
35 | 35 | * @inheritdoc |
36 | 36 | */ |
37 | - public function init() { | |
37 | + public function init() | |
38 | + { | |
38 | 39 | parent::init(); |
39 | 40 | if ($this->js === self::KRAJEE_ASSET) { |
40 | 41 | $this->js = []; |
... | ... | @@ -46,7 +47,7 @@ class AssetBundle extends \yii\web\AssetBundle |
46 | 47 | $this->sourcePath = null; |
47 | 48 | } |
48 | 49 | } |
49 | - | |
50 | + | |
50 | 51 | /** |
51 | 52 | * Adds a language JS locale file |
52 | 53 | * |
... | ... | @@ -62,7 +63,7 @@ class AssetBundle extends \yii\web\AssetBundle |
62 | 63 | if (empty($lang) || substr($lang, 0, 2) == 'en') { |
63 | 64 | return $this; |
64 | 65 | } |
65 | - $ext = $min ? (YII_DEBUG ? ".min.js" : ".js") : ".js"; | |
66 | + $ext = $min ? (YII_DEBUG ? ".min.js" : ".js") : ".js"; | |
66 | 67 | $file = "{$prefix}{$lang}{$ext}"; |
67 | 68 | if ($dir === null) { |
68 | 69 | $dir = 'js'; |
... | ... | @@ -75,16 +76,16 @@ class AssetBundle extends \yii\web\AssetBundle |
75 | 76 | $file = "{$prefix}{$lang}{$ext}"; |
76 | 77 | } |
77 | 78 | if (Config::fileExists("{$path}/{$file}")) { |
78 | - $this->js[] = empty($dir) ? $file : "{$dir}/{$file}"; | |
79 | + $this->js[] = empty($dir) ? $file : "{$dir}/{$file}"; | |
79 | 80 | } |
80 | 81 | return $this; |
81 | 82 | } |
82 | - | |
83 | + | |
83 | 84 | /** |
84 | 85 | * Set up CSS and JS asset arrays based on the base-file names |
85 | 86 | * |
86 | 87 | * @param string $type whether 'css' or 'js' |
87 | - * @param array $files the list of 'css' or 'js' basefile names | |
88 | + * @param array $files the list of 'css' or 'js' basefile names | |
88 | 89 | */ |
89 | 90 | protected function setupAssets($type, $files = []) |
90 | 91 | { | ... | ... |
vendor/kartik-v/yii2-krajee-base/CHANGE.md
1 | -version 1.7.7 | |
2 | -============= | |
1 | +Change Log: `yii2-krajee-base` | |
2 | +============================== | |
3 | + | |
4 | +## Version 1.7.8 | |
5 | + | |
6 | +**Date:** 22-Nov-2015 | |
7 | + | |
8 | +- (enh #40): Various enhancements for PJAX . | |
9 | +- (enh #41): Added .gitignore for Composer stuff. | |
10 | +- (bug #42): Better and more correct date format parsing. | |
11 | +- (enh #46): Enhance `Html5Input` initialization. | |
12 | +- (enh #47): Implement message translations. | |
13 | + | |
14 | +## Version 1.7.7 | |
15 | + | |
3 | 16 | **Date:** 16-Jun-2015 |
4 | 17 | |
5 | 18 | - (enh #37): Set range input caption to change during slide. |
6 | 19 | - (enh #38): Update to use `Json::htmlEncode` as per yii release v2.0.4. |
7 | 20 | |
8 | -version 1.7.6 | |
9 | -============= | |
21 | +## Version 1.7.6 | |
22 | + | |
10 | 23 | **Date:** 09-May-2015 |
11 | 24 | |
12 | 25 | - (enh #36): Add kv-input-group-hide class. |
13 | 26 | |
14 | -version 1.7.5 | |
15 | -============= | |
27 | +## Version 1.7.5 | |
28 | + | |
16 | 29 | **Date:** 03-May-2015 |
17 | 30 | |
18 | 31 | - (enh #30): Improve translation trait for determining messages folder. |
... | ... | @@ -20,8 +33,8 @@ version 1.7.5 |
20 | 33 | - (enh #34): New `addLanguage` method in `AssetBundle`. |
21 | 34 | - (enh #35): Allow extending translation messages. |
22 | 35 | |
23 | -version 1.7.4 | |
24 | -============= | |
36 | +## Version 1.7.4 | |
37 | + | |
25 | 38 | **Date:** 13-Feb-2015 |
26 | 39 | |
27 | 40 | - (enh #28): Create WidgetTrait for better code reuse. |
... | ... | @@ -29,27 +42,27 @@ version 1.7.4 |
29 | 42 | - (enh #29): New `getModule` and `initModule` methods in `Config`. |
30 | 43 | - Set copyright year to current. |
31 | 44 | |
32 | -version 1.7.3 | |
33 | -============= | |
45 | +## Version 1.7.3 | |
46 | + | |
34 | 47 | **Date:** 25-Jan-2015 |
35 | 48 | |
36 | 49 | - (enh #26): Enhance `Widget` options to store multiple plugin config. |
37 | 50 | - (enh #27): Set directory and URL separator rightly for the setLanguage validation. |
38 | 51 | |
39 | -version 1.7.2 | |
40 | -============= | |
52 | +## Version 1.7.2 | |
53 | + | |
41 | 54 | **Date:** 20-Jan-2015 |
42 | 55 | |
43 | 56 | - (enh #24): Revert use of DIRECTORY_SEPARATOR and use forward slash instead. |
44 | 57 | |
45 | -version 1.7.1 | |
46 | -============= | |
58 | +## Version 1.7.1 | |
59 | + | |
47 | 60 | **Date:** 15-Jan-2015 |
48 | 61 | |
49 | 62 | - (enh #23): Enhance AssetBundle for over riding empty assets from AssetManager. |
50 | 63 | |
51 | -version 1.7.0 | |
52 | -============= | |
64 | +## Version 1.7.0 | |
65 | + | |
53 | 66 | **Date:** 12-Jan-2015 |
54 | 67 | |
55 | 68 | - Fix kartik-v/yii2-widget-datepicker#10 - Language definition in pluginOptions |
... | ... | @@ -57,8 +70,8 @@ version 1.7.0 |
57 | 70 | - (enh #22): Implement base Module class. |
58 | 71 | - Code formatting updates as per Yii2 coding style. |
59 | 72 | |
60 | -version 1.6.0 | |
61 | -============= | |
73 | +## Version 1.6.0 | |
74 | + | |
62 | 75 | **Date:** 16-Dec-2014 |
63 | 76 | |
64 | 77 | - (bug #16): variable `$short` in `InputWidget` in method `setLanguage` set without `$prefix`. |
... | ... | @@ -67,8 +80,8 @@ version 1.6.0 |
67 | 80 | - (enh #19): Avoid inspect errors in IDE for `Html5Input`. |
68 | 81 | - (enh #20): Add new PluginAssetBundle for bootstrap JS dependent plugins. |
69 | 82 | |
70 | -version 1.5.0 | |
71 | -============= | |
83 | +## Version 1.5.0 | |
84 | + | |
72 | 85 | **Date:** 06-Dec-2014 |
73 | 86 | |
74 | 87 | - (enh #11): Added new properties `disabled` and `readonly` to `InputWidget` and `Html5Input`. |
... | ... | @@ -79,8 +92,8 @@ version 1.5.0 |
79 | 92 | - (enh #13): Enhancements to Config helper and change `self` methods to `static`. |
80 | 93 | - (bug #14): Fix line terminators and new lines in `getPluginScript`. |
81 | 94 | |
82 | -version 1.4.0 | |
83 | -============= | |
95 | +## Version 1.4.0 | |
96 | + | |
84 | 97 | **Date:** 29-Nov-2014 |
85 | 98 | |
86 | 99 | - (enh #9): Enhanced language validation for combined ISO-639 and ISO-3166 codes |
... | ... | @@ -93,8 +106,8 @@ version 1.4.0 |
93 | 106 | - `getCurrentDir` - gets the current directory of the extended class object |
94 | 107 | - `fileExists` - modified file_exists method after replacing the slashes with right directory separator |
95 | 108 | |
96 | -version 1.3.0 | |
97 | -============= | |
109 | +## Version 1.3.0 | |
110 | + | |
98 | 111 | **Date:** 25-Nov-2014 |
99 | 112 | |
100 | 113 | - (enh #6): Enhance `InputWidget` for attaching multiple jQuery plugins. |
... | ... | @@ -118,8 +131,8 @@ Following functionality included in `InputWidget` and `Widget` classes: |
118 | 131 | - New protected property `_dataVar` included for generating the above data attribute. |
119 | 132 | |
120 | 133 | |
121 | -version 1.2.0 | |
122 | -============= | |
134 | +## Version 1.2.0 | |
135 | + | |
123 | 136 | **Date:** 25-Nov-2014 |
124 | 137 | |
125 | 138 | - (bug #2): AssetBundle::EMPTY_PATH is not setting sourcePath to null. |
... | ... | @@ -127,8 +140,8 @@ version 1.2.0 |
127 | 140 | - (enh #4): Add validations for html inputs, dropdowns, and widgets in `Config`. |
128 | 141 | - (enh #5): Correctly validate checkbox and radio checked states for `InputWidget`. |
129 | 142 | |
130 | -version 1.1.0 | |
131 | -============= | |
143 | +## Version 1.1.0 | |
144 | + | |
132 | 145 | **Date:** 10-Nov-2014 |
133 | 146 | |
134 | 147 | - Validation for sub repositories containing input widgets. |
... | ... | @@ -137,8 +150,8 @@ version 1.1.0 |
137 | 150 | - Include `AnimateAsset` bundle. |
138 | 151 | - Code formatting as per standards. |
139 | 152 | |
140 | -version 1.0.0 | |
141 | -============= | |
153 | +## Version 1.0.0 | |
154 | + | |
142 | 155 | **Date:** 06-Nov-2014 |
143 | 156 | |
144 | 157 | Initial release |
145 | 158 | \ No newline at end of file | ... | ... |
vendor/kartik-v/yii2-krajee-base/Config.php
... | ... | @@ -4,7 +4,7 @@ |
4 | 4 | * @package yii2-krajee-base |
5 | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | |
7 | + * @version 1.7.8 | |
8 | 8 | */ |
9 | 9 | |
10 | 10 | namespace kartik\base; |
... | ... | @@ -43,7 +43,9 @@ class Config |
43 | 43 | 'listBox', |
44 | 44 | 'dropDownList', |
45 | 45 | 'checkboxList', |
46 | - 'radioList' | |
46 | + 'radioList', | |
47 | + 'checkboxButtonGroup', | |
48 | + 'radioButtonGroup' | |
47 | 49 | ]; |
48 | 50 | |
49 | 51 | protected static $_validInputWidgets = [ |
... | ... | @@ -187,6 +189,9 @@ class Config |
187 | 189 | /** |
188 | 190 | * Check if a namespaced widget is valid or installed. |
189 | 191 | * |
192 | + * @param string $type the widget type | |
193 | + * @param string $reason the message to be displayed for dependency failure | |
194 | + * | |
190 | 195 | * @throws InvalidConfigException |
191 | 196 | */ |
192 | 197 | public static function validateInputWidget($type, $reason = self::DEFAULT_REASON) |
... | ... | @@ -197,8 +202,7 @@ class Config |
197 | 202 | } |
198 | 203 | |
199 | 204 | /** |
200 | - * Convert a language string in yii\i18n format to | |
201 | - * a ISO-639 format (2 or 3 letter code). | |
205 | + * Convert a language string in yii\i18n format to a ISO-639 format (2 or 3 letter code). | |
202 | 206 | * |
203 | 207 | * @param string $language the input language string |
204 | 208 | * |
... | ... | @@ -263,6 +267,7 @@ class Config |
263 | 267 | */ |
264 | 268 | public static function initModule($class) |
265 | 269 | { |
270 | + /** @noinspection PhpUndefinedFieldInspection */ | |
266 | 271 | $m = $class::MODULE; |
267 | 272 | $module = $m ? static::getModule($m) : null; |
268 | 273 | if ($module === null || !$module instanceof $class) { | ... | ... |
vendor/kartik-v/yii2-krajee-base/Html5Input.php
... | ... | @@ -4,7 +4,7 @@ |
4 | 4 | * @package yii2-krajee-base |
5 | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | |
7 | + * @version 1.7.8 | |
8 | 8 | */ |
9 | 9 | |
10 | 10 | namespace kartik\base; |
... | ... | @@ -23,73 +23,82 @@ use yii\helpers\ArrayHelper; |
23 | 23 | class Html5Input extends InputWidget |
24 | 24 | { |
25 | 25 | /** |
26 | - * @var array the special inputs which need captions | |
27 | - */ | |
28 | - private static $_specialInputs = [ | |
29 | - 'color', | |
30 | - 'range' | |
31 | - ]; | |
32 | - /** | |
33 | 26 | * @var string the HTML 5 input type |
34 | 27 | */ |
35 | 28 | public $type; |
29 | + | |
36 | 30 | /** |
37 | 31 | * @var string the width in 'px' or '%' of the HTML5 input container |
38 | 32 | */ |
39 | 33 | public $width; |
34 | + | |
40 | 35 | /** |
41 | 36 | * @var array the HTML attributes for the widget container |
42 | 37 | */ |
43 | 38 | public $containerOptions = []; |
39 | + | |
44 | 40 | /** |
45 | 41 | * @var array the HTML attributes for the HTML-5 input. |
46 | 42 | */ |
47 | 43 | public $html5Options = []; |
44 | + | |
48 | 45 | /** |
49 | 46 | * @var array the HTML attributes for the HTML-5 input container |
50 | 47 | */ |
51 | 48 | public $html5Container = []; |
49 | + | |
52 | 50 | /** |
53 | 51 | * @var string|boolean the message shown for unsupported browser. If set to false |
54 | 52 | * will not be displayed |
55 | 53 | */ |
56 | 54 | public $noSupport; |
55 | + | |
57 | 56 | /** |
58 | 57 | * @var string array the HTML attributes for container displaying unsupported browser message |
59 | 58 | */ |
60 | 59 | public $noSupportOptions = []; |
60 | + | |
61 | 61 | /** |
62 | 62 | * @var string one of the SIZE modifiers 'lg', 'md', 'sm', 'xs' |
63 | 63 | */ |
64 | 64 | public $size; |
65 | + | |
65 | 66 | /** |
66 | 67 | * @var array the addon content |
67 | - * - prepend: array/string the prepend addon content. If set as an array, the | |
68 | - * following options can be set: | |
68 | + * - prepend: array/string the prepend addon content. If set as an array, the following options can be set: | |
69 | 69 | * - content: string the prepend addon content |
70 | 70 | * - asButton: boolean whether the addon is a button |
71 | 71 | * - options: array the HTML attributes for the prepend addon |
72 | - * - append: array/string the append addon content. If set as an array, the | |
73 | - * following options can be set: | |
72 | + * - append: array/string the append addon content. If set as an array, the following options can be set: | |
74 | 73 | * - content: string the append addon content |
75 | 74 | * - asButton: boolean whether the addon is a button |
76 | 75 | * - options: array the HTML attributes for the append addon |
77 | - * - preCaption: array/string the addon content placed before the caption. If | |
78 | - * set as an array, the following options can be set: | |
76 | + * - preCaption: array/string the addon content placed before the caption. If set as an array, the following | |
77 | + * options can be set: | |
79 | 78 | * - content: string the append addon content |
80 | 79 | * - asButton: boolean whether the addon is a button |
81 | 80 | * - options: array the HTML attributes for the append addon */ |
82 | 81 | public $addon = []; |
83 | 82 | |
84 | 83 | /** |
85 | - * Runs the widget | |
84 | + * @var array the special inputs which need captions | |
85 | + */ | |
86 | + private static $_specialInputs = [ | |
87 | + 'color', | |
88 | + 'range' | |
89 | + ]; | |
90 | + | |
91 | + /** | |
92 | + * @inheritdoc | |
86 | 93 | */ |
87 | - public function init() | |
94 | + public function run() | |
88 | 95 | { |
89 | - parent::init(); | |
90 | 96 | $this->initInput(); |
91 | 97 | } |
92 | 98 | |
99 | + /** | |
100 | + * Initializes the input | |
101 | + */ | |
93 | 102 | protected function initInput() |
94 | 103 | { |
95 | 104 | $this->initDisability($this->html5Options); |
... | ... | @@ -117,7 +126,7 @@ class Html5Input extends InputWidget |
117 | 126 | $input = 'jQuery("#' . $this->html5Options['id'] . '")'; |
118 | 127 | $js = "{$caption}.on('change',function(){{$input}.val(this.value)});\n" . |
119 | 128 | "{$input}.on('input change',function(e){{$caption}.val(this.value);if(e.type=='change'){{$caption}.trigger('change');}});"; |
120 | - $view->registerJs($js); | |
129 | + $this->registerWidgetJs($js); | |
121 | 130 | } |
122 | 131 | |
123 | 132 | /** |
... | ... | @@ -146,8 +155,11 @@ class Html5Input extends InputWidget |
146 | 155 | $message = ''; |
147 | 156 | } else { |
148 | 157 | $noSupport = !empty($this->noSupport) ? $this->noSupport : |
149 | - Yii::t('app', 'It is recommended you use an upgraded browser to display the {type} control properly.', | |
150 | - ['type' => $this->type]); | |
158 | + Yii::t( | |
159 | + 'kvbase', | |
160 | + 'It is recommended you use an upgraded browser to display the {type} control properly.', | |
161 | + ['type' => $this->type] | |
162 | + ); | |
151 | 163 | $message = "\n<br>" . Html::tag('div', $noSupport, $this->noSupportOptions); |
152 | 164 | } |
153 | 165 | return "<!--[if lt IE 10]>\n{$caption}{$message}\n<![endif]--><![if gt IE 9]>\n{$content}\n<![endif]>"; | ... | ... |
vendor/kartik-v/yii2-krajee-base/Html5InputAsset.php
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 | /** |
4 | 4 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
5 | 5 | * @package yii2-krajee-base |
6 | - * @version 1.7.7 | |
6 | + * @version 1.7.8 | |
7 | 7 | */ |
8 | 8 | |
9 | 9 | namespace kartik\base; |
... | ... | @@ -14,7 +14,7 @@ namespace kartik\base; |
14 | 14 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
15 | 15 | * @since 1.0 |
16 | 16 | */ |
17 | -class Html5InputAsset extends \kartik\base\AssetBundle | |
17 | +class Html5InputAsset extends AssetBundle | |
18 | 18 | { |
19 | 19 | /** |
20 | 20 | * @inheritdoc | ... | ... |
vendor/kartik-v/yii2-krajee-base/InputWidget.php
... | ... | @@ -4,12 +4,13 @@ |
4 | 4 | * @package yii2-krajee-base |
5 | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | |
7 | + * @version 1.7.8 | |
8 | 8 | */ |
9 | 9 | |
10 | 10 | namespace kartik\base; |
11 | 11 | |
12 | 12 | use Yii; |
13 | +use yii\base\InvalidConfigException; | |
13 | 14 | use yii\helpers\FormatConverter; |
14 | 15 | use yii\helpers\Html; |
15 | 16 | use yii\helpers\ArrayHelper; |
... | ... | @@ -77,6 +78,12 @@ class InputWidget extends \yii\widgets\InputWidget |
77 | 78 | * ~~~ |
78 | 79 | */ |
79 | 80 | public $pluginEvents = []; |
81 | + | |
82 | + /** | |
83 | + * @var string a pjax container identifier if applicable inside which the widget will be rendered. | |
84 | + * If this is set, the widget will automatically reinitialize on pjax completion. | |
85 | + */ | |
86 | + public $pjaxContainerId; | |
80 | 87 | |
81 | 88 | /** |
82 | 89 | * @var boolean whether the widget should automatically format the date from |
... | ... | @@ -132,6 +139,15 @@ class InputWidget extends \yii\widgets\InputWidget |
132 | 139 | public function init() |
133 | 140 | { |
134 | 141 | parent::init(); |
142 | + $this->initInputWidget(); | |
143 | + } | |
144 | + | |
145 | + /** | |
146 | + * Initializes the input widget | |
147 | + */ | |
148 | + protected function initInputWidget() | |
149 | + { | |
150 | + $this->initI18N(__DIR__, 'kvbase'); | |
135 | 151 | if (!isset($this->language)) { |
136 | 152 | $this->language = Yii::$app->language; |
137 | 153 | } |
... | ... | @@ -182,6 +198,7 @@ class InputWidget extends \yii\widgets\InputWidget |
182 | 198 | /** |
183 | 199 | * Sets the language JS file if it exists |
184 | 200 | * |
201 | + * @param string $prefix the language filename prefix | |
185 | 202 | * @param string $assetPath the path to the assets |
186 | 203 | * @param string $filePath the path to the JS file with the file name prefix |
187 | 204 | * @param string $suffix the file name suffix - defaults to '.js' |
... | ... | @@ -220,6 +237,11 @@ class InputWidget extends \yii\widgets\InputWidget |
220 | 237 | |
221 | 238 | /** |
222 | 239 | * Generates an input |
240 | + * | |
241 | + * @param string $type the input type | |
242 | + * @param bool $list whether the input is of dropdown list type | |
243 | + * | |
244 | + * @return mixed | |
223 | 245 | */ |
224 | 246 | protected function getInput($type, $list = false) |
225 | 247 | { |
... | ... | @@ -313,20 +335,18 @@ class InputWidget extends \yii\widgets\InputWidget |
313 | 335 | } |
314 | 336 | if (isset($this->pluginOptions['format'])) { |
315 | 337 | $format = $this->pluginOptions['format']; |
316 | - $format = strncmp($format, 'php:', 4) === 0 ? substr($format, | |
317 | - 4) : FormatConverter::convertDateIcuToPhp($format, $type); | |
338 | + $format = strncmp($format, 'php:', 4) === 0 ? substr($format, 4) : | |
339 | + FormatConverter::convertDateIcuToPhp($format, $type); | |
318 | 340 | $this->pluginOptions['format'] = static::convertDateFormat($format); |
319 | 341 | return; |
320 | 342 | } |
321 | 343 | $attrib = $type . 'Format'; |
322 | 344 | $format = isset(Yii::$app->formatter->$attrib) ? Yii::$app->formatter->$attrib : ''; |
323 | - if (isset($this->dateFormat) && strncmp($this->dateFormat, 'php:', 4) === 0) { | |
324 | - $this->pluginOptions['format'] = static::convertDateFormat(substr($format, 4)); | |
325 | - } elseif ($format != '') { | |
326 | - $format = FormatConverter::convertDateIcuToPhp($format, $type); | |
327 | - $this->pluginOptions['format'] = static::convertDateFormat($format); | |
328 | - } else { | |
329 | - throw InvalidConfigException("Error parsing '{$type}' format."); | |
345 | + if (empty($format)) { | |
346 | + throw new InvalidConfigException("Error parsing '{$type}' format."); | |
330 | 347 | } |
348 | + $format = strncmp($format, 'php:', 4) === 0 ? substr($format, 4) : | |
349 | + FormatConverter::convertDateIcuToPhp($format, $type); | |
350 | + $this->pluginOptions['format'] = static::convertDateFormat($format); | |
331 | 351 | } |
332 | -} | |
333 | 352 | \ No newline at end of file |
353 | +} | ... | ... |
vendor/kartik-v/yii2-krajee-base/Module.php
... | ... | @@ -4,7 +4,7 @@ |
4 | 4 | * @package yii2-krajee-base |
5 | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | |
7 | + * @version 1.7.8 | |
8 | 8 | */ |
9 | 9 | |
10 | 10 | namespace kartik\base; |
... | ... | @@ -13,7 +13,7 @@ namespace kartik\base; |
13 | 13 | * Base module class for Krajee extensions |
14 | 14 | * |
15 | 15 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
16 | - * @since 1.7.7 | |
16 | + * @since 1.7.8 | |
17 | 17 | */ |
18 | 18 | class Module extends \yii\base\Module |
19 | 19 | { | ... | ... |
vendor/kartik-v/yii2-krajee-base/PluginAssetBundle.php
... | ... | @@ -4,7 +4,7 @@ |
4 | 4 | * @package yii2-krajee-base |
5 | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | |
7 | + * @version 1.7.8 | |
8 | 8 | */ |
9 | 9 | |
10 | 10 | namespace kartik\base; |
... | ... | @@ -26,4 +26,3 @@ class PluginAssetBundle extends AssetBundle |
26 | 26 | 'yii\bootstrap\BootstrapPluginAsset' |
27 | 27 | ]; |
28 | 28 | } |
29 | - | |
30 | 29 | \ No newline at end of file | ... | ... |
vendor/kartik-v/yii2-krajee-base/README.md
1 | 1 | yii2-krajee-base |
2 | 2 | ================ |
3 | 3 | |
4 | -[](https://packagist.org/packages/kartik-v/yii2-krajee-base) | |
4 | +[](https://packagist.org/packages/kartik-v/yii2-krajee-base) | |
5 | 5 | [](https://packagist.org/packages/kartik-v/yii2-krajee-base) |
6 | 6 | [](https://packagist.org/packages/kartik-v/yii2-krajee-base) |
7 | 7 | [](https://packagist.org/packages/kartik-v/yii2-krajee-base) |
... | ... | @@ -15,7 +15,7 @@ This is a base library with set of foundation classes and components used by all |
15 | 15 | To ensure a leaner code base / foundation component for use in all Krajee extensions (e.g. yii2-widgets, yii2-datecontrol, yii2-grid, yii2-dynagrid etc.). This should allow most developers to plug and play components only they need, without needing the complete suite of widgets. For example, this mitigates [this issue](https://github.com/kartik-v/yii2-grid/issues/123). |
16 | 16 | |
17 | 17 | ## Latest Release |
18 | -The latest version of the extension is v1.7.7. Refer the [CHANGE LOG](https://github.com/kartik-v/yii2-krajee-base/blob/master/CHANGE.md) for details. | |
18 | +The latest version of the extension is v1.7.8. Refer the [CHANGE LOG](https://github.com/kartik-v/yii2-krajee-base/blob/master/CHANGE.md) for details. | |
19 | 19 | |
20 | 20 | ## Extension Classes |
21 | 21 | ... | ... |
vendor/kartik-v/yii2-krajee-base/TranslationTrait.php
... | ... | @@ -4,7 +4,7 @@ |
4 | 4 | * @package yii2-krajee-base |
5 | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | |
7 | + * @version 1.7.8 | |
8 | 8 | */ |
9 | 9 | |
10 | 10 | namespace kartik\base; |
... | ... | @@ -14,33 +14,41 @@ use Yii; |
14 | 14 | /** |
15 | 15 | * Trait for all translations used in Krajee extensions |
16 | 16 | * |
17 | + * @property array $i18n | |
18 | + * | |
17 | 19 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
18 | - * @since 1.7.7 | |
20 | + * @since 1.7.8 | |
19 | 21 | */ |
20 | 22 | trait TranslationTrait |
21 | 23 | { |
22 | 24 | /** |
23 | 25 | * Yii i18n messages configuration for generating translations |
24 | 26 | * |
27 | + * @param string $dir the directory path where translation files will exist | |
28 | + * @param string $cat the message category | |
29 | + * | |
25 | 30 | * @return void |
26 | 31 | */ |
27 | - public function initI18N($dir = '') | |
32 | + public function initI18N($dir = '', $cat = '') | |
28 | 33 | { |
29 | - if (empty($this->_msgCat)) { | |
34 | + if (empty($cat) && empty($this->_msgCat)) { | |
30 | 35 | return; |
31 | 36 | } |
37 | + if (empty($cat)) { | |
38 | + $cat = $this->_msgCat; | |
39 | + } | |
32 | 40 | if (empty($dir)) { |
33 | 41 | $reflector = new \ReflectionClass(get_class($this)); |
34 | 42 | $dir = dirname($reflector->getFileName()); |
35 | 43 | } |
36 | - Yii::setAlias("@{$this->_msgCat}", $dir); | |
44 | + Yii::setAlias("@{$cat}", $dir); | |
37 | 45 | if (empty($this->i18n)) { |
38 | 46 | $this->i18n = [ |
39 | 47 | 'class' => 'yii\i18n\PhpMessageSource', |
40 | - 'basePath' => "@{$this->_msgCat}/messages", | |
48 | + 'basePath' => "@{$cat}/messages", | |
41 | 49 | 'forceTranslation' => true |
42 | 50 | ]; |
43 | 51 | } |
44 | - Yii::$app->i18n->translations[$this->_msgCat . '*'] = $this->i18n; | |
52 | + Yii::$app->i18n->translations["{$cat}*"] = $this->i18n; | |
45 | 53 | } |
46 | -} | |
47 | 54 | \ No newline at end of file |
55 | +} | ... | ... |
vendor/kartik-v/yii2-krajee-base/Widget.php
... | ... | @@ -4,7 +4,7 @@ |
4 | 4 | * @package yii2-krajee-base |
5 | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | |
7 | + * @version 1.7.8 | |
8 | 8 | */ |
9 | 9 | |
10 | 10 | namespace kartik\base; |
... | ... | @@ -33,9 +33,7 @@ class Widget extends \yii\base\Widget |
33 | 33 | public $pluginOptions = []; |
34 | 34 | |
35 | 35 | /** |
36 | - * @var array widget JQuery events. You must define events in | |
37 | - * event-name => event-function format | |
38 | - * for example: | |
36 | + * @var array widget JQuery events. You must define events in event-name => event-function format for example: | |
39 | 37 | * ~~~ |
40 | 38 | * pluginEvents = [ |
41 | 39 | * "change" => "function() { log("change"); }", |
... | ... | @@ -46,6 +44,12 @@ class Widget extends \yii\base\Widget |
46 | 44 | public $pluginEvents = []; |
47 | 45 | |
48 | 46 | /** |
47 | + * @var string a pjax container identifier if applicable inside which the widget will be rendered. If this is set, | |
48 | + * the widget will automatically reinitialize on pjax completion. | |
49 | + */ | |
50 | + public $pjaxContainerId; | |
51 | + | |
52 | + /** | |
49 | 53 | * @var array the the internalization configuration for this widget |
50 | 54 | */ |
51 | 55 | public $i18n = []; | ... | ... |
vendor/kartik-v/yii2-krajee-base/WidgetAsset.php
vendor/kartik-v/yii2-krajee-base/WidgetTrait.php
... | ... | @@ -4,7 +4,7 @@ |
4 | 4 | * @package yii2-krajee-base |
5 | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | |
7 | + * @version 1.7.8 | |
8 | 8 | */ |
9 | 9 | |
10 | 10 | namespace kartik\base; |
... | ... | @@ -16,6 +16,14 @@ use yii\web\View; |
16 | 16 | /** |
17 | 17 | * Trait used for Krajee widgets. |
18 | 18 | * |
19 | + * @property array $options | |
20 | + * @property array $pluginOptions | |
21 | + * @property array $_encOptions | |
22 | + * @property string $_hashVar | |
23 | + * @property string $_dataVar | |
24 | + * | |
25 | + * @method View getView() | |
26 | + * | |
19 | 27 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
20 | 28 | * @since 1.6.0 |
21 | 29 | */ |
... | ... | @@ -30,6 +38,7 @@ trait WidgetTrait |
30 | 38 | */ |
31 | 39 | protected function setDataVar($name) |
32 | 40 | { |
41 | + /** @noinspection PhpUndefinedFieldInspection */ | |
33 | 42 | $this->_dataVar = "data-krajee-{$name}"; |
34 | 43 | } |
35 | 44 | |
... | ... | @@ -76,14 +85,15 @@ trait WidgetTrait |
76 | 85 | /** |
77 | 86 | * Registers plugin options by storing it in a hashed javascript variable |
78 | 87 | * |
88 | + * @param string $name the plugin name | |
89 | + * | |
79 | 90 | * @return void |
80 | 91 | */ |
81 | 92 | protected function registerPluginOptions($name) |
82 | 93 | { |
83 | - $view = $this->getView(); | |
84 | 94 | $this->hashPluginOptions($name); |
85 | 95 | $encOptions = empty($this->_encOptions) ? '{}' : $this->_encOptions; |
86 | - $view->registerJs("var {$this->_hashVar} = {$encOptions};\n", View::POS_HEAD); | |
96 | + $this->registerWidgetJs("var {$this->_hashVar} = {$encOptions};\n", View::POS_HEAD); | |
87 | 97 | } |
88 | 98 | |
89 | 99 | /** |
... | ... | @@ -94,7 +104,7 @@ trait WidgetTrait |
94 | 104 | * @param string $callback the javascript callback function to be called after plugin loads |
95 | 105 | * @param string $callbackCon the javascript callback function to be passed to the plugin constructor |
96 | 106 | * |
97 | - * @return the generated plugin script | |
107 | + * @return string the generated plugin script | |
98 | 108 | */ |
99 | 109 | protected function getPluginScript($name, $element = null, $callback = null, $callbackCon = null) |
100 | 110 | { |
... | ... | @@ -131,9 +141,35 @@ trait WidgetTrait |
131 | 141 | protected function registerPlugin($name, $element = null, $callback = null, $callbackCon = null) |
132 | 142 | { |
133 | 143 | $script = $this->getPluginScript($name, $element, $callback, $callbackCon); |
134 | - if (!empty($script)) { | |
135 | - $view = $this->getView(); | |
136 | - $view->registerJs($script); | |
144 | + $this->registerWidgetJs($script); | |
145 | + } | |
146 | + | |
147 | + /** | |
148 | + * Registers a JS code block for the widget. | |
149 | + * | |
150 | + * @param string $js the JS code block to be registered | |
151 | + * @param integer $position the position at which the JS script tag should be inserted in a page. The possible | |
152 | + * values are: | |
153 | + * - [[POS_HEAD]]: in the head section | |
154 | + * - [[POS_BEGIN]]: at the beginning of the body section | |
155 | + * - [[POS_END]]: at the end of the body section | |
156 | + * - [[POS_LOAD]]: enclosed within jQuery(window).load(). Note that by using this position, the method will | |
157 | + * automatically register the jQuery js file. | |
158 | + * - [[POS_READY]]: enclosed within jQuery(document).ready(). This is the default value. Note that by using | |
159 | + * this position, the method will automatically register the jQuery js file. | |
160 | + * @param string $key the key that identifies the JS code block. If null, it will use $js as the key. If two JS | |
161 | + * code blocks are registered with the same key, the latter will overwrite the former. | |
162 | + */ | |
163 | + public function registerWidgetJs($js, $position = View::POS_READY, $key = null) | |
164 | + { | |
165 | + if (empty($js)) { | |
166 | + return; | |
167 | + } | |
168 | + $view = $this->getView(); | |
169 | + $view->registerJs($js, $position, $key); | |
170 | + if (!empty($this->pjaxContainerId) && ($position === View::POS_LOAD || $position === View::POS_READY)) { | |
171 | + $pjax = 'jQuery("#' . $this->pjaxContainerId . '")'; | |
172 | + $view->registerJs("{$pjax}.on('pjax:complete',function(){ {$js} });"); | |
137 | 173 | } |
138 | 174 | } |
139 | -} | |
140 | 175 | \ No newline at end of file |
176 | +} | ... | ... |
vendor/kartik-v/yii2-krajee-base/assets/css/html5input.css
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 | * @subpackage yii2-widget-activeform |
4 | 4 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
5 | 5 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
6 | - * @version 1.7.7 | |
6 | + * @version 1.7.8 | |
7 | 7 | * |
8 | 8 | * HTML 5 input styling for Twitter Bootstrap 3.0 |
9 | 9 | * Covers color and range inputs | ... | ... |
vendor/kartik-v/yii2-krajee-base/assets/css/html5input.min.css
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 | * @subpackage yii2-widget-activeform |
4 | 4 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
5 | 5 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
6 | - * @version 1.7.7 | |
6 | + * @version 1.7.8 | |
7 | 7 | * |
8 | 8 | * HTML 5 input styling for Twitter Bootstrap 3.0 |
9 | 9 | * Covers color and range inputs | ... | ... |
vendor/kartik-v/yii2-krajee-base/assets/css/kv-widgets.css
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 | * @subpackage yii2-widget-activeform |
4 | 4 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
5 | 5 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
6 | - * @version 1.7.7 | |
6 | + * @version 1.7.8 | |
7 | 7 | * |
8 | 8 | * Common CSS file for all kartik\widgets. |
9 | 9 | * | ... | ... |
vendor/kartik-v/yii2-krajee-base/assets/css/kv-widgets.min.css
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 | * @subpackage yii2-widget-activeform |
4 | 4 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
5 | 5 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
6 | - * @version 1.7.7 | |
6 | + * @version 1.7.8 | |
7 | 7 | * |
8 | 8 | * Common CSS file for all kartik\widgets. |
9 | 9 | * | ... | ... |
vendor/rmrevin/yii2-fontawesome/.bowerrc deleted
vendor/rmrevin/yii2-fontawesome/.scrutinizer.yml
vendor/rmrevin/yii2-fontawesome/CHANGELOG.md
1 | +2015-11-20 - 2.12.2 | |
2 | +------------------- | |
3 | +* Add shortcuts methods `i()` for `FA::icon()` and `FA::s()` for `FA::stack()` | |
4 | +* Update readme | |
5 | + | |
6 | +2015-11-09 - 2.12.1 | |
7 | +------------------- | |
8 | +* Variable `FA::$cssPrefix` transferred to the class `FontAwesome`. | |
9 | +* Refactoring. | |
10 | +* Update tests. | |
11 | + | |
1 | 12 | 2015-08-15 - 2.12.0 |
2 | 13 | ------------------- |
3 | 14 | * `Font Awesome` updated to version `4.4`. | ... | ... |
vendor/rmrevin/yii2-fontawesome/FA.php
... | ... | @@ -14,9 +14,6 @@ namespace rmrevin\yii\fontawesome; |
14 | 14 | class FA extends FontAwesome |
15 | 15 | { |
16 | 16 | |
17 | - /** @var string CSS Class prefix */ | |
18 | - public static $cssPrefix = 'fa'; | |
19 | - | |
20 | 17 | /** |
21 | 18 | * Get all icon constants for dropdown list in example |
22 | 19 | * @param bool $html whether to render icon as array value prefix | ... | ... |
vendor/rmrevin/yii2-fontawesome/FontAwesome.php
... | ... | @@ -7,6 +7,8 @@ |
7 | 7 | |
8 | 8 | namespace rmrevin\yii\fontawesome; |
9 | 9 | |
10 | +use rmrevin\yii\fontawesome\component; | |
11 | + | |
10 | 12 | /** |
11 | 13 | * Class FA |
12 | 14 | * @package rmrevin\yii\fontawesome |
... | ... | @@ -14,7 +16,12 @@ namespace rmrevin\yii\fontawesome; |
14 | 16 | class FontAwesome |
15 | 17 | { |
16 | 18 | |
19 | + /** @var string CSS Class prefix */ | |
20 | + public static $cssPrefix = 'fa'; | |
21 | + | |
17 | 22 | /** |
23 | + * Creates an `Icon` component that can be used to FontAwesome html icon | |
24 | + * | |
18 | 25 | * @param string $name |
19 | 26 | * @param array $options |
20 | 27 | * @return component\Icon |
... | ... | @@ -25,6 +32,21 @@ class FontAwesome |
25 | 32 | } |
26 | 33 | |
27 | 34 | /** |
35 | + * Shortcut for `icon()` method | |
36 | + * @see icon() | |
37 | + * | |
38 | + * @param string $name | |
39 | + * @param array $options | |
40 | + * @return component\Icon | |
41 | + */ | |
42 | + public static function i($name, $options = []) | |
43 | + { | |
44 | + return static::icon($name, $options); | |
45 | + } | |
46 | + | |
47 | + /** | |
48 | + * Creates an `Stack` component that can be used to FontAwesome html icon | |
49 | + * | |
28 | 50 | * @param array $options |
29 | 51 | * @return component\Stack |
30 | 52 | */ |
... | ... | @@ -34,6 +56,18 @@ class FontAwesome |
34 | 56 | } |
35 | 57 | |
36 | 58 | /** |
59 | + * Shortcut for `stack()` method | |
60 | + * @see stack() | |
61 | + * | |
62 | + * @param array $options | |
63 | + * @return component\Stack | |
64 | + */ | |
65 | + public static function s($options = []) | |
66 | + { | |
67 | + return static::stack($options); | |
68 | + } | |
69 | + | |
70 | + /** | |
37 | 71 | * Size values |
38 | 72 | * @see rmrevin\yii\fontawesome\component\Icon::size |
39 | 73 | */ |
... | ... | @@ -57,4 +91,4 @@ class FontAwesome |
57 | 91 | */ |
58 | 92 | const FLIP_HORIZONTAL = 'horizontal'; |
59 | 93 | const FLIP_VERTICAL = 'vertical'; |
60 | -} | |
61 | 94 | \ No newline at end of file |
95 | +} | ... | ... |
vendor/rmrevin/yii2-fontawesome/README.md
1 | -Yii 2 Font Awesome Asset Bundle | |
1 | +Yii 2 [Font Awesome](http://fortawesome.github.io/Font-Awesome/) Asset Bundle | |
2 | 2 | =============================== |
3 | 3 | |
4 | 4 | This extension provides a assets bundle with [Font Awesome](http://fortawesome.github.io/Font-Awesome/) |
... | ... | @@ -20,7 +20,8 @@ Code Status |
20 | 20 | |
21 | 21 | Support |
22 | 22 | ------- |
23 | -[GutHub issues](https://github.com/rmrevin/yii2-fontawesome/issues) or [public chat](https://gitter.im/rmrevin/support). | |
23 | +* [GutHub issues](https://github.com/rmrevin/yii2-fontawesome/issues) | |
24 | +* [Public chat](https://gitter.im/rmrevin/support) | |
24 | 25 | |
25 | 26 | Installation |
26 | 27 | ------------ |
... | ... | @@ -30,13 +31,13 @@ The preferred way to install this extension is through [composer](https://getcom |
30 | 31 | Either run |
31 | 32 | |
32 | 33 | ```bash |
33 | -composer require "rmrevin/yii2-fontawesome:2.10.*" | |
34 | +composer require "rmrevin/yii2-fontawesome:~2.12" | |
34 | 35 | ``` |
35 | 36 | |
36 | 37 | or add |
37 | 38 | |
38 | 39 | ``` |
39 | -"rmrevin/yii2-fontawesome": "2.10.*", | |
40 | +"rmrevin/yii2-fontawesome": "~2.12", | |
40 | 41 | ``` |
41 | 42 | |
42 | 43 | to the `require` section of your `composer.json` file. |
... | ... | @@ -66,22 +67,78 @@ class AppAsset extends AssetBundle |
66 | 67 | |
67 | 68 | ``` |
68 | 69 | |
69 | -Helper | |
70 | ------- | |
70 | +Class reference | |
71 | +--------------- | |
72 | + | |
73 | +Namespace: `rmrevin\yii\fontawesome`; | |
74 | + | |
75 | +###Class `FA` or `FontAwesome` | |
76 | + | |
77 | +* `static FA::icon($name, $options=[])` - Creates an [`component\Icon`](#class-componenticon-icon) that can be used to FontAwesome html icon | |
78 | + * `$name` - name of icon in font awesome set. | |
79 | + * `$options` - additional attributes for `i.fa` html tag. | |
80 | +* `static FA::stack($name, $options=[])` - Creates an [`component\Stack`](#class-componentstack-stack) that can be used to FontAwesome html icon | |
81 | + * `$options` - additional attributes for `span.fa-stack` html tag. | |
82 | + | |
83 | +###Class `component\Icon` (`$Icon`) | |
84 | + | |
85 | +* `(string)$Icon` - render icon | |
86 | +* `$Icon->render()` - render icon | |
87 | +* `$Icon->tag($value)` - set another html tag for icon (default `i`) | |
88 | + * `$value` - name of tag | |
89 | +* `$Icon->addCssClass($value)` - add to html tag css class in `$value` | |
90 | + * `$value` - name of css class | |
91 | +* `$Icon->inverse()` - add to html tag css class `fa-inverse` | |
92 | +* `$Icon->spin()` - add to html tag css class `fa-spin` | |
93 | +* `$Icon->fixedWidth()` - add to html tag css class `fa-fw` | |
94 | +* `$Icon->ul()` - add to html tag css class `fa-ul` | |
95 | +* `$Icon->li()` - add to html tag css class `fa-li` | |
96 | +* `$Icon->border()` - add to html tag css class `fa-border` | |
97 | +* `$Icon->pullLeft()` - add to html tag css class `pull-left` | |
98 | +* `$Icon->pullRight()` - add to html tag css class `pull-right` | |
99 | +* `$Icon->size($value)` - add to html tag css class with size | |
100 | + * `$value` - size value (variants: `FA::SIZE_LARGE`, `FA::SIZE_2X`, `FA::SIZE_3X`, `FA::SIZE_4X`, `FA::SIZE_5X`) | |
101 | +* `$Icon->rotate($value)` - add to html tag css class with rotate | |
102 | + * `$value` - rotate value (variants: `FA::ROTATE_90`, `FA::ROTATE_180`, `FA::ROTATE_270`) | |
103 | +* `$Icon->flip($value)` - add to html tag css class with rotate | |
104 | + * `$value` - flip value (variants: `FA::FLIP_HORIZONTAL`, `FA::FLIP_VERTICAL`) | |
105 | + | |
106 | +###Class `component\Stack` (`$Stack`) | |
107 | + | |
108 | +* `(string)$Stack` - render icon stack | |
109 | +* `$Stack->render()` - render icon stack | |
110 | +* `$Stack->tag($value)` - set another html tag for icon stack (default `span`) | |
111 | +* `$Stack->icon($icon, $options=[])` - set icon for stack | |
112 | + * `$icon` - name of icon or `component\Icon` object | |
113 | + * `$options` - additional attributes for icon html tag. | |
114 | +* `$Stack->icon($icon, $options=[])` - set background icon for stack | |
115 | + * `$icon` - name of icon or `component\Icon` object | |
116 | + * `$options` - additional attributes for icon html tag. | |
117 | + | |
118 | +Helper examples | |
119 | +--------------- | |
71 | 120 | |
72 | 121 | ```php |
73 | 122 | use rmrevin\yii\fontawesome\FA; |
74 | 123 | |
124 | +// normal use | |
75 | 125 | echo FA::icon('home'); // <i class="fa fa-home"></i> |
126 | + | |
127 | +// shortcut | |
128 | +echo FA::i('home'); // <i class="fa fa-home"></i> | |
129 | + | |
130 | +// icon with additional attributes | |
76 | 131 | echo FA::icon( |
77 | 132 | 'arrow-left', |
78 | 133 | ['class' => 'big', 'data-role' => 'arrow'] |
79 | 134 | ); // <i class="big fa fa-arrow-left" data-role="arrow"></i> |
80 | 135 | |
136 | +// icon in button | |
81 | 137 | echo Html::submitButton( |
82 | 138 | Yii::t('app', '{icon} Save', ['icon' => FA::icon('check')]) |
83 | 139 | ); // <button type="submit"><i class="fa fa-check"></i> Save</button> |
84 | 140 | |
141 | +// icon with additional methods | |
85 | 142 | echo FA::icon('cog')->inverse(); // <i class="fa fa-cog fa-inverse"></i> |
86 | 143 | echo FA::icon('cog')->spin(); // <i class="fa fa-cog fa-spin"></i> |
87 | 144 | echo FA::icon('cog')->fixedWidth(); // <i class="fa fa-cog fa-fw"></i> |
... | ... | @@ -91,18 +148,22 @@ echo FA::icon('cog')->border(); // <i class="fa fa-cog fa-border"></i> |
91 | 148 | echo FA::icon('cog')->pullLeft(); // <i class="fa fa-cog pull-left"></i> |
92 | 149 | echo FA::icon('cog')->pullRight(); // <i class="fa fa-cog pull-right"></i> |
93 | 150 | |
151 | +// icon size | |
94 | 152 | echo FA::icon('cog')->size(FA::SIZE_3X); |
95 | 153 | // values: FA::SIZE_LARGE, FA::SIZE_2X, FA::SIZE_3X, FA::SIZE_4X, FA::SIZE_5X |
96 | 154 | // <i class="fa fa-cog fa-size-3x"></i> |
97 | 155 | |
156 | +// icon rotate | |
98 | 157 | echo FA::icon('cog')->rotate(FA::ROTATE_90); |
99 | 158 | // values: FA::ROTATE_90, FA::ROTATE_180, FA::ROTATE_180 |
100 | 159 | // <i class="fa fa-cog fa-rotate-90"></i> |
101 | 160 | |
161 | +// icon flip | |
102 | 162 | echo FA::icon('cog')->flip(FA::FLIP_VERTICAL); |
103 | 163 | // values: FA::FLIP_HORIZONTAL, FA::FLIP_VERTICAL |
104 | 164 | // <i class="fa fa-cog fa-flip-vertical"></i> |
105 | 165 | |
166 | +// icon with multiple methods | |
106 | 167 | echo FA::icon('cog') |
107 | 168 | ->spin() |
108 | 169 | ->fixedWidth() |
... | ... | @@ -110,6 +171,7 @@ echo FA::icon('cog') |
110 | 171 | ->size(FA::SIZE_LARGE); |
111 | 172 | // <i class="fa fa-cog fa-spin fa-fw pull-left fa-size-lg"></i> |
112 | 173 | |
174 | +// icons stack | |
113 | 175 | echo FA::stack() |
114 | 176 | ->icon('twitter') |
115 | 177 | ->on('square-o'); |
... | ... | @@ -118,9 +180,10 @@ echo FA::stack() |
118 | 180 | // <i class="fa fa-twitter fa-stack-1x"></i> |
119 | 181 | // </span> |
120 | 182 | |
183 | +// icons stack with additional attributes | |
121 | 184 | echo FA::stack(['data-role' => 'stacked-icon']) |
122 | - ->on((new FA\Icon('square'))->inverse()) | |
123 | - ->icon((new FA\Icon('cog'))->spin()); | |
185 | + ->on(FA::Icon('square')->inverse()) | |
186 | + ->icon(FA::Icon('cog')->spin()); | |
124 | 187 | // <span class="fa-stack" data-role="stacked-icon"> |
125 | 188 | // <i class="fa fa-square-o fa-inverse fa-stack-2x"></i> |
126 | 189 | // <i class="fa fa-cog fa-spin fa-stack-1x"></i> |
... | ... | @@ -130,8 +193,8 @@ echo FA::stack(['data-role' => 'stacked-icon']) |
130 | 193 | echo FA::icon(FA::_COG); |
131 | 194 | echo FA::icon(FA::_DESKTOP); |
132 | 195 | echo FA::stack() |
133 | - ->on((new FA\Icon(FA::_SQUARE))->inverse()) | |
134 | - ->icon((new FA\Icon(FA::_COG))->spin()); | |
196 | + ->on(FA::_CIRCLE_O) | |
197 | + ->icon(FA::_TWITTER); | |
135 | 198 | ``` |
136 | 199 | |
137 | 200 | ### Set another prefix | ... | ... |
vendor/rmrevin/yii2-fontawesome/component/Icon.php
... | ... | @@ -215,6 +215,7 @@ class Icon |
215 | 215 | * @param string|bool $throw |
216 | 216 | * @return \rmrevin\yii\fontawesome\component\Icon |
217 | 217 | * @throws \yii\base\InvalidConfigException |
218 | + * @codeCoverageIgnore | |
218 | 219 | */ |
219 | 220 | public function addCssClass($class, $condition = true, $throw = false) |
220 | 221 | { |
... | ... | @@ -249,4 +250,4 @@ class Icon |
249 | 250 | |
250 | 251 | return Html::tag($tag, $content, $options); |
251 | 252 | } |
252 | 253 | -} |
254 | +} | |
253 | 255 | \ No newline at end of file | ... | ... |
vendor/rmrevin/yii2-fontawesome/composer.json
... | ... | @@ -17,9 +17,9 @@ |
17 | 17 | }, |
18 | 18 | "authors": [ |
19 | 19 | { |
20 | - "name": "Roman Revin", | |
21 | - "email": "xgismox@gmail.com", | |
22 | - "homepage": "http://rmrevin.ru/" | |
20 | + "name": "Revin Roman", | |
21 | + "email": "roman@rmrevin.com", | |
22 | + "homepage": "https://rmrevin.com/" | |
23 | 23 | } |
24 | 24 | ], |
25 | 25 | "require": { | ... | ... |
vendor/rmrevin/yii2-fontawesome/composer.lock
... | ... | @@ -4,7 +4,8 @@ |
4 | 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", |
5 | 5 | "This file is @generated automatically" |
6 | 6 | ], |
7 | - "hash": "54ddca2d2b639ae136422a58590cdccc", | |
7 | + "hash": "a6e2105374df8af26fdde9137b018143", | |
8 | + "content-hash": "94d3274c874502d1e22ab4ff59c2386f", | |
8 | 9 | "packages": [ |
9 | 10 | { |
10 | 11 | "name": "bower-asset/fontawesome", | ... | ... |
vendor/rmrevin/yii2-fontawesome/phpunit.xml.dist
... | ... | @@ -6,10 +6,13 @@ |
6 | 6 | convertWarningsToExceptions="true" |
7 | 7 | stopOnFailure="false"> |
8 | 8 | <filter> |
9 | - <blacklist> | |
10 | - <directory suffix=".php">./tests</directory> | |
11 | - <directory suffix=".php">./vendor</directory> | |
12 | - </blacklist> | |
9 | + <whitelist> | |
10 | + <directory suffix=".php">./</directory> | |
11 | + <exclude> | |
12 | + <directory>./tests</directory> | |
13 | + <directory>./vendor</directory> | |
14 | + </exclude> | |
15 | + </whitelist> | |
13 | 16 | </filter> |
14 | 17 | <testsuites> |
15 | 18 | <testsuite name="Test Suite"> | ... | ... |
vendor/rmrevin/yii2-fontawesome/tests/unit/fontawesome/MainTest.php
... | ... | @@ -76,6 +76,33 @@ class MainTest extends \rmrevin\yii\fontawesome\tests\unit\TestCase |
76 | 76 | ->on((new Icon('square-o'))->size(FA::SIZE_3X)), |
77 | 77 | '<span class="fa-stack"><i class="fa fa-square-o fa-3x fa-stack-2x"></i><i class="fa fa-cog fa-spin fa-stack-1x"></i></span>' |
78 | 78 | ); |
79 | + | |
80 | + $this->assertEquals( | |
81 | + (string)FA::stack() | |
82 | + ->icon(FA::Icon('cog')->spin()) | |
83 | + ->on(FA::Icon('square-o')->size(FA::SIZE_3X)), | |
84 | + '<span class="fa-stack"><i class="fa fa-square-o fa-3x fa-stack-2x"></i><i class="fa fa-cog fa-spin fa-stack-1x"></i></span>' | |
85 | + ); | |
86 | + | |
87 | + $this->assertNotEquals( | |
88 | + (string)FA::stack() | |
89 | + ->icon((string)FA::Icon('cog')->spin()) | |
90 | + ->on((string)FA::Icon('square-o')->size(FA::SIZE_3X)), | |
91 | + '<span class="fa-stack"><i class="fa fa-square-o fa-3x fa-stack-2x"></i><i class="fa fa-cog fa-spin fa-stack-1x"></i></span>' | |
92 | + ); | |
93 | + } | |
94 | + | |
95 | + public function testAnotherPrefix() | |
96 | + { | |
97 | + $old_prefix = FA::$cssPrefix; | |
98 | + | |
99 | + FA::$cssPrefix = 'fontawesome'; | |
100 | + | |
101 | + $this->assertEquals(FA::icon('cog'), '<i class="fontawesome fontawesome-cog"></i>'); | |
102 | + $this->assertEquals(FA::icon('cog')->tag('span'), '<span class="fontawesome fontawesome-cog"></span>'); | |
103 | + $this->assertEquals(FA::icon('cog')->addCssClass('highlight'), '<i class="fontawesome fontawesome-cog highlight"></i>'); | |
104 | + | |
105 | + FA::$cssPrefix = $old_prefix; | |
79 | 106 | } |
80 | 107 | |
81 | 108 | public function testIconOutput() |
... | ... | @@ -145,4 +172,15 @@ class MainTest extends \rmrevin\yii\fontawesome\tests\unit\TestCase |
145 | 172 | FA::icon('cog') |
146 | 173 | ->flip('badvalue'); |
147 | 174 | } |
175 | + | |
176 | + public function testIconAddCssClassCondition() | |
177 | + { | |
178 | + $this->assertEquals(FA::icon('cog')->addCssClass('highlight', true), '<i class="fa fa-cog highlight"></i>'); | |
179 | + | |
180 | + $this->setExpectedException( | |
181 | + 'yii\base\InvalidConfigException', | |
182 | + 'Condition is false' | |
183 | + ); | |
184 | + FA::icon('cog')->addCssClass('highlight', false, true); | |
185 | + } | |
148 | 186 | } |
149 | 187 | \ No newline at end of file | ... | ... |
vendor/yiisoft/extensions.php
... | ... | @@ -57,15 +57,6 @@ return array ( |
57 | 57 | '@yii/faker' => $vendorDir . '/yiisoft/yii2-faker', |
58 | 58 | ), |
59 | 59 | ), |
60 | - 'rmrevin/yii2-fontawesome' => | |
61 | - array ( | |
62 | - 'name' => 'rmrevin/yii2-fontawesome', | |
63 | - 'version' => '2.12.0.0', | |
64 | - 'alias' => | |
65 | - array ( | |
66 | - '@rmrevin/yii/fontawesome' => $vendorDir . '/rmrevin/yii2-fontawesome', | |
67 | - ), | |
68 | - ), | |
69 | 60 | 'cebe/yii2-gravatar' => |
70 | 61 | array ( |
71 | 62 | 'name' => 'cebe/yii2-gravatar', |
... | ... | @@ -75,15 +66,6 @@ return array ( |
75 | 66 | '@cebe/gravatar' => $vendorDir . '/cebe/yii2-gravatar/cebe/gravatar', |
76 | 67 | ), |
77 | 68 | ), |
78 | - 'dmstr/yii2-adminlte-asset' => | |
79 | - array ( | |
80 | - 'name' => 'dmstr/yii2-adminlte-asset', | |
81 | - 'version' => '2.2.3.0', | |
82 | - 'alias' => | |
83 | - array ( | |
84 | - '@dmstr' => $vendorDir . '/dmstr/yii2-adminlte-asset', | |
85 | - ), | |
86 | - ), | |
87 | 69 | 'yiisoft/yii2-jui' => |
88 | 70 | array ( |
89 | 71 | 'name' => 'yiisoft/yii2-jui', |
... | ... | @@ -93,15 +75,6 @@ return array ( |
93 | 75 | '@yii/jui' => $vendorDir . '/yiisoft/yii2-jui', |
94 | 76 | ), |
95 | 77 | ), |
96 | - 'kartik-v/yii2-krajee-base' => | |
97 | - array ( | |
98 | - 'name' => 'kartik-v/yii2-krajee-base', | |
99 | - 'version' => '1.7.7.0', | |
100 | - 'alias' => | |
101 | - array ( | |
102 | - '@kartik/base' => $vendorDir . '/kartik-v/yii2-krajee-base', | |
103 | - ), | |
104 | - ), | |
105 | 78 | 'kartik-v/yii2-widget-select2' => |
106 | 79 | array ( |
107 | 80 | 'name' => 'kartik-v/yii2-widget-select2', |
... | ... | @@ -120,4 +93,41 @@ return array ( |
120 | 93 | '@developeruz/db_rbac' => $vendorDir . '/developeruz/yii2-db-rbac', |
121 | 94 | ), |
122 | 95 | ), |
96 | + 'dmstr/yii2-adminlte-asset' => | |
97 | + array ( | |
98 | + 'name' => 'dmstr/yii2-adminlte-asset', | |
99 | + 'version' => '2.2.4.0', | |
100 | + 'alias' => | |
101 | + array ( | |
102 | + '@dmstr' => $vendorDir . '/dmstr/yii2-adminlte-asset', | |
103 | + ), | |
104 | + ), | |
105 | + 'nodge/yii2-eauth' => | |
106 | + array ( | |
107 | + 'name' => 'nodge/yii2-eauth', | |
108 | + 'version' => '2.3.0.0', | |
109 | + 'alias' => | |
110 | + array ( | |
111 | + '@nodge/eauth' => $vendorDir . '/nodge/yii2-eauth/src', | |
112 | + ), | |
113 | + 'bootstrap' => 'nodge\\eauth\\Bootstrap', | |
114 | + ), | |
115 | + 'kartik-v/yii2-krajee-base' => | |
116 | + array ( | |
117 | + 'name' => 'kartik-v/yii2-krajee-base', | |
118 | + 'version' => '1.7.8.0', | |
119 | + 'alias' => | |
120 | + array ( | |
121 | + '@kartik/base' => $vendorDir . '/kartik-v/yii2-krajee-base', | |
122 | + ), | |
123 | + ), | |
124 | + 'rmrevin/yii2-fontawesome' => | |
125 | + array ( | |
126 | + 'name' => 'rmrevin/yii2-fontawesome', | |
127 | + 'version' => '2.12.2.0', | |
128 | + 'alias' => | |
129 | + array ( | |
130 | + '@rmrevin/yii/fontawesome' => $vendorDir . '/rmrevin/yii2-fontawesome', | |
131 | + ), | |
132 | + ), | |
123 | 133 | ); | ... | ... |