From 5c37a8a7cae98771c933f1922ae5920bbed50829 Mon Sep 17 00:00:00 2001 From: Thomas Willingham Date: Wed, 4 Apr 2012 18:14:32 +0100 Subject: [PATCH 1/6] Changed the README for my variant, and changed "Last" users/likes/posts to Latest users/likes/posts. --- communityhome/communityhome.php | 6 +++--- communityhome/twillingham/README | 8 ++------ 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/communityhome/communityhome.php b/communityhome/communityhome.php index 8f0aa8675..14c40328e 100755 --- a/communityhome/communityhome.php +++ b/communityhome/communityhome.php @@ -35,7 +35,7 @@ function communityhome_home(&$a, &$o){ $aside['$login_form'] = login(($a->config['register_policy'] == REGISTER_CLOSED) ? false : true); // last 12 users - $aside['$lastusers_title'] = t('Last users'); + $aside['$lastusers_title'] = t('Latest users'); $aside['$lastusers_items'] = array(); $sql_extra = ""; $publish = (get_config('system','publish_all') ? '' : " AND `publish` = 1 " ); @@ -95,7 +95,7 @@ function communityhome_home(&$a, &$o){ } // last 12 photos - $aside['$photos_title'] = t('Last photos'); + $aside['$photos_title'] = t('Latest photos'); $aside['$photos_items'] = array(); $r = q("SELECT `photo`.`id`, `photo`.`resource-id`, `photo`.`scale`, `photo`.`desc`, `user`.`nickname`, `user`.`username` FROM (SELECT `resource-id`, MAX(`scale`) as maxscale FROM `photo` @@ -130,7 +130,7 @@ function communityhome_home(&$a, &$o){ } // last 10 liked items - $aside['$like_title'] = t('Last likes'); + $aside['$like_title'] = t('Latest likes'); $aside['$like_items'] = array(); $r = q("SELECT `T1`.`created`, `T1`.`liker`, `T1`.`liker-link`, `item`.* FROM (SELECT `parent-uri`, `created`, `author-name` AS `liker`,`author-link` AS `liker-link` diff --git a/communityhome/twillingham/README b/communityhome/twillingham/README index bb5742785..dbbe14198 100644 --- a/communityhome/twillingham/README +++ b/communityhome/twillingham/README @@ -1,7 +1,3 @@ -Thomas Willingham +This is a variant of the community home. Instead of displaying the community tab in the front page, we still use home.html, but we also add the latest users to the sidebar. -This isn't even close to being worth a pull request, but some people might find it useful. - -Enable community home in your admin panel, then replace communityhome.php with this one to get a front page like mine (a normal front page, but with latest users shown in the sidebar, which looks bleak when there's nothing in it). - -There are more graceful ways of doing this, I used communityhome as I plan to make use of a limited stream and likes in future. +Simply replace addon/communityhome/communityhome.php with this version then enable community home in your admin panel as usual. \ No newline at end of file From 098330df304b9e5f759c121da5556de83c3359e0 Mon Sep 17 00:00:00 2001 From: Thomas Willingham Date: Wed, 4 Apr 2012 18:32:04 +0100 Subject: [PATCH 2/6] Brought README up to date. --- facebook/README | 56 +++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 30 deletions(-) diff --git a/facebook/README b/facebook/README index 9687558e7..650ae1e34 100755 --- a/facebook/README +++ b/facebook/README @@ -1,35 +1,31 @@ Installing the Friendica/Facebook connector -1. register an API key for your site from developer.facebook.com - a. We'd be very happy if you include "Friendica" in the application name - to increase name recognition. The Friendica icons are also present - in the images directory and may be uploaded as a Facebook app icon. - Use images/friendica-16.jpg for the Icon and images/friendica-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. (Friendica 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. - d. Navigate to Set Web->Site URL & Domain -> Website Settings. Set Site URL - to yoursubdomain.yourdomain.com. Set Site Domain to your yourdomain.com. - e. Chose "Website" (the url should be your site URL with a trailing slash) in the - "Select how your app integrates with Facebook" section. -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. Optional step: If you want to use Facebook Real Time Updates (so new messages - and new contacts are added ~1min after they are postet / added on FB), go to - Settings -> plugins -> facebook and press the "Activate Real-Time Updates"-button. -6. You're done. To turn it off visit the Plugin Settings page again and - 'Remove Facebook posting'. +1. Visit https://developers.facebook.com/apps to register an app. + a) Click "Create a new app" + b) We'd be very happy if you include "Friendica" in the application name + to increase name recognition. + c) Edit your app settings on the setup page. The Friendica icons are present + in the images directory and may be uploaded as a Facebook app icon. Use + images/friendica-16.jpg for the Icon and images/Friendica-128.jpg for the logo. + d) In the App Display name enter the name of your app (this should default to the + name you chose in part a). + e) Enter YourDomain.com in the App Domain field and hit return. + f) In "Select how your app connects with Facebook select "Website" and enter the + full URL to your Friendica install including HTTPS and a trailing slash. + +2. Enable the Facebook plugin by clicking on the icon next to it's name on the plugin + page of your admin panel. + b) return to the Facebook plugin page in your admin panel, and fill in the App-ID + and Application Secret settings you got from Facebook. + c) Click save. + d) Finally, return to the Facebook settings page, and activate real-time updates. + +3. To use the Facebook plugin, visit the "connector settings" area of your settings + page. Click "Install Facebook Connector". +4. This will ask you to login to Facebook and allow the plugin to do it's 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 From 7ec4923c34ec4dd714280871078a928c6ce698f5 Mon Sep 17 00:00:00 2001 From: Thomas Willingham Date: Wed, 4 Apr 2012 18:38:23 +0100 Subject: [PATCH 3/6] Brought readme up to date --- impressum/README | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/impressum/README b/impressum/README index 3f183fbf5..457729dcc 100755 --- a/impressum/README +++ b/impressum/README @@ -12,16 +12,7 @@ About In the notes and postal fields you can use HTML tags for formatting. Configuration: - For configuration you can set the following variables in the .htconfig file - * $a->config['impressum']['owner'] this is the Name of the Operator - * $a->config['impressum']['ownerprofile'] this is an optional Friendica account - where the above owner name will link to - * $a->config['impressum']['email'] a contact email address (optional) - will be displayed slightly obfuscated - as name(at)example(dot)com - * $a->config['impressum']['postal'] should contain a postal address where - you can be reached at (optional) - * $a->config['impressum']['notes'] additional informations that should - be displayed in the Impressum block + Simply fill in the fields in the impressium settings page in the plugins area + of your admin panel. From 174296d496eeba58351cb0a001481e7cb4ac404b Mon Sep 17 00:00:00 2001 From: Thomas Willingham Date: Wed, 4 Apr 2012 18:42:13 +0100 Subject: [PATCH 4/6] Brought readme up to date --- openstreetmap/README | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/openstreetmap/README b/openstreetmap/README index 41fc842c6..5c731fac3 100644 --- a/openstreetmap/README +++ b/openstreetmap/README @@ -16,15 +16,12 @@ Support the OpenStreetMap community and share the load. ___ Configuration ___ -Open the .htconfig.php file and add "openstreetmap" to the list of activated -addons. - $a->config['system']['addon'] = "openstreetmap, ..." +Activate the plugin from your admin panel. -You have to add two configuration variables for the addon: - $a->config['openstreetmap']['tmsserver'] = 'http://www.openstreetmap.org/'; - $a->config['openstreetmap']['zoom'] = '18'; +You can now add a Tile Server and default zoom level in the plugin settings +page of your admin panel. -The *tmsserver* points to the tile server you want to use. Use the full URL, +The Time Server URL points to the tile server you want to use. Use the full URL, with protocol (http/s) and trailing slash. You can configure the default zoom -level on the map with *zoom*. 1 will show the whole world and 18 is the highest +level on the map in the Default Zoom box. 1 will show the whole world and 18 is the highest zoom level available. From 4ce905347cb54e61816e2f5112366eaf14a74daa Mon Sep 17 00:00:00 2001 From: Thomas Willingham Date: Wed, 4 Apr 2012 18:59:37 +0100 Subject: [PATCH 5/6] Brought readme up to date --- twitter/README | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/twitter/README b/twitter/README index a5511fec1..ba396d5d8 100755 --- a/twitter/README +++ b/twitter/README @@ -50,14 +50,9 @@ __ Global Configuration __ If you enabled an administrator account, please use the admin panel to cofigure the Twitter relay. -To activate this addon add @twitter@ to the list of active addons in your -.htconfig.php file - $a->config['system']['addon'] = "twitter, ..." -Afterwards you need to add your OAuth consumer key / secret pair to it by -adding the following two lines - -$a->config['twitter']['consumerkey'] = 'your consumer KEY here'; -$a->config['twitter']['consumersecret'] = 'your consumer SECRET here'; +Activate the plugin from the plugins section of your admin panel. When you have +done so, add your consumer key and consumer secret in the settings section of the +plugin page. When this is done your user can now configure their Twitter connection at "Settings -> Plugin Settings" and enable the forwarding of their *public* From 9492123690d5e6e48fd223926d363bcb8bb0e553 Mon Sep 17 00:00:00 2001 From: Thomas Willingham Date: Wed, 4 Apr 2012 20:07:55 +0100 Subject: [PATCH 6/6] deleted: adult_smile/adult_smile.php modified: smiley_pack/smiley_pack.php renamed: adult_smile/icons/bong.gif -> smilies-adult/icons/bong.gif renamed: adult_smile/icons/drunk.gif -> smilies-adult/icons/drunk.gif renamed: adult_smile/icons/sperm.gif -> smilies-adult/icons/sperm.gif renamed: adult_smile/icons/tits.gif -> smilies-adult/icons/tits.gif new file: smilies-adult/smilies-adult.php Renamed adult_smilie for PR reasons. Also linked unlinked smileys --- adult_smile/adult_smile.php | 34 ---------------- smiley_pack/icons/disgust/fart.gif | Bin 29855 -> 0 bytes smiley_pack/smiley_pack.php | 2 +- {adult_smile => smilies-adult}/icons/bong.gif | Bin .../icons/drunk.gif | Bin .../icons/sperm.gif | Bin {adult_smile => smilies-adult}/icons/tits.gif | Bin smilies-adult/smilies-adult.php | 38 ++++++++++++++++++ 8 files changed, 39 insertions(+), 35 deletions(-) delete mode 100644 adult_smile/adult_smile.php delete mode 100644 smiley_pack/icons/disgust/fart.gif rename {adult_smile => smilies-adult}/icons/bong.gif (100%) rename {adult_smile => smilies-adult}/icons/drunk.gif (100%) rename {adult_smile => smilies-adult}/icons/sperm.gif (100%) rename {adult_smile => smilies-adult}/icons/tits.gif (100%) create mode 100644 smilies-adult/smilies-adult.php diff --git a/adult_smile/adult_smile.php b/adult_smile/adult_smile.php deleted file mode 100644 index 465741431..000000000 --- a/adult_smile/adult_smile.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * This is a template for how to extend the "smily" code. - * - */ - -function adult_smile_install() { - register_hook('smilie', 'addon/adult_smile/adult_smile.php', 'adult_smile_smilies'); -} - -function adult_smile_uninstall() { - unregister_hook('smilie', 'addon/adult_smile/adult_smile.php', 'adult_smile_smilies'); -} - - - -function adult_smile_smilies(&$a,&$b) { - - $b['texts'][] = '(o)(o)'; - $b['icons'][] = '' . '(o)(o)' . ''; - - $b['texts'][] = '(.)(.)'; - $b['icons'][] = '' . '(.)(.)' . ''; - - $b['texts'][] = ':bong'; - $b['icons'][] = '' . ':bong' . ''; - - -} \ No newline at end of file diff --git a/smiley_pack/icons/disgust/fart.gif b/smiley_pack/icons/disgust/fart.gif deleted file mode 100644 index 4160a1fc5ed1fbc15155e254cc03727aa3892ab3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29855 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 TlWkV}pYBB5x-?+#Htzod^!<2X diff --git a/smiley_pack/smiley_pack.php b/smiley_pack/smiley_pack.php index d85f9b5ed..7f4bfb7b6 100644 --- a/smiley_pack/smiley_pack.php +++ b/smiley_pack/smiley_pack.php @@ -13,7 +13,7 @@ function smiley_pack_install() { register_hook('smilie', 'addon/smiley_pack/smiley_pack.php', 'smiley_pack_smilies'); } -function smiley_pack__uninstall() { +function smiley_pack_uninstall() { unregister_hook('smilie', 'addon/smiley_pack/smiley_pack.php', 'smiley_pack_smilies'); } diff --git a/adult_smile/icons/bong.gif b/smilies-adult/icons/bong.gif similarity index 100% rename from adult_smile/icons/bong.gif rename to smilies-adult/icons/bong.gif diff --git a/adult_smile/icons/drunk.gif b/smilies-adult/icons/drunk.gif similarity index 100% rename from adult_smile/icons/drunk.gif rename to smilies-adult/icons/drunk.gif diff --git a/adult_smile/icons/sperm.gif b/smilies-adult/icons/sperm.gif similarity index 100% rename from adult_smile/icons/sperm.gif rename to smilies-adult/icons/sperm.gif diff --git a/adult_smile/icons/tits.gif b/smilies-adult/icons/tits.gif similarity index 100% rename from adult_smile/icons/tits.gif rename to smilies-adult/icons/tits.gif diff --git a/smilies-adult/smilies-adult.php b/smilies-adult/smilies-adult.php new file mode 100644 index 000000000..f48bdd299 --- /dev/null +++ b/smilies-adult/smilies-adult.php @@ -0,0 +1,38 @@ + + * + * This is a template for how to extend the "smily" code. + * + */ + +function adult_smile_install() { + register_hook('smilie', 'addon/adult_smile/adult_smile.php', 'adult_smile_smilies'); +} + +function adult_smile_uninstall() { + unregister_hook('smilie', 'addon/adult_smile/adult_smile.php', 'adult_smile_smilies'); +} + + + +function adult_smile_smilies(&$a,&$b) { + + $b['texts'][] = '(o)(o)'; + $b['icons'][] = '' . '(o)(o)' . ''; + + $b['texts'][] = '(.)(.)'; + $b['icons'][] = '' . '(.)(.)' . ''; + + $b['texts'][] = ':bong'; + $b['icons'][] = '' . ':bong' . ''; + + $b['texts'][] = ':sperm'; + $b['icons'][] = '' . ':sperm' . ''; + + $b['texts'][] = ':drunk'; + $b['icons'][] = '' . ':drunk' . ''; +} \ No newline at end of file