diff --git a/addon/calc/calc.php b/addon/calc/calc.php index a095e3960d..8c079dc7a5 100644 --- a/addon/calc/calc.php +++ b/addon/calc/calc.php @@ -1,4 +1,11 @@ + */ + function calc_install() { register_hook('app_menu', 'addon/calc/calc.php', 'calc_app_menu'); diff --git a/addon/convert/convert.php b/addon/convert/convert.php index a3448ce01e..7a4c90a530 100644 --- a/addon/convert/convert.php +++ b/addon/convert/convert.php @@ -1,5 +1,10 @@ + */ function convert_install() { register_hook('app_menu', 'addon/convert/convert.php', 'convert_app_menu'); diff --git a/addon/facebook/README b/addon/facebook/README new file mode 100644 index 0000000000..42ec01383c --- /dev/null +++ b/addon/facebook/README @@ -0,0 +1,33 @@ +Installing the Friendika/Facebook connector + +1. register an API key for your site from developer.facebook.com + a. We'd be very happy if you include "Friendika" in the application name + to increase name recognition. The Friendika icons are also present + in the images directory and may be uploaded as a Facebook app icon. + Use images/friendika-16.jpg for the Icon and images/friendika-128.jpg for the Logo. + b. The url should be your site URL with a trailing slash. + You may use http://portal.friendika.com/privacy as the privacy policy + URL unless your site has different requirements, and + http://portal.friendika.com as the Terms of Service URL unless + you have different requirements. (Friendika is a software application + and does not require Terms of Service, though your installation of it might). + c. Set the following values in your .htconfig.php file + $a->config['facebook']['appid'] = 'xxxxxxxxxxx'; + $a->config['facebook']['appsecret'] = 'xxxxxxxxxxxxxxx'; + Replace with the settings Facebook gives you. +2. Enable the facebook plugin by including it in .htconfig.php - e.g. + $a->config['system']['addon'] = 'plugin1,plugin2,facebook'; +3. Visit the Facebook Settings section of the "Settings->Plugin Settings" page. + and click 'Install Facebook Connector'. +4. This will ask you to login to Facebook and grant permission to the + plugin to do its stuff. Allow it to do so. +5. You're done. To turn it off visit the Plugin Settings page again and + 'Remove Facebook posting'. + +Vidoes and embeds will not be posted if there is no other content. Links +and images will be converted to a format suitable for the Facebook API and +long posts truncated - with a link to view the full post. + +Facebook contacts will not be able to view private photos, as they are not able to +authenticate to your site to establish identity. We will address this +in a future release. diff --git a/addon/facebook/facebook.php b/addon/facebook/facebook.php index 545779cd5f..5d86c66c2c 100644 --- a/addon/facebook/facebook.php +++ b/addon/facebook/facebook.php @@ -1,4 +1,9 @@ + */ /** * Installing the Friendika/Facebook connector diff --git a/addon/fortunate/fortunate.php b/addon/fortunate/fortunate.php index b91080f516..5a6302e58d 100644 --- a/addon/fortunate/fortunate.php +++ b/addon/fortunate/fortunate.php @@ -1,7 +1,10 @@ + */ function fortunate_install() { diff --git a/addon/java_upload/java_upload.php b/addon/java_upload/java_upload.php index 8b8a57604c..09e321f0a8 100644 --- a/addon/java_upload/java_upload.php +++ b/addon/java_upload/java_upload.php @@ -1,5 +1,12 @@ + */ + /** * * Java photo uploader, uses Jumploader @@ -93,4 +100,4 @@ function java_upload_photo_post_end(&$a,&$b) { if(x($a->data,'java_upload') && $a->data['java_upload']) killme(); -} \ No newline at end of file +} diff --git a/addon/js_upload/js_upload.php b/addon/js_upload/js_upload.php index 9f3fa96009..042e9a988a 100644 --- a/addon/js_upload/js_upload.php +++ b/addon/js_upload/js_upload.php @@ -1,5 +1,12 @@ + */ + /** * * JavaScript Photo/Image Uploader diff --git a/addon/ldapauth/README b/addon/ldapauth/README new file mode 100644 index 0000000000..cf28ef1e06 --- /dev/null +++ b/addon/ldapauth/README @@ -0,0 +1,17 @@ +Authenticate a user against an LDAP directory +Useful for Windows Active Directory and other LDAP-based organisations +to maintain a single password across the organisation. + +Optionally authenticates only if a member of a given group in the directory. + +The person must have registered with Friendika using the normal registration +procedures in order to have a Friendika user record, contact, and profile. + +Note when using with Windows Active Directory: you may need to set TLS_CACERT in your site +ldap.conf file to the signing cert for your LDAP server. + +The required configuration options for this module may be set in the .htconfig.php file +e.g.: + +$a->config['ldapauth']['ldap_server'] = 'host.example.com'; +...etc. diff --git a/addon/ldapauth/ldapauth.php b/addon/ldapauth/ldapauth.php index 2ec30caad7..7230302e9d 100644 --- a/addon/ldapauth/ldapauth.php +++ b/addon/ldapauth/ldapauth.php @@ -1,5 +1,11 @@ + */ + /** * Friendika addon * diff --git a/addon/oembed/oembed.php b/addon/oembed/oembed.php index a0a0239aaf..f5be44194c 100644 --- a/addon/oembed/oembed.php +++ b/addon/oembed/oembed.php @@ -1,10 +1,9 @@ */ require_once('include/oembed.php'); diff --git a/addon/piwik/piwik.php b/addon/piwik/piwik.php index 52bdaeb0d1..032f84f4bb 100644 --- a/addon/piwik/piwik.php +++ b/addon/piwik/piwik.php @@ -1,4 +1,11 @@ + */ + /* Piwik Analytics Plugin for Friendika * diff --git a/addon/poormancron/poormancron.php b/addon/poormancron/poormancron.php index 830c10ddfe..9a8dc1e33f 100644 --- a/addon/poormancron/poormancron.php +++ b/addon/poormancron/poormancron.php @@ -1,9 +1,9 @@ */ function poormancron_install() { diff --git a/addon/randplace/randplace.php b/addon/randplace/randplace.php index fa38de3776..bae8e7c690 100644 --- a/addon/randplace/randplace.php +++ b/addon/randplace/randplace.php @@ -1,13 +1,12 @@ + * + * + * * * Addons are registered with the system in the * .htconfig.php file. @@ -178,4 +177,4 @@ function randplace_settings(&$a,&$s) { $s .= '
'; -} \ No newline at end of file +} diff --git a/addon/sniper/sniper.php b/addon/sniper/sniper.php index 8d31e9cd1f..d431a24666 100644 --- a/addon/sniper/sniper.php +++ b/addon/sniper/sniper.php @@ -1,4 +1,10 @@ + */ /** * Demo plugin for adding various types of Flash games to Friendika. @@ -34,4 +40,4 @@ $o .= <<< EOT EOT; return $o; -} \ No newline at end of file +} diff --git a/addon/statusnet/statusnet.php b/addon/statusnet/statusnet.php index 39df7d9620..e24ebc1ee0 100644 --- a/addon/statusnet/statusnet.php +++ b/addon/statusnet/statusnet.php @@ -1,5 +1,10 @@ + */ + /* StatusNet Plugin for Friendika * * Author: Tobias Diekershoff diff --git a/addon/tictac/tictac.php b/addon/tictac/tictac.php index a69cda132b..d6cec08a06 100644 --- a/addon/tictac/tictac.php +++ b/addon/tictac/tictac.php @@ -1,4 +1,10 @@ + */ function tictac_install() { diff --git a/addon/twitter/twitter.php b/addon/twitter/twitter.php index c59d1b9e5c..fef6583f6b 100644 --- a/addon/twitter/twitter.php +++ b/addon/twitter/twitter.php @@ -1,4 +1,10 @@ + */ + /* Twitter Plugin for Friendika * diff --git a/addon/widgets/widgets.php b/addon/widgets/widgets.php index af17d9e9af..f5f8682223 100644 --- a/addon/widgets/widgets.php +++ b/addon/widgets/widgets.php @@ -1,10 +1,11 @@ + */ + function widgets_install() { register_hook('plugin_settings', 'addon/widgets/widgets.php', 'widgets_settings'); diff --git a/boot.php b/boot.php index 49247eb23f..1c4fc63000 100644 --- a/boot.php +++ b/boot.php @@ -453,6 +453,37 @@ function system_unavailable() { killme(); }} + +// install and uninstall plugin +if (! function_exists('uninstall_plugin')){ +function uninstall_plugin($plugin){ + logger("Addons: uninstalling " . $plugin); + q("DELETE FROM `addon` WHERE `name` = '%s' LIMIT 1", + dbesc($plugin) + ); + + @include_once('addon/' . $plugin . '/' . $plugin . '.php'); + if(function_exists($plugin . '_uninstall')) { + $func = $plugin . '_uninstall'; + $func(); + } +}} + +if (! function_exists('install_plugin')){ +function install_plugin($plugin){ + logger("Addons: installing " . $plugin); + $t = filemtime('addon/' . $plugin . '/' . $plugin . '.php'); + @include_once('addon/' . $plugin . '/' . $plugin . '.php'); + if(function_exists($plugin . '_install')) { + $func = $plugin . '_install'; + $func(); + $r = q("INSERT INTO `addon` (`name`, `installed`, `timestamp`) VALUES ( '%s', 1, %d ) ", + dbesc($plugin), + intval($t) + ); + } +}} + // Primarily involved with database upgrade, but also sets the // base url for use in cmdline programs which don't have // $_SERVER variables, and synchronising the state of installed plugins. @@ -538,16 +569,7 @@ function check_config(&$a) { if(count($installed)) { foreach($installed as $i) { if(! in_array($i['name'],$plugins_arr)) { - logger("Addons: uninstalling " . $i['name']); - q("DELETE FROM `addon` WHERE `id` = %d LIMIT 1", - intval($i['id']) - ); - - @include_once('addon/' . $i['name'] . '/' . $i['name'] . '.php'); - if(function_exists($i['name'] . '_uninstall')) { - $func = $i['name'] . '_uninstall'; - $func(); - } + uninstall_plugin($i['name']); } else $installed_arr[] = $i['name']; @@ -557,17 +579,7 @@ function check_config(&$a) { if(count($plugins_arr)) { foreach($plugins_arr as $p) { if(! in_array($p,$installed_arr)) { - logger("Addons: installing " . $p); - $t = filemtime('addon/' . $p . '/' . $p . '.php'); - @include_once('addon/' . $p . '/' . $p . '.php'); - if(function_exists($p . '_install')) { - $func = $p . '_install'; - $func(); - $r = q("INSERT INTO `addon` (`name`, `installed`, `timestamp`) VALUES ( '%s', 1, %d ) ", - dbesc($p), - intval($t) - ); - } + install_plugin($p); } } } @@ -2767,7 +2779,7 @@ function unamp($s) { if(! function_exists('lang_selector')) { function lang_selector() { global $lang; - $o .= ''; + $o = ''; $o .= '