рдЯреНрд╡рд┐рдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдкрд░ рдПрдВрдб-рдЯреВ-рдПрдВрдб рдкреНрд░рд╛рдзрд┐рдХрд░рдг

рд╡реЗ рджрд┐рди рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдкреНрд░рддреНрдпреЗрдХ рд╡реИрд╕реБрд╕реНрд╕рд▓реА Sverdyshchenko рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреГрд╖реНрда рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдлреЛрд░рдо рдХреЛ рдПрдХ рдЕрд▓рдЧ рдкрдВрдЬреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рд╣рдореЗрдВ рдзреАрд░реЗ-рдзреАрд░реЗ рдЗрд╕ рддрдереНрдп рдХреА рдЖрджрдд рд╣реЛ рд░рд╣реА рд╣реИ рдХрд┐ рдЖрдк рд╣рдорд╛рд░реЗ OpenID / OAuth рдкреНрд░рджрд╛рддрд╛ рдХреА рдУрд░ рд╕реЗ рд▓рдЧрднрдЧ рд╣рд░ рдЬрдЧрд╣ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯреНрд╡рд┐рдЯрд░ / рдлреЗрд╕рдмреБрдХ / Google / Yandex / Vkontakte рдХреЗ рдПрдВрдб-рдЯреВ-рдПрдВрдб рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧ-рдЗрди рд╕рднреА рд▓реЛрдХрдкреНрд░рд┐рдп рд╕реАрдПрдордПрд╕ рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, DISQUS рд╣реИ ... рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдХрд┐рд╕реА рддреГрддреАрдп-рдкрдХреНрд╖ рд╕реЗрд╡рд╛ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрдкрдиреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рдЕрд▓рдЧ рдЦрд╛рддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдП рдмрд┐рдирд╛ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдзрд┐рдХрд╛рд░ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рд╕реАрдПрдордПрд╕ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЪрдорддреНрдХрд╛рд░ рдкреНрд▓рдЧрдЗрди рдирд╣реАрдВ рд╣реИ?
рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдЬрд▓реНрджреА рдФрд░ рджрд░реНрдж рд░рд╣рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдПрдХ рд╡рд┐рджреЗрд╢реА рд╕реАрдПрдордПрд╕ рдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рдБрдзреЗрдВ рдФрд░ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдХрд┐рд╕ рддрд░рд╣ рдХреЗ рдкрд╛рдиреА рдХреЗ рдиреАрдЪреЗ рд░реЗрдХ рд╣реИрдВред

Xaraya + рдЯреНрд╡рд┐рдЯрд░



рд╕рд╛рдордЧреНрд░реА


рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореИрдВ CMS Xaraya рдореЗрдВ рдЯреНрд╡рд┐рдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЪреБрдиреВрдВрдЧрд╛ ред рдкреНрд░рджрд╛рддрд╛ рдХреА рдкрд╕рдВрдж рдЗрд╕рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИред рдпрд╣ рд╕реАрдПрдордПрд╕ рддреАрди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╣реИ: рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рд╣реИ, рдпрд╣ рдмрд╣реБрдд рдХрдо рдЬреНрдЮрд╛рдд рд╣реИ (рдФрд░, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рдПрдХ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИ) рдФрд░, рдЕрдВрдд рдореЗрдВ, рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ - рдпрд╣ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛)ред
рдЬрд╝рд╛рд░рд╛рдпрд╛ рдХреА рдПрдорд╡реАрд╕реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдРрд╕реА рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреГрд╖реНрда рдХреЗ рд╕рднреА рддрддреНрд╡ рд╕рдВрджрд░реНрдн рдХреЗ рдкреНрд░рддрд┐ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдмреНрд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмреНрд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХрд╛ рдлрд╝реАрдб), рдФрд░ рдЗрд╕реА рддрд░рд╣ рджреЛрдиреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ)ред "рдмреНрд▓реЙрдХ", рдЖрдорддреМрд░ рдкрд░ рд╕рд╛рдЗрдб рдХреЙрд▓рдо рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╕рд╛рдордЧреНрд░реА рдХреЗ рдмрдЧрд▓ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рдпрд╣рд╛рдБ рдХреНрд░реВрд╕ рдкрд░ рдЪрдврд╝рд╛ рд░рд╣рд╛ рд╣реВрдБ - рд▓рдЧрднрдЧ рд╕рднреА рд╕реАрдПрдордПрд╕ рдЗрддрдиреЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реИрдВред рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рдПрдХреНрд╕рд░рд╛рдпрд╛ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рд░реНрдп рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВ - рд╡реЗ рд╕рднреА рдЙрдкрд╕рд░реНрдЧ " xar " рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдирд╛рдо рд╣рдореЗрд╢рд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рддрдВрддреНрд░ рдХреА рд╕рдордЭ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╣рдорд╛рд░рд╛ рдореЙрдбреНрдпреВрд▓ рдХреЛрдИ "рдореБрдЦреНрдп" рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЗрд╕рдореЗрдВ рдПрдХ рдмреНрд▓реЙрдХ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдпрд╛ рддреЛ рдПрдХ рдмрдЯрди рд╣реЛрдЧрд╛ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рд▓реЙрдЧрд┐рди рдирд╣реАрдВ рд╣реИ):
рдЯреНрд╡рд┐рдЯрд░ рдХреЗ рд╕рд╛рде рд╕рд╛рдЗрди рдЗрди рдХрд░реЗрдВ
рдпрд╛ рд▓реЙрдЧрд┐рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдХрд╛рд░реНрдб:
рдореБрджрд╛рд╕реЛрдмрд╡рд╛: рд▓реЙрдЧ рдЗрди рдХрд┐рдпрд╛

рд╡рд┐рдзрд┐


рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:

рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ OAuth рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐рд╕реА рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдбрдмрд▓ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди (рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рджрд╛рддрд╛ рдХреА рд╕рд╛рдЗрдЯ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ twitter.com )ред рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рд╕реАрдПрдордПрд╕ рдХреЗ рдмреНрд▓реЙрдХ рд╕реЗ, рдпрд╣ рдмрд╕ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдЯреЛрдХрди рдФрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╡рд░реНрддрдорд╛рди рд╕рддреНрд░ рдХрд╛ рд╕рдВрджрд░реНрдн рдЦреЛ рдЬрд╛рдПрдЧрд╛ред рддреЛ, рдЖрдкрдХреЛ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдХреЗ рд╕рд╛рде рдмрд┐рдЧрд╛рдбрд╝рдирд╛ рд╣реЛрдЧрд╛ (рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрджрд╕реВрд░рдд рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ ...)ред

рдЦрд╛рдирд╛ рдкрдХрд╛рдиреЗ рдХреА рд╡рд┐рдзрд┐


рдореЗрд░рд╛ рд╕реАрдПрдордПрд╕ рд▓реЙрдЧрд┐рди рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рд╡рд╛рдВрдбрд░рд░реНрд╕ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмреНрд▓реЙрдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рджрд┐рдЦрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЪрд▓реЛ рд╕рд░рд▓рддрдо рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ - рдЪрд▓реЛ рднрдЯрдХрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреНрд▓реЙрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдмрдЯрди рд╣реЛрдЧрд╛, рдФрд░ рдереЛрдбрд╝реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ:
 <img src="/modules/authtwitter/xarimages/darker.png" alt="Sign in with Twitter" style="cursor:pointer;" onclick="popUp('#$url#');" id="loginBtn"/> 

popUp рдлрд╝рдВрдХреНрд╢рди, рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдПрдХ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдЦреЛрд▓реЗрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рдПрдХ рдХрд╛рдВрдЯреЗрджрд╛рд░ рд░рд╛рд╕реНрддреЗ рдкрд░ рдЬрд╛рдПрдВрдЧреЗред рдореИрдВрдиреЗ рдЕрдмреНрд░рд╛рд╣рдо рд╡рд┐рд▓рд┐рдпрдореНрд╕ рд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛрдб рдЙрдзрд╛рд░ рд▓рд┐рдпрд╛, рдпрд╣ рдЯреНрд╡рд┐рдЯрд░ рдПрдкреАрдЖрдИ рд╡рд┐рдХреА рдкрд░ рд╣реИ ред рд╣рдорд╛рд░рд╛ рдкрд╣рд▓рд╛ рд╕реНрддрд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
  require_once(dirname(__FILE__) . '/../libs/twitteroauth/twitteroauth.php'); require_once(dirname(__FILE__) . '/../libs/twitteroauth/config.php'); /* Build TwitterOAuth object with client credentials. */ $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET); /* Get temporary credentials. */ $request_token = $connection->getRequestToken(OAUTH_CALLBACK); /* Save temporary credentials to session. */ /* NB! The code below is specific to Xaraya! */ xarSessionSetVar('oauth_token', $request_token['oauth_token']); xarSessionSetVar('oauth_token_secret', $request_token['oauth_token_secret']); /* NB! End of specific to Xaraya codepiece. */ /* If last connection failed don't display authorization link. */ switch ($connection->http_code) { case 200: /* Build authorize URL and redirect user to Twitter. */ $url = $connection->getAuthorizeURL($request_token); header('Location: ' . $url); // тЗР That's why we needed a popup window break; default: /* Immediately return if something went wrong. */ return USER_AUTH_FAILED; } 

рдЯреНрд╡рд┐рдЯрд░ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рд╕реАрдПрдордПрд╕ рдЖрд╡реЗрджрди рд╣реИ) рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХрд┐рд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдкрд░ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдкрдВрдЬреАрдХрд░рдг рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рд╕рдВрдХреНрд░рдордг рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рдЕрдЧрд░ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рд▓реЙрдЧрд┐рди рдкреНрд░рдпрд╛рд╕ рд╣реИ, рддреЛ рдЯреНрд╡рд┐рдЯрд░ рдорд╛рдирдХ Allow / Deny рдХреЗ рд▓рд┐рдП рдкреВрдЫреЗрдЧрд╛ред рдФрд░ рдЕрдЧрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯреНрд╡рд┐рдЯрд░ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдирд╣реАрдВ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рд▓реЙрдЧрд┐рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рд╕рдм рдХреЗ рдмрд╛рдж, рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рдЕрдиреБрдорддрд┐ рджреЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЙрд╕ рдкрддреЗ рдкрд░ рдПрдХ рд░рд┐рд╡рд░реНрд╕ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╣рдордиреЗ getRequestToken рдХреЛ рджрд┐рдпрд╛ рдерд╛ред рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИ:
  require_once(dirname(__FILE__) . '/../libs/twitteroauth/twitteroauth.php'); require_once(dirname(__FILE__) . '/../libs/twitteroauth/config.php'); /* If the oauth_token is oldтАФredirect to the connect page. */ if ( isset($_REQUEST['oauth_token']) && xarSessionGetVar('oauth_token') !== $_REQUEST['oauth_token'] ) { xarSessionSetVar('oauth_status', 'oldtoken'); xarRedirectUrl('тАж'); } /* Create TwitteroAuth object with app key/secret and token key/secret from default phase */ $connection = new TwitterOAuth( CONSUMER_KEY, CONSUMER_SECRET, xarSessionGetVar('oauth_token'), xarSessionGetVar('oauth_token_secret') ); /* Request access tokens from twitter */ $access_token = $connection->getAccessToken($_REQUEST['oauth_verifier']); /* If HTTP response is 200 continue otherwise send to connect page to retry */ switch ($connection->http_code) { case 200: // http://apiwiki.twitter.com/w/page/22554689/Twitter-REST-API-Method%3A-account%C2%A0verify_credentials $content = $connection->get('account/verify_credentials'); default: xarRedirectUrl('тАж'); } 

рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЦрдЬрд╛рдирд╛ рд╣реИ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдЬреЛ рдЯреНрд╡рд┐рдЯрд░ рдиреЗ рд╣рдореЗрдВ рджрд┐рдпрд╛ред рдпрд╣ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдкрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ:
 if(window.opener != null && !window.opener.closed) { window.opener.setCredentials(<?php echo json_encode($content); ?>); } 

рд╣рд╛рдБред рдЕрдм рдЖрдкрдХреЗ рдЕрдкрдиреЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред

рдЧреМрд░реИрдпрд╛, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдУ


рддреЛ, рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдХ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖред рдкрд╣рд▓реА рдЪреАрдЬреЗрдВ рдкрд╣рд▓реЗ - рдКрдм рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдХреЛ рдмрдВрдж рдХрд░реЗрдВред рддрдм - рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЫрджреНрдо рд░реВрдк (рдпрд╛ рдмрд▓реНрдХрд┐, рдЫрд┐рдкрд╛ рд╣реБрдЖ рдлрд╝реЙрд░реНрдо) рднрд░реЗрдВ рдФрд░ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдорд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИ, рдпрд╛ рдпрджрд┐ рд╣рдореЗрдВ рдЕрднреА рднреА рдЙрд╕реЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рд╣реИ:
 function setCredentials(content) { if (popUpObj) { popUpObj.close(); popUpObj = null; } if (content && content.screen_name) { document.getElementById("name").value = content.name; document.getElementById("screenname").value = content.screen_name; document.getElementById("profileimageurl").value = content.profile_image_url; document.getElementById("url").value = content.url; document.getElementById("statustext").value = content.status.text; document.getElementById("description").value = content.description; document.getElementById("profiletextcolor").value = content.profile_text_color; document.getElementById("profilelinkcolor").value = content.profile_link_color; document.getElementById("profilebordercolor").value = content.profile_sidebar_border_color; document.getElementById("doAuthForm").submit(); } } 

рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╡реНрдпрд╡рд╕рд╛рдп рдХрд╛рд░реНрдб рдХреЛ рдЙрд╕рдХреЗ рдкрд╕рдВрджреАрджрд╛ рд░рдВрдЧреЛрдВ рдореЗрдВ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рд╕рднреА рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рдкрддреНрд░, рд╕рд╛рджреЗ HTML рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ submit рд╣реЛрдЧрд╛:
  extract($args); $user_info = array( 'pass' => $pass, 'screenname' => $screenname, 'name' => $name, 'statustext' => $statustext, 'profileimageurl' => $profileimageurl, 'url' => $url, 'description' => $description, 'profiletextcolor' => $profiletextcolor, 'profilelinkcolor' => $profilelinkcolor, 'profilebordercolor' => $profilebordercolor ); // Check, if the user already exists in our database $userRole = xarGetRole(array('uname' => $user_info['screenname'])); if (!$userRole) { $userRole = xarCreateRole( array( 'uname' => $user_info['screenname'], 'realname' => $user_info['name'], 'email' => '', // Bloody Twitter does not provide emails 'pass' => $user_info['pass'], 'date' => time(), 'authmodule' => 'authtwitter' ) ); } /* Now we are to store user credentials so that when CMS will * proceed with user registration and switch block to * the template for logged in user, we could draw the card */ xarSessionSetVar('user_info', $user_info); 


рдореЗрд╣рдорд╛рдиреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдореЗрдВ


рдЕрдм рд╣рдореЗрдВ рдмрд╕ рдЗрд╕ рддрдереНрдп рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рд╕реАрдПрдордПрд╕ рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдХ рдХреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рджреВрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ: рд▓реЙрдЧрд┐рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдПред рдореИрдВ рдЗрд╕ рдХреЛрдб рдХреЛ рдорд╛рдирд╡реАрдп рд░реВрдк рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рдерд╛, рд╕рднреА рд╕рдорд╛рди, рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рднреА рддрд░реНрдХ рдХрд╛рдо рдХрд┐рдПред рдЬрдЬ рд╕рдЦреНрддреА рд╕реЗ :-)
  <div id="twCredentials" class="twcredentials"> <img id="twPhoto" class="twphoto" src="#$user_info['profileimageurl']#"/> <span class="twlogout cuprum"> <a href="&xar-modurl-authsystem-user-logout;"> <xar:mlstring>Logout</xar:mlstring> </a> </span> <img id="twServiceLogo" class="twservicelogo" src="/i/twitbird.png" /> <span id="twScreenName" class="twscreenname cuprum"> <a href="http://twitter.com/#$user_info['screenname']#"> #$user_info['screenname']# </a> </span> <br/> <span id="twName" class="twname ubuntu"> <xar:if condition="empty($user_info['url'])"> #$user_info['name']# <xar:else /> <a href="#$user_info['url']#">#$user_info['name']#</a> </xar:if> </span> <div class="twdescription ubuntu"> <span id="twDescription"> <xar:if condition="empty($user_info['statustext'])"> #$user_info['description']# <xar:else /> #$user_info['statustext']# </xar:if> </span> </div> </div> 

рдореИрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ, рдЕрдм рд╣рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
рдореБрджрд╛рд╕реЛрдмрд╡рд╛: рд▓реЙрдЧ рдЗрди рдХрд┐рдпрд╛

рдЕрдзрд┐рдХ рд╡реНрдпрдВрдЬрдиреЛрдВ


Source: https://habr.com/ru/post/In114955/


All Articles