Merge remote-tracking branch 'upstream/master'

pull/24/head
Thomas 2012-03-19 22:34:27 +00:00
commit 1c2d3aee9b
4 changed files with 124 additions and 10 deletions

View File

@ -47,6 +47,12 @@
* in a future release.
*/
/** TODO
* - Implement a method for the administrator to delete all configuration data the plugin has created,
* e.g. the app_access_token
* - Implement a configuration option to set the polling interval system-wide
*/
define('FACEBOOK_MAXPOSTLEN', 420);
@ -57,8 +63,6 @@ function facebook_install() {
register_hook('connector_settings', 'addon/facebook/facebook.php', 'facebook_plugin_settings');
register_hook('cron', 'addon/facebook/facebook.php', 'facebook_cron');
register_hook('queue_predeliver', 'addon/facebook/facebook.php', 'fb_queue_hook');
if (get_config('facebook', 'realtime_active') == 1) facebook_subscription_add_users(); // Restore settings, if the plugin was installed before
}
@ -73,8 +77,6 @@ function facebook_uninstall() {
// hook moved
unregister_hook('post_local_end', 'addon/facebook/facebook.php', 'facebook_post_hook');
unregister_hook('plugin_settings', 'addon/facebook/facebook.php', 'facebook_plugin_settings');
if (get_config('facebook', 'realtime_active') == 1) facebook_subscription_del_users();
}
@ -150,8 +152,12 @@ function facebook_init(&$a) {
$s = fetch_url('https://graph.facebook.com/me/feed?access_token=' . $access_token);
if($s) {
$j = json_decode($s);
logger('facebook_init: wall: ' . print_r($j,true), LOGGER_DATA);
fb_consume_stream($uid,$j,($private_wall) ? false : true);
if (isset($j->data)) {
logger('facebook_init: wall: ' . print_r($j,true), LOGGER_DATA);
fb_consume_stream($uid,$j,($private_wall) ? false : true);
} else {
logger('facebook_init: wall: got no data from Facebook: ' . print_r($j,true), LOGGER_NORMAL);
}
}
}
@ -1018,15 +1024,23 @@ function fb_consume_all($uid) {
$s = fetch_url('https://graph.facebook.com/me/feed?access_token=' . $access_token);
if($s) {
$j = json_decode($s);
logger('fb_consume_stream: wall: ' . print_r($j,true), LOGGER_DATA);
fb_consume_stream($uid,$j,($private_wall) ? false : true);
if (isset($j->data)) {
logger('fb_consume_stream: wall: ' . print_r($j,true), LOGGER_DATA);
fb_consume_stream($uid,$j,($private_wall) ? false : true);
} else {
logger('fb_consume_stream: wall: got no data from Facebook: ' . print_r($j,true), LOGGER_NORMAL);
}
}
}
$s = fetch_url('https://graph.facebook.com/me/home?access_token=' . $access_token);
if($s) {
$j = json_decode($s);
logger('fb_consume_stream: feed: ' . print_r($j,true), LOGGER_DATA);
fb_consume_stream($uid,$j,false);
if (isset($j->data)) {
logger('fb_consume_stream: feed: ' . print_r($j,true), LOGGER_DATA);
fb_consume_stream($uid,$j,false);
} else {
logger('fb_consume_stream: feed: got no data from Facebook: ' . print_r($j,true), LOGGER_NORMAL);
}
}
}

BIN
frown.tgz Normal file

Binary file not shown.

14
frown/frown.css Executable file
View File

@ -0,0 +1,14 @@
#frown-enable-label {
float: left;
width: 200px;
margin-bottom: 25px;
}
#frown-checkbox {
float: left;
}

86
frown/frown.php Executable file
View File

@ -0,0 +1,86 @@
<?php
/**
* Name: Frown
* Description: Disable graphical smilies
* Version: 1.0
* Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
*
*
*/
function frown_install() {
register_hook('plugin_settings', 'addon/frown/frown.php', 'frown_settings');
register_hook('plugin_settings_post', 'addon/frown/frown.php', 'frown_settings_post');
logger("installed frown");
}
function frown_uninstall() {
unregister_hook('plugin_settings', 'addon/frown/frown.php', 'frown_settings');
unregister_hook('plugin_settings_post', 'addon/frown/frown.php', 'frown_settings_post');
logger("removed frown");
}
/**
*
* Callback from the settings post function.
* $post contains the $_POST array.
* We will make sure we've got a valid user account
* and if so set our configuration setting for this person.
*
*/
function frown_settings_post($a,$post) {
if(! local_user() || (! x($_POST,'frown-submit')))
return;
set_pconfig(local_user(),'system','no_smilies',intval($_POST['frown']));
info( t('Frown settings updated.') . EOL);
}
/**
*
* Called from the Plugin Setting form.
* Add our own settings info to the page.
*
*/
function frown_settings(&$a,&$s) {
if(! local_user())
return;
/* Add our stylesheet to the page so we can make our settings look nice */
$a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . $a->get_baseurl() . '/addon/frown/frown.css' . '" media="all" />' . "\r\n";
/* Get the current state of our config variable */
$enabled = get_pconfig(local_user(),'system','no_smilies');
$checked = (($enabled) ? ' checked="checked" ' : '');
/* Add some HTML to the existing form */
$s .= '<div class="settings-block">';
$s .= '<h3>' . t('Frown Settings') . '</h3>';
$s .= '<div id="frown-enable-wrapper">';
$s .= '<label id="frown-enable-label" for="frown-checkbox">' . t('Disable graphical smilies') . '</label>';
$s .= '<input id="frown-checkbox" type="checkbox" name="frown" value="1" ' . $checked . '/>';
$s .= '</div><div class="clear"></div>';
/* provide a submit button */
$s .= '<div class="settings-submit-wrapper" ><input type="submit" name="frown-submit" class="settings-submit" value="' . t('Submit') . '" /></div></div>';
}