
11 changed files with 35 additions and 380 deletions
@ -1,38 +0,0 @@
@@ -1,38 +0,0 @@
|
||||
<?php |
||||
|
||||
/** |
||||
* Diaspora pages |
||||
*/ |
||||
|
||||
namespace IdnoPlugins\Diaspora\Pages { |
||||
|
||||
/** |
||||
* Default class to serve Diaspora settings in administration |
||||
*/ |
||||
class Admin extends \Idno\Common\Page |
||||
{ |
||||
|
||||
function getContent() |
||||
{ |
||||
$this->adminGatekeeper(); // Admins only |
||||
$t = \Idno\Core\site()->template(); |
||||
$body = $t->draw('admin/diaspora'); |
||||
$t->__(array('title' => 'Diaspora', 'body' => $body))->drawPage(); |
||||
} |
||||
|
||||
function postContent() { |
||||
$this->adminGatekeeper(); // Admins only |
||||
$appId = $this->getInput('appId'); |
||||
$secret = $this->getInput('secret'); |
||||
\Idno\Core\site()->config->config['diaspora'] = array( |
||||
'appId' => $appId, |
||||
'secret' => $secret |
||||
); |
||||
\Idno\Core\site()->config()->save(); |
||||
\Idno\Core\site()->session()->addMessage('Your Diaspora application details were saved.'); |
||||
$this->forward(\Idno\Core\site()->config()->getDisplayURL() . 'admin/diaspora/'); |
||||
} |
||||
|
||||
} |
||||
|
||||
} |
@ -1,66 +0,0 @@
@@ -1,66 +0,0 @@
|
||||
<?php |
||||
|
||||
/** |
||||
* Diaspora pages |
||||
*/ |
||||
|
||||
namespace IdnoPlugins\Diaspora\Pages { |
||||
|
||||
/** |
||||
* Default class to serve the Diaspora callback |
||||
*/ |
||||
class Callback extends \Idno\Common\Page |
||||
{ |
||||
|
||||
function getContent() |
||||
{ |
||||
$this->gatekeeper(); // Logged-in users only |
||||
if ($diaspora = \Idno\Core\site()->plugins()->get('Diaspora')) { |
||||
if ($diasporaAPI = $diaspora->connect()) { |
||||
/* @var \IdnoPlugins\diaspora\diasporaAPI $diasporaAPI */ |
||||
if ($session = $diasporaAPI->getSessionOnLogin()) { |
||||
$user = \Idno\Core\site()->session()->currentUser(); |
||||
$access_token = $session->getToken(); |
||||
$diasporaAPI->setAccessToken($access_token); |
||||
if ($person = $diasporaAPI->api('/me','GET')) { |
||||
$name = $person['response']->getProperty('name'); |
||||
$id = $person['response']->getProperty('id'); |
||||
$user->diaspora[$id] = ['id' => $id, 'access_token' => $access_token, 'name' => $name]; |
||||
\Idno\Core\site()->syndication()->registerServiceAccount('diaspora', $id, $name); |
||||
if (\Idno\Core\site()->config()->multipleSyndicationAccounts()) { |
||||
if ($companies = $diasporaAPI->api('/me/accounts','GET')) { |
||||
if (!empty($companies['response'])) { |
||||
foreach($companies['response']->asArray() as $company_container) { |
||||
foreach($company_container as $company) { |
||||
$company = (array) $company; |
||||
if ($perms = $company['perms']) { |
||||
if (in_array('CREATE_CONTENT', $perms) && !empty($company['name'])) { |
||||
$id = $company['id']; |
||||
$name = $company['name']; |
||||
$access_token = $company['access_token']; |
||||
$user->diaspora[$id] = ['id' => $id, 'access_token' => $access_token, 'name' => $name, 'page' => true]; |
||||
\Idno\Core\site()->syndication()->registerServiceAccount('diaspora', $id, $name); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} else { |
||||
$user->diaspora = array('access_token' => $access_token); |
||||
} |
||||
$user->save(); |
||||
} |
||||
} |
||||
} |
||||
if (!empty($_SESSION['onboarding_passthrough'])) { |
||||
unset($_SESSION['onboarding_passthrough']); |
||||
$this->forward(\Idno\Core\site()->config()->getURL() . 'begin/connect-forwarder'); |
||||
} |
||||
$this->forward(\Idno\Core\site()->config()->getDisplayURL() . 'account/diaspora/'); |
||||
} |
||||
|
||||
} |
||||
|
||||
} |
@ -1,110 +0,0 @@
@@ -1,110 +0,0 @@
|
||||
<div class="row"> |
||||
|
||||
<div class="span10 offset1"> |
||||
<?= $this->draw('account/menu') ?> |
||||
<h1>Facebook</h1> |
||||
|
||||
</div> |
||||
|
||||
</div> |
||||
<div class="row"> |
||||
<div class="span10 offset1"> |
||||
<?php |
||||
if (empty(\Idno\Core\site()->session()->currentUser()->facebook)) { |
||||
?> |
||||
<div class="control-group"> |
||||
<div class="controls-config"> |
||||
<div class="row"> |
||||
<div class="span6"> |
||||
<p> |
||||
Easily share pictures, updates, and posts to Facebook.</p> |
||||
|
||||
<p> |
||||
With Facebook connected, you can cross-post content that you publish publicly on |
||||
your site. |
||||
</p> |
||||
</div> |
||||
</div> |
||||
<div class="social span6"> |
||||
<p> |
||||
<a href="<?= $vars['login_url'] ?>" class="connect fb">Connect Facebook</a> |
||||
</p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<?php |
||||
|
||||
} else { |
||||
|
||||
?> |
||||
<div class="control-group"> |
||||
<div class="controls-config"> |
||||
<div class="row"> |
||||
<div class="span6"> |
||||
<p> |
||||
Your account is currently connected to Facebook. |
||||
Public updates, pictures, and posts that you publish |
||||
here can be cross-posted to Facebook. |
||||
|
||||
</p> |
||||
|
||||
<?php |
||||
|
||||
if ($accounts = \Idno\Core\site()->syndication()->getServiceAccounts('facebook')) { |
||||
|
||||
foreach ($accounts as $id => $account) { |
||||
|
||||
?> |
||||
<div class="social"> |
||||
<form action="<?= \Idno\Core\site()->config()->getDisplayURL() ?>facebook/deauth" |
||||
class="form-horizontal" method="post"> |
||||
<p> |
||||
<input type="hidden" name="remove" value="<?= $account['username'] ?>"/> |
||||
<button type="submit" |
||||
class="connect fb connected"><?= $account['name'] ?> (Disconnect) |
||||
</button> |
||||
<?= \Idno\Core\site()->actions()->signForm('/account/facebook/') ?> |
||||
</p> |
||||
</form> |
||||
<?php |
||||
|
||||
} |
||||
|
||||
} else { |
||||
|
||||
?> |
||||
</div> |
||||
|
||||
<div class="social"> |
||||
<form action="<?= \Idno\Core\site()->config()->getDisplayURL() ?>facebook/deauth" |
||||
class="form-horizontal" method="post"> |
||||
<p> |
||||
<input type="hidden" name="remove" value="1"/> |
||||
<button type="submit" class="connect fb connected">Disconnect Facebook |
||||
</button> |
||||
<?= \Idno\Core\site()->actions()->signForm('/account/facebook/') ?> |
||||
</p> |
||||
</form> |
||||
|
||||
<?php |
||||
|
||||
} |
||||
|
||||
?> |
||||
</div> |
||||
|
||||
<p> |
||||
<a href="<?= $vars['login_url'] ?>" ><icon class="icon-plus"></icon> Add another Facebook account</a> |
||||
</p> |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
</div> |
||||
</div> |
||||
<?php |
||||
|
||||
} |
||||
?> |
||||
</div> |
||||
</div> |
@ -1 +0,0 @@
@@ -1 +0,0 @@
|
||||
<li <?php if ($_SERVER['REQUEST_URI'] == '/account/facebook/') echo 'class="active"'; ?>><a href="/account/facebook/">Facebook</a></li> |
@ -1,55 +0,0 @@
@@ -1,55 +0,0 @@
|
||||
<div class="row"> |
||||
|
||||
<div class="span10 offset1"> |
||||
<?=$this->draw('admin/menu')?> |
||||
<h1>Facebook configuration</h1> |
||||
|
||||
</div> |
||||
|
||||
</div> |
||||
<div class="row"> |
||||
<div class="span10 offset1"> |
||||
<form action="<?=\Idno\Core\site()->config()->getURL()?>admin/facebook/" class="form-horizontal" method="post"> |
||||
<div class="control-group"> |
||||
<div class="controls-config"> |
||||
<p> |
||||
To begin using Facebook, <a href="https://developers.facebook.com/apps" target="_blank">create a new application in |
||||
the Facebook apps portal</a>.</p> |
||||
<p> |
||||
Mark the Platform as <strong>Website</strong>, and use <strong><?=\Idno\Core\site()->config()->url?></strong> |
||||
as the site URL. Be sure to also include an email address. Then, click <em>Status & Review</em>, and make the app public. |
||||
</p> |
||||
<p> |
||||
Once you've finished, fill in the details below. You can then <a href="<?=\Idno\Core\site()->config()->getURL()?>account/facebook/">connect your Facebook account</a>. |
||||
</p> |
||||
</div> |
||||
</div> |
||||
<div class="control-group"> |
||||
<label class="control-label" for="name">App ID</label> |
||||
<div class="controls"> |
||||
<input type="text" id="name" placeholder="App ID" class="span6" name="appId" value="<?=htmlspecialchars(\Idno\Core\site()->config()->facebook['appId'])?>" > |
||||
</div> |
||||
</div> |
||||
<div class="control-group"> |
||||
<label class="control-label" for="name">App secret</label> |
||||
<div class="controls"> |
||||
<input type="text" id="name" placeholder="App secret" class="span6" name="secret" value="<?=htmlspecialchars(\Idno\Core\site()->config()->facebook['secret'])?>" > |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
<div class="control-group"> |
||||
<p> |
||||
After the Facebook application is configured, you must connect under account Settings. |
||||
</p> |
||||
|
||||
</div> |
||||
<div class="control-group"> |
||||
<div class="controls-save"> |
||||
<button type="submit" class="btn btn-primary">Save settings</button> |
||||
</div> |
||||
</div> |
||||
<?= \Idno\Core\site()->actions()->signForm('/admin/facebook/')?> |
||||
</form> |
||||
</div> |
||||
</div> |
@ -1 +0,0 @@
@@ -1 +0,0 @@
|
||||
<li <?php if ($_SERVER['REQUEST_URI'] == '/admin/facebook/') echo 'class="active"'; ?>><a href="<?=\Idno\Core\site()->config()->getURL()?>admin/facebook/">Facebook</a></li> |
@ -1 +0,0 @@
@@ -1 +0,0 @@
|
||||
<i class="icon-facebook"></i> |
@ -1,19 +0,0 @@
@@ -1,19 +0,0 @@
|
||||
<?php |
||||
|
||||
if ($facebook = \Idno\Core\site()->plugins()->get('Facebook')) { |
||||
if (empty(\Idno\Core\site()->session()->currentUser()->facebook)) { |
||||
$login_url = $facebook->getAuthURL(); |
||||
} else { |
||||
$login_url = \Idno\Core\site()->config()->getURL() . 'facebook/deauth'; |
||||
} |
||||
} |
||||
|
||||
?> |
||||
<div class="social"> |
||||
<a href="<?=$login_url?>" class="connect fb <?php |
||||
|
||||
if (!empty(\Idno\Core\site()->session()->currentUser()->facebook)) { echo 'connected'; } |
||||
|
||||
?>" target="_top">Facebook<?php if (!empty(\Idno\Core\site()->session()->currentUser()->facebook)) { echo ' - connected!'; } ?></a><br> |
||||
<label class="control-label">Share pictures, updates, and posts to Facebook.</label> |
||||
</div> |
Loading…
Reference in new issue