From c83ff0a4b5b37f6b4f7cbd137cbd42b41ce119d5 Mon Sep 17 00:00:00 2001 From: effone Date: Fri, 1 Jan 2021 21:50:47 +0530 Subject: [PATCH] VKontakte Support --- build/buttonstyle/isango.css | 14 ++++++++++++++ build/buttonstyle/isango.css.map | 2 +- build/buttonstyle/isango.scss | 4 ++++ upload/inc/plugins/isango.php | 9 +++++++++ upload/inc/plugins/isango/isango.css | 14 ++++++++++++++ upload/inc/plugins/isango/vkontakte.ini | 14 ++++++++++++++ 6 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 upload/inc/plugins/isango/vkontakte.ini diff --git a/build/buttonstyle/isango.css b/build/buttonstyle/isango.css index 6b09a01..2413606 100644 --- a/build/buttonstyle/isango.css +++ b/build/buttonstyle/isango.css @@ -147,6 +147,20 @@ a.isango_facebook:hover { background: #34518d !important; } +a.isango_vkontakte { + background: #4c75a3 !important; + border: 1px solid #3c5c80 !important; + min-width: 100px; +} + +a.isango_vkontakte span:before { + content: url("data:image/svg+xml;utf8,"); +} + +a.isango_vkontakte:hover { + background: #3c5c80 !important; +} + a.isango_yahoo { background: #5d0bed !important; border: 1px solid #4a09bc !important; diff --git a/build/buttonstyle/isango.css.map b/build/buttonstyle/isango.css.map index 220d226..4d68352 100644 --- a/build/buttonstyle/isango.css.map +++ b/build/buttonstyle/isango.css.map @@ -1,6 +1,6 @@ { "version": 3, - "mappings": "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", + "mappings": "AAiDA,AACI,CADH,AACI,cAAc,CAAC;EACZ,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,GAAG;EAClB,OAAO,EAAE,QAAQ;EACjB,MAAM,EAAE,GAAG;EACX,OAAO,EAAE,YAAY;EACrB,WAAW,EAAE,MAAM;EACnB,KAAK,EAAE,gBAAgB;EACvB,UAAU,EAAE,MAAM;EAClB,UAAU,EAAE,QAAQ;CAqBvB;;AA/BL,AAYQ,CAZP,AACI,cAAc,AAWV,MAAM,CAAC;EACJ,eAAe,EAAE,IAAI;CAKxB;;AAlBT,AAcY,CAdX,AACI,cAAc,AAWV,MAAM,CAEH,IAAI,AAAA,OAAO,CAAA;EACP,SAAS,EAAE,aAAa;EACxB,UAAU,EAAE,QAAQ;CACvB;;AAjBb,AAoBQ,CApBP,AACI,cAAc,CAmBX,IAAI,CAAC;EACD,UAAU,EAAE,IAAI;EAChB,YAAY,EAAE,IAAI;CAQrB;;AA9BT,AAwBY,CAxBX,AACI,cAAc,CAmBX,IAAI,AAIC,OAAO,CAAC;EACL,UAAU,EAAE,QAAQ;EACpB,QAAQ,EAAE,QAAQ;EAClB,WAAW,EAAE,KAAK;EAClB,UAAU,EAAE,IAAI;CACnB;;AA7Bb,AAkCQ,CAlCP,AAkCQ,cAAc,CAAG;EACd,UAAU,EAlFP,OAAO,CAkF2B,UAAU;EAC/C,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAqC,CAAC,UAAU;EAClE,SAAS,EAAE,KAAK;CAOnB;;AA5CT,AAsCY,CAtCX,AAkCQ,cAAc,CAIX,IAAI,AAAA,OAAO,CAAC;EACR,OAAO,EA1CX,2nBAAoD;CA2CnD;;AAxCb,AAyCY,CAzCX,AAkCQ,cAAc,AAOV,MAAM,CAAA;EACH,UAAU,EAAE,OAAqC,CAAC,UAAU;CAC/D;;AA3Cb,AAkCQ,CAlCP,AAkCQ,iBAAiB,CAAA;EACd,UAAU,EA9EP,OAAO,CA8E2B,UAAU;EAC/C,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAqC,CAAC,UAAU;EAClE,SAAS,EAAE,KAAK;CAOnB;;AA5CT,AAsCY,CAtCX,AAkCQ,iBAAiB,CAId,IAAI,AAAA,OAAO,CAAC;EACR,OAAO,EA1CX,gQAAoD;CA2CnD;;AAxCb,AAyCY,CAzCX,AAkCQ,iBAAiB,AAOb,MAAM,CAAA;EACH,UAAU,EAAE,OAAqC,CAAC,UAAU;CAC/D;;AA3Cb,AAkCQ,CAlCP,AAkCQ,cAAc,CAAG;EACd,UAAU,EA1EP,OAAO,CA0E2B,UAAU;EAC/C,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAqC,CAAC,UAAU;EAClE,SAAS,EAAE,KAAK;CAOnB;;AA5CT,AAsCY,CAtCX,AAkCQ,cAAc,CAIX,IAAI,AAAA,OAAO,CAAC;EACR,OAAO,EA1CX,8bAAoD;CA2CnD;;AAxCb,AAyCY,CAzCX,AAkCQ,cAAc,AAOV,MAAM,CAAA;EACH,UAAU,EAAE,OAAqC,CAAC,UAAU;CAC/D;;AA3Cb,AAkCQ,CAlCP,AAkCQ,eAAe,CAAE;EACd,UAAU,EAtEP,OAAO,CAsE2B,UAAU;EAC/C,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAqC,CAAC,UAAU;EAClE,SAAS,EAAE,KAAK;CAOnB;;AA5CT,AAsCY,CAtCX,AAkCQ,eAAe,CAIZ,IAAI,AAAA,OAAO,CAAC;EACR,OAAO,EA1CX,mqBAAoD;CA2CnD;;AAxCb,AAyCY,CAzCX,AAkCQ,eAAe,AAOX,MAAM,CAAA;EACH,UAAU,EAAE,OAAqC,CAAC,UAAU;CAC/D;;AA3Cb,AAkCQ,CAlCP,AAkCQ,eAAe,CAAE;EACd,UAAU,EAlEP,OAAO,CAkE2B,UAAU;EAC/C,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAqC,CAAC,UAAU;EAClE,SAAS,EAAE,KAAK;CAOnB;;AA5CT,AAsCY,CAtCX,AAkCQ,eAAe,CAIZ,IAAI,AAAA,OAAO,CAAC;EACR,OAAO,EA1CX,wpBAAoD;CA2CnD;;AAxCb,AAyCY,CAzCX,AAkCQ,eAAe,AAOX,MAAM,CAAA;EACH,UAAU,EAAE,OAAqC,CAAC,UAAU;CAC/D;;AA3Cb,AAkCQ,CAlCP,AAkCQ,cAAc,CAAG;EACd,UAAU,EA9DP,OAAO,CA8D2B,UAAU;EAC/C,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAqC,CAAC,UAAU;EAClE,SAAS,EAAE,KAAK;CAOnB;;AA5CT,AAsCY,CAtCX,AAkCQ,cAAc,CAIX,IAAI,AAAA,OAAO,CAAC;EACR,OAAO,EA1CX,mkBAAoD;CA2CnD;;AAxCb,AAyCY,CAzCX,AAkCQ,cAAc,AAOV,MAAM,CAAA;EACH,UAAU,EAAE,OAAqC,CAAC,UAAU;CAC/D;;AA3Cb,AAkCQ,CAlCP,AAkCQ,gBAAgB,CAAC;EACd,UAAU,EA1DP,OAAO,CA0D2B,UAAU;EAC/C,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAqC,CAAC,UAAU;EAClE,SAAS,EAAE,KAAK;CAOnB;;AA5CT,AAsCY,CAtCX,AAkCQ,gBAAgB,CAIb,IAAI,AAAA,OAAO,CAAC;EACR,OAAO,EA1CX,qbAAoD;CA2CnD;;AAxCb,AAyCY,CAzCX,AAkCQ,gBAAgB,AAOZ,MAAM,CAAA;EACH,UAAU,EAAE,OAAqC,CAAC,UAAU;CAC/D;;AA3Cb,AAkCQ,CAlCP,AAkCQ,gBAAgB,CAAC;EACd,UAAU,EAtDP,OAAO,CAsD2B,UAAU;EAC/C,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAqC,CAAC,UAAU;EAClE,SAAS,EAAE,KAAK;CAOnB;;AA5CT,AAsCY,CAtCX,AAkCQ,gBAAgB,CAIb,IAAI,AAAA,OAAO,CAAC;EACR,OAAO,EA1CX,mSAAoD;CA2CnD;;AAxCb,AAyCY,CAzCX,AAkCQ,gBAAgB,AAOZ,MAAM,CAAA;EACH,UAAU,EAAE,OAAqC,CAAC,UAAU;CAC/D;;AA3Cb,AAkCQ,CAlCP,AAkCQ,iBAAiB,CAAA;EACd,UAAU,EAlDP,OAAO,CAkD2B,UAAU;EAC/C,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAqC,CAAC,UAAU;EAClE,SAAS,EAAE,KAAK;CAOnB;;AA5CT,AAsCY,CAtCX,AAkCQ,iBAAiB,CAId,IAAI,AAAA,OAAO,CAAC;EACR,OAAO,EA1CX,4rBAAoD;CA2CnD;;AAxCb,AAyCY,CAzCX,AAkCQ,iBAAiB,AAOb,MAAM,CAAA;EACH,UAAU,EAAE,OAAqC,CAAC,UAAU;CAC/D;;AA3Cb,AAkCQ,CAlCP,AAkCQ,aAAa,CAAI;EACd,UAAU,EA9CP,OAAO,CA8C2B,UAAU;EAC/C,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAqC,CAAC,UAAU;EAClE,SAAS,EAAE,KAAK;CAOnB;;AA5CT,AAsCY,CAtCX,AAkCQ,aAAa,CAIV,IAAI,AAAA,OAAO,CAAC;EACR,OAAO,EA1CX,uWAAoD;CA2CnD;;AAxCb,AAyCY,CAzCX,AAkCQ,aAAa,AAOT,MAAM,CAAA;EACH,UAAU,EAAE,OAAqC,CAAC,UAAU;CAC/D;;AAKb,AAAA,gBAAgB,AAAA,uBAAuB,CAAA;EACnC,gBAAgB,EAAE,62BAA62B;CACl4B", "sources": [ "isango.scss" ], diff --git a/build/buttonstyle/isango.scss b/build/buttonstyle/isango.scss index cd6f914..b687585 100644 --- a/build/buttonstyle/isango.scss +++ b/build/buttonstyle/isango.scss @@ -31,6 +31,10 @@ $gateway-map: ( color: #4267b2, icon: "M10.3 18.5H13V12h1.8l.2-2.3h-2V8.6c0-.6.1-.9.9-.9H15V5.5h-1.8c-2.2 0-2.9 1.1-2.9 2.9v1.4H9V12h1.3zM12 24C5.4 24 0 18.6 0 12S5.4 0 12 0s12 5.4 12 12-5.4 12-12 12z" ), + vkontakte: ( + color: #4c75a3, + icon: "M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0zm-.4 7.4c.7 0 .9 0 1.2.1.8.2.5.9.5 2.8 0 .6-.1 1.4.3 1.7.2.1.6 0 1.7-1.9.5-.9.9-1.9.9-1.9s.2-.2.3-.2c.1-.1.3-.1.3-.1h2.5s.7-.1.9.2c.1.4-.3 1.2-1.3 2.5-1.7 2.3-1.9 2.1-.5 3.3 1.3 1.2 1.6 1.8 1.6 1.9.5.9-.6 1-.6 1h-2.2s-.5.1-1.1-.3c-.8-.6-1.6-2-2.2-1.8-.6.2-.6 1.5-.6 1.5s0 .3-.1.4c-.2.2-.4.2-.4.2h-1s-2.2.1-4.1-1.9c-2.1-2.2-3.9-6.5-3.9-6.5s-.1-.3 0-.4c.1-.2.5-.2.5-.2h2.3s.2 0 .4.2c.1.1.2.3.2.3s.4 1 .9 1.8c1 1.7 1.4 2.1 1.8 1.9.5-.3.3-2.4.3-2.4s0-.8-.2-1.1c-.2-.3-.6-.3-.8-.4-.1 0 .1-.3.4-.5.4-.2 1.2-.2 2-.2z" + ), yahoo: ( color: #5d0bed, icon: "M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0zm4 5.5h3l-2.5 6h-3l2.5-6zM5 7.9h2.8L9.5 12l1.7-4.1H14L9.5 18.5H6.7l1.4-3.3L5 7.9zm9.1 4.7c.9 0 1.6.7 1.6 1.6-.1.9-.8 1.6-1.6 1.6-.9 0-1.6-.7-1.6-1.6 0-.9.7-1.6 1.6-1.6z" diff --git a/upload/inc/plugins/isango.php b/upload/inc/plugins/isango.php index ddf07a4..32ab3c8 100644 --- a/upload/inc/plugins/isango.php +++ b/upload/inc/plugins/isango.php @@ -222,6 +222,12 @@ function isango_bridge() // Get user information $user = array(); + + // Hack the email from the flow, if available. Vkontakte doesn't provide email at API endpoint + if($mybb->input['gateway'] == 'vkontakte' && isset($data["email"])){ + $user["email"] = $data["email"]; + } + $conf = isango_config($mybb->input['gateway'], 'api'); if (is_string($conf['url'])) { $conf['url'] = (array) $conf['url']; @@ -475,6 +481,9 @@ function isango_curl(array $params, string $gateway, string $mode = 'api') $header = array('Accept' => 'application/json'); // Default, override with config if ($mode == 'api') { $header['Authorization'] = 'Bearer ' . $params['code']; + if($gateway == 'vkontakte'){ // Header will not help carrying the access token for Vkontakte + curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['access_token' => $params['code'], 'v' => '5.110'])); + } } if (isset($conf['header']) && is_array($conf['header'])) { diff --git a/upload/inc/plugins/isango/isango.css b/upload/inc/plugins/isango/isango.css index 13785eb..841a32b 100644 --- a/upload/inc/plugins/isango/isango.css +++ b/upload/inc/plugins/isango/isango.css @@ -147,6 +147,20 @@ a.isango_facebook:hover { background: #34518d !important; } +a.isango_vkontakte { + background: #4c75a3 !important; + border: 1px solid #3c5c80 !important; + min-width: 100px; +} + +a.isango_vkontakte span:before { + content: url("data:image/svg+xml;utf8,"); +} + +a.isango_vkontakte:hover { + background: #3c5c80 !important; +} + a.isango_yahoo { background: #5d0bed !important; border: 1px solid #4a09bc !important; diff --git a/upload/inc/plugins/isango/vkontakte.ini b/upload/inc/plugins/isango/vkontakte.ini new file mode 100644 index 0000000..a7d91bc --- /dev/null +++ b/upload/inc/plugins/isango/vkontakte.ini @@ -0,0 +1,14 @@ +[auth] +url = "https://oauth.vk.com/authorize" +params[scope] = "email" + +[token] +url = "https://oauth.vk.com/access_token" + +[api] +url = "https://api.vk.com/method/getProfiles" + +[info] +id = "{$u['response'][0]['id']}" +name = "{$u['response'][0]['first_name']} {$u['response'][0]['last_name']}" +email = "{$u['email']}" \ No newline at end of file