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,6 +40,125 @@ return [ | ||
40 | 'authManager' => [ | 40 | 'authManager' => [ |
41 | 'class' => 'yii\rbac\DbManager', | 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 | 'language' => 'ru-RU' | 163 | 'language' => 'ru-RU' |
45 | ]; | 164 | ]; |
common/models/LoginForm.php
1 | <?php | 1 | <?php |
2 | namespace common\models; | 2 | namespace common\models; |
3 | - | ||
4 | use Yii; | 3 | use Yii; |
5 | use yii\base\Model; | 4 | use yii\base\Model; |
6 | - | ||
7 | /** | 5 | /** |
8 | - * Login form | 6 | + * LoginForm is the model behind the login form. |
9 | */ | 7 | */ |
10 | class LoginForm extends Model | 8 | class LoginForm extends Model |
11 | { | 9 | { |
12 | public $username; | 10 | public $username; |
13 | public $password; | 11 | public $password; |
14 | public $rememberMe = true; | 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 | public function rules() | 18 | public function rules() |
23 | { | 19 | { |
24 | - return [ | 20 | + return array( |
25 | // username and password are both required | 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 | // password is validated by validatePassword() | 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 | * Validates the password. | 30 | * Validates the password. |
36 | * This method serves as the inline validation for password. | 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 | * Logs in a user using the provided username and password. | 41 | * Logs in a user using the provided username and password. |
53 | - * | ||
54 | * @return boolean whether the user is logged in successfully | 42 | * @return boolean whether the user is logged in successfully |
55 | */ | 43 | */ |
56 | public function login() | 44 | public function login() |
57 | { | 45 | { |
58 | if ($this->validate()) { | 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 | } else { | 48 | } else { |
61 | return false; | 49 | return false; |
62 | } | 50 | } |
63 | } | 51 | } |
64 | - | ||
65 | /** | 52 | /** |
66 | * Finds user by [[username]] | 53 | * Finds user by [[username]] |
67 | * | 54 | * |
68 | * @return User|null | 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 | $this->_user = User::findByUsername($this->username); | 60 | $this->_user = User::findByUsername($this->username); |
74 | } | 61 | } |
75 | - | ||
76 | return $this->_user; | 62 | return $this->_user; |
77 | } | 63 | } |
78 | -} | 64 | -} |
65 | +} | ||
79 | \ No newline at end of file | 66 | \ No newline at end of file |
common/models/User.php
@@ -24,8 +24,13 @@ use developeruz\db_rbac\interfaces\UserRbacInterface; | @@ -24,8 +24,13 @@ use developeruz\db_rbac\interfaces\UserRbacInterface; | ||
24 | */ | 24 | */ |
25 | class User extends ActiveRecord implements IdentityInterface, UserRbacInterface | 25 | class User extends ActiveRecord implements IdentityInterface, UserRbacInterface |
26 | { | 26 | { |
27 | + /** | ||
28 | + * @var array EAuth attributes | ||
29 | + */ | ||
30 | + | ||
27 | const STATUS_DELETED = 0; | 31 | const STATUS_DELETED = 0; |
28 | const STATUS_ACTIVE = 10; | 32 | const STATUS_ACTIVE = 10; |
33 | + public $profile; | ||
29 | 34 | ||
30 | /** | 35 | /** |
31 | * @inheritdoc | 36 | * @inheritdoc |
@@ -59,10 +64,36 @@ class User extends ActiveRecord implements IdentityInterface, UserRbacInterface | @@ -59,10 +64,36 @@ class User extends ActiveRecord implements IdentityInterface, UserRbacInterface | ||
59 | /** | 64 | /** |
60 | * @inheritdoc | 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 | * @inheritdoc | 99 | * @inheritdoc |
composer.json
@@ -21,7 +21,8 @@ | @@ -21,7 +21,8 @@ | ||
21 | "dmstr/yii2-adminlte-asset": "2.*", | 21 | "dmstr/yii2-adminlte-asset": "2.*", |
22 | "yiisoft/yii2-jui": "^2.0", | 22 | "yiisoft/yii2-jui": "^2.0", |
23 | "kartik-v/yii2-widget-select2": "@dev", | 23 | "kartik-v/yii2-widget-select2": "@dev", |
24 | - "developeruz/yii2-db-rbac": "*" | 24 | + "developeruz/yii2-db-rbac": "*", |
25 | + "nodge/yii2-eauth": "*" | ||
25 | }, | 26 | }, |
26 | "require-dev": { | 27 | "require-dev": { |
27 | "yiisoft/yii2-codeception": "*", | 28 | "yiisoft/yii2-codeception": "*", |
composer.lock
@@ -4,8 +4,7 @@ | @@ -4,8 +4,7 @@ | ||
4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", | 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", |
5 | "This file is @generated automatically" | 5 | "This file is @generated automatically" |
6 | ], | 6 | ], |
7 | - "hash": "52ade047603d8461342b32b7f76785af", | ||
8 | - "content-hash": "35117bfe670ed414624b171df746a308", | 7 | + "hash": "6b310fccece1d1eddc11db43624c06ab", |
9 | "packages": [ | 8 | "packages": [ |
10 | { | 9 | { |
11 | "name": "almasaeed2010/adminlte", | 10 | "name": "almasaeed2010/adminlte", |
@@ -461,16 +460,16 @@ | @@ -461,16 +460,16 @@ | ||
461 | }, | 460 | }, |
462 | { | 461 | { |
463 | "name": "dmstr/yii2-adminlte-asset", | 462 | "name": "dmstr/yii2-adminlte-asset", |
464 | - "version": "2.2.3", | 463 | + "version": "2.2.4", |
465 | "source": { | 464 | "source": { |
466 | "type": "git", | 465 | "type": "git", |
467 | "url": "https://github.com/dmstr/yii2-adminlte-asset.git", | 466 | "url": "https://github.com/dmstr/yii2-adminlte-asset.git", |
468 | - "reference": "45cffbfe90d79f3c405b4cc98f7f318ae372bb10" | 467 | + "reference": "c842a15ceef4e903f70ac927ec3246e6d53e1148" |
469 | }, | 468 | }, |
470 | "dist": { | 469 | "dist": { |
471 | "type": "zip", | 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 | "shasum": "" | 473 | "shasum": "" |
475 | }, | 474 | }, |
476 | "require": { | 475 | "require": { |
@@ -511,7 +510,7 @@ | @@ -511,7 +510,7 @@ | ||
511 | "extension", | 510 | "extension", |
512 | "yii2" | 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 | "name": "ezyang/htmlpurifier", | 516 | "name": "ezyang/htmlpurifier", |
@@ -559,16 +558,16 @@ | @@ -559,16 +558,16 @@ | ||
559 | }, | 558 | }, |
560 | { | 559 | { |
561 | "name": "kartik-v/yii2-krajee-base", | 560 | "name": "kartik-v/yii2-krajee-base", |
562 | - "version": "v1.7.7", | 561 | + "version": "v1.7.8", |
563 | "source": { | 562 | "source": { |
564 | "type": "git", | 563 | "type": "git", |
565 | "url": "https://github.com/kartik-v/yii2-krajee-base.git", | 564 | "url": "https://github.com/kartik-v/yii2-krajee-base.git", |
566 | - "reference": "c0adff9d9762f4fd3bf0e7cd0000fcab0bf00f19" | 565 | + "reference": "f90b9ff515ced4e40ff5ec8156a5c9f7f51e2a7f" |
567 | }, | 566 | }, |
568 | "dist": { | 567 | "dist": { |
569 | "type": "zip", | 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 | "shasum": "" | 571 | "shasum": "" |
573 | }, | 572 | }, |
574 | "require": { | 573 | "require": { |
@@ -601,7 +600,7 @@ | @@ -601,7 +600,7 @@ | ||
601 | "widget", | 600 | "widget", |
602 | "yii2" | 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 | "name": "kartik-v/yii2-widget-select2", | 606 | "name": "kartik-v/yii2-widget-select2", |
@@ -652,17 +651,178 @@ | @@ -652,17 +651,178 @@ | ||
652 | "time": "2015-09-22 03:10:57" | 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 | "name": "rmrevin/yii2-fontawesome", | 815 | "name": "rmrevin/yii2-fontawesome", |
656 | - "version": "2.12.0", | 816 | + "version": "2.12.2", |
657 | "source": { | 817 | "source": { |
658 | "type": "git", | 818 | "type": "git", |
659 | "url": "https://github.com/rmrevin/yii2-fontawesome.git", | 819 | "url": "https://github.com/rmrevin/yii2-fontawesome.git", |
660 | - "reference": "51d33ec9d1d7edab2166f1d42668c1bc8d28c068" | 820 | + "reference": "62308687477734c166753de0ad9e2333dc7dce32" |
661 | }, | 821 | }, |
662 | "dist": { | 822 | "dist": { |
663 | "type": "zip", | 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 | "shasum": "" | 826 | "shasum": "" |
667 | }, | 827 | }, |
668 | "require": { | 828 | "require": { |
@@ -688,9 +848,9 @@ | @@ -688,9 +848,9 @@ | ||
688 | ], | 848 | ], |
689 | "authors": [ | 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 | "description": "Asset Bundle for Yii2 with Font Awesome", | 856 | "description": "Asset Bundle for Yii2 with Font Awesome", |
@@ -701,7 +861,7 @@ | @@ -701,7 +861,7 @@ | ||
701 | "font", | 861 | "font", |
702 | "yii" | 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 | "name": "swiftmailer/swiftmailer", | 867 | "name": "swiftmailer/swiftmailer", |
frontend/controllers/SiteController.php
@@ -16,7 +16,8 @@ use yii\filters\VerbFilter; | @@ -16,7 +16,8 @@ use yii\filters\VerbFilter; | ||
16 | use yii\filters\AccessControl; | 16 | use yii\filters\AccessControl; |
17 | use frontend\models\OptionsToValues; | 17 | use frontend\models\OptionsToValues; |
18 | use yii\validators\EmailValidator; | 18 | use yii\validators\EmailValidator; |
19 | - | 19 | +use common\models\User; |
20 | +use yii\helpers\VarDumper; | ||
20 | use common\models\Page; | 21 | use common\models\Page; |
21 | 22 | ||
22 | /** | 23 | /** |
@@ -52,6 +53,11 @@ class SiteController extends Controller | @@ -52,6 +53,11 @@ class SiteController extends Controller | ||
52 | 'logout' => ['post'], | 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,6 +100,42 @@ class SiteController extends Controller | ||
94 | */ | 100 | */ |
95 | public function actionLogin() | 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 | if (!\Yii::$app->user->isGuest) { | 139 | if (!\Yii::$app->user->isGuest) { |
98 | return $this->goHome(); | 140 | return $this->goHome(); |
99 | } | 141 | } |
@@ -126,7 +168,13 @@ class SiteController extends Controller | @@ -126,7 +168,13 @@ class SiteController extends Controller | ||
126 | * @return mixed | 168 | * @return mixed |
127 | */ | 169 | */ |
128 | public function actionContact() | 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 | $model = new ContactForm(); | 178 | $model = new ContactForm(); |
131 | if ($model->load(Yii::$app->request->post()) && $model->validate()) { | 179 | if ($model->load(Yii::$app->request->post()) && $model->validate()) { |
132 | if ($model->sendEmail(Yii::$app->params['adminEmail'])) { | 180 | if ($model->sendEmail(Yii::$app->params['adminEmail'])) { |
@@ -217,6 +265,7 @@ class SiteController extends Controller | @@ -217,6 +265,7 @@ class SiteController extends Controller | ||
217 | $option_list = $option_model->find()->where(1)->all(); | 265 | $option_list = $option_model->find()->where(1)->all(); |
218 | $option_values = array(); | 266 | $option_values = array(); |
219 | $post = \Yii::$app->request->post(); | 267 | $post = \Yii::$app->request->post(); |
268 | + | ||
220 | if(!empty(\Yii::$app->request->post())) { | 269 | if(!empty(\Yii::$app->request->post())) { |
221 | $options_to_values = array(); | 270 | $options_to_values = array(); |
222 | $hasErrors = false; | 271 | $hasErrors = false; |
frontend/views/site/login.php
1 | <?php | 1 | <?php |
2 | - | ||
3 | -/* @var $this yii\web\View */ | ||
4 | -/* @var $form yii\bootstrap\ActiveForm */ | ||
5 | -/* @var $model \common\models\LoginForm */ | ||
6 | - | ||
7 | use yii\helpers\Html; | 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 | $this->title = 'Login'; | 9 | $this->title = 'Login'; |
11 | $this->params['breadcrumbs'][] = $this->title; | 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 | </div> | 32 | </div> |
39 | -</div> | 33 | +<?php ActiveForm::end(); ?> |
40 | \ No newline at end of file | 34 | \ No newline at end of file |
vendor/composer/autoload_classmap.php
@@ -6,4 +6,6 @@ $vendorDir = dirname(dirname(__FILE__)); | @@ -6,4 +6,6 @@ $vendorDir = dirname(dirname(__FILE__)); | ||
6 | $baseDir = dirname($vendorDir); | 6 | $baseDir = dirname($vendorDir); |
7 | 7 | ||
8 | return array( | 8 | return array( |
9 | + 'LightOpenID' => $vendorDir . '/nodge/lightopenid/openid.php', | ||
10 | + 'LightOpenIDProvider' => $vendorDir . '/nodge/lightopenid/provider/provider.php', | ||
9 | ); | 11 | ); |
vendor/composer/autoload_namespaces.php
@@ -7,6 +7,8 @@ $baseDir = dirname($vendorDir); | @@ -7,6 +7,8 @@ $baseDir = dirname($vendorDir); | ||
7 | 7 | ||
8 | return array( | 8 | return array( |
9 | 'cebe\\gravatar\\' => array($vendorDir . '/cebe/yii2-gravatar'), | 9 | 'cebe\\gravatar\\' => array($vendorDir . '/cebe/yii2-gravatar'), |
10 | + 'OAuth\\Unit' => array($vendorDir . '/lusitanian/oauth/tests'), | ||
11 | + 'OAuth' => array($vendorDir . '/lusitanian/oauth/src'), | ||
10 | 'HTMLPurifier' => array($vendorDir . '/ezyang/htmlpurifier/library'), | 12 | 'HTMLPurifier' => array($vendorDir . '/ezyang/htmlpurifier/library'), |
11 | 'Diff' => array($vendorDir . '/phpspec/php-diff/lib'), | 13 | 'Diff' => array($vendorDir . '/phpspec/php-diff/lib'), |
12 | ); | 14 | ); |
vendor/composer/autoload_psr4.php
@@ -16,6 +16,7 @@ return array( | @@ -16,6 +16,7 @@ return array( | ||
16 | 'yii\\bootstrap\\' => array($vendorDir . '/yiisoft/yii2-bootstrap'), | 16 | 'yii\\bootstrap\\' => array($vendorDir . '/yiisoft/yii2-bootstrap'), |
17 | 'yii\\' => array($vendorDir . '/yiisoft/yii2'), | 17 | 'yii\\' => array($vendorDir . '/yiisoft/yii2'), |
18 | 'rmrevin\\yii\\fontawesome\\' => array($vendorDir . '/rmrevin/yii2-fontawesome'), | 18 | 'rmrevin\\yii\\fontawesome\\' => array($vendorDir . '/rmrevin/yii2-fontawesome'), |
19 | + 'nodge\\eauth\\' => array($vendorDir . '/nodge/yii2-eauth/src'), | ||
19 | 'kartik\\select2\\' => array($vendorDir . '/kartik-v/yii2-widget-select2'), | 20 | 'kartik\\select2\\' => array($vendorDir . '/kartik-v/yii2-widget-select2'), |
20 | 'kartik\\base\\' => array($vendorDir . '/kartik-v/yii2-krajee-base'), | 21 | 'kartik\\base\\' => array($vendorDir . '/kartik-v/yii2-krajee-base'), |
21 | 'dmstr\\' => array($vendorDir . '/dmstr/yii2-adminlte-asset'), | 22 | 'dmstr\\' => array($vendorDir . '/dmstr/yii2-adminlte-asset'), |
vendor/composer/installed.json
@@ -696,60 +696,6 @@ | @@ -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 | "name": "almasaeed2010/adminlte", | 699 | "name": "almasaeed2010/adminlte", |
754 | "version": "v2.3.2", | 700 | "version": "v2.3.2", |
755 | "version_normalized": "2.3.2.0", | 701 | "version_normalized": "2.3.2.0", |
@@ -837,62 +783,6 @@ | @@ -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 | "name": "yiisoft/yii2-jui", | 786 | "name": "yiisoft/yii2-jui", |
897 | "version": "2.0.4", | 787 | "version": "2.0.4", |
898 | "version_normalized": "2.0.4.0", | 788 | "version_normalized": "2.0.4.0", |
@@ -945,54 +835,6 @@ | @@ -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 | "name": "bower-asset/jquery", | 838 | "name": "bower-asset/jquery", |
997 | "version": "2.1.4", | 839 | "version": "2.1.4", |
998 | "version_normalized": "2.1.4.0", | 840 | "version_normalized": "2.1.4.0", |
@@ -1395,5 +1237,330 @@ | @@ -1395,5 +1237,330 @@ | ||
1395 | "CC-BY-3.0" | 1237 | "CC-BY-3.0" |
1396 | ], | 1238 | ], |
1397 | "description": "Font Awesome" | 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 | CHANGELOG | 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 | ## 2.2.2 | 11 | ## 2.2.2 |
5 | * fixed Menu widget selection | 12 | * fixed Menu widget selection |
6 | * updated example views | 13 | * updated example views |
@@ -114,4 +121,4 @@ CHANGELOG | @@ -114,4 +121,4 @@ CHANGELOG | ||
114 | * fixed missing csrf token, updated menu, code-formatting | 121 | * fixed missing csrf token, updated menu, code-formatting |
115 | * updated paths, added Phundament 4 template | 122 | * updated paths, added Phundament 4 template |
116 | * update README.md | 123 | * update README.md |
117 | - * initial commit | ||
118 | \ No newline at end of file | 124 | \ No newline at end of file |
125 | + * initial commit |
vendor/dmstr/yii2-adminlte-asset/example-views/phundament/app/layouts/main.php
@@ -29,7 +29,7 @@ dmstr\web\AdminLteAsset::register($this); | @@ -29,7 +29,7 @@ dmstr\web\AdminLteAsset::register($this); | ||
29 | <![endif]--> | 29 | <![endif]--> |
30 | </head> | 30 | </head> |
31 | 31 | ||
32 | -<body class="skin-black"> | 32 | +<body class="hold-transition skin-black sidebar-mini"> |
33 | <?php $this->beginBody() ?> | 33 | <?php $this->beginBody() ?> |
34 | 34 | ||
35 | <div class="wrapper"> | 35 | <div class="wrapper"> |
vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app/layouts/header.php
1 | <?php | 1 | <?php |
2 | - | ||
3 | use yii\helpers\Html; | 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 | /* @var $this \yii\web\View */ | 4 | /* @var $this \yii\web\View */ |
9 | /* @var $content string */ | 5 | /* @var $content string */ |
@@ -234,7 +230,7 @@ $username = Yii::$app->user->identity->firstname.' '.Yii::$app->user->identity-> | @@ -234,7 +230,7 @@ $username = Yii::$app->user->identity->firstname.' '.Yii::$app->user->identity-> | ||
234 | <li class="dropdown user user-menu"> | 230 | <li class="dropdown user user-menu"> |
235 | <a href="#" class="dropdown-toggle" data-toggle="dropdown"> | 231 | <a href="#" class="dropdown-toggle" data-toggle="dropdown"> |
236 | <img src="<?= $directoryAsset ?>/img/user2-160x160.jpg" class="user-image" alt="User Image"/> | 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 | </a> | 234 | </a> |
239 | <ul class="dropdown-menu"> | 235 | <ul class="dropdown-menu"> |
240 | <!-- User image --> | 236 | <!-- User image --> |
@@ -243,12 +239,11 @@ $username = Yii::$app->user->identity->firstname.' '.Yii::$app->user->identity-> | @@ -243,12 +239,11 @@ $username = Yii::$app->user->identity->firstname.' '.Yii::$app->user->identity-> | ||
243 | alt="User Image"/> | 239 | alt="User Image"/> |
244 | 240 | ||
245 | <p> | 241 | <p> |
246 | - <?=$username; ?> - Web Developer | 242 | + Alexander Pierce - Web Developer |
247 | <small>Member since Nov. 2012</small> | 243 | <small>Member since Nov. 2012</small> |
248 | </p> | 244 | </p> |
249 | </li> | 245 | </li> |
250 | - <!-- | ||
251 | - Menu Body | 246 | + <!-- Menu Body --> |
252 | <li class="user-body"> | 247 | <li class="user-body"> |
253 | <div class="col-xs-4 text-center"> | 248 | <div class="col-xs-4 text-center"> |
254 | <a href="#">Followers</a> | 249 | <a href="#">Followers</a> |
@@ -260,11 +255,10 @@ $username = Yii::$app->user->identity->firstname.' '.Yii::$app->user->identity-> | @@ -260,11 +255,10 @@ $username = Yii::$app->user->identity->firstname.' '.Yii::$app->user->identity-> | ||
260 | <a href="#">Friends</a> | 255 | <a href="#">Friends</a> |
261 | </div> | 256 | </div> |
262 | </li> | 257 | </li> |
263 | - --> | ||
264 | <!-- Menu Footer--> | 258 | <!-- Menu Footer--> |
265 | <li class="user-footer"> | 259 | <li class="user-footer"> |
266 | <div class="pull-left"> | 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 | </div> | 262 | </div> |
269 | <div class="pull-right"> | 263 | <div class="pull-right"> |
270 | <?= Html::a( | 264 | <?= Html::a( |
vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app/layouts/left.php
@@ -30,22 +30,10 @@ | @@ -30,22 +30,10 @@ | ||
30 | [ | 30 | [ |
31 | 'options' => ['class' => 'sidebar-menu'], | 31 | 'options' => ['class' => 'sidebar-menu'], |
32 | 'items' => [ | 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 | ['label' => 'Gii', 'icon' => 'fa fa-file-code-o', 'url' => ['/gii']], | 34 | ['label' => 'Gii', 'icon' => 'fa fa-file-code-o', 'url' => ['/gii']], |
37 | ['label' => 'Debug', 'icon' => 'fa fa-dashboard', 'url' => ['/debug']], | 35 | ['label' => 'Debug', 'icon' => 'fa fa-dashboard', 'url' => ['/debug']], |
38 | ['label' => 'Login', 'url' => ['site/login'], 'visible' => Yii::$app->user->isGuest], | 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 | 'label' => 'Same tools', | 38 | 'label' => 'Same tools', |
51 | 'icon' => 'fa fa-share', | 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,7 +36,7 @@ if (Yii::$app->controller->action->id === 'login') { | ||
36 | <title><?= Html::encode($this->title) ?></title> | 36 | <title><?= Html::encode($this->title) ?></title> |
37 | <?php $this->head() ?> | 37 | <?php $this->head() ?> |
38 | </head> | 38 | </head> |
39 | - <body class="skin-blue sidebar-mini"> | 39 | + <body class="hold-transition skin-blue sidebar-mini"> |
40 | <?php $this->beginBody() ?> | 40 | <?php $this->beginBody() ?> |
41 | <div class="wrapper"> | 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,6 +152,9 @@ class Menu extends \yii\widgets\Menu | ||
152 | if (isset($arrayRoute[1]) && $arrayRoute[1] !== $arrayThisRoute[1]) { | 152 | if (isset($arrayRoute[1]) && $arrayRoute[1] !== $arrayThisRoute[1]) { |
153 | return false; | 153 | return false; |
154 | } | 154 | } |
155 | + if (isset($arrayRoute[2]) && $arrayRoute[2] !== $arrayThisRoute[2]) { | ||
156 | + return false; | ||
157 | + } | ||
155 | unset($item['url']['#']); | 158 | unset($item['url']['#']); |
156 | if (count($item['url']) > 1) { | 159 | if (count($item['url']) > 1) { |
157 | foreach (array_splice($item['url'], 1) as $name => $value) { | 160 | foreach (array_splice($item['url'], 1) as $name => $value) { |
vendor/kartik-v/yii2-krajee-base/AnimateAsset.php
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | * @package yii2-krajee-base | 4 | * @package yii2-krajee-base |
5 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | 7 | + * @version 1.7.8 |
8 | */ | 8 | */ |
9 | 9 | ||
10 | namespace kartik\base; | 10 | namespace kartik\base; |
vendor/kartik-v/yii2-krajee-base/AssetBundle.php
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | * @package yii2-krajee-base | 4 | * @package yii2-krajee-base |
5 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | 7 | + * @version 1.7.8 |
8 | */ | 8 | */ |
9 | 9 | ||
10 | namespace kartik\base; | 10 | namespace kartik\base; |
@@ -21,10 +21,10 @@ class AssetBundle extends \yii\web\AssetBundle | @@ -21,10 +21,10 @@ class AssetBundle extends \yii\web\AssetBundle | ||
21 | const EMPTY_PATH = 'N0/P@T#'; | 21 | const EMPTY_PATH = 'N0/P@T#'; |
22 | const KRAJEE_ASSET = 'K3/@$$3T$'; | 22 | const KRAJEE_ASSET = 'K3/@$$3T$'; |
23 | const KRAJEE_PATH = 'K3/P@T#'; | 23 | const KRAJEE_PATH = 'K3/P@T#'; |
24 | - | 24 | + |
25 | public $js = self::KRAJEE_ASSET; | 25 | public $js = self::KRAJEE_ASSET; |
26 | public $css = self::KRAJEE_ASSET; | 26 | public $css = self::KRAJEE_ASSET; |
27 | - public $sourcePath = self::KRAJEE_PATH; | 27 | + public $sourcePath = self::KRAJEE_PATH; |
28 | public $depends = [ | 28 | public $depends = [ |
29 | 'yii\web\JqueryAsset', | 29 | 'yii\web\JqueryAsset', |
30 | 'yii\web\YiiAsset', | 30 | 'yii\web\YiiAsset', |
@@ -34,7 +34,8 @@ class AssetBundle extends \yii\web\AssetBundle | @@ -34,7 +34,8 @@ class AssetBundle extends \yii\web\AssetBundle | ||
34 | /** | 34 | /** |
35 | * @inheritdoc | 35 | * @inheritdoc |
36 | */ | 36 | */ |
37 | - public function init() { | 37 | + public function init() |
38 | + { | ||
38 | parent::init(); | 39 | parent::init(); |
39 | if ($this->js === self::KRAJEE_ASSET) { | 40 | if ($this->js === self::KRAJEE_ASSET) { |
40 | $this->js = []; | 41 | $this->js = []; |
@@ -46,7 +47,7 @@ class AssetBundle extends \yii\web\AssetBundle | @@ -46,7 +47,7 @@ class AssetBundle extends \yii\web\AssetBundle | ||
46 | $this->sourcePath = null; | 47 | $this->sourcePath = null; |
47 | } | 48 | } |
48 | } | 49 | } |
49 | - | 50 | + |
50 | /** | 51 | /** |
51 | * Adds a language JS locale file | 52 | * Adds a language JS locale file |
52 | * | 53 | * |
@@ -62,7 +63,7 @@ class AssetBundle extends \yii\web\AssetBundle | @@ -62,7 +63,7 @@ class AssetBundle extends \yii\web\AssetBundle | ||
62 | if (empty($lang) || substr($lang, 0, 2) == 'en') { | 63 | if (empty($lang) || substr($lang, 0, 2) == 'en') { |
63 | return $this; | 64 | return $this; |
64 | } | 65 | } |
65 | - $ext = $min ? (YII_DEBUG ? ".min.js" : ".js") : ".js"; | 66 | + $ext = $min ? (YII_DEBUG ? ".min.js" : ".js") : ".js"; |
66 | $file = "{$prefix}{$lang}{$ext}"; | 67 | $file = "{$prefix}{$lang}{$ext}"; |
67 | if ($dir === null) { | 68 | if ($dir === null) { |
68 | $dir = 'js'; | 69 | $dir = 'js'; |
@@ -75,16 +76,16 @@ class AssetBundle extends \yii\web\AssetBundle | @@ -75,16 +76,16 @@ class AssetBundle extends \yii\web\AssetBundle | ||
75 | $file = "{$prefix}{$lang}{$ext}"; | 76 | $file = "{$prefix}{$lang}{$ext}"; |
76 | } | 77 | } |
77 | if (Config::fileExists("{$path}/{$file}")) { | 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 | return $this; | 81 | return $this; |
81 | } | 82 | } |
82 | - | 83 | + |
83 | /** | 84 | /** |
84 | * Set up CSS and JS asset arrays based on the base-file names | 85 | * Set up CSS and JS asset arrays based on the base-file names |
85 | * | 86 | * |
86 | * @param string $type whether 'css' or 'js' | 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 | protected function setupAssets($type, $files = []) | 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 | **Date:** 16-Jun-2015 | 16 | **Date:** 16-Jun-2015 |
4 | 17 | ||
5 | - (enh #37): Set range input caption to change during slide. | 18 | - (enh #37): Set range input caption to change during slide. |
6 | - (enh #38): Update to use `Json::htmlEncode` as per yii release v2.0.4. | 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 | **Date:** 09-May-2015 | 23 | **Date:** 09-May-2015 |
11 | 24 | ||
12 | - (enh #36): Add kv-input-group-hide class. | 25 | - (enh #36): Add kv-input-group-hide class. |
13 | 26 | ||
14 | -version 1.7.5 | ||
15 | -============= | 27 | +## Version 1.7.5 |
28 | + | ||
16 | **Date:** 03-May-2015 | 29 | **Date:** 03-May-2015 |
17 | 30 | ||
18 | - (enh #30): Improve translation trait for determining messages folder. | 31 | - (enh #30): Improve translation trait for determining messages folder. |
@@ -20,8 +33,8 @@ version 1.7.5 | @@ -20,8 +33,8 @@ version 1.7.5 | ||
20 | - (enh #34): New `addLanguage` method in `AssetBundle`. | 33 | - (enh #34): New `addLanguage` method in `AssetBundle`. |
21 | - (enh #35): Allow extending translation messages. | 34 | - (enh #35): Allow extending translation messages. |
22 | 35 | ||
23 | -version 1.7.4 | ||
24 | -============= | 36 | +## Version 1.7.4 |
37 | + | ||
25 | **Date:** 13-Feb-2015 | 38 | **Date:** 13-Feb-2015 |
26 | 39 | ||
27 | - (enh #28): Create WidgetTrait for better code reuse. | 40 | - (enh #28): Create WidgetTrait for better code reuse. |
@@ -29,27 +42,27 @@ version 1.7.4 | @@ -29,27 +42,27 @@ version 1.7.4 | ||
29 | - (enh #29): New `getModule` and `initModule` methods in `Config`. | 42 | - (enh #29): New `getModule` and `initModule` methods in `Config`. |
30 | - Set copyright year to current. | 43 | - Set copyright year to current. |
31 | 44 | ||
32 | -version 1.7.3 | ||
33 | -============= | 45 | +## Version 1.7.3 |
46 | + | ||
34 | **Date:** 25-Jan-2015 | 47 | **Date:** 25-Jan-2015 |
35 | 48 | ||
36 | - (enh #26): Enhance `Widget` options to store multiple plugin config. | 49 | - (enh #26): Enhance `Widget` options to store multiple plugin config. |
37 | - (enh #27): Set directory and URL separator rightly for the setLanguage validation. | 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 | **Date:** 20-Jan-2015 | 54 | **Date:** 20-Jan-2015 |
42 | 55 | ||
43 | - (enh #24): Revert use of DIRECTORY_SEPARATOR and use forward slash instead. | 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 | **Date:** 15-Jan-2015 | 60 | **Date:** 15-Jan-2015 |
48 | 61 | ||
49 | - (enh #23): Enhance AssetBundle for over riding empty assets from AssetManager. | 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 | **Date:** 12-Jan-2015 | 66 | **Date:** 12-Jan-2015 |
54 | 67 | ||
55 | - Fix kartik-v/yii2-widget-datepicker#10 - Language definition in pluginOptions | 68 | - Fix kartik-v/yii2-widget-datepicker#10 - Language definition in pluginOptions |
@@ -57,8 +70,8 @@ version 1.7.0 | @@ -57,8 +70,8 @@ version 1.7.0 | ||
57 | - (enh #22): Implement base Module class. | 70 | - (enh #22): Implement base Module class. |
58 | - Code formatting updates as per Yii2 coding style. | 71 | - Code formatting updates as per Yii2 coding style. |
59 | 72 | ||
60 | -version 1.6.0 | ||
61 | -============= | 73 | +## Version 1.6.0 |
74 | + | ||
62 | **Date:** 16-Dec-2014 | 75 | **Date:** 16-Dec-2014 |
63 | 76 | ||
64 | - (bug #16): variable `$short` in `InputWidget` in method `setLanguage` set without `$prefix`. | 77 | - (bug #16): variable `$short` in `InputWidget` in method `setLanguage` set without `$prefix`. |
@@ -67,8 +80,8 @@ version 1.6.0 | @@ -67,8 +80,8 @@ version 1.6.0 | ||
67 | - (enh #19): Avoid inspect errors in IDE for `Html5Input`. | 80 | - (enh #19): Avoid inspect errors in IDE for `Html5Input`. |
68 | - (enh #20): Add new PluginAssetBundle for bootstrap JS dependent plugins. | 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 | **Date:** 06-Dec-2014 | 85 | **Date:** 06-Dec-2014 |
73 | 86 | ||
74 | - (enh #11): Added new properties `disabled` and `readonly` to `InputWidget` and `Html5Input`. | 87 | - (enh #11): Added new properties `disabled` and `readonly` to `InputWidget` and `Html5Input`. |
@@ -79,8 +92,8 @@ version 1.5.0 | @@ -79,8 +92,8 @@ version 1.5.0 | ||
79 | - (enh #13): Enhancements to Config helper and change `self` methods to `static`. | 92 | - (enh #13): Enhancements to Config helper and change `self` methods to `static`. |
80 | - (bug #14): Fix line terminators and new lines in `getPluginScript`. | 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 | **Date:** 29-Nov-2014 | 97 | **Date:** 29-Nov-2014 |
85 | 98 | ||
86 | - (enh #9): Enhanced language validation for combined ISO-639 and ISO-3166 codes | 99 | - (enh #9): Enhanced language validation for combined ISO-639 and ISO-3166 codes |
@@ -93,8 +106,8 @@ version 1.4.0 | @@ -93,8 +106,8 @@ version 1.4.0 | ||
93 | - `getCurrentDir` - gets the current directory of the extended class object | 106 | - `getCurrentDir` - gets the current directory of the extended class object |
94 | - `fileExists` - modified file_exists method after replacing the slashes with right directory separator | 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 | **Date:** 25-Nov-2014 | 111 | **Date:** 25-Nov-2014 |
99 | 112 | ||
100 | - (enh #6): Enhance `InputWidget` for attaching multiple jQuery plugins. | 113 | - (enh #6): Enhance `InputWidget` for attaching multiple jQuery plugins. |
@@ -118,8 +131,8 @@ Following functionality included in `InputWidget` and `Widget` classes: | @@ -118,8 +131,8 @@ Following functionality included in `InputWidget` and `Widget` classes: | ||
118 | - New protected property `_dataVar` included for generating the above data attribute. | 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 | **Date:** 25-Nov-2014 | 136 | **Date:** 25-Nov-2014 |
124 | 137 | ||
125 | - (bug #2): AssetBundle::EMPTY_PATH is not setting sourcePath to null. | 138 | - (bug #2): AssetBundle::EMPTY_PATH is not setting sourcePath to null. |
@@ -127,8 +140,8 @@ version 1.2.0 | @@ -127,8 +140,8 @@ version 1.2.0 | ||
127 | - (enh #4): Add validations for html inputs, dropdowns, and widgets in `Config`. | 140 | - (enh #4): Add validations for html inputs, dropdowns, and widgets in `Config`. |
128 | - (enh #5): Correctly validate checkbox and radio checked states for `InputWidget`. | 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 | **Date:** 10-Nov-2014 | 145 | **Date:** 10-Nov-2014 |
133 | 146 | ||
134 | - Validation for sub repositories containing input widgets. | 147 | - Validation for sub repositories containing input widgets. |
@@ -137,8 +150,8 @@ version 1.1.0 | @@ -137,8 +150,8 @@ version 1.1.0 | ||
137 | - Include `AnimateAsset` bundle. | 150 | - Include `AnimateAsset` bundle. |
138 | - Code formatting as per standards. | 151 | - Code formatting as per standards. |
139 | 152 | ||
140 | -version 1.0.0 | ||
141 | -============= | 153 | +## Version 1.0.0 |
154 | + | ||
142 | **Date:** 06-Nov-2014 | 155 | **Date:** 06-Nov-2014 |
143 | 156 | ||
144 | Initial release | 157 | Initial release |
145 | \ No newline at end of file | 158 | \ No newline at end of file |
vendor/kartik-v/yii2-krajee-base/Config.php
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | * @package yii2-krajee-base | 4 | * @package yii2-krajee-base |
5 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | 7 | + * @version 1.7.8 |
8 | */ | 8 | */ |
9 | 9 | ||
10 | namespace kartik\base; | 10 | namespace kartik\base; |
@@ -43,7 +43,9 @@ class Config | @@ -43,7 +43,9 @@ class Config | ||
43 | 'listBox', | 43 | 'listBox', |
44 | 'dropDownList', | 44 | 'dropDownList', |
45 | 'checkboxList', | 45 | 'checkboxList', |
46 | - 'radioList' | 46 | + 'radioList', |
47 | + 'checkboxButtonGroup', | ||
48 | + 'radioButtonGroup' | ||
47 | ]; | 49 | ]; |
48 | 50 | ||
49 | protected static $_validInputWidgets = [ | 51 | protected static $_validInputWidgets = [ |
@@ -187,6 +189,9 @@ class Config | @@ -187,6 +189,9 @@ class Config | ||
187 | /** | 189 | /** |
188 | * Check if a namespaced widget is valid or installed. | 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 | * @throws InvalidConfigException | 195 | * @throws InvalidConfigException |
191 | */ | 196 | */ |
192 | public static function validateInputWidget($type, $reason = self::DEFAULT_REASON) | 197 | public static function validateInputWidget($type, $reason = self::DEFAULT_REASON) |
@@ -197,8 +202,7 @@ class Config | @@ -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 | * @param string $language the input language string | 207 | * @param string $language the input language string |
204 | * | 208 | * |
@@ -263,6 +267,7 @@ class Config | @@ -263,6 +267,7 @@ class Config | ||
263 | */ | 267 | */ |
264 | public static function initModule($class) | 268 | public static function initModule($class) |
265 | { | 269 | { |
270 | + /** @noinspection PhpUndefinedFieldInspection */ | ||
266 | $m = $class::MODULE; | 271 | $m = $class::MODULE; |
267 | $module = $m ? static::getModule($m) : null; | 272 | $module = $m ? static::getModule($m) : null; |
268 | if ($module === null || !$module instanceof $class) { | 273 | if ($module === null || !$module instanceof $class) { |
vendor/kartik-v/yii2-krajee-base/Html5Input.php
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | * @package yii2-krajee-base | 4 | * @package yii2-krajee-base |
5 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | 7 | + * @version 1.7.8 |
8 | */ | 8 | */ |
9 | 9 | ||
10 | namespace kartik\base; | 10 | namespace kartik\base; |
@@ -23,73 +23,82 @@ use yii\helpers\ArrayHelper; | @@ -23,73 +23,82 @@ use yii\helpers\ArrayHelper; | ||
23 | class Html5Input extends InputWidget | 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 | * @var string the HTML 5 input type | 26 | * @var string the HTML 5 input type |
34 | */ | 27 | */ |
35 | public $type; | 28 | public $type; |
29 | + | ||
36 | /** | 30 | /** |
37 | * @var string the width in 'px' or '%' of the HTML5 input container | 31 | * @var string the width in 'px' or '%' of the HTML5 input container |
38 | */ | 32 | */ |
39 | public $width; | 33 | public $width; |
34 | + | ||
40 | /** | 35 | /** |
41 | * @var array the HTML attributes for the widget container | 36 | * @var array the HTML attributes for the widget container |
42 | */ | 37 | */ |
43 | public $containerOptions = []; | 38 | public $containerOptions = []; |
39 | + | ||
44 | /** | 40 | /** |
45 | * @var array the HTML attributes for the HTML-5 input. | 41 | * @var array the HTML attributes for the HTML-5 input. |
46 | */ | 42 | */ |
47 | public $html5Options = []; | 43 | public $html5Options = []; |
44 | + | ||
48 | /** | 45 | /** |
49 | * @var array the HTML attributes for the HTML-5 input container | 46 | * @var array the HTML attributes for the HTML-5 input container |
50 | */ | 47 | */ |
51 | public $html5Container = []; | 48 | public $html5Container = []; |
49 | + | ||
52 | /** | 50 | /** |
53 | * @var string|boolean the message shown for unsupported browser. If set to false | 51 | * @var string|boolean the message shown for unsupported browser. If set to false |
54 | * will not be displayed | 52 | * will not be displayed |
55 | */ | 53 | */ |
56 | public $noSupport; | 54 | public $noSupport; |
55 | + | ||
57 | /** | 56 | /** |
58 | * @var string array the HTML attributes for container displaying unsupported browser message | 57 | * @var string array the HTML attributes for container displaying unsupported browser message |
59 | */ | 58 | */ |
60 | public $noSupportOptions = []; | 59 | public $noSupportOptions = []; |
60 | + | ||
61 | /** | 61 | /** |
62 | * @var string one of the SIZE modifiers 'lg', 'md', 'sm', 'xs' | 62 | * @var string one of the SIZE modifiers 'lg', 'md', 'sm', 'xs' |
63 | */ | 63 | */ |
64 | public $size; | 64 | public $size; |
65 | + | ||
65 | /** | 66 | /** |
66 | * @var array the addon content | 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 | * - content: string the prepend addon content | 69 | * - content: string the prepend addon content |
70 | * - asButton: boolean whether the addon is a button | 70 | * - asButton: boolean whether the addon is a button |
71 | * - options: array the HTML attributes for the prepend addon | 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 | * - content: string the append addon content | 73 | * - content: string the append addon content |
75 | * - asButton: boolean whether the addon is a button | 74 | * - asButton: boolean whether the addon is a button |
76 | * - options: array the HTML attributes for the append addon | 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 | * - content: string the append addon content | 78 | * - content: string the append addon content |
80 | * - asButton: boolean whether the addon is a button | 79 | * - asButton: boolean whether the addon is a button |
81 | * - options: array the HTML attributes for the append addon */ | 80 | * - options: array the HTML attributes for the append addon */ |
82 | public $addon = []; | 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 | $this->initInput(); | 96 | $this->initInput(); |
91 | } | 97 | } |
92 | 98 | ||
99 | + /** | ||
100 | + * Initializes the input | ||
101 | + */ | ||
93 | protected function initInput() | 102 | protected function initInput() |
94 | { | 103 | { |
95 | $this->initDisability($this->html5Options); | 104 | $this->initDisability($this->html5Options); |
@@ -117,7 +126,7 @@ class Html5Input extends InputWidget | @@ -117,7 +126,7 @@ class Html5Input extends InputWidget | ||
117 | $input = 'jQuery("#' . $this->html5Options['id'] . '")'; | 126 | $input = 'jQuery("#' . $this->html5Options['id'] . '")'; |
118 | $js = "{$caption}.on('change',function(){{$input}.val(this.value)});\n" . | 127 | $js = "{$caption}.on('change',function(){{$input}.val(this.value)});\n" . |
119 | "{$input}.on('input change',function(e){{$caption}.val(this.value);if(e.type=='change'){{$caption}.trigger('change');}});"; | 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,8 +155,11 @@ class Html5Input extends InputWidget | ||
146 | $message = ''; | 155 | $message = ''; |
147 | } else { | 156 | } else { |
148 | $noSupport = !empty($this->noSupport) ? $this->noSupport : | 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 | $message = "\n<br>" . Html::tag('div', $noSupport, $this->noSupportOptions); | 163 | $message = "\n<br>" . Html::tag('div', $noSupport, $this->noSupportOptions); |
152 | } | 164 | } |
153 | return "<!--[if lt IE 10]>\n{$caption}{$message}\n<![endif]--><![if gt IE 9]>\n{$content}\n<![endif]>"; | 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,7 +3,7 @@ | ||
3 | /** | 3 | /** |
4 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 | 4 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
5 | * @package yii2-krajee-base | 5 | * @package yii2-krajee-base |
6 | - * @version 1.7.7 | 6 | + * @version 1.7.8 |
7 | */ | 7 | */ |
8 | 8 | ||
9 | namespace kartik\base; | 9 | namespace kartik\base; |
@@ -14,7 +14,7 @@ namespace kartik\base; | @@ -14,7 +14,7 @@ namespace kartik\base; | ||
14 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 14 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
15 | * @since 1.0 | 15 | * @since 1.0 |
16 | */ | 16 | */ |
17 | -class Html5InputAsset extends \kartik\base\AssetBundle | 17 | +class Html5InputAsset extends AssetBundle |
18 | { | 18 | { |
19 | /** | 19 | /** |
20 | * @inheritdoc | 20 | * @inheritdoc |
vendor/kartik-v/yii2-krajee-base/InputWidget.php
@@ -4,12 +4,13 @@ | @@ -4,12 +4,13 @@ | ||
4 | * @package yii2-krajee-base | 4 | * @package yii2-krajee-base |
5 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | 7 | + * @version 1.7.8 |
8 | */ | 8 | */ |
9 | 9 | ||
10 | namespace kartik\base; | 10 | namespace kartik\base; |
11 | 11 | ||
12 | use Yii; | 12 | use Yii; |
13 | +use yii\base\InvalidConfigException; | ||
13 | use yii\helpers\FormatConverter; | 14 | use yii\helpers\FormatConverter; |
14 | use yii\helpers\Html; | 15 | use yii\helpers\Html; |
15 | use yii\helpers\ArrayHelper; | 16 | use yii\helpers\ArrayHelper; |
@@ -77,6 +78,12 @@ class InputWidget extends \yii\widgets\InputWidget | @@ -77,6 +78,12 @@ class InputWidget extends \yii\widgets\InputWidget | ||
77 | * ~~~ | 78 | * ~~~ |
78 | */ | 79 | */ |
79 | public $pluginEvents = []; | 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 | * @var boolean whether the widget should automatically format the date from | 89 | * @var boolean whether the widget should automatically format the date from |
@@ -132,6 +139,15 @@ class InputWidget extends \yii\widgets\InputWidget | @@ -132,6 +139,15 @@ class InputWidget extends \yii\widgets\InputWidget | ||
132 | public function init() | 139 | public function init() |
133 | { | 140 | { |
134 | parent::init(); | 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 | if (!isset($this->language)) { | 151 | if (!isset($this->language)) { |
136 | $this->language = Yii::$app->language; | 152 | $this->language = Yii::$app->language; |
137 | } | 153 | } |
@@ -182,6 +198,7 @@ class InputWidget extends \yii\widgets\InputWidget | @@ -182,6 +198,7 @@ class InputWidget extends \yii\widgets\InputWidget | ||
182 | /** | 198 | /** |
183 | * Sets the language JS file if it exists | 199 | * Sets the language JS file if it exists |
184 | * | 200 | * |
201 | + * @param string $prefix the language filename prefix | ||
185 | * @param string $assetPath the path to the assets | 202 | * @param string $assetPath the path to the assets |
186 | * @param string $filePath the path to the JS file with the file name prefix | 203 | * @param string $filePath the path to the JS file with the file name prefix |
187 | * @param string $suffix the file name suffix - defaults to '.js' | 204 | * @param string $suffix the file name suffix - defaults to '.js' |
@@ -220,6 +237,11 @@ class InputWidget extends \yii\widgets\InputWidget | @@ -220,6 +237,11 @@ class InputWidget extends \yii\widgets\InputWidget | ||
220 | 237 | ||
221 | /** | 238 | /** |
222 | * Generates an input | 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 | protected function getInput($type, $list = false) | 246 | protected function getInput($type, $list = false) |
225 | { | 247 | { |
@@ -313,20 +335,18 @@ class InputWidget extends \yii\widgets\InputWidget | @@ -313,20 +335,18 @@ class InputWidget extends \yii\widgets\InputWidget | ||
313 | } | 335 | } |
314 | if (isset($this->pluginOptions['format'])) { | 336 | if (isset($this->pluginOptions['format'])) { |
315 | $format = $this->pluginOptions['format']; | 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 | $this->pluginOptions['format'] = static::convertDateFormat($format); | 340 | $this->pluginOptions['format'] = static::convertDateFormat($format); |
319 | return; | 341 | return; |
320 | } | 342 | } |
321 | $attrib = $type . 'Format'; | 343 | $attrib = $type . 'Format'; |
322 | $format = isset(Yii::$app->formatter->$attrib) ? Yii::$app->formatter->$attrib : ''; | 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 | \ No newline at end of file | 352 | \ No newline at end of file |
353 | +} |
vendor/kartik-v/yii2-krajee-base/Module.php
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | * @package yii2-krajee-base | 4 | * @package yii2-krajee-base |
5 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | 7 | + * @version 1.7.8 |
8 | */ | 8 | */ |
9 | 9 | ||
10 | namespace kartik\base; | 10 | namespace kartik\base; |
@@ -13,7 +13,7 @@ namespace kartik\base; | @@ -13,7 +13,7 @@ namespace kartik\base; | ||
13 | * Base module class for Krajee extensions | 13 | * Base module class for Krajee extensions |
14 | * | 14 | * |
15 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 15 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
16 | - * @since 1.7.7 | 16 | + * @since 1.7.8 |
17 | */ | 17 | */ |
18 | class Module extends \yii\base\Module | 18 | class Module extends \yii\base\Module |
19 | { | 19 | { |
vendor/kartik-v/yii2-krajee-base/PluginAssetBundle.php
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | * @package yii2-krajee-base | 4 | * @package yii2-krajee-base |
5 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | 7 | + * @version 1.7.8 |
8 | */ | 8 | */ |
9 | 9 | ||
10 | namespace kartik\base; | 10 | namespace kartik\base; |
@@ -26,4 +26,3 @@ class PluginAssetBundle extends AssetBundle | @@ -26,4 +26,3 @@ class PluginAssetBundle extends AssetBundle | ||
26 | 'yii\bootstrap\BootstrapPluginAsset' | 26 | 'yii\bootstrap\BootstrapPluginAsset' |
27 | ]; | 27 | ]; |
28 | } | 28 | } |
29 | - | ||
30 | \ No newline at end of file | 29 | \ No newline at end of file |
vendor/kartik-v/yii2-krajee-base/README.md
1 | yii2-krajee-base | 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 | [](https://packagist.org/packages/kartik-v/yii2-krajee-base) | 5 | [](https://packagist.org/packages/kartik-v/yii2-krajee-base) |
6 | [](https://packagist.org/packages/kartik-v/yii2-krajee-base) | 6 | [](https://packagist.org/packages/kartik-v/yii2-krajee-base) |
7 | [](https://packagist.org/packages/kartik-v/yii2-krajee-base) | 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,7 +15,7 @@ This is a base library with set of foundation classes and components used by all | ||
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). | 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 | ## Latest Release | 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 | ## Extension Classes | 20 | ## Extension Classes |
21 | 21 |
vendor/kartik-v/yii2-krajee-base/TranslationTrait.php
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | * @package yii2-krajee-base | 4 | * @package yii2-krajee-base |
5 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | 7 | + * @version 1.7.8 |
8 | */ | 8 | */ |
9 | 9 | ||
10 | namespace kartik\base; | 10 | namespace kartik\base; |
@@ -14,33 +14,41 @@ use Yii; | @@ -14,33 +14,41 @@ use Yii; | ||
14 | /** | 14 | /** |
15 | * Trait for all translations used in Krajee extensions | 15 | * Trait for all translations used in Krajee extensions |
16 | * | 16 | * |
17 | + * @property array $i18n | ||
18 | + * | ||
17 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 19 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
18 | - * @since 1.7.7 | 20 | + * @since 1.7.8 |
19 | */ | 21 | */ |
20 | trait TranslationTrait | 22 | trait TranslationTrait |
21 | { | 23 | { |
22 | /** | 24 | /** |
23 | * Yii i18n messages configuration for generating translations | 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 | * @return void | 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 | return; | 35 | return; |
31 | } | 36 | } |
37 | + if (empty($cat)) { | ||
38 | + $cat = $this->_msgCat; | ||
39 | + } | ||
32 | if (empty($dir)) { | 40 | if (empty($dir)) { |
33 | $reflector = new \ReflectionClass(get_class($this)); | 41 | $reflector = new \ReflectionClass(get_class($this)); |
34 | $dir = dirname($reflector->getFileName()); | 42 | $dir = dirname($reflector->getFileName()); |
35 | } | 43 | } |
36 | - Yii::setAlias("@{$this->_msgCat}", $dir); | 44 | + Yii::setAlias("@{$cat}", $dir); |
37 | if (empty($this->i18n)) { | 45 | if (empty($this->i18n)) { |
38 | $this->i18n = [ | 46 | $this->i18n = [ |
39 | 'class' => 'yii\i18n\PhpMessageSource', | 47 | 'class' => 'yii\i18n\PhpMessageSource', |
40 | - 'basePath' => "@{$this->_msgCat}/messages", | 48 | + 'basePath' => "@{$cat}/messages", |
41 | 'forceTranslation' => true | 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 | \ No newline at end of file | 54 | \ No newline at end of file |
55 | +} |
vendor/kartik-v/yii2-krajee-base/Widget.php
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | * @package yii2-krajee-base | 4 | * @package yii2-krajee-base |
5 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | 7 | + * @version 1.7.8 |
8 | */ | 8 | */ |
9 | 9 | ||
10 | namespace kartik\base; | 10 | namespace kartik\base; |
@@ -33,9 +33,7 @@ class Widget extends \yii\base\Widget | @@ -33,9 +33,7 @@ class Widget extends \yii\base\Widget | ||
33 | public $pluginOptions = []; | 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 | * pluginEvents = [ | 38 | * pluginEvents = [ |
41 | * "change" => "function() { log("change"); }", | 39 | * "change" => "function() { log("change"); }", |
@@ -46,6 +44,12 @@ class Widget extends \yii\base\Widget | @@ -46,6 +44,12 @@ class Widget extends \yii\base\Widget | ||
46 | public $pluginEvents = []; | 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 | * @var array the the internalization configuration for this widget | 53 | * @var array the the internalization configuration for this widget |
50 | */ | 54 | */ |
51 | public $i18n = []; | 55 | public $i18n = []; |
vendor/kartik-v/yii2-krajee-base/WidgetAsset.php
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | * @package yii2-krajee-base | 4 | * @package yii2-krajee-base |
5 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | 7 | + * @version 1.7.8 |
8 | */ | 8 | */ |
9 | 9 | ||
10 | namespace kartik\base; | 10 | namespace kartik\base; |
vendor/kartik-v/yii2-krajee-base/WidgetTrait.php
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | * @package yii2-krajee-base | 4 | * @package yii2-krajee-base |
5 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 5 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 | 6 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
7 | - * @version 1.7.7 | 7 | + * @version 1.7.8 |
8 | */ | 8 | */ |
9 | 9 | ||
10 | namespace kartik\base; | 10 | namespace kartik\base; |
@@ -16,6 +16,14 @@ use yii\web\View; | @@ -16,6 +16,14 @@ use yii\web\View; | ||
16 | /** | 16 | /** |
17 | * Trait used for Krajee widgets. | 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 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 27 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
20 | * @since 1.6.0 | 28 | * @since 1.6.0 |
21 | */ | 29 | */ |
@@ -30,6 +38,7 @@ trait WidgetTrait | @@ -30,6 +38,7 @@ trait WidgetTrait | ||
30 | */ | 38 | */ |
31 | protected function setDataVar($name) | 39 | protected function setDataVar($name) |
32 | { | 40 | { |
41 | + /** @noinspection PhpUndefinedFieldInspection */ | ||
33 | $this->_dataVar = "data-krajee-{$name}"; | 42 | $this->_dataVar = "data-krajee-{$name}"; |
34 | } | 43 | } |
35 | 44 | ||
@@ -76,14 +85,15 @@ trait WidgetTrait | @@ -76,14 +85,15 @@ trait WidgetTrait | ||
76 | /** | 85 | /** |
77 | * Registers plugin options by storing it in a hashed javascript variable | 86 | * Registers plugin options by storing it in a hashed javascript variable |
78 | * | 87 | * |
88 | + * @param string $name the plugin name | ||
89 | + * | ||
79 | * @return void | 90 | * @return void |
80 | */ | 91 | */ |
81 | protected function registerPluginOptions($name) | 92 | protected function registerPluginOptions($name) |
82 | { | 93 | { |
83 | - $view = $this->getView(); | ||
84 | $this->hashPluginOptions($name); | 94 | $this->hashPluginOptions($name); |
85 | $encOptions = empty($this->_encOptions) ? '{}' : $this->_encOptions; | 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,7 +104,7 @@ trait WidgetTrait | ||
94 | * @param string $callback the javascript callback function to be called after plugin loads | 104 | * @param string $callback the javascript callback function to be called after plugin loads |
95 | * @param string $callbackCon the javascript callback function to be passed to the plugin constructor | 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 | protected function getPluginScript($name, $element = null, $callback = null, $callbackCon = null) | 109 | protected function getPluginScript($name, $element = null, $callback = null, $callbackCon = null) |
100 | { | 110 | { |
@@ -131,9 +141,35 @@ trait WidgetTrait | @@ -131,9 +141,35 @@ trait WidgetTrait | ||
131 | protected function registerPlugin($name, $element = null, $callback = null, $callbackCon = null) | 141 | protected function registerPlugin($name, $element = null, $callback = null, $callbackCon = null) |
132 | { | 142 | { |
133 | $script = $this->getPluginScript($name, $element, $callback, $callbackCon); | 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 | \ No newline at end of file | 175 | \ No newline at end of file |
176 | +} |
vendor/kartik-v/yii2-krajee-base/assets/css/html5input.css
@@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
3 | * @subpackage yii2-widget-activeform | 3 | * @subpackage yii2-widget-activeform |
4 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 4 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
5 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 | 5 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
6 | - * @version 1.7.7 | 6 | + * @version 1.7.8 |
7 | * | 7 | * |
8 | * HTML 5 input styling for Twitter Bootstrap 3.0 | 8 | * HTML 5 input styling for Twitter Bootstrap 3.0 |
9 | * Covers color and range inputs | 9 | * Covers color and range inputs |
vendor/kartik-v/yii2-krajee-base/assets/css/html5input.min.css
@@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
3 | * @subpackage yii2-widget-activeform | 3 | * @subpackage yii2-widget-activeform |
4 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 4 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
5 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 | 5 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
6 | - * @version 1.7.7 | 6 | + * @version 1.7.8 |
7 | * | 7 | * |
8 | * HTML 5 input styling for Twitter Bootstrap 3.0 | 8 | * HTML 5 input styling for Twitter Bootstrap 3.0 |
9 | * Covers color and range inputs | 9 | * Covers color and range inputs |
vendor/kartik-v/yii2-krajee-base/assets/css/kv-widgets.css
@@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
3 | * @subpackage yii2-widget-activeform | 3 | * @subpackage yii2-widget-activeform |
4 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 4 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
5 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 | 5 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
6 | - * @version 1.7.7 | 6 | + * @version 1.7.8 |
7 | * | 7 | * |
8 | * Common CSS file for all kartik\widgets. | 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,7 +3,7 @@ | ||
3 | * @subpackage yii2-widget-activeform | 3 | * @subpackage yii2-widget-activeform |
4 | * @author Kartik Visweswaran <kartikv2@gmail.com> | 4 | * @author Kartik Visweswaran <kartikv2@gmail.com> |
5 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 | 5 | * @copyright Copyright © Kartik Visweswaran, Krajee.com, 2014 - 2015 |
6 | - * @version 1.7.7 | 6 | + * @version 1.7.8 |
7 | * | 7 | * |
8 | * Common CSS file for all kartik\widgets. | 8 | * Common CSS file for all kartik\widgets. |
9 | * | 9 | * |
vendor/rmrevin/yii2-fontawesome/.bowerrc deleted
vendor/rmrevin/yii2-fontawesome/.scrutinizer.yml
@@ -4,7 +4,7 @@ build: | @@ -4,7 +4,7 @@ build: | ||
4 | version: 5.5.12 | 4 | version: 5.5.12 |
5 | dependencies: | 5 | dependencies: |
6 | before: | 6 | before: |
7 | - - composer global require "fxp/composer-asset-plugin:1.0.0" | 7 | + - composer global require "fxp/composer-asset-plugin:~1.0.0" |
8 | tests: | 8 | tests: |
9 | override: | 9 | override: |
10 | - phpunit | 10 | - phpunit |
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 | 2015-08-15 - 2.12.0 | 12 | 2015-08-15 - 2.12.0 |
2 | ------------------- | 13 | ------------------- |
3 | * `Font Awesome` updated to version `4.4`. | 14 | * `Font Awesome` updated to version `4.4`. |
vendor/rmrevin/yii2-fontawesome/FA.php
@@ -14,9 +14,6 @@ namespace rmrevin\yii\fontawesome; | @@ -14,9 +14,6 @@ namespace rmrevin\yii\fontawesome; | ||
14 | class FA extends FontAwesome | 14 | class FA extends FontAwesome |
15 | { | 15 | { |
16 | 16 | ||
17 | - /** @var string CSS Class prefix */ | ||
18 | - public static $cssPrefix = 'fa'; | ||
19 | - | ||
20 | /** | 17 | /** |
21 | * Get all icon constants for dropdown list in example | 18 | * Get all icon constants for dropdown list in example |
22 | * @param bool $html whether to render icon as array value prefix | 19 | * @param bool $html whether to render icon as array value prefix |
vendor/rmrevin/yii2-fontawesome/FontAwesome.php
@@ -7,6 +7,8 @@ | @@ -7,6 +7,8 @@ | ||
7 | 7 | ||
8 | namespace rmrevin\yii\fontawesome; | 8 | namespace rmrevin\yii\fontawesome; |
9 | 9 | ||
10 | +use rmrevin\yii\fontawesome\component; | ||
11 | + | ||
10 | /** | 12 | /** |
11 | * Class FA | 13 | * Class FA |
12 | * @package rmrevin\yii\fontawesome | 14 | * @package rmrevin\yii\fontawesome |
@@ -14,7 +16,12 @@ namespace rmrevin\yii\fontawesome; | @@ -14,7 +16,12 @@ namespace rmrevin\yii\fontawesome; | ||
14 | class FontAwesome | 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 | * @param string $name | 25 | * @param string $name |
19 | * @param array $options | 26 | * @param array $options |
20 | * @return component\Icon | 27 | * @return component\Icon |
@@ -25,6 +32,21 @@ class FontAwesome | @@ -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 | * @param array $options | 50 | * @param array $options |
29 | * @return component\Stack | 51 | * @return component\Stack |
30 | */ | 52 | */ |
@@ -34,6 +56,18 @@ class FontAwesome | @@ -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 | * Size values | 71 | * Size values |
38 | * @see rmrevin\yii\fontawesome\component\Icon::size | 72 | * @see rmrevin\yii\fontawesome\component\Icon::size |
39 | */ | 73 | */ |
@@ -57,4 +91,4 @@ class FontAwesome | @@ -57,4 +91,4 @@ class FontAwesome | ||
57 | */ | 91 | */ |
58 | const FLIP_HORIZONTAL = 'horizontal'; | 92 | const FLIP_HORIZONTAL = 'horizontal'; |
59 | const FLIP_VERTICAL = 'vertical'; | 93 | const FLIP_VERTICAL = 'vertical'; |
60 | -} | ||
61 | \ No newline at end of file | 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 | This extension provides a assets bundle with [Font Awesome](http://fortawesome.github.io/Font-Awesome/) | 4 | This extension provides a assets bundle with [Font Awesome](http://fortawesome.github.io/Font-Awesome/) |
@@ -20,7 +20,8 @@ Code Status | @@ -20,7 +20,8 @@ Code Status | ||
20 | 20 | ||
21 | Support | 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 | Installation | 26 | Installation |
26 | ------------ | 27 | ------------ |
@@ -30,13 +31,13 @@ The preferred way to install this extension is through [composer](https://getcom | @@ -30,13 +31,13 @@ The preferred way to install this extension is through [composer](https://getcom | ||
30 | Either run | 31 | Either run |
31 | 32 | ||
32 | ```bash | 33 | ```bash |
33 | -composer require "rmrevin/yii2-fontawesome:2.10.*" | 34 | +composer require "rmrevin/yii2-fontawesome:~2.12" |
34 | ``` | 35 | ``` |
35 | 36 | ||
36 | or add | 37 | or add |
37 | 38 | ||
38 | ``` | 39 | ``` |
39 | -"rmrevin/yii2-fontawesome": "2.10.*", | 40 | +"rmrevin/yii2-fontawesome": "~2.12", |
40 | ``` | 41 | ``` |
41 | 42 | ||
42 | to the `require` section of your `composer.json` file. | 43 | to the `require` section of your `composer.json` file. |
@@ -66,22 +67,78 @@ class AppAsset extends AssetBundle | @@ -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 | ```php | 121 | ```php |
73 | use rmrevin\yii\fontawesome\FA; | 122 | use rmrevin\yii\fontawesome\FA; |
74 | 123 | ||
124 | +// normal use | ||
75 | echo FA::icon('home'); // <i class="fa fa-home"></i> | 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 | echo FA::icon( | 131 | echo FA::icon( |
77 | 'arrow-left', | 132 | 'arrow-left', |
78 | ['class' => 'big', 'data-role' => 'arrow'] | 133 | ['class' => 'big', 'data-role' => 'arrow'] |
79 | ); // <i class="big fa fa-arrow-left" data-role="arrow"></i> | 134 | ); // <i class="big fa fa-arrow-left" data-role="arrow"></i> |
80 | 135 | ||
136 | +// icon in button | ||
81 | echo Html::submitButton( | 137 | echo Html::submitButton( |
82 | Yii::t('app', '{icon} Save', ['icon' => FA::icon('check')]) | 138 | Yii::t('app', '{icon} Save', ['icon' => FA::icon('check')]) |
83 | ); // <button type="submit"><i class="fa fa-check"></i> Save</button> | 139 | ); // <button type="submit"><i class="fa fa-check"></i> Save</button> |
84 | 140 | ||
141 | +// icon with additional methods | ||
85 | echo FA::icon('cog')->inverse(); // <i class="fa fa-cog fa-inverse"></i> | 142 | echo FA::icon('cog')->inverse(); // <i class="fa fa-cog fa-inverse"></i> |
86 | echo FA::icon('cog')->spin(); // <i class="fa fa-cog fa-spin"></i> | 143 | echo FA::icon('cog')->spin(); // <i class="fa fa-cog fa-spin"></i> |
87 | echo FA::icon('cog')->fixedWidth(); // <i class="fa fa-cog fa-fw"></i> | 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,18 +148,22 @@ echo FA::icon('cog')->border(); // <i class="fa fa-cog fa-border"></i> | ||
91 | echo FA::icon('cog')->pullLeft(); // <i class="fa fa-cog pull-left"></i> | 148 | echo FA::icon('cog')->pullLeft(); // <i class="fa fa-cog pull-left"></i> |
92 | echo FA::icon('cog')->pullRight(); // <i class="fa fa-cog pull-right"></i> | 149 | echo FA::icon('cog')->pullRight(); // <i class="fa fa-cog pull-right"></i> |
93 | 150 | ||
151 | +// icon size | ||
94 | echo FA::icon('cog')->size(FA::SIZE_3X); | 152 | echo FA::icon('cog')->size(FA::SIZE_3X); |
95 | // values: FA::SIZE_LARGE, FA::SIZE_2X, FA::SIZE_3X, FA::SIZE_4X, FA::SIZE_5X | 153 | // values: FA::SIZE_LARGE, FA::SIZE_2X, FA::SIZE_3X, FA::SIZE_4X, FA::SIZE_5X |
96 | // <i class="fa fa-cog fa-size-3x"></i> | 154 | // <i class="fa fa-cog fa-size-3x"></i> |
97 | 155 | ||
156 | +// icon rotate | ||
98 | echo FA::icon('cog')->rotate(FA::ROTATE_90); | 157 | echo FA::icon('cog')->rotate(FA::ROTATE_90); |
99 | // values: FA::ROTATE_90, FA::ROTATE_180, FA::ROTATE_180 | 158 | // values: FA::ROTATE_90, FA::ROTATE_180, FA::ROTATE_180 |
100 | // <i class="fa fa-cog fa-rotate-90"></i> | 159 | // <i class="fa fa-cog fa-rotate-90"></i> |
101 | 160 | ||
161 | +// icon flip | ||
102 | echo FA::icon('cog')->flip(FA::FLIP_VERTICAL); | 162 | echo FA::icon('cog')->flip(FA::FLIP_VERTICAL); |
103 | // values: FA::FLIP_HORIZONTAL, FA::FLIP_VERTICAL | 163 | // values: FA::FLIP_HORIZONTAL, FA::FLIP_VERTICAL |
104 | // <i class="fa fa-cog fa-flip-vertical"></i> | 164 | // <i class="fa fa-cog fa-flip-vertical"></i> |
105 | 165 | ||
166 | +// icon with multiple methods | ||
106 | echo FA::icon('cog') | 167 | echo FA::icon('cog') |
107 | ->spin() | 168 | ->spin() |
108 | ->fixedWidth() | 169 | ->fixedWidth() |
@@ -110,6 +171,7 @@ echo FA::icon('cog') | @@ -110,6 +171,7 @@ echo FA::icon('cog') | ||
110 | ->size(FA::SIZE_LARGE); | 171 | ->size(FA::SIZE_LARGE); |
111 | // <i class="fa fa-cog fa-spin fa-fw pull-left fa-size-lg"></i> | 172 | // <i class="fa fa-cog fa-spin fa-fw pull-left fa-size-lg"></i> |
112 | 173 | ||
174 | +// icons stack | ||
113 | echo FA::stack() | 175 | echo FA::stack() |
114 | ->icon('twitter') | 176 | ->icon('twitter') |
115 | ->on('square-o'); | 177 | ->on('square-o'); |
@@ -118,9 +180,10 @@ echo FA::stack() | @@ -118,9 +180,10 @@ echo FA::stack() | ||
118 | // <i class="fa fa-twitter fa-stack-1x"></i> | 180 | // <i class="fa fa-twitter fa-stack-1x"></i> |
119 | // </span> | 181 | // </span> |
120 | 182 | ||
183 | +// icons stack with additional attributes | ||
121 | echo FA::stack(['data-role' => 'stacked-icon']) | 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 | // <span class="fa-stack" data-role="stacked-icon"> | 187 | // <span class="fa-stack" data-role="stacked-icon"> |
125 | // <i class="fa fa-square-o fa-inverse fa-stack-2x"></i> | 188 | // <i class="fa fa-square-o fa-inverse fa-stack-2x"></i> |
126 | // <i class="fa fa-cog fa-spin fa-stack-1x"></i> | 189 | // <i class="fa fa-cog fa-spin fa-stack-1x"></i> |
@@ -130,8 +193,8 @@ echo FA::stack(['data-role' => 'stacked-icon']) | @@ -130,8 +193,8 @@ echo FA::stack(['data-role' => 'stacked-icon']) | ||
130 | echo FA::icon(FA::_COG); | 193 | echo FA::icon(FA::_COG); |
131 | echo FA::icon(FA::_DESKTOP); | 194 | echo FA::icon(FA::_DESKTOP); |
132 | echo FA::stack() | 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 | ### Set another prefix | 200 | ### Set another prefix |
vendor/rmrevin/yii2-fontawesome/component/Icon.php
@@ -215,6 +215,7 @@ class Icon | @@ -215,6 +215,7 @@ class Icon | ||
215 | * @param string|bool $throw | 215 | * @param string|bool $throw |
216 | * @return \rmrevin\yii\fontawesome\component\Icon | 216 | * @return \rmrevin\yii\fontawesome\component\Icon |
217 | * @throws \yii\base\InvalidConfigException | 217 | * @throws \yii\base\InvalidConfigException |
218 | + * @codeCoverageIgnore | ||
218 | */ | 219 | */ |
219 | public function addCssClass($class, $condition = true, $throw = false) | 220 | public function addCssClass($class, $condition = true, $throw = false) |
220 | { | 221 | { |
@@ -249,4 +250,4 @@ class Icon | @@ -249,4 +250,4 @@ class Icon | ||
249 | 250 | ||
250 | return Html::tag($tag, $content, $options); | 251 | return Html::tag($tag, $content, $options); |
251 | } | 252 | } |
252 | -} | 253 | -} |
254 | +} | ||
253 | \ No newline at end of file | 255 | \ No newline at end of file |
vendor/rmrevin/yii2-fontawesome/composer.json
@@ -17,9 +17,9 @@ | @@ -17,9 +17,9 @@ | ||
17 | }, | 17 | }, |
18 | "authors": [ | 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 | "require": { | 25 | "require": { |
vendor/rmrevin/yii2-fontawesome/composer.lock
@@ -4,7 +4,8 @@ | @@ -4,7 +4,8 @@ | ||
4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", | 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", |
5 | "This file is @generated automatically" | 5 | "This file is @generated automatically" |
6 | ], | 6 | ], |
7 | - "hash": "54ddca2d2b639ae136422a58590cdccc", | 7 | + "hash": "a6e2105374df8af26fdde9137b018143", |
8 | + "content-hash": "94d3274c874502d1e22ab4ff59c2386f", | ||
8 | "packages": [ | 9 | "packages": [ |
9 | { | 10 | { |
10 | "name": "bower-asset/fontawesome", | 11 | "name": "bower-asset/fontawesome", |
vendor/rmrevin/yii2-fontawesome/phpunit.xml.dist
@@ -6,10 +6,13 @@ | @@ -6,10 +6,13 @@ | ||
6 | convertWarningsToExceptions="true" | 6 | convertWarningsToExceptions="true" |
7 | stopOnFailure="false"> | 7 | stopOnFailure="false"> |
8 | <filter> | 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 | </filter> | 16 | </filter> |
14 | <testsuites> | 17 | <testsuites> |
15 | <testsuite name="Test Suite"> | 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,6 +76,33 @@ class MainTest extends \rmrevin\yii\fontawesome\tests\unit\TestCase | ||
76 | ->on((new Icon('square-o'))->size(FA::SIZE_3X)), | 76 | ->on((new Icon('square-o'))->size(FA::SIZE_3X)), |
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>' | 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 | public function testIconOutput() | 108 | public function testIconOutput() |
@@ -145,4 +172,15 @@ class MainTest extends \rmrevin\yii\fontawesome\tests\unit\TestCase | @@ -145,4 +172,15 @@ class MainTest extends \rmrevin\yii\fontawesome\tests\unit\TestCase | ||
145 | FA::icon('cog') | 172 | FA::icon('cog') |
146 | ->flip('badvalue'); | 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 | \ No newline at end of file | 187 | \ No newline at end of file |
vendor/yiisoft/extensions.php
@@ -57,15 +57,6 @@ return array ( | @@ -57,15 +57,6 @@ return array ( | ||
57 | '@yii/faker' => $vendorDir . '/yiisoft/yii2-faker', | 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 | 'cebe/yii2-gravatar' => | 60 | 'cebe/yii2-gravatar' => |
70 | array ( | 61 | array ( |
71 | 'name' => 'cebe/yii2-gravatar', | 62 | 'name' => 'cebe/yii2-gravatar', |
@@ -75,15 +66,6 @@ return array ( | @@ -75,15 +66,6 @@ return array ( | ||
75 | '@cebe/gravatar' => $vendorDir . '/cebe/yii2-gravatar/cebe/gravatar', | 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 | 'yiisoft/yii2-jui' => | 69 | 'yiisoft/yii2-jui' => |
88 | array ( | 70 | array ( |
89 | 'name' => 'yiisoft/yii2-jui', | 71 | 'name' => 'yiisoft/yii2-jui', |
@@ -93,15 +75,6 @@ return array ( | @@ -93,15 +75,6 @@ return array ( | ||
93 | '@yii/jui' => $vendorDir . '/yiisoft/yii2-jui', | 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 | 'kartik-v/yii2-widget-select2' => | 78 | 'kartik-v/yii2-widget-select2' => |
106 | array ( | 79 | array ( |
107 | 'name' => 'kartik-v/yii2-widget-select2', | 80 | 'name' => 'kartik-v/yii2-widget-select2', |
@@ -120,4 +93,41 @@ return array ( | @@ -120,4 +93,41 @@ return array ( | ||
120 | '@developeruz/db_rbac' => $vendorDir . '/developeruz/yii2-db-rbac', | 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 | ); |