From 32c23ef562fc963c2972c51895b4cfa71743e495 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Thu, 10 Mar 2016 15:43:59 -0800 Subject: some minor cleanups --- include/attach.php | 2 +- include/security.php | 2 +- install/INSTALL.txt | 3 ++- version.inc | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/attach.php b/include/attach.php index 2777b5813..343922a52 100644 --- a/include/attach.php +++ b/include/attach.php @@ -846,7 +846,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) { // Caution: This re-uses $sql_options set further above - $r = q("select id, aid, uid, hash, creator, filename, filetype, filesize, revision, folder, os_storage, is_photo, flags, created, edited, allow_cid, allow_gid, deny_cid, deny_gid from attach where uid = %d and hash = '%s' $sql_options limit 1", + $r = q("select * from attach where uid = %d and hash = '%s' $sql_options limit 1", intval($channel_id), dbesc($hash) ); diff --git a/include/security.php b/include/security.php index 215cc92cb..f3cf2d1b6 100644 --- a/include/security.php +++ b/include/security.php @@ -415,7 +415,7 @@ function init_groups_visitor($contact_id) { $r = q("SELECT hash FROM `groups` left join group_member on groups.id = group_member.gid WHERE xchan = '%s' ", dbesc($contact_id) ); - if(count($r)) { + if($r) { foreach($r as $rr) $groups[] = $rr['hash']; } diff --git a/install/INSTALL.txt b/install/INSTALL.txt index 37faddc55..1d3811501 100644 --- a/install/INSTALL.txt +++ b/install/INSTALL.txt @@ -67,7 +67,8 @@ If you use LetsEncrypt to provide certificates and create a file under please remove or rename the .well-known directory as soon as the certificate is generated. Hubzilla will provide its own handler for ".well-known" services when it is installed, and an existing directory in this location may prevent some of -these services from working correctly. +these services from working correctly. This should not be a problem with Apache, +but may be an issue with nginx or other web server platforms. 1. Requirements diff --git a/version.inc b/version.inc index 3d66d0abe..2114d89be 100644 --- a/version.inc +++ b/version.inc @@ -1 +1 @@ -2016-03-08.1330H +2016-03-10.1331H -- cgit v1.2.3 From cb0c43bc6805721cd298796aa028d96398122e7a Mon Sep 17 00:00:00 2001 From: redmatrix Date: Sat, 12 Mar 2016 16:45:53 -0800 Subject: provide service federation overview - how to go about it and the appropriate places to attach your plugin. --- doc/federate.bb | 68 ++++++ util/hmessages.po | 689 +++++++++++++++++++++++++++--------------------------- version.inc | 2 +- 3 files changed, 413 insertions(+), 346 deletions(-) create mode 100644 doc/federate.bb diff --git a/doc/federate.bb b/doc/federate.bb new file mode 100644 index 000000000..5d253913d --- /dev/null +++ b/doc/federate.bb @@ -0,0 +1,68 @@ +[h2]Creating protocol federation services[/h2] + +There are three main components to writing federation plugins. These are: + +[1] Channel discovery and making connections +[2] Sending posts/messages +[3] Receiving posts/messages + +In addition, federation drivers must handle + +[4] differences in privacy policies + + +[h3]Making connections[/h3] + +The core application provides channel discovery in the following sequence: + +[1] Zot channel discovery +[2] Webfinger (channel@hub) lookup + [2.1] RFC7033 webfinger + [2.2] XRD based webfinger (old style) +[3] URL discovery (currently only used to discover RSS feeds) +[4] If all of these fail, the network is "unknown" and we are unable to communicate with or connect with the channel. An 'xchan' record [i]may[/i] still be created [b]if[/b] there is enough information known to identify a unique channel. + +Any of the lookup services may be bound to a plugin and extended. When a channel is discovered, we create an 'xchan' record which is a platform neutral representation of the channel identity. If we need to send information to the channel, a 'hubloc' (hub location) record is also generally required. A 'follow' plugin hook is provided to bypass webfinger and this discovery sequence completely. + +The final step in gluing this together is to create an 'abook' record, which attaches an xchan in a relationship to a local channel with a given set of permissions. + +For networks which do not support nomadic identity, your plugin must also set "abook_instance" which is a comma-separated list of local URLs that the remote channel is connected with. For instance if your member was connected to my channel clone at https://example.com, the abook_instance for that connection would read 'https://example.com'. If you also connected to my clone at https://abc.example.com, the string would be changed to 'https://example.com,https://abc.example.com'. This allows local channels to differentiate which instance a given remote channel is connected with and avoid delivery failures to those channels from other clone instances. + +A federation plugin for a webfinger based system needs only to examine the webfinger or XRD results and identify a protocol stack which can be used to connect or communicate. Then create an xchan record with the given 'xchan_network' type and a hubloc record with the same 'hubloc_network' with the information given. Currently the plugin will need to create the entire record, but in the future this will be extended so that the plugin only need identify a network name and the record will be populated with all other known values. + +An xchan record is always required in order to connect. To connect, create an abook record with the desired permissions. + +Additional information that your plugin requires for communication can be stored in the xconfig table and/or abconfig table if there is no convenient or appropriate table column in the xchan or hubloc tables. + +When a connection is made, we generally call the notifier (include/notifier.php) to send a message to the remote channel. This is bound to the hook 'permissions_create'. Your plugin will need to handle this in order to send a "follow" or "make friends" message to the other network. + +Note: The first stage zot lookup will be replaced with a webfinger lookup. This work is in progress. A separate lookup was required initially as webfinger does not allow non-SSL connections. We will provide non-SSL zot lookups (usually test and development sites) via the "old" XRD based webfinger to avoid this limitation. + + + +[h3]Sending Messages[/h3] + +Whenever any message is sent (with the sole exception of directory communications), we invoke the notifier (include/notifier.php), and pass it the type of message and generally an identifier to lookup the information being sent from the database (items or conversational things, private mail, permissions updates, etc.). + +The notifier has several hooks which may be used by plugins in different ways, depending on how their delivery loop works. For different message types and complex delivery situations you may need to tie into multiple hooks. The 'permissions_create' hook was mentioned in the first section. There is also a 'permissions_update' message if permissions have changed and the other end of the link needs to be advised. Few services will provide or handle this (as their permissions are static), but it is also used for instance to send profile and profile photo update messages and you may wish to handle this. + +The next plugin hook is 'notifier_process'. It is passed an array providing the complete state of the notifier and is called once per notifier invocation. It contains the complete list of recipients (with xchan_network set for each). + +There is also 'notifier_hub' which like 'notifier_process' is passed the complete state of the notifier, but the difference is that it is called for each individual hub or distinct URL delivery and may be matched on the hubloc_network type. Hub delivery is much more efficient than recipient delivery but may not be suitable for all protocol stacks. + + +Your plugin will be required to understand the message state and recipients and translate the sent item to the desired format. You will also be required to check privacy and block communication to anybody but the intended recipients - *if* it is a private communication. The plugin will often at this point stick the message into the queue and return the queue id to the notifier. + + +Queue handlers exist already for simple posted data. If you create a queue entry with 'post' type we'll open an HTTP POST request and post the data provided and acknowledge success or failure. You can create other forms of communication by providing a different outq_driver type and handling the processing of queue requests yourself. Delivery reporting is available if you wish to acknowledge different error conditions, or anything beyond success/failure. Advanced delivery reporting will also require a custom queue type. The basic 'post' type only deals with success (communication successful with the remote site) and failure. + + + +[h3]Receiving Messages[/h3] + + +Receiving messages from the remote network will probably require a 'receive' endpoint or module dedicated to your network communication protocol. This is a URL route that your plugin may need to register with the'module_loaded' hook. You module will then take responsibility for importing any data which arrives at that endpoint and translating it to the format required for this project and storing the resulting data. The basic structure we use is an extensible activitystream item but with slightly different field names and several optional fields. It can be easily mapped to an activitystream. Additional data can be stored in the "iconfig" table. item_store() and item_store_update() are generally used to store the data and send appropriate notifications. Similiar facilities are available for private mail and profile information. + + + + diff --git a/util/hmessages.po b/util/hmessages.po index f26c0013a..664150e2e 100644 --- a/util/hmessages.po +++ b/util/hmessages.po @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: 2016-03-04.1326H\n" +"Project-Id-Version: 2016-03-11.1332H\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-03-04 00:03-0800\n" +"POT-Creation-Date: 2016-03-11 00:03-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -58,14 +58,14 @@ msgid "Schedule Outbox" msgstr "" #: ../../Zotlabs/Storage/Browser.php:164 ../../include/apps.php:360 -#: ../../include/apps.php:415 ../../include/widgets.php:1430 +#: ../../include/apps.php:415 ../../include/widgets.php:1434 #: ../../include/conversation.php:1037 ../../mod/photos.php:766 #: ../../mod/photos.php:1209 msgid "Unknown" msgstr "" #: ../../Zotlabs/Storage/Browser.php:226 ../../include/apps.php:135 -#: ../../include/nav.php:93 ../../include/conversation.php:1648 +#: ../../include/nav.php:93 ../../include/conversation.php:1653 #: ../../mod/fbrowser.php:109 msgid "Files" msgstr "" @@ -85,7 +85,7 @@ msgid "Create" msgstr "" #: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:305 -#: ../../include/widgets.php:1443 ../../mod/photos.php:793 +#: ../../include/widgets.php:1447 ../../mod/photos.php:793 #: ../../mod/photos.php:1333 ../../mod/profile_photo.php:401 #: ../../mod/cover_photo.php:353 msgid "Upload" @@ -164,7 +164,7 @@ msgstr "" #: ../../include/attach.php:352 ../../include/attach.php:359 #: ../../include/attach.php:437 ../../include/attach.php:889 #: ../../include/attach.php:960 ../../include/attach.php:1112 -#: ../../include/photos.php:29 ../../include/items.php:4575 +#: ../../include/photos.php:29 ../../include/items.php:4573 #: ../../index.php:180 ../../mod/achievements.php:30 ../../mod/api.php:26 #: ../../mod/api.php:31 ../../mod/appman.php:66 ../../mod/authtest.php:13 #: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/blocks.php:69 @@ -191,7 +191,7 @@ msgstr "" #: ../../mod/pdledit.php:22 ../../mod/photos.php:70 ../../mod/poke.php:133 #: ../../mod/profile.php:64 ../../mod/profile.php:72 #: ../../mod/profile_photo.php:289 ../../mod/profile_photo.php:302 -#: ../../mod/profiles.php:198 ../../mod/profiles.php:584 +#: ../../mod/profiles.php:198 ../../mod/profiles.php:596 #: ../../mod/rate.php:111 ../../mod/register.php:73 ../../mod/regmod.php:17 #: ../../mod/service_limits.php:7 ../../mod/settings.php:579 #: ../../mod/setup.php:233 ../../mod/sharedwithme.php:7 @@ -240,7 +240,7 @@ msgstr "" msgid "Unable to create a unique channel address. Import failed." msgstr "" -#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:511 +#: ../../include/Import/import_diaspora.php:143 ../../mod/import.php:509 msgid "Import completed." msgstr "" @@ -380,7 +380,7 @@ msgid "Site Admin" msgstr "" #: ../../include/apps.php:129 ../../include/nav.php:104 -#: ../../include/conversation.php:1685 +#: ../../include/conversation.php:1690 msgid "Bookmarks" msgstr "" @@ -388,7 +388,7 @@ msgstr "" msgid "Address Book" msgstr "" -#: ../../include/apps.php:131 ../../include/nav.php:112 ../../boot.php:1543 +#: ../../include/apps.php:131 ../../include/nav.php:112 ../../boot.php:1551 msgid "Login" msgstr "" @@ -408,7 +408,7 @@ msgid "Settings" msgstr "" #: ../../include/apps.php:136 ../../include/nav.php:108 -#: ../../include/conversation.php:1695 ../../mod/webpages.php:180 +#: ../../include/conversation.php:1700 ../../mod/webpages.php:180 msgid "Webpages" msgstr "" @@ -422,12 +422,12 @@ msgid "Profile" msgstr "" #: ../../include/apps.php:139 ../../include/nav.php:92 -#: ../../include/conversation.php:1641 ../../mod/fbrowser.php:25 +#: ../../include/conversation.php:1646 ../../mod/fbrowser.php:25 msgid "Photos" msgstr "" #: ../../include/apps.php:140 ../../include/nav.php:198 -#: ../../include/conversation.php:1658 ../../include/conversation.php:1661 +#: ../../include/conversation.php:1663 ../../include/conversation.php:1666 msgid "Events" msgstr "" @@ -479,7 +479,7 @@ msgstr "" msgid "Invite" msgstr "" -#: ../../include/apps.php:152 ../../include/widgets.php:1316 +#: ../../include/apps.php:152 ../../include/widgets.php:1320 msgid "Features" msgstr "" @@ -675,8 +675,8 @@ msgstr "" #: ../../mod/menu.php:96 ../../mod/menu.php:153 ../../mod/mitem.php:154 #: ../../mod/mitem.php:155 ../../mod/mitem.php:228 ../../mod/mitem.php:229 #: ../../mod/photos.php:634 ../../mod/admin.php:425 ../../mod/removeme.php:60 -#: ../../mod/settings.php:588 ../../view/theme/redbasic/php/config.php:104 -#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1547 +#: ../../mod/settings.php:588 ../../view/theme/redbasic/php/config.php:105 +#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1555 msgid "No" msgstr "" @@ -688,8 +688,8 @@ msgstr "" #: ../../mod/menu.php:96 ../../mod/menu.php:153 ../../mod/mitem.php:154 #: ../../mod/mitem.php:155 ../../mod/mitem.php:228 ../../mod/mitem.php:229 #: ../../mod/photos.php:634 ../../mod/admin.php:427 ../../mod/removeme.php:60 -#: ../../mod/settings.php:588 ../../view/theme/redbasic/php/config.php:104 -#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1547 +#: ../../mod/settings.php:588 ../../view/theme/redbasic/php/config.php:105 +#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1555 msgid "Yes" msgstr "" @@ -707,7 +707,7 @@ msgstr "" #: ../../include/event.php:915 ../../include/text.php:1951 #: ../../include/conversation.php:123 ../../mod/events.php:249 -#: ../../mod/like.php:363 ../../mod/tagger.php:47 +#: ../../mod/like.php:369 ../../mod/tagger.php:47 msgid "event" msgstr "" @@ -772,7 +772,7 @@ msgstr "" msgid "Channel clone failed. Import failed." msgstr "" -#: ../../include/import.php:80 ../../mod/import.php:148 +#: ../../include/import.php:80 ../../mod/import.php:146 msgid "Cloned channel not found. Import failed." msgstr "" @@ -853,7 +853,7 @@ msgstr "" #: ../../mod/connect.php:93 ../../mod/connedit.php:729 #: ../../mod/events.php:468 ../../mod/events.php:665 #: ../../mod/filestorage.php:156 ../../mod/fsuggest.php:108 -#: ../../mod/group.php:81 ../../mod/import.php:551 +#: ../../mod/group.php:81 ../../mod/import.php:549 #: ../../mod/import_items.php:116 ../../mod/invite.php:142 #: ../../mod/locs.php:116 ../../mod/mail.php:380 ../../mod/mitem.php:231 #: ../../mod/mood.php:135 ../../mod/pconfig.php:108 ../../mod/pdledit.php:62 @@ -862,7 +862,7 @@ msgstr "" #: ../../mod/admin.php:646 ../../mod/admin.php:721 ../../mod/admin.php:986 #: ../../mod/admin.php:1150 ../../mod/admin.php:1326 ../../mod/admin.php:1521 #: ../../mod/admin.php:1606 ../../mod/admin.php:1770 ../../mod/poke.php:182 -#: ../../mod/profiles.php:675 ../../mod/rate.php:168 +#: ../../mod/profiles.php:687 ../../mod/rate.php:168 #: ../../mod/settings.php:597 ../../mod/settings.php:710 #: ../../mod/settings.php:738 ../../mod/settings.php:761 #: ../../mod/settings.php:849 ../../mod/settings.php:1041 @@ -882,7 +882,7 @@ msgid "Unsaved changes. Are you sure you wish to leave this page?" msgstr "" #: ../../include/js_strings.php:25 ../../mod/events.php:459 -#: ../../mod/profiles.php:464 ../../mod/pubsites.php:36 +#: ../../mod/profiles.php:472 ../../mod/pubsites.php:36 msgid "Location" msgstr "" @@ -1154,7 +1154,7 @@ msgstr "" msgid "Stored post could not be verified." msgstr "" -#: ../../include/nav.php:82 ../../include/nav.php:115 ../../boot.php:1542 +#: ../../include/nav.php:82 ../../include/nav.php:115 ../../boot.php:1550 msgid "Logout" msgstr "" @@ -1236,7 +1236,7 @@ msgstr "" msgid "Home Page" msgstr "" -#: ../../include/nav.php:150 ../../mod/register.php:258 ../../boot.php:1525 +#: ../../include/nav.php:150 ../../mod/register.php:258 ../../boot.php:1533 msgid "Register" msgstr "" @@ -1346,7 +1346,7 @@ msgstr "" msgid "Account/Channel Settings" msgstr "" -#: ../../include/nav.php:213 ../../include/widgets.php:1343 +#: ../../include/nav.php:213 ../../include/widgets.php:1347 msgid "Admin" msgstr "" @@ -1385,7 +1385,7 @@ msgstr "" msgid "View" msgstr "" -#: ../../include/page_widgets.php:40 ../../include/conversation.php:1179 +#: ../../include/page_widgets.php:40 ../../include/conversation.php:1184 #: ../../include/ItemObject.php:712 ../../mod/editblock.php:171 #: ../../mod/editpost.php:149 ../../mod/editwebpage.php:212 #: ../../mod/events.php:465 ../../mod/photos.php:1060 @@ -1421,17 +1421,17 @@ msgstr "" msgid "Profile Photos" msgstr "" -#: ../../include/bbcode.php:123 ../../include/bbcode.php:798 -#: ../../include/bbcode.php:801 ../../include/bbcode.php:806 -#: ../../include/bbcode.php:809 ../../include/bbcode.php:812 -#: ../../include/bbcode.php:815 ../../include/bbcode.php:820 -#: ../../include/bbcode.php:823 ../../include/bbcode.php:828 -#: ../../include/bbcode.php:831 ../../include/bbcode.php:834 -#: ../../include/bbcode.php:837 +#: ../../include/bbcode.php:123 ../../include/bbcode.php:803 +#: ../../include/bbcode.php:806 ../../include/bbcode.php:811 +#: ../../include/bbcode.php:814 ../../include/bbcode.php:817 +#: ../../include/bbcode.php:820 ../../include/bbcode.php:825 +#: ../../include/bbcode.php:828 ../../include/bbcode.php:833 +#: ../../include/bbcode.php:836 ../../include/bbcode.php:839 +#: ../../include/bbcode.php:842 msgid "Image/photo" msgstr "" -#: ../../include/bbcode.php:162 ../../include/bbcode.php:848 +#: ../../include/bbcode.php:162 ../../include/bbcode.php:853 msgid "Encrypted content" msgstr "" @@ -1476,11 +1476,11 @@ msgstr "" msgid "Different viewers will see this text differently" msgstr "" -#: ../../include/bbcode.php:759 +#: ../../include/bbcode.php:764 msgid "$1 spoiler" msgstr "" -#: ../../include/bbcode.php:786 +#: ../../include/bbcode.php:791 msgid "$1 wrote:" msgstr "" @@ -1537,7 +1537,7 @@ msgstr "" #: ../../include/profile_selectors.php:6 #: ../../include/profile_selectors.php:23 #: ../../include/profile_selectors.php:61 -#: ../../include/profile_selectors.php:97 ../../include/permissions.php:871 +#: ../../include/profile_selectors.php:97 ../../include/permissions.php:881 msgid "Other" msgstr "" @@ -1746,7 +1746,7 @@ msgstr "" msgid "Tags" msgstr "" -#: ../../include/taxonomy.php:305 +#: ../../include/taxonomy.php:305 ../../mod/profiles.php:717 msgid "Keywords" msgstr "" @@ -1783,7 +1783,7 @@ msgid "dislikes" msgstr "" #: ../../include/taxonomy.php:415 ../../include/identity.php:1296 -#: ../../include/conversation.php:1751 ../../include/ItemObject.php:179 +#: ../../include/conversation.php:1756 ../../include/ItemObject.php:179 #: ../../mod/photos.php:1097 msgctxt "noun" msgid "Like" @@ -1804,7 +1804,7 @@ msgstr "" msgid "Required" msgstr "" -#: ../../include/datetime.php:263 ../../boot.php:2374 +#: ../../include/datetime.php:263 ../../boot.php:2382 msgid "never" msgstr "" @@ -1885,12 +1885,12 @@ msgstr "" msgid "Unable to verify channel signature" msgstr "" -#: ../../include/zot.php:2272 +#: ../../include/zot.php:2326 #, php-format msgid "Unable to verify site signature for %s" msgstr "" -#: ../../include/zot.php:3607 +#: ../../include/zot.php:3661 msgid "invalid target signature" msgstr "" @@ -1994,7 +1994,7 @@ msgstr "" #: ../../include/contact_selectors.php:79 ../../mod/id.php:15 #: ../../mod/id.php:16 ../../mod/admin.php:989 ../../mod/admin.php:998 -#: ../../boot.php:1545 +#: ../../boot.php:1553 msgid "Email" msgstr "" @@ -2075,7 +2075,7 @@ msgctxt "photo_upload" msgid "%1$s posted %2$s to %3$s" msgstr "" -#: ../../include/photos.php:506 ../../include/conversation.php:1644 +#: ../../include/photos.php:506 ../../include/conversation.php:1649 msgid "Photo Albums" msgstr "" @@ -2367,7 +2367,7 @@ msgstr "" msgid "System" msgstr "" -#: ../../include/widgets.php:105 ../../include/conversation.php:1536 +#: ../../include/widgets.php:105 ../../include/conversation.php:1541 msgid "Personal" msgstr "" @@ -2565,111 +2565,115 @@ msgstr "" msgid "Suggested Chatrooms" msgstr "" -#: ../../include/widgets.php:972 ../../include/widgets.php:1082 +#: ../../include/widgets.php:972 ../../include/widgets.php:1086 msgid "photo/image" msgstr "" -#: ../../include/widgets.php:1176 +#: ../../include/widgets.php:1029 +msgid "Click to show more" +msgstr "" + +#: ../../include/widgets.php:1180 msgid "Rating Tools" msgstr "" -#: ../../include/widgets.php:1180 ../../include/widgets.php:1182 +#: ../../include/widgets.php:1184 ../../include/widgets.php:1186 msgid "Rate Me" msgstr "" -#: ../../include/widgets.php:1185 +#: ../../include/widgets.php:1189 msgid "View Ratings" msgstr "" -#: ../../include/widgets.php:1196 ../../mod/pubsites.php:18 +#: ../../include/widgets.php:1200 ../../mod/pubsites.php:18 msgid "Public Hubs" msgstr "" -#: ../../include/widgets.php:1244 +#: ../../include/widgets.php:1248 msgid "Forums" msgstr "" -#: ../../include/widgets.php:1273 +#: ../../include/widgets.php:1277 msgid "Tasks" msgstr "" -#: ../../include/widgets.php:1282 +#: ../../include/widgets.php:1286 msgid "Documentation" msgstr "" -#: ../../include/widgets.php:1284 +#: ../../include/widgets.php:1288 msgid "Project/Site Information" msgstr "" -#: ../../include/widgets.php:1285 +#: ../../include/widgets.php:1289 msgid "For Members" msgstr "" -#: ../../include/widgets.php:1286 +#: ../../include/widgets.php:1290 msgid "For Administrators" msgstr "" -#: ../../include/widgets.php:1287 +#: ../../include/widgets.php:1291 msgid "For Developers" msgstr "" -#: ../../include/widgets.php:1312 ../../mod/admin.php:456 +#: ../../include/widgets.php:1316 ../../mod/admin.php:456 msgid "Site" msgstr "" -#: ../../include/widgets.php:1313 +#: ../../include/widgets.php:1317 msgid "Accounts" msgstr "" -#: ../../include/widgets.php:1314 ../../mod/admin.php:1149 +#: ../../include/widgets.php:1318 ../../mod/admin.php:1149 msgid "Channels" msgstr "" -#: ../../include/widgets.php:1315 ../../mod/admin.php:710 +#: ../../include/widgets.php:1319 ../../mod/admin.php:710 msgid "Security" msgstr "" -#: ../../include/widgets.php:1317 ../../mod/admin.php:1264 +#: ../../include/widgets.php:1321 ../../mod/admin.php:1264 #: ../../mod/admin.php:1325 msgid "Plugins" msgstr "" -#: ../../include/widgets.php:1318 ../../mod/admin.php:1486 +#: ../../include/widgets.php:1322 ../../mod/admin.php:1486 #: ../../mod/admin.php:1520 msgid "Themes" msgstr "" -#: ../../include/widgets.php:1319 +#: ../../include/widgets.php:1323 msgid "Inspect queue" msgstr "" -#: ../../include/widgets.php:1320 ../../mod/admin.php:1760 +#: ../../include/widgets.php:1324 ../../mod/admin.php:1760 msgid "Profile Fields" msgstr "" -#: ../../include/widgets.php:1321 +#: ../../include/widgets.php:1325 msgid "DB updates" msgstr "" -#: ../../include/widgets.php:1339 ../../include/widgets.php:1345 +#: ../../include/widgets.php:1343 ../../include/widgets.php:1349 #: ../../mod/admin.php:1605 msgid "Logs" msgstr "" -#: ../../include/widgets.php:1344 +#: ../../include/widgets.php:1348 msgid "Plugin Features" msgstr "" -#: ../../include/widgets.php:1346 +#: ../../include/widgets.php:1350 msgid "User registrations waiting for confirmation" msgstr "" -#: ../../include/widgets.php:1424 ../../mod/photos.php:760 +#: ../../include/widgets.php:1428 ../../mod/photos.php:760 #: ../../mod/photos.php:1300 msgid "View Photo" msgstr "" -#: ../../include/widgets.php:1441 ../../mod/photos.php:791 +#: ../../include/widgets.php:1445 ../../mod/photos.php:791 msgid "Edit Album" msgstr "" @@ -2888,12 +2892,12 @@ msgid "Select an alternate language" msgstr "" #: ../../include/text.php:1948 ../../include/conversation.php:120 -#: ../../mod/like.php:361 ../../mod/subthread.php:83 ../../mod/tagger.php:43 +#: ../../mod/like.php:367 ../../mod/subthread.php:83 ../../mod/tagger.php:43 msgid "photo" msgstr "" #: ../../include/text.php:1954 ../../include/conversation.php:148 -#: ../../mod/like.php:361 ../../mod/subthread.php:83 +#: ../../mod/like.php:367 ../../mod/subthread.php:83 msgid "status" msgstr "" @@ -3184,15 +3188,15 @@ msgstr "" msgid "Requested profile is not available." msgstr "" -#: ../../include/identity.php:917 ../../mod/profiles.php:782 +#: ../../include/identity.php:917 ../../mod/profiles.php:795 msgid "Change profile photo" msgstr "" -#: ../../include/identity.php:925 ../../mod/profiles.php:783 +#: ../../include/identity.php:925 ../../mod/profiles.php:796 msgid "Create New Profile" msgstr "" -#: ../../include/identity.php:942 ../../mod/profiles.php:794 +#: ../../include/identity.php:942 ../../mod/profiles.php:807 msgid "Profile Image" msgstr "" @@ -3200,8 +3204,8 @@ msgstr "" msgid "Visible to everybody" msgstr "" -#: ../../include/identity.php:946 ../../mod/profiles.php:677 -#: ../../mod/profiles.php:798 +#: ../../include/identity.php:946 ../../mod/profiles.php:689 +#: ../../mod/profiles.php:811 msgid "Edit visibility" msgstr "" @@ -3284,12 +3288,11 @@ msgstr "" msgid "for %1$d %2$s" msgstr "" -#: ../../include/identity.php:1333 ../../mod/profiles.php:699 +#: ../../include/identity.php:1333 msgid "Sexual Preference:" msgstr "" #: ../../include/identity.php:1337 ../../mod/directory.php:318 -#: ../../mod/profiles.php:701 msgid "Hometown:" msgstr "" @@ -3297,7 +3300,7 @@ msgstr "" msgid "Tags:" msgstr "" -#: ../../include/identity.php:1341 ../../mod/profiles.php:702 +#: ../../include/identity.php:1341 msgid "Political Views:" msgstr "" @@ -3313,11 +3316,11 @@ msgstr "" msgid "Hobbies/Interests:" msgstr "" -#: ../../include/identity.php:1349 ../../mod/profiles.php:705 +#: ../../include/identity.php:1349 msgid "Likes:" msgstr "" -#: ../../include/identity.php:1351 ../../mod/profiles.php:706 +#: ../../include/identity.php:1351 msgid "Dislikes:" msgstr "" @@ -3377,12 +3380,12 @@ msgstr "" msgid "channel" msgstr "" -#: ../../include/conversation.php:164 ../../mod/like.php:410 +#: ../../include/conversation.php:164 ../../mod/like.php:416 #, php-format msgid "%1$s likes %2$s's %3$s" msgstr "" -#: ../../include/conversation.php:167 ../../mod/like.php:412 +#: ../../include/conversation.php:167 ../../mod/like.php:418 #, php-format msgid "%1$s doesn't like %2$s's %3$s" msgstr "" @@ -3491,7 +3494,7 @@ msgstr "" msgid "View in context" msgstr "" -#: ../../include/conversation.php:740 ../../include/conversation.php:1237 +#: ../../include/conversation.php:740 ../../include/conversation.php:1242 #: ../../include/ItemObject.php:389 ../../mod/editblock.php:150 #: ../../mod/editlayout.php:148 ../../mod/editpost.php:129 #: ../../mod/editwebpage.php:190 ../../mod/photos.php:1040 @@ -3580,305 +3583,305 @@ msgstr "" msgid "%s don't like this." msgstr "" -#: ../../include/conversation.php:1164 +#: ../../include/conversation.php:1169 msgid "Visible to everybody" msgstr "" -#: ../../include/conversation.php:1165 ../../mod/mail.php:202 +#: ../../include/conversation.php:1170 ../../mod/mail.php:202 #: ../../mod/mail.php:316 msgid "Please enter a link URL:" msgstr "" -#: ../../include/conversation.php:1166 +#: ../../include/conversation.php:1171 msgid "Please enter a video link/URL:" msgstr "" -#: ../../include/conversation.php:1167 +#: ../../include/conversation.php:1172 msgid "Please enter an audio link/URL:" msgstr "" -#: ../../include/conversation.php:1168 +#: ../../include/conversation.php:1173 msgid "Tag term:" msgstr "" -#: ../../include/conversation.php:1169 ../../mod/filer.php:48 +#: ../../include/conversation.php:1174 ../../mod/filer.php:48 msgid "Save to Folder:" msgstr "" -#: ../../include/conversation.php:1170 +#: ../../include/conversation.php:1175 msgid "Where are you right now?" msgstr "" -#: ../../include/conversation.php:1171 ../../mod/editpost.php:56 +#: ../../include/conversation.php:1176 ../../mod/editpost.php:56 #: ../../mod/mail.php:203 ../../mod/mail.php:317 msgid "Expires YYYY-MM-DD HH:MM" msgstr "" -#: ../../include/conversation.php:1202 ../../mod/blocks.php:154 +#: ../../include/conversation.php:1207 ../../mod/blocks.php:154 #: ../../mod/layouts.php:184 ../../mod/photos.php:1039 #: ../../mod/webpages.php:184 msgid "Share" msgstr "" -#: ../../include/conversation.php:1204 +#: ../../include/conversation.php:1209 msgid "Page link name" msgstr "" -#: ../../include/conversation.php:1207 +#: ../../include/conversation.php:1212 msgid "Post as" msgstr "" -#: ../../include/conversation.php:1209 ../../include/ItemObject.php:704 +#: ../../include/conversation.php:1214 ../../include/ItemObject.php:704 #: ../../mod/editblock.php:136 ../../mod/editlayout.php:135 #: ../../mod/editpost.php:113 ../../mod/editwebpage.php:177 msgid "Bold" msgstr "" -#: ../../include/conversation.php:1210 ../../include/ItemObject.php:705 +#: ../../include/conversation.php:1215 ../../include/ItemObject.php:705 #: ../../mod/editblock.php:137 ../../mod/editlayout.php:136 #: ../../mod/editpost.php:114 ../../mod/editwebpage.php:178 msgid "Italic" msgstr "" -#: ../../include/conversation.php:1211 ../../include/ItemObject.php:706 +#: ../../include/conversation.php:1216 ../../include/ItemObject.php:706 #: ../../mod/editblock.php:138 ../../mod/editlayout.php:137 #: ../../mod/editpost.php:115 ../../mod/editwebpage.php:179 msgid "Underline" msgstr "" -#: ../../include/conversation.php:1212 ../../include/ItemObject.php:707 +#: ../../include/conversation.php:1217 ../../include/ItemObject.php:707 #: ../../mod/editblock.php:139 ../../mod/editlayout.php:138 #: ../../mod/editpost.php:116 ../../mod/editwebpage.php:180 msgid "Quote" msgstr "" -#: ../../include/conversation.php:1213 ../../include/ItemObject.php:708 +#: ../../include/conversation.php:1218 ../../include/ItemObject.php:708 #: ../../mod/editblock.php:140 ../../mod/editlayout.php:139 #: ../../mod/editpost.php:117 ../../mod/editwebpage.php:181 msgid "Code" msgstr "" -#: ../../include/conversation.php:1214 ../../mod/editblock.php:142 +#: ../../include/conversation.php:1219 ../../mod/editblock.php:142 #: ../../mod/editlayout.php:140 ../../mod/editpost.php:118 #: ../../mod/editwebpage.php:182 msgid "Upload photo" msgstr "" -#: ../../include/conversation.php:1215 +#: ../../include/conversation.php:1220 msgid "upload photo" msgstr "" -#: ../../include/conversation.php:1216 ../../mod/editblock.php:143 +#: ../../include/conversation.php:1221 ../../mod/editblock.php:143 #: ../../mod/editlayout.php:141 ../../mod/editpost.php:119 #: ../../mod/editwebpage.php:183 ../../mod/mail.php:248 ../../mod/mail.php:378 msgid "Attach file" msgstr "" -#: ../../include/conversation.php:1217 +#: ../../include/conversation.php:1222 msgid "attach file" msgstr "" -#: ../../include/conversation.php:1218 ../../mod/editblock.php:144 +#: ../../include/conversation.php:1223 ../../mod/editblock.php:144 #: ../../mod/editlayout.php:142 ../../mod/editpost.php:120 #: ../../mod/editwebpage.php:184 ../../mod/mail.php:249 ../../mod/mail.php:379 msgid "Insert web link" msgstr "" -#: ../../include/conversation.php:1219 +#: ../../include/conversation.php:1224 msgid "web link" msgstr "" -#: ../../include/conversation.php:1220 +#: ../../include/conversation.php:1225 msgid "Insert video link" msgstr "" -#: ../../include/conversation.php:1221 +#: ../../include/conversation.php:1226 msgid "video link" msgstr "" -#: ../../include/conversation.php:1222 +#: ../../include/conversation.php:1227 msgid "Insert audio link" msgstr "" -#: ../../include/conversation.php:1223 +#: ../../include/conversation.php:1228 msgid "audio link" msgstr "" -#: ../../include/conversation.php:1224 ../../mod/editblock.php:148 +#: ../../include/conversation.php:1229 ../../mod/editblock.php:148 #: ../../mod/editlayout.php:146 ../../mod/editpost.php:124 #: ../../mod/editwebpage.php:188 msgid "Set your location" msgstr "" -#: ../../include/conversation.php:1225 +#: ../../include/conversation.php:1230 msgid "set location" msgstr "" -#: ../../include/conversation.php:1226 ../../mod/editpost.php:126 +#: ../../include/conversation.php:1231 ../../mod/editpost.php:126 msgid "Toggle voting" msgstr "" -#: ../../include/conversation.php:1229 ../../mod/editblock.php:149 +#: ../../include/conversation.php:1234 ../../mod/editblock.php:149 #: ../../mod/editlayout.php:147 ../../mod/editpost.php:125 #: ../../mod/editwebpage.php:189 msgid "Clear browser location" msgstr "" -#: ../../include/conversation.php:1230 +#: ../../include/conversation.php:1235 msgid "clear location" msgstr "" -#: ../../include/conversation.php:1232 ../../mod/editblock.php:162 +#: ../../include/conversation.php:1237 ../../mod/editblock.php:162 #: ../../mod/editpost.php:141 ../../mod/editwebpage.php:205 msgid "Title (optional)" msgstr "" -#: ../../include/conversation.php:1236 ../../mod/editblock.php:165 +#: ../../include/conversation.php:1241 ../../mod/editblock.php:165 #: ../../mod/editlayout.php:163 ../../mod/editpost.php:143 #: ../../mod/editwebpage.php:207 msgid "Categories (optional, comma-separated list)" msgstr "" -#: ../../include/conversation.php:1238 ../../mod/editblock.php:151 +#: ../../include/conversation.php:1243 ../../mod/editblock.php:151 #: ../../mod/editlayout.php:149 ../../mod/editpost.php:130 #: ../../mod/editwebpage.php:191 ../../mod/events.php:466 msgid "Permission settings" msgstr "" -#: ../../include/conversation.php:1239 +#: ../../include/conversation.php:1244 msgid "permissions" msgstr "" -#: ../../include/conversation.php:1247 ../../mod/editblock.php:159 +#: ../../include/conversation.php:1252 ../../mod/editblock.php:159 #: ../../mod/editlayout.php:156 ../../mod/editpost.php:138 #: ../../mod/editwebpage.php:200 msgid "Public post" msgstr "" -#: ../../include/conversation.php:1249 ../../mod/editblock.php:166 +#: ../../include/conversation.php:1254 ../../mod/editblock.php:166 #: ../../mod/editlayout.php:164 ../../mod/editpost.php:144 #: ../../mod/editwebpage.php:208 msgid "Example: bob@example.com, mary@example.com" msgstr "" -#: ../../include/conversation.php:1262 ../../mod/editblock.php:176 +#: ../../include/conversation.php:1267 ../../mod/editblock.php:176 #: ../../mod/editlayout.php:173 ../../mod/editpost.php:155 #: ../../mod/editwebpage.php:217 ../../mod/mail.php:253 ../../mod/mail.php:383 msgid "Set expiration date" msgstr "" -#: ../../include/conversation.php:1265 +#: ../../include/conversation.php:1270 msgid "Set publish date" msgstr "" -#: ../../include/conversation.php:1267 ../../include/ItemObject.php:715 +#: ../../include/conversation.php:1272 ../../include/ItemObject.php:715 #: ../../mod/editpost.php:157 ../../mod/mail.php:255 ../../mod/mail.php:385 msgid "Encrypt text" msgstr "" -#: ../../include/conversation.php:1269 ../../mod/editpost.php:159 +#: ../../include/conversation.php:1274 ../../mod/editpost.php:159 msgid "OK" msgstr "" -#: ../../include/conversation.php:1270 ../../mod/editpost.php:160 +#: ../../include/conversation.php:1275 ../../mod/editpost.php:160 #: ../../mod/fbrowser.php:77 ../../mod/fbrowser.php:112 #: ../../mod/settings.php:598 ../../mod/settings.php:624 #: ../../mod/tagrm.php:11 ../../mod/tagrm.php:134 msgid "Cancel" msgstr "" -#: ../../include/conversation.php:1513 +#: ../../include/conversation.php:1518 msgid "Discover" msgstr "" -#: ../../include/conversation.php:1516 +#: ../../include/conversation.php:1521 msgid "Imported public streams" msgstr "" -#: ../../include/conversation.php:1521 +#: ../../include/conversation.php:1526 msgid "Commented Order" msgstr "" -#: ../../include/conversation.php:1524 +#: ../../include/conversation.php:1529 msgid "Sort by Comment Date" msgstr "" -#: ../../include/conversation.php:1528 +#: ../../include/conversation.php:1533 msgid "Posted Order" msgstr "" -#: ../../include/conversation.php:1531 +#: ../../include/conversation.php:1536 msgid "Sort by Post Date" msgstr "" -#: ../../include/conversation.php:1539 +#: ../../include/conversation.php:1544 msgid "Posts that mention or involve you" msgstr "" -#: ../../include/conversation.php:1545 ../../mod/connections.php:72 +#: ../../include/conversation.php:1550 ../../mod/connections.php:72 #: ../../mod/connections.php:82 ../../mod/menu.php:112 msgid "New" msgstr "" -#: ../../include/conversation.php:1548 +#: ../../include/conversation.php:1553 msgid "Activity Stream - by date" msgstr "" -#: ../../include/conversation.php:1554 +#: ../../include/conversation.php:1559 msgid "Starred" msgstr "" -#: ../../include/conversation.php:1557 +#: ../../include/conversation.php:1562 msgid "Favourite Posts" msgstr "" -#: ../../include/conversation.php:1564 +#: ../../include/conversation.php:1569 msgid "Spam" msgstr "" -#: ../../include/conversation.php:1567 +#: ../../include/conversation.php:1572 msgid "Posts flagged as SPAM" msgstr "" -#: ../../include/conversation.php:1620 ../../mod/admin.php:1157 +#: ../../include/conversation.php:1625 ../../mod/admin.php:1157 msgid "Channel" msgstr "" -#: ../../include/conversation.php:1623 +#: ../../include/conversation.php:1628 msgid "Status Messages and Posts" msgstr "" -#: ../../include/conversation.php:1632 +#: ../../include/conversation.php:1637 msgid "About" msgstr "" -#: ../../include/conversation.php:1635 +#: ../../include/conversation.php:1640 msgid "Profile Details" msgstr "" -#: ../../include/conversation.php:1651 +#: ../../include/conversation.php:1656 msgid "Files and Storage" msgstr "" -#: ../../include/conversation.php:1672 ../../include/conversation.php:1675 +#: ../../include/conversation.php:1677 ../../include/conversation.php:1680 msgid "Chatrooms" msgstr "" -#: ../../include/conversation.php:1688 +#: ../../include/conversation.php:1693 msgid "Saved Bookmarks" msgstr "" -#: ../../include/conversation.php:1698 +#: ../../include/conversation.php:1703 msgid "Manage Webpages" msgstr "" -#: ../../include/conversation.php:1727 ../../include/ItemObject.php:175 +#: ../../include/conversation.php:1732 ../../include/ItemObject.php:175 #: ../../include/ItemObject.php:187 ../../mod/photos.php:1093 #: ../../mod/photos.php:1105 msgid "View all" msgstr "" -#: ../../include/conversation.php:1754 ../../include/ItemObject.php:184 +#: ../../include/conversation.php:1759 ../../include/ItemObject.php:184 #: ../../mod/photos.php:1102 msgctxt "noun" msgid "Dislike" @@ -3886,42 +3889,42 @@ msgid_plural "Dislikes" msgstr[0] "" msgstr[1] "" -#: ../../include/conversation.php:1757 +#: ../../include/conversation.php:1762 msgctxt "noun" msgid "Attending" msgid_plural "Attending" msgstr[0] "" msgstr[1] "" -#: ../../include/conversation.php:1760 +#: ../../include/conversation.php:1765 msgctxt "noun" msgid "Not Attending" msgid_plural "Not Attending" msgstr[0] "" msgstr[1] "" -#: ../../include/conversation.php:1763 +#: ../../include/conversation.php:1768 msgctxt "noun" msgid "Undecided" msgid_plural "Undecided" msgstr[0] "" msgstr[1] "" -#: ../../include/conversation.php:1766 +#: ../../include/conversation.php:1771 msgctxt "noun" msgid "Agree" msgid_plural "Agrees" msgstr[0] "" msgstr[1] "" -#: ../../include/conversation.php:1769 +#: ../../include/conversation.php:1774 msgctxt "noun" msgid "Disagree" msgid_plural "Disagrees" msgstr[0] "" msgstr[1] "" -#: ../../include/conversation.php:1772 +#: ../../include/conversation.php:1777 msgctxt "noun" msgid "Abstain" msgid_plural "Abstains" @@ -4143,63 +4146,63 @@ msgstr "" msgid "Extremely advanced. Leave this alone unless you know what you are doing" msgstr "" -#: ../../include/permissions.php:867 +#: ../../include/permissions.php:877 msgid "Social Networking" msgstr "" -#: ../../include/permissions.php:867 +#: ../../include/permissions.php:877 msgid "Social - Mostly Public" msgstr "" -#: ../../include/permissions.php:867 +#: ../../include/permissions.php:877 msgid "Social - Restricted" msgstr "" -#: ../../include/permissions.php:867 +#: ../../include/permissions.php:877 msgid "Social - Private" msgstr "" -#: ../../include/permissions.php:868 +#: ../../include/permissions.php:878 msgid "Community Forum" msgstr "" -#: ../../include/permissions.php:868 +#: ../../include/permissions.php:878 msgid "Forum - Mostly Public" msgstr "" -#: ../../include/permissions.php:868 +#: ../../include/permissions.php:878 msgid "Forum - Restricted" msgstr "" -#: ../../include/permissions.php:868 +#: ../../include/permissions.php:878 msgid "Forum - Private" msgstr "" -#: ../../include/permissions.php:869 +#: ../../include/permissions.php:879 msgid "Feed Republish" msgstr "" -#: ../../include/permissions.php:869 +#: ../../include/permissions.php:879 msgid "Feed - Mostly Public" msgstr "" -#: ../../include/permissions.php:869 +#: ../../include/permissions.php:879 msgid "Feed - Restricted" msgstr "" -#: ../../include/permissions.php:870 +#: ../../include/permissions.php:880 msgid "Special Purpose" msgstr "" -#: ../../include/permissions.php:870 +#: ../../include/permissions.php:880 msgid "Special - Celebrity/Soapbox" msgstr "" -#: ../../include/permissions.php:870 +#: ../../include/permissions.php:880 msgid "Special - Group Repository" msgstr "" -#: ../../include/permissions.php:871 +#: ../../include/permissions.php:881 msgid "Custom/Expert Mode" msgstr "" @@ -4210,96 +4213,96 @@ msgstr "" msgid "Permission denied" msgstr "" -#: ../../include/items.php:1138 ../../include/items.php:1184 +#: ../../include/items.php:1138 ../../include/items.php:1183 msgid "(Unknown)" msgstr "" -#: ../../include/items.php:1384 +#: ../../include/items.php:1382 msgid "Visible to anybody on the internet." msgstr "" -#: ../../include/items.php:1386 +#: ../../include/items.php:1384 msgid "Visible to you only." msgstr "" -#: ../../include/items.php:1388 +#: ../../include/items.php:1386 msgid "Visible to anybody in this network." msgstr "" -#: ../../include/items.php:1390 +#: ../../include/items.php:1388 msgid "Visible to anybody authenticated." msgstr "" -#: ../../include/items.php:1392 +#: ../../include/items.php:1390 #, php-format msgid "Visible to anybody on %s." msgstr "" -#: ../../include/items.php:1394 +#: ../../include/items.php:1392 msgid "Visible to all connections." msgstr "" -#: ../../include/items.php:1396 +#: ../../include/items.php:1394 msgid "Visible to approved connections." msgstr "" -#: ../../include/items.php:1398 +#: ../../include/items.php:1396 msgid "Visible to specific connections." msgstr "" -#: ../../include/items.php:4496 ../../mod/display.php:36 +#: ../../include/items.php:4494 ../../mod/display.php:36 #: ../../mod/filestorage.php:27 ../../mod/admin.php:141 #: ../../mod/admin.php:1189 ../../mod/admin.php:1434 ../../mod/thing.php:85 #: ../../mod/viewsrc.php:20 msgid "Item not found." msgstr "" -#: ../../include/items.php:5032 ../../mod/group.php:38 ../../mod/group.php:137 +#: ../../include/items.php:5030 ../../mod/group.php:38 ../../mod/group.php:137 msgid "Privacy group not found." msgstr "" -#: ../../include/items.php:5048 +#: ../../include/items.php:5046 msgid "Privacy group is empty." msgstr "" -#: ../../include/items.php:5055 +#: ../../include/items.php:5053 #, php-format msgid "Privacy group: %s" msgstr "" -#: ../../include/items.php:5065 ../../mod/connedit.php:701 +#: ../../include/items.php:5063 ../../mod/connedit.php:701 #, php-format msgid "Connection: %s" msgstr "" -#: ../../include/items.php:5067 +#: ../../include/items.php:5065 msgid "Connection not found." msgstr "" -#: ../../include/items.php:5493 ../../mod/cover_photo.php:229 +#: ../../include/items.php:5491 ../../mod/cover_photo.php:229 msgid "female" msgstr "" -#: ../../include/items.php:5494 ../../mod/cover_photo.php:230 +#: ../../include/items.php:5492 ../../mod/cover_photo.php:230 #, php-format msgid "%1$s updated her %2$s" msgstr "" -#: ../../include/items.php:5495 ../../mod/cover_photo.php:231 +#: ../../include/items.php:5493 ../../mod/cover_photo.php:231 msgid "male" msgstr "" -#: ../../include/items.php:5496 ../../mod/cover_photo.php:232 +#: ../../include/items.php:5494 ../../mod/cover_photo.php:232 #, php-format msgid "%1$s updated his %2$s" msgstr "" -#: ../../include/items.php:5498 ../../mod/cover_photo.php:234 +#: ../../include/items.php:5496 ../../mod/cover_photo.php:234 #, php-format msgid "%1$s updated their %2$s" msgstr "" -#: ../../include/items.php:5500 +#: ../../include/items.php:5498 msgid "profile photo" msgstr "" @@ -5452,7 +5455,7 @@ msgstr "" msgid "Timezone" msgstr "" -#: ../../mod/id.php:27 +#: ../../mod/id.php:27 ../../mod/profiles.php:713 msgid "Homepage URL" msgstr "" @@ -5472,7 +5475,7 @@ msgstr "" msgid "Birthdate" msgstr "" -#: ../../mod/id.php:33 ../../mod/profiles.php:441 +#: ../../mod/id.php:33 ../../mod/profiles.php:449 msgid "Gender" msgstr "" @@ -5503,55 +5506,51 @@ msgstr "" msgid "Imported file is empty." msgstr "" -#: ../../mod/import.php:119 ../../mod/import_items.php:82 +#: ../../mod/import.php:118 ../../mod/import_items.php:82 #, php-format msgid "Warning: Database versions differ by %1$d updates." msgstr "" -#: ../../mod/import.php:124 -msgid "Server platform is not compatible. Operation not permitted." -msgstr "" - -#: ../../mod/import.php:158 +#: ../../mod/import.php:156 msgid "No channel. Import failed." msgstr "" -#: ../../mod/import.php:533 +#: ../../mod/import.php:531 msgid "You must be logged in to use this feature." msgstr "" -#: ../../mod/import.php:538 +#: ../../mod/import.php:536 msgid "Import Channel" msgstr "" -#: ../../mod/import.php:539 +#: ../../mod/import.php:537 msgid "" "Use this form to import an existing channel from a different server/hub. You " "may retrieve the channel identity from the old server/hub via the network or " "provide an export file." msgstr "" -#: ../../mod/import.php:540 ../../mod/import_items.php:115 +#: ../../mod/import.php:538 ../../mod/import_items.php:115 msgid "File to Upload" msgstr "" -#: ../../mod/import.php:541 +#: ../../mod/import.php:539 msgid "Or provide the old server/hub details" msgstr "" -#: ../../mod/import.php:542 +#: ../../mod/import.php:540 msgid "Your old identity address (xyz@example.com)" msgstr "" -#: ../../mod/import.php:543 +#: ../../mod/import.php:541 msgid "Your old login email address" msgstr "" -#: ../../mod/import.php:544 +#: ../../mod/import.php:542 msgid "Your old login password" msgstr "" -#: ../../mod/import.php:545 +#: ../../mod/import.php:543 msgid "" "For either option, please choose whether to make this hub your new primary " "address, or whether your old location should continue this role. You will be " @@ -5559,16 +5558,16 @@ msgid "" "location for files, photos, and media." msgstr "" -#: ../../mod/import.php:546 +#: ../../mod/import.php:544 msgid "Make this hub my primary location" msgstr "" -#: ../../mod/import.php:547 +#: ../../mod/import.php:545 msgid "" "Import existing posts if possible (experimental - limited by available memory" msgstr "" -#: ../../mod/import.php:548 +#: ../../mod/import.php:546 msgid "" "This process may take several minutes to complete. Please submit the form " "only once and leave this page open until finished." @@ -5731,41 +5730,41 @@ msgstr "" msgid "Previous action reversed." msgstr "" -#: ../../mod/like.php:414 +#: ../../mod/like.php:420 #, php-format msgid "%1$s agrees with %2$s's %3$s" msgstr "" -#: ../../mod/like.php:416 +#: ../../mod/like.php:422 #, php-format msgid "%1$s doesn't agree with %2$s's %3$s" msgstr "" -#: ../../mod/like.php:418 +#: ../../mod/like.php:424 #, php-format msgid "%1$s abstains from a decision on %2$s's %3$s" msgstr "" -#: ../../mod/like.php:420 +#: ../../mod/like.php:426 #, php-format msgid "%1$s is attending %2$s's %3$s" msgstr "" -#: ../../mod/like.php:422 +#: ../../mod/like.php:428 #, php-format msgid "%1$s is not attending %2$s's %3$s" msgstr "" -#: ../../mod/like.php:424 +#: ../../mod/like.php:430 #, php-format msgid "%1$s may attend %2$s's %3$s" msgstr "" -#: ../../mod/like.php:527 +#: ../../mod/like.php:533 msgid "Action completed." msgstr "" -#: ../../mod/like.php:528 +#: ../../mod/like.php:534 msgid "Thank you." msgstr "" @@ -6219,15 +6218,15 @@ msgstr "" msgid "Search Results For:" msgstr "" -#: ../../mod/network.php:207 +#: ../../mod/network.php:209 msgid "Privacy group is empty" msgstr "" -#: ../../mod/network.php:216 +#: ../../mod/network.php:218 msgid "Privacy group: " msgstr "" -#: ../../mod/network.php:242 +#: ../../mod/network.php:244 msgid "Invalid connection." msgstr "" @@ -7194,7 +7193,7 @@ msgstr "" msgid "UID" msgstr "" -#: ../../mod/admin.php:1158 ../../mod/profiles.php:457 +#: ../../mod/admin.php:1158 ../../mod/profiles.php:465 msgid "Address" msgstr "" @@ -7459,7 +7458,7 @@ msgid "Done Editing" msgstr "" #: ../../mod/profiles.php:19 ../../mod/profiles.php:184 -#: ../../mod/profiles.php:241 ../../mod/profiles.php:608 +#: ../../mod/profiles.php:241 ../../mod/profiles.php:620 msgid "Profile not found." msgstr "" @@ -7487,223 +7486,223 @@ msgstr "" msgid "Profile Name is required." msgstr "" -#: ../../mod/profiles.php:414 +#: ../../mod/profiles.php:422 msgid "Marital Status" msgstr "" -#: ../../mod/profiles.php:418 +#: ../../mod/profiles.php:426 msgid "Romantic Partner" msgstr "" -#: ../../mod/profiles.php:422 +#: ../../mod/profiles.php:430 ../../mod/profiles.php:718 msgid "Likes" msgstr "" -#: ../../mod/profiles.php:426 +#: ../../mod/profiles.php:434 ../../mod/profiles.php:719 msgid "Dislikes" msgstr "" -#: ../../mod/profiles.php:430 +#: ../../mod/profiles.php:438 msgid "Work/Employment" msgstr "" -#: ../../mod/profiles.php:433 +#: ../../mod/profiles.php:441 msgid "Religion" msgstr "" -#: ../../mod/profiles.php:437 +#: ../../mod/profiles.php:445 ../../mod/profiles.php:715 msgid "Political Views" msgstr "" -#: ../../mod/profiles.php:445 +#: ../../mod/profiles.php:453 ../../mod/profiles.php:712 msgid "Sexual Preference" msgstr "" -#: ../../mod/profiles.php:449 +#: ../../mod/profiles.php:457 msgid "Homepage" msgstr "" -#: ../../mod/profiles.php:453 +#: ../../mod/profiles.php:461 msgid "Interests" msgstr "" -#: ../../mod/profiles.php:547 +#: ../../mod/profiles.php:555 msgid "Profile updated." msgstr "" -#: ../../mod/profiles.php:634 +#: ../../mod/profiles.php:646 msgid "Hide your contact/friend list from viewers of this profile?" msgstr "" -#: ../../mod/profiles.php:674 +#: ../../mod/profiles.php:686 msgid "Edit Profile Details" msgstr "" -#: ../../mod/profiles.php:676 +#: ../../mod/profiles.php:688 msgid "View this profile" msgstr "" -#: ../../mod/profiles.php:678 +#: ../../mod/profiles.php:690 +msgid "Change Cover Photo" +msgstr "" + +#: ../../mod/profiles.php:691 msgid "Change Profile Photo" msgstr "" -#: ../../mod/profiles.php:679 +#: ../../mod/profiles.php:692 msgid "Create a new profile using these settings" msgstr "" -#: ../../mod/profiles.php:680 +#: ../../mod/profiles.php:693 msgid "Clone this profile" msgstr "" -#: ../../mod/profiles.php:681 +#: ../../mod/profiles.php:694 msgid "Delete this profile" msgstr "" -#: ../../mod/profiles.php:683 +#: ../../mod/profiles.php:696 msgid "Import profile from file" msgstr "" -#: ../../mod/profiles.php:684 +#: ../../mod/profiles.php:697 msgid "Export profile to file" msgstr "" -#: ../../mod/profiles.php:685 -msgid "Profile Name:" +#: ../../mod/profiles.php:698 +msgid "Profile Name" msgstr "" -#: ../../mod/profiles.php:686 -msgid "Your Full Name:" +#: ../../mod/profiles.php:699 +msgid "Your Full Name" msgstr "" -#: ../../mod/profiles.php:687 -msgid "Title/Description:" +#: ../../mod/profiles.php:700 +msgid "Title/Description" msgstr "" -#: ../../mod/profiles.php:688 -msgid "Your Gender:" +#: ../../mod/profiles.php:701 +msgid "Your Gender" msgstr "" -#: ../../mod/profiles.php:689 -msgid "Birthday :" +#: ../../mod/profiles.php:702 +msgid "Birthday" msgstr "" -#: ../../mod/profiles.php:690 -msgid "Street Address:" +#: ../../mod/profiles.php:703 +msgid "Street Address" msgstr "" -#: ../../mod/profiles.php:691 -msgid "Locality/City:" +#: ../../mod/profiles.php:704 +msgid "Locality/City" msgstr "" -#: ../../mod/profiles.php:692 -msgid "Postal/Zip Code:" +#: ../../mod/profiles.php:705 +msgid "Postal/Zip Code" msgstr "" -#: ../../mod/profiles.php:693 -msgid "Country:" +#: ../../mod/profiles.php:706 +msgid "Country" msgstr "" -#: ../../mod/profiles.php:694 -msgid "Region/State:" +#: ../../mod/profiles.php:707 +msgid "Region/State" msgstr "" -#: ../../mod/profiles.php:695 -msgid " Marital Status:" +#: ../../mod/profiles.php:708 +msgid " Marital Status" msgstr "" -#: ../../mod/profiles.php:696 -msgid "Who: (if applicable)" +#: ../../mod/profiles.php:709 +msgid "Who (if applicable)" msgstr "" -#: ../../mod/profiles.php:697 +#: ../../mod/profiles.php:710 msgid "Examples: cathy123, Cathy Williams, cathy@example.com" msgstr "" -#: ../../mod/profiles.php:698 -msgid "Since [date]:" -msgstr "" - -#: ../../mod/profiles.php:700 -msgid "Homepage URL:" +#: ../../mod/profiles.php:711 +msgid "Since [date]" msgstr "" -#: ../../mod/profiles.php:703 -msgid "Religious Views:" +#: ../../mod/profiles.php:714 +msgid "Hometown" msgstr "" -#: ../../mod/profiles.php:704 -msgid "Keywords:" +#: ../../mod/profiles.php:716 +msgid "Religious Views" msgstr "" -#: ../../mod/profiles.php:707 +#: ../../mod/profiles.php:720 msgid "Example: fishing photography software" msgstr "" -#: ../../mod/profiles.php:708 +#: ../../mod/profiles.php:721 msgid "Used in directory listings" msgstr "" -#: ../../mod/profiles.php:709 +#: ../../mod/profiles.php:722 msgid "Tell us about yourself..." msgstr "" -#: ../../mod/profiles.php:710 +#: ../../mod/profiles.php:723 msgid "Hobbies/Interests" msgstr "" -#: ../../mod/profiles.php:711 +#: ../../mod/profiles.php:724 msgid "Contact information and Social Networks" msgstr "" -#: ../../mod/profiles.php:712 +#: ../../mod/profiles.php:725 msgid "My other channels" msgstr "" -#: ../../mod/profiles.php:713 +#: ../../mod/profiles.php:726 msgid "Musical interests" msgstr "" -#: ../../mod/profiles.php:714 +#: ../../mod/profiles.php:727 msgid "Books, literature" msgstr "" -#: ../../mod/profiles.php:715 +#: ../../mod/profiles.php:728 msgid "Television" msgstr "" -#: ../../mod/profiles.php:716 +#: ../../mod/profiles.php:729 msgid "Film/dance/culture/entertainment" msgstr "" -#: ../../mod/profiles.php:717 +#: ../../mod/profiles.php:730 msgid "Love/romance" msgstr "" -#: ../../mod/profiles.php:718 +#: ../../mod/profiles.php:731 msgid "Work/employment" msgstr "" -#: ../../mod/profiles.php:719 +#: ../../mod/profiles.php:732 msgid "School/education" msgstr "" -#: ../../mod/profiles.php:725 +#: ../../mod/profiles.php:738 msgid "This is your default profile." msgstr "" -#: ../../mod/profiles.php:736 +#: ../../mod/profiles.php:749 msgid "Age: " msgstr "" -#: ../../mod/profiles.php:779 +#: ../../mod/profiles.php:792 msgid "Edit/Manage Profiles" msgstr "" -#: ../../mod/profiles.php:780 +#: ../../mod/profiles.php:793 msgid "Add profile things" msgstr "" -#: ../../mod/profiles.php:781 +#: ../../mod/profiles.php:794 msgid "Include desirable objects in your profile" msgstr "" @@ -9023,7 +9022,7 @@ msgid "" "Password reset failed." msgstr "" -#: ../../mod/lostpass.php:86 ../../boot.php:1551 +#: ../../mod/lostpass.php:86 ../../boot.php:1559 msgid "Password Reset" msgstr "" @@ -9401,183 +9400,183 @@ msgstr "" msgid "Focus (Hubzilla default)" msgstr "" -#: ../../view/theme/redbasic/php/config.php:102 +#: ../../view/theme/redbasic/php/config.php:103 msgid "Theme settings" msgstr "" -#: ../../view/theme/redbasic/php/config.php:103 +#: ../../view/theme/redbasic/php/config.php:104 msgid "Select scheme" msgstr "" -#: ../../view/theme/redbasic/php/config.php:104 +#: ../../view/theme/redbasic/php/config.php:105 msgid "Narrow navbar" msgstr "" -#: ../../view/theme/redbasic/php/config.php:105 +#: ../../view/theme/redbasic/php/config.php:106 msgid "Navigation bar background color" msgstr "" -#: ../../view/theme/redbasic/php/config.php:106 +#: ../../view/theme/redbasic/php/config.php:107 msgid "Navigation bar gradient top color" msgstr "" -#: ../../view/theme/redbasic/php/config.php:107 +#: ../../view/theme/redbasic/php/config.php:108 msgid "Navigation bar gradient bottom color" msgstr "" -#: ../../view/theme/redbasic/php/config.php:108 +#: ../../view/theme/redbasic/php/config.php:109 msgid "Navigation active button gradient top color" msgstr "" -#: ../../view/theme/redbasic/php/config.php:109 +#: ../../view/theme/redbasic/php/config.php:110 msgid "Navigation active button gradient bottom color" msgstr "" -#: ../../view/theme/redbasic/php/config.php:110 +#: ../../view/theme/redbasic/php/config.php:111 msgid "Navigation bar border color " msgstr "" -#: ../../view/theme/redbasic/php/config.php:111 +#: ../../view/theme/redbasic/php/config.php:112 msgid "Navigation bar icon color " msgstr "" -#: ../../view/theme/redbasic/php/config.php:112 +#: ../../view/theme/redbasic/php/config.php:113 msgid "Navigation bar active icon color " msgstr "" -#: ../../view/theme/redbasic/php/config.php:113 +#: ../../view/theme/redbasic/php/config.php:114 msgid "link color" msgstr "" -#: ../../view/theme/redbasic/php/config.php:114 +#: ../../view/theme/redbasic/php/config.php:115 msgid "Set font-color for banner" msgstr "" -#: ../../view/theme/redbasic/php/config.php:115 +#: ../../view/theme/redbasic/php/config.php:116 msgid "Set the background color" msgstr "" -#: ../../view/theme/redbasic/php/config.php:116 +#: ../../view/theme/redbasic/php/config.php:117 msgid "Set the background image" msgstr "" -#: ../../view/theme/redbasic/php/config.php:117 +#: ../../view/theme/redbasic/php/config.php:118 msgid "Set the background color of items" msgstr "" -#: ../../view/theme/redbasic/php/config.php:118 +#: ../../view/theme/redbasic/php/config.php:119 msgid "Set the background color of comments" msgstr "" -#: ../../view/theme/redbasic/php/config.php:119 +#: ../../view/theme/redbasic/php/config.php:120 msgid "Set the border color of comments" msgstr "" -#: ../../view/theme/redbasic/php/config.php:120 +#: ../../view/theme/redbasic/php/config.php:121 msgid "Set the indent for comments" msgstr "" -#: ../../view/theme/redbasic/php/config.php:121 +#: ../../view/theme/redbasic/php/config.php:122 msgid "Set the basic color for item icons" msgstr "" -#: ../../view/theme/redbasic/php/config.php:122 +#: ../../view/theme/redbasic/php/config.php:123 msgid "Set the hover color for item icons" msgstr "" -#: ../../view/theme/redbasic/php/config.php:123 +#: ../../view/theme/redbasic/php/config.php:124 msgid "Set font-size for the entire application" msgstr "" -#: ../../view/theme/redbasic/php/config.php:123 +#: ../../view/theme/redbasic/php/config.php:124 msgid "Example: 14px" msgstr "" -#: ../../view/theme/redbasic/php/config.php:124 +#: ../../view/theme/redbasic/php/config.php:125 msgid "Set font-size for posts and comments" msgstr "" -#: ../../view/theme/redbasic/php/config.php:125 +#: ../../view/theme/redbasic/php/config.php:126 msgid "Set font-color for posts and comments" msgstr "" -#: ../../view/theme/redbasic/php/config.php:126 +#: ../../view/theme/redbasic/php/config.php:127 msgid "Set radius of corners" msgstr "" -#: ../../view/theme/redbasic/php/config.php:127 +#: ../../view/theme/redbasic/php/config.php:128 msgid "Set shadow depth of photos" msgstr "" -#: ../../view/theme/redbasic/php/config.php:128 +#: ../../view/theme/redbasic/php/config.php:129 msgid "Set maximum width of content region in pixel" msgstr "" -#: ../../view/theme/redbasic/php/config.php:128 +#: ../../view/theme/redbasic/php/config.php:129 msgid "Leave empty for default width" msgstr "" -#: ../../view/theme/redbasic/php/config.php:129 +#: ../../view/theme/redbasic/php/config.php:130 msgid "Left align page content" msgstr "" -#: ../../view/theme/redbasic/php/config.php:130 +#: ../../view/theme/redbasic/php/config.php:131 msgid "Set minimum opacity of nav bar - to hide it" msgstr "" -#: ../../view/theme/redbasic/php/config.php:131 +#: ../../view/theme/redbasic/php/config.php:132 msgid "Set size of conversation author photo" msgstr "" -#: ../../view/theme/redbasic/php/config.php:132 +#: ../../view/theme/redbasic/php/config.php:133 msgid "Set size of followup author photos" msgstr "" -#: ../../boot.php:1351 +#: ../../boot.php:1359 #, php-format msgid "Update %s failed. See error logs." msgstr "" -#: ../../boot.php:1354 +#: ../../boot.php:1362 #, php-format msgid "Update Error at %s" msgstr "" -#: ../../boot.php:1524 +#: ../../boot.php:1532 msgid "" "Create an account to access services and applications within the Hubzilla" msgstr "" -#: ../../boot.php:1546 +#: ../../boot.php:1554 msgid "Password" msgstr "" -#: ../../boot.php:1547 +#: ../../boot.php:1555 msgid "Remember me" msgstr "" -#: ../../boot.php:1550 +#: ../../boot.php:1558 msgid "Forgot your password?" msgstr "" -#: ../../boot.php:2180 +#: ../../boot.php:2188 msgid "toggle mobile" msgstr "" -#: ../../boot.php:2333 +#: ../../boot.php:2341 msgid "Website SSL certificate is not valid. Please correct." msgstr "" -#: ../../boot.php:2336 +#: ../../boot.php:2344 #, php-format msgid "[hubzilla] Website SSL error for %s" msgstr "" -#: ../../boot.php:2373 +#: ../../boot.php:2381 msgid "Cron/Scheduled tasks not running." msgstr "" -#: ../../boot.php:2377 +#: ../../boot.php:2385 #, php-format msgid "[hubzilla] Cron tasks not running on %s" msgstr "" diff --git a/version.inc b/version.inc index 2114d89be..62e5c5f1c 100644 --- a/version.inc +++ b/version.inc @@ -1 +1 @@ -2016-03-10.1331H +2016-03-12.1333H -- cgit v1.2.3 From b2563528ee868cbe17801175aa6f50824ba6dd7a Mon Sep 17 00:00:00 2001 From: EinerVonVielen Date: Sun, 13 Mar 2016 02:37:38 +0100 Subject: Added installation of extended plugins and themes to homeinstall script --- .homeinstall/hubzilla-setup.sh | 74 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 72 insertions(+), 2 deletions(-) diff --git a/.homeinstall/hubzilla-setup.sh b/.homeinstall/hubzilla-setup.sh index 670844b83..87b0e8f79 100755 --- a/.homeinstall/hubzilla-setup.sh +++ b/.homeinstall/hubzilla-setup.sh @@ -236,7 +236,7 @@ function install_curl { function install_sendmail { print_info "installing sendmail..." - nocheck_install "sendmail" + nocheck_install "sendmail sendmail-bin" } function install_php { @@ -561,7 +561,8 @@ function install_hubzilla { chmod -R 777 store touch .htconfig.php chmod ou+w .htconfig.php - cd .. + install_hubzilla_plugins + cd /var/www/ chown -R www-data:www-data html chown root:www-data /var/www/html/ chown root:www-data /var/www/html/.htaccess @@ -575,6 +576,73 @@ function install_hubzilla { print_info "installed hubzilla" } +function install_hubzilla_plugins { + print_info "installing hubzilla plugins..." + cd /var/www/html + plugin_install=.homeinstall/plugin_install.txt + theme_install=.homeinstall/theme_install.txt + # overwrite script to update the plugin and themes + rm -f $plugins_update + echo "cd /var/www/html" >> $plugins_update + ################### + # write plugin file + if [ ! -f "$plugin_install" ] + then + echo "# To install a plugin" >> $plugin_install + echo "# 1. add the plugin in a new line and run" >> $plugin_install + echo "# 2. run" >> $plugin_install + echo "# cd /var/www/html/.homeinstall" >> $plugin_install + echo "# ./hubzilla-setup.sh" >> $plugin_install + echo "https://gitlab.com/zot/ownmapp.git ownMap" >> $plugin_install + echo "https://gitlab.com/zot/hubzilla-chess.git chess" >> $plugin_install + fi + # install plugins + while read -r line; do + [[ "$line" =~ ^#.*$ ]] && continue + p_url=$(echo $line | awk -F' ' '{print $1}') + p_name=$(echo $line | awk -F' ' '{print $2}') + # basic check of format + if [ ${#p_url} -ge 1 ] && [ ${#p_name} -ge 1 ] + then + # install addon + util/add_addon_repo $line + util/update_addon_repo $p_name # not sure if this line is neccessary + echo "util/update_addon_repo $p_name" >> $plugins_update + else + print_info "skipping installation of a plugin from file $plugin_install - something wrong with format in line: $line" + fi + done < "$plugin_install" + ################### + # write theme file + if [ ! -f "$theme_install" ] + then + echo "# To install a theme" >> $theme_install + echo "# 1. add the theme in a new line and run" >> $theme_install + echo "# 2. run" >> $theme_install + echo "# cd /var/www/html/.homeinstall" >> $theme_install + echo "# ./hubzilla-setup.sh" >> $theme_install + echo "https://github.com/DeadSuperHero/hubzilla-themes.git DeadSuperHeroThemes" >> $theme_install + + fi + # install plugins + while read -r line; do + [[ "$line" =~ ^#.*$ ]] && continue + p_url=$(echo $line | awk -F' ' '{print $1}') + p_name=$(echo $line | awk -F' ' '{print $2}') + # basic check of format + if [ ${#p_url} -ge 1 ] && [ ${#p_name} -ge 1 ] + then + # install addon + util/add_theme_repo $line + util/update_theme_repo $p_name # not sure if this line is neccessary + echo "util/update_theme_repo $p_name" >> $plugins_update + else + print_info "skipping installation of a theme from file $theme_install - something wrong with format in line: $line" + fi + done < "$theme_install" + print_info "installed hubzilla plugins and themes" +} + function rewrite_to_https { print_info "configuring apache to redirect http to httpS ..." htaccessfile=/var/www/html/.htaccess @@ -762,6 +830,7 @@ echo "echo \"\$(date) - updating hubhilla core...\"" >> /var/www/$hubzilladaily echo "git -C /var/www/html/ pull" >> /var/www/$hubzilladaily echo "echo \"\$(date) - updating hubhilla addons...\"" >> /var/www/$hubzilladaily echo "git -C /var/www/html/addon/ pull" >> /var/www/$hubzilladaily +echo "bash /var/www/html/$plugins_update" >> /var/www/$hubzilladaily echo "chown -R www-data:www-data /var/www/html/ # make all accessable for the webserver" >> /var/www/$hubzilladaily echo "chown root:www-data /var/www/html/.htaccess" >> /var/www/$hubzilladaily echo "chmod 0644 /var/www/html/.htaccess # www-data can read but not write it" >> /var/www/$hubzilladaily @@ -827,6 +896,7 @@ source $configfile selfhostdir=/etc/selfhost selfhostscript=selfhost-updater.sh hubzilladaily=hubzilla-daily.sh +plugins_update=.homeinstall/plugins_update.sh snapshotconfig=/etc/rsnapshot_hubzilla.conf snapshotconfig_external_device=/etc/rsnapshot_hubzilla_external_device.conf backup_mount_point=/media/hubzilla_backup -- cgit v1.2.3 From cc29e27acc04511b943c5dcab85b1ce215ac2e49 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Sat, 12 Mar 2016 19:53:07 -0800 Subject: issue #320 - regression, after removing channel attached to an authenticated session the session was not completely cleared. --- include/Contact.php | 5 ++--- include/auth.php | 27 --------------------------- include/session.php | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 30 deletions(-) diff --git a/include/Contact.php b/include/Contact.php index 611371db6..1c61470e1 100644 --- a/include/Contact.php +++ b/include/Contact.php @@ -263,7 +263,7 @@ function rrmdir($path) return false; } -function channel_remove($channel_id, $local = true, $unset_session=true) { +function channel_remove($channel_id, $local = true, $unset_session=false) { if(! $channel_id) return; @@ -389,8 +389,7 @@ function channel_remove($channel_id, $local = true, $unset_session=true) { proc_run('php','include/directory.php',$channel_id); if($channel_id == local_channel() && $unset_session) { - unset($_SESSION['authenticated']); - unset($_SESSION['uid']); + nuke_session(); goaway($a->get_baseurl()); } diff --git a/include/auth.php b/include/auth.php index 4f0c4c928..1a7110c20 100644 --- a/include/auth.php +++ b/include/auth.php @@ -12,33 +12,6 @@ require_once('include/api_auth.php'); require_once('include/security.php'); -/** - * @brief Resets the current session. - * - * @return void - */ -function nuke_session() { - new_cookie(0); // 0 means delete on browser exit - - unset($_SESSION['authenticated']); - unset($_SESSION['account_id']); - unset($_SESSION['uid']); - unset($_SESSION['visitor_id']); - unset($_SESSION['administrator']); - unset($_SESSION['cid']); - unset($_SESSION['theme']); - unset($_SESSION['mobile_theme']); - unset($_SESSION['show_mobile']); - unset($_SESSION['page_flags']); - unset($_SESSION['delegate']); - unset($_SESSION['delegate_channel']); - unset($_SESSION['my_url']); - unset($_SESSION['my_address']); - unset($_SESSION['addr']); - unset($_SESSION['return_url']); - unset($_SESSION['remote_service_class']); - unset($_SESSION['remote_hub']); -} /** * @brief Verify login credentials. diff --git a/include/session.php b/include/session.php index 43bba528b..6060e4712 100644 --- a/include/session.php +++ b/include/session.php @@ -12,6 +12,38 @@ $session_exists = 0; $session_expire = 180000; + +/** + * @brief Resets the current session. + * + * @return void + */ + +function nuke_session() { + new_cookie(0); // 0 means delete on browser exit + + unset($_SESSION['authenticated']); + unset($_SESSION['account_id']); + unset($_SESSION['uid']); + unset($_SESSION['visitor_id']); + unset($_SESSION['administrator']); + unset($_SESSION['cid']); + unset($_SESSION['theme']); + unset($_SESSION['mobile_theme']); + unset($_SESSION['show_mobile']); + unset($_SESSION['page_flags']); + unset($_SESSION['delegate']); + unset($_SESSION['delegate_channel']); + unset($_SESSION['my_url']); + unset($_SESSION['my_address']); + unset($_SESSION['addr']); + unset($_SESSION['return_url']); + unset($_SESSION['remote_service_class']); + unset($_SESSION['remote_hub']); +} + + + function new_cookie($time) { $old_sid = session_id(); -- cgit v1.2.3 From c5736708218c78e67422aadaba256f8a6802e076 Mon Sep 17 00:00:00 2001 From: EinerVonVielen Date: Sun, 13 Mar 2016 16:32:34 +0100 Subject: Install script: Added plugin hubsites and stop of apache, mysql --- .homeinstall/hubzilla-setup.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.homeinstall/hubzilla-setup.sh b/.homeinstall/hubzilla-setup.sh index 87b0e8f79..01acb1ec9 100755 --- a/.homeinstall/hubzilla-setup.sh +++ b/.homeinstall/hubzilla-setup.sh @@ -224,6 +224,19 @@ function print_warn { echo -e '\e[0m' } +function stop_hubzilla { + if [ -d /etc/apache2 ] + then + print_info "stopping apache webserver..." + service apache2 stop + fi + if [ -f /etc/init.d/mysql ] + then + print_info "stopping mysql db..." + /etc/init.d/mysql stop + fi +} + function install_apache { print_info "installing apache..." nocheck_install "apache2 apache2-utils" @@ -906,6 +919,7 @@ sslconf=/etc/apache2/sites-available/default-ssl.conf #set -x # activate debugging from here check_config +stop_hubzilla update_upgrade install_curl install_sendmail -- cgit v1.2.3