1010use skeeks \cms \models \behaviors \HasJsonFieldsBehavior ;
1111use Yii ;
1212use \yii \db \ActiveRecord ;
13+ use yii \helpers \ArrayHelper ;
1314
1415/**
16+ * @property string $provider
17+ * @property array $provider_data
18+ * @property string $providerUrl
19+ *
1520 * Class UserAuthClient
1621 * @package skeeks\module\cms\user\model
1722 */
@@ -59,13 +64,13 @@ public function rules()
5964 public function attributeLabels ()
6065 {
6166 return [
62- 'id ' => Yii::t ('app ' , 'ID ' ),
63- 'user_id ' => Yii::t ('app ' , 'User ' ),
64- 'provider ' => Yii::t ('app ' , 'Provider ' ),
65- 'provider_identifier ' => Yii::t ('app ' , 'Provider Identifier ' ),
66- 'provider_data ' => Yii::t ('app ' , 'Provider Data ' ),
67- 'created_at ' => Yii::t ('app ' , 'Created At ' ),
68- 'updated_at ' => Yii::t ('app ' , 'Updated At ' ),
67+ 'id ' => Yii::t ('skeeks/authclient ' , 'ID ' ),
68+ 'user_id ' => Yii::t ('skeeks/authclient ' , 'User ' ),
69+ 'provider ' => Yii::t ('skeeks/authclient ' , 'Provider ' ),
70+ 'provider_identifier ' => Yii::t ('skeeks/authclient ' , 'Provider Identifier ' ),
71+ 'provider_data ' => Yii::t ('skeeks/authclient ' , 'Provider Data ' ),
72+ 'created_at ' => Yii::t ('skeeks/authclient ' , 'Created At ' ),
73+ 'updated_at ' => Yii::t ('skeeks/authclient ' , 'Updated At ' ),
6974 ];
7075 }
7176
@@ -84,4 +89,24 @@ public function getDisplayName()
8489 {
8590 return $ this ->provider . " [ {$ this ->provider_identifier }] " ;
8691 }
92+
93+ /**
94+ * @return string
95+ */
96+ public function getProviderUrl ()
97+ {
98+ if ($ this ->provider == 'facebook ' )
99+ {
100+ $ id = ArrayHelper::getValue ($ this ->provider_data , 'id ' );
101+ return 'https://www.facebook.com/ ' . $ id ;
102+ }
103+
104+ if ($ this ->provider == 'vkontakte ' )
105+ {
106+ $ id = ArrayHelper::getValue ($ this ->provider_data , 'user_id ' );
107+ return 'https://vk.com/id ' . $ id ;
108+ }
109+
110+ return '# ' ;
111+ }
87112}
0 commit comments